Object Oriented Software Modeling and Design  CE 350 Abdel-Karim Al-Tamimi, Ph.D. [email_address] http://faculty.yu.edu.jo...
Overview <ul><li>Dynamic Analysis Technique </li></ul>Al-Tamimi 2011 ©
Dynamic Analysis Technique <ul><li>Three steps for developing sequence diagram: </li></ul><ul><ul><li>Modeling External Sy...
Modeling External System Behavior <ul><li>As the flow of events in the use-case description only records the external beha...
Modeling Communications Among Subsystems <ul><li>Modeling and analyzing complex systems often involve many objects even fo...
Modeling Communications Among Subsystems Al-Tamimi 2011 ©
Modeling Communications Among Subsystems Al-Tamimi 2011 ©
Developing Reusable Model/View/Control (MVC) Software Framework <ul><li>At this point you will have developed the system-l...
The Dynamic Modeling and Analysis Process <ul><li>Developing use case scenarios </li></ul><ul><li>Developing system-level ...
The Dynamic Modeling and Analysis Process Al-Tamimi 2011 ©
The Dynamic Modeling and Analysis Process Al-Tamimi 2011 ©
The Dynamic Modeling and Analysis Process Al-Tamimi 2011 ©
Developing Use Case Scenarios Example: ATM System <ul><li>Flow of Events  </li></ul><ul><ul><li>User inserts card </li></u...
Developing System Level Sequence Diagram Al-Tamimi 2011 © Flow of Events Actor Input System Response User inserts card Sys...
Developing System Level Sequence Diagram Al-Tamimi 2011 ©
Developing Subsystem Level Sequence Diagram Al-Tamimi 2011 ©
Developing Subsystem Level State Diagram  <ul><li>With the subsystem-level sequence diagram created in Step 2, we can deve...
Developing Subsystem Level State Diagram (Screen Object) Al-Tamimi 2011 ©
Developing 3-Tier Sequence Diagram <ul><li>Identify Boundary, Control and Entity Objects  </li></ul><ul><ul><li>Message to...
Developing Subsystem Level State Diagram Al-Tamimi 2011 ©
Developing Subsystem Level State Diagram Al-Tamimi 2011 ©
Developing Subsystem Level State Diagram Al-Tamimi 2011 ©
Developing Subsystem Level State Diagram Al-Tamimi 2011 ©
Al-Tamimi 2011 ©
Tips and Tricks Al-Tamimi 2011 ©
View Alignment between Sequence Diagram and State Diagram Al-Tamimi 2011 ©
Refining Class Diagram Using MVC-Level Scenario Analysis <ul><li>Creating Cohesive and Self-sufficient Subsystems </li></u...
Al-Tamimi 2011 ©
Resources <ul><li>Chapter 4, Object-Oriented Technology: From diagram to code with Visual Paradigm for UML, and its slides...
Upcoming SlideShare
Loading in …5
×

Lecture09

1,609 views
1,512 views

Published on

Dynamic Analysis Tech.

