SOFTWARE ENGINEERING A
Learning outcomes of the course unit
Classes are meant to provide all basic principles behind the analysis and design of software systems.
Prerequisites
Fundamentals of Computer Engineering A and Fundamentals of Computer Engineering B
Course contents summary
Foundations of Software Engineering - Software quality. Software development processes. Methodologies for software development. Analysis of software systems. Design of software systems. Tools for the design and implementation of software systems.
Development of Object-Oriented Software Systems - Object-oriented analysis of software systems. Design and implementation of object-oriented software systems. Design patterns.
Java language - Objects and classes. Inheritance and polymorphism. Exceptions. Input/output. Collections. Concurrent programming.
Recommended readings
Ian Sommerville. Ingegneria del software, 8/ed, Pearson Education, 2007.
Simon Bennett, John Skelton, Ken Lunn, UML, Mc Graw-Hill, 2001
Bruce Eckel, Thinking in Java, III ed, MindView, 2002.
E. Gamma, R. Helm, R. Johnson, J. Vlissides, Design Patterns, Addison-Wesley, 1994.
Jim Arlow, Ila Neustadt. UML 2 e Unified Process: Analisi e progettazione Object-Oriented, 2/ed, Mc Graw Hill, 2007.
Bruce Eckel, Thinking in Patterns, MindView, 2003
Teaching methods