University of Southern California Center for Systems and Software Engineering 3/18/2008©USC-CSSE1 Requirements Elaboration Ali Afzal Malik, Barry Boehm, USC-CSSE Annual Research Review March 18, 2008
University of Southern California Center for Systems and Software Engineering 3/18/2008©USC-CSSE2 Outline Motivation Empirical study Methodology Results Findings Future work References
University of Southern California Center for Systems and Software Engineering 3/18/2008©USC-CSSE3 Motivation Cost estimation - GIGO Cost Model
University of Southern California Center for Systems and Software Engineering 3/18/2008©USC-CSSE4 Research Objectives Early estimation –Use goals Phenomenon of Requirements Elaboration –High-level Goals Low-level Requirements Characterize cause of variation in elaboration ratios
University of Southern California Center for Systems and Software Engineering 3/18/2008©USC-CSSE5 Requirements Elaboration Levels Use Case Level of Detail Scale (Cockburn, 2001)
University of Southern California Center for Systems and Software Engineering 3/18/2008©USC-CSSE6 Research Approach Related previous work –Agent-based approach (Letier and van Lamsweerde, 2002) –GBRAM (Antón, 1996) How is our work different? –Focus on the process itself Obtain detailed project data Analyze causes of variation
University of Southern California Center for Systems and Software Engineering 3/18/2008©USC-CSSE7 Empirical Study* SE I (Fall) and SE II (Spring) 2004 – real-client, MS-student, team projects Process: MBASE/RUP Project selection –Custom development –Complete documentation *A. Malik, B. Boehm, “An Empirical Study of Requirements Elaboration”, Submitted in 16 th IEEE International Requirements Engineering Conference.
University of Southern California Center for Systems and Software Engineering 3/18/2008©USC-CSSE8 Empirical Study (2) S#YearProjectType 12004Online Bibliographies on Chinese Religions in Western LanguagesWeb-based database 22004Data Mining of Digital Library Usage DataData mining 32004Data Mining from Report FilesData mining 42005Data Mining PubMed ResultsData mining 52005USC Football Recruiting DatabaseWeb-based database 62005Code Generator – Template basedStand-alone application 72005Develop a Web Based XML Editing ToolWeb-based application 82005EBay Notification SystemStand-alone application 92005Rule-based EditorGUI CodeCount™ Product Line with XML and C++Code Counter Tool California Science Center Newsletter SystemWeb-based database California Science Center Event RSVP SystemWeb-based database USC Diploma Order/ Tracking Database SystemWeb-based database USC Civic and Community Relations (CCR) web applicationWeb-based database Student's academic progress web applicationWeb-based database New Economics for Woman (NEW)Web-based database Web Portal for USC Electronic ResourcesWeb-based GUI Early Medieval East Asian TombsWeb-based database USC CONIPMOCost model An Eclipse Plug-in for Use Case AuthoringStand-alone application
University of Southern California Center for Systems and Software Engineering 3/18/2008©USC-CSSE9 Project Process
University of Southern California Center for Systems and Software Engineering 3/18/2008©USC-CSSE10 Methodology Relationship between capability goals and capability requirements Documents and milestones considered –LCO-OCD*: Capability goals at the end of the Inception phase –IOC-SSRD # : Capability requirements at the end of the Construction phase 7 metrics –4 direct –3 derived * Life Cycle Objectives – Operational Concept Description # Initial Operational Capability – System and Software Requirements Definition
University of Southern California Center for Systems and Software Engineering 3/18/2008©USC-CSSE11 Metrics S#MetricDescription 1NCG I Number of initial capability goals 2NCG R Number of capability goals removed 3NCR D Number of delivered capability requirements 4NCR N Number of new capability requirements 5NCG A Number of adjusted capability goals 6NCR A Number of adjusted capability requirements 7EFElaboration Factor
University of Southern California Center for Systems and Software Engineering 3/18/2008©USC-CSSE12 Derived Metrics NCG A = NCG I – NCG R NCR A = NCR D – NCR N EF = NCR A / NCG A
University of Southern California Center for Systems and Software Engineering 3/18/2008©USC-CSSE13 Results S#NCG I NCG R NCR D NCR N NCG A NCR A EF Group Outliers WUA ICA VUA
University of Southern California Center for Systems and Software Engineering 3/18/2008©USC-CSSE14 Results (2) (2): 2 data points
University of Southern California Center for Systems and Software Engineering 3/18/2008©USC-CSSE15 Findings -WUA: Well-understood applications -ICA: Intermediate clarity applications -VUA: Vaguely understood applications
University of Southern California Center for Systems and Software Engineering 3/18/2008©USC-CSSE16 Findings (2) Project groups based on EF ranges –WUA: Well-understood applications –ICA: Intermediate clarity applications –VUA: Vaguely-understood applications EF 0 WUAICAVUAOutliers EF ranges defining groups
University of Southern California Center for Systems and Software Engineering 3/18/2008©USC-CSSE17 Findings (3) No one-size-fits-all formula for requirements elaboration Knowledge of a project’s type gives a hint about its EF value e.g. all projects in the VUA group are of type “Web-based Database” Benefits of early determination of a project’s group –better estimates –save time and effort
University of Southern California Center for Systems and Software Engineering 3/18/2008©USC-CSSE18 Future Work Relationship between LOS goals and LOS requirements Relationship between current metrics and those provided by architectural documents Relationship between current metrics and software size metrics Analysis of industrial data
University of Southern California Center for Systems and Software Engineering 3/18/2008©USC-CSSE19 References Books –Cockburn, A., Writing Effective Use Cases, Addison-Wesley, –Kruchten, P., The Rational Unified Process: An Introduction, Addison- Wesley, Conference papers –A. I. Antón, “Goal-based requirements analysis”, Proc. of the IEEE Int. Req. Eng. Conf. (RE), 1996, pp. 136–144. –B. Boehm, “Anchoring the Software Process”, IEEE Software 13(4), 1996, pp –E. Letier and A. van Lamsweerde. “Agent-based tactics for goal-oriented requirements elaboration”, Proc. of the IEEE Int. Conf. on Soft. Eng. (ICSE), 2002, pp. 83–93. Miscellaneous –Boehm, B., Klappholz, D., Colbert, E., et al., “Guidelines for Lean Model- Based (System) Architecting and Software Engineering (LeanMBASE)”, Center for Software Engineering, University of Southern California, – –