Presentation is loading. Please wait.

Presentation is loading. Please wait.

OOA&D II Bo Wang, Kan Qi Adapted from Alexey Tregubov’s Slides.

Similar presentations


Presentation on theme: "OOA&D II Bo Wang, Kan Qi Adapted from Alexey Tregubov’s Slides."— Presentation transcript:

1 OOA&D II Bo Wang, Kan Qi Adapted from Alexey Tregubov’s Slides

2 OOA&D I Review Today’s Outline Purpose and motivation The history
The methodology UML diagrams: Use case diagrams Robustness analysis diagrams Today’s Outline Domain modeling Class diagram Sequence diagram Workshops and team presentations Other diagrams in SSAD

3 Domain Modeling Necessary to ground both requirements and design (and hopefully implementation) in knowledge shared by all stakeholders A methodology for building terminology, as well as discovering and refining use-cases and requirements Many techniques exist A domain model generally uses the vocabulary of the domain, thus allowing a representation of the model to be communicated to both technical non-technical stakeholders.

4 Example: User Epics/Stories
As a mobile app user, I can upload video and video metadata (location, timestamp, etc) to the report poster’s account. As a report poster, I can add report description and post the unreviewed bad driver report to a review queue. As a Report reviewer, I can review unreviewed bad driver reports from the review queue. When a bad driver report is verified by at least one independent report reviewer, it is added to the bad driver database. It remains in the review queue until it has been verified by 3 independent report reviewers. Report consumer (e.g. insurance company) queries by license plate number and can see reviewed bad driver reports.

5 Example: Initial Conceptual Model

6 Domain Modeling Guidelines
Focus on real-world (problem domain) objects. E.g. The response time (not a modeling object) of the system should be within 3 seconds. Use generalization (is-a) and aggregation (has-a) relationships to show how the objects relate to each other. Limit your initial domain modeling efforts to a couple of hours. Organize your classes around key abstractions in the problem domain. Don’t mistake your domain model for your data model.

7 Example: Vocabulary … Product Owner Project Manager Architects
Mobile app user Report poster Report reviewer Report consumer video video metadata Location Timestamp account report description unreviewed bad driver report review queue bad driver report bad driver database insurance company license plate number reviewed bad driver report Product Owner Project Manager Architects Implement Team

8 Partial Conceptual Models (Workshop III)
Initialize the conceptual models of your project User epics/stories? win conditions and client interaction reports and PC-2 Focus the same use case (Workshop I&II) Do it in teams 8 minutes. Step 1 As a mobile app user, I can upload video and video metadata (location, timestamp, etc) to the report poster’s account. Step 3 Step 2

9 Sequence diagrams A Sequence diagram is an interaction diagram that shows how objects operate with one another and in what order. It is a construct of a message sequence chart.

10 Examples: Add win-condition (Sunny-day)

11 Examples: Sequence diagram
Actor Self Message Participating Objects Lifeline Message Activation Return Message More details:

12 Sequence diagram (Workshop IV)
Develop a sequence diagram for the same use case (in Workshop I) Based on the conceptual model (workshop III) and robustness analysis diagram (workshop II) Do it in teams 10 minutes.

13 Class Diagrams A class diagram is a type of static structure diagram that describes the structure of a system by showing the system's classes, their attributes, operations (or methods), and the relationships among objects.

14 Class Diagrams Relationships: Dependency, Association, Aggregation, Composition
Dependency – relationship between dependent and independent objects Association – weak relationship, e.g. one object uses another object Aggregation – “has a” relationship Composition – object is “part of” another object

15 Class Diagrams Relationships: Multiplicity
Relationships can show multiplicity: one to one 1 -- * one to many * -- * many to many x…y ranges from x to y, inclusively More details:

16 Partial Design Class (Workshop V)
Develop the design class of your project Based on your conceptual model and system sequence Specify potential attributes and operations (methods) Completeness? Not required Do it in teams 8 minutes.

17 Team Presentations User stories (briefly mention the use case)
Initial conceptual model Sequence diagram design class Suggestions: 3-4 mins Try to explain how the diagrams fit your project Try to explain in the flow about the derivation of the diagrams.

18 Other Diagrams in SSAD Use Visual Paradigm
Correct and complete the diagrams you have initialized in class FCR System Context : Communication Diagram A simple diagram. shows the users, systems (and possibly any external systems) along with the messages that travel from one to another Artifacts and Information : E-R Diagram is the specification of a physical piece of information that is used or produced by a software components Behavior : Use Case Diagram

19 Other Diagrams in SSAD DCR Domain Model : Class Diagram
Hardware/Software Components : Component Diagram describes the structure of hardware / software  Deployment : Deployment Diagram represent the assignment of software artifacts to deployment targets (e.g. servers, distributions, DBs) Design Classes : Class Diagram Robustness Analysis : Class Diagram Sequence Diagram : Sequence Diagram

20 References https://en.wikipedia.org/wiki/Artifact_%28UML%29

21 Please seat in teams


Download ppt "OOA&D II Bo Wang, Kan Qi Adapted from Alexey Tregubov’s Slides."

Similar presentations


Ads by Google