SSD
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.