Guidelines:Boundary Class User Interface Classes Concentrate on what information is presented to the user Do NOT concentrate on the Ul details System and Device Interface Classes Concentrate on what protocols must be defined Do NOT concentrate on how the protocols will be implemented Concentrate on the responsibilities,not the details! Object Oriented Analysis and Design 16
Object Oriented Analysis and Design 16 Concentrate on the responsibilities, not the details! Guidelines: Boundary Class User Interface Classes ▪ Concentrate on what information is presented to the user ▪ Do NOT concentrate on the UI details System and Device Interface Classes ▪ Concentrate on what protocols must be defined ▪ Do NOT concentrate on how the protocols will be implemented
What Is an Entity Class? Key abstractions of the system Analysis class stereotype Business-Domain Use Case Model Architectural Analysis Abstractions Glossary Environment Independent Object Oriented Analysis and Design 17
Object Oriented Analysis and Design 17 Glossary Business-Domain Model Environment Independent Analysis class stereotype Use Case Architectural Analysis Abstractions What Is an Entity Class? Key abstractions of the system
The Role of an Entity Class <<control>> <<boundary>> <<boundary>> Actor 1 Actor 2 <<entity>> <<entity>> Store and manage information in the system Object Oriented Analysis and Design 18
Object Oriented Analysis and Design 18 Store and manage information in the system The Role of an Entity Class Actor 1 <<boundary>> <<control>> <<boundary>> <<entity>> <<entity>> Actor 2
Example:Finding Entity Classes ◆ Use use-case flow of events as input Key abstractions of the use case Traditional,filtering nouns approach Underline noun clauses in the use-case flow of events Remove redundant candidates ■ Remove vague candidates Remove actors (out of scope) ■ Remove implementation constructs Remove attributes (save for later) Remove operations Object Oriented Analysis and Design 19
Object Oriented Analysis and Design 19 Example: Finding Entity Classes Use use-case flow of events as input Key abstractions of the use case Traditional, filtering nouns approach ▪ Underline noun clauses in the use-case flow of events ▪ Remove redundant candidates ▪ Remove vague candidates ▪ Remove actors (out of scope) ▪ Remove implementation constructs ▪ Remove attributes (save for later) ▪ Remove operations
Example:Candidate Entity Classes Register for Courses (Create Schedule) CourseOffering Schedule Student Object Oriented Analysis and Design 20
Object Oriented Analysis and Design 20 Example: Candidate Entity Classes Register for Courses (Create Schedule) Student CourseOffering Schedule