Object-Oriented and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach [email protected] 10OverviewOverview (contd)Requirements PhaseRequirements Analysis TechniquesRapid PrototypingHuman FactorsRapid Prototyping as Specification TechniqueSlide 10Reusing the Rapid PrototypeSlide 12Other Uses of Rapid PrototypingCase for Rapid PrototypingCase for Rapid Prototyping (contd)Experiences with Rapid PrototypingControversyTesting during the Requirements PhaseCASE Tools for the Requirements PhaseMetrics for the Requirements PhaseObject-Oriented Requirements PhaseAir Gourmet Case Study: Requirements PhaseAir Gourmet Case Study: Rapid PrototypePortion of Rapid PrototypeChallenges of the Requirements PhaseSlide 10.1© The McGraw-Hill Companies, 2002Object-Oriented and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002Stephen R. [email protected] 10.2© The McGraw-Hill Companies, 2002CHAPTER 10REQUIREMENTS PHASESlide 10.3© The McGraw-Hill Companies, 2002OverviewRequirements elicitationRequirements analysisRapid prototypingHuman factorsRapid prototyping as a specification techniqueReusing the rapid prototypeManagement implications of the rapid prototyping modelExperiences with rapid prototypingSlide 10.4© The McGraw-Hill Companies, 2002Overview (contd)Techniques for requirements elicitation and requirements analysisTesting during the requirements phaseCASE tools for the requirements phaseMetrics for the requirements phaseObject-oriented requirements?Air Gourmet case study: Requirements phaseAir Gourmet case study: Rapid prototypeChallenges of the requirements phaseSlide 10.5© The McGraw-Hill Companies, 2002Requirements PhaseMisconception –Must determine what client wants“I know you believe you understood what you think I said, but I am not sure you realize that what you heard is not what I meant!”–Must determine client’s needsSlide 10.6© The McGraw-Hill Companies, 2002Requirements Analysis TechniquesInterviewing (primary technique)Structured versus unstructured interviewsQuestionnairesForms analysisVideo camerasScenarios–Story boards–TreesRapid prototypingSlide 10.7© The McGraw-Hill Companies, 2002Rapid PrototypingHastily built (“rapid”)Key functionalityWhat the client seesExperimentation and changeLanguages for rapid prototypingSlide 10.8© The McGraw-Hill Companies, 2002Human FactorsClient and intended users must interact with the user interfaceHuman-computer interface (HCI)–Menu, not command line–“Point and click” –Windows, icons, pull-down menusHuman factors must be taken into account–Lengthy sequence of menus–Expertise level of interface–Uniformity of appearance–Advanced psychology vs. common sense?Rapid prototype of HCI obligatorySlide 10.9© The McGraw-Hill Companies, 2002Rapid Prototyping as Specification TechniqueNo specification phaseRapid prototype replaces specification documentSlide 10.10© The McGraw-Hill Companies, 2002Rapid Prototyping as Specification TechniqueSpecifications: Rapid prototype plus list of additional featuresAdvantages–Speed–No ambiguities, omissions, contradictionsDisadvantages–Specification document is contract–Testing requires specifications–Maintenance requires specificationsConclusion: Do not use rapid prototype as specificationsSlide 10.11© The McGraw-Hill Companies, 2002Reusing the Rapid PrototypeBuild-and-fixNo specifications, no designQualityMaintenanceReal-time constraintsSlide 10.12© The McGraw-Hill Companies, 2002Reusing the Rapid PrototypeExpensive option–Reuse rapid prototypeCheap option–Discard rapid prototypeUse of different languageCan safely retain (parts of) rapid prototype if –Prearranged–Passes SQA inspections–This is not “classical”Slide 10.13© The McGraw-Hill Companies, 2002Other Uses of Rapid PrototypingConsensusManagement Implications–Immediate delivery–Instant maintenance–Waterfall model—get it right first time–Rapid prototyping—many changes, then discard–Increased interaction with clientsSlide 10.14© The McGraw-Hill Companies, 2002Case for Rapid PrototypingNot proven beyond all doubtExperiment of Boehm, Gray, and Seewaldt (1984)–Seven different versions of product compared »four specified, three prototyped–Prototyping, specifying yielded equivalent performance–Prototyped versions had 40% less code, 45% less effort –Prototyped versions were lower on functionality and robustness, higher on ease of use and ease of learning–Specifying made integration easierSlide 10.15© The McGraw-Hill Companies, 2002 Case for Rapid Prototyping (contd)Important facts (not often mentioned)–Experiment on seven teams of graduate students–Three teams of size 2, and four teams of size 3–Ten week duration–No maintenance Treat results as indications, not factsSlide 10.16© The McGraw-Hill Companies, 2002Experiences with Rapid PrototypingAnalysis of 34 case studies [Gordon and Bieman, 1992]29 successes, 2 failures, 3 neutral–(But few failures are published!)All agreed–User participation was essential, user needs were metNot all issues were addressed in all case studies(Only 16 mentioned ease of use, but all 16 were positive)Choice of prototyping language was not importantSlide 10.17© The McGraw-Hill Companies, 2002ControversyDiscard or retain rapid prototype?–Diametrically different processes used–18 recommended retention, 7 said discard–6 out of 6 large projects recommended retentionSlide 10.18© The McGraw-Hill Companies, 2002Testing during the Requirements PhaseAim: establish client’s real needsUsers must interact thoroughly with rapid prototypeIssues must reach clientSlide 10.19© The McGraw-Hill Companies, 2002CASE Tools for the Requirements PhaseLanguage for Rapid Prototyping–Interpreted languages + environments (Lisp, Smalltalk)–Hypertext (HTML) for user interfaces–4GL»Fewer statements»Often interpreted»Often powerful CASE toolsDanger of 4GL–Part of larger environment–Cheap solution: separate toolSlide 10.20© The McGraw-Hill Companies, 2002Metrics for the Requirements PhaseQuality, reliability?Volatility, convergenceChanges during subsequent phasesNumber of times each feature is usedSlide 10.21© The McGraw-Hill Companies,
View Full Document