SlideShare a Scribd company logo
1 of 38
Introduction to UMLIntroduction to UML
AcknowledgementsAcknowledgements
 Slides material are taken from differentSlides material are taken from different
sources including:sources including:
 Prashanth Aedunuthula UML presentation,Prashanth Aedunuthula UML presentation,
Fall 2004Fall 2004
 Lecture slides from Software EngineeringLecture slides from Software Engineering
course at UC Berkeley (Professor Necula –course at UC Berkeley (Professor Necula –
Fall 2004)Fall 2004)
 Lecture slides from a course on web at:Lecture slides from a course on web at:
 www.sts.tu-harburg.de/ teaching/ws-www.sts.tu-harburg.de/ teaching/ws-
98.99/OOA+D/3-0-UML.pdf98.99/OOA+D/3-0-UML.pdf
OverviewOverview
 What is Modeling?What is Modeling?
 What is UML?What is UML?
 A brief history of UMLA brief history of UML
 Understanding the basics of UMLUnderstanding the basics of UML
 UML diagramsUML diagrams
 UML Modeling toolsUML Modeling tools
ModelingModeling
 Describing a system at a high level ofDescribing a system at a high level of
abstractionabstraction
 A model of the systemA model of the system
 Used for requirements and specificationsUsed for requirements and specifications
Object Oriented ModelingObject Oriented Modeling
What is UML?What is UML?
 UML stands for “Unified Modeling Language”UML stands for “Unified Modeling Language”
 It is a industry-standard graphical language forIt is a industry-standard graphical language for
specifying, visualizing, constructing, andspecifying, visualizing, constructing, and
documenting the artifacts of software systemsdocumenting the artifacts of software systems
 The UML uses mostly graphical notations toThe UML uses mostly graphical notations to
express the OO analysis and design of softwareexpress the OO analysis and design of software
projects.projects.
 Simplifies the complex process of softwareSimplifies the complex process of software
designdesign
Why UML for Modeling ?Why UML for Modeling ?
 Use graphical notation to communicate moreUse graphical notation to communicate more
clearly than natural language (imprecise) andclearly than natural language (imprecise) and
code(too detailed).code(too detailed).
 Helps acquire an overall view of a system.Helps acquire an overall view of a system.
 UML isUML is notnot dependent on any one language ordependent on any one language or
technology.technology.
 UML moves us from fragmentationUML moves us from fragmentation toto
standardization.standardization.
History of UMLHistory of UML
Types of UML DiagramsTypes of UML Diagrams
 Use Case DiagramUse Case Diagram
 Class DiagramClass Diagram
 Sequence DiagramSequence Diagram
 Collaboration DiagramCollaboration Diagram
 State DiagramState Diagram
NOTE :-This is only a subset of diagrams ,but are mostNOTE :-This is only a subset of diagrams ,but are most
widely usedwidely used
Use Case DiagramUse Case Diagram
 Used for describing a set of user
scenarios
 Mainly used for capturing user
requirements.
 Work like a contract between end user
and software developers.
Use Case Diagram (core components)
Actors: A role that a user plays with respect to the system,including
human users and other systems. e.g.,inanimate physical objects (e.g. robot);
an external system that needs some information from the current system.
Use case: A set of scenarios that describing an interaction between a user
and a system, including alternatives.
System boundary: rectangle diagram representing the boundary
between the actors and the system.
Use Case Diagram(core relationship)
Association: communication between an actor and
a use case; Represented by a solid line.
Generalization: relationship between one general
use case and a special use case (used for defining
special alternatives)
Represented by a line with a triangular arrow head
toward the parent use case.
Use Case Diagram(core relationship)
Extend: a dotted line labeled <<extend>> with an arrow
toward the base case. The extending use case may add behavior to
the base use case. The base class declares “extension points”.
<<extend>>
Include: a dotted line labeled <<include>> beginning at base
use case and ending with an arrows pointing to the include
use case. The include relationship occurs when a chunk of
behavior is similar across more than one use case. Use
“include” in stead of copying the description of that behavior.
<<include>>
Use Case DiagramsUse Case Diagrams
Library System
Borrow
Order Title
Fine Remittance
Client
Employee
Supervisor
• A generalized description of how a system will be used.
• Provides an overview of the intended functionality of the system
Boundary
Actor
Use Case
Use Case DiagramsUse Case Diagrams(cont.)(cont.)
(TogetherSoft, Inc)
Use Case DiagramsUse Case Diagrams(cont.)(cont.)
•Pay Bill is a parent use case and Bill Insurance is the
child use case. (generalization)
•Both Make Appointment and Request Medication
include Check Patient Record as a subtask.(include)
•The extension point is written inside the base case
Pay bill; the extending class Defer payment adds the
behavior of this extension point. (extend)
Class diagramClass diagram
 Used for describingUsed for describing structure and behaviorstructure and behavior
in the use cases.in the use cases.
 Provide a conceptual model of the systemProvide a conceptual model of the system
in terms of entities and their relationships.in terms of entities and their relationships.
 Used for requirement capture, end-userUsed for requirement capture, end-user
interaction.interaction.
 Detailed class diagrams are used forDetailed class diagrams are used for
