Applying Software Design and Requirements Engineering Techniques to System Conception

While classical software engineering dictums separate the development of a system’s requirements from its design, practice has largely shown this to be either impractical or naive. Much of the design of large software-dependent systems comes from prior systems, and that knowledge affects the requirements for new systems. Even if prior systems do not directly determine new system’s requirements, the activity of developing requirements is, in practice and emerging theory closely intertwined with the activity of designing the system’s structure and correlating design decisions. This survey examines requirements engineering techniques, assessing them with regard to how well they support the inclusion of prior design knowledge and how well they support the co-development of designs. The survey is based on the application of an evaluation framework to a set of wellknown requirements engineering techniques. The framework includes criteria such as mapping to architecture, expressibility of design choices, and accessibility to relevant information. The techniques surveyed include Problem Frames, Use Cases, and Agile. The evaluation results in identifying a set of outstanding holes to be fixed in Requirements Engineering.

[1]  W. Royce Managing the development of large software systems: concepts and techniques , 2021, ICSE '87.

[2]  Veit Jahns,et al.  Information visualization: perception for design by Colin Ware , 2014, SOEN.

[3]  Andraž Cej,et al.  Agile software development with Scrum , 2010 .

[4]  M. B. Line,et al.  Agile Software Development: The Straight and Narrow Path to Secure Software? , 2010, Int. J. Secur. Softw. Eng..

