SADT Structured Analysis and Design Techniques 3 p








































































- Slides: 72
SADT: Structured Analysis and Design Techniques
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 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) 功能(Functionality) 文档(Documentation) 数据(Data) 资源(Resources) 安全性(Security) 质量保证(Quality Assurance)
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) Test driver(n 4) CAD tool(n 5)
8 fundamental building blocks
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 Used Canceled Archive
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 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
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 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 item eg class
Example: Sequence Diagram
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 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