0% found this document useful (0 votes)
21 views10 pages

UML Generator - Use Case and Class Diagram

Uploaded by

Tosh Tonpe
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
21 views10 pages

UML Generator - Use Case and Class Diagram

Uploaded by

Tosh Tonpe
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 10

International Journal on Advances in ICT for Emerging Regions 2017 10 (1): DOI: http://doi.org/10.4038/icter.v10i1.

7182

UML Generator – Use Case and Class Diagram


Generation from Text Requirements
Chamitha Ramal Narawita, Kaneeka Vidanage

Abstract— This research mainly is focused on  There could be different ways of representing the same
automation of Unified Modeling Language (UML) semantic.
diagrams from the analyzed requirement text using  Concepts that were not explicitly expressed in a written
Natural Language Processing (NLP). The looks and source are often very difficult to model. Usually, expert
styles of software engineering have been completely domain knowledge is needed to identify the hidden
changed in the recent times. Presently, software classes.
engineering follows the rules of Object Oriented design
patterns. All phases of software engineering are Design phase is the most important among the other phases
deviating from the conventions and new paradigms are because blueprint of a system helps developers to avoid all
more popular these days. Same is the case with Software the misunderstanding regarding the software by involving
analysis process which uses Unified Modeling Language the users. Requirement engineers analyze requirements
to map and model the user requirements. Analysis is the manually to come out with highly precise UML diagrams
key process of building modern information system for their systems. By modeling a system, most important
applications and base for the robust and vigorous aspect is to capture the dynamic behaviors. Static behaviors
software application’s design and development. are not sufficient to build models for a system rather using
Nowadays everybody needs a quick and reliable service. dynamic behaviors. Use case diagram shows dynamic
It was necessary to have some sort of quick, accurate aspects of a system with both internal and external
and intelligent software for generating UML based interactions. They describe the events of a system and their
documentations to save time and budget of both the user flows. However, the use cases never describe how they are
and system analyst [1]. implemented. When it comes to class diagrams its other
way around. The class diagrams can be defined as static
Keywords— UML Diagrams, Use Case Diagram, Class diagrams and they represent the static view of a system. A
Diagram, Natural Language Processing, Artificial class diagram contains classes of the system, their attributes,
Intelligence, Machine Learning, Software Design Phase operations and constraints imposed on the system. They can
be directly mapped with the object-oriented languages as
I. INTRODUCTION well. Therefore, to provide a dynamic and a static view of
the scenario, UML Generator generates use case and class
The automation of UML Diagrams using natural diagrams by analyzing the input text. This research will be
language processing is a highly challenging task due to the contributing towards filling the gap between gathered user
following reasons [2]. requirements and the phase of the implementation by
 Natural language is arguable. Thus, detailed and error- sorting out the problems mentioned above[3].
free analysis is very difficult.
According to the norms and conventions, before drawing
the UML diagrams the system analyst has to do a lot of
work by analyzing the business logics and figuring out the
Manuscript received on 12th November, 2016. Recommended by Dr. user requirements. Out of the tools, the author considered
T.M.H.A.Usoof on 4th May, 2017. This paper is an extended version of the the absence of a software which provides services by
paper, "UML Generator An Automated System for Model Driven manually drawing UML diagrams more efficiently except
Development" presented on ICTer2016 Conference. Rational Rose and Smart Draw and there is no doubt that
these are reasonably good software but with many
Chamitha Narawita is a BEng(Hons) student at University of Westminster disadvantages. First, analysis is needed to investigate the
and following Master of Computer Science (MSC) at University of requirements and then draw the models separately. Hence,
Colombo. Currently working as a Software Engineer at Calcey
there is wastage of so much time when using current
Technologies. (e-mail: [email protected])
available tools to create UML models for the required
Kaneeka Vidanage is an M Phil candidate in semantic web from
University of Colombo and a lecturer at Informatics Institute of
scenario. Nowadays, everybody needs a quick and reliable
Technologies.. (e-mail: [email protected])
service. Moreover, the time spent on analyzing systems and
poor quality of human analysis shows the need of
automated support.