developers.developers.
Class representationClass representation
 Each class is represented by a rectangle subdivided into threeEach class is represented by a rectangle subdivided into three
compartments -compartments -
 NameName
 AttributesAttributes
 OperationsOperations
 Modifiers are used to indicate visibility of attributes and operations.Modifiers are used to indicate visibility of attributes and operations.
 ‘‘+’ is used to denote+’ is used to denote PublicPublic visibility (everyone)visibility (everyone)
 ‘‘#’ is used to denote#’ is used to denote ProtectedProtected visibility (friends and derived)visibility (friends and derived)
 ‘‘-’ is used to denote-’ is used to denote PrivatePrivate visibility (no one)visibility (no one)
 By default, attributes are hidden and operations are visible.By default, attributes are hidden and operations are visible.
An example of ClassAn example of Class
Account_Name
- Customer_Name
- Balance
+addFunds( )
+withDraw( )
+transfer( )
Name
Attributes
Operations
OO Relationships
 There are two kinds of RelationshipsThere are two kinds of Relationships
 Generalization (parent-child relationship)Generalization (parent-child relationship)
 Association (student enrolls in course)Association (student enrolls in course)
 Associations can be further classified asAssociations can be further classified as
 AggregationAggregation
 CompositionComposition
Subtype2
Supertype
Subtype1
OO Relationships: Generalization
- Generalization expresses a
parent/child relationship among related
classes.
- Used for abstracting details in several
layers
Regular
Customer
Loyalty
Customer
CustomerExample:
Regular
Customer
Loyalty
Customer
Customeror:
 Represent relationship between instancesRepresent relationship between instances
of classesof classes
 Student enrolls in a courseStudent enrolls in a course
 Courses have studentsCourses have students
 Courses have examsCourses have exams
 Etc.Etc.
 Association has two endsAssociation has two ends
 Role names (e.g. enrolls)Role names (e.g. enrolls)
 Multiplicity (e.g. One course can have many students)Multiplicity (e.g. One course can have many students)
 Navigability (unidirectional, bidirectional)Navigability (unidirectional, bidirectional)
OO Relationships: Association
Association: Multiplicity and RolesAssociation: Multiplicity and Roles
University Person
1
0..1
*
*
Multiplicity
Symbol Meaning
1 One and only one
0..1 Zero or one
M..N From M to N (natural language)
* From zero to any positive integer
0..* From zero to any positive integer
1..* From one to any positive integer
teacheremployer
Role
Role
“A given university groups many people;
some act as students, others as teachers.
A given student belongs to a single
university; a given teacher may or may not
be working for the university at a particular
time.”
student
Class DiagramClass Diagram
Order
-dateReceived
-isPrepaid
-number :String
-price : Money
+dispatch()
+close()
Customer
-name
-address
+creditRating() : String()
Corporate Customer
-contactName
-creditRating
-creditLimit
+remind()
+billForMonth(Integer)
Personal Customer
-creditCard#
OrderLine
-quantity: Integer
-price: Money
-isSatisfied: Boolean
Product* 1
1
*
Employee
*
{if Order.customer.creditRating is
"poor", then Order.isPrepaid must
be true }
* 1
Constraint
(inside braces{}}
Operations
Attributes
Name
Association
Multiplicity: mandatory
Multiplicity:
Many value
Multiplicity:
optional
Generalization
[from UML Distilled Third Edition]
class
0..1
Association: Model to ImplementationAssociation: Model to Implementation
Class Student {Class Student {
Course enrolls[4];Course enrolls[4];
}}
Class Course {Class Course {
Student have[];Student have[];
}}
Student Course
enrollshas
* 4
OO Relationships: Composition
Class W
Class P1 Class P2
Composition: expresses a relationship among instances
of related classes. It is a specific kind of Whole-Part
relationship.
It expresses a relationship where an instance of the
Whole-class has the responsibility to create and initialize
instances of each Part-class.
It may also be used to express a relationship where instances
of the Part-classes have privileged access or visibility to
certain attributes and/or behaviors defined by the
Whole-class.
Composition should also be used to express relationship where
instances of the Whole-class have exclusive access to and
control of instances of the Part-classes.
Composition should be used to express a relationship where
the behavior of Part instances is undefined without being
related to an instance of the Whole. And, conversely, the
behavior of the Whole is ill-defined or incomplete if one or
more of the Part instances are undefined.
Whole Class
Part Classes
Automobile
Engine Transmission
Example
[From Dr.David A. Workman]
OO Relationships: Aggregation
Class C
Class E1 Class E2
AGGREGATION
Aggregation: expresses a relationship among instances
of related classes. It is a specific kind of Container-
Containee
relationship.
It expresses a relationship where an instance of the
Container-class has the responsibility to hold and
maintain
instances of each Containee-class that have been created
outside the auspices of the Container-class.
Aggregation should be used to express a more informal
relationship than composition expresses. That is, it is an
appropriate relationship where the Container and its
Containees can be manipulated independently.
Aggregation is appropriate when Container and
Containees have no special access privileges to each other.
Container Class
Containee Classes
Bag
Apples Milk
Example
[From Dr.David A. Workman]
Aggregation vs. CompositionAggregation vs. Composition
•CompositionComposition is really a strong form of aggregation
•components have only one owner
•components cannot exist independent of their owner
•components live or die with their owner
e.g. Each car has an engine that can not be shared with
other cars.
•Aggregations may form “part of” the aggregate, but may not
be essential to it. They may also exist independent of the
aggregate.
e.g. Apples may exist independent of the bag.
Class
Reservations
Responsibility
• Keep list of reserved titles
• Handle reservation
Collaborators
• Catalog
• User session
Good Practice: CRC CardGood Practice: CRC Card
Benefits: It is easy to describe how classes work by moving
cards around; allows to quickly consider alternatives.
(Class Responsibility Collaborator)
Sequence Diagram(make a phone call)Sequence Diagram(make a phone call)
Caller Phone Recipient
Picks up
Dial tone
Dial
Ring notification Ring
Picks up
Hello
Sequence Diagram:Object interactionSequence Diagram:Object interaction
Self-CallSelf-Call: A message that an
Object sends to itself.
Condition: indicates when a
message is sent. The message is
sent only if the condition is true.
Iteration
Condition
A B
Synchronous
Asynchronous
Transmission
delayed
Self-Call
[condition] remove()
*[for each] remove()
Sequence Diagrams – Object Life SpansSequence Diagrams – Object Life Spans
 CreationCreation
 Create messageCreate message
 Object life starts at that pointObject life starts at that point
 ActivationActivation
 Symbolized by rectangularSymbolized by rectangular
