DOC PREVIEW
Toronto CSC 302 - Lecture 13 - From Requirements to Design

This preview shows page 1-2-3 out of 10 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 10 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 10 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 10 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 10 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 13:From Requirements to DesignIdentifying ActorsBuilding a Domain ModelGoal modelingObstacle AnalysisScopingUse 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. 2What do Requirements Analysts do?Starting pointSome notion that there is a “problem” that needs solvinge.g. dissatisfaction with the current systeme.g. a new business opportunitye.g. a potential saving of cost, time, resource usage, etc.A Requirements Analyst is an agent of changeThe requirements analyst must:identify the “problem” / “opportunity”Which problem needs to be solved? (identify problem Boundaries)Where is the problem? (understand the Context/Problem Domain)Whose problem is it? (identify Stakeholders)Why does it need solving? (identify the stakeholders’ Goals)When does it need solving? (identify Development Constraints)What might prevent us solving it? (identify Feasibility and Risk)How might a software system help? (collect some Scenarios / Use Cases)2University of TorontoDepartment of Computer Science© 2008 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 3D - domain propertiesR - requirementsC - computersP - programsRefesherDomain Properties (assumptions):things in the application domain that are true whether or not we ever build the proposedsystem(System) Requirements:things in the application domain that we wish to be made true by delivering the proposedsystemMany of which will involve phenomena the machine has no access toA (Software) Specification: is a description of the behaviours that the program must have in order to meet therequirementsCan only be written in terms of shared phenomena!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. 4Starting PointGiven:a vague request for a new feature from users of your software1. Identify the problemwhat is the goal of the project?the “vision” of those who are pushing for it?2. Scope the problemGiven the vision, how much do we tackle?What new functionality will be needed?3. Identify solution scenariosGiven the problem, how will users interact with the software to solve it?4. Map onto the ArchitectureHow will the needed functionality be met?What new modules / classes will be needed?stakeholder goal modeling& domain modelsuse casesrobustness analysis3University of TorontoDepartment of Computer Science© 2008 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 5Identifying ActorsAsk the following questions:Who will be a primary user of the system? (primary actor)Who will need support from the system to do her daily tasks?Who or what has an interest in the results that the system produces ?Who will maintain, administrate, keep the system working? (secondary actor)Which hardware devices does the system need?With which other systems does the system need to interact with?Look for:the users who directly use the systemalso others who need services from the 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. 6Key distinctionsidentify completewordsuggest wordsfrom dictionarypop up a menuhighlightmisspellingsThe user types text asusual. When the usercompletes each word, thesystem looks it up in thedictionary. If it is not inthe dictionary, the word isunderlined in red. Theuser can click on anyunderlined word, to see apopup menu of suggestedalternatives. Clicking anyof these alternativescauses it to replace theoriginal word.reduce the number of spelling mistakeswordspacedictionarysuggestionreplacementspelling selectionA requirement (goal) FunctionsA Use CaseDomain Concepts4University of TorontoDepartment of Computer Science© 2008 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 7Domain ModelDocumentDictionaryWordmisspelling1..*Alphabeticcharactercorrect spellingSuggestion list1..*1..*11HasNon-Alphabeticcharacterends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. 8Exploring Goalshave an automated spelling checkerreduce the number of spelling mistakessave time lookingup words inmy dictionaryhelp me learnto spell better+++++have custom dictionariesspot errorsas I writeallow me toignore misspellingssuggest correctspellingsand5University of TorontoDepartment of Computer Science© 2008 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 9Obstacle Analysishave an automated spelling checkersave time lookingup words inmy dictionary++Assumes: spell checker’s dictionaryis comparable with printed dictionaryfor completenessAssumes: auto-lookup & correction isquicker than manual lookupAssumes: user notices thehighlighted misspellingsAssumes: other information in dictionary(definitions, usage) is irrelevant fordeciding on correct spellingAssumes: user is willingto guess at a spellingAssumes: intended word is always(?) on the list of suggestionsUniversity of TorontoDepartment of Computer Science© 2008 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 10Additional Requirements“Functional Requirements”(?) User can see definitions for suggested spellingsability to add custom dictionariesability to add new words to a custom dictionaryability to declare certain words to be ignored for spell checking for the currentdocument“Quality Requirements”Dictionary should be as comprehensive as printed dictionariesChecking and suggesting should be fastHighlighted misspellings must be clearly visible6University of TorontoDepartment of Computer Science© 2008 Steve Easterbrook. This presentation is available free for non-commercial use


View Full Document

Toronto CSC 302 - Lecture 13 - From Requirements to Design

Documents in this Course
Load more
Download Lecture 13 - From Requirements to 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 13 - From Requirements to 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 13 - From Requirements to 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?