International Journal on Advances in ICT for Emerging Regions June 2017


UML Generator – Use Case and Class Diagram Generation from Text Requirements 2

UML Generator is a web application, which was


How do you rate an automated system to generate developed using C#.Net framework. SharpNLP has been
UML diagrams? used as the NLP library, which is the C# open port of the
Java OpenNLP tools, plus additional code to facilitate NLP.
40 30
B. Machine Learning
20 13
8 By using machine, learning with the UML Generator it
0 0 understands the key features of the use case and class
0 diagrams as follows.
Very Low Low Somewhat Somewhat High
Low High  Identify meaningful and not meaningful use cases (rate
use cases).
Fig. 1 Importance of an automated system  Identify relationship types in use case diagram
(associations between use cases and actors, include,
As shown in figure 1 according to the survey carried out to extends and generalizations).
gather requirements, most of the users have agreed to the
 Identify relationship types in class diagram
researcher’s opinion, which 75% (38 out of 51) of overall
(associations between classes, aggregations,
responses have positive thoughts regarding this system.
compositions and generalizations)
 Identify multiplicities in a relationship in class diagram
(Zero to One, One to One, Zero to Many, One to Many,
II. LITERATURE REVIEW Many to Many).
Table I shows the accuracy levels of the algorithms for the
A. Natural Language Processing (NLP) rate use cases model built in Weka. The author has
Once the user enters the requirements, there should be a considered both efficiency and accuracy levels of the
mechanism to extract the information and to understand the algorithms when training the Weka models.
text from currently available techniques. To analyze a large
amount of text data, currently NLP is the only available TABLE I
technique for the developers. NLP is an area of research and ACCURACY LEVELS OF THE CLASSIFIERS
application that explores how computers can be used to
Classifier Description
understand and manipulate natural language text or speech
to do useful things [7]. Multi-layer Multi-layer Perceptron has 100% of
User requirement analysis is an information extraction Perceptron accuracy with the use case rating
application of NLP. It is the identification of specific model. But it has spent 270.28 seconds
semantic elements within the user's requirements entered in to build the model.
textual form [3]. Therefore, proposed system comes under
information extraction over the Information Retrieval and
Question Answering Tasks in NLP [5].
To extract the information from a given text, several
approaches were used in natural language processing. However, there could be more than
one use case in a scenario to rate when
1) Sentence Splitting running it real time. Therefore, using
Using this approach, the proposed system is expected MLP can raise various performance
to split the all text into sentences after user entering the issues with the system.
requirements. Logistics
2) Lexical Analysis
Lexical analysis approach will get the split sentences
Logistics has a decent amount of good
and it will tokenize the sentences into words.
accuracy level with the model and it
3) Syntax Analysis has spent only 0.35 seconds to build
From this, the module receives the lexical tokens as the the model
input and applies a rule-based approach. It generates
outputs in form of parts of speech in a given text. Sequential SMO has a lower accuracy level than
Minimal the Logistics.
4) Word Chunking Optimization
By using a chunking approach to the proposed system, (SMO)
the main expectation is to derive the use cases from the
input text. It identifies noun phrases (NP), verb phrases
(VP), and prepositional phrases (PP) using tokenized text
and POS tags. Weka has been used as the machine leaning tool to develop
the UML Generator. Taking into consideration about the

June 2017 International Journal on Advances in ICT for Emerging Regions


3 Chamitha Ramal Narawita, Kaneeka Vidanage

accuracy levels and performances, Logistics classifier has  Maybe, sometimes, either, etc. indicates the Extend
been used to train the use case model. relationships. [8]
 Divided to, either by, is a type of etc. indicates the use
case and class Generalizations. [9]
 In, to, by, etc. indicated the class Associations.
 Must, have, first, has to, etc. indicates the Aggregation.
