12
CS540 Software Desi gn 2 Lecture 5 Requirements Phase Requirements Phase Process of discovering the client’s Process of discovering the client’s requirements requirements Misconception Misconception Must determine what client wants Must determine what client wants I know you believe you understood what you I know you believe you understood what you think I said, but I am not sure you realize think I said, but I am not sure you realize that what you heard is not what I meant!” that what you heard is not what I meant!” Must determine client’s Must determine client’s needs needs Familiarity with application domain Familiarity with application domain

CS540 Software Design Lecture 5 1 Lecture 5: High Level Requirements Specification Anita S. Malik [email protected] Adapted from Schach (2004) Chapter

Embed Size (px)

Citation preview

Page 1: CS540 Software Design Lecture 5 1 Lecture 5: High Level Requirements Specification Anita S. Malik anitamalik@umt.edu.pk Adapted from Schach (2004) Chapter

CS540 Software Design 2Lecture 5

Requirements PhaseRequirements Phase

Process of discovering the client’s Process of discovering the client’s requirementsrequirements

Misconception Misconception Must determine what client wantsMust determine what client wants

““I know you believe you understood what you I know you believe you understood what you think I said, but I am not sure you realize that think I said, but I am not sure you realize that what you heard is not what I meant!”what you heard is not what I meant!” Must determine client’s Must determine client’s needsneeds

Familiarity with application domainFamiliarity with application domain

Page 2: CS540 Software Design Lecture 5 1 Lecture 5: High Level Requirements Specification Anita S. Malik anitamalik@umt.edu.pk Adapted from Schach (2004) Chapter

CS540 Software Design 3Lecture 5

Requirements Analysis Requirements Analysis TechniquesTechniques

Interviewing (primary technique)Interviewing (primary technique) Structured interviewsStructured interviews unstructured interviewsunstructured interviews

QuestionnairesQuestionnaires Forms analysisForms analysis Video camerasVideo cameras Use Cases/ScenariosUse Cases/Scenarios Rapid prototypingRapid prototyping

Page 3: CS540 Software Design Lecture 5 1 Lecture 5: High Level Requirements Specification Anita S. Malik anitamalik@umt.edu.pk Adapted from Schach (2004) Chapter

CS540 Software Design 4Lecture 5

InterviewsInterviews

Structured Interviews: Specific pre-Structured Interviews: Specific pre-planned close ended questions are planned close ended questions are posed e.g., ‘How many….’, ‘How posed e.g., ‘How many….’, ‘How often….’, ‘How fast….’often….’, ‘How fast….’

Unstructured Interviews: Open-ended Unstructured Interviews: Open-ended questions are asked e.g., ‘What do you questions are asked e.g., ‘What do you think about….’think about….’

Interviewer prepares a written report Interviewer prepares a written report outlining the results of the interviewoutlining the results of the interview

Page 4: CS540 Software Design Lecture 5 1 Lecture 5: High Level Requirements Specification Anita S. Malik anitamalik@umt.edu.pk Adapted from Schach (2004) Chapter

CS540 Software Design 5Lecture 5

ScenariosScenarios Scenarios are another widely used technique Scenarios are another widely used technique

for requirements elicitationfor requirements elicitation Includes expected sequence of events as well Includes expected sequence of events as well

as all exceptionsas all exceptions List actions comprising the scenario, a List actions comprising the scenario, a

storyboard, series of diagrams depicting the storyboard, series of diagrams depicting the sequence of events etc. are some techniques sequence of events etc. are some techniques used for depicting scenariosused for depicting scenarios

Starting state, expected sequence of events, Starting state, expected sequence of events, finishing state and exceptions to the expected finishing state and exceptions to the expected sequencesequence

Use Cases are widely used form of scenarios: Use Cases are widely used form of scenarios: pre conditions, normal flow, post conditions pre conditions, normal flow, post conditions (Discussed in detail in Object-Oriented (Discussed in detail in Object-Oriented Analysis)Analysis)

Page 5: CS540 Software Design Lecture 5 1 Lecture 5: High Level Requirements Specification Anita S. Malik anitamalik@umt.edu.pk Adapted from Schach (2004) Chapter

CS540 Software Design 6Lecture 5

Rapid PrototypeRapid Prototype

Hastily built Hastily built (“rapid”)(“rapid”)

Key functionalityKey functionality What the client What the client

seessees Experimentation Experimentation

and changeand change

Page 6: CS540 Software Design Lecture 5 1 Lecture 5: High Level Requirements Specification Anita S. Malik anitamalik@umt.edu.pk Adapted from Schach (2004) Chapter

CS540 Software Design 7Lecture 5

Human FactorsHuman Factors Client Client and intended usersand intended users must interact with the must interact with the

user interfaceuser interface Human-computer interface (HCI)Human-computer interface (HCI)

