34
A presentation at OOAD workshop at VJTI, Matunga Oct 18:3:15-4:00 pm Dynamic Modeling Rushikesh K Joshi Department of Computer Science and Engineering Indian Institute of Technology, Bombay [email protected]

Rushikesh K Joshi - cse.iitb.ac.in

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Rushikesh K Joshi - cse.iitb.ac.in

A presentation at OOAD workshop at VJTI, Matunga Oct 18:3:15-4:00 pm

Dynamic Modeling

Rushikesh K JoshiDepartment of Computer Science and Engineering

Indian Institute of Technology, [email protected]

Page 2: Rushikesh K Joshi - cse.iitb.ac.in

A presentation at OOAD workshop at VJTI, Matunga Oct 18:3:15-4:00 pm

Page 3: Rushikesh K Joshi - cse.iitb.ac.in

A presentation at OOAD workshop at VJTI, Matunga Oct 18:3:15-4:00 pm

Concepts to Realization

Page 4: Rushikesh K Joshi - cse.iitb.ac.in

A presentation at OOAD workshop at VJTI, Matunga Oct 18:3:15-4:00 pm

Need to Model Different aspects of/for the software to be built

Page 5: Rushikesh K Joshi - cse.iitb.ac.in

A presentation at OOAD workshop at VJTI, Matunga Oct 18:3:15-4:00 pm

Page 6: Rushikesh K Joshi - cse.iitb.ac.in

A presentation at OOAD workshop at VJTI, Matunga Oct 18:3:15-4:00 pm

Conceptual ideas

Page 7: Rushikesh K Joshi - cse.iitb.ac.in

A presentation at OOAD workshop at VJTI, Matunga Oct 18:3:15-4:00 pm

Conceptual ideas

End goals

Page 8: Rushikesh K Joshi - cse.iitb.ac.in

A presentation at OOAD workshop at VJTI, Matunga Oct 18:3:15-4:00 pm

Conceptual ideas

End goals

User interfaces

Page 9: Rushikesh K Joshi - cse.iitb.ac.in

A presentation at OOAD workshop at VJTI, Matunga Oct 18:3:15-4:00 pm

Conceptual ideas

End goals

User interfaces Product Implementation Models

Page 10: Rushikesh K Joshi - cse.iitb.ac.in

A presentation at OOAD workshop at VJTI, Matunga Oct 18:3:15-4:00 pm

Conceptual ideas

End goals

User interfaces Product Implementation Models

Deployment Models, N/W, Architecture

Page 11: Rushikesh K Joshi - cse.iitb.ac.in

A presentation at OOAD workshop at VJTI, Matunga Oct 18:3:15-4:00 pm

Conceptual ideas

End goals

User interfaces Product Implementation Models

Deployment Models, N/W, Architecture

Man month

Page 12: Rushikesh K Joshi - cse.iitb.ac.in

A presentation at OOAD workshop at VJTI, Matunga Oct 18:3:15-4:00 pm

Conceptual ideas

End goals

User interfaces Product Implementation Models

Deployment Models, N/W, Architecture

Man month Financial Model

Page 13: Rushikesh K Joshi - cse.iitb.ac.in

A presentation at OOAD workshop at VJTI, Matunga Oct 18:3:15-4:00 pm

Conceptual ideas

End goals

User interfaces Product Implementation Models

Deployment Models, N/W, Architecture

Man month Financial Model

The software development process

Page 14: Rushikesh K Joshi - cse.iitb.ac.in

A presentation at OOAD workshop at VJTI, Matunga Oct 18:3:15-4:00 pm

Modeling

Page 15: Rushikesh K Joshi - cse.iitb.ac.in

A presentation at OOAD workshop at VJTI, Matunga Oct 18:3:15-4:00 pm

Modeling

Modeling tools

Page 16: Rushikesh K Joshi - cse.iitb.ac.in

A presentation at OOAD workshop at VJTI, Matunga Oct 18:3:15-4:00 pm

Modeling

Modeling tools Microscopic views&

Iterative Refinement

Page 17: Rushikesh K Joshi - cse.iitb.ac.in

A presentation at OOAD workshop at VJTI, Matunga Oct 18:3:15-4:00 pm

Modeling

Modeling toolsMicroscopic views

&Iterative Refinement

Documentation

Page 18: Rushikesh K Joshi - cse.iitb.ac.in

A presentation at OOAD workshop at VJTI, Matunga Oct 18:3:15-4:00 pm

Product Models

Structure Dynamics

Page 19: Rushikesh K Joshi - cse.iitb.ac.in

A presentation at OOAD workshop at VJTI, Matunga Oct 18:3:15-4:00 pm

Structural (Static) Modeling

• Class diagrams• Object Diagrams• Deployment Diagram• File directory hierarchy• Component Package diagrams• Entity Relationship