[8]
 As an option, depends on, do not have, etc. indicates
Composition.

C. Rule Based Approach


A rule-based system is used in the field of computer science,
as it is a series of if-then statements using assertions. These
assertions dictate how each rule will react, given the
assertions already in place [4]. In the proposed system, rule-
Fig. 2 Text classification flow based approach will assist with the following functionalities
Fig. 2 shows the text classification flow of the UML  Remove unwanted terms in the user input text.
generator.  Identify specific terms in the input text.
The relationships between use cases and classes were  Define Weka ARFF file names to read the files.
recognized using an algorithm written in C#. Figure 3 The best approach to implement the rule based approach is
shows an example of the use case relationship generation using XML. By using XML rules, we can define an own
using Weka vote classifier. Same algorithm has been used structure for the XML file and develop our own algorithm
to extract the relationships between classes as well. to execute the rules. 0

Fig. 4 Structure of the rules XML file

Fig. 4 shows the structure of the XML file that has been
Fig. 3 Relationship recognition algorithm used to define the rules.
Let us assume there is a paragraph that consists of three
sentences. Using Natural Language Processing sentence
Root element of the XML file is defined as Rules. Within
tokenization happens and then C# algorithm will combine
the root element, can define any number of Rule elements
the sentence 1 and sentence 2 as shown in the figure. Then
with the name and the type of the rule whether it belongs to
it will send to the Weka relationship recognition model and
class diagram (Class) or use case (UseCase) diagram.
will output the voted values for each relationship type.
Using Condition elements, it defines specific terms inside
Same process will happen between sentence 1 and sentence
the Value attribute.
3 as well. Now there are two maximum values have been
selected and the highest voted value will be the relationship D. Diagram Generation
type between two sentences. The output of this system is a visual studio modeling
diagram project that consists of generated use case and class
As earlier mentioned Weka models have been used to diagram using selected actors, classes, use cases, attributes,
recognize the relationships between use cases and classes. use case relationships and class relationships.
In the Weka models, the author has defined some specific
words to identify the relationship types. There are many CASE tools to draw the UML diagrams.
StarUML and Rational Rose are some of famous tools
 Must, should, required to, etc. indicates the Include currently using in the industry. UML Generator is an
relationships integrated solution for the Visual Studio (VS). To integrate

International Journal on Advances in ICT for Emerging Regions June 2017


UML Generator – Use Case and Class Diagram Generation from Text Requirements 4

a software to an existing Microsoft product, all the


technologies and tools that have been used to develop the Considering the current methods used to draw the UML
software should have Microsoft license. Therefore, visual diagrams, as shown in figure 5, 59% of the respondents still
studio modeling can be used to generate the final outputs of manually review and update the model, which is more time
UML Generator. The all three tools (Rational Rose, consuming and is the traditional way of drawing UML
StarUML and VS Modeling) are currently not providing diagrams.
any documentation or an API to override their product.
However, the base of VS Modeling with XML is simple to The proposed system delivers both static and behavioral
understand rather using StarUML or Rational Rose. features of a system. It generates a use case diagram to
express the behavioral behaviors and static behaviors are
E. Related Work expressed by the class diagram. However, in UML, there
Few researchers have done UML diagram generation are many diagrams, which deliver static features and
using natural language processing. After understanding the behavioral features of a system.
importance of automating the UML diagrams, most of the
researchers have used natural language processing and
domain ontology to get expected outcomes.
Using rule-based module specifies subject nouns as
objects, verbs as methods of the objects, and adjectives as
attributes of the object. Object nouns are sometimes
specified as objects and sometimes as attributes. Then
associations and relationships among extracted classes are
performed. Finally, a logical model of the class diagrams
generates based on previously extracted Information. The
drawing module converts the logical model into the class
diagrams by connecting small pieces of images already
stored in the database [3].
Most of the researchers have used only NLP, rule-based Fig. 6 Static features of a system
approach to achieve the task and only generates the class
diagram or the use case diagram. By creating an image as
the final output, users will not be able to add their own
modifications, which limits the user to the system.
A research done by Bajwa and Hyder using LESSA
approach was all about the automatic generation of the Use
Case diagrams after reading and analyzing the given
scenario in English language provided by the user. Their
designed system could find out the classes and objects
together with their attributes and operations using an
artificial intelligence technique such as natural language
processing. Then the Use Case diagrams are drawn [6].
NLP is the core technology that has used to extract the
information from the text.

