SlideShare a Scribd company logo
1 of 38
EEL5881 Software Engineering I
UML Lecture
Acknowledgements
 Slides material are taken from different
sources including:
 the slides of Mr. Shiyuan Jin’s UML class, EEL 4884, Fall 2003.
 Object-Oriented and Classical Software Engineering, Sixth
Edition, WCB/McGraw-Hill, 2005 Stephen R. Schach
 UML resource page http://www.uml.org/
Outline
 What is UML and why we use UML?
 How to use UML diagrams to design
software system?
 What UML Modeling tools we use
today?
What is UML and Why we use UML?
 UML → “Unified Modeling Language”
 Language: express idea, not a methodology
 Modeling: Describing a software system at a high
level of abstraction
 Unified: UML has become a world standard
Object Management Group (OMG): www.omg.org
What is UML and Why we use UML?
 More description about UML:
 It is a industry-standard graphical language for specifying, visualizing,
constructing, and documenting the artifacts of software systems
 The UML uses mostly graphical notations to express the OO analysis
and design of software projects.
 Simplifies the complex process of software design
What is UML and Why we use UML?
 Why we use UML?
 Use graphical notation: more clearly than natural language
(imprecise) and code (too detailed).
 Help acquire an overall view of a system.
 UML is not dependent on any one language or technology.
 UML moves us from fragmentation to standardization.
What is UML and Why we use UML?
1997: UML 1.0, 1.1
1996: UML 0.9 & 0.91
1995: Unified Method 0.8
Other methods
Booch ‘91
Booch ‘93 OMT - 2
OMT - 1
Year Version
2003: UML 2.0
2001: UML 1.4
1999: UML 1.3
How to use UML diagrams to
design software system?
 Types of UML Diagrams:
 Use Case Diagram
 Class Diagram
 Sequence Diagram
 Collaboration Diagram
 State Diagram
This is only a subset of diagrams … but are most widely used
Use-Case Diagrams
 A use-case diagram is a set of use cases
 A use case is a model of the interaction between
 External users of a software product (actors) and
 The software product itself
 More precisely, an actor is a user playing a specific role
 describing a set of user scenarios
 capturing user requirements
 contract between end user and software developers
Use-Case Diagrams
Library System
Borrow
Order Title
Fine Remittance
Client
Employee
Supervisor
Boundary
Actor
Use Case
Use-Case Diagrams
 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 Diagrams
 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 Diagrams
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 Diagrams
Figure 16.12
The McGraw-Hill Companies, 2005
Use-Case Diagrams
 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)
 Pay Bill is a parent use
case and Bill Insurance
is the child use case.
(generalization)
(TogetherSoft, Inc)
Class diagram
 A class diagram depicts classes and their interrelationships
 Used for describing structure and behavior in the use cases
 Provide a conceptual model of the system in terms of
entities and their relationships
 Used for requirement capture, end-user interaction
 Detailed class diagrams are used for developers
Class diagram
 Each class is represented by a rectangle subdivided into three
compartments
 Name
 Attributes
 Operations
 Modifiers are used to indicate visibility of attributes and
operations.

‘+’ is used to denote Public visibility (everyone)

‘#’ is used to denote Protected visibility (friends and derived)

‘-’ is used to denote Private visibility (no one)
 By default, attributes are hidden and operations are visible.
Class diagram
Account_Name
- Customer_Name
- Balance
+addFunds( )
+withDraw( )
+transfer( )
Name
Attributes
Operations
OO Relationships
 There are two kinds of Relationships
 Generalization (parent-child relationship)
 Association (student enrolls in course)
 Associations can be further classified
as
 Aggregation
 Composition
Subtype2
Supertype
Subtype1
OO Relationships: Generalization
-Inheritance is a required feature of object orientation
-Generalization expresses a parent/child relationship among related classes.
-Used for abstracting details in several layers
Regular
Customer
Loyalty
Customer
CustomerExample:
 Represent relationship between instances of classes
 Student enrolls in a course
 Courses have students
 Courses have exams
 Etc.
 Association has two ends
 Role names (e.g. enrolls)
 Multiplicity (e.g. One course can have many students)
 Navigability (unidirectional, bidirectional)
