Unformatted text preview:

Department of Computer Science Lecture 2 What are Requirements Separate the problem from the solution Most obvious problem might not the right one to solve Problem statement can be discussed with stakeholders Problem statement can be used to evaluate design choices Problem statement is a source of good test cases Separate the problem from the solution Problems and solutions intertwine with one another Describing problems Application Domains vs Machine Domains Verification vs Validation Problem Situation Systems Engineering Systems vs software Still need to check Solution correctly solves the stated problem Problem statement corresponds to the needs of the stakeholders Problem Statement Validation Two basic principles of requirements engineering A separate problem description is useful Verification Correctness Department of Computer Science University of Toronto Correspondence University of Toronto Implementation Statement System 2004 5 Steve Easterbrook This presentation is available free for non commercial use with attribution under a creative commons license 1 Department of Computer Science University of Toronto But design changes the world 2004 5 Steve Easterbrook This presentation is available free for non commercial use with attribution under a creative commons license 2 Department of Computer Science University of Toronto Intertwining of problems and solutions Independent Problem Situation Implementation Dependence Dependent General Path of expl change System oration Level of Detail abstract model of world implementation statement problem statement 2004 5 Steve Easterbrook This presentation is available free for non commercial use with attribution under a creative commons license Detailed 3 Problem Statement Implementation Statement 2004 5 Steve Easterbrook This presentation is available free for non commercial use with attribution under a creative commons license 4 1 University of Toronto Department of Computer Science Some observations about RE Department of Computer Science University of Toronto A problem to describe RE is not necessarily a sequential process E g prevent unauthorized access to CSG machines Don t have to write the problem statement before the solution statement Re writing a problem statement can be useful at any stage of development RE activities continue throughout the development process students The problem statement will be imperfect RE models are approximations of the world sysadmins will contain inaccuracies and inconsistencies will omit some information analysis should reduce the risk that these will cause serious problems password allocation process Perfecting a specification may not be cost effective Requirements analysis has a cost For different projects the cost benefit balance will be different University of Toronto typing at keyboard things the machine cannot observe 5 cache contents secure sockets R requirements 6 Fitness for purpose Machine Domain Two correctness verification criteria The Program running on a particular Computer satisfies the Specification The Specification in the context of the given domain properties satisfies the requirements C computers P programs Two completeness validation criteria We discovered all the important requirements We discovered all the relevant domain properties Domain Properties things in the application domain that are true whether or not we ever build the proposed system Requirements Example Requirement R things in the application domain that we wish to be made true by delivering the proposed system Reverse thrust shall only be enabled when the aircraft is moving on the runway Domain Properties D Many of which will involve phenomena the machine has no access to Wheel pulses on if and only if wheels turning Wheels turning if and only if moving on runway A Specification Specification S is a description of the behaviours that the program must have in order to meet the requirements Reverse thrust enabled if and only if wheel pulses on Can only be written in terms of shared phenomena 2004 5 Steve Easterbrook This presentation is available free for non commercial use with attribution under a creative commons license things private to the machine Department of Computer Science University of Toronto What are requirements D domain properties shared things 2004 5 Steve Easterbrook This presentation is available free for non commercial use with attribution under a creative commons license Department of Computer Science Application Domain memory management usernames signed forms Problem statement should never be treated as fixed 2004 5 Steve Easterbrook This presentation is available free for non commercial use with attribution under a creative commons license password files passwords stickies with passwords on Change is inevitable and therefore must be planned for There should be a way of incorporating changes periodically encryption algorithms T cards intruders Verification S D 7 R 2004 5 Steve Easterbrook This presentation is available free for non commercial use with attribution under a creative commons license 8 2 Department of Computer Science University of Toronto Another Example Department of Computer Science University of Toronto But we can also move the boundaries Requirement R E g Elevator control system The database shall only be accessible by authorized personnel Domain Properties D people waiting Authorized personnel have passwords Passwords are never shared with non authorized personnel people in the elevator people wanting to go to a particular floor Specification S Access to the database shall only be granted after the user types an authorized password Elevator motors Elevator call buttons Scheduling algorithm Floor request buttons button lights Current floor indicators Control program Motor on off Door open close S D entail R Safety rules But what if the domain assumptions are wrong We can shift things around E g Add some sensors to detect when people are waiting This changes the nature of the problem to be solved 2004 5 Steve Easterbrook This presentation is available free for non commercial use with attribution under a creative commons license 9 2004 5 Steve Easterbrook This presentation is available free for non commercial use with attribution under a creative commons license Department of Computer Science University of Toronto Summary System environ Monitored ment Variables Department of Computer Science University of Toronto Systems vs Software Engineering 10 Requirements Engineering is


View Full Document

Toronto CSC 340 - Lecture 2 Notes

Documents in this Course
Scoping

Scoping

10 pages

Load more
Loading Unlocking...
Login

Join to view Lecture 2 Notes 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 2 Notes 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?