Presentation is loading. Please wait.

Presentation is loading. Please wait.

University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 requirements 1 what is a requirement? “a property [or behavior] that must be exhibited.

Similar presentations


Presentation on theme: "University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 requirements 1 what is a requirement? “a property [or behavior] that must be exhibited."— Presentation transcript:

1 University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 requirements 1 what is a requirement? “a property [or behavior] that must be exhibited in order to solve some problem of the real world” SWEBOK ch 2 requirements must be: clearly and formally stated approved and prioritized validated subject to configuration management

2 University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 requirements 2 examples of requirements too vague... backorders are permitted the call centre must be more efficient system must have a low probability of failure much better... up to 5 backorders can be created from a single original order the system must increase the call centre’s throughput by 20% probability of failure for any operation is less than 1*10 -8 why?

3 University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 requirements 3 classification of requirements functional emergent property general requirement product high priority broad scope (architectural) volatile VS non-functional VS specific task VS specific stakeholder need VS process VS optional VS narrow scope (specific component) VS stable some requirements have emergent properties; they depend for their satisfaction on how well the system components inter-operate

4 University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 requirements 4 what do specifications tell you? functional What does the system have to do? For whom? What information is needed? By whom? When are the functions and data needed? non-functional What is the structure of the system? What performance and capacity is needed? control How does the system react to external events? How does the system respond to unexpected events or data? What is the event flow in the system? The above are answered using text and diagrams.

5 University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 requirements 5 the main challenge is complexity Where does one system end and another start? If a system is a view of reality, who’s view do we work with? What if the system is too large to be understood by any one person? How do we handle the continuous change in technology? How do we handle requirements that change? How do we cope with new development tools, techniques and methodologies? our main defense is abstraction and decomposition!

6 University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 requirements 6 abstraction is the main tool used in reasoning about software because... you can ignore inconvenient detail abstraction simplifies the problem (but doesn’t solve it) how do you define an abstraction? name and describe the functionality at several levels... by describing the desired outcome by describing the pre-conditions and post conditions source: S. Easterbrook CSC444 2001

7 University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 requirements 7 abstraction and decomposition decompose the problem (requirement) so that: each subproblem is at (roughly) the same level of detail each subproblem can be solved independently the solutions to the subproblems can be combined to solve the original problem why? different people can work on different subproblems development and maintenance is easier is decomposition always possible? not for some complex, impossible or trivial problems source: S. Easterbrook CSC444 2001

8 University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 requirements 8 decomposition and information hiding 1. identify components minimize dependencies between components, striving for... low coupling (measure of inter-component connectivity) high cohesion (measure of how well the contents of a component go together) hide information so that... components keep their data private components keep their methods (logic) private 2. model the problem using formal diagrams that show... flow of data and control between components states of components system architecture source: S. Easterbrook CSC444 2001

9 University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 requirements 9 criteria for modularity decomposability composability understandability continuity protection information hiding weak coupling few interfaces open-closed principle why modularity? compatible reusable extendible reliable correct robust efficient inexpensive portable timely

10 University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 requirements 10 how to elicit requirements? the ideal investigator... saves all the evidence logs his research can back up his claims with evidence questions everything remains impartial, with no preconceived ideas isn’t constrained by assumptions or tradition pays attention to detail is open to new methods and new interpretations analyst

11 University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 requirements 11 inspection and information gathering organization charts business mission and strategy statements interview transcripts observation notes planning session results documentation of old system CASE repository documents prototype models meeting minutes training manuals policies and procedure manuals sample reports, forms consultants’ reports questionnaire responses etc.

12 University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 requirements 12 what can we learn? facts and figures relevance of facts and figures reasons for ways of doing things ideas for the future constraints allocation of responsibilities problems to avoid or solve directions to take opportunities priorities rules and laws warning: watch out for the differences between the formal and informal the official and unofficial

13 University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 requirements 13 methods of elicitation reading, reading, reading interviews observation questionnaires group support systems joint application design prototyping business process re-engineering disruptive technologies / paradigm shift

14 University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 requirements 14 Joint Application Design (JAD) purpose:to discuss and review system requirements location:off site attendees: leader/chairman, users, managers, sponsors, systems analysts, scribe, advisors as necessary tools used:CASE and planning aids outcomes:designs, functional requirements, operational plans, solutions to problems… agreement, documentation

15 University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 requirements 15 group support systems (GSS) Group members type suggestions, questions everyone can read them and respond prototyping  iterative process to improve the systems’ design  provides “hands on” walkthroughs for reality checking  fast response to suggestions  ideal for decision support systems and new business venture systems  difficult to produce useful documentation  shared data and system interfaces difficult to handle  some systems requirements get forgotten  users want to use the prototype

16 University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 requirements 16 business process reengineering Reorganize the flow of data in the organization and change the way work is performed in order to eliminate steps and/or become more responsive to future change Ask the following questions about all activities: How important is it? How dysfunctional is it? Can it be eliminated or improved? disruptive technologies = paradigm shifts and radical ideas

17 University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 requirements 17 requirements validation and control how do you know the requirements are correct? formal documentation prototypes walkthroughs formal approvals prioritization evaluation criteria risk analyses what do you do when requirements change? set up a formal change request estimate the impact on the benefits and the costs get formal approval before accepting the change

18 University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 requirements 18 the V model system requirements software requirements preliminary design detailed design code and inspect unit test component test software integration acceptance test system integration analyze and design test and integrate time level of abstraction


Download ppt "University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 requirements 1 what is a requirement? “a property [or behavior] that must be exhibited."

Similar presentations


Ads by Google