OO Relationships: Association
Association: 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 diagram
[from UML Distilled Third Edition]
OO Relationships: Composition
Class W
Class P1 Class P2
Association
Models the part–whole relationship
Composition
Also models the part–whole relationship but, in
addition, Every part may belong to only one
whole, and If the whole is deleted, so are the
parts
Example:
A number of different chess boards: Each square
belongs to only one board. If a chess board is
thrown away, all 64 squares on that board go as
well.
Whole Class
Part Classes
Example
Figure 16.7
The McGraw-Hill Companies, 2005
[From Dr.David A. Workman]
OO Relationships: Aggregation
Class C
Class E1 Class E2
AGGREGATION
Container Class
Containee Classes
Bag
Apples Milk
Example
Aggregation:
expresses a relationship among instances of related
classes. It is a specific kind of Container-Containee
relationship.
express a more informal relationship than
composition expresses.
Aggregation is appropriate when Container and
Containees have no special access privileges to
each other.
[From Dr.David A. Workman]
Aggregation vs. Composition
CompositionComposition is really a strong form of association
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 association, but may not be essential to it. They
may also exist independent of the aggregate. e.g. Apples may exist
independent of the bag.
Good Practice: CRC Card
Class Responsibility Collaborator
 easy to describe how classes work by moving cards around; allows to
quickly consider alternatives.
Interaction Diagrams
 show how objects interact with one another
 UML supports two types of interaction
diagrams
 Sequence diagrams
 Collaboration diagrams
Sequence Diagram(make a phone call)
Caller Phone Recipient
Picks up
Dial tone
Dial
Ring notification Ring
Picks up
Hello
Sequence 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 Spans
 Creation
 Create message
 Object life starts at that point
 Activation
 Symbolized by rectangular
stripes
 Place on the lifeline where object
is activated.
 Rectangle also denotes when
object is deactivated.
 Deletion
 Placing an ‘X’ on lifeline
 Object’s life ends at that point
