Presentation is loading. Please wait.

Presentation is loading. Please wait.

Chapter 16: The Design Workflow Chapter 17: Design Classes

Similar presentations


Presentation on theme: "Chapter 16: The Design Workflow Chapter 17: Design Classes"— Presentation transcript:

1 Chapter 16: The Design Workflow Chapter 17: Design Classes
CS 426 Senior Projects in Computer Science Chapter 16: The Design Workflow Chapter 17: Design Classes [Arlow and Neustadt, 2005] University of Nevada, Reno Department of Computer Science & Engineering

2 Outline The design workflow The design metamodel
Design workflow details UP activity: architectural design UP activity: design a class Anatomy of a design class Well-formed design classes Inheritance, templates, & nested classes

3 The Design Workflow Chapter 16 roadmap

4 The Design Workflow Design emphasized in Elaboration and Construction phases

5 The Design Metamodel

6 The Design Metamodel

7 The Design Metamodel Design models are made up of Design subsystems
Design classes Interfaces Use case realizations (design) [An early] deployment diagram

8 Artifact Trace Relationships

9 Should We Maintain Two Models?

10 Should We Maintain Two Models?
The analysis view is useful for: Introducing new people to the project Understanding the system long time after delivery Understanding how the system satisfies requirements Providing requirements traceability Planning maintenance and evolution Understanding the logical architecture of the system Outsourcing the construction of the system

11 Should We Maintain Two Models?
Guidelines: An analysis view should be preserved for large, complex, strategic, potentially long-lived systems Is the system is small, not strategic, or has a short expected life, separate analysis and design models might be overkill Caution though: many systems long outlive their projected life span

12 Design Workflow Detail

13 UP Activity: Architectural Design

14 Chapter 17 Roadmap

15 UP Activity: Designing a Class

16 What Are Design Classes?

17 Anatomy of a Design Class

18 Well-formed Design Classes
Characteristics of well-formed design classes Complete and sufficient Primitive High cohesion Low coupling

19 Inheritance Aggregation versus inheritance
Inheritance is the strongest form of coupling Encapsulation is weak within a class hierarchy (fragile base class problem) Inheritance is the most inflexible type of relationship

20 Inheritance

21 Multiple Inheritance

22 Templates

23 Templates

24 Templates

25 Templates

26 Nested Classes


Download ppt "Chapter 16: The Design Workflow Chapter 17: Design Classes"

Similar presentations


Ads by Google