2016 - I

Software Reuse

Course Agenda

Lecture

Date

Topics

1

03/03

Part 1: Course introduction, books, assessment criteria, important dates, etc.

2

08/03

Part 1: Introduction to Software Reuse

Part 2: Reuse in Object Oriented Programming

3

10/03

Part 1: Overview of Reuse Techniques: Design Patterns and MDD

Part 2: Design Patterns (GoF)

Part 3: Structural Design Patterns

4

15/03

Part 1: Behavioral Design Patterns

Part 2: Creational Design Patterns

Part 3: Programming Idioms in Java

5

17/03

Part 1: Software Architecture

Part 2: Introduction to Architectural Patterns

Part 3: Architectural Patterns: From Mud to Structure

6

22/03

Part 1: Introduction to Software Product Lines

Part 2: Feature Modeling by Example

Part 3: Tools for Software Product Lines

7

29/03

Part 1: Exercise SPL

8

31/03

Part 1: Team Work - Problems and Programmers

Part 2: Team Work - Game SimulES

9

05/04

Exercise

10

07/04

Part 1: Separation of Concerns

Part 2: Aspect Oriented Software Development

Part 3: Pointcuts in AspectJ

Part 4: Advice in AspectJ

Part 5: Intertype declarations in AspectJ

11

12/04

Paper Presentation 1: Do Crosscuting Concerns Cause Defects?

Paper Presentation 2: Design Pattern Implementation in Java and AspectJ

Part 3: Paper Summary

12

14/04

Paper Presentation 1: Modularizing Design Patterns with Aspects: A Quantitative Study

Paper Presentation 2: Blending Design Patterns with Aspects: A Quantitative Study

Part 3: Paper Summary

13

19/04

Part 1: Exercise about AspectJ

14

26/04

Review to 1st Exam

15

28/04

1st Exam

16

03/05

Paper Presentation 1: Avoiding Code Pitfalls in Aspect-Oriented Programming

Paper Presentation 2: Do Security Patterns Really Help Designers?

Part 3: Paper Summary

17

05/05

Part 1: Model Driven Development (MDD)

Part 2: Process in MDD

Part 3: Model Transformation and xUML

Part 4: Tools for MDD

18

10/05

Part 1: Feature Oriented Programming (FOP)

Part 2: FOP Examples and the AHEAD Tool Suite

Part 3: FeatureIDE for Feature Oriented Programming

19

12/05

Part 1: Exercise about FOP

20

17/05

Part 1: Component Based Software Engineering (CBSE)

Part 2: CBSE Process

Part 3: Composing Components

21

19/05

Paper Presentation 1: On the Use of Feature-Oriented Programming for Evolving Software Product Lines: A Comparative Study

Paper Presentation 2: Aspectual Feature Modules

Part 3: Paper Summary

22

24/05

Part 0: Review on Aspectal Feature Modules

Part 1: Aspect and Feature Oriented Programming with CaesarJ

Part 2: Delta Oriented Programming with DeltaJ

23

31/05

Part 1: Exercise.

24

02/06

Paper Presentation 1: Granularity in Software Product Lines

Paper Presentation 2: Writing Good Software Engineering Research Papers

Part 3: Paper Summary

25

07/06

Part 1: Review to 2nd Exam

26

09/06

2nd Exam

27

14/06

Review to 3rd Exam (optional)

28

16/06

3rd Exam (optional)

29

21/06

Final Project Presentation

30

23/06

Final Project Presentation

Grading

Contact

reuso.softwaregmail.com

Departamento de Ciêcia da Computação
Av. Antônio Carlos, 6627 - ICEx - Pampulha
Belo Horizonte - CEP: 31270-010
Minas Gerais - Brasil

Sala: 4311
Telefone: +55 (31) 3409-5878