Loading…
CM-Builder: A Natural Language-Based CASE Tool for Object-Oriented Analysis
Graphical CASE (Computer Aided Software Engineering) tools provide considerable help in documenting the output of the Analysis and Design stages of software development and can assist in detecting incompleteness and inconsistency in an analysis. However, these tools do not contribute to the initial,...
Saved in:
Published in: | Automated software engineering 2003-04, Vol.10 (2), p.157-181 |
---|---|
Main Authors: | , |
Format: | Article |
Language: | English |
Subjects: | |
Citations: | Items that cite this one |
Online Access: | Get full text |
Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
Summary: | Graphical CASE (Computer Aided Software Engineering) tools provide considerable help in documenting the output of the Analysis and Design stages of software development and can assist in detecting incompleteness and inconsistency in an analysis. However, these tools do not contribute to the initial, difficult stage of the analysis process, that of identifying the object classes, attributes and relationships used to model the problem domain. This paper describes an NL-Based CASE tool called Class Model Builder (CM-Builder) which aims at supporting this aspect of the Analysis stage of software development in an Object-Oriented framework. CM-Builder uses robust Natural Language Processing techniques to analyse software requirements texts written in English and constructs, either automatically or interactively with an analyst, an initial UML Class Model representing the object classes mentioned in the text and the relationships among them. The initial model can be directly input to a graphical CASE tool for further refinement by a human analyst. CM-Builder has been quantitatively evaluated in blind trials against a collection of unseen software requirements texts and we present the results of this evaluation, together with the evaluation method. The results are very encouraging and demonstrate that tools such as CM-Builder have the potential to play an important role in the software development process. |
---|---|
ISSN: | 0928-8910 1573-7535 |
DOI: | 10.1023/A:1022916028950 |