SOFTWARE ENGINEERING
Academic Year 2016/2017 - 2° YearCredit Value: 9
Taught classes: 72 hours
Term / Semester: 2°
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
- Ian Sommerville. Software Engineering. Pearson Addison-Wesley. 2010.
- Gamma, et al. Design Patterns – Elements of Reusable Object-Oriented Software. Pearson Addison-Wesley. 1994.
- Martin Fowler. UML Distilled. Pearson. 2003