• DocumentCode
    3563156
  • Title

    Teaching effective requirements engineering for large-scale software development with scaffolding

  • Author

    Feldgen, Maria ; Clua, Osvaldo

  • Author_Institution
    Fac. de Ing., Univ. de Buenos Aires, Buenos Aires, Argentina
  • fYear
    2014
  • Firstpage
    1
  • Lastpage
    8
  • Abstract
    The hardest part of building a software system is deciding what to build. Errors in this part of the work are, overall, the most serious in software development, and the hardest to repair. Therefore requirements elicitation is arguably the most critical. The requirements that drive the decision towards building a distributed architecture for large-scale systems are usually of a non-functional nature, such as scalability, openness, heterogeneity, availability, reliability and fault-tolerance. Requirements are essential to understand concepts about software architectures and software patterns. Therefore teaching large scale software systems design requires covering significant material while ensuring students experience the wicked nature of complex systems. This paper describes a unified project experience with focus on requirements engineering that addresses many of the areas required in a distributed systems development experience. The most important lesson learned is that students benefit from being immersed in and reflecting upon carefully planned activities of large-scale software design with emphasis on its inherent complexity. The planned experience is based on the principles suggested by research related to learn about complex physical and social systems.
  • Keywords
    computer aided instruction; computer science education; distributed processing; large-scale systems; software architecture; software development management; systems analysis; teaching; complex physical system; distributed architecture; distributed system development; large scale software systems design; requirements elicitation; requirements engineering; social system; software architecture; software development; software patterns; students benefit; teaching; Assembly; Cognition; Large-scale systems; Middleware; Software systems; complexity; distributed software systems; requirements elicitation; scaffolding;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Frontiers in Education Conference (FIE), 2014 IEEE
  • Type

    conf

  • DOI
    10.1109/FIE.2014.7044176
  • Filename
    7044176