0% found this document useful (0 votes)
83 views

SSR Assignment

The document discusses developing an algorithm to automatically generate UML sequence diagrams from user stories in the Scrum software development process. Manually creating these diagrams from user stories can be inconsistent, incomplete, incorrect, time-consuming and require expertise. The proposed algorithm reads user stories from a text file, generates an XMI file for each one, and transforms it into a sequence diagram using a UML tool to more easily generate test cases.

Uploaded by

zeeshan
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)
83 views

SSR Assignment

The document discusses developing an algorithm to automatically generate UML sequence diagrams from user stories in the Scrum software development process. Manually creating these diagrams from user stories can be inconsistent, incomplete, incorrect, time-consuming and require expertise. The proposed algorithm reads user stories from a text file, generates an XMI file for each one, and transforms it into a sequence diagram using a UML tool to more easily generate test cases.

Uploaded by

zeeshan
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/ 3

Publisher: IEEE

2015 8th International Conference on Ubi-Media Computing (UMEDIA): 098 – 103

Consistency Checking of UML Class and Sequence Diagrams


UML diagrams represent two different views of a system model. They are static and dynamic views.
In this paper we study the dynamic view of Class Diagrams and static view of Sequence Diagrams for
checking consistency among them. We assume that the system is specified as a set of Class diagrams
and the Sequence Diagrams are drawn using Enterprise Architect.
In design, evolution presents three issues:
Consistency amongst design representations, traceability of a design change in code in order to maintain
consistency and versioning of design entities along with versioning of code. As first step we translate
UML class and Sequence diagrams into XMI (XML Metadata Interchange) format. We propose an
algorithm to check the consistency among these two diagrams. Furthermore, show how identify errors
and inconsistencies using automated tool.
Though UML is a rich set of diagrams to model every aspect of an object-oriented application, UML
still does not have any mechanism to check consistency between the models. So, if the UML diagrams
are incorrect or do not maintain consistency between different diagrams it will ultimately affect the
success of the final product.
A complete description of a model consists of several diagrams of different types. Therefore,
consistency of diagrams and consistency among different diagram types are important issues.
Since UML is the industry de-facto standards of modeling OO applications many tools have been
implemented for automatic code generation from UML diagrams. Those tools directly accept the UML
diagrams as inputs. If the input UML diagrams are not consistent the generated code will not be
accurate. So consistency between UML diagrams is a critical factor in developing error free software
systems.
Expected Outcomes
 An algorithm to identify errors and inconsistencies in and between UML class diagrams and
sequence diagrams
 A tool which is capable of identifying errors and inconsistencies in and between UML class
diagrams and sequence
MATERIAL AND METHODOLOGY
For the development.: OS - Windows XP, Languages using – C#.NET 2010, Database - MS SQL Server
2008, UML Tool – Enterprise Architect
Hardware configurations: Processor - 1.4 GHz, RAM - 256 Ram, Capacity - 40 GB or above free disk
space
Methodology
The main objective of the research is to build up a consistency
checking algorithm and develop a tool to validate the algorithm.
Relational Meta-model
There are four different perspectives a system could beviewed in
design and development tool.
Requirements view, Development view, Source view, Deployment
view
Publisher: IEEE
2016 IEEE 24th International Conference on Program Comprehension (ICPC)

Case Studies of Optimized Sequence Diagram for


Program Comprehension
In large project, source code becomes increasing complex and lengthy so program comprehension plays
an important and significant role for developers. Sequence diagram generated using static source code
or dynamic only approach provides limited execution coverage, additionally contains redundant, dead
and fault driven methods, which increase the size of the diagram and complexity. In this paper, to
address the problems, optimized sequence diagrams were developed by combining static source code
and dynamic only approach, also incorporating various levels of abstraction in order to reduce
complexity and provide complete behavior of the systemin many organizations, systems are
significantly large and documents become insufficient for understanding, so virtually is necessary that
sequence diagram represents complete behavior of the system which can help in program
comprehension.
Sequence diagram generated from source code provides static descriptions of classes and their
relationships, which impede a full understanding of the program. Sequence diagrams generated from
execution trace can provide a solution to handling problems posed by the static source code diagram,
but a fully dynamic sequence diagram does not provide complete execution coverage of the entire
system. The dynamic sequence diagram contains redundant, dead methods and missing loop structures,
which cause an increase in size and complexity of the diagram. Faulty and anomalous methods occur
in the source code; dynamic sequence diagrams to capture those fault driven methods leading to
cascading effect during maintenance phase of the project. In contrast, our proposed method provides
layers of abstraction in order to present useful and complete information in the sequence diagram for
better comprehension of the program behavior.
We conducted three case studies to determine the performance of our proposed method. In each case
study, static and dynamic visualization was applied to the source code of three complex target systems,
and sequence diagrams for each were constructed and then compared to the optimized sequence
diagram [14]. The metrics evaluated based on various factors proved that optimized sequence diagram
performed better in comparison to static and dynamic sequence diagram.
II. GENERATING AN OPTIMIZED SEQUENCE DIAGRAM
Our method starts from generating source code execution trace. Figure 1 illustrates that parse tree is
generated from dynamic execution trace. Attributes in execution trace such as the line number is used
in mapping with source code in order to implement filtration and abstraction process on the generated
parse tree, which in turn converted to UML textual notation, which is further converted to optimized
sequence diagram [7]. Our method follows several layers of abstraction and filtration in order to
generate the optimized sequence diagram [3].
Removing Dead and Unreachable
Functions, Removing Anomalous and
Faulty Method, removing redundant methods and Providing Looping
Construct
Publisher: IEEE
2015 10th International Conference on Intelligent Systems: Theories and Applications (SITA)

Automatic generation of UML sequence diagrams


from user stories in Scrum process
The creation of UML models from user stories can be inconsistent, incomplete and incorrect task, which
also requires an expertise, effort and time. In this paper, we present an algorithm for automating the
transformation of user stories into sequence diagrams in the Scrum process, which can easily use to
generate test cases. For automating transformation, we have implemented an algorithm that read a text
file, which contains a set of user stories, then generates an XMI file for each user stories. The resulting
XMI file then transformed into a sequence diagram using UML2 tool SDK plugin for Eclipse.

In agile development, the concept of user stories is use to represent a simple sentence in natural
language. A sentence in natural language cannot comply the syntactic requirements of a computing
language such as UML. Domain expert or developer can interpret the same sentence in two different
ways, which makes the transformation of user stories into UML diagrams a difficult task to achieve.
This task can also be time consuming, which requires expertise and effort. Facing these challenges, we
propose a technique for automatic transformation of user stories into UML sequence diagrams, those
diagrams will used for automatic generation of test cases.

Scrum [14] is a management methodology, improvement and maintenance of an existing system or


production prototype. It based on dividing a project into iterations called "sprints". The main aim of
scrum is the implementation rather than an analysis or documentation [5].
A user story describes functionality that will be valuable to either a user or purchaser of a system or
software.

You might also like