/
CSC407 Tutorial Week 101Week 10: Morphing Robustness Diagrams into Seq CSC407 Tutorial Week 101Week 10: Morphing Robustness Diagrams into Seq

CSC407 Tutorial Week 101Week 10: Morphing Robustness Diagrams into Seq - PDF document

giovanna-bartolotta
giovanna-bartolotta . @giovanna-bartolotta
Follow
381 views
Uploaded On 2015-10-13

CSC407 Tutorial Week 101Week 10: Morphing Robustness Diagrams into Seq - PPT Presentation

CSC407 Tutorial Week 102Sequence DiagramsWe allocate methods to classes as we draw sequence diagrams CSC407 Tutorial Week 103Before we do sequence diagrams thoughbWe need to have a good idea ab ID: 159660

CSC407 Tutorial Week 102Sequence

Share:

Link:

Embed:

Download Presentation from below link

Download Pdf The PPT/PDF document "CSC407 Tutorial Week 101Week 10: Morphin..." is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.


Presentation Transcript

CSC407 Tutorial Week 101Week 10: Morphing Robustness Diagrams into Sequence DiagramsAdapted from ``UML for e-Commerce'' by Doug Rosenberghttp://www.iconixsw.com/uml_for_e-commerce.ppt CSC407 Tutorial Week 102Sequence DiagramsWe allocate methods to classes as we draw sequence diagrams. CSC407 Tutorial Week 103Before we do sequence diagrams, though...bWe need to have a good idea about what objects will be performing in which use case, and what functions the system will perform as a result of user actions.bWe get this information from robustness diagrams, the result of robustness analysis. CSC407 Tutorial Week 104Robustness Diagrams -- the missing link!We discover new objects, and add attributes to classes, as we draw robustness diagrams. CSC407 Tutorial Week 105But we can’t draw robustness diagrams before...b We describe system usage in the context of the object model.b This means that we don’t write abstract, vague use cases that we can’t design from.b Instead, we need to write use case text that references the names of objects in the problem domain.b We also reference the names of "boundary objects" in the use case text. CSC407 Tutorial Week 106First, though...bWe need to identify the main abstractions that are present in the problem domain.bIn other words, we need a domain model.bWe show our domain model on class diagrams. CSC407 Tutorial Week 107Refining our class diagramsbWe'll refine our (static) analysis level class diagrams (our domain model) continuously as we explore the dynamic behavior of the system in more and more detail during analysis and design.bThis will ultimately result in our design-level class diagrams, which we can code from. CSC407 Tutorial Week 108The ICONIX Process CSC407 Tutorial Week 109The Internet Bookstore ExamplebDomain ModelbUse Case Modelb2 use cases: Login, Edit Shopping CartbRobustness and Sequence Diagrams for each use casebShow common errors (Wrong way / Right way) CSC407 Tutorial Week 1010RequirementsbThe bookstore shall accept orders over the Internet.bThe bookstore shall maintain a list of accounts for up to 1,000,000 customers.bThe bookstore shall provide password protection for all accounts.bThe bookstore shall provide the ability to search the master book catalog.bThe bookstore shall provide a number of search methods on that catalog, including search by author, search by title, search by ISBN number, and search by keyword.bThe bookstore shall provide a secure means of allowing customers to pay by credit card.bThe bookstore shall provide a secure means of allowing customers to pay via purchase order.bThe bookstore shall provide a special kind of account that is preauthorized to pay via purchase order.bThe bookstore shall provide electronic links between the Web and database and the shipping fulfillment system.bThe bookstore shall provide electronic links between the Web and database and the inventory management system.bThe bookstore shall maintain reviews of books, and allow anyone to upload review comments.bThe bookstore shall maintain ratings on books, based on customer inputs. CSC407 Tutorial Week 1011Domain Model CSC407 Tutorial Week 1012Use Case Model CSC407 Tutorial Week 1013Login: use case textbBasic Course: The Customer enters his or her user ID and password, and then clicks the Log In button. The system validates the login information against the persistent Account data, and then returns the Customer to the Home Page.bBasic Course: The Customer enters his or her user ID and password, and then clicks the Log In button…. CSC407 Tutorial Week 1014Login: robustness diagram CSC407 Tutorial Week 1015Login: bad sequence diagram CSC407 Tutorial Week 1016Login: good sequence diagram CSC407 Tutorial Week 1017Edit Shopping Cart use case textbBasic Course: On the Shopping Cart Page, the Customer modifies the quantity of an Item in the Shopping Cart, and then presses the Update button. The system stores the new quantity, and then computes and displays the new cost for that Item….bAlternate Course: If the Customer changes the quantity of the Item to 0, the system deletes that Item from the Shopping Cart. CSC407 Tutorial Week 1018Robustness diagrams bridge the “what/how” gapbMost current UML texts do not address crossing this what/how gap. CSC407 Tutorial Week 1019Edit shopping cart robustness diagram CSC407 Tutorial Week 1020Starting a sequence diagram CSC407 Tutorial Week 1021Edit shopping cart sequence diagram CSC407 Tutorial Week 1022Use the Sequence Diagram to Allocate BehaviorbWhich class does an operation belong in?Halbert and O’Brien criteria:bReusability: does it make this class more general?bApplicability: does it fit? Is it relevant?bComplexity: is it easier to build it here or elsewhere?bImplementation knowledge: does it rely on internal details? CSC407 Tutorial Week 1023Update your static model, again