Diagram Notations http://www.flickr.com/photos/cardoso/2197507288/

Slides:



Advertisements
Similar presentations
Architecture. Outline Example Decomposition Style Activity 1.
Advertisements

Diagram Notations
Schedule and Effort. Planning Big Project: Waterfall-ish Style 1.Figure out what the project entails Requirements, architecture, design 2.Figure out dependencies.
Paper Prototyping.
Object-Oriented Design
Android programming club Thursdays 5-7pm Info… Ryley Herrington iOS programming club Info… Ben Lanegan or.
Systems Analysis and Design in a Changing World, Fourth Edition
Diagram Notations
© 2005 Prentice Hall4-1 Stumpf and Teague Object-Oriented Systems Analysis and Design with UML.
Requirements
Copyright W. Howden1 Lecture 2: Elaboration Tasks and Domain Modeling.
Object-Oriented Design
7. 2Object-Oriented Analysis and Design with the Unified Process Objectives  Detailed Object-Oriented Requirements Definitions  System Processes—A Use.
Jul The New Geant4 License J. Perl The New Geant4 License Makes clear the user’s wide- ranging freedom to use, extend or redistribute Geant4, even.
Systems Analysis I Data Flow Diagrams
程建群 博士(Dr. Jason Cheng) 年03月
Schedule & effort.
X3D Graphics for Web Authors X3D-Edit Update SIGGRAPH 2008 Don Brutzman Naval Postgraduate School Monterey California USA.
17-1 JXTA Developer and Business Resources Module Objectives ● Understand JXTA's Open Source Model ● Learn how to get involved at jxta.org ● Learn.
Blue Diamond Scott Auge Amduus Information Works, Inc.
Diagram Notations
Andrew McNab - License issues - 10 Apr 2002 License issues for EU DataGrid (on behalf of Anders Wannanen) Andrew McNab, University of Manchester
In-Class Interviewing Activity (Grocery example) You can conduct a semi-structured/unstructured interview: How: Use the process outlined here. Individually.
7 Systems Analysis and Design in a Changing World, Fifth Edition.
International Telecommunication Union New Delhi, India, December 2011 ITU Workshop on Standards and Intellectual Property Rights (IPR) Issues Philip.
Discovering object interaction. Use case realisation The USE CASE diagram presents an outside view of the system. The functionality of the use case is.
Object-Oriented Design
National Alliance for Medical Image Computing Licensing in NAMIC 3 requirements from NCBC RFA (paraphrased)
7. 2Object-Oriented Analysis and Design with the Unified Process Objectives  Detailed Object-Oriented Requirements Definitions  System Processes—A Use.
Systems Analysis and Design in a Changing World, Fourth Edition
Notations. Requirements Documentation Typical parts of Requirements Document Functional requirements Behavior of the software system Nonfunctional requirements.
Object-Oriented Design. 1 Objects and concerns Objects have a concern, meaning they have a purpose Not concerned as in worried All code should have a.
Capturing Requirements. Questions to Ask about Requirements 1)Are the requirements correct? 2)Consistent? 3)Unambiguous? 4)Complete? 5)Feasible? 6)Relevant?
OO DomainModeling With UML Class Diagrams and CRC Cards Chapter 6 Princess Nourah bint Abdulrahman University College of Computer and Information Sciences.
7 Systems Analysis – ITEC 3155 The Object Oriented Approach – Use Cases.
Requirements. Outline Definition Requirements Process Requirements Documentation Next Steps 1.
Schedule & effort
Systems Analysis and Design in a Changing World, Fourth Edition
Using Use Case Diagrams
ATM OO Design and Implementation Case Study
Systems Analysis and Design in a Changing World, 6th Edition
Object-Oriented Analysis and Design
Evaluating Requirements
The Next Stage in Analysis: Systems Use Case Diagrams
Evaluating Architectures
OO Domain Modeling With UML Class Diagrams and CRC Cards
Agile
System Modeling Chapter 4
Requirements: Use Case Models and Narratives
OO Domain Modeling With UML Class Diagrams and CRC Cards
Sequence Diagrams.
Automation in an XML Authoring Environment
SAD ::: Spring 2018 Sabbir Muhammad Saleh
Systems Analysis and Design in a Changing World, 6th Edition
CIS 375 Bruce R. Maxim UM-Dearborn
Analysis models and design models
Using Use Case Diagrams
Software Engineering System Modeling Chapter 5 (Part 1) Dr.Doaa Sami
Design Patterns
Software Architecture
Customer collaboration
CIS 375 Bruce R. Maxim UM-Dearborn
Requirements
Appendix A Object-Oriented Analysis and Design
Information System Design
Chapter 4 System Modeling.
BEMS user Manual Fundación cartif.
Presentation transcript:

