
SE310 Analysis and Design of Software Systems Standard Design Chart Types and Notation Review and Overview February 23, 2019 Sam Siewert System Block Diagram Simple Interfacing between Major Hardware and Software Elements (Components or Subsystems) with User Interaction Shown E.g. CU Boulder Space Grant DATA-CHASER Mission (STS-85) Sam Siewert 2 Application Block Diagram Hardware shows standard platform(s), Software, and User Interaction Label Interface Dataflow and Protocols E.g. Contacts App on AOS App Android App HCI Java & C++ AOS methods SQLite AOS v X.Y Android Debug Bridge SQL ADB NDK (USB) Debugger Smart Phone Sam Siewert 3 System of Systems Block Diagram Complex Systems that are Systems of Systems or Integration of Subsystems that can also stand alone (E.g. Drone Net) E.g. IEEE SOSE (Drone Net IEEE Aerospace - presentation, paper) Sam Siewert 4 Block Diagram Resources There is no standard for Block Diagrams Traditional Engineering Diagram that is Interdisciplinary SysML - An Extension to UML for Systems http://www.omgsysml.org/ https://en.wikipedia.org/wiki/Block_diagram Sam Siewert 5 Traditional SA/SD – Useful, But Not OO Data Flow Diagrams – Stores, Flows, Processes, External Entities Data [Messages] Between Processes and is Transformed - Related http://en.wikipedia.org/wiki/Data_flow_diagram Control Flow Diagrams Entity Relationship Diagrams – Lacks Operations, but Defines Entities [Objects] and Relationships http://en.wikipedia.org/wiki/Entity%E2%80%93relationship_model State Machines [used in UML, but Typically for Each Process in DFD] Flow-Charts, Control Flow Graphs – Detailed http://en.wikipedia.org/wiki/Finite-state_machine Procedural Design [Interaction, Logic] http://en.wikipedia.org/wiki/Flowchart Sam Siewert 6 Flowchart - SA/SD ISO 5807:1985 Procedural http://flowgorit hm.org/ https://code2fl ow.com/ http://raptor.m artincarlisle.co m/ https://en.wikipedia.org/wiki/Flowchart Sam Siewert 7 DFD - Data Flow Diagram DeMarco, Tom. "Structure analysis and system specification." Pioneers and Their Contributions to Software Engineering. Springer, Berlin, Heidelberg, 1979. 255-288. Data transformation https://en.wikipedia.org/wiki/Data_flow_diagram Smart Draw DFD DFD - Easy to Understand, Natural for Transformation Architectures, Simple notation, https://www.draw.io/ Function (Process) abstraction, Can be leveled (DFDs compose Function or Process at a higher level) Sam Siewert 8 ERD - Entity Relationship Diagram [Database Schemas] Chen, Peter Pin-Shan. "The entity-relationship model — toward a unified view of data." Readings in artificial intelligence and databases. 1988. 98-111. Smart Draw ERD https://erdplus.com MySQL Workbench - CS317 Navicat alternative to https://www.smartdraw.com/entity-relationship-diagram/ Workbench https://en.wikipedia.org/wiki/Entity%E2%80%93relationship_model Sam Siewert 9 State Machine (Extended Finite SM) Mealy Machine – Most common Moore Machine – Alternate notation State Charts Real-Time Event Driven State https://en.wikipedia.org/wiki/Moore_machine Machines https://en.wikipedia.org/wiki/Mealy_machine SDL - Extended Finite State Machine AADL, TASTE https://en.wikipedia.org/wiki/Specification_and_Description_Language Sam Siewert 10 Petri Nets (FYI - Not on Exams) Peterson, James L. "Petri net theory and the modeling of systems." (1981). PIPE (Platform Independent https://en.wikipedia.org/wiki/Petri_net Petri Net Editor) Protocol analysis and synchronous/asynchronous systems analysis Petri nets are useful for concurrent systems analysis and decision Problems - Reisig, Wolfgang. Petri nets: an introduction. Vol. 4. Springer Science & Business Media, 2012. Sam Siewert 11 UML (Quick Reference, Visual Paradigm) https://www.omg.org/spec/UML/About-UML/ State with Use Cases and CRC for Classes 4 Main Behavioral (UC, OIM sequence, Activity, State) 4 Main Structural (Class, Object, Package, Deployment) 4 3 1 2 1 4 3 2 Sam Siewert 12 UML Use Case - Behavioral, Starting Point Concurrent with Goals and Objectives and Block Diagram Goes well with requirements analysis (tracing) Start here to define project scope & Actors: users, external interfaces https://www.visual-paradigm.com/guide/uml-unified-modeling-language/what-is-use-case-diagram/ Sam Siewert 13 UML Structural Diagrams Class, Object, Package, Deployment (Component) Sam Siewert 14 #1 - UML Class Diagram - CRC level First, use CRC (Class, Responsibility, Collaborator) analysis and create Class diagram with classes and relationships (attributes and methods can come later) 1. Association (Cardinality - 1:1, 1:n, 0..1) 2. Aggregation (may include) 3. Composition (must include) 4. Hierarchy (Super class, sub-class - e.g. Withdrawal is a sub-class of Transaction) https://www.visual-paradigm.com/guide/uml-unified-modeling-language/what-is-class-diagram/ Sam Siewert 15 #1 - UML Class Diagram - Domain Model Second, refine use CRC analysis along with OIM sequence diagrams and create Class diagram with classes, relationships, attributes and methods, and can combine with packages Refinement - additional progress, updates based on Level-0 design walk-throughs, more detail 1. Association (Cardinality - 1:1, 1:n, 0..1) 2. Aggregation (may include) 3. Composition (must include) 4. Hierarchy (Super class, sub-class - e.g. Withdrawal is a sub-class of Transaction) Sam Siewert 16 #2 - UML Object Diagram Simple Goal - Show Class instantiation as objects and how objects relate (test instantiation, containers, constructor/destructor, etc.) https://www.visual-paradigm.com/guide/uml-unified-modeling- language/what-is-object-diagram/ Test Class Diagram completed in Level-1 Domain Model https://www.visual-paradigm.com/guide/uml-unified-modeling-language/what-is-object-diagram/ Sam Siewert 17 #3 - UML Deployment Diagram Useful for Systems with Hardware platforms and Multiple stand-alone software applications or services What you need to ship and configure for a system test https://www.visual-paradigm.com/guide/uml-unified-modeling-language/what-is-deployment-diagram/ Sam Siewert 18 #3 - Deployment Diagram - Example Shows mixture of software sub-systems and hardware Similar to block diagram with hardware and software blocks From Kung, OOSE - Example of Deployment diagram for cellular system Sam Siewert 19 #4 - UML Package Diagram Can be done alone (typically level-2) or combined with a Class Diagram Module strong cohesion and interface loose coupling Define directory structure for CMVC https://www.visual-paradigm.com/guide/uml-unified-modeling-language/what-is-package-diagram/ Sam Siewert 20 UML Packages with Class Diagram Break up Class Diagram and abstract Sam Siewert 21 Class Diagram with Packages Show detail of cruise control session and interfaces to packages containing related classes Sam Siewert 22 UML Component Diagram - FYI Models well concepts of 1) Unit (Module, CSU), 2) Subsystem (CSCI), 3) System (CSC) and Interface Requirements Specificaiton (DoD-2167-A, MIL-STD-498) https://www.visual-paradigm.com/guide/uml-unified-modeling-language/what-is-component-diagram/ Sam Siewert 23 UML Behavioral Diagrams Use Case, State, Activity Diagram, OIM Interaction Sequence Sam Siewert 24 #1 - UML Detailed Use Cases Show hierarchy, information flow, actors Relationships between use cases (ovals) https://www.visual-paradigm.com/guide/uml-unified-modeling-language/what-is-use-case-diagram/ Sam Siewert 25 #2 - UML OIM Message Sequence Diagram Class only Object only Class with Object instance Level-1 Domain Model with Classes and messages Level-2+ with Objects and Methods https://www.visual-paradigm.com/guide/uml-unified-modeling-language/what-is-sequence-diagram/ Sam Siewert 26 #3 - UML Activity Diagram Flowchart with fork and join for concurrency, Start, Finish Use to model process bars in OIM sequence diagram https://www.visual-paradigm.com/guide/uml-unified-modeling-language/what-is-activity-diagram/ Sam Siewert 27 #4 - UML State Machine (Extended) Useful at any Level (0,1,2, 2+) for Event Driven Architectures and Hybrid Architectures State Machine Hierarchy of States with sub-states https://www.visual-paradigm.com/guide/uml-unified-modeling-language/what-is-state-machine-diagram/ Sam Siewert 28 UML Timing Diagram - FYI Use for time constraints (if you have them) Rate Monotonic Analysis - CEC450 (Example Timing Diagrams) https://www.visual-paradigm.com/guide/uml-unified-modeling-language/what-is-timing-diagram/ Sam Siewert 29 UML Communication Diagram - FYI Use instead of or in addition to OIM Sequence Diagram Use with Object Model Analysis for Domain Model https://www.visual-paradigm.com/guide/uml-unified-modeling-language/what-is-communication-diagram/ Sam Siewert 30.
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages30 Page
-
File Size-