stripesstripes
 Place on the lifeline where objectPlace on the lifeline where object
is activated.is activated.
 Rectangle also denotes whenRectangle also denotes when
object is deactivated.object is deactivated.
 DeletionDeletion
 Placing an ‘X’ on lifelinePlacing an ‘X’ on lifeline
 Object’s life ends at that pointObject’s life ends at that point
Activation bar
A
B
Create
X
Deletion
Return
Lifeline
Sequence DiagramSequence Diagram
User Catalog Reservations
1: look up ()
2: title data ()
3: [not available] reserve title ()
4 : title returned ()
5: hold title ()
5 : title available ()
6 : borrow title ()
6 : remove reservation ()
•Sequence diagrams demonstrate the behavior of objects in a use case
by describing the objects and the messages they pass.
•The horizontal dimension shows the objects participating in the interaction.
•The vertical arrangement of messages indicates their order.
•The labels may contain the seq. # to indicate concurrency.
Message
Interaction Diagrams: Collaboration diagramsInteraction Diagrams: Collaboration diagrams
User
Catalog
Reservations
start
1: look up
2: title data
3 : [not available] reserve title
4 : title returned
5 : hold title
6 : borrow title
6: remove reservation
5: title available
•Shows the relationship between objects and the order of messages passed between them.
between them.
•The objects are listed as rectangles and arrows indicate the messages being passed
•The numbers next to the messages are called sequence numbers. They show the sequence
of the messages as they are passed between the objects.
•convey the same information as sequence diagrams, but focus on object roles instead of the
time sequence.
State DiagramsState Diagrams
((Billing Example)Billing Example)
State Diagrams show the sequences of states an object goes
through during its life cycle in response to stimuli, together
with its responses and actions; an abstraction of all possible
behaviors.
Unpaid
Start End
Paid
Invoice created paying Invoice destroying
State DiagramsState Diagrams
(Traffic light example)(Traffic light example)
Yellow
Red
Green
Traffic Light
State
Transition
Event
Start
UML Modeling ToolsUML Modeling Tools
 Rational RoseRational Rose (www.rational.com) by IBM(www.rational.com) by IBM
 TogetherSoft Control Center, BorlandTogetherSoft Control Center, Borland
