Conceptual modeling of natural language functional requirements

Automated of conceptual model using syntactical analysis.Evaluation of quality of conceptual model.Coarse-graining conceptual models for human understanding. Requirements analysts consider a conceptual model to be an important artifact created during the requirements analysis phase of a software development life cycle (SDLC). A conceptual, or domain model is a visual model of the requirements domain in focus. Owing to its visual nature, the model serves as a platform for the deliberation of requirements by stakeholders and enables requirements analysts to further refine the functional requirements. Conceptual models may evolve into class diagrams during the design and execution phases of the software project. Even a partially automated conceptual model can save significant time during the requirements phase, by quickening the process of graphical communication and visualization.This paper presents a system to create a conceptual model from functional specifications, written in natural language in an automated manner. Classes and relationships are automatically identified from the functional specifications. This identification is based on the analysis of the grammatical constructs of sentences, and on Object Oriented principles of design. Extended entity-relationship (EER) notations are incorporated into the class relationships. Optimizations are applied to the identified entities during a post-processing stage, and the final conceptual model is rendered.The use of typed dependencies, combined with rules to derive class relationships offers a granular approach to the extraction of the design elements in the model. The paper illustrates the model creation process using a standard case study, and concludes with an evaluation of the usefulness of this approach for the requirements analysis. The analysis is conducted against both standard published models and conceptual models created by humans, for various evaluation parameters.

[1]  S. Abirami,et al.  Effective visualization of conceptual class diagrams , 2012, 2012 International Conference on Recent Advances in Computing and Software Systems.

[2]  Dean Leffingwell,et al.  Agile Software Requirements: Lean Requirements Practices for Teams, Programs, and the Enterprise , 2011 .

[3]  Grady Booch,et al.  Object-Oriented Analysis and Design with Applications , 1990 .

[4]  J. F. M. Burg,et al.  Linguistic instruments in requirements engineering , 1996 .

[5]  Kurt W. Derr Applying Omt: A Practical Step-By-Step Guide to Using the Object Modeling Technique , 1995 .

[6]  Ewan Klein,et al.  Natural Language Processing with Python , 2009 .

[7]  Sankhayan Choudhury,et al.  A requirement framework for enablement of automatic generation of domain model , 2010, 2010 International Conference on Computer Information Systems and Industrial Management Applications (CISIM).

[8]  William E. Lorensen,et al.  Object-Oriented Modeling and Design , 1991, TOOLS.

[9]  Kate Shoup,et al.  Webster's New World English Grammar Handbook , 2001 .

[10]  Lionel C. Briand,et al.  A systematic review of transformation approaches between user requirements and analysis models , 2011, Requirements Engineering.

[11]  James H. Martin,et al.  Speech and Language Processing: An Introduction to Natural Language Processing, Computational Linguistics, and Speech Recognition , 2000 .

[12]  Emden R. Gansner,et al.  Graphviz - Open Source Graph Drawing Tools , 2001, GD.

[13]  Yinglin Wang,et al.  Extracting Software Functional Requirements from Free Text Documents , 2009, 2009 International Conference on Information and Multimedia Technology.

[14]  Paul Vickers,et al.  Parsed use case descriptions as a basis for object-oriented class model generation , 2011, J. Syst. Softw..

[15]  Scott W. Ambler,et al.  The Elements of UML(TM) 2.0 Style , 2005 .

[16]  Grady Booch,et al.  Object-oriented analysis and design with applications, third edition , 2007, SOEN.

[17]  Vincenzo Gervasi,et al.  On the Systematic Analysis of Natural Language Requirements with CIRCE , 2006, Automated Software Engineering.

[18]  James H. Martin,et al.  Speech and language processing: an introduction to natural language processing, computational linguistics, and speech recognition, 2nd Edition , 2000, Prentice Hall series in artificial intelligence.

[19]  Arne Sølvberg,et al.  Understanding quality in conceptual modeling , 1994, IEEE Software.

[20]  Craig Larman,et al.  Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development (3rd Edition) , 1997 .