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