SOFTWARE ENGINEERING

INF/01 - 9 CFU - 2° Semester

Teaching Staff

EMILIANO ALESSIO TRAMONTANA


Detailed Course Content

Software development processes, such as waterfall, evolutive and agile (spiral, XP and RUP). Projects management: planning and critical path. Requirement engineering: gathering and organising requirements. UML notation: use cases, activities, states, classes, sequences and collaboration diagrams.

Object oriented design, inheritance and polymorphism. Quality issues. Computational reflection. Design Patterns are described by means of objectives, contexts, problems solved, examples, solution with diagrams and code: Singleton, Factory Method, Abstract Factory, Adapter, Bridge, Composite, Decorator, Facade, Chain of Responsibility, Mediator, Observer, State. Concurrency in Java: using threads and synchronization.

Software metrics.
Software validation by means of testing.



Textbook Information

  1. Ian Sommerville. Software Engineering. Pearson Addison-Wesley. 2010.
  2. Gamma, et al. Design Patterns – Elements of Reusable Object-Oriented Software. Pearson Addison-Wesley. 1994.
  3. Martin Fowler. UML Distilled. Pearson. 2003



Open in PDF format Versione in italiano