SlideShare a Scribd company logo
Chapter 8 Analysis Engineering Software Engineering: A Practitioner’s Approach by Roger S. Pressman
Analysis Model Elements of the analysis model
Scenario-Based Modeling
Use-case Diagram Use-case diagram for surveillance function
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?
Activity diagram  for Access camera surveillance—display camera views function
Swimlane diagram
Flow-Oriented Modeling
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.
Data Flow Diagram Context-level DFD for  SafeHome  security function
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…
 
Level 2 DFD that refines the monitor sensors process
Control Flow Diagram State diagram for  SafeHome  security function
Class-Based Modeling
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
Class Selection Criteria Retained information Needed services Multiple attributes Common attributes Common operations Essential requirements
Identifying Classes reject: 1, 2 fail organizational unit; ee monitoring service accept: 1 fails external entity audible alarm accept occurrence sensor event reject: 3 fails thing telephone number reject: 3 fails thing master password reject: 3 fails not objects, attributes number, type accept thing (security) system reject occurrence installation accept external entity control panel accept external entity sensor reject: 1, 2 fail role; external entity homeowner Accept / Reject Classification Potential class
Class Diagram Class diagram for the system class
Class Diagram Class diagram for FloorPlan
CRC Modeling A CRC model index card for FloorPlan class
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.
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.
Class Diagrams Top: Multiplicity Bottom: Dependencies
Behavioral Modeling
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.
State Diagram State diagram for the ControlPanel class
Sequence Diagram Sequence diagram (partial) for the  SafeHome  security function

More Related Content

Slides chapter 8

  • 1. Chapter 8 Analysis Engineering Software Engineering: A Practitioner’s Approach by Roger S. Pressman
  • 2. Analysis Model Elements of the analysis model
  • 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?
  • 6. Activity diagram for Access camera surveillance—display camera views function
  • 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.
  • 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…
  • 12.  
  • 13. Level 2 DFD that refines the monitor sensors process
  • 14. Control Flow Diagram State diagram for SafeHome security function
  • 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
  • 17. Class Selection Criteria Retained information Needed services Multiple attributes Common attributes Common operations Essential requirements
  • 18. Identifying Classes reject: 1, 2 fail organizational unit; ee monitoring service accept: 1 fails external entity audible alarm accept occurrence sensor event reject: 3 fails thing telephone number reject: 3 fails thing master password reject: 3 fails not objects, attributes number, type accept thing (security) system reject occurrence installation accept external entity control panel accept external entity sensor reject: 1, 2 fail role; external entity homeowner Accept / Reject Classification Potential class
  • 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.
  • 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.
  • 24. Class Diagrams Top: Multiplicity Bottom: Dependencies
  • 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.
  • 27. State Diagram State diagram for the ControlPanel class
  • 28. Sequence Diagram Sequence diagram (partial) for the SafeHome security function