F. Gathered Information Fig. 7 Behavioral features of a system

To gather the requirements the author has used online As shown in figure 6 and 7 respondents have responded to
questionnaires and interviews. the questions that asked regarding best diagrams to capture
the static and behavioral behaviors of a system (researcher
does not mention that the proposed system is going to
generate use case and class diagrams). According to the

Fig. 5 Current methods to darw UML diagrams

June 2017 International Journal on Advances in ICT for Emerging Regions


5 Chamitha Ramal Narawita, Kaneeka Vidanage

results, a class diagram is the most desired diagram among class


the respondents that captures static features. Considering diagram
about behavioral features, use case has obtained higher FR05 Extract From the user input text recognize
number of responses. However, activity diagram has 16 relationships the different types of relationships
responses as well. Considering the limitations in between in class diagram
automation of activity diagram needs higher level of classes
intelligence, which describes sequences between activities FR06 User select System suggested classes for the
of the system. Hence, use case diagram could be a good classes for class diagram to be drawn. User
solution to deal with the scope of this research. class can remove unwanted classes
diagram suggested by the system.
FR07 User select System suggested relationship
relationship types between classes. If there are
types for any wrong suggestions by the
class system, user can change to the
diagram desired one.
FR08 Extract From the user input text, recognize
multiplicities the multiplicities in class diagram
between
classes
FR09 Generate use Using all the data gathered from
case and user input text system generates use
Fig. 8 Importance of correspondent between UML diagrams and class case and class diagram XML files
implementations diagram for visual studio
XML files
Figure 8 shows how important it is to maintain UML FR10 Real time User has to enter the requirements
designs correspondent to the implementations. 90% of the validates the according to pre-defined rules. If
respondents have mentioned correspondence between user input there is any mismatch in the text,
implementation and the associated UML designs are text system draws a red line under the
important. sentence.
For this questionnaire, the targeted users were software
developers, project managers and business analysists in the H. Non Functional Requirements
industry because they use UML diagrams in their day-to-
day life. Non-functional requirements define the qualities and
system attributes that can be used to evaluate the system.
Following are the non-functional requirements of the
G. Functional Requirements proposed system.
TABLE III
1) Performance
FUNCTIONAL REQUIREMENTS
a. Efficiency: System should generate the use case
No. Functional Description and class diagrams quickly (fast respond).
Requirement
b. Accuracy: should provide high level of accuracy
FR01 Recognize Using NLP and Weka models when extracting the elements in use case and class diagram.
use cases recognize the use cases from user
input text 2) Usability
FR02 Extract From the user input text recognize The user interface of the system should clear, simple,
relationships the different types of relationships attractive, consistent, and easy to understand.
between in use case diagram
actors and 3) Maintainability
use cases Application should easily maintainable.
FR03 User select System suggested actors for the use Implementations should follow the coding standards, which
actors for use case to be drawn. User can remove improves readability and understandability.
case unwanted actors suggested by the
system. 4) Reliability
FR04 Recognize Using NLP recognize the classes
System should always behave consistently by
classes for from user input text
acquiring user needs. The use case and class diagrams,

International Journal on Advances in ICT for Emerging Regions June 2017


UML Generator – Use Case and Class Diagram Generation from Text Requirements 6

