Software Systems Development

Objectives

Students should be able to:

  • Characterize the different types of software development process;
  • Know the main diagrams of the UML language;
  • Develop multi-layer software systems using a model-based process;
  • Develop multi-layer software systems based on a staged delivery development process;
  • Develop abstract thinking skills;
  • Reify structural / behavioural models considering the object-relational mapping problem.

Program

  • Introduction to Software Systems: definition, multi-layer software systems, software development processes.
  • Software Development Processes: o The evolution of software development processes o The different stages of the development process: from requirements analysis to maintenance o Stage deliveries software development
  • Introduction to the Unified Modeling Language (UML): history and types of models
  • Model-based software development with UML: o Requirements Analysis and Modeling o Structural analysis and modeling - architectural patterns o Behavior analysis and modeling o Model Reification:
  • Object-Relational Mapping
  • Code generation
  • Acceptance Tests
  • Software deployment and maintenance

Bibliography

M. Seidl, M. Scholz, C. Huemer, G. Kappel. UML@Classroom: An Introduction to Object-Oriented Modeling. Undergraduate Topics in Computer Science. Springer, 2015. J. Arlow, I. Neustadt. UML 2 and the Unified Process: Practical Object-Oriented Analysis and Design (2nd edition). Addison-Wesley Professional, 2005. S. W.Ambler. The Elements of UML 2.0 Style. Cambridge University Press, 2005. D. Pilone, N. Pitman. UML 2.0 in a Nutshell (2nd edition). O’Reilly Media, 2005. Martin Fowler. UML Distilled (third edition). Addison-Wesley, 2004.

Updated: