Introduction to Object Oriented Modelingrkj/talks/modeling.pdf · Introduction to Object Oriented...
Transcript of Introduction to Object Oriented Modelingrkj/talks/modeling.pdf · Introduction to Object Oriented...
![Page 1: Introduction to Object Oriented Modelingrkj/talks/modeling.pdf · Introduction to Object Oriented Modeling R K Joshi IIT Bombay. R.K. Joshi, IIT Bombay. R.K. Joshi, IIT Bombay Concepts](https://reader035.fdocuments.in/reader035/viewer/2022062311/5fc196c80135c942bd62aad3/html5/thumbnails/1.jpg)
Introduction to Object Oriented Modeling
R K JoshiIIT Bombay
![Page 2: Introduction to Object Oriented Modelingrkj/talks/modeling.pdf · Introduction to Object Oriented Modeling R K Joshi IIT Bombay. R.K. Joshi, IIT Bombay. R.K. Joshi, IIT Bombay Concepts](https://reader035.fdocuments.in/reader035/viewer/2022062311/5fc196c80135c942bd62aad3/html5/thumbnails/2.jpg)
R.K. Joshi, IIT Bombay
![Page 3: Introduction to Object Oriented Modelingrkj/talks/modeling.pdf · Introduction to Object Oriented Modeling R K Joshi IIT Bombay. R.K. Joshi, IIT Bombay. R.K. Joshi, IIT Bombay Concepts](https://reader035.fdocuments.in/reader035/viewer/2022062311/5fc196c80135c942bd62aad3/html5/thumbnails/3.jpg)
R.K. Joshi, IIT Bombay
Concepts to Realization
![Page 4: Introduction to Object Oriented Modelingrkj/talks/modeling.pdf · Introduction to Object Oriented Modeling R K Joshi IIT Bombay. R.K. Joshi, IIT Bombay. R.K. Joshi, IIT Bombay Concepts](https://reader035.fdocuments.in/reader035/viewer/2022062311/5fc196c80135c942bd62aad3/html5/thumbnails/4.jpg)
R.K. Joshi, IIT Bombay
Realization to Conceptual Understanding
![Page 5: Introduction to Object Oriented Modelingrkj/talks/modeling.pdf · Introduction to Object Oriented Modeling R K Joshi IIT Bombay. R.K. Joshi, IIT Bombay. R.K. Joshi, IIT Bombay Concepts](https://reader035.fdocuments.in/reader035/viewer/2022062311/5fc196c80135c942bd62aad3/html5/thumbnails/5.jpg)
R.K. Joshi, IIT Bombay
Need to Model Different aspects of/for the software to be built
![Page 6: Introduction to Object Oriented Modelingrkj/talks/modeling.pdf · Introduction to Object Oriented Modeling R K Joshi IIT Bombay. R.K. Joshi, IIT Bombay. R.K. Joshi, IIT Bombay Concepts](https://reader035.fdocuments.in/reader035/viewer/2022062311/5fc196c80135c942bd62aad3/html5/thumbnails/6.jpg)
R.K. Joshi, IIT Bombay
![Page 7: Introduction to Object Oriented Modelingrkj/talks/modeling.pdf · Introduction to Object Oriented Modeling R K Joshi IIT Bombay. R.K. Joshi, IIT Bombay. R.K. Joshi, IIT Bombay Concepts](https://reader035.fdocuments.in/reader035/viewer/2022062311/5fc196c80135c942bd62aad3/html5/thumbnails/7.jpg)
R.K. Joshi, IIT Bombay
Conceptual ideas
![Page 8: Introduction to Object Oriented Modelingrkj/talks/modeling.pdf · Introduction to Object Oriented Modeling R K Joshi IIT Bombay. R.K. Joshi, IIT Bombay. R.K. Joshi, IIT Bombay Concepts](https://reader035.fdocuments.in/reader035/viewer/2022062311/5fc196c80135c942bd62aad3/html5/thumbnails/8.jpg)
R.K. Joshi, IIT Bombay
Conceptual ideas
End goals
![Page 9: Introduction to Object Oriented Modelingrkj/talks/modeling.pdf · Introduction to Object Oriented Modeling R K Joshi IIT Bombay. R.K. Joshi, IIT Bombay. R.K. Joshi, IIT Bombay Concepts](https://reader035.fdocuments.in/reader035/viewer/2022062311/5fc196c80135c942bd62aad3/html5/thumbnails/9.jpg)
R.K. Joshi, IIT Bombay
Conceptual ideas
End goals
User interfaces
![Page 10: Introduction to Object Oriented Modelingrkj/talks/modeling.pdf · Introduction to Object Oriented Modeling R K Joshi IIT Bombay. R.K. Joshi, IIT Bombay. R.K. Joshi, IIT Bombay Concepts](https://reader035.fdocuments.in/reader035/viewer/2022062311/5fc196c80135c942bd62aad3/html5/thumbnails/10.jpg)
R.K. Joshi, IIT Bombay
Conceptual ideas
End goals
User interfaces
Product Implementation Models
![Page 11: Introduction to Object Oriented Modelingrkj/talks/modeling.pdf · Introduction to Object Oriented Modeling R K Joshi IIT Bombay. R.K. Joshi, IIT Bombay. R.K. Joshi, IIT Bombay Concepts](https://reader035.fdocuments.in/reader035/viewer/2022062311/5fc196c80135c942bd62aad3/html5/thumbnails/11.jpg)
R.K. Joshi, IIT Bombay
Conceptual ideas
End goals
User interfaces
Product Implementation Models
Deployment Models, N/W, Architecture
![Page 12: Introduction to Object Oriented Modelingrkj/talks/modeling.pdf · Introduction to Object Oriented Modeling R K Joshi IIT Bombay. R.K. Joshi, IIT Bombay. R.K. Joshi, IIT Bombay Concepts](https://reader035.fdocuments.in/reader035/viewer/2022062311/5fc196c80135c942bd62aad3/html5/thumbnails/12.jpg)
R.K. Joshi, IIT Bombay
Conceptual ideas
End goals
User interfaces
Product Implementation Models
Deployment Models, N/W, Architecture
Man month
![Page 13: Introduction to Object Oriented Modelingrkj/talks/modeling.pdf · Introduction to Object Oriented Modeling R K Joshi IIT Bombay. R.K. Joshi, IIT Bombay. R.K. Joshi, IIT Bombay Concepts](https://reader035.fdocuments.in/reader035/viewer/2022062311/5fc196c80135c942bd62aad3/html5/thumbnails/13.jpg)
R.K. Joshi, IIT Bombay
Conceptual ideas
End goals
User interfaces
Product Implementation Models
Deployment Models, N/W, Architecture
Man month Financial Model
![Page 14: Introduction to Object Oriented Modelingrkj/talks/modeling.pdf · Introduction to Object Oriented Modeling R K Joshi IIT Bombay. R.K. Joshi, IIT Bombay. R.K. Joshi, IIT Bombay Concepts](https://reader035.fdocuments.in/reader035/viewer/2022062311/5fc196c80135c942bd62aad3/html5/thumbnails/14.jpg)
R.K. Joshi, IIT Bombay
Conceptual ideas
End goals
User interfaces
Product Implementation Models
Deployment Models, N/W, Architecture
Man month Financial Model
The software development process
![Page 15: Introduction to Object Oriented Modelingrkj/talks/modeling.pdf · Introduction to Object Oriented Modeling R K Joshi IIT Bombay. R.K. Joshi, IIT Bombay. R.K. Joshi, IIT Bombay Concepts](https://reader035.fdocuments.in/reader035/viewer/2022062311/5fc196c80135c942bd62aad3/html5/thumbnails/15.jpg)
R.K. Joshi, IIT Bombay
Modeling
![Page 16: Introduction to Object Oriented Modelingrkj/talks/modeling.pdf · Introduction to Object Oriented Modeling R K Joshi IIT Bombay. R.K. Joshi, IIT Bombay. R.K. Joshi, IIT Bombay Concepts](https://reader035.fdocuments.in/reader035/viewer/2022062311/5fc196c80135c942bd62aad3/html5/thumbnails/16.jpg)
R.K. Joshi, IIT Bombay
Modeling
Modeling tools
![Page 17: Introduction to Object Oriented Modelingrkj/talks/modeling.pdf · Introduction to Object Oriented Modeling R K Joshi IIT Bombay. R.K. Joshi, IIT Bombay. R.K. Joshi, IIT Bombay Concepts](https://reader035.fdocuments.in/reader035/viewer/2022062311/5fc196c80135c942bd62aad3/html5/thumbnails/17.jpg)
R.K. Joshi, IIT Bombay
Modeling
Modeling tools Microscopic views&
Iterative Refinement
![Page 18: Introduction to Object Oriented Modelingrkj/talks/modeling.pdf · Introduction to Object Oriented Modeling R K Joshi IIT Bombay. R.K. Joshi, IIT Bombay. R.K. Joshi, IIT Bombay Concepts](https://reader035.fdocuments.in/reader035/viewer/2022062311/5fc196c80135c942bd62aad3/html5/thumbnails/18.jpg)
R.K. Joshi, IIT Bombay
Modeling
Modeling toolsMicroscopic views
&Iterative Refinement
Documentation
![Page 19: Introduction to Object Oriented Modelingrkj/talks/modeling.pdf · Introduction to Object Oriented Modeling R K Joshi IIT Bombay. R.K. Joshi, IIT Bombay. R.K. Joshi, IIT Bombay Concepts](https://reader035.fdocuments.in/reader035/viewer/2022062311/5fc196c80135c942bd62aad3/html5/thumbnails/19.jpg)
R.K. Joshi, IIT Bombay
Product Models
Structure Dynamics
![Page 20: Introduction to Object Oriented Modelingrkj/talks/modeling.pdf · Introduction to Object Oriented Modeling R K Joshi IIT Bombay. R.K. Joshi, IIT Bombay. R.K. Joshi, IIT Bombay Concepts](https://reader035.fdocuments.in/reader035/viewer/2022062311/5fc196c80135c942bd62aad3/html5/thumbnails/20.jpg)
R.K. Joshi, IIT Bombay
Static Modeling
Furniture?Rooms?
Flats?
Building?Electrical Wiring?
Water pipelines
Air ducts?
![Page 21: Introduction to Object Oriented Modelingrkj/talks/modeling.pdf · Introduction to Object Oriented Modeling R K Joshi IIT Bombay. R.K. Joshi, IIT Bombay. R.K. Joshi, IIT Bombay Concepts](https://reader035.fdocuments.in/reader035/viewer/2022062311/5fc196c80135c942bd62aad3/html5/thumbnails/21.jpg)
R.K. Joshi, IIT Bombay
Models throughout the Lifecycle
• Per class• Per object• Collaborating classes• Collaborating objects• Collection of classes (source code)• Location of classes, modules ..
![Page 22: Introduction to Object Oriented Modelingrkj/talks/modeling.pdf · Introduction to Object Oriented Modeling R K Joshi IIT Bombay. R.K. Joshi, IIT Bombay. R.K. Joshi, IIT Bombay Concepts](https://reader035.fdocuments.in/reader035/viewer/2022062311/5fc196c80135c942bd62aad3/html5/thumbnails/22.jpg)
R.K. Joshi, IIT Bombay
Structural (Static) Modeling
• Class diagrams• Object Diagrams• Deployment Diagram• File directory hierarchy• Component Package diagrams• Entity Relationship
![Page 23: Introduction to Object Oriented Modelingrkj/talks/modeling.pdf · Introduction to Object Oriented Modeling R K Joshi IIT Bombay. R.K. Joshi, IIT Bombay. R.K. Joshi, IIT Bombay Concepts](https://reader035.fdocuments.in/reader035/viewer/2022062311/5fc196c80135c942bd62aad3/html5/thumbnails/23.jpg)
R.K. Joshi, IIT Bombay
A Static Model
Push ()Pop()Size()
Stack
![Page 24: Introduction to Object Oriented Modelingrkj/talks/modeling.pdf · Introduction to Object Oriented Modeling R K Joshi IIT Bombay. R.K. Joshi, IIT Bombay. R.K. Joshi, IIT Bombay Concepts](https://reader035.fdocuments.in/reader035/viewer/2022062311/5fc196c80135c942bd62aad3/html5/thumbnails/24.jpg)
R.K. Joshi, IIT Bombay
Visualcomponent
draw ()
Decorator
draw()Component->draw()
TextView
operation ()
Borderdraw()
drawBorder()
Scrollerdraw ()
drawScroller
component
Decorator::draw()drawBorder()
Another Static Model
![Page 25: Introduction to Object Oriented Modelingrkj/talks/modeling.pdf · Introduction to Object Oriented Modeling R K Joshi IIT Bombay. R.K. Joshi, IIT Bombay. R.K. Joshi, IIT Bombay Concepts](https://reader035.fdocuments.in/reader035/viewer/2022062311/5fc196c80135c942bd62aad3/html5/thumbnails/25.jpg)
R.K. Joshi, IIT Bombay
Dynamic Modeling
![Page 26: Introduction to Object Oriented Modelingrkj/talks/modeling.pdf · Introduction to Object Oriented Modeling R K Joshi IIT Bombay. R.K. Joshi, IIT Bombay. R.K. Joshi, IIT Bombay Concepts](https://reader035.fdocuments.in/reader035/viewer/2022062311/5fc196c80135c942bd62aad3/html5/thumbnails/26.jpg)
R.K. Joshi, IIT Bombay
Dynamic Modeling
How does the groupcollaborate?
![Page 27: Introduction to Object Oriented Modelingrkj/talks/modeling.pdf · Introduction to Object Oriented Modeling R K Joshi IIT Bombay. R.K. Joshi, IIT Bombay. R.K. Joshi, IIT Bombay Concepts](https://reader035.fdocuments.in/reader035/viewer/2022062311/5fc196c80135c942bd62aad3/html5/thumbnails/27.jpg)
R.K. Joshi, IIT Bombay
Dynamic Modeling
How does the groupcollaborate?
How does the individualrespond?
![Page 28: Introduction to Object Oriented Modelingrkj/talks/modeling.pdf · Introduction to Object Oriented Modeling R K Joshi IIT Bombay. R.K. Joshi, IIT Bombay. R.K. Joshi, IIT Bombay Concepts](https://reader035.fdocuments.in/reader035/viewer/2022062311/5fc196c80135c942bd62aad3/html5/thumbnails/28.jpg)
R.K. Joshi, IIT Bombay
What happens amongst the objects?
![Page 29: Introduction to Object Oriented Modelingrkj/talks/modeling.pdf · Introduction to Object Oriented Modeling R K Joshi IIT Bombay. R.K. Joshi, IIT Bombay. R.K. Joshi, IIT Bombay Concepts](https://reader035.fdocuments.in/reader035/viewer/2022062311/5fc196c80135c942bd62aad3/html5/thumbnails/29.jpg)
R.K. Joshi, IIT Bombay
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 bid
bind using uid
![Page 30: Introduction to Object Oriented Modelingrkj/talks/modeling.pdf · Introduction to Object Oriented Modeling R K Joshi IIT Bombay. R.K. Joshi, IIT Bombay. R.K. Joshi, IIT Bombay Concepts](https://reader035.fdocuments.in/reader035/viewer/2022062311/5fc196c80135c942bd62aad3/html5/thumbnails/30.jpg)
R.K. Joshi, IIT Bombay
What happens inside an object?
![Page 31: Introduction to Object Oriented Modelingrkj/talks/modeling.pdf · Introduction to Object Oriented Modeling R K Joshi IIT Bombay. R.K. Joshi, IIT Bombay. R.K. Joshi, IIT Bombay Concepts](https://reader035.fdocuments.in/reader035/viewer/2022062311/5fc196c80135c942bd62aad3/html5/thumbnails/31.jpg)
R.K. Joshi, IIT Bombay
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 stateinsert [size <MAX-1]
![Page 32: Introduction to Object Oriented Modelingrkj/talks/modeling.pdf · Introduction to Object Oriented Modeling R K Joshi IIT Bombay. R.K. Joshi, IIT Bombay. R.K. Joshi, IIT Bombay Concepts](https://reader035.fdocuments.in/reader035/viewer/2022062311/5fc196c80135c942bd62aad3/html5/thumbnails/32.jpg)
R.K. Joshi, IIT Bombay
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 33: Introduction to Object Oriented Modelingrkj/talks/modeling.pdf · Introduction to Object Oriented Modeling R K Joshi IIT Bombay. R.K. Joshi, IIT Bombay. R.K. Joshi, IIT Bombay Concepts](https://reader035.fdocuments.in/reader035/viewer/2022062311/5fc196c80135c942bd62aad3/html5/thumbnails/33.jpg)
R.K. Joshi, IIT Bombay
How are various interactions/activities
linked with each other?
![Page 34: Introduction to Object Oriented Modelingrkj/talks/modeling.pdf · Introduction to Object Oriented Modeling R K Joshi IIT Bombay. R.K. Joshi, IIT Bombay. R.K. Joshi, IIT Bombay Concepts](https://reader035.fdocuments.in/reader035/viewer/2022062311/5fc196c80135c942bd62aad3/html5/thumbnails/34.jpg)
R.K. Joshi, IIT Bombay
Activity Diagram Scan
User’s barcode
ScanBook barcode
enter user id by hand
[scanner failed][scan okay]
Performreturn transaction
enter bookid by hand
[scanner failed]
[scan okay]
![Page 35: Introduction to Object Oriented Modelingrkj/talks/modeling.pdf · Introduction to Object Oriented Modeling R K Joshi IIT Bombay. R.K. Joshi, IIT Bombay. R.K. Joshi, IIT Bombay Concepts](https://reader035.fdocuments.in/reader035/viewer/2022062311/5fc196c80135c942bd62aad3/html5/thumbnails/35.jpg)
R.K. Joshi, IIT Bombay
How much can you model?
• Can the full system be specified during modeling?
• What other modeling languages exist?
• Can the full system be generated from the model?
• Benefits of Modelchecking• Modeling language vs.
implementation language
![Page 36: Introduction to Object Oriented Modelingrkj/talks/modeling.pdf · Introduction to Object Oriented Modeling R K Joshi IIT Bombay. R.K. Joshi, IIT Bombay. R.K. Joshi, IIT Bombay Concepts](https://reader035.fdocuments.in/reader035/viewer/2022062311/5fc196c80135c942bd62aad3/html5/thumbnails/36.jpg)
R.K. Joshi, IIT Bombay
Code Generation
• Class structures• Basic Relations• Basic constructions• Helper Code• Service Orientation
– Intermediate formats and Platform dependent code generation techniques
![Page 37: Introduction to Object Oriented Modelingrkj/talks/modeling.pdf · Introduction to Object Oriented Modeling R K Joshi IIT Bombay. R.K. Joshi, IIT Bombay. R.K. Joshi, IIT Bombay Concepts](https://reader035.fdocuments.in/reader035/viewer/2022062311/5fc196c80135c942bd62aad3/html5/thumbnails/37.jpg)
R.K. Joshi, IIT Bombay
Traceability
• Models – Seamlessness
• Moving from early conceptualization to construction and eventually into delivery and maintenance
• Changes reflected back
![Page 38: Introduction to Object Oriented Modelingrkj/talks/modeling.pdf · Introduction to Object Oriented Modeling R K Joshi IIT Bombay. R.K. Joshi, IIT Bombay. R.K. Joshi, IIT Bombay Concepts](https://reader035.fdocuments.in/reader035/viewer/2022062311/5fc196c80135c942bd62aad3/html5/thumbnails/38.jpg)
R.K. Joshi, IIT Bombay
Summary
• Model ---> Implementation• Implementation --> Model• Forward engineering
– Specify/model first and then go on to build
• Many facets of a system --> many models
• Consistency between models• Traceability to Implementation• Automatic Code Generation