which generates by the system should have higher level of 1. The user starts the web application by entering the URL
accuracy. of the website. After finish loading, the UML Generator
web application user has to enter the requirement text
III. HIGH LEVEL ARCHITECTURE inside the text area.
2. Entered text scenario will send to the NLP module and
then text tokenization will happen. Then extracts part-
of-speech (POS) tagging and UML Generator identifies
actors for the use case diagram and classes for the class
diagram using nouns of the POS tag vales. XML rule
based approach removes the unwanted words from the
identified nouns list and will output further accurate
results to the user.
Use cases were identified using the word chunking
technique in NLP. Usually to be an usecase there should
be a verb and a noun. Word chunking recognizes verb
phrases, noun phrases and prepositional phrases.
Therefore, use cases were created using consecutive
verb phrases with a noun phrases.

E.g.: [VP inserts/VBZ ] [NP ATM/NNP card/NN ]


VP – Verb Phrase, NP – Noun Phrase
Use case: inserts ATM card
There are five main modules in the UML Generator with
Moreover, the XML rule based approach has been used
the website. Users of the system interact only with the
to filter the unwanted words from the recognized use
website of the UML Generator. User can upload a text file
cases. A trained Weka model has been used to rate the
that contains a scenario or just copy and paste the text in the
use cases that identified using NLP. Each use case will
text area. The system extracts the user cases, actors, classes,
send to the Weka model and rated as “Use case” or “Not
attributes using both NLP module and XML Rules. After
a Use Case”.
identifying use cases, Weka module rates the use cases as
“use case” and “not a use case”. Associations were Attributes were identified using XML rule based
extracted using Weka modules according to the C# approach. In the XML file, words have defined to
algorithm that author has implemented. recognize as the attributes. Moreover, if there are two
consecutive nouns and if the second noun is number, no,
Visual studio modeling draws the use case and class
type, code, date, volume, id, name, address, year, record,
diagram. The system suggests the findings to the user and
etc. it has identified as an attribute.
they can filter the use cases, actors, classes, attributes and
3. Shows the Initial findings to the user on the website.
all the relationship types. Therefore, the output is highly
customizable and user can get the desired output according 4, 5, 6, 7: User can select and filter identified use cases,
to the requirements. attributes, actors for use case diagram and classes for the
class diagram. The filtering steps are optional to
IV. PROPOSED APPROACH generate the diagrams. User can proceed with the initial
findings as it is.
8. Using initial findings, relationships were extracted
between use cases and classes. With the relationships
recognition algorithm mentioned earlier, the Weka vote
algorithm has been used with the Logistics and SMO
classifiers.
9. The extracted relationships will be shown using tables
in the UML Generator website.
10. User can make further changes by changing the
relationship types between use case and classes which
identified by the system.
11. By clicking generate diagrams button, system will
generate both use case and class diagrams as a visual
Fig. 10 Workflow diagram of the website studio modeling solution only for the selected elements
by the user.
Fig. 10 shows the workflow diagram for the UML
Generator. The user has to go through maximum of eleven
(11) flows to generate the use case and class diagram from
the input text scenario.

June 2017 International Journal on Advances in ICT for Emerging Regions


7 Chamitha Ramal Narawita, Kaneeka Vidanage

The mockups of the website for initial findings and


relationship recognition is shown in Fig. 12.
Phases of the implementation can be given as follows.
1. Natural language processing module to identify
initial findings to generate diagrams – part-of-speech
tagging, tokenizing, sentence splitting and word chunking.
2. Weka machine learning to identify association types
of use case and class diagram – classification and voting.
Fig. 11 The phases of diagram generation
3. XML rule based approach to identify attributes and
The phases of diagram generation using VS has shown in
filter the words.
Fig. 11.
4. Visual Studio modeling to generate use case and class
V. IMPLEMENTATION
diagram.
Based on the requirements of the UML Generator, a web
application has been developed using Visual Studio .Net TABLE IIII
environment. TECHNOLOGIES AND TOOLS USED

