Parsed use case descriptions as a basis for object-oriented class model generation

Abstract: Object-oriented analysis and design has become a major approach in the design of software systems. Recent developments in CASE tools provide help in documenting the analysis and design stages and in detecting incompleteness and inconsistency in analysis. However, these tools do not contribute to the initial and difficult stage of the analysis process of identifying the objects/classes, attributes and relationships used to model the problem domain. This paper presents a tool, Class-Gen, which can partially automate the identification of objects/classes from natural language requirement specifications for object identification. Use case descriptions (UCDs) provide the input to Class-Gen which parses and analyzes the text written in English. A parsed use case description (PUCD) is generated which is then used as the basis for the construction of an initial UML class model representing object classes and relationships identified in the requirements. PUCDs enable the extraction of nouns, verbs, adjectives and adverbs from traditional UCDs for the identification process. Finally Class-Gen allows the initial class model to be refined manually. Class-Gen has been evaluated against a collection of unseen requirements. The results of the evaluation are encouraging as they demonstrate the potential for such tools to assist with the software development process.

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

[2]  Oliviero Stock,et al.  Proceedings of the third conference on Applied natural language processing , 1992 .

[3]  Manfred Broy,et al.  Software Pioneers: Contributions to Software Engineering , 2002 .

[4]  Peter P. Chen English Sentence Structure and Entity-Relationship Diagrams , 1983, Inf. Sci..

[5]  Ray Farmer,et al.  Object-Oriented Systems Analysis and Design Using UML , 2001 .

[6]  Gerald W. Both,et al.  Object-oriented analysis and design with applications , 1994 .

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

[8]  Fernando Gomez,et al.  A System for the Semiautomatic Generation of E-R Models from Natural Language Specifications , 1999, Data Knowl. Eng..

[9]  Lynette Hirschman,et al.  Overview of evaluation in speech and natural language processing , 1997 .

[10]  Alan R. Dennis,et al.  Systems Analysis and Design with UML Version 2.0: An Object-Oriented Approach , 2007 .

[11]  Mark Guzdial,et al.  Extending CRC cards into a complete design process , 2003 .

[12]  簡聰富,et al.  物件導向軟體之架構(Object-Oriented Software Construction)探討 , 1989 .

[13]  Sven Hartmann,et al.  English Sentence Structures and EER Modeling , 2007, APCCM.

[14]  Mosa Emhamed Elbendak Framework for using a Natural Language Approach to Object Identification , 2009, RANLP.

[15]  Timothy C. Lethbridge,et al.  Object-oriented Software Engineering , 2001 .

[16]  Veda C. Storey,et al.  A methodology for creating user views in database design , 1988, TODS.

[17]  Carolyn E. Begg,et al.  Database Systems: A Practical Approach to Design, Implementation and Management , 1998 .

[18]  Luisa Mich,et al.  NL-OOPS: from natural language to object oriented requirements using the natural language processing system LOLITA , 1996, Natural Language Engineering.

[19]  Imran Sarwar Bajwa Object Oriented Software Modeling Using NLP Based Knowledge Extraction , 2009 .

[20]  Arthur M. Langer,et al.  Analysis and Design of Information Systems , 2000, Springer New York.

[21]  Daniel Duffy From Chaos to Classes: Object-Oriented Software Development in C++ , 1995 .

[22]  Martin Gogolla Unified Modeling Language , 2009, Encyclopedia of Database Systems.

[23]  A Min Tjoa,et al.  Transformation of Requirement Specifications Expressed in Natural Language into an EER Model , 1993, ER.

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

[25]  Tom W. Rowlett The Object-Oriented Development Process: Developing and Managing a Robust Process for Object-Oriented Development , 2000 .

[26]  Eric Brill,et al.  Some Advances in Transformation-Based Part of Speech Tagging , 1994, AAAI.

[27]  Ivar Jacobson,et al.  The Unified Modeling Language User Guide , 1998, J. Database Manag..

[28]  Viviane Torres da Silva,et al.  The MOVA Tool: A Rewriting-Based UML Modeling, Measuring, and Validation Tool , 2007, JISBD.

[29]  Robert J. Gaizauskas,et al.  CM-Builder: A Natural Language-Based CASE Tool for Object-Oriented Analysis , 2003, Automated Software Engineering.

[30]  Ying Liang,et al.  An approach to object identification, selection and specification in object‐oriented analysis , 1998, Inf. Syst. J..

[31]  Terry A. McKee,et al.  OOPSLA '89 Conference proceedings on Object-oriented programming systems, languages and applications , 1989 .

[32]  Peter P. Chen,et al.  Entity-Relationship Modeling : Historical Events , Future Trends , and Lessons Learned , 2002 .

[33]  Stephen G. Pulman,et al.  A Method for Controlling the Production of Specifications in Natural Language , 1995, Comput. J..

[34]  H E Solberg,et al.  Object-oriented methods. , 1993, Clinica chimica acta; international journal of clinical chemistry.

[35]  Muhammad,et al.  A Rule Based System for Speech Language Context Understanding , 2006 .

[36]  James Martin,et al.  Object-oriented methods : a foundation , 1995 .

[37]  Sunil Vadera,et al.  From English to Formal Specifications , 1994, Comput. J..

[38]  Lilac A. E. Al-Safadi,et al.  Natural Language Processing for Conceptual Modeling , 2009, J. Digit. Content Technol. its Appl..

[39]  Kent L. Beck,et al.  A laboratory for teaching object oriented thinking , 1989, OOPSLA '89.

[40]  Ralph Grishman,et al.  Message Understanding Conference- 6: A Brief History , 1996, COLING.

[41]  Dong Liu,et al.  Natural Language Requirements Analysis and Class Model Generation Using UCDA , 2004, IEA/AIE.

[42]  Russ Abbott Program design by informal English descriptions , 1983, CACM.

[43]  Timothy Lethbridge,et al.  Object-oriented software engineering - practical software development using UML and Java , 2002 .

[44]  Craig Larman,et al.  Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and the Unified Process , 2001 .

[45]  Noushin Ashrafi,et al.  Object-oriented systems analysis and design , 2008 .

[46]  Ramez Elmasri,et al.  Fundamentals of Database Systems , 1989 .

[47]  Lynette Hirschman,et al.  The Evolution of evaluation: Lessons from the Message Understanding Conferences , 1998, Comput. Speech Lang..

[48]  Eric Brill,et al.  A Simple Rule-Based Part of Speech Tagger , 1992, HLT.

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

[50]  Nan Zhou Automatic Acquisition of Linguistic Patterns for Conceptual Modeling , 2005 .

[51]  Walter Daelemans,et al.  Feature-Rich Memory-Based Classification for Shallow NLP and Information Extraction , 2003, Text Mining.

[52]  Jugal K. Kalita,et al.  Automatically generating object models from natural language analysis , 2002, OOPSLA '02.

[53]  Sunil Vadera,et al.  Obtaining E-R Diagrams Semi-Automatically from Natural Language Specifications , 2004, ICEIS.

[54]  Tony Smith,et al.  Derivation of Classes from Use Cases Automatically Generated by a Three-Level Sentence Processing Algorithm , 2008, Third International Conference on Systems (icons 2008).

[55]  Robert John Pooley,et al.  Object-oriented Analysis Using Natural Language Processing , 2006 .

[56]  Walter Daelemans,et al.  Rapid Development of NLP Modules with Memory-based Learning , 1998 .