5.3.1 - Analysis Object Models and Dynamic Models
- Objects should be limited to those visible to ( and understandable by ) the user domain
5.3.2 - Entity, Boundary, and Control Objects
- Similar to the Model-View-Controller paradigm in OO development.
- The Model ( entities ) retain the persistent data that defines the state of the system
- The View ( boundary ) encapsulates the user interface that shows the model to the user and allows them to manipulate it.
- The Controller ( control ) encapsulates the algorithm, or sequence of events conducted during a scenario or use-case.
5.3.3 - Generalization and Specialization
5.4.1 - Identifying Entity Objects
5.4.2 - Identifying Boundary Objects
5.4.3 - Identifying Control Objects
5.4.4 - Mapping Use Cases to Objects with Sequence Diagrams
- See also these examples from the Spring 2013 midterm exam:
- Question
- Instructor's solution
- Note that this solution is more extensive than what students would reasonably be expected to produce in an exam situation, but it is perfectly appropriate for a report for which they had more time to think about it and work on it.
5.4.5 - Modeling Interactions among Objects with CRC Cards
5.4.6 - Identifying Associations
5.4.7 - Identifying Aggregates
5.4.8 - Identifying Attributes
- Consider the two views of a class when considering what attributes are appropriate and necessary:
- Model View: A class is a collection of data fields that collectively model an entity, and the methods needed to maintain and implement the model.
- Service View: A class is a collection of methods that collectively deliver a service, and the data needed to support delivery of that service.
5.4 9 - Modeling State-Dependent Behavior of Individual Objects
5.4.10 - Modeling Inheritance Relationships between Objects
5.4.11 - Reviewing the Analysis Model
5.4.12 - Analysis Summary
5.5.1 - Documenting Analysis
See also the Software Engineering Report Template provided for this class, in particular sections II and III.
5.5.2 - Assigning Responsibilities
- End user
- Client
- Analyst
- Architect
- Document Editor
- Configuration Manager
- Reviewer
5.5.3 - Communicating about Analysis
5.5.4 - Iterating over Analysis Model
- Brainstorming
- Solidification
- Maturity
5.5.5 Client Sign-Off
5.6.1 - Identifying Entity Objects
Heuristics for distinguishing between noun phrases for objects, attributes, and associations:
- Attributes are properties
- Attributes have simple types
- Nouns referring to collections are associations, often with implicit ends
5.6.2 - Identifying Boundary Objects
5.6.3 - Identifying Control Objects
5.6.4 - Modeling Interactions Among Objects
5.6.5 - Reviewing and Consolidating the Analysis Model
5.6.6 - Lessons Learned