SlideShare une entreprise Scribd logo
1  sur  122
https://sites.google.com/a/cmrit.ac.in/manoj-c5559/
Prerequisite 
The course is aimed at: 
 Students who have prior knowledge to the concept of 
Software Engineering. 
 Object oriented language like C++.
Polymorphism - Ability of different objects to response same 
message in different ways. 
Circle 
Rectangle 
Triangle 
Draw
Inheritance
Inheritance 
One class can be used to derive another via 
inheritance 
Classes can be organized into hierarchies 
6 
Bank 
Account 
Account 
Charge 
Account 
Savings 
Account 
Checking 
Account
Abstraction
8 
Encapsulation
Learning Outcomes: 
At the end of the course the student would have the: 
 The Knowledge of the basic concepts of Object oriented modeling and 
Design. 
 Will be able to use the Object Oriented notations and process that extends 
from analysis through design to implementations. 
 Be able to use all the standard UML notations. 
 Capable to model the requirements with use cases and describe the dynamic 
behavior and structure of the design. 
 Easily create a modular design with components and relate the logical 
design to the physical environment. 
 The Student will be able to use the concept of design patterns and apply it 
where suitable.
What is UML? 
UML: Unified Modeling Language 
An industry-standard graphical language for specifying, 
visualizing, constructing and documenting the software 
systems, as well as for business modeling. 
The UML uses mostly graphical notations to express the 
OO modeling and design of software projects. 
Simplifies the complex process of software design
Why we use UML? 
 Use graphical notation: more clearly than natural language and code. 
 Help acquire an overall view of a system. 
 UML is not dependent on any one language or technology.
How to use UML diagrams to design software system? 
Types of UML Diagrams: 
 Use Case Diagram 
 Class Diagram 
 Sequence Diagram 
 Collaboration Diagram 
 State Diagram
Different Views 
14 
Users Designers Analyzers
UML Diagram – 
The Unified Modeling Language (UML) is a standard language for 
15 
Specifying Visualizing Constructing Documenting 
Business Modeling Communications
UNIT – 1 : Introduction-Modeling Concepts, class Modeling 
What is Object Orientation? What is OO development? OO themes; 
Evidence for usefulness of OO development; OO modeling history 
Modeling as Design Technique: Modeling; abstraction; The three models. 
Class Modeling: Object and class concepts; Link and associations concepts; 
Generalization and inheritance; A sample class model; Navigation of class 
models; Practical tips.
Object-Oriented Modelling and 
Design 
Object-Oriented Modelling and Design is a way of 
thinking about problems using models organized around 
real world concepts. The fundamental construct is the 
object, which combines both data and behaviour.
Objects 
An object has: 
state - descriptive characteristics 
behaviors - what it can do (or what can be done to it) 
The state of a bank account includes its account number and its 
current balance 
The behaviors associated with a bank account include the 
ability to make deposits and withdrawals 
Note that the behavior of an object might change its state 
18
19 
Objects 
• Objects have three responsibilities: 
What they know about themselves – (e.g., Attributes) 
What they do – (e.g., Operations) 
What they know about other objects – (e.g., Relationships)
20
Objects 
Software objects model read-world objects or abstract concepts 
• dog, bicycle, Bank account 
Real-world objects have states and behaviors 
• Dogs' states: name, color, breed, hungry 
• Dogs' behaviors: barking fetching 
• Bicycle ‘s State : 
• Bicycle’ s behavior : 
Other examples of objects are: 
myself – an instructor object. 
you – a student object 
this room – a room object 
this university 
your car, etc.
What is Object-Orientation about? 
One of the key challenges faced by Computer Scientist is how to handle complexity. 
Two main concepts used to manage complexity are Modularity and Abstractions. 
Modularity means breaking a large system up into smaller pieces until each 
peace becomes simple enough to be handled easily. 
Abstraction focus on essential aspects of an application while ignoring details. 
Over the years, computer scientists have developed a number of approaches to 
achieve modularity and abstraction. 
The latest of these approaches is Object-Orientation or OO for short. 
The key concept in OO is of course Object,
Object-Oriented 
Software is organized as a collection of discrete objects that 
incorporate both State and behavior. 
 Four aspects (characteristics) required by an OO 
approach are - 
Identity 
Classification 
Polymorphism 
Inheritance 
23
Identity 
 Identity means that data is organized into discrete, 
distinguishable entities called objects. 
 E.g. for objects: personal computer, bicycle 
 Objects can be concrete (such as a file in a file system) or 
conceptual (such as scheduling policy in a multiprocessing 
OS). Each object has its own inherent identity. (i.e two objects 
are distinct even if all their attribute values are identical). 
24
25
Classification 
It means that objects with same data structure (attribute) and 
behavior (operations) are grouped into a class. 
Each object is said to be an instance of its class. 
A class is simply a representation of a type of object. It is the 
blueprint/ plan/ template that describe the details of an object. 
 A class is the blueprint from which the individual objects are 
created. 
26
CCllaasssseess –– EExxaammppllee 
CCCCllllaaaassssssss AAAAttttttttrrrriiiibbbbuuuutttteeeessss 
27 
AAAAccccccccoooouuuunnnntttt 
++OOwwnneerr:: PPeerrssoonn 
++AAmmoouunntt:: ddoouubbllee 
++ssuussppeenndd(()) 
++ddeeppoossiitt((ssuumm::ddoouubbllee)) 
++wwiitthhddrraaww((ssuumm::ddoouubbllee)) 
OOOOppppeeeerrrraaaattttiiiioooonnnnssss
CCllaasssseess aanndd OObbjjeeccttss –– EExxaammppllee 
CCCCllllaaaassssssss iiiivvvvaaaannnnAAAAccccccccoooouuuunnnntttt 
28 
AAAAccccccccoooouuuunnnntttt 
++OOwwnneerr:: PPeerrssoonn 
++AAmmoouunntt:: ddoouubbllee 
++ssuussppeenndd(()) 
++ddeeppoossiitt((ssuumm::ddoouubbllee)) 
++wwiitthhddrraaww((ssuumm::ddoouubbllee)) 
++OOwwnneerr==““AABBCC"" 
++AAmmoouunntt==55000000..00 
ppppeeeetttteeeerrrrAAAAccccccccoooouuuunnnntttt 
++OOwwnneerr==““XXYYZZ"" 
++AAmmoouunntt==11882255..3333 
kkkkiiiirrrriiiillllAAAAccccccccoooouuuunnnntttt 
++OOwwnneerr==““CCSSEE”” 
++AAmmoouunntt==2255..00 
OOOObbbbjjjjeeeecccctttt 
OOOObbbbjjjjeeeecccctttt 
OOOObbbbjjjjeeeecccctttt
Polymorphism 
It means that the same operation (i.e. action or 
transformation that the object performs) may behave 
differently on different classes. 
Ability of different objects to response same message in 
different ways. 
30
Polymorphism 
Circle 
Rectangle 
Triangle 
Draw
Inheritance 
It is the sharing of attributes and operations among 
classes based on a hierarchical relationship. 
Subclasses can be formed from broadly defined class. 
Each subclass incorporates or inherits all the 
properties of its super class and adds its own unique 
properties. 
32
Inheritance
Object-Oriented Development 
Development refers to Software Life Cycle. 
OOD approach encourages software developers to 
work and think in terms of the application domain 
through most of the software engineering life cycle. 
34
Software Life Cycle 
Software life cycle (or software process) - series of 
identifiable stages that a software product undergoes 
during its life time. 
 Feasibility study 
 Requirements analysis and specification 
 Design 
 Coding 
 Testing 
 Maintenance
Object-Oriented Methodology 
 The process for OO development and graphical notation for 
representing OO concepts consists of building a model of an 
application and then adding details to it during design. 
The methodology has the following stages: 
 System conception : Software development begins with business 
analysis or users conceiving an application and formulating tentative 
requirements 
 Analysis : The analyst must work with the requestor to understand 
