SE310 Analysis and Design of Software Lecture 7 REVIEW SM&D Chapters 1 to 11 & Notes February 13, 2018 Sam Siewert
Domain Models Use Case Details UML is Universal Modeling Language [OMG, UML.org] Use to Support Requirements Analysis Start Here! https://www.modelio.org/ USE Modelio 3.7 SD as your DESIGN TOOL OMG UML 2.5 Standard Structural Diagrams Start with Class Diagram and CRC Then Object Diagram Package and Deployment Behavioral Diagrams Start with Use Case Diagram Interaction Sequence Diagram after Class and Object Done Add State Machine and Activity Diagrams for concurrency and statefulness Helpful Validation and Verification Features for Design Integrated Models Checklists Completeness CPP and Java Code Generation Sam Siewert 2
Design V&V Strategies Considerations for Software Test and Evaluation NDIA Software Test Summit Dr. Ernest Seglie, Science Advisor to the Director, Operational Test and Evaluation Software Engineering: A Practitioner s Approach, 8/e (McGraw- Hill, 2014) copyright 2014 by Roger Pressman Process phase descriptions can vary. However, the concepts and theory are generally the same for a given model. Progression from Specification, to Analysis to High-Level Design (Architecture and System) to Components in Subsystems, to Units or Modules of Code Sam Siewert 3
SM&D Chapter 1&2 Chapter 1 PQCT [Productivity, Quality, Cost, Time-to- Market] SE Design and Development Process SE vs. CS Differences? Chapter 2 Process and Methods Process (what to do when) vs. Methodology (how) [p. 37] Waterfall, Prototyping Evolutionary Spiral Rational Unified Process [4 phases inception, elaboration, construction, transition] Agile strategy, principles [p. 35] Scrum and XP [p. 41] Sam Siewert 4
SM&D Chapter 3&4 Chapter 3 - Software and Systems Engineering Requirements Analysis (Decomposition) Architecture Diagrams [e.g. Block] OO vs. Structured [Class vs. ER/EER] Chapter 4 Software Requirements Challenges Customer almost never provides Types [p. 86] Capability [Notes], High Level Performance Quality (availability, reliability, recoverability) Safety (fail safe) Security Interfaces Requirements Walkthrough and Inspection Validation - Completeness, consistency, correctness Verification Use case analysis and tracing Sam Siewert 5
SM&D Chapter 5 Domain Modeling CRC [Class-Responsibility-Collaboration] Cards Use Cases [review examples and model elements] Class Diagram Aggregration Hierarchy & Inheritence Association OIM Sequence Diagrams Refinement of Class Diagram Domain Model checklist Modelio and UML 2.x Sam Siewert 6
SM&D Chapter 6&7 Chapter 6 - Architecture Focus on Modules (Classes) and Interfaces OIM Sequence diagrams Class diagram refinement Components (CSU), Subsystems (CSCI), Systems 4 Major Architectural Patterns [Interactive, Event, Transformational, Transaction] N-tier architecture [recall from CS317] Goals Practicing Agile Chapter 7 - Use Cases and Requirements Identifying Tracing p. 184 in Kung Use Case diagram elements Practicing Agile Sam Siewert 7
SM&D Chapter 8&9 Chapter 8 - Actor / System Interaction Models Including Actors in OIM User Interface Prototypes GUI and HCI Chapter 9 Object Interaction Models Sequence diagram elements and use [pp. 219-221] Steps in OIM [p. 225] OIM Checklist [p. 245] Sam Siewert 8
SM&D Chapter 10 Design Patterns Gang of Four (GoF) Patterns Work, Reuse Anti-patterns Don t Work, Avoid Singleton Controller Creator Reuse at Code Level Reuse at Design Level Sam Siewert 9
SM&D Chapter 11 DCD Design Class Diagram Identifying Class Diagram Details from OIM Sequence diagram Methods and parameters Object model (instantiation tests, constructor, destructor) Refining attributes DCD Checklist [p. 288] Package Diagram Strong Cohesion Loose Coupling Directory and file structure Practicing Agile Sam Siewert 10
Take Away Choose Strategy & Process appropriate for organization E.g. Agile strategy Spiral or XP process with Agile Methodology How to implement process Structured Analysis and Design OO Analysis and Design Feature Driven [p. 43] Domain Modeling with UML 2.x Analysis with Models (UC, Class, OIM sequence, Object, Package) Design with Models (fill in details through analysis and review) Architecture - Interfaces and Modules (Classes) Level-0 for SE310 DCD Design Class Diagram Level-1 for SE310 Sam Siewert 11