Topic |
Description |
Readings (Gomaa 2011) |
Readings (Fowler and Kendall) |
Readings (Gomaa 2000) |
Software Processes |
Software Process models |
Chapter 3 |
Chapter 2 |
Chapter 5 |
Software Prototyping |
Prototyping in the software process, throw-away prototyping, evolutionary prototyping |
Chapter 3 |
|
Chapter 5 |
Object-Oriented Software Engineering with UML |
Background. Unified Modeling Language (UML) notation, Object-Oriented Software Life Cycle |
Chapters 2 and 5 |
Chapters 1 and 2 |
Chapters 2 and 6 |
Use case modeling |
Use cases, actors, include and extend relationships, use case packages |
Chapter 6 |
Chapter 9 |
Chapter 7 |
Static modeling |
Classes, attributes, and relationships. Multiplicity of associations, association classes, aggregation and composition, generalization/specialization; software context class diagrams, entity modeling; object structuring criteria, stereotypes. |
Chapters 7 and 8 |
Chapters 3 and 5 |
Chapter 8 and 9 |
Finite state machines and statecharts |
States, events, conditions, actions and activities, entry and exit actions; hierarchical statecharts. |
Chapter 10 |
Chapter 10 |
Chapter 10 |
Dynamic Modeling |
Object Interaction Modeling; developing interaction models from use cases, ensuring consistency between statecharts and interaction models. |
Chapters 9 and 11 |
Chapters 4 and 12 |
Chapter 11 |
Software Architectural Design |
Multiple views of software architecture, Subsystem Structuring Criteria. Distributed application design. Client/server applications. |
Chapters 12, 13, and 15 |
|
Chapters 12 and 13 |
Concurrent Task Design |
Concurrent Task Structuring; Task Interfaces - message communication, event synchronization. |
Chapter 18 |
|
Chapter 14 |
Class Design |
Information hiding class design; designing class operations, inheritance in software design, class interface specs. |
Chapter 14 |
|
Chapter 15 |
Design Patterns |
Design patterns and architectural patterns; architectural styles; architectural structure patterns, architectural communication patterns. |
Chapters/sections 4.5, 12.3, 12.4, 15.2, 15.3, 16.2, and 17.6, Appendix A |
|
Chapters 3 and 12 |
Relational Database design |
Design of database wrapper classes, identifying primary keys, mapping associations to foreign keys, mapping whole/part and generalization / specialization relationships to relational databases. |
Chapter 15 |
|
|