the problem, because problem statements are rarely complete or 
correct. 
The analysis model is a precise abstraction of what the desired 
system must do, not how it will be done. 
It should not contain implementation decisions. 
38
Object-oriented methodology 
The analysis model has 2 parts: 
Domain model - a description of the real-world objects reflected 
within the system 
Eg: Domain objects for a stock broker 
Application – model - a description of the parts of the application 
system itself that are visible to the user. 
Eg:- Application might include stock, bond, trade and commission. 
Application objects might control the execution of trades and present 
the results.
Object-oriented methodology 
 System design: The development teams devise a high – level 
strategy – the system architecture for solving the application 
problem. 
They also establish policies that will serve as a default for the 
subsequent, more detailed portions of design. 
The system designer must decide what performance characteristics to 
optimize, choose a strategy of attacking the problem and make 
tentative resource allocations. 
 Class design : The class designer adds details to the analysis model 
in accordance with the system design strategy. 
The focus of class design is the data structures and algorithms needed 
to implement each class.
Object-oriented methodology 
Implementation : Implementers translate the classes and 
relationships developed during class design into particular 
programming language, database or hardware. 
During implementation, it is important to follow good software 
engineering practice so that traceability to the design is 
apparent and so that the system remains flexible and 
extensible.
Object oriented Themes 
Abstraction: let’s focus on essential aspects of an application while 
ignoring details. 
Encapsulation :( Information Hiding) separates the external aspects 
of an object , that are accessible to other objects from internal 
implementation details. 
Sharing (reuse) 
Emphasis on the essence of an object: OO technology stresses 
what an object is, rather than how it is used. 
Synergy: Identity, classification, polymorphism, and inheritance 
characterize OO languages. Use all together.
43
44
Evidence for usefulness of OO development 
Applications at General Electric Research and Development Center.(1990) 
OO techniques for developing compilers, graphics, user interfaces, 
databases ,an OO language, etc. 
OO technology is a part of the computer science and software engineering 
mainstream. 
Important forums: (OOPSLA,ECOOP) Object Oriented Programming 
systems, Languages and applications. European Conference on OOP.
OO Modeling history 
 Work at GE R&D led to OMT(Object-Modeling Technique) in 
1991. 
Rumbaugh, Grady Booch on unifying the OMT and Booch Notaions 
in 1994. 
In 1996 the OMG(Object Management Group) issued a request for 
the proposals for a standard OO modeling notation. 
1997 UML was accepted by OMG as a standard. 
In 2001 OMG released UML 
Added features and released UML in 2004. 
www.omg.org
Year & Version of UML 
2000: UML 1.3 
1998: UML 1.2 
1997: UML 1.0, 1.1 
1996: UML 0.9 & 0.91 
1995: Unified Method 0.8 
2011:UML 2.4 
2010:UML2.3 
2009:UML2.2 
2007: UML 2.1.1 
2005: UML 2.0 
2003: UML 1.5 
2001: UML 1.4
What is Modeling 
Modeling consists of building an abstraction of reality. 
Abstractions are simplifications because: 
They ignore irrelevant details and 
They only represent the relevant details. 
What is relevant or irrelevant depends on the purpose of the 
model.
50 
What is a Model 
A model is a simplification of reality. 
A model may provide 
blueprints of a system 
Organization of the system 
Dynamic of the system
MODEL 
 A model is an abstraction, before building any system a 
prototype may be developed. The main purpose of model is 
for understanding of the system. 
Designer build different kinds of models for various purposes 
before constructing things. 
For example car , airplane, blueprints of machine parts, Plan 
for house construction etc., Models serve many purposes
55 
Importance of Modeling 
Models help us 
to visualize a system as it is or as we want it to be. 
to specify the structure or behavior of a system. 
in providing a template that guides us in constructing a 
system. 
in providing documenting the decisions we have made.
Purpose of Modeling 
Designers build many kinds of models for various purposes 
before constructing things. 
Models serve several purposes – 
Testing a physical entity before building (simulation) 
Communication with customer 
Visualization 
Reduction of complexity 
Better understanding of the problem
Purpose of Modeling 
Communication with customers 
Architects and product designers build models to show 
their customers. Mock ups are demonstration products that 
imitate some or all of the external behaviour of a system.
Purpose of Modeling 
Visualization 
Storyboards of movies, television shows and 
advertisements let writers see how their ideas flow. They 
can modify awkward transitions, and unnecessary 
segments before detailed writing begins.
Purpose of Modeling 
Reduction of complexity 
The main reason for modeling is to deal with systems that 
are too complex to understand directly. Models reduce 
complexity by separating out a small number of important 
things to deal with at a time.
Three models 
We use three kinds of models to describe a system from different 
view points. 
1.Class Model for the objects in the system & their 
relationships. 
2. State model—for the life history of objects. 
Show how systems behave internally 
3. Interaction Model—for the interaction among objects. 
Show the behaviour of systems in terms of how objects interact 
with each other
Class diagrams 
Class diagrams provide a graphic notation for modeling 
classes and their relationships, thereby describing possible 
objects 
Note: An object diagram shows individual objects and their 
relationships.
Class diagrams 
ClassName 
attributes 
operations 
A class is a description of a set of 
objects that share the same attributes, 
operations, relationships, and semantics. 
Graphically, a class is rendered as a 
rectangle, usually including its name, 
attributes, and operations in separate, 
designated compartments.
Class Names 
ClassName 
attributes 
operations 
The name of the class is the only required 
tag in the graphical representation of a 
class. It always appears in the top-most 
compartment.
Class Attributes 
Person 
name : String 
address : Address 
birthdate : Date 
ssn : Id 
An attribute is a named property of a 
class that describes the object being modeled. 
In the class diagram, attributes appear in 
the second compartment just below the 
name-compartment.
Class Operations 
Person 
name : String 
address : Address 
birthdate : Date 
ssn : Id 
eat 
sleep 
work 
play 
Operations describe the class behavior 
and appear in the third compartment.
An example of Class 
Account_Name 
- Custom_Name 
- Balance 
+AddFunds( ) 
+WithDraw( ) 
+Transfer( ) 
Name 
Attributes 
Operations
Conventions used (UML) in 
Class Diagrams
Conventions used (UML): 
• UML symbol for both classes and objects is box. 
• Objects are modeled using box with object name followed by colon followed 
by class name, Both the names are underlined. 
• Use boldface to list class name, center the name in the box and capitalize the 
first letter. Use singular nouns for names of classes. 
• To run together multiword names (such as JoeSmith), separate the words 
With intervening capital letter.
Values and Attributes: 
Value is a piece of data. 
Attribute is a named property of a class that describes a 
value held by each object of the class. 
E.g. Attributes: Name, bdate, weight. 
Values: JoeSmith, 21 October 1983, 64.
Conventions used (UML): 
List attributes in the 2nd compartment of the class box. 
A colon precedes the type, an equal sign precedes default value. 
Show attribute name in regular face, left align the name in the box and use 
small case for the first letter. 
Similarly we may also include attribute values in the 2nd compartment of 
object boxes with same conventions.
Do not list object identifiers
Operations and Methods: 
An operation is a function or procedure that maybe applied to 
or by objects in a class. 
E.g. Hire, fire and pay dividend are operations on Class 
Company. Open, close, hide and redisplay are operations on 
class window. 
A method is the implementation of an operation for a class. 
E.g. In class file, print is an operation you could implement 
different methods to print files. 
Note: Same operation may apply to many different classes. Such 
an operation is polymorphic.
UML conventions used – 
List operations in 3rd compartment of class box. 
List operation name in regular face, left align and use lower case for first 
letter. 
Optional details like argument list and return type may follow each operation 
name. 
Parenthesis enclose an argument list, commas separate the arguments. A 
colon precedes the result type. 
Note: We do not list operations for objects, because they do not vary among 
objects of same class.
76 
Links and Association 
Links and associations are the means for establishing 
relationships among objects and classes. 
A link is a physical or conceptual connection among objects. 
E.g. JoeSmith WorksFor Simplex Company. 
An association is a description of a group of links with common 
structure and common semantics. 
E.g. a person WorksFor a company.
Conventions used (UML): 
Link is a line between objects 
Association connects related classes and is also denoted by a line. 
Show link and association names in italics.
Association 
Associations are inherently bi-directional. 
The association name is usually read in a particular direction 
but the binary association may be traversed in either direction.
79 
UML Association Notation 
 In the UML, a navigable association is represented by an open arrow. 
BankAccount Person
80 
UML Binary Association Notation 
A binary association is drawn as a solid path connecting two classes 
or both ends may be connected to the same class. 
Company Person 
• Self Associated Person 
involving class Person
Associations: Multiplicity 
Multiplicity defines the number of 
objects associated with an instance of 
the association. 
UML diagrams explicitly list 
multiplicity at the end of association 
lines. 
Intervals are used to express 
multiplicity: 
transports 
Car Person 
passenger 
transports 
5 
Car Person 
passenger 
transports 
* 
Car Person 
passenger 
transports 
1..* 
Car Person 
passenger 
transports 
2..5 
Car Person 
passenger
82 
Associations and Multiplicity 
An association is used to show how two classes are related to each other 
Symbols indicating multiplicity are shown at each end of the 
association
Many-to-one 
– Bank has many ATMs, ATM knows only 1 bank 
One-to-many 
– Inventory has many items, items know 1 inventory
Analyzing and validating associations 
Many-to-one 
 A company has many employees, 
 An employee can only work for one company. 
 A company can have zero employees 
 E.g. a ‘shell’ company 
 It is not possible to be an employee unless you work for a company 
Employee * worksFor 1 Company 
© 85
Analyzing and validating associations 
Many-to-many 
 A secretary can work for many managers 
 A manager can have many secretaries 
Managers can have a group of secretaries 
 Some managers might have zero secretaries. 
Secretary * 
1..** Manager 
supervisor 
© 86
Analyzing and validating associations 
One-to-one 
 For each company, there is exactly one board of directors 
 A board is the board of only one company 
 A company must always have a board 
 A board must always be of some company 
Company 1 1 BoardOfDirectors 
© 87
Association Relationships 
If two classes in a model need to communicate with each other, there must be link 
between them. 
An association denotes that link. 
Student Instructor
Association Relationships (Cont’d) 
We can indicate the multiplicity of an association by adding 
multiplicity relationships to the line denoting the association. 
The example indicates that a Student has one or more 
Instructors: 
Student Instructor 
1..*
Association Relationships (Cont’d) 
The example indicates that every Instructor has one or more Students: 
Student Instructor 
1..*
Association Relationships (Cont’d) 
We can also indicate the behavior of an object in an association (i.e., 
the role of an object) using rolenames. 
teaches learns from 
Student Instructor 
1..* 1..*
one-to-one multiplicity
Multiplicity Constraints 
is registered for> 
Coming up: Questions 
Student 
1..* 
is held during> 
Class 
Section 
Semester 
1 
Course 
Instructor 
1..* 
Department 
takes> 
teaches> 
sponsors> 
<works for 
1..* 
is instance of> 
1 1..* 
1 
0..8 
0..* 
1..3 0..6
Association Ends 
Associations have ends. They are called ‘Association Ends’. 
They may have names (which often appear in problem 
descriptions).
Association Ends 
Use of association end names is optional. 
But association end names are useful for traversing associations. 
Association end names are necessary for associations between 
objects of the same class. 
When constructing class diagrams you should properly use 
association end names and not introduce a separate class for each 
reference. Two instances represent a person with a child one for child 
and one for parent. 
In the correct model, one person instance participates in2 or more 
links, twice as a parent and zero or more times as a child.
Example of association ends use
Association: ordering, bag, sequence 
On a ‘many” association end, sometimes, it is required that objects 
have an explicit order. In this case the ordering is an inherent part of 
the association 
A workstation screen contains a number of overlapping windows. Each 
window on a screen occurs at most once. The windows have an explicit 
order so only the topmost window is visible. 
The ordering is an inherent part of the association. If objects indicate 
ordered set objects by 
writing ―{ordered} next to appropriate ‖ association end. 
Example:
Association: ordering, bag, sequence 
A bag is a collection of elements with duplicates allowed. 
A sequence is an ordered collection of elements with duplicates allowed 
Bag: collection of elements with duplicates allowed. 
• Sequence: ordered collection of elements with duplicate allowed eg. An 
itinerary is a sequence of airports and the same airport can be visited more 
than once. 
• Sequence is ordered bag allow duplicates, {ordered} and {sequence} 
only difference is sequence allows duplicates as shown in figure 14.
Association class 
 UML offers the ability to describe links of association with 
attributes like any class. 
An association class is an association that is also a class.
Association class 
Examples:
Association class 
Example
Qualified Association 
A qualified association is an association in which an attribute called 
Qualifier the objects for a ‘many’ association’ end. 
A qualifier selects among the target objects, reducing the effective 
multiplicity from ‘many’ to ‘one’. 
Both below models are acceptable but the qualified model adds 
information.
Qualified Association 
Example:
W ithout qualification 
Directory 
File 
filename 
1 
W ith qualification 
* 
1 0..1 
Directory filename File 
Figure 5-9. Example of how a qualified association reduces multiplicity (UML class diagram). Adding a qualifier 
clarifies the class diagram and increases the conveyed information. In this case, the model including the qualification 
denotes that the name of a file is unique within a directory.
105 
Generalization 
Deriving a class out of a parent class having some inherited property(from 
the parent class) and some new property of the derived class. 
The term generalization is for the inheritance in the bottom to the up 
direction i.e. from derived class to the parent class. 
Generalization is the relationship between a class (superclass) and one or 
more variations of the class (subclasses). 
A superclass holds common attributes, attributes and associations. 
The subclasses adds specific attributes, operations, and associations. They 
inherit the features of their superclass. 
Generalization is called a “IS A” relationship
• It is represented by a solid line with a large arrow 
head pointing towards the parent class. 
• Example: 
106 
Vehicle 
Car Truck
Generalization 
Customer 
Corporate 
Customer 
Personal 
Customer
Generalization 
Relationships 
Software Design (UML) 
Person 
A generalization connects a subclass 
to its superclass. It denotes an 
inheritance of attributes and behavior 
from the superclass to the subclass and 
indicates a specialization in the subclass 
of the more general superclass. 
Student
109 
Generalization Relationships 
Vehicle 
Bus Truck Car 
Boeing 737 
BoeingAirplane 
Boeing 757 Boeing 767
Supertype 
Subtype2 
Subtype1 
- 
Regular 
Customer 
Loyalty 
Customer 
Example: Customer
Incident 
LowPriority Emergency Disaster 
CatInTree EarthQuake ChemicalLeak 
TrafficAccident BuildingFire 
Figure 5-10. An example of a generalization hierarchy (UML class diagram). The root of the hierarchy represents the 
most general concept, whereas the leaves nodes represent the most specialized concepts.
Use of generalization 
Used for three purposes: 
Support of polymorphism: 
polymorphism increases the flexibility of software. 
Adding a new subclass and automatically inheriting superclass 
behavior. 
Structuring the description of objects: 
Forming a classification, organizing objects according to their 
similarities. It is much more profound than modeling each class 
individually and in isolation of other similar classes. 
Enabling code reuse: 
Reuse is more productive than repeatedly writing code from scratch.
Generalization, Specialization, and Inheritance 
The terms generalization, specialization, and inheritance all refer to aspects 
of the same idea. 
Generalization and specialization concern a relationship among classes and 
take opposite perspectives, viewed from the superclass or from the 
subclasses. 
Generalization derives from the fact that the superclass generalizes the 
subclasses 
Specialization refers to the fact that the subclasses refine or specialize the 
superclass. 
Inheritance is the mechanism for sharing attributes, operations, and 
associations via the generalization/specialization relationship. 
Generalization represents a relationship at the conceptual level 
Inheritance is an implementation technique
115 
Poor Generalization Example 
(violates the “is a” or “is a kind of” heuristic) 
Person 
attributes 
operations 
Arm 
attributes 
operations 
Leg 
attributes 
operations 
Head 
attributes 
operations
Class model for managing credit card accounts 
MailingAddress 
address 
phoneNumber 
CreditCardAccount 
maximumCredit 
currentBalance 
statementDate 
Institution 
name 
address 
phoneNumber 
accountNumber 
Customer 
name 
Statement 
paymentDueDate 
financeCharge 
minimumPayment 
Transaction 
transactionDat 
e 
explanation 
amount 
transactionNumbe 
r 
CashAdvance Interest Purchase Fee 
feeType 
Adjustment 
Merchant 
name 
1 * 
* 
* 
0..1 
1 
1 0..1 
* 
1 
accountHolder
122 
Overloading vs. Overriding 
Overloading deals with 
multiple methods in the 
same class with the same 
name but different 
signatures 
Overloading lets you 
define a similar operation 
in different ways for 
different data 
Overriding deals with two 
methods, one in a parent 
class and one in a child 
class, that have the same 
signature 
Overriding lets you define 
a similar operation in 
different ways for different 
object types