Page 20: Rushikesh K Joshi - cse.iitb.ac.in

A presentation at OOAD workshop at VJTI, Matunga Oct 18:3:15-4:00 pm

A Static Model

Push ()Pop()Size()

Stack

Page 21: Rushikesh K Joshi - cse.iitb.ac.in

A presentation at OOAD workshop at VJTI, Matunga Oct 18:3:15-4:00 pm

Visualcomponent

draw ()

Decorator

draw()Component->draw()

TextView

operation ()

Borderdraw()

drawBorder()

Scrollerdraw ()

drawScroller

component

Decorator::draw()drawBorder()

Another Static Model

Page 22: Rushikesh K Joshi - cse.iitb.ac.in

A presentation at OOAD workshop at VJTI, Matunga Oct 18:3:15-4:00 pm

Dynamic Modeling

Page 23: Rushikesh K Joshi - cse.iitb.ac.in

A presentation at OOAD workshop at VJTI, Matunga Oct 18:3:15-4:00 pm

Dynamic Modeling

How does the groupcollaborate?

Page 24: Rushikesh K Joshi - cse.iitb.ac.in

A presentation at OOAD workshop at VJTI, Matunga Oct 18:3:15-4:00 pm

Dynamic Modeling

How does the groupcollaborate?

How does the individualrespond?

Page 25: Rushikesh K Joshi - cse.iitb.ac.in

A presentation at OOAD workshop at VJTI, Matunga Oct 18:3:15-4:00 pm

What happens amongst the objects?

Page 26: Rushikesh K Joshi - cse.iitb.ac.in

A presentation at OOAD workshop at VJTI, Matunga Oct 18:3:15-4:00 pm

Interaction Diagram: Item issue use case

:Operator iw:IssueWin tr1: Issue b:Book u:User

committed

issue(bid,uid)

supply bid,uid

isIssuable?hasToken?

issue (b)issue (u)

destroy

create

bind using bidbind using uid

Page 27: Rushikesh K Joshi - cse.iitb.ac.in

A presentation at OOAD workshop at VJTI, Matunga Oct 18:3:15-4:00 pm

Traceability

• Trace every use case through sequence diagrams

• Every object represented in sequence diagram is traced to static model

• Every message in interaction diagram is traced to an interclass connection in class diagram

Page 28: Rushikesh K Joshi - cse.iitb.ac.in

A presentation at OOAD workshop at VJTI, Matunga Oct 18:3:15-4:00 pm

What happens inside an object?

Page 29: Rushikesh K Joshi - cse.iitb.ac.in

A presentation at OOAD workshop at VJTI, Matunga Oct 18:3:15-4:00 pm

A State Machine

Full

Empty Partial

insert [size <MAX-1]

insert [size =MAX-1]

insert [size =MAX-1]

fetch [size >1]

fetch [size =1]

fetch [size =1]

Initial state insert [size <MAX-1]

Page 30: Rushikesh K Joshi - cse.iitb.ac.in

A presentation at OOAD workshop at VJTI, Matunga Oct 18:3:15-4:00 pm

Including Error Conditions

Full

Empty Partial

insert [SIZE <MAX-1]

insert [SIZE =MAX-1]

insert [SIZE =MAX-1]

fetch [SIZE >1]fetch

[SIZE =1]

fetch [SIZE =1]

Initial state

fetch / signal error

insert / signal error

insert [size <MAX-1]

Page 31: Rushikesh K Joshi - cse.iitb.ac.in

A presentation at OOAD workshop at VJTI, Matunga Oct 18:3:15-4:00 pm

Traceability

• Trace every incoming message to an object as transitions

• Object changes its state in response to a member function invoked on it

• After the state is changed, the response to subsequent invocations depends on the new state

Page 32: Rushikesh K Joshi - cse.iitb.ac.in

A presentation at OOAD workshop at VJTI, Matunga Oct 18:3:15-4:00 pm

Activity Diagram Scan

User’s barcode

ScanBook barcode

enter user id by hand

[scanner failed][scan okay]

Performreturn transaction

enter bookidby hand

[scanner failed][scan okay]

Page 33: Rushikesh K Joshi - cse.iitb.ac.in

A presentation at OOAD workshop at VJTI, Matunga Oct 18:3:15-4:00 pm

Traceability

• More than one use case may be involved in an activity diagram

• Classes involved in implementing activities must be present in class diagrams

• An activity may get expanded to a sequence diagram

Page 34: Rushikesh K Joshi - cse.iitb.ac.in

A presentation at OOAD workshop at VJTI, Matunga Oct 18:3:15-4:00 pm

Summarizing Dynamic Modeling..

• Realizing Exported functionality– Message sequences (inter-object)– Message collaborations (interobject+static

structure)• Class level behavior

– State machines• Dependencies and flow

– Activity model