Sequence Diagram Generation & Validation MSE First Presentation Samer Saleh Advisor: Bill Hankley.

29
Sequence Diagram Sequence Diagram Generation & Generation & Validation Validation MSE First Presentation MSE First Presentation Samer Saleh Samer Saleh Advisor: Bill Hankley Advisor: Bill Hankley

Transcript of Sequence Diagram Generation & Validation MSE First Presentation Samer Saleh Advisor: Bill Hankley.

Page 1: Sequence Diagram Generation & Validation MSE First Presentation Samer Saleh Advisor: Bill Hankley.

Sequence Diagram Sequence Diagram Generation & ValidationGeneration & Validation

MSE First PresentationMSE First PresentationSamer SalehSamer Saleh

Advisor: Bill HankleyAdvisor: Bill Hankley

Page 2: Sequence Diagram Generation & Validation MSE First Presentation Samer Saleh Advisor: Bill Hankley.

IntroductionIntroduction

Software modeling & modern software Software modeling & modern software engineering.engineering.

Software modeling is not about drawing Software modeling is not about drawing models only.models only.

M. Validation M. Quality S. Quality M. Validation M. Quality S. Quality

Model Validation:Model Validation:

Page 3: Sequence Diagram Generation & Validation MSE First Presentation Samer Saleh Advisor: Bill Hankley.

Introduction - Introduction - ContinueContinue

UML class diagram and UML class diagram and sequence diagram are one of sequence diagram are one of the essential models for starting the essential models for starting the modeling process.the modeling process.

Class and sequence models are Class and sequence models are heavily correlated. heavily correlated.

Usually this correlation.Usually this correlation.

Page 4: Sequence Diagram Generation & Validation MSE First Presentation Samer Saleh Advisor: Bill Hankley.

Introduction- Introduction- ContinueContinue

Example1:Example1:

Page 5: Sequence Diagram Generation & Validation MSE First Presentation Samer Saleh Advisor: Bill Hankley.

Example2:Example2:

Page 6: Sequence Diagram Generation & Validation MSE First Presentation Samer Saleh Advisor: Bill Hankley.

Examples ConclusionExamples Conclusion

Inconsistency between class Inconsistency between class and sequence diagrams are and sequence diagrams are very common. very common.

Tools are needed to validate & Tools are needed to validate & suggest solutions if there are suggest solutions if there are any.any.

Page 7: Sequence Diagram Generation & Validation MSE First Presentation Samer Saleh Advisor: Bill Hankley.

What is done so far….What is done so far….

A lot of research has been done to A lot of research has been done to validate model. Yet not much validate model. Yet not much implementation.implementation.

Formalism of the UML diagrams.Formalism of the UML diagrams. Problem: Hard to understand. Problem: Hard to understand.

Difficult to implement by novice Difficult to implement by novice software engineers.software engineers.

Problem: Current tools doesn’t check Problem: Current tools doesn’t check for a lot of validation.for a lot of validation.

Page 8: Sequence Diagram Generation & Validation MSE First Presentation Samer Saleh Advisor: Bill Hankley.

Project idea….Project idea….

Actor1

Class1

Class2

Class3

Class4

1

*

o1:Class1 o2:Class2Message1

return

Create/Reload Class Model

Create Sequence Model

[Valid] Generate Sequence Model

Validate[Not Valid] Generate Error Message.

View

Page 9: Sequence Diagram Generation & Validation MSE First Presentation Samer Saleh Advisor: Bill Hankley.

Project GoalsProject Goals

1.1. Create a user friendly tool to Create a user friendly tool to assist user to generate assist user to generate sequence diagram.sequence diagram.

2.2. Insure reliable and consistent Insure reliable and consistent generated sequence diagram.generated sequence diagram.

3.3. Satisfies the software process Satisfies the software process and life cycle.and life cycle.

4.4. Meeting IEEE standards for Meeting IEEE standards for software documentation software documentation

Page 10: Sequence Diagram Generation & Validation MSE First Presentation Samer Saleh Advisor: Bill Hankley.

Risks….Risks….

Difficulty of using the Java Difficulty of using the Java Swings and other java Swings and other java graphical libraries.graphical libraries.

Difficulty of embedding the Difficulty of embedding the validation rules, generating validation rules, generating meaningful error messages & meaningful error messages & suggesting solutionssuggesting solutions

Time concern.Time concern.

Page 11: Sequence Diagram Generation & Validation MSE First Presentation Samer Saleh Advisor: Bill Hankley.

Validation RulesValidation Rules

