Requirements Phase

Requirements Phase

Requirements Phase • Chance of a product being on time and within budget is very slim unless the development team knows what the product should do • To achieve this level the development team must analyze the needs of the client as precisely as possible Ch10 Copyright © 2004 by Eugean 1 Hacopians Requirements Phase • After a clear picture of the problem the development teams can answer the question: – What should the product do? • The process of answering this question lies within the requirements phase Ch10 Copyright © 2004 by Eugean 2 Hacopians Requirements Phase • Common misconceptions are: – During requirement phase the developer must determine what the client wants – The client can be unclear as to what they want – The client may not be able to communicate what they want to the developer • Most clients do not understand the software development process Ch10 Copyright © 2004 by Eugean 3 Hacopians Requirements Elicitation • This process is finding out a client’s requirements • Members of the requirements team must be familiar with the application domain • Requirement analysis is the process of: – Understanding the initial requirements – Refining requirements – Extending requirements Ch10 Copyright © 2004 by Eugean 4 Hacopians Requirements Elicitation • This process starts with several members of the requirements analysis team meeting with several members of the client’s team • It is essential to use the correct terminology or settle on an agreed set – Misunderstanding terminology can result in a faulty product – This could result in a lawsuit Ch10 Copyright © 2004 by Eugean 5 Hacopians Requirements Elicitation • To solve the terminology problem: – Build a glossary of terms with initial entries – Update the glossary as the process continues – Reduces confusion between clients and developers – Reduces misunderstanding between members of the development team • Not all development team members may be present at the meeting Ch10 Copyright © 2004 by Eugean 6 Hacopians Requirements Elicitation • Two types of interviews: – Structured • Questions are planned, structured, and close-ended • These type of questions will give concrete answers to the requirement analysis team – Unstructured • Questions are open-ended • These type of questions will encourage the client to speak out Ch10 Copyright © 2004 by Eugean 7 Hacopians Requirements Elicitation • Conducting interviews are not an easy task • Interviewer must be familiar with application domain • Interviewer must approach each interview with intention of listening very carefully to the client while suppressing any preconceived opinion about client company or needs • There is no need to continue with interviews if requirement analysis team understands the client’s needs • A written report must be prepared after each interview • Give a copy of the report to the interviewee – This will allow the person to clarify any misunderstanding Ch10 Copyright © 2004 by Eugean 8 Hacopians Requirements Elicitation • Scenarios are another technique to elicit requirements • A scenario is a way the user will utilize the product – Describes what happens when an action is taken • Enter a value • Report generation Ch10 Copyright © 2004 by Eugean 9 Hacopians Requirements Elicitation • Scenario Types – Expected sequence • What should happen if a correct value is entered – Exception sequence • What should happen if an erroneous value is entered Ch10 Copyright © 2004 by Eugean 10 Hacopians Requirements Elicitation • Scenarios must include – Start state – Expected sequence of events – Exceptions to the expected sequence of events – Finishing state Ch10 Copyright © 2004 by Eugean 11 Hacopians Requirements Elicitation • Scenarios are useful in many ways – Can determine the behavior of the product – Easily understood by users – Using scenarios will insure client and user participation in the requirements analysis phase – Scenarios (Use cases) play an important role in Object-Oriented paradigm Ch10 Copyright © 2004 by Eugean 12 Hacopians Requirements Elicitation • Other methods of eliciting requirements: – Send a questionnaire to users – Understanding how the client conducts business is a very helpful tool in determining the client’s needs • Examine forms used by client • Examine operational procedures • Observe users in person or by videotape (with prior written permission of those being observed) – This could backfire as a invasion of privacy Ch10 Copyright © 2004 by Eugean 13 Hacopians Requirements Elicitation • It is very important to have full cooperation of all employees • It could be extremely difficult to obtain information if people feel threatened or harassed by the process Ch10 Copyright © 2004 by Eugean 14 Hacopians Requirements Analysis • Requirement team has a preliminary set of requirements • Requirement types: – Functional • Specify functionality of the software – Nonfunctional • Specify property of the software – Reliability – Maintainability – Software runtime environment Ch10 Copyright © 2004 by Eugean 15 Hacopians Requirements Analysis • Software must be traceable – Number each requirement – SQA team can check each requirement during testing specification, design, implementation, and integration Ch10 Copyright © 2004 by Eugean 16 Hacopians Requirements Analysis • After preliminary analysis, the requirements document is given back to clients • The client: – Check for completeness • Check with individuals interviewed – Get client priority • Client must prioritize each requirement – Essential – Highly desirable – Desirable • Further refine the preliminary requirements document Ch10 Copyright © 2004 by Eugean 17 Hacopians Rapid Prototyping • Software exhibits key requirements functionality • The key point is RAPID – Build a prototype fast • The sooner, the better – OK if crashes every few minutes • Not included in a prototype – Error checking routines – File updating routines – Complex computations Ch10 Copyright © 2004 by Eugean 18 Hacopians Rapid Prototyping • The key is to generate a tool that clients and developers can agree upon as quickly as possible – WHAT THE PRODUCT MUST DO – Users experiment with the prototype while developers watch – Users tell the developers how they feel about the prototype – Prototype is built for change • Developers can change the prototype until both sides are satisfied • The final prototype is used as basis for the specification phase Ch10 Copyright © 2004 by Eugean 19 Hacopians Rapid Prototyping • Decide which language to use for prototyping – Use a language that a prototype can be • Build rapidly • Change rapidly – Preferably use another language than the one intended for the final product • Use scripts for engine • Use TKL/TK (scripting language for GUI) to build the GUI • Use HTML – OK if slow – OK if not perfect – Most important • Give users a tool to express themselves Ch10 Copyright © 2004 by Eugean 20 Hacopians Human Factor • Experiment with human-computer interface (HCI) – Allows users to interact with the interface of the product – Helps development of user friendly interfaces • Ease of use • If product is not easy to use – Users will get frustrated – Users will not use the product • Can reduce learning time • Lower error rate Ch10 Copyright © 2004 by Eugean 21 Hacopians Rapid Prototype as a Specification Technique • Two different approaches – First • Use rapid prototype to write specification document • Discard prototype after specification – Second • Modify prototype to generate the final product • Do away with specification phase • Drawbacks – A rapid prototype can not stand as a legal document if there is a disagreement between the clients and developers – Potential problems with maintenance due to lack of specification document Ch10 Copyright © 2004 by Eugean 22 Hacopians Reusing The Rapid Prototype • It may seem cheaper to reuse a prototype • It is unwise to reuse a rapid prototype – It is made in a hurry – It is not carefully designed – It is not carefully implemented – May have performance issues – May lack documentation for maintenance Ch10 Copyright © 2004 by Eugean 23 Hacopians Management Implications of the Rapid Prototype Model • Challenge of explaining the concept of prototype to client – Important to discuss the issue of prototyping with clients • It is very easy to change the prototype • Prototype is not operations-quality software • The operations-quality software can not be changed as quickly Ch10 Copyright © 2004 by Eugean 24 Hacopians Testing During Requirements Phase • SQA must ensure – The relevant individuals have the opportunity to • View requirements document • Experiment with the prototype – The requirements are traceable • Number each requirement statement Ch10 Copyright © 2004 by Eugean 25 Hacopians CASE Tools for the Requirements phase • Interpreted languages are good tools for rapid prototypes – No need to compile – Can be changed while demonstrating • Draw backs of interpreted languages which do not affect rapid prototyping – Poor performance – Difficult to maintain Ch10 Copyright © 2004 by Eugean 26 Hacopians CASE Tools for the Requirement phase • There are CASE tools that can be used for rapid prototyping – HTML builder – 4GL • Oracle • Power builder • DB2 – JAVA tools such as Together J Ch10 Copyright © 2004 by Eugean 27 Hacopians Metrics for the Requirements Phase • Need metrics to keep track changes: – How quickly requirements change during requirements phase – Number of requirements changes during the subsequent phases Ch10 Copyright © 2004 by Eugean 28 Hacopians Metrics for the Requirements Phase • During rapid prototyping track Number of times a feature is exercised – Developers must ask for justification for • Exercising a feature many times • Exercising a feature few times • Not exercising features – The features exercised more often may be very important • Design those features to urn faster Ch10 Copyright © 2004 by Eugean 29 Hacopians Object-Oriented Requirements? • There is no such thing as Object-Oriented requirements – Similarly there is no Object-Oriented or classical user manual • The key point of requirements phase is to determine the client's needs • Requirements phase has nothing to do with the development paradigm Ch10 Copyright © 2004 by Eugean 30 Hacopians.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    30 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us