Contenu connexe

Tendances

Identifying classes and objects ooad
Identifying classes and objects ooadIdentifying classes and objects ooad
Identifying classes and objects ooadMelba Rosalind
 
Unit 4 designing classes
Unit 4  designing classesUnit 4  designing classes
Unit 4 designing classesgopal10scs185
 
CS8592-OOAD-UNIT II-STATIC UML DIAGRAMS PPT
CS8592-OOAD-UNIT II-STATIC UML DIAGRAMS PPTCS8592-OOAD-UNIT II-STATIC UML DIAGRAMS PPT
CS8592-OOAD-UNIT II-STATIC UML DIAGRAMS PPTleela rani
 
Lecture 12 requirements modeling - (system analysis)
Lecture 12   requirements modeling - (system analysis)Lecture 12   requirements modeling - (system analysis)
Lecture 12 requirements modeling - (system analysis)IIUI
 
System Models in Software Engineering SE7
System Models in Software Engineering SE7System Models in Software Engineering SE7
System Models in Software Engineering SE7koolkampus
 
Object oriented modeling and design
Object oriented modeling and designObject oriented modeling and design
Object oriented modeling and designjayashri kolekar
 
Advanced Structural Modeling
Advanced Structural ModelingAdvanced Structural Modeling
Advanced Structural ModelingAMITJain879
 
Uml Presentation
Uml PresentationUml Presentation
Uml Presentationmewaseem
 
Domain class model
Domain class modelDomain class model
Domain class modelshekharsj
 
Object oriented methodologies
Object oriented methodologiesObject oriented methodologies
Object oriented methodologiesnaina-rani
 
Object Oriented Approach for Software Development
Object Oriented Approach for Software DevelopmentObject Oriented Approach for Software Development
Object Oriented Approach for Software DevelopmentRishabh Soni
 
Introduction to Design Pattern
Introduction to Design  PatternIntroduction to Design  Pattern
Introduction to Design PatternSanae BEKKAR
 
Interaction Modeling
Interaction ModelingInteraction Modeling
Interaction ModelingHemant Sharma
 
state modeling In UML
state modeling In UMLstate modeling In UML
state modeling In UMLKumar
 

Tendances (20)

Identifying classes and objects ooad
Identifying classes and objects ooadIdentifying classes and objects ooad
Identifying classes and objects ooad
 
Unit 4 designing classes
Unit 4  designing classesUnit 4  designing classes
Unit 4 designing classes
 
Uml class-diagram
Uml class-diagramUml class-diagram
Uml class-diagram
 
CS8592-OOAD-UNIT II-STATIC UML DIAGRAMS PPT
CS8592-OOAD-UNIT II-STATIC UML DIAGRAMS PPTCS8592-OOAD-UNIT II-STATIC UML DIAGRAMS PPT
CS8592-OOAD-UNIT II-STATIC UML DIAGRAMS PPT
 
CS8592-OOAD Lecture Notes Unit-3
CS8592-OOAD Lecture Notes Unit-3CS8592-OOAD Lecture Notes Unit-3
CS8592-OOAD Lecture Notes Unit-3
 
Lecture 12 requirements modeling - (system analysis)
Lecture 12   requirements modeling - (system analysis)Lecture 12   requirements modeling - (system analysis)
Lecture 12 requirements modeling - (system analysis)
 
System Models in Software Engineering SE7
System Models in Software Engineering SE7System Models in Software Engineering SE7
System Models in Software Engineering SE7
 
Object oriented modeling and design
Object oriented modeling and designObject oriented modeling and design
Object oriented modeling and design
 
Advanced Structural Modeling
Advanced Structural ModelingAdvanced Structural Modeling
Advanced Structural Modeling
 
Analysis modeling
Analysis modelingAnalysis modeling
Analysis modeling
 
Uml Presentation
Uml PresentationUml Presentation
Uml Presentation
 
Domain class model
Domain class modelDomain class model
Domain class model
 
Unified Modeling Language
Unified Modeling LanguageUnified Modeling Language
Unified Modeling Language
 
Object oriented methodologies
Object oriented methodologiesObject oriented methodologies
Object oriented methodologies
 
Software design
Software designSoftware design
Software design
 
Object Oriented Approach for Software Development
Object Oriented Approach for Software DevelopmentObject Oriented Approach for Software Development
Object Oriented Approach for Software Development
 
Introduction to Design Pattern
Introduction to Design  PatternIntroduction to Design  Pattern
Introduction to Design Pattern
 
Interaction Modeling
Interaction ModelingInteraction Modeling
Interaction Modeling
 
1 introduction of OOAD
1 introduction of OOAD1 introduction of OOAD
1 introduction of OOAD
 
state modeling In UML
state modeling In UMLstate modeling In UML
state modeling In UML
 

Similaire à Unit 1( modelling concepts & class modeling)

unit-1modellingconceptsclassmodeling-140929182538-phpapp01.pdf
unit-1modellingconceptsclassmodeling-140929182538-phpapp01.pdfunit-1modellingconceptsclassmodeling-140929182538-phpapp01.pdf
unit-1modellingconceptsclassmodeling-140929182538-phpapp01.pdfRojaPogul1
 
Assignment 1 SYD601 2012 rick_danby completed with audio
Assignment 1 SYD601 2012 rick_danby completed with audioAssignment 1 SYD601 2012 rick_danby completed with audio
Assignment 1 SYD601 2012 rick_danby completed with audioRickNZ
 
Module3 - Object Oriented Analysis & Functional Model.pdf
Module3 - Object Oriented Analysis & Functional Model.pdfModule3 - Object Oriented Analysis & Functional Model.pdf
Module3 - Object Oriented Analysis & Functional Model.pdfGerard Alba
 
Object Oriented Analysis and Design
Object Oriented Analysis and DesignObject Oriented Analysis and Design
Object Oriented Analysis and DesignDr. C.V. Suresh Babu
 
CS6502 OOAD - Question Bank and Answer
CS6502 OOAD - Question Bank and AnswerCS6502 OOAD - Question Bank and Answer
CS6502 OOAD - Question Bank and AnswerGobinath Subramaniam
 
oomd-unit-i-cgpa.ppt
oomd-unit-i-cgpa.pptoomd-unit-i-cgpa.ppt
oomd-unit-i-cgpa.pptPavan992098
 
Bt8901 objective oriented systems1
Bt8901 objective oriented systems1Bt8901 objective oriented systems1
Bt8901 objective oriented systems1Techglyphs
 
OOAD unit1 introduction to object orientation
 OOAD unit1 introduction to object orientation OOAD unit1 introduction to object orientation
OOAD unit1 introduction to object orientationDr Chetan Shelke
 
Unit-1 OOAD Introduction.pptx
Unit-1 OOAD Introduction.pptxUnit-1 OOAD Introduction.pptx
Unit-1 OOAD Introduction.pptxRavindranath67
 
