Software Reuse and Design Patterns

Year
1
Academic year
2016-2017
Code
03003297
Subject Area
Optional Specialties
Language of Instruction
Portuguese
Mode of Delivery
Face-to-face
Duration
SEMESTRIAL
ECTS Credits
6.0
Type
Elective
Level
3rd Cycle Studies

Recommended Prerequisites

Software Engineering; Object-Oriented Programming

Teaching Methods

Theoretical classes with detailed presentation, using audiovisual means, of the concepts, principles and solving of  practical exercises to illustrate the application of course topics.

Learning Outcomes

1. Motivate for the importance of software reuse.
2. Software reuse based on design patterns.
3. Advanced topics in software reuse.

Work Placement(s)

No

Syllabus

1. Software Design Patterns
Catalog of design patterns
2. Programming Paradigms
Aspect Programming, Event-Based Programming
3. Advanced Topics in Software Reuse
Software Components and Architectures. Software Product Lines

Head Lecturer(s)

Fernando José Barros Rodrigues da Silva

Assessment Methods

Assessment
Synthesis work: 50.0%
Project: 50.0%

Bibliography

E. Gamma, R. Helm, R. Johnson, J. Vlissides, Design Patterns: Elements of Reusable Object-Oriented Software, 1995.
J. Sametinger, Software Engineering with Reusable Software, 1997.
C. Szyperski, Component Software: Beyond Object-Oriented Programming,1998.
J. Bosch, Design and Use of Software Architectures, 2000.
H. Gomaa. Designing Software Product Lines with UML, 2005.
R. Taylor, N. Medvidovic, E. Dashofy. Software Architectures, 2010.
R. Pawlak, L. Seinturier, J. Retaillé. Foundations of AOP for J2EE Development. 2005.