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:

1!University of Toronto Department of Computer Science © 2012 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 1 Lecture 13:!From Requirements to Design"Identifying Actors"Building a Domain Model"Goal modeling"Obstacle Analysis"Scoping"Use Cases"University of Toronto Department of Computer Science © 2012 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 2 Starting Point"Given:"a vague request for a new feature from users of your software"1. Identify the problem"What is the goal of the project?"What is the “vision” of those who are pushing for it?"2. Scope the problem"Given the vision, how much do we tackle?"What new functionality will be needed?"3. Identify solution scenarios"Given the problem, how will users interact with the software to solve it?"4. Map onto the Architecture"How will the needed functionality be met?"What new modules / classes will be needed?"stakeholder goal modeling & domain models use cases robustness analysis2!University of Toronto Department of Computer Science © 2012 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 3 What do Requirements Analysts do?"Given a “problem”…"Some notion that a “problem” needs solving"e.g. dissatisfaction with the current system"e.g. a new business opportunity"e.g. a potential saving of cost, time, resource usage, etc."A Requirements Analyst is an agent of change"… the 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)""University of Toronto Department of Computer Science © 2012 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 4 D - domain properties R - requirements C - computers P - programs Refesher"Domain Properties (assumptions):"things in the application domain that are true whether or not we ever build the proposed system"(System) Requirements:"things in the application domain that we wish to be made true by delivering the proposed system"Many of which will involve phenomena the machine has no access to"A (Software) Specification:" is a description of the behaviours that the program must have in order to meet the requirements"Can only be written in terms of shared phenomena!"3!University of Toronto Department of Computer Science © 2012 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 5 Identifying Actors"Ask 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 system"also others who need services from the system"University of Toronto Department of Computer Science © 2012 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 6 Key distinctions"identify complete word suggest words from dictionary pop up a menu highlight misspellings The user types text as usual. When the user completes each word, the system looks it up in the dictionary. If it is not in the dictionary, the word is underlined in red. The user can click on any underlined word, to see a popup menu of suggested alternatives. Clicking any of these alternatives causes it to replace the original word. reduce the number of spelling mistakes word space dictionary suggestion replacement spelling selection A requirement (goal)" Functions"A Use Case"Domain Concepts"4!University of Toronto Department of Computer Science © 2012 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 7 Domain Model"Document!Dictionary!Word!misspelling!1..*!Alphabetic!character!correct spelling!Suggestion list!1..*!1..*!1!1!Has!!Non-Alphabetic!character!ends!!1!University of Toronto Department of Computer Science © 2012 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 8 Exploring Goals"have an !automated !spelling checker!reduce the !number of !spelling mistakes!save time looking!up words in!my dictionary!help me learn!to spell better!+!++!++!have custom !dictionaries!spot errors!as I write!allow me to!ignore misspellings!suggest correct!spellings!and!5!University of Toronto Department of Computer Science © 2012 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 9 Obstacle Analysis"have an !automated !spelling checker!save time looking!up words in!my dictionary!++!Assumes: spell checkerʼs dictionary is comparable with printed dictionary for completeness!Assumes: auto-lookup & correction is quicker than manual lookup!Assumes: user notices the highlighted misspellings!Assumes: other information in dictionary (definitions, usage) is irrelevant for deciding on correct spelling!Assumes: user is willing!to guess at a spelling!Assumes: intended word is always (?) on the list of suggestions !University of Toronto Department of Computer Science © 2012 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 10 Some Requirements emerge…"“Functional Requirements”"(?) User can see definitions for suggested spellings"User shall be able to add custom dictionaries"User shall be able to add new words to a custom dictionary"User shall be able to declare certain words be ignored for spell checking for the current document"“Quality


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?