Feb. 13, 2001CSci Clark University1 CSci 250 Software Design & Development Lecture #9 Tuesday, Feb. 13, 2001
Feb. 13, 2001CSci Clark University2 Class Format for Today §Announcements §Questions §Lecture on Chapter 5 §Analysis Exercise
Feb. 13, 2001CSci Clark University3 Announcements §Student Evaluation Form available on the course web page §Anton Fellowship §Rational Rose
Feb. 13, 2001CSci Clark University4 Questions? §From last week: l Requirements l Functional Specifications §About Content Index §Anything else?
Feb. 13, 2001CSci Clark University5 Chapter 5 Analysis
Feb. 13, 2001CSci Clark University6 Purpose of Analysis §Preliminary stage of Design activities: l Identifying various objects & object types l Identifying associations l Modeling Interactions between objects l Identifying Attributes l Modeling Nontrivial Behavior l Modeling Generalization Relationships
Feb. 13, 2001CSci Clark University7 New Terminology §Heuristic §Algorithm §Entity Object §Boundary Object §Control Object §Association §Nontrivial Behavior (typo in book)
Feb. 13, 2001CSci Clark University8 Identifying Object Types §Entity Object: l Persistent information tracked by system l E.g. Month, Day, Year §Boundary Object: l Interactions between actors & system l E.g. Button, Display §Control Object: l Tasks performed by User, supported by System l E.g. ChangeDate
Feb. 13, 2001CSci Clark University9 Heuristics for Object Types §Entity objects: l Box on page 141 §Boundary objects: l Box on page 143 §Control objects: l Box on page 145
Feb. 13, 2001CSci Clark University10 Associations & Multiplicity §Types of associations: l one-to-one l one-to-many l many-to-many §Symbols used to represent multiplicity: l 1 - may be assumed by default, 2 … n l * - zero or more l + - one or more l ? - zero or one
Feb. 13, 2001CSci Clark University11 Qualified Associations §Technique for reducing multiplicity, thereby reducing complexity filename DirectoryFile Directory File filename 1* Figure 5-9 (page 138). Example of how a qualified association rule reduces multiplicity
Feb. 13, 2001CSci Clark University12 Modeling Interactions §Interactions between objects can be modeled using UML Sequence Diagrams l Heuristics for drawing sequence diagrams on page 146 l Points 4 & 5: do these make sense? §New objects may be identified during the Sequence Diagramming activity
Feb. 13, 2001CSci Clark University13 Identifying Attributes §Properties of individual objects §Each attribute should have: l name identifying it within an object l description to remember what it’s for l type defining legal values it can take on §Heuristics for identifying attributes on page 152
Feb. 13, 2001CSci Clark University14 Modeling Nontrivial Behavior §Statechart diagrams represent behavior of a single object §Gives a different perspective when compared to Sequence diagrams §How do we know what behavior is “Nontrivial”?
Feb. 13, 2001CSci Clark University15 Generalization Relationships §Generalization relationships between objects can be modeling using UML Class diagrams §Organize concepts into hierarchies from most general to most specific §Eliminate redundancy §Not to be confused with Inheritance: l For organizational purposes only, not reuse l Inheritance comes in during Object Design
Feb. 13, 2001CSci Clark University16 Analysis Exercise Identifying Objects & Object Types
Feb. 13, 2001CSci Clark University17 For Next Time: Rational Rose