CS 340 Advanced Software Development Methods
Transcription
CS 340 Advanced Software Development Methods
CS 451 Software Engineering Yuanfang Cai Room 104, University Crossings 215.895.0298 [email protected] 1 Drexel University Design Models Data Flow Diagram Class Diagram Sequence Diagram State Diagram Component Diagram Deployment Diagram Data Models 2 Drexel University UML Component Diagram 3 Drexel University Component Design Displays the high level packaged structure of the code itself. Dependencies among components are shown Source code components Binary code components Executable components. Some components exist at compile time, at link time, at run times well as at more than one time. 4 Drexel University Model a component Illustrates the pieces of software, embedded controllers and such that make up a system, and their organization and dependencies. A component is implemented by one or more Classes (or Objects) at runtime. 5 Drexel University Model a component’s interfaces Required Interfaces Provided Interfaces 6 Drexel University Model a component’s relationship 7 Drexel University Interface Design Why interface design is needed? Task parallelism Performance analysis Different types of Interface Design Graphical interface design Boundary class design Database interface design File storage interface design Hardware interface design More… 8 Drexel University The Component and Interface Design of TheraWii 9 Drexel University Component Diagram Example in UML 1.4 Drexel University Another Example using UML 1.4 11 Drexel University Component Diagram Example in UML 2 Drexel University Beyond the Basics Display a component's internal structure. Drexel University Deployment Diagram 14 Drexel University Architecture Design Models the configuration of run-time processing elements and the software components, processes, and objects that live on them. Software component instances represent runtime manifestations of code units. The relation between software and hardware The ambiguity of the definition of “architecture design” Sometimes it is used to represent component diagram Sometime it means components and conectors 15 Drexel University Deployment Diagram 16 Drexel University Deployment Diagram Example Drexel University UML Deployment Diagram Example Drexel University Concise UML 2 Deployment Diagram Drexel University Deployment Diagram 20 Drexel University Data Models 21 Drexel University Data Model Design Why Data Model Design is needed? Different types of Data Design Performance consideration Interface consideration Adaptability consideration In-memory data structure Input-output file format Database scheme Classes attributes Principles: abstraction and modularization 22 Drexel University Data Modeling Concepts Data objects can then be represented as tables: 23 Drexel University Data Modeling using Classes The Data Model Design of TheraWii 24 Drexel University Database Scheme Design Entity Relation Diagram The Database Design of Vodka 25 Drexel University Network Diagrams Network diagrams are often drawn using software-based drawing tools (figure below was drawn using Microsoft Visio) Drexel University Software Design Document Syntax Component Diagram High-level Component Diagrams Detailed Component Diagrams (Classes and relations within a Component) Interface Design (Boundary Class) Data Model /Data Storage Design (Entity Classes), data attributes have to be specified Optional Deployment Diagram Algorithm Explanation 27 Drexel University Please refer to the design document rubric 28 Drexel University