ABSTRACT
Going from requirements analysis to design phase is considered as one of the most complex and difficult activities in software development. Errors caused during this activity can be quite expensive to fix in later phases of software development. One main reason for such potential problems is due to the specification of software requirements in Natural Language format. To overcome some of these defects we have proposed a technique, which aims to provide semi- automated assistance for developers to generate UML models from normalized natural language requirements using Natural Language Processing techniques. This technique initially focuses on generating use-case diagram and analysis class model (conceptual model) followed by collaboration model generation for each use-case. Then it generates a consolidated design class model from which code model can also be generated. It also provides requirement traceability both at design and code levels by using Key-Word-In-Context and Concept Location techniques respectively to identify inconsistencies in requirements. Finally, this technique generates XML Metadata Interchange (XMI) files for visualizing generated models in any UML modeling tool having XMI import feature. This paper is an extension to our existing work by enhancing its complete usage with the help of Qualification Verification System as a case study.
- Ambriola, V. and Gervasi, V. Processing natural language requirements. Proceedings of the 12th International conference on automated software engineering (ASE), 36--45, (1997) Google ScholarDigital Library
- Jackson, M. Problems and requirements {software development}, Proceedings of the second international symposium on requirement engineering, pp. 2, (1995). Google ScholarDigital Library
- Boyd, N. Using Natural Language in Software Development. Journal of OO Programming 11(9), pp. 45--55, (1999)Google Scholar
- Osborne, M. and MacNish, C. K. Processing natural language software requirement specifications. In Proc. of 2nd IEEE Int. Conf. on Req. Engineering, pp. 229--236, (1996) Google ScholarDigital Library
- Harmain, H. M. and Gaizauskas, R. CM-Builder: an automated NL-based CASE tool. In Proc. of the 15th IEEE Int. Conf. on Automated Software Engineering, pp. 45--53, (2000) Google ScholarDigital Library
- Kalaivani S, Dong L, Behrouz H. F and Eberlein, A. UCDA: Use Case Driven Development Assistant Tool for Class Model Generation. In Proc. of 16th Int. Conf. on Software Engineering and Knowledge Engineering, Banff, Canada, pp. 324--329, (2004).Google Scholar
- Mich, L. NL-OOPS: from natural language to object oriented requirements using the natural language processing system LOLITA. Nat. Lang. Eng., 2, 2, pp. 161--187 (1996) Google ScholarDigital Library
- Overmyer, S. P., Benoit, L. and Owen, R. Conceptual modeling through linguistic analysis using LIDA. In Proc. of the 23rd Int. Conf. of Software Engineering (ICSE), Toronto, Canada, pp. 401--410, (2001) Google ScholarDigital Library
- Deeptimahanti, D. K. and Sanyal, R. An Innovative Approach for Generating Static UML Models from Natural Language Requirements. Springer Berlin Heidelberg, Communication in computer and Information Science, Advances in Software Engineering, Springer, Vol. 30, page 147 (2009)Google ScholarCross Ref
- Deva Kumar, D. and Sanyal, R. Static UML Model Generator from Analysis of Requirements (SUGAR). International Conference on Advanced Software Engineering and Its Applications (ASEA 2008), pp. 77--84 (2008) Google ScholarDigital Library
- Deeptimahanti, D. K. and Babar, M. A. An Automated Tool for Generating UML Models from Natural Language Requirements. IEEE / ACM Int. Conf. on ASE, 2009 Google ScholarDigital Library
- OMG XML Metadata Interchange. Object Management Group, MOF 2.0/XMI Mapping, v. 2.1.1 (2007), http://www.omg.org/docs/formal/07-12-02.pdf (2007)Google Scholar
- Ryan, K. The role of natural language in requirements engineering. Proceedings of the IEEE Int. Symposium on Requirements Engineering. San Diego, CA, pp. 240--242., (1993).Google Scholar
- Kof, L. Natural Language Processing for Requirement Engineering: Applicability to large Requirements Documents, Requirement engineering 9(1), pp. 40--56, (2004).Google Scholar
- Kamsties, E. and Paech, B. Taming Ambiguity in Natural Language Requirements. In ICSSEA, Paris, Foundations of decision and computing sciences, 29 (1--2), pp. 89--101, 2000.Google Scholar
- Berry, M D. Ambiguity in Natural Language Requirements Documents, Innovations for Requirement Analysis. From Stakeholders' Needs to Formal Designs, Lecture Notes in Computer Science, Vol. 5320/2008, pp. 1--7, 2008 Google ScholarDigital Library
- Börstler, J. User-Centered Requirements Engineering in RECORD - An Overview. Proc. of Nordic Workshop on Programming Environment Research'96, Denmark, pp. 149--156.Google Scholar
- Nanduri, S. and Rugaber, S. Requirements validation via automated natural language parsing. Journal of Management Information Systems 1995--96; 12(3): pp. 9--19, 1996 Google ScholarDigital Library
- Popescu, D., Rugaber, S., Medvidovic, N. and Berry, D. M. Reducing Ambiguities in Requirements Specifications Via Automatically Created Object-Oriented Models. In Innovations for Requirement Analysis. From Stakeholders' Needs to Formal Designs. Springer, pp. 103--124. 2008. Google ScholarDigital Library
- Li, L. A Semi-Automatic Approach to Translating Use Cases to Sequence Diagrams. Proc. of the Technology of Object-Oriented Languages and Systems, pp. 184, June 07--10, 1999. Google ScholarDigital Library
- Montes, A., Pacheco, H., Estrada, H. and Pastor, O. Conceptual Model Generation from Requirements Model: A Natural Language Processing Approach. LNCS. Vol. 5039, pp. 325--326, Springer, 2008 Google ScholarDigital Library
- Isabel Diaz, Lidia Moreno, Inmaculada Fuentes and Pastor, O. Integrating Natural Language Techniques in OO-Methods. Computational Linguistics and Intelligent Text Processing, LNCS, Vol. 3406, pp. 177--188, Springer 2005. Google ScholarDigital Library
- Tao Yue, Lionel C Briand and Yvan Labiche, An Automated Approach to Transform Use Cases into Activity Diagrams, Modelling Foundations and Applications, LNCS, Volume 6138, pp. 337--353, (2010) Google ScholarDigital Library
- RAVENFLOW, http://www.ravenflow.com/Google Scholar
- Li K. Dewar R. G. and Pooley R. J. Object-Oriented Analysis Using Natural Language Processing, in proc. of ICYCS'05, Beijing, China, 2005Google Scholar
- Simon B., Steve M. and Farmer R. Object-Oriented Systems Analysis and Design Using UML. Publisher McGraw Hill, 2005. Google ScholarDigital Library
- Klein, D. and Manning, C. Stanford Parser 1.6. Stanford Natural Language Processing Group, City, 2007.Google Scholar
- JavaRAP, last accessed 2nd December, 2010, http://aye.comp.nus.edu.sg/~qiu/NLPTools/JavaRAP.html,.Google Scholar
- WordNet 2.1, last updated http://wordnet.princeton.edu/wordnet/, 27th October, 2010Google Scholar
- Marcus, A., Sergeyev, A., Rajlich, V., and Maletic, J., An Information Retrieval Approach to Concept Location in Source Code, in Proceedings 11th IEEE Working Conference on Reverse Engineering (WCRE'04), pp. 214--223, 2004. Google ScholarDigital Library
- Roberts, P. Patterns of English. Publisher Harcourt, Brace, and World, Inc., New York, 1956Google Scholar
- Rebecca Wirfs-Brock and McKean, A. Object Design: Roles, Responsibilities, and Collaborations. Addison-Wesley, 2003, ISBN 0201379430. Google ScholarDigital Library
- Kruchten, P. The Rational Unified Process An Introduction, 3rd edition. Addison-Wesley Professional, 2003. Google ScholarDigital Library
- Garcia, E. Description, Advantages and Limitations of the Classic Vector Space Model, 2007. http://www.miislita.com/term-vector/term-vector-3.html.Google Scholar
- Enterprise Architect 7.1, http://www.sparxsystems.com.au/Google Scholar
- ArgoUML 0.30.2, http://argouml.tigris.org/Google Scholar
Index Terms
- Semi-automatic generation of UML models from natural language requirements
Recommendations
An Automated Tool for Generating UML Models from Natural Language Requirements
ASE '09: Proceedings of the 24th IEEE/ACM International Conference on Automated Software EngineeringThis paper describes a domain independent tool, named, UML Model Generator from Analysis of Requirements (UMGAR), which generates UML models like the Use-case Diagram, Analysis class model, Collaboration diagram and Design class model from natural ...
Automatic code generation from unified modelling language sequence diagrams
Unified modelling language (UML) is a visual modelling language, which has gained popularity among software practitioners. In a model‐driven software development environment, the existing UML tools mainly support automatic generation of structural code ...
Automatic generation of feature models from UML requirement models
SPLC '12: Proceedings of the 16th International Software Product Line Conference - Volume 2It is well known that during the domain requirement engineering phase with UML, both feature models and UML notations (e.g. UML use case diagrams and activity diagrams for describing use cases) are necessary. The development in parallel of UML models ...
Comments