Com S 362 Lecture Notes for Sep 11 System Sequence Diagrams Reading: Larman Chapter 10 Remember: Software Process Models, Requirements, Specification, Requirement Elicitation, Use Cases, Scenarios, Actors, Type of Actors: Primary, supporting, offstage. Domain models, concrete classes, associations, attributes Recap: Domain Model: When: Often constructed during object-oriented analysis Why: Understandability, and helps lower representational gap between domain and software What: A visual representation of conceptual classes or real-situation objects in a domain. Consists of: Conceptual classes, Attributes, Association between these conceptual classes Today's Lecture: Associations Multiplicity Clarification: * - Zero or more 1..* - One or more 1..40 - One to 40 5 - Exactly five 3,5,7 - Exactly 3, 5, or 8 Description classes: (Meta-class) - Contains information that describes something else. For example: Book Description 1--Describes---* Books (In this case, there many copies of the same title and the book description describes them all.) Product Description 1--Describes---* Item Refinement Steps in S/W Development: At each stage in the S/W development process, we are refining the artifacts created in the previous stage, until the artifacts are refined to the extent to be executable. **START** Domain and the problem in the domain -> Analysis of domain and the problem in the domain -> Terse description (in form of use cases) of how the problem will be solved by the system by fulfilling each required goal. In the requirement analysis phase, we wrote use cases. Remember - Use Case = [Scenario = [Actor -fulfill--> Goal]]* -> Construct detailed static description of the domain a.k.a Domain Models, Describes actors and other conceptual classes in the system in more detail -> Construct detailed dynamic description of the each use case scenarion a.k.a. System sequence diagrams. Describes interaction between actors and system in more details -> Translate a subset of domain model to classes and objects in the system (create class diagrams), add more classes representing objects inside the system -> Translate a system sequence diagram to interaction between domain and between system classes (create interaction diagrams) -> Produce an implementation from the class diagrams And the interaction diagrams, verify validate -> **END** Final software product. System Sequence Diagram: In the domain model, we studied the static relationships in the system. However, dynamic nature of actor-system interaction is also important. System sequence diagram is a detailed representation of the steps of interaction between the actor and the system to fulfill a goal. For example, a goal in the library administration system was to checkout a book Actor [Patron] --Goal [Checkout] --> System We can describe the steps in the fulfillment of this goal in more detail. Actor [Patron] -- Scans membership card --> System Actor [Patron] <-- Accepts/Rejects -- System membership card Actor [Patron] -- Scans book --> System Actor [Patron] <-- Prints receipt -- System of checkout/due date