Presentation is loading. Please wait.

Presentation is loading. Please wait.

Chapter 8 Analysis Engineering (分析工程) Software Engineering: A Practitioner’s Approach by Roger S. Pressman Software Engineering: A Practitioner’s Approach.

Similar presentations


Presentation on theme: "Chapter 8 Analysis Engineering (分析工程) Software Engineering: A Practitioner’s Approach by Roger S. Pressman Software Engineering: A Practitioner’s Approach."— Presentation transcript:

1 Chapter 8 Analysis Engineering (分析工程) Software Engineering: A Practitioner’s Approach by Roger S. Pressman Software Engineering: A Practitioner’s Approach by Roger S. Pressman

2 Analysis Model Elements of the analysis model

3 Scenario-Based Modeling (基于场景的建模) http://staruml.sourceforge.net/ docs/user-guide(en)/toc.html http://staruml.sourceforge.net/ docs/user-guide(en)/toc.html Scenario-Based Modeling (基于场景的建模) http://staruml.sourceforge.net/ docs/user-guide(en)/toc.html http://staruml.sourceforge.net/ docs/user-guide(en)/toc.html

4 Use-case Diagram Use-case diagram for surveillance (监视) function

5 Alternative Actions Can the actor take some other action at this point? Is it possible that the actor will encounter some error condition at this point? Is it possible that the actor will encounter behavior invoked by some event outside the actor’s control? Can the actor take some other action at this point? Is it possible that the actor will encounter some error condition at this point? Is it possible that the actor will encounter behavior invoked by some event outside the actor’s control?

6 Activity diagram for Access camera surveillance— display camera views function

7 Swimlane diagram

8 Flow-Oriented Modeling (面向流的建模)

9 Guidelines Depict (描绘) the system as single bubble in level 0. Carefully note primary (主要的) input and output. Refine by isolating candidate (候选的) processes and their associated data objects and data stores. Label all elements with meaningful (有意义的) names. Maintain information conformity (一致性) between levels. Refine one bubble at a time. Depict (描绘) the system as single bubble in level 0. Carefully note primary (主要的) input and output. Refine by isolating candidate (候选的) processes and their associated data objects and data stores. Label all elements with meaningful (有意义的) names. Maintain information conformity (一致性) between levels. Refine one bubble at a time.

10 Data Flow Diagram Context-level DFD for SafeHome security function

11 Grammatical Parse The SafeHome security function enables the homeowner to configure the security system when it is installed, monitors all sensors connected to the security system, and interacts with the homeowner through the Internet, a PC, or a control panel. During installation, the SafeHome PC is used to program and configure the system. Each sensor is assigned a number and type, a master password is programmed for arming and disarming the system, and telephone number(s) are input for dialing when a sensor event occurs. When a sensor event is recognized, the software invokes an audible alarm attached to the system. After a delay time that is specified by the homeowner during system configuration activities, the software dials a telephone number of a monitoring service, provides information about the location, reporting the nature of the event that has been detected. The telephone number will be redialed every 20 seconds until a telephone connection is obtained. The homeowner receives security information via a control panel, the PC, or a browser, collectively called an interface. The interface displays prompting messages and system status information on the control panel, the PC, or the browser window. Homeowner interaction takes the following form … The SafeHome security function enables the homeowner to configure the security system when it is installed, monitors all sensors connected to the security system, and interacts with the homeowner through the Internet, a PC, or a control panel. During installation, the SafeHome PC is used to program and configure the system. Each sensor is assigned a number and type, a master password is programmed for arming and disarming the system, and telephone number(s) are input for dialing when a sensor event occurs. When a sensor event is recognized, the software invokes an audible alarm attached to the system. After a delay time that is specified by the homeowner during system configuration activities, the software dials a telephone number of a monitoring service, provides information about the location, reporting the nature of the event that has been detected. The telephone number will be redialed every 20 seconds until a telephone connection is obtained. The homeowner receives security information via a control panel, the PC, or a browser, collectively called an interface. The interface displays prompting messages and system status information on the control panel, the PC, or the browser window. Homeowner interaction takes the following form …

12

13 Level 2 DFD that refines the monitor sensors process

14 Control Flow Diagram State diagram for SafeHome security function

15 Class-Based Modeling (基于类的建模)

16 Identifying Analysis Classes External entities that produce or consume information Things that are part of the information domain Occurrences or events Roles played by people who interact with the system Organizational units Places that establish context Structures that define a class of objects External entities that produce or consume information Things that are part of the information domain Occurrences or events Roles played by people who interact with the system Organizational units Places that establish context Structures that define a class of objects

17 Class Selection Criteria 1.Retained (保留) information 2.Needed services (必须的服务) 3.Multiple attributes (多个属性) 4.Common attributes (公共属性) 5.Common operations (公共操作) 6.Essential requirements (必须的需求) 1.Retained (保留) information 2.Needed services (必须的服务) 3.Multiple attributes (多个属性) 4.Common attributes (公共属性) 5.Common operations (公共操作) 6.Essential requirements (必须的需求)

18 Identifying Classes Potential classClassificationAccept / Reject homeownerrole; external entityreject: 1, 2 fail sensorexternal entityaccept control panelexternal entityaccept installationoccurrencereject (security) systemthingaccept number, typenot objects, attributesreject: 3 fails master passwordthingreject: 3 fails telephone numberthingreject: 3 fails sensor eventoccurrenceaccept audible alarmexternal entityaccept: 1 fails monitoring serviceorganizational unit; eereject: 1, 2 fail

19 Class Diagram Class diagram for the system class

20 Class Diagram Class diagram for FloorPlan

21 CRC Modeling A CRC model index card for FloorPlan class

22 Class Responsibilities Distribute system intelligence across classes. (分散) State each responsibility as generally as possible. (普遍性) Put information and the behavior related to it in the same class. (封装) Localize information about one thing rather than distributing it across multiple classes. (内敛) Share responsibilities among related classes, when appropriate. (关联) Distribute system intelligence across classes. (分散) State each responsibility as generally as possible. (普遍性) Put information and the behavior related to it in the same class. (封装) Localize information about one thing rather than distributing it across multiple classes. (内敛) Share responsibilities among related classes, when appropriate. (关联)

23 Class Collaborations Relationships between classes: is-part-of (部分关系) — used when classes are part of an aggregate class. has-knowledge-of (知识关系) — used when one class must acquire information from another class. depends-on (依赖关系) — used in all other cases. Relationships between classes: is-part-of (部分关系) — used when classes are part of an aggregate class. has-knowledge-of (知识关系) — used when one class must acquire information from another class. depends-on (依赖关系) — used in all other cases.

24 Class Diagrams Top: Multiplicity Bottom: Dependencies

25 Behavioral Modeling (行为模型)

26 Identifying Events A use-case is examined for points of information exchange. The homeowner uses the keypad to key in a four-digit password. The password is compared with the valid password stored in the system. If the password in incorrect, the control panel will beep once and reset itself for additional input. If the password is correct, the control panel awaits further action. A use-case is examined for points of information exchange. The homeowner uses the keypad to key in a four-digit password. The password is compared with the valid password stored in the system. If the password in incorrect, the control panel will beep once and reset itself for additional input. If the password is correct, the control panel awaits further action.

27 State Diagram State diagram for the ControlPanel class

28 Sequence Diagram Sequence diagram (partial) for the SafeHome security function


Download ppt "Chapter 8 Analysis Engineering (分析工程) Software Engineering: A Practitioner’s Approach by Roger S. Pressman Software Engineering: A Practitioner’s Approach."

Similar presentations


Ads by Google