Technologies Tools

The above table shows the technologies and tools used to


develop the UML Generator.

VI. TESTING
Currently author has tested the system with more than
twenty (20) scenarios and it has an accuracy level of around
70%. This value has been calculated according to the passed
test case results for all the scenarios.

Summary of Test Case Results

Failed
Passed 30%
70% Passed
Failed
Blocked
Not Run
Paused

Fig. 12 Mockups of the website


Fig. 13 Summary of the test case results

International Journal on Advances in ICT for Emerging Regions June 2017


UML Generator – Use Case and Class Diagram Generation from Text Requirements 8

TABLE IV Moreover, evaluations were made by comparing automated


BROWSER COMPATIBILITY OF THE SYSTEM diagrams with actually drawn diagrams.
Browser Status Comments Scenario of making an appointment: “A patient calls the
Name clinic to make an appointment for a yearly checkup. The
Internet Pass Performed well and all the styling receptionist finds the nearest empty time slot in the
Explorer shown as is supposed. appointment book and schedules the appointment for that
Google Pass Performed well and all the styling time slot.”
Chrome shown as is supposed. Fig. 14 shows the actual drawn use case and class diagram
Website was lagging when for the above-mentioned scenario. According to evaluator’s
scrolling. However, after 5-10 knowledge, he has identified four use cases and two actors
seconds it became normal. for use case diagram and two classes for the class diagram.
Mozilla Pass Performed well and all the styling Fig. 15 shows automated diagrams using the UML
Firefox shown as is supposed. Generator.
Microsoft Pass Performed well and all the styling
Edge shown as is supposed. Better than
internet explorer/Chrome/Firefox
did.
Safari Fail Browser was not supported the
file uploader and styling shown
not as it supposed. All other
functionalities are working and
performance wise same as the
other browsers.

Table IV shows the browser compatibility of the website.

VII. EVALUATION
Detailed discussions of the evaluation results are:
 Users will doubt the findings of the system. By adding a
testing module to the UML Generator will enhance the
accuracy level of the system.
 Few evaluators have mentioned that Visual Studio is not
a suitable tool to generate the diagrams. The diagram
generation is a separate module from other functionalities
in UML Generator. Therefore, in future it will be easy to
replace the diagram generation module with any
diagramming tool. However, author’s enduring idea is to
introduce this application as a plugin to the Microsoft
Visual Studio.
 Can extend the system by adding several other diagram
types as plugins to the UML Generator. Then users can
select the desirable diagram types, which are needed most.
 User experience needs to be enhanced by improving user Fig. 14 Drawn diagrams by an evaluator
interfaces, accuracy and performances of the system.
 Need to reduce the user involvement with the generation
of UML diagrams. Currently before producing the
diagrams, user can remove attributes, actors, classes, use
case relationships and class relationships. By identifying
highly accurate results, the system does not need to get
user inputs, can directly generate the diagrams.
 Developers will forget UML by using the UML
Generator. However, they will get used to do designing
before the implementations because UML Generator
gives a quick understanding about the both static and
dynamic features of the scenario.

June 2017 International Journal on Advances in ICT for Emerging Regions


9 Chamitha Ramal Narawita, Kaneeka Vidanage

a nice flow within a single page. Not complicated. Clear