Menu, not command lineMenu, not command line ““Point and click” Point and click” Windows, icons, pull-down menusWindows, icons, pull-down menus

Human factors must be taken into accountHuman factors must be taken into account Lengthy sequence of menusLengthy sequence of menus Expertise level of interfaceExpertise level of interface Uniformity of appearanceUniformity of appearance Advanced psychology vs. common sense?Advanced psychology vs. common sense?

Rapid prototype of HCI obligatoryRapid prototype of HCI obligatory

Page 7: CS540 Software Design Lecture 5 1 Lecture 5: High Level Requirements Specification Anita S. Malik anitamalik@umt.edu.pk Adapted from Schach (2004) Chapter

CS540 Software Design 8Lecture 5

Rapid Prototype as Rapid Prototype as Specification TechniqueSpecification Technique

No specification No specification phasephase

Rapid prototype Rapid prototype replaces replaces specification specification documentdocument

Page 8: CS540 Software Design Lecture 5 1 Lecture 5: High Level Requirements Specification Anita S. Malik anitamalik@umt.edu.pk Adapted from Schach (2004) Chapter

CS540 Software Design 9Lecture 5

Rapid Prototyping as Rapid Prototyping as Specification TechniqueSpecification Technique

Specifications: Rapid prototype plus list of Specifications: Rapid prototype plus list of additional featuresadditional features

AdvantagesAdvantages SpeedSpeed No ambiguities, omissions, contradictionsNo ambiguities, omissions, contradictions

DisadvantagesDisadvantages Specification document is contractSpecification document is contract Testing requires specificationsTesting requires specifications Maintenance requires specificationsMaintenance requires specifications

Conclusion: Do not use rapid prototype as Conclusion: Do not use rapid prototype as specificationsspecifications

Page 9: CS540 Software Design Lecture 5 1 Lecture 5: High Level Requirements Specification Anita S. Malik anitamalik@umt.edu.pk Adapted from Schach (2004) Chapter

CS540 Software Design 10Lecture 5

Testing RequirementsTesting Requirements Aim: establish client’s real needsAim: establish client’s real needs Users should be given the opportunity to Users should be given the opportunity to

review requirements document or review requirements document or experiment with rapid prototype (if there is experiment with rapid prototype (if there is one) so that their feedback and suggestions one) so that their feedback and suggestions can be implemented in the final product can be implemented in the final product after approval from the client (Note: Client after approval from the client (Note: Client may not be the user of the product)may not be the user of the product)

Issues must reach clientIssues must reach client Requirements should be numbered for Requirements should be numbered for

requirements traceabilityrequirements traceability

Page 10: CS540 Software Design Lecture 5 1 Lecture 5: High Level Requirements Specification Anita S. Malik anitamalik@umt.edu.pk Adapted from Schach (2004) Chapter

CS540 Software Design 11Lecture 5

Metrics for the Metrics for the Requirements PhaseRequirements Phase

Measure of requirements volatility – Measure of requirements volatility – how frequently the requirements how frequently the requirements change during the requirements change during the requirements phase and after the requirements phase and after the requirements phasephase

How often is a screen used or not How often is a screen used or not used when clients and users used when clients and users experiment with the prototype experiment with the prototype systemsystem

Page 11: CS540 Software Design Lecture 5 1 Lecture 5: High Level Requirements Specification Anita S. Malik anitamalik@umt.edu.pk Adapted from Schach (2004) Chapter

CS540 Software Design 12Lecture 5

Challenges of the Challenges of the Requirements PhaseRequirements Phase

Employees of the client organization feel Employees of the client organization feel threatened by computerizationthreatened by computerization

Requirements team members must be able to Requirements team members must be able to negotiatenegotiate

The client’s needs may have to be scaled The client’s needs may have to be scaled downdown

Key employees of the client organization may Key employees of the client organization may not have the time for essential in-depth not have the time for essential in-depth discussionsdiscussions

Flexibility and objectivity are essentialFlexibility and objectivity are essential

Page 12: CS540 Software Design Lecture 5 1 Lecture 5: High Level Requirements Specification Anita S. Malik anitamalik@umt.edu.pk Adapted from Schach (2004) Chapter

CS540 Software Design 13Lecture 5

Air Gourmet Case StudyAir Gourmet Case Study Ref: (Schach 2004) pages 308 through Ref: (Schach 2004) pages 308 through

311311 Airlines provide ‘special dietary Airlines provide ‘special dietary

requirements’ food to their passengersrequirements’ food to their passengers Advantages and disadvantagesAdvantages and disadvantages What does Air Gourmet do?What does Air Gourmet do? What modifications does Air Gourmet What modifications does Air Gourmet

want in its system?want in its system? The text suggests building a prototype. The text suggests building a prototype.

How would the interview technique work?How would the interview technique work?