2023 - I

Software Reuse

Course Agenda

Lecture

Date

Topics

1

13/03

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

2

15/03

Part 1: Introduction to Software Reuse

Part 2: Reuse in Object Oriented Programming

Part 3: Overview of Reuse Techniques: Design Patterns and MDE

3

20/03

Part 1: Introduction to Software Product Lines

Part 2: Feature Modeling

Part 3: Tools for Software Product Lines

4

22/03

Part 1: Exercise about Feature Modeling

5

27/03

Part 1: Teamwork Instructions

Part 2: Final Project Instructions

6

29/03

Part 1: Features and Products

Part 2: Software Product Line Process

Part 3: Domain Engineering

Part 4: Application Engineering

7

03/04

Part 1: Variability Implementation Concepts for Software Product Lines

Part 2: Examples of Implementation Techniques for Software Product Lines

8

05/04

Part 1: Design Patterns (GoF)

Part 2: Structural Design Patterns

Part 3: Behavioral Design Patterns

Part 4: Creational Design Patterns

9

10/04

Part 1: Software Architecture

Part 2: Architectural Patterns (POSA)

Part 3: Architectural Patterns: From Mud to Structure

10

12/04

Part 1: Architectural Patterns: Distributed Systems, Interactive Systems, and Adaptable Systems

Part 2: Programming Idioms in Java

11

17/04

Part 1: Review to 1st Exam

12

19/04

1st Exam

13

24/04

Teamwork: Partial Presentation (Feature Modeling and Planning)

14

26/04

Teamwork: Partial Presentation (Feature Modeling and Planning)

15

03/05

Part 1: Variability Implementation Techniques for Software Product Lines

Part 2: Variability Implementation: Parameters

Part 3: Variability Implementation: Preprocessors

16

08/05

Part 1: Separation of Concerns

Part 2: Aspect Oriented Software Development (AOSD)

Part 3: Pointcuts in AspectJ

Part 4: Advice in AspectJ

Part 5: Intertype declarations in AspectJ

17

10/05

Part 1: Exercise about Aspect Oriented Programming

18

15/05

Part 1: Feature Oriented Programming (FOP)

Part 2: FOP Examples and the AHEAD Tool Suite

Part 3: FeatureIDE for Feature Oriented Programming

19

17/05

Part 1: Exercise about Feature Oriented Programming

20

22/05

Part 1: Aspectal Feature Modules

Part 2: Aspect and Feature Oriented Programming with CaesarJ

21

24/05

Part 1: Delta Oriented Programming with DeltaJ

Part 2: Bad Smells in Code

Part 3: Variability Smells in Software Product Lines

22

29/05

Paper Presentation and Summary

23

05/06

Teamwork: Final Presentation (Design, Implementation, and Demo)

24

07/06

Teamwork: Final Presentation (Design, Implementation, and Demo)

25

12/06

Part 1: Review to 2nd Exam

26

14/06

2nd Exam

27

19/06

Review to 3rd Exam (optional)

28

21/06

3rd Exam (optional)

29

26/06

Part 1: Final Project Presentation

30

28/06

Special Exam (optional)

Grades


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

Room: 4311
Phone: +55 (31) 3409-5878