view of each section. This will help Rapid modeling using
natural language. However, it can be improved to
incorporate more UML diagrams. Support for more
diagrams and accuracy in natural language processing.
Good if user involvement can be reduced unless necessary.”
4. Mr. Hasitha Dananjaya (Senior Software Engineer
at Zone24x7 Sri Lanka) – “System does target and solve the
problem in a hassle free and accurate way. Drawing UML
Diagrams manually is always skipped by most of the
developers and considered as a troublesome task.
Therefore, they overlook and underestimate the value of
UML diagrams. System like this will encourage developers
to interact and play with such diagrams. Intuitiveness of the
system is commendable. Having able to manually filter and
fine tune identified entities and properties is crucial this
system has catered it nicely. As far as I am concerned, the
approach you have taken is sufficient in this stage.
However, when it comes to reading long SOW documents
you might need to fine tune. I would like to see this
implemented in a way, which is not depended on visual
studio. Having said that it might not make any sense in
Fig. 15 Generated diagrams by UML Generator future since VS will be freely available. Extending and
adding several other diagram types would be awesome. But
keep in mind that when extending it, do it as plug-in, so that
As a conclusion, UML Generator has extracted most of the users can get only what they want and it would make
elements identified by the evaluator. “Schedule the maintainability easy. The biggest drawback is developers
Appointment” use case is the only unused element will forget UML.”
according to the results. Actually drawn class diagram has
identified additional attributes and they are out of the scope Taking about the limitations of the solution
(not included in the scenario). However, if this system is 1. The biggest limitation of the solution is all the
domain specific those attributes could be extracted by the nouns in the scenario getting identify as actors and classes.
system. In general, UML Generator has generated the use Using rule based approach it limits the output nouns to
case and class diagram up to a considerable extent, which some extend but it is difficult to build perfect system that
definitely gives a good overall idea about the scenario. identifies only nouns related to actors and classes.
Therefore, UML Generator gives opportunity to remove
Following are some Evaluations made by evaluators. unwanted actors/classes and select only appropriate actors
1. Mr. Alexander Boltov (University of Westminster, and classes for their system.
Department of Computer Science) - “This is a very useful 2. The users of the system have to enter each sentence
system when it comes to designing phase of software. This according to subject-object-predicate structure to get better
will definitely help for our academic work as well. I am results.
very happy with the approach of the system because system 3. Because of a bug in Weka “stringtowordvector”
gives chance to the user to play with the results. You need filter, cannot use “class” word with the input text scenario.
to check the accuracy of the generated diagrams against the
hand drawn diagrams for a same scenario. It is good to add VIII. CONCLUSION
another module to test the generated diagrams whether it
Initially, the UML Generator encountered many
has identified all the elements that needs to include to the
challenges in research and development, and had to grow
use case and class diagrams.”
throughout the process. The author has done many
2. Mr. Antonis Michalas (Head of the Cyber Security modifications and constructed it into what it is now.
Group at University of Westminster) – “UI is very user Currently the UML Generator possesses its own
friendly and I am impressed about the customizations that intelligence to extract the elements of UML and is capable
can be done after identifying elements of the diagrams. of creating use case and class diagram depending on the
Layout of the generated diagram is not a problem when it input scenario with the customizations.
comes to an automated system, even when user can edit the The main expectation of this project was to generate use
diagrams after generating it. Overall, it is a good system.” case and class diagram from the user input text scenario,
3. Mr. Praneeth Wickramasinghe (Technical Lead at reduce the time, and cost factors of both users and system
Navantis Sri Lanka) – “Fairly straight forward since it has analyst. Moreover, this system gives both static and

International Journal on Advances in ICT for Emerging Regions June 2017


UML Generator – Use Case and Class Diagram Generation from Text Requirements
10

