DOC PREVIEW
Toronto CSC 302 - Lecture 8 - “Use Case”-Driven Design

This preview shows page 1-2 out of 5 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 5 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 5 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 5 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

1University of TorontoDepartment of Computer Science© 2008 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 1Lecture 8:“Use Case”-Driven Design The Role of UML in the Software Process E.g. ICONIX Domain Models Use CasesUniversity of TorontoDepartment of Computer Science© 2008 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 2Where UML fits inAnalysing RequirementsUse cases - functionality from users’ perspectiveClass diagrams - key domain concepts & terminologyActivity diagrams - workflow of the organisationState diagrams - for domain objects with interesting lifecyclesDesignClass diagrams - Map of the software structureSequence diagrams - explain common scenariosPackage diagrams - show the overall architectureState diagrams - for object with complex lifecyclesDeployment diagrams - physical layout of the softwareDocumentationAny sketches that explain key design decisionsE.g. patterns used, conceptual architecture, unused design alternatives (!)Understanding Legacy CodeAny sketches that drill down into key parts2University of TorontoDepartment of Computer Science© 2008 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 3Refresher: UML NotationsActivity diagramsbusiness processes;concurrency andsynchronization;dependenciesbetween tasks;UML Sequence Diagramsindividual scenariointeractions betweenusers and systemSequence ofmessages(UML) Statechartsresponses to eventsdynamic behaviorevent ordering,reachability,deadlock, etcUML Package DiagramsOverall architectureDependenciesbetween componentsUse Casesuser’s viewLists functionsvisual overview of themain requirementsUML Class Diagramsinformation structurerelationships betweendata itemsmodular structure forthe systemUniversity of TorontoDepartment of Computer Science© 2008 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 4ICONIX process3University of TorontoDepartment of Computer Science© 2008 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 5Domain ModelUniversity of TorontoDepartment of Computer Science© 2008 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 6AnalyseRisksUpdate AccountsSetLimitsPrice aDealCapture aDealTraderUse Case DiagramTradingmanagerAccountingSystemSalespersonValue a Deal<<includes>><<includes>>4University of TorontoDepartment of Computer Science© 2008 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 7Documenting Use CasesFor each use case:prepare a “flow of events” document, written from an actor’s point of view.describe what the system must provide to the actor when the use case isexecuted.Typical contentsHow the use case starts and ends;Normal flow of events;Alternate flow of events;Exceptional flow of events;Documentation style:Choice of how to elaborate the use case:English language descriptionActivity Diagrams - good for business processCollaboration Diagrams - good for high level designSequence Diagrams - good for detailed designUniversity of TorontoDepartment of Computer Science© 2008 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 8Detailed Use CaseBuy a ProductMain Success Scenario:1. Customer browses catalog and selects items to buy2. Customer goes to check out3. Customer fills in shipping information (address, next-day or 3-day delivery)4. System presents full pricing information5. Customer fills in credit card information6. System authorizes purchase7. System confirms sale immediately8. System sends confirming email to customerExtensions:3a: Customer is Regular Customer.1 System displays current shipping, pricing and billing information.2 Customer may accept or override these defaults, returns to MSS at step 66a: System fails to authorize credit card.1 Customer may reenter credit card information or may cancel5University of TorontoDepartment of Computer Science© 2008 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 9Finding Use CasesBrowse through existing documentsnoun phrases may be domain classesverb phrases may be operations and associationspossessive phrases may indicate attributesFor each actor, ask the following questions:Which functions does the actor require from the system?What does the actor need to do ?Does the actor need to read, create, destroy, modify, or store some kinds ofinformation in the system ?Does the actor have to be notified about events in the system?Does the actor need to notify the system about something?What do those events require in terms of system functionality?Could the actor’s daily work be simplified or made more efficient through newfunctions provided by the system?University of TorontoDepartment of Computer Science© 2008 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 10Good Advice (from RUP)Adapt the ProcessRightsize your processContinuously reevaluate what you doBalance Stakeholder PrioritiesUnderstand the problem domainDescribe requirements from the user’sperspectivePrioritize requirements forimplementationLeverage legacy systemsCollaborate across TeamsBuild high-performance teamsOrganise around the architectureManage versionsDemonstrate Value IterativelyManage riskDo the project in iterationsEmbrace and manage changeMeasure progress objectivelyElevate the level of abstractionUse patternsArchitect with components and servicesActively promote reuseModel key perspectivesFocus continuously on qualityTest your Own CodeUse test automation where appropriateEveryone owns the


View Full Document

Toronto CSC 302 - Lecture 8 - “Use Case”-Driven Design

Documents in this Course
Load more
Download Lecture 8 - “Use Case”-Driven Design
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Lecture 8 - “Use Case”-Driven Design and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Lecture 8 - “Use Case”-Driven Design 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?