((http://www.borland.com/together/index.htmlhttp://www.borland.com/together/index.html))
 ArgoUMLArgoUML ((free softwarefree software)) ((http://argouml.tigris.org/http://argouml.tigris.org/ ))
Open Source;Open Source; written in java
 OthersOthers (http://www.objectsbydesign.com/tools/umltools_byCompany.html )(http://www.objectsbydesign.com/tools/umltools_byCompany.html )
ReferenceReference
1.1. UML Distilled: A Brief Guide to the Standard Object Modeling Language
Martin Fowler, Kendall ScottMartin Fowler, Kendall Scott
2.2. IBM RationalIBM Rational
http://www-306.ibm.com/software/rational/uml/http://www-306.ibm.com/software/rational/uml/
3.3. Practical UML --- A Hands-On Introduction for DevelopersPractical UML --- A Hands-On Introduction for Developers
http://www.togethersoft.com/services/practical_guides/umlonlinecourse/http://www.togethersoft.com/services/practical_guides/umlonlinecourse/
4.4. Software Engineering Principles and Practice.Software Engineering Principles and Practice. Second Edition;Second Edition;
Hans van Vliet.Hans van Vliet.
5. http://www-inst.eecs.berkeley.edu/~cs169/5. http://www-inst.eecs.berkeley.edu/~cs169/

More Related Content

What's hot

Introduction to object-oriented analysis and design (OOA/D)
Introduction to object-oriented analysis and design (OOA/D)Introduction to object-oriented analysis and design (OOA/D)
Introduction to object-oriented analysis and design (OOA/D)Ahmed Farag
 
object oriented methodologies
object oriented methodologiesobject oriented methodologies
object oriented methodologiesAmith Tiwari
 
Entity Relationship Diagram
Entity Relationship DiagramEntity Relationship Diagram
Entity Relationship DiagramShakila Mahjabin
 
Uml in software engineering
Uml in software engineeringUml in software engineering
Uml in software engineeringMubashir Jutt
 
UML diagrams and symbols
UML diagrams and symbolsUML diagrams and symbols
UML diagrams and symbolsKumar
 
System Models in Software Engineering SE7
System Models in Software Engineering SE7System Models in Software Engineering SE7
System Models in Software Engineering SE7koolkampus
 
Uml Presentation
Uml PresentationUml Presentation
Uml Presentationmewaseem
 
Uml Activity Diagram
Uml Activity DiagramUml Activity Diagram
Uml Activity DiagramNiloy Rocker
 
Sequence diagram
Sequence diagramSequence diagram
Sequence diagramRahul Pola
 
Use case Diagram
Use case Diagram Use case Diagram
Use case Diagram Rahul Pola
 
Use case Diagram and Sequence Diagram
Use case Diagram and Sequence DiagramUse case Diagram and Sequence Diagram
Use case Diagram and Sequence DiagramNikhil Pandit
 
Object Oriented Analysis and Design
Object Oriented Analysis and DesignObject Oriented Analysis and Design
Object Oriented Analysis and DesignDr. C.V. Suresh Babu
 

What's hot (20)

Introduction to object-oriented analysis and design (OOA/D)
Introduction to object-oriented analysis and design (OOA/D)Introduction to object-oriented analysis and design (OOA/D)
Introduction to object-oriented analysis and design (OOA/D)
 
Types of UML diagrams
Types of UML diagramsTypes of UML diagrams
Types of UML diagrams
 
Uml class-diagram
Uml class-diagramUml class-diagram
Uml class-diagram
 
object oriented methodologies
object oriented methodologiesobject oriented methodologies
object oriented methodologies
 
Ooad unit – 1 introduction
Ooad unit – 1 introductionOoad unit – 1 introduction
Ooad unit – 1 introduction
 
Entity Relationship Diagram
Entity Relationship DiagramEntity Relationship Diagram
Entity Relationship Diagram
 
Uml in software engineering
Uml in software engineeringUml in software engineering
Uml in software engineering
 
UML Diagrams
UML DiagramsUML Diagrams
UML Diagrams
 
UML diagrams and symbols
UML diagrams and symbolsUML diagrams and symbols
UML diagrams and symbols
 
Sequence Diagram
Sequence DiagramSequence Diagram
Sequence Diagram
 
System Models in Software Engineering SE7
System Models in Software Engineering SE7System Models in Software Engineering SE7
System Models in Software Engineering SE7
 
Uml Presentation
Uml PresentationUml Presentation
Uml Presentation
 
Uml Activity Diagram
Uml Activity DiagramUml Activity Diagram
Uml Activity Diagram
 
Sequence diagram
Sequence diagramSequence diagram
Sequence diagram
 
Activity diagram
Activity diagramActivity diagram
Activity diagram
 
Use case Diagram
Use case Diagram Use case Diagram
Use case Diagram
 
Use case Diagram
Use case DiagramUse case Diagram
Use case Diagram
 
Software design
Software designSoftware design
Software design
 
Use case Diagram and Sequence Diagram
Use case Diagram and Sequence DiagramUse case Diagram and Sequence Diagram
Use case Diagram and Sequence Diagram
 
Object Oriented Analysis and Design
Object Oriented Analysis and DesignObject Oriented Analysis and Design
Object Oriented Analysis and Design
 

Similar to Introduction to UML Modeling

Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering Madhar Khan Pathan
 
UML_Lecture.pptxnd bfdjjrnekdddkeeeenekejneje
UML_Lecture.pptxnd bfdjjrnekdddkeeeenekejnejeUML_Lecture.pptxnd bfdjjrnekdddkeeeenekejneje
UML_Lecture.pptxnd bfdjjrnekdddkeeeenekejnejessusera6a60c1
 
UML Diagram Assignment Help, UML Diagram Homework Help
UML Diagram Assignment Help, UML Diagram Homework HelpUML Diagram Assignment Help, UML Diagram Homework Help
UML Diagram Assignment Help, UML Diagram Homework HelpJacob William
 
UML- Unified Modeling Language
UML- Unified Modeling LanguageUML- Unified Modeling Language
UML- Unified Modeling LanguageShahzad
 
ASP.NET System design 2
ASP.NET System design 2ASP.NET System design 2
ASP.NET System design 2Sisir Ghosh
 
lecture 3.ppt
lecture  3.pptlecture  3.ppt
lecture 3.pptTik Tok
 
FSD MICRO PROJECT UML PPT.pptx
FSD MICRO PROJECT UML PPT.pptxFSD MICRO PROJECT UML PPT.pptx
FSD MICRO PROJECT UML PPT.pptxThorOdinson55
 
Introduction To Uml
Introduction To UmlIntroduction To Uml
Introduction To Umlguest514814
 
Uml(unified modeling language) Homework Help
Uml(unified modeling language) Homework HelpUml(unified modeling language) Homework Help
Uml(unified modeling language) Homework HelpSteve Nash
 
CASE Tools lab.ppt
CASE Tools lab.pptCASE Tools lab.ppt
CASE Tools lab.pptRAJESH S
 
Uml Presentation
Uml PresentationUml Presentation
Uml Presentationanasz3z3
 
1. introduction to uml
1. introduction to uml1. introduction to uml
1. introduction to umlPRABU M
 

Similar to Introduction to UML Modeling (20)

UML Basics
UML BasicsUML Basics
UML Basics
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering
 
uml2-1214558329929112-8.ppt
uml2-1214558329929112-8.pptuml2-1214558329929112-8.ppt
uml2-1214558329929112-8.ppt
 
l1_introuml.pdf
l1_introuml.pdfl1_introuml.pdf
l1_introuml.pdf
 
UML_Lecture.pptxnd bfdjjrnekdddkeeeenekejneje
UML_Lecture.pptxnd bfdjjrnekdddkeeeenekejnejeUML_Lecture.pptxnd bfdjjrnekdddkeeeenekejneje
UML_Lecture.pptxnd bfdjjrnekdddkeeeenekejneje
 
Uml lecture
Uml lectureUml lecture
Uml lecture
 
Uml &amp; rup
Uml &amp; rupUml &amp; rup
Uml &amp; rup
 
Uml introduction
Uml introductionUml introduction
Uml introduction
 
Intro Uml
Intro UmlIntro Uml
Intro Uml
 
UML Diagram Assignment Help, UML Diagram Homework Help
UML Diagram Assignment Help, UML Diagram Homework HelpUML Diagram Assignment Help, UML Diagram Homework Help
UML Diagram Assignment Help, UML Diagram Homework Help
 
UML- Unified Modeling Language
UML- Unified Modeling LanguageUML- Unified Modeling Language
UML- Unified Modeling Language
 
ASP.NET System design 2
ASP.NET System design 2ASP.NET System design 2
ASP.NET System design 2
 
lecture 3.ppt
lecture  3.pptlecture  3.ppt
lecture 3.ppt
 
FSD MICRO PROJECT UML PPT.pptx
FSD MICRO PROJECT UML PPT.pptxFSD MICRO PROJECT UML PPT.pptx
FSD MICRO PROJECT UML PPT.pptx
 
Introduction To Uml
Introduction To UmlIntroduction To Uml
Introduction To Uml
 
Uml(unified modeling language) Homework Help
Uml(unified modeling language) Homework HelpUml(unified modeling language) Homework Help
Uml(unified modeling language) Homework Help
 
CASE Tools lab.ppt
CASE Tools lab.pptCASE Tools lab.ppt
CASE Tools lab.ppt
 
Uml Presentation
Uml PresentationUml Presentation
Uml Presentation
 
1. introduction to uml
1. introduction to uml1. introduction to uml
1. introduction to uml
 
Ch 2.1
Ch 2.1Ch 2.1
Ch 2.1
 

More from Debajyoti Biswas

Farm Retailing/ Farm Gate Marketing
Farm Retailing/ Farm Gate MarketingFarm Retailing/ Farm Gate Marketing
Farm Retailing/ Farm Gate MarketingDebajyoti Biswas
 
Public Distribution System
Public Distribution SystemPublic Distribution System
Public Distribution SystemDebajyoti Biswas
 
Impact of COVID-19 on Indian Agriculture
Impact of COVID-19 on Indian AgricultureImpact of COVID-19 on Indian Agriculture
Impact of COVID-19 on Indian AgricultureDebajyoti Biswas
 
Post harvest technology in horticulture
Post harvest technology in horticulturePost harvest technology in horticulture
Post harvest technology in horticultureDebajyoti Biswas
 
Determinants of Personality
Determinants of PersonalityDeterminants of Personality
Determinants of PersonalityDebajyoti Biswas
 

More from Debajyoti Biswas (9)

Farm Retailing/ Farm Gate Marketing
Farm Retailing/ Farm Gate MarketingFarm Retailing/ Farm Gate Marketing
Farm Retailing/ Farm Gate Marketing
 
Public Distribution System
Public Distribution SystemPublic Distribution System
Public Distribution System
 
Impact of COVID-19 on Indian Agriculture
Impact of COVID-19 on Indian AgricultureImpact of COVID-19 on Indian Agriculture
Impact of COVID-19 on Indian Agriculture
 
Agriculture Marketing
Agriculture MarketingAgriculture Marketing
Agriculture Marketing
 
Post harvest technology in horticulture
Post harvest technology in horticulturePost harvest technology in horticulture
Post harvest technology in horticulture
 
Sixth Sense
Sixth SenseSixth Sense
Sixth Sense
 
Generic Access Network
Generic Access NetworkGeneric Access Network
Generic Access Network
 
Determinants of Personality
Determinants of PersonalityDeterminants of Personality
Determinants of Personality
 
POCSO ACT 2012
 POCSO ACT 2012 POCSO ACT 2012
POCSO ACT 2012
 

Recently uploaded

Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Intelisync
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...aditisharan08
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 

Recently uploaded (20)

Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Exploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the ProcessExploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the Process
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 

Introduction to UML Modeling

  • 2. AcknowledgementsAcknowledgements  Slides material are taken from differentSlides material are taken from different sources including:sources including:  Prashanth Aedunuthula UML presentation,Prashanth Aedunuthula UML presentation, Fall 2004Fall 2004  Lecture slides from Software EngineeringLecture slides from Software Engineering course at UC Berkeley (Professor Necula –course at UC Berkeley (Professor Necula – Fall 2004)Fall 2004)  Lecture slides from a course on web at:Lecture slides from a course on web at:  www.sts.tu-harburg.de/ teaching/ws-www.sts.tu-harburg.de/ teaching/ws- 98.99/OOA+D/3-0-UML.pdf98.99/OOA+D/3-0-UML.pdf
  • 3. OverviewOverview  What is Modeling?What is Modeling?  What is UML?What is UML?  A brief history of UMLA brief history of UML  Understanding the basics of UMLUnderstanding the basics of UML  UML diagramsUML diagrams  UML Modeling toolsUML Modeling tools
  • 4. ModelingModeling  Describing a system at a high level ofDescribing a system at a high level of abstractionabstraction  A model of the systemA model of the system  Used for requirements and specificationsUsed for requirements and specifications
  • 5. Object Oriented ModelingObject Oriented Modeling
  • 6. What is UML?What is UML?  UML stands for “Unified Modeling Language”UML stands for “Unified Modeling Language”  It is a industry-standard graphical language forIt is a industry-standard graphical language for specifying, visualizing, constructing, andspecifying, visualizing, constructing, and documenting the artifacts of software systemsdocumenting the artifacts of software systems  The UML uses mostly graphical notations toThe UML uses mostly graphical notations to express the OO analysis and design of softwareexpress the OO analysis and design of software projects.projects.  Simplifies the complex process of softwareSimplifies the complex process of software designdesign
  • 7. Why UML for Modeling ?Why UML for Modeling ?  Use graphical notation to communicate moreUse graphical notation to communicate more clearly than natural language (imprecise) andclearly than natural language (imprecise) and code(too detailed).code(too detailed).  Helps acquire an overall view of a system.Helps acquire an overall view of a system.  UML isUML is notnot dependent on any one language ordependent on any one language or technology.technology.  UML moves us from fragmentationUML moves us from fragmentation toto standardization.standardization.
  • 9. Types of UML DiagramsTypes of UML Diagrams  Use Case DiagramUse Case Diagram  Class DiagramClass Diagram  Sequence DiagramSequence Diagram  Collaboration DiagramCollaboration Diagram  State DiagramState Diagram NOTE :-This is only a subset of diagrams ,but are mostNOTE :-This is only a subset of diagrams ,but are most widely usedwidely used
  • 10. Use Case DiagramUse Case Diagram  Used for describing a set of user scenarios  Mainly used for capturing user requirements.  Work like a contract between end user and software developers.
  • 11. Use Case Diagram (core components) Actors: A role that a user plays with respect to the system,including human users and other systems. e.g.,inanimate physical objects (e.g. robot); an external system that needs some information from the current system. Use case: A set of scenarios that describing an interaction between a user and a system, including alternatives. System boundary: rectangle diagram representing the boundary between the actors and the system.
  • 12. Use Case Diagram(core relationship) Association: communication between an actor and a use case; Represented by a solid line. Generalization: relationship between one general use case and a special use case (used for defining special alternatives) Represented by a line with a triangular arrow head toward the parent use case.
  • 13. Use Case Diagram(core relationship) Extend: a dotted line labeled <<extend>> with an arrow toward the base case. The extending use case may add behavior to the base use case. The base class declares “extension points”. <<extend>> Include: a dotted line labeled <<include>> beginning at base use case and ending with an arrows pointing to the include use case. The include relationship occurs when a chunk of behavior is similar across more than one use case. Use “include” in stead of copying the description of that behavior. <<include>>
  • 14. Use Case DiagramsUse Case Diagrams Library System Borrow Order Title Fine Remittance Client Employee Supervisor • A generalized description of how a system will be used. • Provides an overview of the intended functionality of the system Boundary Actor Use Case
  • 15. Use Case DiagramsUse Case Diagrams(cont.)(cont.) (TogetherSoft, Inc)
  • 16. Use Case DiagramsUse Case Diagrams(cont.)(cont.) •Pay Bill is a parent use case and Bill Insurance is the child use case. (generalization) •Both Make Appointment and Request Medication include Check Patient Record as a subtask.(include) •The extension point is written inside the base case Pay bill; the extending class Defer payment adds the behavior of this extension point. (extend)
  • 17. Class diagramClass diagram  Used for describingUsed for describing structure and behaviorstructure and behavior in the use cases.in the use cases.  Provide a conceptual model of the systemProvide a conceptual model of the system in terms of entities and their relationships.in terms of entities and their relationships.  Used for requirement capture, end-userUsed for requirement capture, end-user interaction.interaction.  Detailed class diagrams are used forDetailed class diagrams are used for developers.developers.
  • 18. Class representationClass representation  Each class is represented by a rectangle subdivided into threeEach class is represented by a rectangle subdivided into three compartments -compartments -  NameName  AttributesAttributes  OperationsOperations  Modifiers are used to indicate visibility of attributes and operations.Modifiers are used to indicate visibility of attributes and operations.  ‘‘+’ is used to denote+’ is used to denote PublicPublic visibility (everyone)visibility (everyone)  ‘‘#’ is used to denote#’ is used to denote ProtectedProtected visibility (friends and derived)visibility (friends and derived)  ‘‘-’ is used to denote-’ is used to denote PrivatePrivate visibility (no one)visibility (no one)  By default, attributes are hidden and operations are visible.By default, attributes are hidden and operations are visible.
  • 19. An example of ClassAn example of Class Account_Name - Customer_Name - Balance +addFunds( ) +withDraw( ) +transfer( ) Name Attributes Operations
  • 20. OO Relationships  There are two kinds of RelationshipsThere are two kinds of Relationships  Generalization (parent-child relationship)Generalization (parent-child relationship)  Association (student enrolls in course)Association (student enrolls in course)  Associations can be further classified asAssociations can be further classified as  AggregationAggregation  CompositionComposition
  • 21. Subtype2 Supertype Subtype1 OO Relationships: Generalization - Generalization expresses a parent/child relationship among related classes. - Used for abstracting details in several layers Regular Customer Loyalty Customer CustomerExample: Regular Customer Loyalty Customer Customeror:
  • 22.  Represent relationship between instancesRepresent relationship between instances of classesof classes  Student enrolls in a courseStudent enrolls in a course  Courses have studentsCourses have students  Courses have examsCourses have exams  Etc.Etc.  Association has two endsAssociation has two ends  Role names (e.g. enrolls)Role names (e.g. enrolls)  Multiplicity (e.g. One course can have many students)Multiplicity (e.g. One course can have many students)  Navigability (unidirectional, bidirectional)Navigability (unidirectional, bidirectional) OO Relationships: Association
  • 23. Association: Multiplicity and RolesAssociation: Multiplicity and Roles University Person 1 0..1 * * Multiplicity Symbol Meaning 1 One and only one 0..1 Zero or one M..N From M to N (natural language) * From zero to any positive integer 0..* From zero to any positive integer 1..* From one to any positive integer teacheremployer Role Role “A given university groups many people; some act as students, others as teachers. A given student belongs to a single university; a given teacher may or may not be working for the university at a particular time.” student
  • 24. Class DiagramClass Diagram Order -dateReceived -isPrepaid -number :String -price : Money +dispatch() +close() Customer -name -address +creditRating() : String() Corporate Customer -contactName -creditRating -creditLimit +remind() +billForMonth(Integer) Personal Customer -creditCard# OrderLine -quantity: Integer -price: Money -isSatisfied: Boolean Product* 1 1 * Employee * {if Order.customer.creditRating is "poor", then Order.isPrepaid must be true } * 1 Constraint (inside braces{}} Operations Attributes Name Association Multiplicity: mandatory Multiplicity: Many value Multiplicity: optional Generalization [from UML Distilled Third Edition] class 0..1
  • 25. Association: Model to ImplementationAssociation: Model to Implementation Class Student {Class Student { Course enrolls[4];Course enrolls[4]; }} Class Course {Class Course { Student have[];Student have[]; }} Student Course enrollshas * 4
  • 26. OO Relationships: Composition Class W Class P1 Class P2 Composition: expresses a relationship among instances of related classes. It is a specific kind of Whole-Part relationship. It expresses a relationship where an instance of the Whole-class has the responsibility to create and initialize instances of each Part-class. It may also be used to express a relationship where instances of the Part-classes have privileged access or visibility to certain attributes and/or behaviors defined by the Whole-class. Composition should also be used to express relationship where instances of the Whole-class have exclusive access to and control of instances of the Part-classes. Composition should be used to express a relationship where the behavior of Part instances is undefined without being related to an instance of the Whole. And, conversely, the behavior of the Whole is ill-defined or incomplete if one or more of the Part instances are undefined. Whole Class Part Classes Automobile Engine Transmission Example [From Dr.David A. Workman]
  • 27. OO Relationships: Aggregation Class C Class E1 Class E2 AGGREGATION Aggregation: expresses a relationship among instances of related classes. It is a specific kind of Container- Containee relationship. It expresses a relationship where an instance of the Container-class has the responsibility to hold and maintain instances of each Containee-class that have been created outside the auspices of the Container-class. Aggregation should be used to express a more informal relationship than composition expresses. That is, it is an appropriate relationship where the Container and its Containees can be manipulated independently. Aggregation is appropriate when Container and Containees have no special access privileges to each other. Container Class Containee Classes Bag Apples Milk Example [From Dr.David A. Workman]
  • 28. Aggregation vs. CompositionAggregation vs. Composition •CompositionComposition is really a strong form of aggregation •components have only one owner •components cannot exist independent of their owner •components live or die with their owner e.g. Each car has an engine that can not be shared with other cars. •Aggregations may form “part of” the aggregate, but may not be essential to it. They may also exist independent of the aggregate. e.g. Apples may exist independent of the bag.
  • 29. Class Reservations Responsibility • Keep list of reserved titles • Handle reservation Collaborators • Catalog • User session Good Practice: CRC CardGood Practice: CRC Card Benefits: It is easy to describe how classes work by moving cards around; allows to quickly consider alternatives. (Class Responsibility Collaborator)
  • 30. Sequence Diagram(make a phone call)Sequence Diagram(make a phone call) Caller Phone Recipient Picks up Dial tone Dial Ring notification Ring Picks up Hello
  • 31. Sequence Diagram:Object interactionSequence Diagram:Object interaction Self-CallSelf-Call: A message that an Object sends to itself. Condition: indicates when a message is sent. The message is sent only if the condition is true. Iteration Condition A B Synchronous Asynchronous Transmission delayed Self-Call [condition] remove() *[for each] remove()
  • 32. Sequence Diagrams – Object Life SpansSequence Diagrams – Object Life Spans  CreationCreation  Create messageCreate message  Object life starts at that pointObject life starts at that point  ActivationActivation  Symbolized by rectangularSymbolized by rectangular stripesstripes  Place on the lifeline where objectPlace on the lifeline where object is activated.is activated.  Rectangle also denotes whenRectangle also denotes when object is deactivated.object is deactivated.  DeletionDeletion  Placing an ‘X’ on lifelinePlacing an ‘X’ on lifeline  Object’s life ends at that pointObject’s life ends at that point Activation bar A B Create X Deletion Return Lifeline
  • 33. Sequence DiagramSequence Diagram User Catalog Reservations 1: look up () 2: title data () 3: [not available] reserve title () 4 : title returned () 5: hold title () 5 : title available () 6 : borrow title () 6 : remove reservation () •Sequence diagrams demonstrate the behavior of objects in a use case by describing the objects and the messages they pass. •The horizontal dimension shows the objects participating in the interaction. •The vertical arrangement of messages indicates their order. •The labels may contain the seq. # to indicate concurrency. Message
  • 34. Interaction Diagrams: Collaboration diagramsInteraction Diagrams: Collaboration diagrams User Catalog Reservations start 1: look up 2: title data 3 : [not available] reserve title 4 : title returned 5 : hold title 6 : borrow title 6: remove reservation 5: title available •Shows the relationship between objects and the order of messages passed between them. between them. •The objects are listed as rectangles and arrows indicate the messages being passed •The numbers next to the messages are called sequence numbers. They show the sequence of the messages as they are passed between the objects. •convey the same information as sequence diagrams, but focus on object roles instead of the time sequence.
  • 35. State DiagramsState Diagrams ((Billing Example)Billing Example) State Diagrams show the sequences of states an object goes through during its life cycle in response to stimuli, together with its responses and actions; an abstraction of all possible behaviors. Unpaid Start End Paid Invoice created paying Invoice destroying
  • 36. State DiagramsState Diagrams (Traffic light example)(Traffic light example) Yellow Red Green Traffic Light State Transition Event Start
  • 37. UML Modeling ToolsUML Modeling Tools  Rational RoseRational Rose (www.rational.com) by IBM(www.rational.com) by IBM  TogetherSoft Control Center, BorlandTogetherSoft Control Center, Borland ((http://www.borland.com/together/index.htmlhttp://www.borland.com/together/index.html))  ArgoUMLArgoUML ((free softwarefree software)) ((http://argouml.tigris.org/http://argouml.tigris.org/ )) Open Source;Open Source; written in java  OthersOthers (http://www.objectsbydesign.com/tools/umltools_byCompany.html )(http://www.objectsbydesign.com/tools/umltools_byCompany.html )
  • 38. ReferenceReference 1.1. UML Distilled: A Brief Guide to the Standard Object Modeling Language Martin Fowler, Kendall ScottMartin Fowler, Kendall Scott 2.2. IBM RationalIBM Rational http://www-306.ibm.com/software/rational/uml/http://www-306.ibm.com/software/rational/uml/ 3.3. Practical UML --- A Hands-On Introduction for DevelopersPractical UML --- A Hands-On Introduction for Developers http://www.togethersoft.com/services/practical_guides/umlonlinecourse/http://www.togethersoft.com/services/practical_guides/umlonlinecourse/ 4.4. Software Engineering Principles and Practice.Software Engineering Principles and Practice. Second Edition;Second Edition; Hans van Vliet.Hans van Vliet. 5. http://www-inst.eecs.berkeley.edu/~cs169/5. http://www-inst.eecs.berkeley.edu/~cs169/

Editor's Notes

  1. Introduce myself
  2. Acknowledgements for this presentation
  3. Overview of my presentation: - Essence of modeling, UML, history of UML, Basics of UML, UML modeling tools
  4. 1. Describing the system at abstract level to comprehend its complexity 2. Necessary to manage complexity Good for quick understanding of the systems Less chances of conflicting views b/w end-user and system designers
  5. Evolution of analysis and design techniques Transition from structured programming to object oriented programming
  6. . What does UML stand for? . Industry standard . Graphical notation . Modeling tool … simplifies software design process
  7. . More precise than natural language … less detailed than source code . Not dependent on any language . Standardized by various groups
  8. History: - Rumbaugh – OMT – object modeling technique Jacobson – OOSE UML … unified approach since 1995 UML 1.5 current … UML 2.0 by the end of 2004