Unit IV Software Engineering
Unit IV Software EngineeringUnit IV Software Engineering
Unit IV Software EngineeringNandhini S
 
Cs 2352 object oriented analysis and design
Cs 2352 object oriented analysis and designCs 2352 object oriented analysis and design
Cs 2352 object oriented analysis and designandrewsasi
 
Object-Oriented Analysis and Design
Object-Oriented Analysis and DesignObject-Oriented Analysis and Design
Object-Oriented Analysis and DesignIJOAEM
 
Object Oriented Analysis & Design
Object Oriented Analysis & DesignObject Oriented Analysis & Design
Object Oriented Analysis & DesignMeghaj Mallick
 
CS8592 Object Oriented Analysis & Design - UNIT I
CS8592 Object Oriented Analysis & Design - UNIT ICS8592 Object Oriented Analysis & Design - UNIT I
CS8592 Object Oriented Analysis & Design - UNIT Ipkaviya
 
Handout on Object orienetd Analysis and Design
Handout on Object orienetd Analysis and DesignHandout on Object orienetd Analysis and Design
Handout on Object orienetd Analysis and DesignSAFAD ISMAIL
 
Object Modelling Technique " ooad "
Object Modelling Technique  " ooad "Object Modelling Technique  " ooad "
Object Modelling Technique " ooad "AchrafJbr
 
Object-Oriented Analysis and Design
Object-Oriented Analysis and DesignObject-Oriented Analysis and Design
Object-Oriented Analysis and DesignRiazAhmad786
 
CS8592 Object Oriented Analysis & Design - UNIT V
CS8592 Object Oriented Analysis & Design - UNIT V CS8592 Object Oriented Analysis & Design - UNIT V
CS8592 Object Oriented Analysis & Design - UNIT V pkaviya
 

Similaire à Unit 1( modelling concepts & class modeling) (20)

unit-1modellingconceptsclassmodeling-140929182538-phpapp01.pdf
unit-1modellingconceptsclassmodeling-140929182538-phpapp01.pdfunit-1modellingconceptsclassmodeling-140929182538-phpapp01.pdf
unit-1modellingconceptsclassmodeling-140929182538-phpapp01.pdf
 
Assignment 1 SYD601 2012 rick_danby completed with audio
Assignment 1 SYD601 2012 rick_danby completed with audioAssignment 1 SYD601 2012 rick_danby completed with audio
Assignment 1 SYD601 2012 rick_danby completed with audio
 
Module3 - Object Oriented Analysis & Functional Model.pdf
Module3 - Object Oriented Analysis & Functional Model.pdfModule3 - Object Oriented Analysis & Functional Model.pdf
Module3 - Object Oriented Analysis & Functional Model.pdf
 
Object Oriented Analysis and Design
Object Oriented Analysis and DesignObject Oriented Analysis and Design
Object Oriented Analysis and Design
 
ppt_ooad.pdf
ppt_ooad.pdfppt_ooad.pdf
ppt_ooad.pdf
 
CS6502 OOAD - Question Bank and Answer
CS6502 OOAD - Question Bank and AnswerCS6502 OOAD - Question Bank and Answer
CS6502 OOAD - Question Bank and Answer
 
oomd-unit-i-cgpa.ppt
oomd-unit-i-cgpa.pptoomd-unit-i-cgpa.ppt
oomd-unit-i-cgpa.ppt
 
Bt8901 objective oriented systems1
Bt8901 objective oriented systems1Bt8901 objective oriented systems1
Bt8901 objective oriented systems1
 
OOAD unit1 introduction to object orientation
 OOAD unit1 introduction to object orientation OOAD unit1 introduction to object orientation
OOAD unit1 introduction to object orientation
 
Unit-1 OOAD Introduction.pptx
Unit-1 OOAD Introduction.pptxUnit-1 OOAD Introduction.pptx
Unit-1 OOAD Introduction.pptx
 
Unit IV Software Engineering
Unit IV Software EngineeringUnit IV Software Engineering
Unit IV Software Engineering
 
Cs 2352 object oriented analysis and design
Cs 2352 object oriented analysis and designCs 2352 object oriented analysis and design
Cs 2352 object oriented analysis and design
 
Object-Oriented Analysis and Design
Object-Oriented Analysis and DesignObject-Oriented Analysis and Design
Object-Oriented Analysis and Design
 
Object Oriented Analysis & Design
Object Oriented Analysis & DesignObject Oriented Analysis & Design
Object Oriented Analysis & Design
 
CS8592 Object Oriented Analysis & Design - UNIT I
CS8592 Object Oriented Analysis & Design - UNIT ICS8592 Object Oriented Analysis & Design - UNIT I
CS8592 Object Oriented Analysis & Design - UNIT I
 
Handout on Object orienetd Analysis and Design
Handout on Object orienetd Analysis and DesignHandout on Object orienetd Analysis and Design
Handout on Object orienetd Analysis and Design
 
Object Modelling Technique " ooad "
Object Modelling Technique  " ooad "Object Modelling Technique  " ooad "
Object Modelling Technique " ooad "
 
Object-Oriented Analysis and Design
Object-Oriented Analysis and DesignObject-Oriented Analysis and Design
Object-Oriented Analysis and Design
 
Chapter1
Chapter1Chapter1
Chapter1
 
CS8592 Object Oriented Analysis & Design - UNIT V
CS8592 Object Oriented Analysis & Design - UNIT V CS8592 Object Oriented Analysis & Design - UNIT V
CS8592 Object Oriented Analysis & Design - UNIT V
 

Plus de Manoj Reddy

Plus de Manoj Reddy (7)

Ssi
SsiSsi
Ssi
 
Project report
Project reportProject report
Project report
 
Planning
PlanningPlanning
Planning
 
Institutional support
Institutional supportInstitutional support
Institutional support
 
Directing & controling
Directing & controlingDirecting & controling
Directing & controling
 
Enterperneur
EnterperneurEnterperneur
Enterperneur
 
Management principals
Management principalsManagement principals
Management principals
 

Dernier

data_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfdata_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfJiananWang21
 
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingUNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingrknatarajan
 
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...ranjana rawat
 
Vivazz, Mieres Social Housing Design Spain
Vivazz, Mieres Social Housing Design SpainVivazz, Mieres Social Housing Design Spain
Vivazz, Mieres Social Housing Design Spaintimesproduction05
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxAsutosh Ranjan
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations120cr0395
 
UNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular ConduitsUNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular Conduitsrknatarajan
 
Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTbhaskargani46
 
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordCCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordAsst.prof M.Gokilavani
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...ranjana rawat
 
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptxBSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptxfenichawla
 
PVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELL
PVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELLPVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELL
PVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELLManishPatel169454
 
Unit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdfUnit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdfRagavanV2
 
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...SUHANI PANDEY
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756dollysharma2066
 
Call for Papers - International Journal of Intelligent Systems and Applicatio...
Call for Papers - International Journal of Intelligent Systems and Applicatio...Call for Papers - International Journal of Intelligent Systems and Applicatio...
Call for Papers - International Journal of Intelligent Systems and Applicatio...Christo Ananth
 
Thermal Engineering Unit - I & II . ppt
Thermal Engineering  Unit - I & II . pptThermal Engineering  Unit - I & II . ppt
Thermal Engineering Unit - I & II . pptDineshKumar4165
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performancesivaprakash250
 
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Christo Ananth
 

Dernier (20)

data_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfdata_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdf
 
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingUNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
 
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
 
Vivazz, Mieres Social Housing Design Spain
Vivazz, Mieres Social Housing Design SpainVivazz, Mieres Social Housing Design Spain
Vivazz, Mieres Social Housing Design Spain
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptx
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations
 
UNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular ConduitsUNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular Conduits
 
Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPT
 
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordCCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
 
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptxBSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
 
PVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELL
PVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELLPVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELL
PVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELL
 
