SADT Structured Analysis and Design Techniques 3 p

  • Slides: 72
Download presentation

SADT: Structured Analysis and Design Techniques

SADT: Structured Analysis and Design Techniques

3. 软件需求文档 p p SRS (Software Requirement Specification) Heninger 对软件需求文档提出的6点要求: n It should specify

3. 软件需求文档 p p SRS (Software Requirement Specification) Heninger 对软件需求文档提出的6点要求: n It should specify external system behavior. n It should specify constraints on the implementation. n It should be easy to change. n It should serve as a reference tool for system maintainers. n It should record forethought about the life cycle of the system. n It should characterize acceptable responses to undesired events.

p p p Introduction n Purpose n Definitions n System overview n References Overall

p p p Introduction n Purpose n Definitions n System overview n References Overall description n Product perspective p System Interfaces p User Interfaces p Hardware interfaces p Software interfaces p Communication Interfaces p Memory Constraints p Operations p Site Adaptation Requirements n Product functions n User characteristics n Constraints, assumptions and dependencies Specific requirements n External interface requirements n Functional requirements n Performance requirements n Design constraints p Standards Compliance n Logical database requirement n Software System attributes p Reliability p Availability p Security p Maintainability p Portability n Other requirements SRS结构

需求与什么相关? 1) 2) 3) 4) 5) 6) 7) 8) 9) 物理环境(Physical Environment) 接口(Interfaces) 用户或人的因素(Factors)

需求与什么相关? 1) 2) 3) 4) 5) 6) 7) 8) 9) 物理环境(Physical Environment) 接口(Interfaces) 用户或人的因素(Factors) 功能(Functionality) 文档(Documentation) 数据(Data) 资源(Resources) 安全性(Security) 质量保证(Quality Assurance)

Decision Table Rule 1 Rule 2 Rule 3 Rule 4 Rule 5 T F

Decision Table Rule 1 Rule 2 Rule 3 Rule 4 Rule 5 T F F High grades — T F F F Outside activities — — T F F Good recommendations — — — T F X X X High standardized exam scores Send rejection letter Send admission forms X X

Warnier-Orr Diagrams OS(n 1) System Software products Compiler(n 2) Software Tool Application Editor(n 3)

Warnier-Orr Diagrams OS(n 1) System Software products Compiler(n 2) Software Tool Application Editor(n 3) Test driver(n 4) CAD tool(n 5)

8 fundamental building blocks

8 fundamental building blocks

IPO Diagrams Input Old master files Other files Process Output Verify Primary Record Valid

IPO Diagrams Input Old master files Other files Process Output Verify Primary Record Valid Primary Record Verify Other Record Valid Other Record Update record Updated files

Fence Diagram showing State Transitions (Example: Hotel reservations) (Null) Requested On waiting list Confirmed

Fence Diagram showing State Transitions (Example: Hotel reservations) (Null) Requested On waiting list Confirmed Used Canceled Archive

Use UML to Represent OO OMG (Object Management Group) have adopted UML as the

Use UML to Represent OO OMG (Object Management Group) have adopted UML as the OO notational standard. p UML can be used to visualize, specify, or document a problem. p UML can be used throughout the software development process. p

13 (!!) Kinds of UML Diagrams 1) 2) 3) 4) 5) 6) 7) Activity

13 (!!) Kinds of UML Diagrams 1) 2) 3) 4) 5) 6) 7) Activity Class Communication Component structure Deployment Interaction 8) 9) 10) 11) 12) 13) Object Package Sequence State machine Timing Use case

Example: Class Diagram http: //www. agiledata. org/images/oo 101 Class. Diagram. gif 64

Example: Class Diagram http: //www. agiledata. org/images/oo 101 Class. Diagram. gif 64

Class Name Attribute : type Operation (arg list) : return type Abstract operation Object.

Class Name Attribute : type Operation (arg list) : return type Abstract operation Object. Name: Class Name Attribute : type Operation (arg list) : return type Abstract operation

Edges Association Class A Navigability Source Role of B Role of A Role name

Edges Association Class A Navigability Source Role of B Role of A Role name Class B Target Dependency Client Multiplicities on Edges (Cardinalities) 1 Exactly one * Many (any number) 0. . 1 Optional (zero or one) m. . n Specified range {ordered}* Ordered Supplier

Generalization (Inheritance) Supertype Subtype 1 Subtype 2 Comment about an item Note (Comment) Some

Generalization (Inheritance) Supertype Subtype 1 Subtype 2 Comment about an item Note (Comment) Some item eg class

Example: Sequence Diagram

Example: Sequence Diagram

Elements of Sequence Diagrams Name: Class Create New object Message Self-call Return Delete There

Elements of Sequence Diagrams Name: Class Create New object Message Self-call Return Delete There is also notation for loops, conditions, etc.

UML Modeling Tools p Rational Rose (www. rational. com) by IBM p Together. Soft

UML Modeling Tools p Rational Rose (www. rational. com) by IBM p Together. Soft Control Center, Borland (http: //www. borland. com/together/index. html) p Argo. UML (free software) (http: //argouml. tigris. org/ ) Open. Source; written in Java p Others http: //www. objectsbydesign. com/tools/umltools_by. Compa ny. html

Rational Rose Standard Toolbar Browser Documentation Window Status Bar Diagram Toolbar Diagram Window

Rational Rose Standard Toolbar Browser Documentation Window Status Bar Diagram Toolbar Diagram Window