Published in: Education
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,609
On SlideShare
0
From Embeds
0
Number of Embeds
30
Actions
Shares
0
Downloads
103
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Lecture09

  1. 1. Object Oriented Software Modeling and Design CE 350 Abdel-Karim Al-Tamimi, Ph.D. [email_address] http://faculty.yu.edu.jo/altamimi Al-Tamimi 2011 ©
  2. 2. Overview <ul><li>Dynamic Analysis Technique </li></ul>Al-Tamimi 2011 ©
  3. 3. Dynamic Analysis Technique <ul><li>Three steps for developing sequence diagram: </li></ul><ul><ul><li>Modeling External System Behaviors </li></ul></ul><ul><ul><li>Modeling Communication among the Subsystems </li></ul></ul><ul><ul><li>Developing Reusable Model/View/Control (MVC) Software Framework </li></ul></ul>Al-Tamimi 2011 ©
  4. 4. Modeling External System Behavior <ul><li>As the flow of events in the use-case description only records the external behaviors of the system, identifies the user inputs and system responses from the flow of events of a scenario, it is a straightforward process to map the scenario to a system-level sequence diagram </li></ul><ul><li>In fact, this mapping process can be automated by a UML CASE tool </li></ul>Al-Tamimi 2011 ©
  5. 5. Modeling Communications Among Subsystems <ul><li>Modeling and analyzing complex systems often involve many objects even for the realization of a single use case </li></ul><ul><li>To develop a detailed sequence diagram based on the system-level sequence diagram with sufficient information for implementation in one go generally requires a lot of effort </li></ul><ul><li>In order to manage the complexity associated with large and complex systems, it is advantageous to package objects into several subsystems </li></ul><ul><li>For example, an ATM system may be organized as a number of subsystems like the ATM, the bank consortium and the bank. Such an organization also reflects how the real-world hardware and software systems are configured, since the ATMs are connected to the bank consortium’s system which is in turn connected to the systems of individual banks </li></ul>Al-Tamimi 2011 ©
  6. 6. Modeling Communications Among Subsystems Al-Tamimi 2011 ©
  7. 7. Modeling Communications Among Subsystems Al-Tamimi 2011 ©
  8. 8. Developing Reusable Model/View/Control (MVC) Software Framework <ul><li>At this point you will have developed the system-level sequence diagram and may have also developed a subsystem-level sequence diagram </li></ul><ul><li>We should then develop a detailed sequence diagram in three tiers, involving three types of objects: boundary, control and entity objects </li></ul>Al-Tamimi 2011 ©
  9. 9. The Dynamic Modeling and Analysis Process <ul><li>Developing use case scenarios </li></ul><ul><li>Developing system-level sequence diagrams </li></ul><ul><li>Developing subsystem-level sequence diagrams (optional for simple system) </li></ul><ul><li>Developing subsystem-level state chart diagrams (optional for simple system) </li></ul><ul><li>Developing three-tier sequence diagrams </li></ul><ul><li>Developing three-tier collaboration diagrams (optional) </li></ul><ul><li>Developing a state chart diagram for each of these active (control) objects </li></ul>Al-Tamimi 2011 ©
  10. 10. The Dynamic Modeling and Analysis Process Al-Tamimi 2011 ©
  11. 11. The Dynamic Modeling and Analysis Process Al-Tamimi 2011 ©
  12. 12. The Dynamic Modeling and Analysis Process Al-Tamimi 2011 ©
  13. 13. Developing Use Case Scenarios Example: ATM System <ul><li>Flow of Events </li></ul><ul><ul><li>User inserts card </li></ul></ul><ul><ul><li>System prompts user to enter PIN </li></ul></ul><ul><ul><li>User enters PIN </li></ul></ul><ul><ul><li>System prompts user to select services </li></ul></ul><ul><ul><li>User selects service - withdraw money </li></ul></ul><ul><ul><li>System prompts user to enter withdrawal amount </li></ul></ul><ul><ul><li>User enters withdrawal amount </li></ul></ul><ul><ul><li>System displays “withdrawal successful” message, ejects card and dispenses money </li></ul></ul><ul><ul><li>User collects card and money </li></ul></ul>Al-Tamimi 2011 ©
  14. 14. Developing System Level Sequence Diagram Al-Tamimi 2011 © Flow of Events Actor Input System Response User inserts card System prompts user to enter PIN User enters PIN System prompts user to select services User selects “withdraw money” service System prompts user to enter the amount User enters the withdrawal amount System displays “withdrawal successful” message, ejects card and dispenses money User collects the card and money
  15. 15. Developing System Level Sequence Diagram Al-Tamimi 2011 ©
  16. 16. Developing Subsystem Level Sequence Diagram Al-Tamimi 2011 ©
  17. 17. Developing Subsystem Level State Diagram <ul><li>With the subsystem-level sequence diagram created in Step 2, we can develop the subsystem-level state diagram for the scenario </li></ul><ul><li>Let us again use the ATM as an example. When the ATM is idle, it shows a main screen, for example, the welcome screen . If the user inserts a valid ATM card, it will display a “wait for input PIN” screen </li></ul>Al-Tamimi 2011 ©
  18. 18. Developing Subsystem Level State Diagram (Screen Object) Al-Tamimi 2011 ©
  19. 19. Developing 3-Tier Sequence Diagram <ul><li>Identify Boundary, Control and Entity Objects </li></ul><ul><ul><li>Message to and from the actor => boundary objects </li></ul></ul><ul><ul><ul><li>e.g. insert card => card reader </li></ul></ul></ul><ul><ul><li>Information retrieval/ update => entity object </li></ul></ul><ul><ul><ul><li>e.g. verify card => account </li></ul></ul></ul><ul><ul><li>Management of transactions => control objects </li></ul></ul><ul><ul><ul><li>e.g. ATM controller </li></ul></ul></ul>Al-Tamimi 2011 ©
  20. 20. Developing Subsystem Level State Diagram Al-Tamimi 2011 ©
  21. 21. Developing Subsystem Level State Diagram Al-Tamimi 2011 ©
  22. 22. Developing Subsystem Level State Diagram Al-Tamimi 2011 ©
  23. 23. Developing Subsystem Level State Diagram Al-Tamimi 2011 ©
  24. 24. Al-Tamimi 2011 ©
  25. 25. Tips and Tricks Al-Tamimi 2011 ©
  26. 26. View Alignment between Sequence Diagram and State Diagram Al-Tamimi 2011 ©
  27. 27. Refining Class Diagram Using MVC-Level Scenario Analysis <ul><li>Creating Cohesive and Self-sufficient Subsystems </li></ul><ul><ul><li>Subsystems may be considered as the next level of abstraction down from the entire system </li></ul></ul><ul><ul><li>Ideally, a subsystem should be a cohesive and independent part of the complex system, so as to bring out the benefits of portability, reusability and maintainability </li></ul></ul><ul><ul><li>A cohesive and independent subsystem is loosely coupled with other subsystems, and data coupling is the most loosely-coupled communication method between entities </li></ul></ul>Al-Tamimi 2011 ©
  28. 28. Al-Tamimi 2011 ©
  29. 29. Resources <ul><li>Chapter 4, Object-Oriented Technology: From diagram to code with Visual Paradigm for UML, and its slides </li></ul>Al-Tamimi 2011 ©

×