Focused on messagesFocused on messages Only Semantics or Structural. Only Semantics or Structural. No Syntax (Implicit).No Syntax (Implicit).

Page 12: Sequence Diagram Generation & Validation MSE First Presentation Samer Saleh Advisor: Bill Hankley.

Rule #1: Direct/Indirect AssociationRule #1: Direct/Indirect Association

Message corresponds to direct or Message corresponds to direct or indirect ( transitive ) association.indirect ( transitive ) association.

Example:Example:

A

BC

D

Z

1

*

1

*

a:A c:C

Message1

d:D

Message2

z:Z

return

Message3

Page 13: Sequence Diagram Generation & Validation MSE First Presentation Samer Saleh Advisor: Bill Hankley.

Rule#2: Dependency ExistenceRule#2: Dependency Existence

For indirect association; at For indirect association; at least one path that covers all least one path that covers all dependant classes.dependant classes.

?

Page 14: Sequence Diagram Generation & Validation MSE First Presentation Samer Saleh Advisor: Bill Hankley.

Rule#3: Reference ExistenceRule#3: Reference Existence

For Indirect Association:For Indirect Association:1.1. For all predecessor messages out of the For all predecessor messages out of the

sender object, there is at least one sender object, there is at least one message where the return type is the message where the return type is the

receiver objectreceiver object..2.2. For all predecessor messages in the For all predecessor messages in the

sender object, there is at least one sender object, there is at least one message where the parameter passed is message where the parameter passed is type of the receiver object.type of the receiver object.

Page 15: Sequence Diagram Generation & Validation MSE First Presentation Samer Saleh Advisor: Bill Hankley.

Rule#3: ExampleRule#3: Example

Page 16: Sequence Diagram Generation & Validation MSE First Presentation Samer Saleh Advisor: Bill Hankley.

GUI Prototype- Main InterfaceGUI Prototype- Main Interface

Form TitleForm Title

File Edit Help

ClassDiagram SequenceDiagram Pseudo Code

Class Model View

Tool Panel

Pseudo Code View

Page 17: Sequence Diagram Generation & Validation MSE First Presentation Samer Saleh Advisor: Bill Hankley.

UI- Creating Class ModelUI- Creating Class Model

Sequence Diagram GeneratorSequence Diagram Generator

File Edit Help

ClassDiagram SequenceDiagram Pseudo Code

Tools

Modules

Interface

Class

Associations

Association

Aggregation

Composition

--<< Pseudo Code >>--

1. Create Class

Page 18: Sequence Diagram Generation & Validation MSE First Presentation Samer Saleh Advisor: Bill Hankley.

UI – Class InformationUI – Class InformationClass InformationClass Information

ItemClass Name

Create()Find()Destroy()

Add

Delete

Add

Delete

Name Type Visibilty

Edit

Attributes

Methods

Methods InformationMethods Information

createMethod’s Name

Add

Delete

Name TypeParameters

Return Type void

Page 19: Sequence Diagram Generation & Validation MSE First Presentation Samer Saleh Advisor: Bill Hankley.

UI- Creating AssociationUI- Creating AssociationSequence Diagram GeneratorSequence Diagram Generator

File Edit Help

ClassDiagram SequenceDiagram Pseudo Code

Tools

Modules

Interface

Class

Associations

Association

Aggregation

Composition

--<< Pseudo Code >>--

1. Create Association

3. Select Tail2. Select Head

Page 20: Sequence Diagram Generation & Validation MSE First Presentation Samer Saleh Advisor: Bill Hankley.

UI- Association InformationUI- Association InformationSequence Diagram GeneratorSequence Diagram Generator

File Edit Help

ClassDiagram SequenceDiagram Pseudo Code

Tools

Modules

Interface

Class

Associations

Association

Aggregation

Composition

--<< Pseudo Code >>--

1.Create AssociationAssociation informationAssociation information

Item Title

Multiplicity 1..* Multiplicity 1..*

Head Tail

Ok

2.Confirm Association Info

3. Association Created.

Page 21: Sequence Diagram Generation & Validation MSE First Presentation Samer Saleh Advisor: Bill Hankley.

UI- Creating Sequence ModelUI- Creating Sequence Model

Sequence Diagram GeneratorSequence Diagram Generator

File Edit Help

ClassDiagram SequenceDiagram Pseudo Code

Tools

Modules

Interface

Class

Associations

Association

Aggregation

Composition

--<< Pseudo Code >>--

Create Sequence Diagram

Enable Analyzer

1. Select to create sequence Diagram

Sequence Diagram NameSequence Diagram Name

testSequence

Sequence Diagram Name