Diagram Notations http://www.flickr.com/photos/cardoso/2197507288/

Did you plan to build the Enterprise all on your own???? Diagrams are often useful when… You need to communicate, visualize, or analyze something And that something has some sort of structure

Recall: Typical parts of requirements documentation Functional requirements Unstructured text Use cases Non-functional requirements Fit criteria Diagrams Class diagrams and entity-relationship diagrams Dataflow, sequence, and state diagrams

Use case diagram: shows activities supported by the system UC#1: Report repression UC#2: Clarify tweet Repressed citizen UC#3: View reports UC#3a: View on map UC#3b: View as RSS feed Concerned public

Notes on use case diagrams Stick man for user Ovals for use cases Simple arrows when a UC “calls” or initiates another Open arrowheads for specialization (“is-a”) Similar to the role that subclassing plays in OO Italicize “abstract” use cases

UML class diagram: shows entities, attributes, relationships Clarification tweet Report When: date/time Text: string User Twitter username Repression report Source: tweet Location: geocode When: date/time Details: string * * 0..1 1 * * Repression tweet User When: date/time Text: string 1 Repression view Reports * Google map view JavaScript RSS View XML text System boundary

Notes on UML class diagrams One box per kind of entity, listing attributes Italicize abstract entities, attributes SOME MIGHT BE OUTSIDE THE SYSTEM Three types of lines representing relationships Lines without arrowheads show association Lines with triangle arrowheads for specialization “a is a b”

Entity-relationship diagram: shows entities, attributes, relationships Clarification tweet report when (datetime) text (string) 0..1 User Twitter username Repression report source (tweet) location (geocode) when (datetime) details (string) p 1 yields s asks about writes shows n 1 q Repression tweet user when (datetime) text (string) Repression view reports System boundary Google map view JavaScript RSS View XML text

Notes on entity-relationship diagrams (ERDs) One box per kind of entity List attributes on branches Lines with a diamond show relationships Diamond label indicates role of relationship Numbers or variables on lines show cardinality

Dataflow diagram: shows flow of information Tweet Repression info Report Twitter DB Reporter Tweet Clarification message Send clar req Clarification message Repression info Inter-pret Clarify Repression info Location Viewing user Geocoder Map RSS feed Geocode System boundary Report RSS View Reports Reports DB Reports Map View

Notes on dataflow diagrams Each oval is a “function”. Each inward arrow is a parameter (labeled) Each outward arrow is an output (labeled) Each rectangle is an actor A person, place, or thing that can do stuff and/or initiate events Each “half-rectangle” is a data store Often clearer if you do a separate dataflow diagram for each use case

Message sequence diagram: shows flow of control User Twitter System Database Geocoder [geocode != null] Tweet event Read tweets Geocode Create report [if geocode != null] Request to clarify [if geocode == null] Deliver request

Notes on message sequence diagrams One box per entity involved E.g.: if you have two users interacting with each other, then you would have two boxes SOME ENTITIES MIGHT BE OUTSIDE THE SYSTEM Each box has a dashed line, showing its “lifetime”, which can end if an object is destroyed Arrows show messages Also, draw an arrow back if there’s a return value Conditionals are written with brackets [ ] Loops can be enclosed in a shaded box

State chart: shows change over time Report status Raw (just text) Geocoded (geocode != null) record geocoding fails & user retweets In database (geocode == null) geocoding succeeds

Notes on state charts One box per state Arrows show a possible state transition Annotated to indicate under what conditions the transition occurs Filled circle shows where you “start” Nested filled circle shows where you “stop”

Putting it together: a typical requirements document Requirements definition Unstructured text: functional & non-functional reqs Use case descriptions Class diagrams or ERDs showing external entities Requirements specification Dataflow diagram Message sequence diagrams or state charts

An example system to support drug and alcohol counseling http://cf.polarishealth.com/demo/start_demo.html

Requirements definition, functional reqs, unstructured text Before each counseling visit, each counselee takes a survey. After each survey, the system prints a report showing the counselee’s progress. Administrative assistants can add counselees and their counselors to the system. Requirements definition: written from external viewpoint; system is like a “black box”

Requirements definition, non-functional reqs, with fit criteria The system will print progress reports within 2 minutes of a survey’s completion. Each survey will be short enough for an average user to complete within 10 minutes. Progress reports will each be 2 pages or less. Users can take a survey using a Windows machine that has a Pentium II 550 MHz CPU, with 0.5 GB of RAM. Requirements definition: written from external viewpoint; system is like a “black box”

