An Automatic Approach to Translate Use Cases to Sequence Diagrams
-
Upload
mohammed-misbhauddin -
Category
Technology
-
view
4.382 -
download
1
description
Transcript of An Automatic Approach to Translate Use Cases to Sequence Diagrams
An Automatic Approach to Translate Use Cases to Sequence Diagrams
Mohammed MisbhauddinPhD CandidateICS Department, [email protected]
AGENDA
1. Introduction2. Unified Modeling Language
Use Case Diagram Sequence Diagram
3. Related Work4. Translation Methodology5. Comparison6. Conclusion and Future work
Software engineering is an engineering discipline that is concerned with all aspects of software production.
The software process consists of activities that are involved in developing software products. Basic activities are software specification, design, development and validation.
Agenda
1 of 3IntroductionIntroduction
UMLRelated WorkTranslation MethodologyComparisonConclusion & Future work
IntroductionAgenda
2 of 3
Requirement Analysis
IntroductionUMLRelated WorkTranslation MethodologyComparisonConclusion & Future work
Design
ImplementationValidation
Sequence DiagramCommunication Diagram State Machine Diagram
Class Diagram
Object Diagram
Component Diagram
Package Diagram
Deployment DiagramActivity Diagram
Use Case Diagram
PlanGUI Layout
SRSSpec
CodeTest cases
Acceptance Summary
Test scenarios
Introduction - Motivation
Agenda
Effect ofMiscommunication
Need: Automated approach to translate an artifact from one domain to another.
3 of 3IntroductionUMLRelated WorkTranslation MethodologyComparisonConclusion & Future work
6
UML is a graphical language which provides notations and action semantics to describe and design Object Oriented Software Systems.
UML 2.0 Models Suite - 13 Different Diagrams
Sequence Diagram
Communication Diagram
Activity Diagram
State Machine DiagramTiming Diagram
Use Case Diagram
Interaction Overview Diagram
Class Diagram
Object Diagram
Component Diagram
Package Diagram
Deployment Diagram
Composite Structure Diagram
Agenda Unified Modeling Language (UML)Introduction
UMLRelated WorkTranslation MethodologyComparisonConclusion & Future work
Use Case Diagrams
Use case diagram is a powerful artifact used for the elicitation of functional software requirements in the requirements specification phase.
Use Case ID UC-05Use Case Name
Withdraw
Actors CustomerMain Flow
1 INC Login2 The ATM requests amount
from customer.3 Customer enters amount.4 ATM retrieves balance from
accountA1 Amount is greater than
BalanceAlternate
FlowA1 1. Display Error Message
Agenda
ATM System
Customer
Withdraw
Login
Display Balance
<<extend>>
<<include>>
IntroductionUMLRelated WorkTranslation MethodologyComparisonConclusion & Future work
Sequence Diagrams
Sequence diagrams are used to model the dynamic behavior of the software system depicting how objects interact by passing messages constructed in the design phase.
Agenda
Objects
Messages
Fragments
IntroductionUMLRelated WorkTranslation MethodologyComparisonConclusion & Future work
Related WorkAgenda
A Semi-Automatic
Approach to Translating Use
Cases to Sequence DiagramsTechnology
of OO Languages & Systems
1999
Translating Use Cases
to Sequence Diagrams
IEEEAutomated Software Engineering
2000
Specifying Use Case Behavior
With Interaction
Models
Journal of Object Technology
2003
•Incomplete utilization of available constructs•Enforcing guidelines while composing descriptions•Either work at sentence level or construct level but not both.
ISSUES
IntroductionUMLRelated WorkTranslation MethodologyComparisonConclusion & Future work
UML Sequence Diagram
Generator System from
Use Case Description
Using Natural Language
4th
Congress of Electronics, Robotics and Automotive Mechanics 2007(a)
Describing Use-Case
Relationships
with Sequence Diagrams
2007(b)
TheComputerJournal
Modeling User-System
Interaction in Use Cases with Dynamic Views
2008
IEEEComputational Intelligence and Industrial Application
Proposed ApproachAgenda
1 of 7
The proposed approach can be summarized as follows: Develop a metamodel for use case
descriptions and sequence diagrams.
Parse use case steps. Identify mapping rules between
these meta-models.
IntroductionUMLRelated WorkTranslation MethodologyComparisonConclusion & Future work
Use Case Translation
Use case Descripti
on
Parts-of-Speech Tagger
Dictionary
Translation Process
Sequence Diagram
Use case parser
Agenda
2 of 7IntroductionUMLRelated WorkTranslation MethodologyComparisonConclusion & Future work Phase 1: Syntactic
Structure Identification
Use Case Translation
Agenda
3 of 7IntroductionUMLRelated WorkTranslation MethodologyComparisonConclusion & Future work
Customer inserts card into ATMPOS
Taggersubject verb object1 preposition object2
sender action argument Receiver
Dictionary
Customer
ATMInserts(card)
Example
Proposed ApproachAgenda
4 of 7
Use Case Description Sequence Diagram
Translation Meta model
Translation Process
Use Case Metamodel Sequence Diagram Metamodel
Translation Architecture
conforms conforms
receivesuses
producesMisbhauddin, M. and M. Alshayeb, “Extending the UML Metamodel for Sequence Diagram to Enhance Model Traceability”, the Fifth International Conference on Software Engineering Advances, Nice, France, August 22-27, 2010
IntroductionUMLRelated WorkTranslation MethodologyComparisonConclusion & Future work Phase 2: Construct Based
Translation
Proposed ApproachAgenda
5 of 7IntroductionUMLRelated WorkTranslation MethodologyComparisonConclusion & Future work
Metamodel Mapping
Algorithm (excerpt)
Start
Anchor
Include
ALT
Parse and Identify
components
Insert a “ref”
fragment
T F
………..
alt opt break….
Proposed ApproachAgenda
6 of 7IntroductionUMLRelated WorkTranslation MethodologyComparisonConclusion & Future work
Example Use Case ID
UC-05
Use Case Name
Withdraw
Actors CustomerMain Flow
1 INC Login2 The ATM requests
amount from customer.
3 Customer enters amount in the ATM.
4 ATM retrieves balance from account
A1 Amount is greater than Balance
Alternate Flow
A1 1. Display Error Message
CustomerATM account
ref Login
Request(amount)enters(amount)
retrieve(balance)
Tool SupportAgenda
7 of 7IntroductionUMLRelated WorkTranslation MethodologyComparisonConclusion & Future work
• The tool will allow the user to enter descriptions of all the use cases.•These cases can then be converted into a sequence diagram.• The output is in the form of an XMI file.•This XMI file can be imported in any UML CASE tool
ComparisionAgenda
Case-study: A sample of five student projects with an average of 15 use cases was used.
IntroductionUMLRelated WorkTranslation MethodologyComparisonConclusion & Future work
Research
UC Constructs (5)
SEQ Constructs (20)
Sentence Classification
(%age)Composition Restrictions
Sentence Syntax
1999 1 3 43.53% 82000 3 5 49% 42007(a)
1 3 45% 7
Construct Based
2003 4+1 13 N/A N/A2007(b)
4 13 N/A N/A
2008 4 14 N/A N/AProposedApproach
2010 5 17 74.08% 2
Conclusions
Communication gap between the specification domain and the design domain leads to an incorrect and inconsistent system.
An automatic approach to translating use case descriptions to sequence diagrams is presented.
UML metamodel for use case specification and sequence diagram is used to guide the translation process.
This work is supported by KACST Research Grant (No. a-i: 18-20).
AgendaIntroductionUMLRelated WorkTranslation MethodologyComparisonConclusion & Future work
Future work
Tagging is done over simple sentences. Compound sentences should also be handled in the future.
Increasing the classification rate by enriching the dictionary using AI techniques rather than English Language Dictionaries.
Work is going on to convert the XML output representation of the sequence diagram to a graphical form.
AgendaIntroductionUMLRelated WorkTranslation MethodologyComparisonConclusion & Future work
Questions & Discussion
I would like to acknowledge the support of my dissertation advisor Dr. Mohammad Alshayeb.