Ok2. Enter Sequence Diagram Name

Page 22: Sequence Diagram Generation & Validation MSE First Presentation Samer Saleh Advisor: Bill Hankley.

UI- Creating SequenceUI- Creating SequenceSequence Diagram GeneratorSequence Diagram Generator

File Edit Help

ClassDiagram SequenceDiagram Pseudo Code

Tools

Modules

Associations

<<testSequence>>1. [Guard] Title->Item: create()

Sequence Diagram Mode:> Select Initiator Object

1. Select Initiator Object

2. Select Message

All Association from Initiator Class will be

Highlighted.Include Trasitive

Message ControlMessage Control

None (Default)If ConditionFor LoopWhile Loop

Ok

Control

Predicate

3. Select GuardSelect Return.

Pseudo Code is created

Return Return Value

Page 23: Sequence Diagram Generation & Validation MSE First Presentation Samer Saleh Advisor: Bill Hankley.

UI- Viewing the sequenceUI- Viewing the sequenceSequence Diagram GeneratorSequence Diagram Generator

File Edit Help

ClassDiagram Pseudo Code

Tools

Modules

Associations

<<testSequence>>1. [Guard] Title->Item: create()

Sequence Diagram Mode:> Select Initiator Object

SequenceDiagram

Page 24: Sequence Diagram Generation & Validation MSE First Presentation Samer Saleh Advisor: Bill Hankley.

UI- Analyzer UI- Analyzer

Sequence Diagram GeneratorSequence Diagram Generator

File Edit Help

ClassDiagram SequenceDiagram Pseudo Code

Tools

Modules

Interface

Class

Associations

Association

Aggregation

Composition

--<< Pseudo Code >>--

ItemTitle

Loan

Reservation

BorrowerInfo

-copyOf

**

-End1*

-End2

*

-End3*

-End4*

-End5

*

-End6*

-End7

*

-End8

*

1. Selected Initiator Class

2. Selected Message

Analyzer Error MessageAnalyzer Error Message

Invalid Action: No direct Association between “Item” Class and “Reservation” Class, and Indirect Associations are not satisfied

OK More Info 3. Error Message

Page 25: Sequence Diagram Generation & Validation MSE First Presentation Samer Saleh Advisor: Bill Hankley.

UI- AnalyzerUI- AnalyzerSequence Diagram GeneratorSequence Diagram Generator

File Edit Help

ClassDiagram SequenceDiagram Pseudo Code

Tools

Modules

Interface

Class

Associations

Association

Aggregation

Composition

+setLoan()

Item

Loan

Reservation

BorrowerInfo

-copyOf **

-End1*

-End2

*

-End3*

-End4*

-End5

*

-End6*

-End7

*

-End8

*

Sequence Diagram GeneratorSequence Diagram Generator

File Edit Help

ClassDiagram Pseudo Code

Tools

Modules

Associations

SequenceDiagram

1. Selected Sender

LoanInterface Title Item

new(item,patron)

item:getItem()

+getItem()()-getItemFromList()()+checkIfReserved()

Title

2.SelectMessage

checkIfReserved()

Analyzer Error MessageAnalyzer Error Message

Invalid Action: No direct Association between “Item” Class and “Reservation” Class, and Indirect Associations are not satisfied

OK More Info

Page 26: Sequence Diagram Generation & Validation MSE First Presentation Samer Saleh Advisor: Bill Hankley.

ScheduleSchedule

Documentation

Coding. Design. Testing. Presentation

First PresentationApril 15th

2nd PresentationJune 20th

Page 27: Sequence Diagram Generation & Validation MSE First Presentation Samer Saleh Advisor: Bill Hankley.

Schedule- ContinueSchedule- Continue

Documentation

Coding.

Design.

Testing.

Presentation

Last PresentationJuly 21st

Page 28: Sequence Diagram Generation & Validation MSE First Presentation Samer Saleh Advisor: Bill Hankley.

Cost EstimationCost Estimation

Using COCOMO.Using COCOMO. SLOCSLOC = 116.4 * 38 = = 116.4 * 38 = 4423.4423. Person Productivity (PM)Person Productivity (PM) = =

11.4 person-month.11.4 person-month. Development Time (TDEV)Development Time (TDEV)= =

6.3 months.6.3 months. Average Staffing = 11.4/6.3 = Average Staffing = 11.4/6.3 =

1.8 people1.8 people

Page 29: Sequence Diagram Generation & Validation MSE First Presentation Samer Saleh Advisor: Bill Hankley.

For more information….For more information….

http://www.cis.ksu.edu/~ssaleh/mseproject.htm