Overview of OOMD
Overview of OOMD
Stages
Stages : Analysis
System design Object design Implementation
OMT
Analysis System design Object design Implementation : PL, Dbase, Oostyle, Information modelling
Comparison of methodologies
System analysis and system design
Introduction to UML
Introduction
Large enterprise applications must be structured to ensure scalability, security and robust execution under stressful conditions. Code Reuse & Debugging Not only large applications but even smaller ones which are highly complex Library of modules and importing the module.
7
10
11
What is a model ?
A model Is a representation in a certain medium, Captures important aspects of the thing being modeled Simplifies understanding Modeling is designing of software applications before coding. A model plays the analogous role in software development that blueprints and other plans (site maps, elevations) play in the building of a skyscraper.
13
So whats in a model ?
A model essentially has two parts: 1. Semantics 2. Visual Presentation
Semantic aspect captures the meaning of an application as a network of logical constructs such as classes, associations, states, use cases and messages. Visual Presentation shows semantic presentation in a form that can be seen, browsed and edited by humans. They show it in a form directly apprehensible by humans.
14
Prior to UML
Recursive Design Approach Coads lightweight & prototype-oriented approach to methods Class Responsibility Collaboration Object Modeling Technique Information Systems & Information Engineering All the above methods were very similar, yet with minor differences.
15
We need a common language discuss software systems at a black- (white-) board document software systems UML is an important part of that language UML provides the "words and grammar"
16
What is UML?
UML is an acronym for Unified Modeling Language. Unified Combines the best from existing object-oriented software modeling methodologies. Grady Booch, James Rumbaugh, and Ivor Jacobson are the primary contributors to UML.
17
What is UML?
Modeling Used to present a simplified view of reality in order to facilitate the design and implementation of objectoriented software systems. Language UML is primarily a graphical language that follows a precise syntax.
18
As the usefulness of OO programming became undeniable, more OO modeling languages began to appear.
By the start of the 90s there was a flood of modeling languages, each with its own strengths and weaknesses.
19
20
Combining Methodologies
21
Goals
Model systems from concepts to executable artifacts using object-oriented techniques.
22
Overview of UML
UML is a language. Conforms to specific rules. Allows the creation of various models. Does not tell the designer which models need to be created. UML is a language for visualizing. UML is a graphical language. Pictures facilitate communication (a picture is worth a thousand words). UML is a language for constructing and understanding. UML supports both forward and reverse engineering.
23
Overview of UML
UML is a language for documenting design
Provides a record of what has been built. Useful for bringing new programmers up to speed. Useful when developing new releases of product.
24
27
UML Diagrams
Structural Diagrams
Class Diagram, Object Diagram, Component Diagram and Deployment Diagram
Behavior Diagrams
Use Case Diagram, Sequence, Collaboration, Activity, State chart diagrams
28
Structural diagrams
Class diagram model vocabulary of the system and simple interactions Object diagram objects and relationships at a certain point in time Component diagram physical parts of the system Deployment diagram how physical components interact after deployment
29
30
Object diagram
Objects at a specific point in time
c: Company
d1: Department name = R&D p1: Person ID = 13
31
Component diagram
32
Deployment diagram
: kiosk deploys user.exe
10-T Ethernet
: RAID farm
RS-232
33
Behavioral diagrams
Use case diagram a sample run in detail Sequence diagram emphasizes the time ordering of messages Collaboration diagram emphasizes organization of the objects in interaction State chart diagram finite state machines Activity diagram
34
Use case
35
Sequence diagram
c: Client
route
calculateRoute()
36
37
Activity diagram
38
Conclusions
UML is a really big set of standards But at least there are tools, and resources on the net UML : a communication tool for you and others UML is not definitively fixed => fill free to add indications if you think it is necessary Keep on your mind : to produce well-formed code, you just need some good sense
39
The UML development process is Use case driven Architecture-centric Iterative and incremental
40
41
Rules of UML
Semantic rules - Names (What to call) for elements - Scope (Context) - Visibility (How to use) - Integrity (Relation) - Execution (Run or simulate) - Elided (hidden) - Incomplete (missing) - Inconsistent (not guaranteed) 43
derive Source may be computed from target friend Source is given special visibiliy into the
target
instantiate Source creates instances of the target power type Classifier whose objects are all the
children of a given parent refine Source is at a finer degree of abstraction than the target use The semantics of the source element depends on the semantics of the public part of the targetfor packages access : Source package is granted the right to reference the elements of the target package import : Public contents of target package can enter name space of the source. 47
48
For interactions
become target is same object as source but later has different value, state or role call source operation invokes the target operation copy target object is an exact, but independent copy of the source
49
50
Generalization stereotypes
Implementation child inherits implementation of parent but does not make public nor support its interfaces complete all children specified in the model incomplete additionl children are permitted disjoint objects of parent may have no more than one of the children as a type Overlapping objects of parent may have more than one of the children as a type
51
52
Stable states of the object Event occurances : transitions, self and internal
53
Steps
Choose the context for the state machines Choose the initial and final states for the object Decide on stable states Decide on meaningful partial ordering of stable states over the lifetime of the object Decide on triggering events
54
Attach actions to transitions or to states Simplify your machine using substates, branches, forks, joins and history states Check for reachability of all states Check for dead states Trace through the state machine, either manually or by using tools
55
Reference
G. Booch, J. Rumbaugh, and I. Jacobson, The Unified Modeling Language User Guide, Addison Wesley, 1999.
56
Created By
Pradeep Kulkarni Preetam Dabade Ruturaj Doshi Chaitra Padasalgi