Unit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdfUnit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdf
 
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
 
Call for Papers - International Journal of Intelligent Systems and Applicatio...
Call for Papers - International Journal of Intelligent Systems and Applicatio...Call for Papers - International Journal of Intelligent Systems and Applicatio...
Call for Papers - International Journal of Intelligent Systems and Applicatio...
 
Thermal Engineering Unit - I & II . ppt
Thermal Engineering  Unit - I & II . pptThermal Engineering  Unit - I & II . ppt
Thermal Engineering Unit - I & II . ppt
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performance
 
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
 
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
 

Unit 1( modelling concepts & class modeling)

  • 1.
  • 3. Prerequisite The course is aimed at:  Students who have prior knowledge to the concept of Software Engineering.  Object oriented language like C++.
  • 4. Polymorphism - Ability of different objects to response same message in different ways. Circle Rectangle Triangle Draw
  • 6. Inheritance One class can be used to derive another via inheritance Classes can be organized into hierarchies 6 Bank Account Account Charge Account Savings Account Checking Account
  • 9. Learning Outcomes: At the end of the course the student would have the:  The Knowledge of the basic concepts of Object oriented modeling and Design.  Will be able to use the Object Oriented notations and process that extends from analysis through design to implementations.  Be able to use all the standard UML notations.  Capable to model the requirements with use cases and describe the dynamic behavior and structure of the design.  Easily create a modular design with components and relate the logical design to the physical environment.  The Student will be able to use the concept of design patterns and apply it where suitable.
  • 10.
  • 11. What is UML? UML: Unified Modeling Language An industry-standard graphical language for specifying, visualizing, constructing and documenting the software systems, as well as for business modeling. The UML uses mostly graphical notations to express the OO modeling and design of software projects. Simplifies the complex process of software design
  • 12. Why we use UML?  Use graphical notation: more clearly than natural language and code.  Help acquire an overall view of a system.  UML is not dependent on any one language or technology.
  • 13. How to use UML diagrams to design software system? Types of UML Diagrams:  Use Case Diagram  Class Diagram  Sequence Diagram  Collaboration Diagram  State Diagram
  • 14. Different Views 14 Users Designers Analyzers
  • 15. UML Diagram – The Unified Modeling Language (UML) is a standard language for 15 Specifying Visualizing Constructing Documenting Business Modeling Communications
  • 16. UNIT – 1 : Introduction-Modeling Concepts, class Modeling What is Object Orientation? What is OO development? OO themes; Evidence for usefulness of OO development; OO modeling history Modeling as Design Technique: Modeling; abstraction; The three models. Class Modeling: Object and class concepts; Link and associations concepts; Generalization and inheritance; A sample class model; Navigation of class models; Practical tips.
  • 17. Object-Oriented Modelling and Design Object-Oriented Modelling and Design is a way of thinking about problems using models organized around real world concepts. The fundamental construct is the object, which combines both data and behaviour.
  • 18. Objects An object has: state - descriptive characteristics behaviors - what it can do (or what can be done to it) The state of a bank account includes its account number and its current balance The behaviors associated with a bank account include the ability to make deposits and withdrawals Note that the behavior of an object might change its state 18
  • 19. 19 Objects • Objects have three responsibilities: What they know about themselves – (e.g., Attributes) What they do – (e.g., Operations) What they know about other objects – (e.g., Relationships)
  • 20. 20
  • 21. Objects Software objects model read-world objects or abstract concepts • dog, bicycle, Bank account Real-world objects have states and behaviors • Dogs' states: name, color, breed, hungry • Dogs' behaviors: barking fetching • Bicycle ‘s State : • Bicycle’ s behavior : Other examples of objects are: myself – an instructor object. you – a student object this room – a room object this university your car, etc.
  • 22. What is Object-Orientation about? One of the key challenges faced by Computer Scientist is how to handle complexity. Two main concepts used to manage complexity are Modularity and Abstractions. Modularity means breaking a large system up into smaller pieces until each peace becomes simple enough to be handled easily. Abstraction focus on essential aspects of an application while ignoring details. Over the years, computer scientists have developed a number of approaches to achieve modularity and abstraction. The latest of these approaches is Object-Orientation or OO for short. The key concept in OO is of course Object,
  • 23. Object-Oriented Software is organized as a collection of discrete objects that incorporate both State and behavior.  Four aspects (characteristics) required by an OO approach are - Identity Classification Polymorphism Inheritance 23
  • 24. Identity  Identity means that data is organized into discrete, distinguishable entities called objects.  E.g. for objects: personal computer, bicycle  Objects can be concrete (such as a file in a file system) or conceptual (such as scheduling policy in a multiprocessing OS). Each object has its own inherent identity. (i.e two objects are distinct even if all their attribute values are identical). 24
  • 25. 25
  • 26. Classification It means that objects with same data structure (attribute) and behavior (operations) are grouped into a class. Each object is said to be an instance of its class. A class is simply a representation of a type of object. It is the blueprint/ plan/ template that describe the details of an object.  A class is the blueprint from which the individual objects are created. 26
  • 27. CCllaasssseess –– EExxaammppllee CCCCllllaaaassssssss AAAAttttttttrrrriiiibbbbuuuutttteeeessss 27 AAAAccccccccoooouuuunnnntttt ++OOwwnneerr:: PPeerrssoonn ++AAmmoouunntt:: ddoouubbllee ++ssuussppeenndd(()) ++ddeeppoossiitt((ssuumm::ddoouubbllee)) ++wwiitthhddrraaww((ssuumm::ddoouubbllee)) OOOOppppeeeerrrraaaattttiiiioooonnnnssss
  • 28. CCllaasssseess aanndd OObbjjeeccttss –– EExxaammppllee CCCCllllaaaassssssss iiiivvvvaaaannnnAAAAccccccccoooouuuunnnntttt 28 AAAAccccccccoooouuuunnnntttt ++OOwwnneerr:: PPeerrssoonn ++AAmmoouunntt:: ddoouubbllee ++ssuussppeenndd(()) ++ddeeppoossiitt((ssuumm::ddoouubbllee)) ++wwiitthhddrraaww((ssuumm::ddoouubbllee)) ++OOwwnneerr==““AABBCC"" ++AAmmoouunntt==55000000..00 ppppeeeetttteeeerrrrAAAAccccccccoooouuuunnnntttt ++OOwwnneerr==““XXYYZZ"" ++AAmmoouunntt==11882255..3333 kkkkiiiirrrriiiillllAAAAccccccccoooouuuunnnntttt ++OOwwnneerr==““CCSSEE”” ++AAmmoouunntt==2255..00 OOOObbbbjjjjeeeecccctttt OOOObbbbjjjjeeeecccctttt OOOObbbbjjjjeeeecccctttt
  • 29.
  • 30. Polymorphism It means that the same operation (i.e. action or transformation that the object performs) may behave differently on different classes. Ability of different objects to response same message in different ways. 30
  • 32. Inheritance It is the sharing of attributes and operations among classes based on a hierarchical relationship. Subclasses can be formed from broadly defined class. Each subclass incorporates or inherits all the properties of its super class and adds its own unique properties. 32
  • 34. Object-Oriented Development Development refers to Software Life Cycle. OOD approach encourages software developers to work and think in terms of the application domain through most of the software engineering life cycle. 34
  • 35.
  • 36.
  • 37. Software Life Cycle Software life cycle (or software process) - series of identifiable stages that a software product undergoes during its life time.  Feasibility study  Requirements analysis and specification  Design  Coding  Testing  Maintenance
  • 38. Object-Oriented Methodology  The process for OO development and graphical notation for representing OO concepts consists of building a model of an application and then adding details to it during design. The methodology has the following stages:  System conception : Software development begins with business analysis or users conceiving an application and formulating tentative requirements  Analysis : The analyst must work with the requestor to understand the problem, because problem statements are rarely complete or correct. The analysis model is a precise abstraction of what the desired system must do, not how it will be done. It should not contain implementation decisions. 38
  • 39. Object-oriented methodology The analysis model has 2 parts: Domain model - a description of the real-world objects reflected within the system Eg: Domain objects for a stock broker Application – model - a description of the parts of the application system itself that are visible to the user. Eg:- Application might include stock, bond, trade and commission. Application objects might control the execution of trades and present the results.
  • 40. Object-oriented methodology  System design: The development teams devise a high – level strategy – the system architecture for solving the application problem. They also establish policies that will serve as a default for the subsequent, more detailed portions of design. The system designer must decide what performance characteristics to optimize, choose a strategy of attacking the problem and make tentative resource allocations.  Class design : The class designer adds details to the analysis model in accordance with the system design strategy. The focus of class design is the data structures and algorithms needed to implement each class.
  • 41. Object-oriented methodology Implementation : Implementers translate the classes and relationships developed during class design into particular programming language, database or hardware. During implementation, it is important to follow good software engineering practice so that traceability to the design is apparent and so that the system remains flexible and extensible.
  • 42. Object oriented Themes Abstraction: let’s focus on essential aspects of an application while ignoring details. Encapsulation :( Information Hiding) separates the external aspects of an object , that are accessible to other objects from internal implementation details. Sharing (reuse) Emphasis on the essence of an object: OO technology stresses what an object is, rather than how it is used. Synergy: Identity, classification, polymorphism, and inheritance characterize OO languages. Use all together.
  • 43. 43
  • 44. 44
  • 45. Evidence for usefulness of OO development Applications at General Electric Research and Development Center.(1990) OO techniques for developing compilers, graphics, user interfaces, databases ,an OO language, etc. OO technology is a part of the computer science and software engineering mainstream. Important forums: (OOPSLA,ECOOP) Object Oriented Programming systems, Languages and applications. European Conference on OOP.
  • 46. OO Modeling history  Work at GE R&D led to OMT(Object-Modeling Technique) in 1991. Rumbaugh, Grady Booch on unifying the OMT and Booch Notaions in 1994. In 1996 the OMG(Object Management Group) issued a request for the proposals for a standard OO modeling notation. 1997 UML was accepted by OMG as a standard. In 2001 OMG released UML Added features and released UML in 2004. www.omg.org
  • 47. Year & Version of UML 2000: UML 1.3 1998: UML 1.2 1997: UML 1.0, 1.1 1996: UML 0.9 & 0.91 1995: Unified Method 0.8 2011:UML 2.4 2010:UML2.3 2009:UML2.2 2007: UML 2.1.1 2005: UML 2.0 2003: UML 1.5 2001: UML 1.4
  • 48.
  • 49. What is Modeling Modeling consists of building an abstraction of reality. Abstractions are simplifications because: They ignore irrelevant details and They only represent the relevant details. What is relevant or irrelevant depends on the purpose of the model.
  • 50. 50 What is a Model A model is a simplification of reality. A model may provide blueprints of a system Organization of the system Dynamic of the system
  • 51. MODEL  A model is an abstraction, before building any system a prototype may be developed. The main purpose of model is for understanding of the system. Designer build different kinds of models for various purposes before constructing things. For example car , airplane, blueprints of machine parts, Plan for house construction etc., Models serve many purposes
  • 52.
  • 53.
  • 54.
  • 55. 55 Importance of Modeling Models help us to visualize a system as it is or as we want it to be. to specify the structure or behavior of a system. in providing a template that guides us in constructing a system. in providing documenting the decisions we have made.
  • 56. Purpose of Modeling Designers build many kinds of models for various purposes before constructing things. Models serve several purposes – Testing a physical entity before building (simulation) Communication with customer Visualization Reduction of complexity Better understanding of the problem
  • 57. Purpose of Modeling Communication with customers Architects and product designers build models to show their customers. Mock ups are demonstration products that imitate some or all of the external behaviour of a system.
  • 58. Purpose of Modeling Visualization Storyboards of movies, television shows and advertisements let writers see how their ideas flow. They can modify awkward transitions, and unnecessary segments before detailed writing begins.
  • 59. Purpose of Modeling Reduction of complexity The main reason for modeling is to deal with systems that are too complex to understand directly. Models reduce complexity by separating out a small number of important things to deal with at a time.
  • 60. Three models We use three kinds of models to describe a system from different view points. 1.Class Model for the objects in the system & their relationships. 2. State model—for the life history of objects. Show how systems behave internally 3. Interaction Model—for the interaction among objects. Show the behaviour of systems in terms of how objects interact with each other
  • 61.
  • 62. Class diagrams Class diagrams provide a graphic notation for modeling classes and their relationships, thereby describing possible objects Note: An object diagram shows individual objects and their relationships.
  • 63. Class diagrams ClassName attributes operations A class is a description of a set of objects that share the same attributes, operations, relationships, and semantics. Graphically, a class is rendered as a rectangle, usually including its name, attributes, and operations in separate, designated compartments.
  • 64. Class Names ClassName attributes operations The name of the class is the only required tag in the graphical representation of a class. It always appears in the top-most compartment.
  • 65. Class Attributes Person name : String address : Address birthdate : Date ssn : Id An attribute is a named property of a class that describes the object being modeled. In the class diagram, attributes appear in the second compartment just below the name-compartment.
  • 66. Class Operations Person name : String address : Address birthdate : Date ssn : Id eat sleep work play Operations describe the class behavior and appear in the third compartment.
  • 67. An example of Class Account_Name - Custom_Name - Balance +AddFunds( ) +WithDraw( ) +Transfer( ) Name Attributes Operations
  • 68. Conventions used (UML) in Class Diagrams
  • 69. Conventions used (UML): • UML symbol for both classes and objects is box. • Objects are modeled using box with object name followed by colon followed by class name, Both the names are underlined. • Use boldface to list class name, center the name in the box and capitalize the first letter. Use singular nouns for names of classes. • To run together multiword names (such as JoeSmith), separate the words With intervening capital letter.
  • 70. Values and Attributes: Value is a piece of data. Attribute is a named property of a class that describes a value held by each object of the class. E.g. Attributes: Name, bdate, weight. Values: JoeSmith, 21 October 1983, 64.
  • 71. Conventions used (UML): List attributes in the 2nd compartment of the class box. A colon precedes the type, an equal sign precedes default value. Show attribute name in regular face, left align the name in the box and use small case for the first letter. Similarly we may also include attribute values in the 2nd compartment of object boxes with same conventions.
  • 72. Do not list object identifiers
  • 73. Operations and Methods: An operation is a function or procedure that maybe applied to or by objects in a class. E.g. Hire, fire and pay dividend are operations on Class Company. Open, close, hide and redisplay are operations on class window. A method is the implementation of an operation for a class. E.g. In class file, print is an operation you could implement different methods to print files. Note: Same operation may apply to many different classes. Such an operation is polymorphic.
  • 74. UML conventions used – List operations in 3rd compartment of class box. List operation name in regular face, left align and use lower case for first letter. Optional details like argument list and return type may follow each operation name. Parenthesis enclose an argument list, commas separate the arguments. A colon precedes the result type. Note: We do not list operations for objects, because they do not vary among objects of same class.
  • 75.
  • 76. 76 Links and Association Links and associations are the means for establishing relationships among objects and classes. A link is a physical or conceptual connection among objects. E.g. JoeSmith WorksFor Simplex Company. An association is a description of a group of links with common structure and common semantics. E.g. a person WorksFor a company.
  • 77. Conventions used (UML): Link is a line between objects Association connects related classes and is also denoted by a line. Show link and association names in italics.
  • 78. Association Associations are inherently bi-directional. The association name is usually read in a particular direction but the binary association may be traversed in either direction.
  • 79. 79 UML Association Notation  In the UML, a navigable association is represented by an open arrow. BankAccount Person
  • 80. 80 UML Binary Association Notation A binary association is drawn as a solid path connecting two classes or both ends may be connected to the same class. Company Person • Self Associated Person involving class Person
  • 81. Associations: Multiplicity Multiplicity defines the number of objects associated with an instance of the association. UML diagrams explicitly list multiplicity at the end of association lines. Intervals are used to express multiplicity: transports Car Person passenger transports 5 Car Person passenger transports * Car Person passenger transports 1..* Car Person passenger transports 2..5 Car Person passenger
  • 82. 82 Associations and Multiplicity An association is used to show how two classes are related to each other Symbols indicating multiplicity are shown at each end of the association
  • 83. Many-to-one – Bank has many ATMs, ATM knows only 1 bank One-to-many – Inventory has many items, items know 1 inventory
  • 84.
  • 85. Analyzing and validating associations Many-to-one  A company has many employees,  An employee can only work for one company.  A company can have zero employees  E.g. a ‘shell’ company  It is not possible to be an employee unless you work for a company Employee * worksFor 1 Company © 85
  • 86. Analyzing and validating associations Many-to-many  A secretary can work for many managers  A manager can have many secretaries Managers can have a group of secretaries  Some managers might have zero secretaries. Secretary * 1..** Manager supervisor © 86
  • 87. Analyzing and validating associations One-to-one  For each company, there is exactly one board of directors  A board is the board of only one company  A company must always have a board  A board must always be of some company Company 1 1 BoardOfDirectors © 87
  • 88. Association Relationships If two classes in a model need to communicate with each other, there must be link between them. An association denotes that link. Student Instructor
  • 89. Association Relationships (Cont’d) We can indicate the multiplicity of an association by adding multiplicity relationships to the line denoting the association. The example indicates that a Student has one or more Instructors: Student Instructor 1..*
  • 90. Association Relationships (Cont’d) The example indicates that every Instructor has one or more Students: Student Instructor 1..*
  • 91. Association Relationships (Cont’d) We can also indicate the behavior of an object in an association (i.e., the role of an object) using rolenames. teaches learns from Student Instructor 1..* 1..*
  • 93. Multiplicity Constraints is registered for> Coming up: Questions Student 1..* is held during> Class Section Semester 1 Course Instructor 1..* Department takes> teaches> sponsors> <works for 1..* is instance of> 1 1..* 1 0..8 0..* 1..3 0..6
  • 94. Association Ends Associations have ends. They are called ‘Association Ends’. They may have names (which often appear in problem descriptions).
  • 95. Association Ends Use of association end names is optional. But association end names are useful for traversing associations. Association end names are necessary for associations between objects of the same class. When constructing class diagrams you should properly use association end names and not introduce a separate class for each reference. Two instances represent a person with a child one for child and one for parent. In the correct model, one person instance participates in2 or more links, twice as a parent and zero or more times as a child.
  • 97. Association: ordering, bag, sequence On a ‘many” association end, sometimes, it is required that objects have an explicit order. In this case the ordering is an inherent part of the association A workstation screen contains a number of overlapping windows. Each window on a screen occurs at most once. The windows have an explicit order so only the topmost window is visible. The ordering is an inherent part of the association. If objects indicate ordered set objects by writing ―{ordered} next to appropriate ‖ association end. Example:
  • 98. Association: ordering, bag, sequence A bag is a collection of elements with duplicates allowed. A sequence is an ordered collection of elements with duplicates allowed Bag: collection of elements with duplicates allowed. • Sequence: ordered collection of elements with duplicate allowed eg. An itinerary is a sequence of airports and the same airport can be visited more than once. • Sequence is ordered bag allow duplicates, {ordered} and {sequence} only difference is sequence allows duplicates as shown in figure 14.
  • 99. Association class  UML offers the ability to describe links of association with attributes like any class. An association class is an association that is also a class.
  • 102. Qualified Association A qualified association is an association in which an attribute called Qualifier the objects for a ‘many’ association’ end. A qualifier selects among the target objects, reducing the effective multiplicity from ‘many’ to ‘one’. Both below models are acceptable but the qualified model adds information.
  • 104. W ithout qualification Directory File filename 1 W ith qualification * 1 0..1 Directory filename File Figure 5-9. Example of how a qualified association reduces multiplicity (UML class diagram). Adding a qualifier clarifies the class diagram and increases the conveyed information. In this case, the model including the qualification denotes that the name of a file is unique within a directory.
  • 105. 105 Generalization Deriving a class out of a parent class having some inherited property(from the parent class) and some new property of the derived class. The term generalization is for the inheritance in the bottom to the up direction i.e. from derived class to the parent class. Generalization is the relationship between a class (superclass) and one or more variations of the class (subclasses). A superclass holds common attributes, attributes and associations. The subclasses adds specific attributes, operations, and associations. They inherit the features of their superclass. Generalization is called a “IS A” relationship
  • 106. • It is represented by a solid line with a large arrow head pointing towards the parent class. • Example: 106 Vehicle Car Truck
  • 107. Generalization Customer Corporate Customer Personal Customer
  • 108. Generalization Relationships Software Design (UML) Person A generalization connects a subclass to its superclass. It denotes an inheritance of attributes and behavior from the superclass to the subclass and indicates a specialization in the subclass of the more general superclass. Student
  • 109. 109 Generalization Relationships Vehicle Bus Truck Car Boeing 737 BoeingAirplane Boeing 757 Boeing 767
  • 110. Supertype Subtype2 Subtype1 - Regular Customer Loyalty Customer Example: Customer
  • 111.
  • 112. Incident LowPriority Emergency Disaster CatInTree EarthQuake ChemicalLeak TrafficAccident BuildingFire Figure 5-10. An example of a generalization hierarchy (UML class diagram). The root of the hierarchy represents the most general concept, whereas the leaves nodes represent the most specialized concepts.
  • 113. Use of generalization Used for three purposes: Support of polymorphism: polymorphism increases the flexibility of software. Adding a new subclass and automatically inheriting superclass behavior. Structuring the description of objects: Forming a classification, organizing objects according to their similarities. It is much more profound than modeling each class individually and in isolation of other similar classes. Enabling code reuse: Reuse is more productive than repeatedly writing code from scratch.
  • 114. Generalization, Specialization, and Inheritance The terms generalization, specialization, and inheritance all refer to aspects of the same idea. Generalization and specialization concern a relationship among classes and take opposite perspectives, viewed from the superclass or from the subclasses. Generalization derives from the fact that the superclass generalizes the subclasses Specialization refers to the fact that the subclasses refine or specialize the superclass. Inheritance is the mechanism for sharing attributes, operations, and associations via the generalization/specialization relationship. Generalization represents a relationship at the conceptual level Inheritance is an implementation technique
  • 115. 115 Poor Generalization Example (violates the “is a” or “is a kind of” heuristic) Person attributes operations Arm attributes operations Leg attributes operations Head attributes operations
  • 116.
  • 117.
  • 118.
  • 119.
  • 120.
  • 121. Class model for managing credit card accounts MailingAddress address phoneNumber CreditCardAccount maximumCredit currentBalance statementDate Institution name address phoneNumber accountNumber Customer name Statement paymentDueDate financeCharge minimumPayment Transaction transactionDat e explanation amount transactionNumbe r CashAdvance Interest Purchase Fee feeType Adjustment Merchant name 1 * * * 0..1 1 1 0..1 * 1 accountHolder
  • 122. 122 Overloading vs. Overriding Overloading deals with multiple methods in the same class with the same name but different signatures Overloading lets you define a similar operation in different ways for different data Overriding deals with two methods, one in a parent class and one in a child class, that have the same signature Overriding lets you define a similar operation in different ways for different object types

Notes de l'éditeur

  1. Basic association notation.
  2. Association notation. In practice use either names or roles (or neither).
  3. Generalisatie impliceert specificatie. Een nieuwe klasse die de gezamenlijke kenmerken bevat. Bijvoorbeeld er zijn verschillen tussen twee typen klanten maar ook hebben ook veel overeenkomsten. De overeenkomsten kunnen worden ondergebracht in de algemene klasse. De andere klanten kunnen als subtypen van dit supertype worden gedeclareerd -----
  4. Generalization notation: “Kind-of” relationships.