Creating design from requirements and use cases: bridging the gap between requirement and detailed design

High-level design from requirements continues to follow a manual, process centric approach, with heavy dependence on experts. In this paper we propose "Design Assistant Tool" (DAT) that combines natural language processing techniques and common design heuristics to create a functional design from a set of relatively structured textual requirements and use cases. To create a functional design, DAT processes a set of structured requirements and use cases using a set of heuristics and identifies a set of coarse grained modules, classes, and data entities as UML models. In this process, DAT produces two important design artifacts, namely a set of functional modules and classes and a set of entity classes. The functional modules form the basis of application logic and entity classes form the basis of data model. Our early investigations have shown that the resulting design is a good starting point for the detailed design and implementation.

[1]  Philippe Kruchten,et al.  The Rational Unified Process: An Introduction , 1998 .

[2]  Anneke Kleppe,et al.  MDA explained - the Model Driven Architecture: practice and promise , 2003, Addison Wesley object technology series.

[3]  Olga Ormandjieva,et al.  Automatic Transition of Natural Language Software Requirements Specification into Formal Presentation , 2005, NLDB.

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

[5]  Graeme Simsion,et al.  Data Modeling Essentials , 1994 .

[6]  Kunal Verma,et al.  Accelerating technical design of business applications: a knowledge-based approach , 2010, ISEC.

[7]  Jörg Rech,et al.  Intelligent Assistance in German Software Development: A Survey , 2007, IEEE Software.

[8]  I. C. Parmee Towards Interactive Evolutionary Design Systems , 2001 .

[9]  Luisa Mich,et al.  NL-OOPS: A Requirements Analysis Tool Based On Natural Language Processing , 2002 .

[10]  Daniel Jackson,et al.  Problem frame transformations: deriving specifications from requirements , 2006, IWAAPF '06.

[11]  Michael W. Godfrey,et al.  Concept identification in object-oriented domain analysis: why some students just don't get it , 2005, 13th IEEE International Conference on Requirements Engineering (RE'05).

[12]  Jane Cleland-Huang,et al.  A consensus based approach to constrained clustering of software requirements , 2008, CIKM '08.

[13]  Alex Kass,et al.  Automated review of natural language requirements documents: generating useful warnings with user-extensible glossaries driving a simple state machine , 2009, ISEC '09.

[14]  Rudi Lutz,et al.  Evolving good hierarchical decompositions of complex systems , 2001, J. Syst. Archit..

[15]  Dong Liu,et al.  Natural language requirements analysis and class model generation using UCDA , 2004 .

[16]  Philippe Kruchten,et al.  The 4+1 View Model of Architecture , 1995, IEEE Softw..

[17]  Douglas C. Schmidt,et al.  Guest Editor's Introduction: Model-Driven Engineering , 2006, Computer.

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

[19]  Bran Selic,et al.  The Pragmatics of Model-Driven Development , 2003, IEEE Softw..

[20]  Scott A. Smolka,et al.  Interactive Computation: The New Paradigm , 2006 .

[21]  Mike Chiasson,et al.  A model of design decision making based on empirical results of interviews with software designers , 2007, Inf. Softw. Technol..

[22]  Dan Pilone,et al.  UML 2.0 in a Nutshell (In a Nutshell (O'Reilly)) , 2005 .

[23]  Alex Kass,et al.  Extracting High-Level Functional Design from Software Requirements , 2009, 2009 16th Asia-Pacific Software Engineering Conference.

[24]  Brian Fitzgerald,et al.  Linking Model-Driven Development and Software Architecture: A Case Study , 2009, IEEE Transactions on Software Engineering.

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

[26]  Siobhán Clarke,et al.  Theme: an approach for aspect-oriented analysis and design , 2004, Proceedings. 26th International Conference on Software Engineering.

[27]  Frank Budinsky,et al.  EMF: Eclipse Modeling Framework 2.0 , 2009 .

[28]  Giuseppe Lami QuARS: A Tool for Analyzing Requirements , 2005 .

[29]  Robert L. Glass,et al.  Facts and fallacies of software engineering , 2002 .

[30]  Owen Rambow,et al.  Conceptual modeling through linguistic analysis using LIDA , 2001, Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001.

[31]  Ratna Sanyal,et al.  Semi-automatic generation of UML models from natural language requirements , 2011, ISEC.

[32]  G. V. Uma,et al.  Automatic construction of object oriented design models [UML diagrams] from natural language requirements specification , 2006 .

[33]  Ian C. Parmee,et al.  Interactive, Evolutionary Search in Upstream Object-Oriented Class Design , 2010, IEEE Transactions on Software Engineering.

[34]  Zhi Li,et al.  Progressing problems from requirements to specifications in problem frames , 2008, IWAAPF '08.

[35]  Björn Lundell,et al.  Modelling architectural design rules in UML , 2008 .

[36]  Juha-Pekka Tolvanen,et al.  Defining Domain-Specific Modeling Languages to Automate Product Derivation: Collected Experiences , 2005, SPLC.

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

[38]  S. Sarkar,et al.  EAML - architecture modeling language for enterprise applications , 2004, IEEE International Conference on E-Commerce Technology for Dynamic E-Business.

[39]  Nenad Medvidovic,et al.  Reconciling software requirements and architectures: the CBSP approach , 2001, Proceedings Fifth IEEE International Symposium on Requirements Engineering.

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