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

Slides:



Advertisements
Similar presentations
UML an overview.
Advertisements

ARCH-05 Application Prophecy UML 101 Peter Varhol Principal Product Manager.
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall A.1.
Practical Business Modeling in the Unified Process Tom Morgan Software Architect, Fidelity National Information Services
Chapter 1 Object Oriented Analysis and Design. UML, Patterns, and Object-Oriented Analysis and Design  The essential skills for the creation of well-designed,
Sucha Smanchat  Steps in OOAD using UML  Use Case Diagram  Sequence Diagram / Communication Diagram  Class Diagram  State.
Object-Oriented Analysis and Design
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
ECEN5053 SW Eng of Dist Systems, Arch Des Part 2, Univ of Colorado, Boulder1 Architectural Design of Distributed Systems, Part 2 ECEN5053 SW.
Copyright 2004 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Second Edition Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix.
The Unified Modeling Language (UML) Class Diagrams.
Copyright 2001 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix A Object-Oriented.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
UML Diagrams: Class Diagrams The Static Analysis Model Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Copyright 2002 Prentice-Hall, Inc. Chapter 2 Object-Oriented Analysis and Design Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey.
Lecture 3 Uses Cases Topics UML Use Cases pop quiz Readings: Chapter 3 January 24, 2008 CSCE 492 Software Engineering.
Modeling Shari L. Pfleeger and Joanne M. Atlee, Software Engineering: Theory and Practice, 4 th edition, Prentice Hall, Hans Van Vliet, Software.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
UML diagrams What is UML UML diagrams –Static modeoing –Dynamic modeling 1.
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
The Static Analysis Model Class Diagrams Prof. Hany H. Ammar, CSEE, WVU, and Dept. of Computer Science, Faculty of Computers and Information, Cairo University.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
Lecture 9-1 : Intro. to UML (Unified Modeling Language)
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
Systems Analysis and Design in a Changing World, Thursday, Feb 15.
Lecture 14 22/10/15. The Object-Oriented Analysis and Design  Process of progressively developing representation of a system component (or object) through.
OOAD (part 2) diagrams CSCI577a TAs: Alexey. Outline UML diagrams: – Use case diagrams – Robustness diagrams – Sequence diagrams – Artifacts diagrams.
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
OOD OO Design. OOD-2 OO Development Requirements Use case analysis OO Analysis –Models from the domain and application OO Design –Mapping of model.
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall Appendix A Object-Oriented Analysis and Design A.1.
Data Modeling Using the Entity- Relationship (ER) Model
Method – Notation 8 Hours.
Elaboration popo.
Lecture 4: Elaboration Tasks and Domain Modeling
UML Diagrams: Class Diagrams The Static Analysis Model
Chapter 4: Business Process and Functional Modeling, continued
UML(Unified Modeling Language)
UML Diagrams By Daniel Damaris Novarianto S..
Unified Modeling Language Tutorial
Business System Development
The Movement To Objects
Object-Oriented Analysis and Design
Introduction to the Unified Modeling Language
Entity Relationship (E-R) Modeling
Week 10: Object Modeling (1)Use Case Model
UML Diagrams Jung Woo.
Online Shopping APP.
Business System Development
CIMI Enterprise Architecture Proposal
Object-Oriented Analysis
Visual Paradigm UML Modeling Tutorial
Visual Paradigm for UML Modeling
Unified Modeling Language
Modeling Shari L. Pfleeger and Joanne M. Atlee, Software Engineering: Theory and Practice, 4th edition, Prentice Hall, Hans Van Vliet, Software Engineering:
Chapter 20 Object-Oriented Analysis and Design
Object oriented analysis and design
CIS 375 Bruce R. Maxim UM-Dearborn
Appendix A Object-Oriented Analysis and Design
Introduction to the Unified Modeling Language
IMPORTANT NOTICE TO STUDENTS:
OBJECT ORIENTED ANALYSIS AND DESIGN
Analysis models and design models
Software Design Lecture : 15.
Rational Rose 2000 Instructor Notes Use Case Realization Structure
Software Analysis.
Design Yaodong Bi.
CIS 375 Bruce R. Maxim UM-Dearborn
Appendix A Object-Oriented Analysis and Design
Appendix A Object-Oriented Analysis and Design
Uml diagrams In ooad.
Presentation transcript:

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

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

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.

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.

Example: Initial Conceptual Model

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.

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 …

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

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.

Examples: Add win-condition (Sunny-day)

Examples: Sequence diagram Actor Self Message Participating Objects Lifeline Message Activation Return Message More details: https://online.visual-paradigm.com/tutorials/sequence-diagram-tutorial/

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.

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.

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

Class Diagrams Relationships: Multiplicity Relationships can show multiplicity: 1 -- 1 one to one 1 -- * one to many * -- * many to many x…y ranges from x to y, inclusively More details: https://online.visual-paradigm.com/tutorials/class-diagram-tutorial/

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.

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.

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

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

References https://en.wikipedia.org/wiki/Artifact_%28UML%29 https://www.tutorialspoint.com/object_oriented_analysis_design/index.htm www.utdallas.edu/~chung/OOAD/M01_OO_Intro.ppt https://www.scaledagileframework.com/domain-modeling/ https://online.visual-paradigm.com/tutorials/sequence-diagram-tutorial/ https://online.visual-paradigm.com/tutorials/class-diagram-tutorial/ https://www.uml-diagrams.org/dependency.html

Please seat in teams