SlideShare ist ein Scribd-Unternehmen logo
1 von 72
UML Training for
Business Analysts
Page 2Classification: Restricted
Agenda
• Introduction to OOA and UML
• Stated vs Un-stated
• Software Analysis and Design
• Modeling
• UML
• Why UML
• Overview
• Types
• Use Case Diagram
• Types of Actor
• Class Diagram
• What is Class Diagram
• Class Representation
• Types of Class
• Sequence Diagram
• Interaction Diagram
Page 3Classification: Restricted
Introduction
• Object Oriented Analysis and Design is an important skill for Business
Analysts as well as Technical Architects
• The design is dependent on a good analysis
Page 4Classification: Restricted
Software Analysis and Design
Page 5Classification: Restricted
What is UML?
• UML stands for “Unified Modeling Language”
• 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
Page 6Classification: Restricted
Why UML for Modeling
• Use graphical notation to communicate 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.
Page 7Classification: Restricted
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
Page 8Classification: Restricted
Use 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
Page 9Classification: Restricted
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.
Page 10Classification: Restricted
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.
Page 11Classification: Restricted
Generalization
Page 12Classification: Restricted
Use Case Diagram (core relationship)
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>>
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>>
Page 13Classification: Restricted
Use Case Diagram (core relationship)
Page 14Classification: Restricted
Use Case Diagram (core relationship)
Page 15Classification: Restricted
Use Case Diagrams
Library System
Borrow
Order Title
Fine Remittance
Client
Employee
Supervisor
Boundary
Actor
Use Case
Page 16Classification: Restricted
Use Case Diagrams
Page 17Classification: Restricted
Types of Actor
Actors
Primary Actor Secondary Actor
Page 18Classification: Restricted
Types of Actor
Page 19Classification: Restricted
Exercise
Page 20Classification: Restricted
Use Case Specification
Page 21Classification: Restricted
Exercise
Page 22Classification: Restricted
Use Cases for the Exercise
Page 23Classification: Restricted
Actors for the Exercise
Page 24Classification: Restricted
Relationship between the actors
Page 25Classification: Restricted
25
• Object-oriented analysis and design (OOAD) is a technical approach used in
the analysis and design of an application or system through the application
of the object-oriented paradigm and concepts including visual modeling.
• This is applied throughout the development life cycle of the application or
system, fostering better product quality and even encouraging stakeholder
participation and communication
Page 26Classification: Restricted
• 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
Page 27Classification: Restricted
A collection of similar objects is a class. And an object is an instance of a class.
What is a Class?
Page 28Classification: Restricted
Class representation
• 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.
Page 29Classification: Restricted
An example of Class
Account_Name
- Customer_Name
- Balance
+addFunds( )
+withDraw( )
+transfer( )
Name
Attributes
Operations
Page 30Classification: Restricted
• Super Class
• Parent Class
• Generalized Class
• Specialized Class
• Sub Class
• Child Class
Types of Classes
Page 31Classification: Restricted
Animal
Amphibian Mammal Reptile
Horse
Example
Child Class
of Animal
Child Class
of Animal
Child Class
of Mammal
Super Class
of horse
Parent Class
of Mammal
Sub Class of
Animal
Page 32Classification: Restricted
OO Relationships
• There are two kinds of Relationships
• Generalization (parent-child relationship)
• Association (one object to another object relationship)
• Associations can be further classified as
• Aggregation
• Composition
Page 33Classification: Restricted
OO Relationships : Generalization
Subtype2
Supertype
Subtype1
• Generalization expresses a
parent/child relationship
among related classes.
• Used for abstracting details in
several layers
Regular
Customer
Loyalty
Customer
Customer
Example
:
Regular
Customer
Loyalty
Customer
Customeror:
Page 34Classification: Restricted
OO Relationships : Association
• 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)
Page 35Classification: Restricted
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
teacheremployee
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
Association: Multiplicity and Roles
Page 36Classification: Restricted
Class Diagram
Page 37Classification: Restricted
OO Relationships : Composition
Class W
Class P1 Class P2
Whole Class
Part Classes
Automobile
Engine Transmission
Example
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.
[From Dr.David A. Workman]
Page 38Classification: Restricted
OO Relationships : Composition
[From Dr.David A. orkman]
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.
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.
Page 39Classification: Restricted
Aggregations vs. Composition
• Composition 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.
Page 40Classification: Restricted
Interaction Diagrams
A Sequence diagram is an interaction diagram that shows how objects
operate with one another and in what order.
• They're also called event diagrams.
• A sequence diagram is a good way to visualize and validate various
runtime scenarios.
• These can help to predict how a system will behave and to discover
responsibilities a class may need to have in the process of
modeling a new system
Page 41Classification: Restricted
Sequence Diagrams
Page 42Classification: Restricted
Class Roles or Participants
Class roles describe the way an object will behave in context. Use the UML
object symbol to illustrate class roles, but don't list object attributes.
Basic Sequence Diagram Symbols and Notations
Page 43Classification: Restricted
Basic Sequence Diagram Symbols and Notations
Activation or Execution Occurrence
Activation boxes represent the time an object needs to complete a task.
When an object is busy executing a process or waiting for a reply message,
use a thin gray rectangle placed vertically on its lifeline.
Page 44Classification: Restricted
Basic Sequence Diagram Symbols and Notations
Messages
Messages are arrows that represent communication between objects. Use
half-arrowed lines to represent asynchronous messages. Asynchronous
messages are sent from an object that will not wait for a response from the
receiver before continuing its tasks..
Page 45Classification: Restricted
Basic Sequence Diagram Symbols and Notations
Lifelines
Lifelines are vertical dashed lines that indicate the object's presence over
time.
Page 46Classification: Restricted
Basic Sequence Diagram Symbols and Notations
Destroying Objects
Objects can be terminated early using an arrow labeled "<< destroy >>" that
points to an X. This object is removed from memory. When that object's
lifeline ends, you can place an X at the end of its lifeline to denote a
destruction occurrence.
Loops
A repetition or loop within a sequence diagram is depicted as a rectangle.
Place the condition for exiting the loop at the bottom left corner in square
brackets [ ].
Page 47Classification: Restricted
Types of Messages in Sequence Diagram
Synchronous Message
A synchronous message requires a response before the interaction can
continue. It's usually drawn using a line with a solid arrowhead pointing
from one object to another.
Page 48Classification: Restricted
Types of Messages in Sequence Diagram
Asynchronous Message
Asynchronous messages don't need a reply for interaction to continue. Like
synchronous messages, they are drawn with an arrow connecting two
lifelines; however, the arrowhead is usually open and there's no return
message depicted.
Page 49Classification: Restricted
Types of Messages in Sequence Diagram
Page 50Classification: Restricted
Types of Messages in Sequence Diagram
Page 51Classification: Restricted
Types of Messages in Sequence Diagram
Page 52Classification: Restricted
Types of Messages in Sequence Diagram
Page 53Classification: Restricted
Caller Phone Recipient
Picks up
Dial tone
Dial
Ring notification Ring
Picks up
Hello
Sequence Diagram (make a phone call)
Page 54Classification: Restricted
Sequence Diagram : Object interaction
Self-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()
Page 55Classification: Restricted
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
Page 56Classification: Restricted
Sequence Diagrams – Example
Page 57Classification: Restricted
The second interaction diagram is collaboration diagram. It shows the
object organization. Here in collaboration diagram the method call
sequence is indicated by some numbering technique.
Collaboration Diagrams
Page 58Classification: Restricted
Collaboration Diagram : Example
Page 59Classification: Restricted
• Shows the relationship between objects and the order of messages passed
between hem.
• 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.
Interaction Diagrams : Collaboration diagrams
Page 60Classification: Restricted
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
Page 61Classification: Restricted
State Diagrams: (Traffic light example)
Yellow
Red
Green
Traffic Light
State
Transition
Event
Star
t
Page 62Classification: Restricted
Activity Diagram
Overview
• Activity diagram is another important diagram in UML to describe dynamic
aspects of the system.
• Activity diagram is basically a flow chart to represent the flow form one
activity to another activity. The activity can be described as an operation of
the system.
• So the control flow is drawn from one operation to another. This flow can
be sequential, branched or concurrent. Activity diagrams deals with all type
of flow control by using different elements like fork, join etc.
Page 63Classification: Restricted
Purpose of an Activity Diagram
• Draw the activity flow of a system.
• Describe the sequence from one activity to another.
• Describe the parallel, branched and concurrent flow of the system.
Page 64Classification: Restricted
Elements of Activity Diagram
Page 65Classification: Restricted
Activity Diagram : Example
Page 66Classification: Restricted
Page 67Classification: Restricted
Page 68Classification: Restricted
Activity Diagram : Example
Page 69Classification: Restricted
Page 70Classification: Restricted
UML Modeling Tools
• Rational Rose (www.rational.com) by IBM
• TogetherSoft Control Center, Borland
(http://www.borland.com/together/index.html)
• ArgoUML (free software) (http://argouml.tigris.org/ )
OpenSource; written in java
• Others
(http://www.objectsbydesign.com/tools/umltools_byCompany.html )
Page 71Classification: Restricted
Reference
1. UML Distilled: A Brief Guide to the Standard Object Modeling Language
Martin Fowler, Kendall Scott
2. IBM Rational
http://www-306.ibm.com/software/rational/uml/
3. Practical UML --- A Hands-On Introduction for Developers
http://www.togethersoft.com/services/practical_guides/umlonlinecourse/
4. Software Engineering Principles and Practice. Second Edition;
Hans van Vliet.
5. http://www-inst.eecs.berkeley.edu/~cs169/
Page 72Classification: Restricted
Thank you

Weitere ähnliche Inhalte

Was ist angesagt?

UML (Unified Modeling Language)
UML (Unified Modeling Language)UML (Unified Modeling Language)
UML (Unified Modeling Language)Nguyen Tuan
 
REMOTE OPERATED FORK LIFT
REMOTE OPERATED FORK LIFTREMOTE OPERATED FORK LIFT
REMOTE OPERATED FORK LIFTSuchit Moon
 
Advanced computer architecture unit 5
Advanced computer architecture  unit 5Advanced computer architecture  unit 5
Advanced computer architecture unit 5Kunal Bangar
 
Program and Network Properties
Program and Network PropertiesProgram and Network Properties
Program and Network PropertiesBeekrum Duwal
 
UML Architecture and Views
UML Architecture and ViewsUML Architecture and Views
UML Architecture and ViewsKumar
 
5 - Architetture Software - Metamodelling and the Model Driven Architecture
5 - Architetture Software - Metamodelling and the Model Driven Architecture5 - Architetture Software - Metamodelling and the Model Driven Architecture
5 - Architetture Software - Metamodelling and the Model Driven ArchitectureMajong DevJfu
 
Distributed Shared Memory Systems
Distributed Shared Memory SystemsDistributed Shared Memory Systems
Distributed Shared Memory SystemsAnkit Gupta
 
Class diagram- UML diagram
Class diagram- UML diagramClass diagram- UML diagram
Class diagram- UML diagramRamakant Soni
 
Architectural Development Tracks
Architectural Development TracksArchitectural Development Tracks
Architectural Development TracksANJALIG10
 
SE_Lec 05_System Modelling and Context Model
SE_Lec 05_System Modelling and Context ModelSE_Lec 05_System Modelling and Context Model
SE_Lec 05_System Modelling and Context ModelAmr E. Mohamed
 

Was ist angesagt? (17)

Aca2 10 11
Aca2 10 11Aca2 10 11
Aca2 10 11
 
UML (Unified Modeling Language)
UML (Unified Modeling Language)UML (Unified Modeling Language)
UML (Unified Modeling Language)
 
REMOTE OPERATED FORK LIFT
REMOTE OPERATED FORK LIFTREMOTE OPERATED FORK LIFT
REMOTE OPERATED FORK LIFT
 
Advanced computer architecture unit 5
Advanced computer architecture  unit 5Advanced computer architecture  unit 5
Advanced computer architecture unit 5
 
Program and Network Properties
Program and Network PropertiesProgram and Network Properties
Program and Network Properties
 
UML Architecture and Views
UML Architecture and ViewsUML Architecture and Views
UML Architecture and Views
 
5 - Architetture Software - Metamodelling and the Model Driven Architecture
5 - Architetture Software - Metamodelling and the Model Driven Architecture5 - Architetture Software - Metamodelling and the Model Driven Architecture
5 - Architetture Software - Metamodelling and the Model Driven Architecture
 
Distributed Shared Memory Systems
Distributed Shared Memory SystemsDistributed Shared Memory Systems
Distributed Shared Memory Systems
 
Class diagram- UML diagram
Class diagram- UML diagramClass diagram- UML diagram
Class diagram- UML diagram
 
Deployment
DeploymentDeployment
Deployment
 
Pawan111
Pawan111Pawan111
Pawan111
 
Architectural Development Tracks
Architectural Development TracksArchitectural Development Tracks
Architectural Development Tracks
 
SE_Lec 05_System Modelling and Context Model
SE_Lec 05_System Modelling and Context ModelSE_Lec 05_System Modelling and Context Model
SE_Lec 05_System Modelling and Context Model
 
Romantismul
RomantismulRomantismul
Romantismul
 
Capturing System Behaviour
Capturing System BehaviourCapturing System Behaviour
Capturing System Behaviour
 
Reader Writer problem
Reader Writer problemReader Writer problem
Reader Writer problem
 
Class Diagram
Class DiagramClass Diagram
Class Diagram
 

Ähnlich wie UML Training for Business Analysts

Introduction to OOA and UML
Introduction to OOA and UMLIntroduction to OOA and UML
Introduction to OOA and UMLVeneet-BA
 
Introduction to OOA and UML
Introduction to OOA and UMLIntroduction to OOA and UML
Introduction to OOA and UMLVeneet-BA
 
Introduction to OOA and UML - Part 1
Introduction to OOA and UML - Part 1Introduction to OOA and UML - Part 1
Introduction to OOA and UML - Part 1Shwetha-BA
 
Introduction to OOA and UML
Introduction to OOA and UMLIntroduction to OOA and UML
Introduction to OOA and UMLShwetha-BA
 
Unified Modeling Language - UML - Complete Guide - Part 2
Unified Modeling Language - UML - Complete Guide - Part 2Unified Modeling Language - UML - Complete Guide - Part 2
Unified Modeling Language - UML - Complete Guide - Part 2Lakshmi-BA
 
Introduction to OOA and UML - Part 2
Introduction to OOA and UML - Part 2 Introduction to OOA and UML - Part 2
Introduction to OOA and UML - Part 2 Lakshmi-BA
 
CASE Tools lab.ppt
CASE Tools lab.pptCASE Tools lab.ppt
CASE Tools lab.pptRAJESH S
 
UML_Lecture.pptxnd bfdjjrnekdddkeeeenekejneje
UML_Lecture.pptxnd bfdjjrnekdddkeeeenekejnejeUML_Lecture.pptxnd bfdjjrnekdddkeeeenekejneje
UML_Lecture.pptxnd bfdjjrnekdddkeeeenekejnejessusera6a60c1
 
2CPP05 - Modelling an Object Oriented Program
2CPP05 - Modelling an Object Oriented Program2CPP05 - Modelling an Object Oriented Program
2CPP05 - Modelling an Object Oriented ProgramMichael Heron
 
Introduction to OOA and UML
Introduction to OOA and UMLIntroduction to OOA and UML
Introduction to OOA and UMLLakshmi-BA
 
Unified Modeling Language - UML - Complete Guide - Part 1
Unified Modeling Language - UML - Complete Guide - Part 1Unified Modeling Language - UML - Complete Guide - Part 1
Unified Modeling Language - UML - Complete Guide - Part 1Lakshmi-BA
 
ASP.NET System design 2
ASP.NET System design 2ASP.NET System design 2
ASP.NET System design 2Sisir Ghosh
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering Madhar Khan Pathan
 

Ähnlich wie UML Training for Business Analysts (20)

Introduction to OOA and UML
Introduction to OOA and UMLIntroduction to OOA and UML
Introduction to OOA and UML
 
Introduction to OOA and UML
Introduction to OOA and UMLIntroduction to OOA and UML
Introduction to OOA and UML
 
Introduction to OOA and UML - Part 1
Introduction to OOA and UML - Part 1Introduction to OOA and UML - Part 1
Introduction to OOA and UML - Part 1
 
Introduction to OOA and UML
Introduction to OOA and UMLIntroduction to OOA and UML
Introduction to OOA and UML
 
Unified Modeling Language - UML - Complete Guide - Part 2
Unified Modeling Language - UML - Complete Guide - Part 2Unified Modeling Language - UML - Complete Guide - Part 2
Unified Modeling Language - UML - Complete Guide - Part 2
 
Introduction to OOA and UML - Part 2
Introduction to OOA and UML - Part 2 Introduction to OOA and UML - Part 2
Introduction to OOA and UML - Part 2
 
Uml report
Uml reportUml report
Uml report
 
CASE Tools lab.ppt
CASE Tools lab.pptCASE Tools lab.ppt
CASE Tools lab.ppt
 
UML Diagrams
UML DiagramsUML Diagrams
UML Diagrams
 
uml2-1214558329929112-8.ppt
uml2-1214558329929112-8.pptuml2-1214558329929112-8.ppt
uml2-1214558329929112-8.ppt
 
OOP_Module 2.pptx
OOP_Module 2.pptxOOP_Module 2.pptx
OOP_Module 2.pptx
 
UML_Lecture.pptxnd bfdjjrnekdddkeeeenekejneje
UML_Lecture.pptxnd bfdjjrnekdddkeeeenekejnejeUML_Lecture.pptxnd bfdjjrnekdddkeeeenekejneje
UML_Lecture.pptxnd bfdjjrnekdddkeeeenekejneje
 
2CPP05 - Modelling an Object Oriented Program
2CPP05 - Modelling an Object Oriented Program2CPP05 - Modelling an Object Oriented Program
2CPP05 - Modelling an Object Oriented Program
 
Sda 7
Sda   7Sda   7
Sda 7
 
Introduction to OOA and UML
Introduction to OOA and UMLIntroduction to OOA and UML
Introduction to OOA and UML
 
Unified Modeling Language - UML - Complete Guide - Part 1
Unified Modeling Language - UML - Complete Guide - Part 1Unified Modeling Language - UML - Complete Guide - Part 1
Unified Modeling Language - UML - Complete Guide - Part 1
 
ASP.NET System design 2
ASP.NET System design 2ASP.NET System design 2
ASP.NET System design 2
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering
 
CS8592-OOAD Lecture Notes Unit-2
CS8592-OOAD Lecture Notes Unit-2CS8592-OOAD Lecture Notes Unit-2
CS8592-OOAD Lecture Notes Unit-2
 
Uml
UmlUml
Uml
 

Mehr von SwatiS-BA

Agile Training for Business Analysts
Agile Training for Business AnalystsAgile Training for Business Analysts
Agile Training for Business AnalystsSwatiS-BA
 
SDLC Training for Business Analysts
SDLC Training for Business AnalystsSDLC Training for Business Analysts
SDLC Training for Business AnalystsSwatiS-BA
 
Resume/Interview Preparation
Resume/Interview Preparation   Resume/Interview Preparation
Resume/Interview Preparation SwatiS-BA
 
Role of BA in Testing
Role of BA in TestingRole of BA in Testing
Role of BA in TestingSwatiS-BA
 
Roles and Responsibilities of a BA
Roles and Responsibilities of a BARoles and Responsibilities of a BA
Roles and Responsibilities of a BASwatiS-BA
 
Introduction to UML
Introduction to UMLIntroduction to UML
Introduction to UMLSwatiS-BA
 
Workflow and Database Management
Workflow and Database ManagementWorkflow and Database Management
Workflow and Database ManagementSwatiS-BA
 
Requirements Management
Requirements ManagementRequirements Management
Requirements ManagementSwatiS-BA
 
Requirement Elicitation Techniques
Requirement Elicitation TechniquesRequirement Elicitation Techniques
Requirement Elicitation TechniquesSwatiS-BA
 
Enterprise Analysis
Enterprise AnalysisEnterprise Analysis
Enterprise AnalysisSwatiS-BA
 
Software Development Life Cycle – SDLC
Software Development Life Cycle – SDLCSoftware Development Life Cycle – SDLC
Software Development Life Cycle – SDLCSwatiS-BA
 
Introduction to Business Analysis
Introduction to Business AnalysisIntroduction to Business Analysis
Introduction to Business AnalysisSwatiS-BA
 

Mehr von SwatiS-BA (12)

Agile Training for Business Analysts
Agile Training for Business AnalystsAgile Training for Business Analysts
Agile Training for Business Analysts
 
SDLC Training for Business Analysts
SDLC Training for Business AnalystsSDLC Training for Business Analysts
SDLC Training for Business Analysts
 
Resume/Interview Preparation
Resume/Interview Preparation   Resume/Interview Preparation
Resume/Interview Preparation
 
Role of BA in Testing
Role of BA in TestingRole of BA in Testing
Role of BA in Testing
 
Roles and Responsibilities of a BA
Roles and Responsibilities of a BARoles and Responsibilities of a BA
Roles and Responsibilities of a BA
 
Introduction to UML
Introduction to UMLIntroduction to UML
Introduction to UML
 
Workflow and Database Management
Workflow and Database ManagementWorkflow and Database Management
Workflow and Database Management
 
Requirements Management
Requirements ManagementRequirements Management
Requirements Management
 
Requirement Elicitation Techniques
Requirement Elicitation TechniquesRequirement Elicitation Techniques
Requirement Elicitation Techniques
 
Enterprise Analysis
Enterprise AnalysisEnterprise Analysis
Enterprise Analysis
 
Software Development Life Cycle – SDLC
Software Development Life Cycle – SDLCSoftware Development Life Cycle – SDLC
Software Development Life Cycle – SDLC
 
Introduction to Business Analysis
Introduction to Business AnalysisIntroduction to Business Analysis
Introduction to Business Analysis
 

Kürzlich hochgeladen

The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024TopCSSGallery
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesManik S Magar
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Kaya Weers
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesBernd Ruecker
 
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...itnewsafrica
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Nikki Chapple
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxfnnc6jmgwh
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observabilityitnewsafrica
 

Kürzlich hochgeladen (20)

The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architectures
 
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
 

UML Training for Business Analysts

  • 2. Page 2Classification: Restricted Agenda • Introduction to OOA and UML • Stated vs Un-stated • Software Analysis and Design • Modeling • UML • Why UML • Overview • Types • Use Case Diagram • Types of Actor • Class Diagram • What is Class Diagram • Class Representation • Types of Class • Sequence Diagram • Interaction Diagram
  • 3. Page 3Classification: Restricted Introduction • Object Oriented Analysis and Design is an important skill for Business Analysts as well as Technical Architects • The design is dependent on a good analysis
  • 5. Page 5Classification: Restricted What is UML? • UML stands for “Unified Modeling Language” • 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. Page 6Classification: Restricted Why UML for Modeling • Use graphical notation to communicate 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. Page 7Classification: Restricted 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
  • 8. Page 8Classification: Restricted Use 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
  • 9. Page 9Classification: Restricted 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.
  • 10. Page 10Classification: Restricted 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.
  • 12. Page 12Classification: Restricted Use Case Diagram (core relationship) 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>> 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>>
  • 13. Page 13Classification: Restricted Use Case Diagram (core relationship)
  • 14. Page 14Classification: Restricted Use Case Diagram (core relationship)
  • 15. Page 15Classification: Restricted Use Case Diagrams Library System Borrow Order Title Fine Remittance Client Employee Supervisor Boundary Actor Use Case
  • 17. Page 17Classification: Restricted Types of Actor Actors Primary Actor Secondary Actor
  • 22. Page 22Classification: Restricted Use Cases for the Exercise
  • 25. Page 25Classification: Restricted 25 • Object-oriented analysis and design (OOAD) is a technical approach used in the analysis and design of an application or system through the application of the object-oriented paradigm and concepts including visual modeling. • This is applied throughout the development life cycle of the application or system, fostering better product quality and even encouraging stakeholder participation and communication
  • 26. Page 26Classification: Restricted • 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
  • 27. Page 27Classification: Restricted A collection of similar objects is a class. And an object is an instance of a class. What is a Class?
  • 28. Page 28Classification: Restricted Class representation • 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.
  • 29. Page 29Classification: Restricted An example of Class Account_Name - Customer_Name - Balance +addFunds( ) +withDraw( ) +transfer( ) Name Attributes Operations
  • 30. Page 30Classification: Restricted • Super Class • Parent Class • Generalized Class • Specialized Class • Sub Class • Child Class Types of Classes
  • 31. Page 31Classification: Restricted Animal Amphibian Mammal Reptile Horse Example Child Class of Animal Child Class of Animal Child Class of Mammal Super Class of horse Parent Class of Mammal Sub Class of Animal
  • 32. Page 32Classification: Restricted OO Relationships • There are two kinds of Relationships • Generalization (parent-child relationship) • Association (one object to another object relationship) • Associations can be further classified as • Aggregation • Composition
  • 33. Page 33Classification: Restricted OO Relationships : Generalization Subtype2 Supertype Subtype1 • Generalization expresses a parent/child relationship among related classes. • Used for abstracting details in several layers Regular Customer Loyalty Customer Customer Example : Regular Customer Loyalty Customer Customeror:
  • 34. Page 34Classification: Restricted OO Relationships : Association • 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)
  • 35. Page 35Classification: Restricted 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 teacheremployee 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 Association: Multiplicity and Roles
  • 37. Page 37Classification: Restricted OO Relationships : Composition Class W Class P1 Class P2 Whole Class Part Classes Automobile Engine Transmission Example 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. [From Dr.David A. Workman]
  • 38. Page 38Classification: Restricted OO Relationships : Composition [From Dr.David A. orkman] 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. 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.
  • 39. Page 39Classification: Restricted Aggregations vs. Composition • Composition 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.
  • 40. Page 40Classification: Restricted Interaction Diagrams A Sequence diagram is an interaction diagram that shows how objects operate with one another and in what order. • They're also called event diagrams. • A sequence diagram is a good way to visualize and validate various runtime scenarios. • These can help to predict how a system will behave and to discover responsibilities a class may need to have in the process of modeling a new system
  • 42. Page 42Classification: Restricted Class Roles or Participants Class roles describe the way an object will behave in context. Use the UML object symbol to illustrate class roles, but don't list object attributes. Basic Sequence Diagram Symbols and Notations
  • 43. Page 43Classification: Restricted Basic Sequence Diagram Symbols and Notations Activation or Execution Occurrence Activation boxes represent the time an object needs to complete a task. When an object is busy executing a process or waiting for a reply message, use a thin gray rectangle placed vertically on its lifeline.
  • 44. Page 44Classification: Restricted Basic Sequence Diagram Symbols and Notations Messages Messages are arrows that represent communication between objects. Use half-arrowed lines to represent asynchronous messages. Asynchronous messages are sent from an object that will not wait for a response from the receiver before continuing its tasks..
  • 45. Page 45Classification: Restricted Basic Sequence Diagram Symbols and Notations Lifelines Lifelines are vertical dashed lines that indicate the object's presence over time.
  • 46. Page 46Classification: Restricted Basic Sequence Diagram Symbols and Notations Destroying Objects Objects can be terminated early using an arrow labeled "<< destroy >>" that points to an X. This object is removed from memory. When that object's lifeline ends, you can place an X at the end of its lifeline to denote a destruction occurrence. Loops A repetition or loop within a sequence diagram is depicted as a rectangle. Place the condition for exiting the loop at the bottom left corner in square brackets [ ].
  • 47. Page 47Classification: Restricted Types of Messages in Sequence Diagram Synchronous Message A synchronous message requires a response before the interaction can continue. It's usually drawn using a line with a solid arrowhead pointing from one object to another.
  • 48. Page 48Classification: Restricted Types of Messages in Sequence Diagram Asynchronous Message Asynchronous messages don't need a reply for interaction to continue. Like synchronous messages, they are drawn with an arrow connecting two lifelines; however, the arrowhead is usually open and there's no return message depicted.
  • 49. Page 49Classification: Restricted Types of Messages in Sequence Diagram
  • 50. Page 50Classification: Restricted Types of Messages in Sequence Diagram
  • 51. Page 51Classification: Restricted Types of Messages in Sequence Diagram
  • 52. Page 52Classification: Restricted Types of Messages in Sequence Diagram
  • 53. Page 53Classification: Restricted Caller Phone Recipient Picks up Dial tone Dial Ring notification Ring Picks up Hello Sequence Diagram (make a phone call)
  • 54. Page 54Classification: Restricted Sequence Diagram : Object interaction Self-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()
  • 55. Page 55Classification: Restricted 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
  • 57. Page 57Classification: Restricted The second interaction diagram is collaboration diagram. It shows the object organization. Here in collaboration diagram the method call sequence is indicated by some numbering technique. Collaboration Diagrams
  • 59. Page 59Classification: Restricted • Shows the relationship between objects and the order of messages passed between hem. • 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. Interaction Diagrams : Collaboration diagrams
  • 60. Page 60Classification: Restricted 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
  • 61. Page 61Classification: Restricted State Diagrams: (Traffic light example) Yellow Red Green Traffic Light State Transition Event Star t
  • 62. Page 62Classification: Restricted Activity Diagram Overview • Activity diagram is another important diagram in UML to describe dynamic aspects of the system. • Activity diagram is basically a flow chart to represent the flow form one activity to another activity. The activity can be described as an operation of the system. • So the control flow is drawn from one operation to another. This flow can be sequential, branched or concurrent. Activity diagrams deals with all type of flow control by using different elements like fork, join etc.
  • 63. Page 63Classification: Restricted Purpose of an Activity Diagram • Draw the activity flow of a system. • Describe the sequence from one activity to another. • Describe the parallel, branched and concurrent flow of the system.
  • 70. Page 70Classification: Restricted UML Modeling Tools • Rational Rose (www.rational.com) by IBM • TogetherSoft Control Center, Borland (http://www.borland.com/together/index.html) • ArgoUML (free software) (http://argouml.tigris.org/ ) OpenSource; written in java • Others (http://www.objectsbydesign.com/tools/umltools_byCompany.html )
  • 71. Page 71Classification: Restricted Reference 1. UML Distilled: A Brief Guide to the Standard Object Modeling Language Martin Fowler, Kendall Scott 2. IBM Rational http://www-306.ibm.com/software/rational/uml/ 3. Practical UML --- A Hands-On Introduction for Developers http://www.togethersoft.com/services/practical_guides/umlonlinecourse/ 4. Software Engineering Principles and Practice. Second Edition; Hans van Vliet. 5. http://www-inst.eecs.berkeley.edu/~cs169/