dynamic view of a scenario by generating class diagram and  A new algorithm to identify the actors and classes
use case diagram. It will help the users of the system to get directly using Natural Language Processing without
a quick overview regarding the system that going to giving chance to select. This will reduce the user
develop. involvement in the system.
When writing the literature review it has found that earlier
D) Web Application
researchers were not used intelligence with this type of
research. Therefore, author has selected a different  A help menu in website to guide the user throughout the
approach with some intelligence to identify associations for whole process.
the use case and class diagrams and to rate the use cases that  Improve the usability and user experience.
identified using natural language processing. Moreover,  Add more diagram types as plugins to the UML
author has developed his own algorithms to extract the use Generator.
cases using natural language processing word chunking.
The system has completed most of the functional ACKNOWLEDGMENT
requirements mentioned in the system requirement Authors of this paper acknowledge the support of all the
specification. Recognizing multiplicities functionality for people who provided their research papers, and those who
the classes is a highly important task when considering made these papers available on the web.
generating a class diagram. However, due to time limitation
with the undergraduate research, the author has kept it as a
future enhancement because it needs higher level of REFERENCES
intelligence and higher level of accuracy with the Weka [1] I. S. Bajwa, M. I. Siddique and M. A. Choudhary, "Rule based
models. Production Systems for Automatic Code Generation in Java," 2006
1st International Conference on Digital Information Management,
With the concern of evaluation and testing carried out, Bangalore, 2007, pp. 300-305.
system shows capability of generating use case and class [2] Joshi, s. (2012), Textual Requirement Analysis for UML Diagram
diagram according to the input scenario. With the use of Extraction, 3rd ed. [ebook] Prof. Dr. S. D. Joshi, p.1 Available at:
algorithms, which was produced by the author, the system http://www.ijctee.org/files/VOLUME2ISSUE3/IJCTEE_0612_12.p
df.
in question will be producing adequate results in a [3] Bhagat, S., Kapadni, P., Kapadnis, N., Patil, D. and Baheti, M. (2012),
reasonable time. However, ultimate results can prove that Class Diagram Extraction Using NLP, 1st ed. [ebook] International
the algorithm is a success and could adapt many different Journal of electronics, Communication & Soft Computing Science &
business scenarios. Then it is straightforward to attest that Engineering, p.1 Available at:
http://www.ijecscse.org/papers/SpecialIssue/comp2/190.pdf .
system is almost a good product. By writing business [4] Webopedia.com, (2015), What is rule-based system? A Webopedia
decisions in words, the system has conspicuous ability to Definition, [online] Available at:
identify those by analyzing style of writing of the user. http://www.webopedia.com/TERM/R/rule_based_system.html.
In conclusion, in the area of automation of UML diagrams [5] Moldovan, D. and Surdeanu, M. (2003), On the Role of Information
Retrieval andInformation Extraction in Question AnsweringSystems,
author has done a deeper analysis and improvements. With 1st ed. [ebook] Dallas: pringer-Verlag Berlin.
more fine-tuning this research could ultimately lead to a [6] Bajwa, I. and Hyder, I. (2007), UCD-generator - a LESSA
commercial product that could be widely used. application for use case design, 2007 International Conference on
Information and Emerging Technologies, [online] 1(1), pp.1-3,
Available at:
IX. FUTURE WORK http://www.researchgate.net/publication/4290733_UCD-generator_
_a_LESSA_application_for_use_case_design.
This is an undergraduate research and the scope was [7] Harmain H.M and Gaizauskas R., (2012), Natural Language
selected according to the given time period. Technology Processing and ObjectOriented Analysis, 1st ed. [ebook] UK:
changes every day and therefore opens up the window of Department of Computer Science University of Sheeld, p.1.
Available at:
opportunity for continuous improvement (including new http://www.dcs.shef.ac.uk/intranet/research/public/resmes/CS9808.
features) for this application in the future to make it even pdf.
better. [8] P. More, Generating UML Diagrams from Natural Language
Specifications, 1st ed. Pune: International Journal of Applied
A) Weka Module Information Systems, 2012, p. 1.
 This system has identified use case and class [9] D. Deeptimahanti and R. Sanyal, Semi-automatic Generation of UML
relationships using classification. Using regression also Models from Natural Language Requirements, 1st ed. Association
could be a good approach. for Computing Machinery, 2011.

 A Weka model to test the generated use case and class


diagram.
 Increase the accuracy of identifying use case and class
associations using a different algorithm.
B) XML Rules Module
 Use of Prolog or R tool could be helpful in enhancing
the accuracy of the system.
C) Natural Language Processing Module

June 2017 International Journal on Advances in ICT for Emerging Regions

You might also like