Activation bar
A
B
Create
X
Deletion
Return
Lifeline
Sequence 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 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
Collaboration diagrams are equivalent to sequence diagrams. All the features of sequence
diagrams are equally applicable to collaboration diagrams
Use a sequence diagram when the transfer of information is the focus of attention
Use a collaboration diagram when concentrating on the classes
State Diagrams (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 Diagrams (Traffic light example)
Yellow
Red
Green
Traffic Light
State
Transition
Event
Start
What UML Modeling tools we use today?
 List of UML tools http://en.wikipedia.org/wiki/List_of_UML_tools
 ArgoUML: http://argouml.tigris.org/
 Rational Rose (www.rational.com) by IBM
 UML Studio 7.1 ( http://www.pragsoft.com/) by Pragsoft Corporation:
Capable of handling very large models (tens of thousands of classes).
Educational License US$ 125.00; Freeware version.
 TogetherSoft Control Center; TogetherSoft Solo (
http://www.borland.com/together/index.html) by Borland
Conclusion
 UML is a standardized specification language
for object modeling
 Several UML diagrams:
 use-case diagram: a number of use cases (use case models the interaction
between actors and software)
 Class diagram: a model of classes showing the static relationships among them
including association and generalization.
 Sequence diagram: shows the way objects interact with one another as
messages are passed between them. Dynamic model
 State diagram: shows states, events that cause transitions between states.
Another dynamic model reflecting the behavior of objects and how they react to
specific event
 There are several UML tools available
Thank you
Questions?

More Related Content

What's hot

Symbol table in compiler Design
Symbol table in compiler DesignSymbol table in compiler Design
Symbol table in compiler DesignKuppusamy P
 
Overview of UML Diagrams
Overview of UML DiagramsOverview of UML Diagrams
Overview of UML DiagramsManish Kumar
 
Component and Deployment Diagram - Brief Overview
Component and Deployment Diagram - Brief OverviewComponent and Deployment Diagram - Brief Overview
Component and Deployment Diagram - Brief OverviewRajiv Kumar
 
UNIFIED MODELING LANGUAGE
UNIFIED MODELING LANGUAGEUNIFIED MODELING LANGUAGE
UNIFIED MODELING LANGUAGERaval Chirag
 
User Interface Analysis and Design
User Interface Analysis and DesignUser Interface Analysis and Design
User Interface Analysis and Design Saqib Raza
 
Single pass assembler
Single pass assemblerSingle pass assembler
Single pass assemblerBansari Shah
 
System Programing Unit 1
System Programing Unit 1System Programing Unit 1
System Programing Unit 1Manoj Patil
 
Uml Activity Diagram
Uml Activity DiagramUml Activity Diagram
Uml Activity DiagramNiloy Rocker
 
Flow oriented modeling
Flow oriented modelingFlow oriented modeling
Flow oriented modelingramyaaswin
 
Assemblers: Ch03
Assemblers: Ch03Assemblers: Ch03
Assemblers: Ch03desta_gebre
 
E-R DIAGRAMS, DFD'S AND STATE TRANSITION DIAGRAMS !!
E-R DIAGRAMS, DFD'S AND STATE TRANSITION DIAGRAMS !!E-R DIAGRAMS, DFD'S AND STATE TRANSITION DIAGRAMS !!
E-R DIAGRAMS, DFD'S AND STATE TRANSITION DIAGRAMS !!Nidhi Kakani
 
Basic Behavioral Modeling
Basic Behavioral ModelingBasic Behavioral Modeling
Basic Behavioral ModelingAMITJain879
 
unit 5 Architectural design
 unit 5 Architectural design unit 5 Architectural design
unit 5 Architectural designdevika g
 
object oriented methodologies
object oriented methodologiesobject oriented methodologies
object oriented methodologiesAmith Tiwari
 

What's hot (20)

Symbol table in compiler Design
Symbol table in compiler DesignSymbol table in compiler Design
Symbol table in compiler Design
 
Component level design
Component   level designComponent   level design
Component level design
 
RMMM Plan
RMMM PlanRMMM Plan
RMMM Plan
 
Overview of UML Diagrams
Overview of UML DiagramsOverview of UML Diagrams
Overview of UML Diagrams
 
Types of UML diagrams
Types of UML diagramsTypes of UML diagrams
Types of UML diagrams
 
Sequence diagrams
Sequence diagramsSequence diagrams
Sequence diagrams
 
Component and Deployment Diagram - Brief Overview
Component and Deployment Diagram - Brief OverviewComponent and Deployment Diagram - Brief Overview
Component and Deployment Diagram - Brief Overview
 
Diagrams
DiagramsDiagrams
Diagrams
 
UNIFIED MODELING LANGUAGE
UNIFIED MODELING LANGUAGEUNIFIED MODELING LANGUAGE
UNIFIED MODELING LANGUAGE
 
Software design
Software designSoftware design
Software design
 
User Interface Analysis and Design
User Interface Analysis and DesignUser Interface Analysis and Design
User Interface Analysis and Design
 
Single pass assembler
Single pass assemblerSingle pass assembler
Single pass assembler
 
System Programing Unit 1
System Programing Unit 1System Programing Unit 1
System Programing Unit 1
 
Uml Activity Diagram
Uml Activity DiagramUml Activity Diagram
Uml Activity Diagram
 
Flow oriented modeling
Flow oriented modelingFlow oriented modeling
Flow oriented modeling
 
Assemblers: Ch03
Assemblers: Ch03Assemblers: Ch03
Assemblers: Ch03
 
E-R DIAGRAMS, DFD'S AND STATE TRANSITION DIAGRAMS !!
E-R DIAGRAMS, DFD'S AND STATE TRANSITION DIAGRAMS !!E-R DIAGRAMS, DFD'S AND STATE TRANSITION DIAGRAMS !!
E-R DIAGRAMS, DFD'S AND STATE TRANSITION DIAGRAMS !!
 
Basic Behavioral Modeling
Basic Behavioral ModelingBasic Behavioral Modeling
Basic Behavioral Modeling
 
unit 5 Architectural design
 unit 5 Architectural design unit 5 Architectural design
unit 5 Architectural design
 
object oriented methodologies
object oriented methodologiesobject oriented methodologies
object oriented methodologies
 

Viewers also liked

UML for OOAD
UML for OOADUML for OOAD
UML for OOADDang Tuan
 
Computer Networks Module II
Computer Networks Module IIComputer Networks Module II
Computer Networks Module IIAjit Nayak
 
Computer Networks Module I
Computer Networks Module IComputer Networks Module I
Computer Networks Module IAjit Nayak
 
Enterprise Architecture for Dummies
Enterprise Architecture for DummiesEnterprise Architecture for Dummies
Enterprise Architecture for DummiesSebastien Juras
 
Software Engineering : Process Models
Software Engineering : Process ModelsSoftware Engineering : Process Models
Software Engineering : Process ModelsAjit Nayak
 
The Humming-bird’s share
The Humming-bird’s shareThe Humming-bird’s share
The Humming-bird’s shareSebastien Juras
 
Six things to know about your brain to become an expert
Six things to know about your brain to become an expertSix things to know about your brain to become an expert
Six things to know about your brain to become an expertSebastien Juras
 
Parallel programming using MPI
Parallel programming using MPIParallel programming using MPI
Parallel programming using MPIAjit Nayak
 
NS2: AWK and GNUplot - PArt III
NS2: AWK and GNUplot - PArt IIINS2: AWK and GNUplot - PArt III
NS2: AWK and GNUplot - PArt IIIAjit Nayak
 
INNOVATION IS NOT AN OPTION
INNOVATION IS NOT AN OPTIONINNOVATION IS NOT AN OPTION
INNOVATION IS NOT AN OPTIONSebastien Juras
 
Uml Omg Fundamental Certification 2
Uml Omg Fundamental Certification 2Uml Omg Fundamental Certification 2
Uml Omg Fundamental Certification 2Ricardo Quintero
 
Software Engineering :Behavioral Modelling - II State diagram
Software Engineering :Behavioral Modelling - II State diagramSoftware Engineering :Behavioral Modelling - II State diagram
Software Engineering :Behavioral Modelling - II State diagramAjit Nayak
 
Software Engineering : OOAD using UML
Software Engineering : OOAD using UMLSoftware Engineering : OOAD using UML
Software Engineering : OOAD using UMLAjit Nayak
 
Introduction to database-Formal Query language and Relational calculus
Introduction to database-Formal Query language and Relational calculusIntroduction to database-Formal Query language and Relational calculus
Introduction to database-Formal Query language and Relational calculusAjit Nayak
 
Computer Networks Module III
Computer Networks Module IIIComputer Networks Module III
Computer Networks Module IIIAjit Nayak
 
Object Oriented Programming using C++ Part II
Object Oriented Programming using C++ Part IIObject Oriented Programming using C++ Part II
Object Oriented Programming using C++ Part IIAjit Nayak
 
Introduction to database-Transaction Concurrency and Recovery
Introduction to database-Transaction Concurrency and RecoveryIntroduction to database-Transaction Concurrency and Recovery
Introduction to database-Transaction Concurrency and RecoveryAjit Nayak
 
Omg Fundamental Certification 4
Omg Fundamental Certification 4Omg Fundamental Certification 4
Omg Fundamental Certification 4Ricardo Quintero
 

Viewers also liked (20)

UML for OOAD
UML for OOADUML for OOAD
UML for OOAD
 
The Ultimate gift
The Ultimate giftThe Ultimate gift
The Ultimate gift
 
Computer Networks Module II
Computer Networks Module IIComputer Networks Module II
Computer Networks Module II
 
Computer Networks Module I
Computer Networks Module IComputer Networks Module I
Computer Networks Module I
 
I BELIEVE I CAN FLY
I BELIEVE I CAN FLYI BELIEVE I CAN FLY
I BELIEVE I CAN FLY
 
Enterprise Architecture for Dummies
Enterprise Architecture for DummiesEnterprise Architecture for Dummies
Enterprise Architecture for Dummies
 
Software Engineering : Process Models
Software Engineering : Process ModelsSoftware Engineering : Process Models
Software Engineering : Process Models
 
The Humming-bird’s share
The Humming-bird’s shareThe Humming-bird’s share
The Humming-bird’s share
 
Six things to know about your brain to become an expert
Six things to know about your brain to become an expertSix things to know about your brain to become an expert
Six things to know about your brain to become an expert
 
Parallel programming using MPI
Parallel programming using MPIParallel programming using MPI
Parallel programming using MPI
 
NS2: AWK and GNUplot - PArt III
NS2: AWK and GNUplot - PArt IIINS2: AWK and GNUplot - PArt III
NS2: AWK and GNUplot - PArt III
 
INNOVATION IS NOT AN OPTION
INNOVATION IS NOT AN OPTIONINNOVATION IS NOT AN OPTION
INNOVATION IS NOT AN OPTION
 
Uml Omg Fundamental Certification 2
Uml Omg Fundamental Certification 2Uml Omg Fundamental Certification 2
Uml Omg Fundamental Certification 2
 
Software Engineering :Behavioral Modelling - II State diagram
Software Engineering :Behavioral Modelling - II State diagramSoftware Engineering :Behavioral Modelling - II State diagram
Software Engineering :Behavioral Modelling - II State diagram
 
Software Engineering : OOAD using UML
Software Engineering : OOAD using UMLSoftware Engineering : OOAD using UML
Software Engineering : OOAD using UML
 
Introduction to database-Formal Query language and Relational calculus
Introduction to database-Formal Query language and Relational calculusIntroduction to database-Formal Query language and Relational calculus
Introduction to database-Formal Query language and Relational calculus
 
Computer Networks Module III
Computer Networks Module IIIComputer Networks Module III
Computer Networks Module III
 
Object Oriented Programming using C++ Part II
Object Oriented Programming using C++ Part IIObject Oriented Programming using C++ Part II
Object Oriented Programming using C++ Part II
 
Introduction to database-Transaction Concurrency and Recovery
Introduction to database-Transaction Concurrency and RecoveryIntroduction to database-Transaction Concurrency and Recovery
Introduction to database-Transaction Concurrency and Recovery
 
Omg Fundamental Certification 4
Omg Fundamental Certification 4Omg Fundamental Certification 4
Omg Fundamental Certification 4
 

Similar to Uml lecture (20)

UML_Lecture.pptxnd bfdjjrnekdddkeeeenekejneje
UML_Lecture.pptxnd bfdjjrnekdddkeeeenekejnejeUML_Lecture.pptxnd bfdjjrnekdddkeeeenekejneje
UML_Lecture.pptxnd bfdjjrnekdddkeeeenekejneje
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering
 
Uml report
Uml reportUml report
Uml report
 
Intro Uml
Intro UmlIntro Uml
Intro Uml
 
4. UML
4. UML4. UML
4. UML
 
Unified Modeling Language
Unified Modeling LanguageUnified Modeling Language
Unified Modeling Language
 
UML- Unified Modeling Language
UML- Unified Modeling LanguageUML- Unified Modeling Language
UML- Unified Modeling Language
 
Object Oriented Modeling and Design with UML
Object Oriented Modeling and Design with UMLObject Oriented Modeling and Design with UML
Object Oriented Modeling and Design with UML
 
Ch 2.1
Ch 2.1Ch 2.1
Ch 2.1
 
CASE Tools lab.ppt
CASE Tools lab.pptCASE Tools lab.ppt
CASE Tools lab.ppt
 
Uml
UmlUml
Uml
 
Umldiagram
UmldiagramUmldiagram
Umldiagram
 
Uml
UmlUml
Uml
 
Software Engineering1-0-UML.ppt
Software Engineering1-0-UML.pptSoftware Engineering1-0-UML.ppt
Software Engineering1-0-UML.ppt
 
432
432432
432
 
UML, ER and Dimensional Modelling
UML, ER and Dimensional ModellingUML, ER and Dimensional Modelling
UML, ER and Dimensional Modelling
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering
 
A&D - UML
A&D - UMLA&D - UML
A&D - UML
 
OOSE UNIT-2.pdf
OOSE UNIT-2.pdfOOSE UNIT-2.pdf
OOSE UNIT-2.pdf
 
Uml introduciton
Uml introducitonUml introduciton
Uml introduciton
 

More from Inocentshuja Ahmad (20)

Bottom up parser
Bottom up parserBottom up parser
Bottom up parser
 
7th lec overview - latest
7th lec   overview - latest7th lec   overview - latest
7th lec overview - latest
 
6th lec infrared slides
6th lec   infrared slides6th lec   infrared slides
6th lec infrared slides
 
5th lec ofdm
5th lec   ofdm5th lec   ofdm
5th lec ofdm
 
3rd lec fcss
3rd lec   fcss3rd lec   fcss
3rd lec fcss
 
2nd lec wireless terminologies
2nd lec   wireless terminologies2nd lec   wireless terminologies
2nd lec wireless terminologies
 
1st lec generations
1st lec   generations1st lec   generations
1st lec generations
 
4rth lec dsss
4rth lec   dsss4rth lec   dsss
4rth lec dsss
 
Mcq's
Mcq'sMcq's
Mcq's
 
Long questions
Long questionsLong questions
Long questions
 
Lecture notes on mobile communication
Lecture notes on mobile communicationLecture notes on mobile communication
Lecture notes on mobile communication
 
Gsm
GsmGsm
Gsm
 
Lecture5 mobile communication_short
Lecture5 mobile communication_short Lecture5 mobile communication_short
Lecture5 mobile communication_short
 
8th lec flow and error control
8th lec   flow and error control8th lec   flow and error control
8th lec flow and error control
 
Chapter 10:Risk and Refinements In Capital Budgeting
Chapter 10:Risk and Refinements In Capital BudgetingChapter 10:Risk and Refinements In Capital Budgeting
Chapter 10:Risk and Refinements In Capital Budgeting
 
Chapter 9:Capital Budgeting Techniques
Chapter 9:Capital Budgeting TechniquesChapter 9:Capital Budgeting Techniques
Chapter 9:Capital Budgeting Techniques
 
Chapter 5:Risk and Return
Chapter 5:Risk and ReturnChapter 5:Risk and Return
Chapter 5:Risk and Return
 
Question and answer Programming
Question and answer ProgrammingQuestion and answer Programming
Question and answer Programming
 
Email security &amp; threads
Email security &amp; threadsEmail security &amp; threads
Email security &amp; threads
 
Chapter03 Top Down Design with Function
Chapter03 Top Down Design with FunctionChapter03 Top Down Design with Function
Chapter03 Top Down Design with Function
 

Recently uploaded

URLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppURLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppCeline George
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphThiyagu K
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxSayali Powar
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxpboyjonauth
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityGeoBlogs
 
Separation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesSeparation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesFatimaKhan178732
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Celine George
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingTechSoup
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Educationpboyjonauth
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Krashi Coaching
 
Hybridoma Technology ( Production , Purification , and Application )
Hybridoma Technology  ( Production , Purification , and Application  ) Hybridoma Technology  ( Production , Purification , and Application  )
Hybridoma Technology ( Production , Purification , and Application ) Sakshi Ghasle
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfciinovamais
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxheathfieldcps1
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxiammrhaywood
 
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...Marc Dusseiller Dusjagr
 
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991RKavithamani
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...EduSkills OECD
 

Recently uploaded (20)

URLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppURLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website App
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot Graph
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptx
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activity
 
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
 
Separation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesSeparation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and Actinides
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 
Staff of Color (SOC) Retention Efforts DDSD
Staff of Color (SOC) Retention Efforts DDSDStaff of Color (SOC) Retention Efforts DDSD
Staff of Color (SOC) Retention Efforts DDSD
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Education
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
 
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
 
Hybridoma Technology ( Production , Purification , and Application )
Hybridoma Technology  ( Production , Purification , and Application  ) Hybridoma Technology  ( Production , Purification , and Application  )
Hybridoma Technology ( Production , Purification , and Application )
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
 
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
 
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
 

Uml lecture

  • 2. Acknowledgements  Slides material are taken from different sources including:  the slides of Mr. Shiyuan Jin’s UML class, EEL 4884, Fall 2003.  Object-Oriented and Classical Software Engineering, Sixth Edition, WCB/McGraw-Hill, 2005 Stephen R. Schach  UML resource page http://www.uml.org/
  • 3. Outline  What is UML and why we use UML?  How to use UML diagrams to design software system?  What UML Modeling tools we use today?
  • 4. What is UML and Why we use UML?  UML → “Unified Modeling Language”  Language: express idea, not a methodology  Modeling: Describing a software system at a high level of abstraction  Unified: UML has become a world standard Object Management Group (OMG): www.omg.org
  • 5. What is UML and Why we use UML?  More description about UML:  It is a industry-standard graphical language for specifying, visualizing, constructing, and documenting the artifacts of software systems  The UML uses mostly graphical notations to express the OO analysis and design of software projects.  Simplifies the complex process of software design
  • 6. What is UML and Why we use UML?  Why we use UML?  Use graphical notation: more clearly than natural language (imprecise) and code (too detailed).  Help acquire an overall view of a system.  UML is not dependent on any one language or technology.  UML moves us from fragmentation to standardization.
  • 7. What is UML and Why we use UML? 1997: UML 1.0, 1.1 1996: UML 0.9 & 0.91 1995: Unified Method 0.8 Other methods Booch ‘91 Booch ‘93 OMT - 2 OMT - 1 Year Version 2003: UML 2.0 2001: UML 1.4 1999: UML 1.3
  • 8. How to use UML diagrams to design software system?  Types of UML Diagrams:  Use Case Diagram  Class Diagram  Sequence Diagram  Collaboration Diagram  State Diagram This is only a subset of diagrams … but are most widely used
  • 9. Use-Case Diagrams  A use-case diagram is a set of use cases  A use case is a model of the interaction between  External users of a software product (actors) and  The software product itself  More precisely, an actor is a user playing a specific role  describing a set of user scenarios  capturing user requirements  contract between end user and software developers
  • 10. Use-Case Diagrams Library System Borrow Order Title Fine Remittance Client Employee Supervisor Boundary Actor Use Case
  • 11. Use-Case Diagrams  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 Diagrams  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 Diagrams 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 Diagrams Figure 16.12 The McGraw-Hill Companies, 2005
  • 15. Use-Case Diagrams  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)  Pay Bill is a parent use case and Bill Insurance is the child use case. (generalization) (TogetherSoft, Inc)
  • 16. Class diagram  A class diagram depicts classes and their interrelationships  Used for describing structure and behavior in the use cases  Provide a conceptual model of the system in terms of entities and their relationships  Used for requirement capture, end-user interaction  Detailed class diagrams are used for developers
  • 17. Class diagram  Each class is represented by a rectangle subdivided into three compartments  Name  Attributes  Operations  Modifiers are used to indicate visibility of attributes and operations.  ‘+’ is used to denote Public visibility (everyone)  ‘#’ is used to denote Protected visibility (friends and derived)  ‘-’ is used to denote Private visibility (no one)  By default, attributes are hidden and operations are visible.
  • 18. Class diagram Account_Name - Customer_Name - Balance +addFunds( ) +withDraw( ) +transfer( ) Name Attributes Operations
  • 19. OO Relationships  There are two kinds of Relationships  Generalization (parent-child relationship)  Association (student enrolls in course)  Associations can be further classified as  Aggregation  Composition
  • 20. Subtype2 Supertype Subtype1 OO Relationships: Generalization -Inheritance is a required feature of object orientation -Generalization expresses a parent/child relationship among related classes. -Used for abstracting details in several layers Regular Customer Loyalty Customer CustomerExample:
  • 21.  Represent relationship between instances of classes  Student enrolls in a course  Courses have students  Courses have exams  Etc.  Association has two ends  Role names (e.g. enrolls)  Multiplicity (e.g. One course can have many students)  Navigability (unidirectional, bidirectional) OO Relationships: Association
  • 22. Association: 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
  • 23. Class diagram [from UML Distilled Third Edition]
  • 24. OO Relationships: Composition Class W Class P1 Class P2 Association Models the part–whole relationship Composition Also models the part–whole relationship but, in addition, Every part may belong to only one whole, and If the whole is deleted, so are the parts Example: A number of different chess boards: Each square belongs to only one board. If a chess board is thrown away, all 64 squares on that board go as well. Whole Class Part Classes Example Figure 16.7 The McGraw-Hill Companies, 2005 [From Dr.David A. Workman]
  • 25. OO Relationships: Aggregation Class C Class E1 Class E2 AGGREGATION Container Class Containee Classes Bag Apples Milk Example Aggregation: expresses a relationship among instances of related classes. It is a specific kind of Container-Containee relationship. express a more informal relationship than composition expresses. Aggregation is appropriate when Container and Containees have no special access privileges to each other. [From Dr.David A. Workman]
  • 26. Aggregation vs. Composition CompositionComposition is really a strong form of association 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 association, but may not be essential to it. They may also exist independent of the aggregate. e.g. Apples may exist independent of the bag.
  • 27. Good Practice: CRC Card Class Responsibility Collaborator  easy to describe how classes work by moving cards around; allows to quickly consider alternatives.
  • 28. Interaction Diagrams  show how objects interact with one another  UML supports two types of interaction diagrams  Sequence diagrams  Collaboration diagrams
  • 29. Sequence Diagram(make a phone call) Caller Phone Recipient Picks up Dial tone Dial Ring notification Ring Picks up Hello
  • 30. Sequence 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()
  • 31. Sequence Diagrams – Object Life Spans  Creation  Create message  Object life starts at that point  Activation  Symbolized by rectangular stripes  Place on the lifeline where object is activated.  Rectangle also denotes when object is deactivated.  Deletion  Placing an ‘X’ on lifeline  Object’s life ends at that point Activation bar A B Create X Deletion Return Lifeline
  • 32. Sequence 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
  • 33. Interaction 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 Collaboration diagrams are equivalent to sequence diagrams. All the features of sequence diagrams are equally applicable to collaboration diagrams Use a sequence diagram when the transfer of information is the focus of attention Use a collaboration diagram when concentrating on the classes
  • 34. State Diagrams (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
  • 35. State Diagrams (Traffic light example) Yellow Red Green Traffic Light State Transition Event Start
  • 36. What UML Modeling tools we use today?  List of UML tools http://en.wikipedia.org/wiki/List_of_UML_tools  ArgoUML: http://argouml.tigris.org/  Rational Rose (www.rational.com) by IBM  UML Studio 7.1 ( http://www.pragsoft.com/) by Pragsoft Corporation: Capable of handling very large models (tens of thousands of classes). Educational License US$ 125.00; Freeware version.  TogetherSoft Control Center; TogetherSoft Solo ( http://www.borland.com/together/index.html) by Borland
  • 37. Conclusion  UML is a standardized specification language for object modeling  Several UML diagrams:  use-case diagram: a number of use cases (use case models the interaction between actors and software)  Class diagram: a model of classes showing the static relationships among them including association and generalization.  Sequence diagram: shows the way objects interact with one another as messages are passed between them. Dynamic model  State diagram: shows states, events that cause transitions between states. Another dynamic model reflecting the behavior of objects and how they react to specific event  There are several UML tools available