UC#1: Survey and report Actor: Counselee Precondition: Counselee registered in system Postconditions: Counselee progress data is recorded in system Report is printed for use by counselor Flow of events: Counselee logs in (lastname + PIN) System collects survey data from counselee System prints report

Identify the noun phrases Nouns can inspire entities and attributes UC#1: Survey and report Nouns can inspire entities and attributes Actor: Counselee Precondition: Counselee registered in system Postconditions: Counselee progress data is recorded in system Report is printed for use by counselor Flow of events: Counselee logs in (lastname + PIN) System collects survey data from counselee System prints report

Class diagram of entities First, we identify some entities Report Counselor Survey Counselee System boundary

Class diagram of entities User lastname: String pin: Integer Report Counselor Survey Counselee System boundary These two are both users of the system

Class diagram of entities We can infer some more attributes User lastname: String pin: Integer Report Counselor Survey questions: String [1..*] answers: Integer [1..*] Counselee System boundary

Class diagram of entities Some “attributes” are modeled as relationships User lastname: String pin: Integer patientreport Report Counselor counselor datasource Survey questions: String [1..*] answers: Integer [1..*] patient respondent Counselee System boundary

Class diagram of entities Don’t forget to specify multiplicities User lastname: String pin: Integer patientreport Report * * Counselor 1 counselor 1 datasource * Survey questions: String [1..*] answers: Integer [1..*] patient * respondent Counselee * 1 System boundary

Class diagram of entities Associations can also be named User lastname: String pin: Integer patientreport Report Reads * * Counselor 1 counselor 1 Reports Counsels datasource * CollectedFrom Survey questions: String [1..*] answers: Integer [1..*] patient * respondent Counselee * 1 System boundary

Requirements specification, functional reqs, unstructured text When survey input completes, survey data will be stored in the database, and a report will be output to the printer. The system will provide screens for adding, editing, and deactivating counselee and counselor records; at conclusion of input to these screens, records will be inserted, updated, or deleted from a database. Requirements specification: written from system’s viewpoint, involving internal details of system

Requirements specification, non-functional reqs, with fit criteria The system will record completed surveys in the database within 30 seconds; reports will be sent to the printer within 30 seconds and emerge within 60 seconds. 95% of the code will be platform-independent (Java or platform-independent JavaScript). Requirements specification: written from system’s viewpoint, involving internal details of system

Identifying the verbs can also be useful UC#1: Survey and report Actor: Counselee Precondition: Counselee registered in system Postconditions: Counselee progress data is recorded in system Report is printed for use by counselor Flow of events: Counselee logs in (lastname + PIN) System collects survey data from counselee System prints report OK, “use” is not technically a verb in this case.

Dataflow diagram (note: only shows UC#1) Counselee Counselor

Dataflow diagram (note: only shows UC#1) Authenticate Last name & PIN Counselee User ID Counselor

Dataflow diagram (note: only shows UC#1) Authenticate Last name & PIN Counselee User ID Survey DB Health Information Survey answers Survey Counselor

Dataflow diagram (note: only shows UC#1) Authenticate Last name & PIN Counselee User ID Survey DB Health Information Survey answers Survey All this patient’s answers (ever) Create report Postscript Printer Counselor

Dataflow diagram (note: only shows UC#1) Authenticate Last name & PIN Counselee User ID Survey DB Health Information Survey answers Survey All this patient’s answers (ever) Pick up Create report Printout Postscript Printer Printout Counselor

Message sequence diagram UC#1 : Counselee : Server : Database : Printer

Message sequence diagram UC#1 : Counselee : Server : Database : Printer Present question Answer question

Message sequence diagram UC#1 : Counselee : Server : Database : Printer [survey complete] loop Present question Answer question

Message sequence diagram UC#1 : Counselee : Server : Database : Printer [survey complete] loop Present question Answer question Record answers

Message sequence diagram UC#1 : Counselee : Server : Database : Printer [survey complete] loop Present question Answer question Record answers Get report data data Send report to printer

A few general comments These are just the basic diagrams. Sufficient for our homework, exams, and probably 90% of what you’ll see after graduation Fancier versions of these diagrams do exist It’s OK to draw diagrams by hand As long as you respect the notation And, at least for homework, scan it into a PDF

What’s next for you? Today: Meet with your client! Finish your HW2: Due Tuesday, Sept. 20 before class Email me or Danielle if you have questions Every team member should be contributing

Copyright (c) Christopher Scaffidi 2009 All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Neither the name of Oregon State University nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. Modified by Scott D. Fleming <Scott.Fleming@memphis.edu> 2011.