[5]  Michael Jackson,et al.  The Problem Frames Approach to Software Engineering , 2007, 14th Asia-Pacific Software Engineering Conference (APSEC'07).

[6]  Pierre-Yves Schobbens,et al.  Disambiguating the Documentation of Variability in Software Product Lines: A Separation of Concerns, Formalization and Automated Analysis , 2007, 15th IEEE International Requirements Engineering Conference (RE 2007).

[7]  Klaus Pohl,et al.  COSMOD-RE: Supporting the Co-Design of Requirements and Architectural Artifacts , 2007, 15th IEEE International Requirements Engineering Conference (RE 2007).

[8]  Franca Garzotto,et al.  Branding and Communication Goals for Content-Intensive Interactive Applications , 2007, 15th IEEE International Requirements Engineering Conference (RE 2007).

[9]  Bashar Nuseibeh,et al.  Specifying Monitoring and Switching Problems in Context , 2007, 15th IEEE International Requirements Engineering Conference (RE 2007).

[10]  Kari Smolander,et al.  How Internationalization of a Product Changes Requirements Engineering Activities: An Exploratory Study , 2007, 15th IEEE International Requirements Engineering Conference (RE 2007).

[11]  E. James Whitehead,et al.  Collaboration in Software Engineering: A Roadmap , 2007, Future of Software Engineering (FOSE '07).

[12]  Betty H. C. Cheng,et al.  Research Directions in Requirements Engineering , 2007, Future of Software Engineering (FOSE '07).

[13]  Fredrik Törner,et al.  An Empirical Quality Assessment of Automotive Use Cases , 2006, 14th IEEE International Requirements Engineering Conference (RE'06).

[14]  Pierre-Yves Schobbens,et al.  Justifying Goal Models , 2006, 14th IEEE International Requirements Engineering Conference (RE'06).

[15]  Yijun Yu,et al.  On Goal-based Variability Acquisition and Analysis , 2006, 14th IEEE International Requirements Engineering Conference (RE'06).

[16]  Debra Aubrey,et al.  Controlling the HMS Program through Managing Requirements , 2006, 14th IEEE International Requirements Engineering Conference (RE'06).

[17]  Colin Potts,et al.  Re-Framing Requirements Engineering , 2006, 14th IEEE International Requirements Engineering Conference (RE'06).

[18]  Jaap Gordijn,et al.  What is This Science Called Requirements Engineering? , 2006, 14th IEEE International Requirements Engineering Conference (RE'06).

[19]  Mario Pichler,et al.  Agile Requirements Engineering for a Social Insurance for Occupational Risks Organization: A Case Study , 2006, 14th IEEE International Requirements Engineering Conference (RE'06).

[20]  Jon Whittle,et al.  Generating Hierarchical State Machines from Use Case Charts , 2006, 14th IEEE International Requirements Engineering Conference (RE'06).

[21]  Haruhiko Kaiya,et al.  Using Domain Ontology as Domain Knowledge for Requirements Elicitation , 2006, 14th IEEE International Requirements Engineering Conference (RE'06).

[22]  Richard N. Taylor,et al.  Moving Architectural Description from Under the Technology Lamppost , 2006, 32nd EUROMICRO Conference on Software Engineering and Advanced Applications (EUROMICRO'06).

[23]  David S. Janzen,et al.  On the Influence of Test-Driven Development on Software Design , 2006, 19th Conference on Software Engineering Education & Training (CSEET'06).

[24]  Yves Le Traon,et al.  Automatic test generation: a use case driven approach , 2006, IEEE Transactions on Software Engineering.

[25]  Michael Jackson,et al.  Problem frames and software engineering , 2005, Expert Syst. J. Knowl. Eng..

[26]  Daniel E. Turk,et al.  Assumptions Underlying Agile Software-Development Processes , 2005, J. Database Manag..

[27]  David S. Janzen,et al.  Test-driven development concepts, taxonomy, and future direction , 2005, Computer.

[28]  Eric S. K. Yu,et al.  Do viewpoints lead to better conceptual models? An exploratory case study , 2005, 13th IEEE International Conference on Requirements Engineering (RE'05).

[29]  Steve Riddle,et al.  Overcoming the traceability benefit problem , 2005, 13th IEEE International Conference on Requirements Engineering (RE'05).

[30]  Ivar Jacobson,et al.  Unified Modeling Language User Guide, The (2nd Edition) (Addison-Wesley Object Technology Series) , 2005 .

[31]  Kent Beck,et al.  Extreme Programming Explained: Embrace Change (2nd Edition) , 2004 .

[32]  Bashar Nuseibeh,et al.  Architecture-driven problem decomposition , 2004, Proceedings. 12th IEEE International Requirements Engineering Conference, 2004..

[33]  Bashar Nuseibeh,et al.  Composing requirements using problem frames , 2004, Proceedings. 12th IEEE International Requirements Engineering Conference, 2004..

[34]  Ken Orr,et al.  Agile requirements: opportunity or oxymoron? , 2004, IEEE Software.

[35]  Boby George,et al.  A structured experiment of test-driven development , 2004, Inf. Softw. Technol..

[36]  Mike Cohn,et al.  User Stories Applied: For Agile Software Development , 2004 .

[37]  Michael Jackson,et al.  Why software writing is difficult and will remain so , 2003, Inf. Process. Lett..

[38]  Laurie A. Williams,et al.  Assessing test-driven development at IBM , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[39]  Bashar Nuseibeh,et al.  ViewPoints: meaningful relationships are difficult! , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[40]  Beck Test Driven Development: By Example , 2002 .

[41]  Daniela E. Damian,et al.  The impact of stakeholders' geographical distribution on managing requirements in a multi-site organization , 2002, Proceedings IEEE Joint International Conference on Requirements Engineering.

[42]  Bashar Nuseibeh,et al.  Relating software requirements and architectures using problem frames , 2002, Proceedings IEEE Joint International Conference on Requirements Engineering.

[43]  K. Anderson,et al.  Towards large-scale information integration , 2002, Proceedings of the 24th International Conference on Software Engineering. ICSE 2002.

[44]  A. V. Lamsweerde Goal-oriented requirements engineering: a guided tour , 2001, Proceedings Fifth IEEE International Symposium on Requirements Engineering.

[45]  Kathryn L. Heninger Specifying Software Requirements for Complex Systems: New Techniques and Their Application , 2001, IEEE Transactions on Software Engineering.

[46]  Daniel Jackson,et al.  Lightweight Formal Methods , 2001, FME.

[47]  Bashar Nuseibeh,et al.  Weaving Together Requirements and Architectures , 2001, Computer.

[48]  Bashar Nuseibeh,et al.  Requirements engineering: a roadmap , 2000, ICSE '00.

[49]  Susan Lilly,et al.  Use case pitfalls: top 10 problems from real projects using use cases , 1999, Proceedings of Technology of Object-Oriented Languages and Systems - TOOLS 30 (Cat. No.PR00278).

[50]  Bashar Nuseibeh,et al.  An empirical investigation of multiple viewpoint reasoning in requirements engineering , 1999, Proceedings IEEE International Symposium on Requirements Engineering (Cat. No.PR00188).

[51]  Ian Sommerville,et al.  Social analysis in the requirements engineering process: from ethnography to method , 1999, Proceedings IEEE International Symposium on Requirements Engineering (Cat. No.PR00188).

[52]  Raymond J. A. Buhr,et al.  Use Case Maps as Architectural Entities for Complex Systems , 1998, IEEE Trans. Software Eng..

[53]  Benjamin L. Kovitz,et al.  Practical Software Requirements: A Manual of Content and Style , 1998 .

[54]  Ian Sommerville,et al.  Viewpoints for requirements elicitation: a practical approach , 1998, Proceedings of IEEE International Symposium on Requirements Engineering: RE '98.

[55]  David Garlan,et al.  A formal basis for architectural connection , 1997, TSEM.

[56]  Philippe Massonet,et al.  GRAIL/KAOS: An Environment for Goal-Driven Requirements Engineering , 1997, Proceedings of the (19th) International Conference on Software Engineering.

[57]  Edmund M. Clarke,et al.  Formal Methods: State of the Art and Future Directions Working Group Members , 1996 .

[58]  Bashar Nuseibeh,et al.  Towards a framework for managing inconsistency between multiple views , 1996, ISAW '96.

[59]  Nancy G. Leveson,et al.  Completeness and Consistency in Hierarchical State-Based Requirements , 1996, IEEE Trans. Software Eng..

[60]  A. Hall Using Formal Methods to Develop an ATC Information System , 1996, IEEE Softw..

[61]  David Lorge Parnas,et al.  Functional Documents for Computer Systems , 1995, Sci. Comput. Program..

[62]  Michael A. Jackson,et al.  Software requirements and specifications - a lexicon of practice, principles and prejudices , 1995 .

[63]  Jr. Frederick P. Brooks,et al.  The mythical man-month (anniversary ed.) , 1995 .

[64]  Michael Jackson,et al.  Problems and requirements [software development] , 1995, Proceedings of 1995 IEEE International Symposium on Requirements Engineering (RE'95).

[65]  Tom Rodden,et al.  Presenting ethnography in the requirements process , 1995, Proceedings of 1995 IEEE International Symposium on Requirements Engineering (RE'95).

[66]  Jonathan P. Bowen,et al.  Seven More Myths of Formal Methods , 1994, FME.

[67]  Steve Easterbrook,et al.  Resolving requirements conflicts with computer-supported negotiation , 1994 .

[68]  L. Finneran,et al.  Experience applying the CoRE method to the Lockheed C-130J software requirements , 1994, Proceedings of COMPASS'94 - 1994 IEEE 9th Annual Conference on Computer Assurance.

[69]  Olly Gotel,et al.  An analysis of the requirements traceability problem , 1994, Proceedings of IEEE International Conference on Requirements Engineering.

[70]  Richard E. Fairley,et al.  The concept of operations: The bridge from operational requirements to technical specifications , 1994, Proceedings of IEEE International Conference on Requirements Engineering.

[71]  Kevin Forsberg,et al.  The Relationship of Systems Engineering to the Project Cycle , 1992 .

[72]  Anthony Hall,et al.  Seven myths of formal methods , 1990, IEEE Software.

[73]  Jeannette M. Wing A specifier's introduction to formal methods , 1990, Computer.

[74]  Anthony I. Wasserman,et al.  The object-oriented structured design notation for software design representation , 1990, Computer.

[75]  Barry W. Boehm,et al.  A spiral model of software development and enhancement , 1986, Computer.

[76]  Robert Balzer,et al.  On the inevitable intertwining of specification and implementation , 1982, CACM.

[77]  John C. Cherniavsky,et al.  Validation, Verification, and Testing of Computer Software , 1982, CSUR.

[78]  Ljerka Beus-Dukic,et al.  Use and abuse cases , 2008 .

[79]  Steve Riddle,et al.  Tailoring Traceability Information to Business Needs , 2006 .

[80]  Peri L. Tarr,et al.  Model-driven development : The good , the bad , and the ugly & , 2006 .

[81]  Michael W. Whalen,et al.  Proving the Shalls Early Validation of Requirements Through Formal Methods , 2004 .

[82]  Victor R. Basili,et al.  Iterative and incremental developments. a brief history , 2003, Computer.

[83]  Barry W. Boehm,et al.  Get Ready for Agile Methods, with Care , 2002, Computer.

[84]  Nenad Medvidovic,et al.  Refinement and Evolution Issues in Bridging Requirements and Architecture - The CBSP Approach , 2001 .

[85]  Agile Manifesto,et al.  Manifesto for Agile Software Development , 2001 .

[86]  Alistair Cockburn,et al.  Writing Effective Use Cases , 2000 .

[87]  John Kelly,et al.  Experiences Using Lightweight Formal Methods for Requirements Modeling , 1998, IEEE Trans. Software Eng..

[88]  Michael Jackson,et al.  Four dark corners of requirements engineering , 1997, TSEM.

[89]  Alexander L. Wolf,et al.  Joint Proceedings of the Second International Software Architecture Workshop (ISAW-2) and International Workshop on Multiple Perspectives in Software Development (Viewpoints '96) on SIGSOFT '96 workshops, ISAW '96, San Francisco, California, USA , 1996, ISAW/Viewpoints.

[90]  J. Goguen Requirements Engineering as the Reconciliation of Technical and Social Issues , 1994 .

[91]  Michael Jackson,et al.  Domain descriptions , 1993, [1993] Proceedings of the IEEE International Symposium on Requirements Engineering.

[92]  Kent L. Beck,et al.  Extreme programming explained - embrace change , 1990 .

[93]  Frederick P. Brooks,et al.  No Silver Bullet: Essence and Accidents of Software Engineering , 1987 .

[94]  Wladyslaw M. Turski,et al.  No Silver Bullet - Essence and Accidents of Software Engineering - Response , 1986, IFIP Congress.

[95]  Fred P. Brooks,et al.  The Mythical Man-Month , 1975, Reliable Software.