Title: Unit 2. Modeling Objects and
1 Software Engineering IIDr. Rami
BahsoonSchool of Computer ScienceThe University
Of Birminghamr.bahsoon_at_cs.bham.ac.ukwww.cs.bham.
ac.uk/rzbOffice 112 Y9- Computer Science
- Unit 2. Modeling Objects and
- Components with UML
-
2Objectives
- To describe the activities in the object-oriented
analysis and design process - To introduce various models that can be used to
describe an object-oriented analysis and design - To show how the Unified Modelling Language (UML)
may be used to represent these models - To introduce models suitable for specifying
Components-Based Software
3Roughly
Go ahead
Requirements Specification
Requirements Elicitation
They could be using UML -)
Analysis and Design
4You are here!
5The Unified Modelling Language
- Several different notations for describing
object-oriented designs were proposed in the
1980s and 1990s. - The Unified Modeling Language is an integration
of these notations. - It describes notations for a number of different
models that may be produced during OO analysis
and design. - It is now a de facto standard for OO modelling.
6UML Contributors
Gamma et al Framework and pattern
Harel
Meyer
Shlaer-Mellor
Booch
And many others.
Rumbaugh OMT
Jacobson OOSE
Major three (submission to OMG Jan 97, Acceptance
Nov 97) http//www.omg.org/
7(No Transcript)
8UML Diagrams
9Models?
- The language of the designer
- Representations of the system to-be-built or
as-built - A complete description of a system from a
particular perspective - Vehicles for communication with various
stakeholders - Allow reasoning about some characteristics of a
system - Often captures both structural and behavioural
(e.g., interaction) information
10UML Diagrams
- Diagram a view into the model
- In UML, there are nine standard diagrams
- Static view use case, class, object, component,
deployment - Dynamic view sequence, collaboration, state
chart, activity
11Some UML diagrams
Use cases
Class diagram
activity
Deployment
Sequence
Collaboration
12UML Diagrams
You are Here!
13Use Cases
- What is use case modelling?
- What are actors?
- How to find actors?
- What are use cases?
- How to find use cases?
- How to construct a use case diagram?
- Detailing a use case
14What is a use case modelling
- Basis for a user-oriented approach to system
development - Identify the users of the system (actors)
- Identify the tasks they must undertake with the
system (use cases) - Relate users tasks (relationship) help
identify boundary
Capture system functionality as seen by users
15Use cases
- Built in early stages of development
- Specify the context of a system
- Plan iterations of development
- Validate a systems architecture
- Drive implementation generate test cases
- Developed by analysts domain experts during
requirements analysis
16How to find actors?
- Observe direct users of the system- could be
users or systems - What role do they play?
- Who provides information to the system?
- Who receives information from the system?
- Actors could be
- Principal
- Secondary (External hardware, other systems, )
- Describe each actor clearly and precisely
(semantics) - Short name
- Description
BookBorrower This actor represents some one that
make use of the library for borrowing books
17Exercise
- Assume you have a requirements documents for a
library system identify all actors that interact
with a system - For each actor, write down the name and provide a
brief textual description (i.e., describing the
semantics of the actor)
Actor Semantics
Name 1 Description
18What are use cases?
- Things actors do with the system
- A task which an actor needs to perform with the
help of a system (e.g., Borrow a book) - A specific kind of a system
- Describe the behaviour of the system from a
users standpoint - Represented by ellipses
Borrow a copy of book
19How to find use cases?
- Start with the list of actors and consider
- What they need from the system (i.e. what use
cases there are which have value for them) - Any other interactions they expect to interact
with the system (i.e. which use cases they might
take part in for someones else benefit) - How do you know what is a use case?
- Estimate frequency of use, examine differences
between use cases, distinguish between basic
and alternative course of events create new
uses when necessary
20Describing use cases
- Semantics detailed in text
- Example
- Borrow copy of book
- A book borrower presents a book. The system
checks that the potential borrower is a member of
the library she does not have the maximum
number of books
Use case name ---------------- Text describing
the use case blabla.
Borrow a copy of book
Should be described ?
21Exercise
- Draft use case diagrams of a library system
22Possible use cases
23Use case diagram of a library
24Requirements example
- Multi-purpose recycling machine must
- receive check items for customers,
- print out receipt for items received,
- print total received items for operator,
- change system information,
- signal alarm when problems arise.
Reference Anthony Finkelstein, UCL
25Example
- Returning items is started by Customer when she
wants to - return cans, bottles or crates. With each item
that the - Customer places in the recycling machine, the
system will - increase the received number of items from
Customer as - well as the daily total of this particular type.
- When Customer has deposited all her items, she
will press a - receipt button to get a receipt on which returned
items have - been printed, as well as the total return sum.
- Particular instances of use would be
differentThe - morning after the party Sarah goes to the
recycling centre - with three crates containing ....
26Use case diagram
27Extensions
- Extensions provide opportunities for
- optional parts
- alternative complex cases
- separate sub-cases
- insertion of use cases
28Refinement - ltltextendgtgt
Refuse loan
Borrow copy of a book
ltltExtendgtgt
Note the direction of the arrow from the less
central case to the central one! Refuse loan and
borrow copy of a book two different scenarios
ltltextendgtgt
29Refinement - ltltextendgtgt
30Refinement
ltltincludegtgt
Extend Loan
Check for reservation
Borrow copy of a book
ltltincludegtgt
ltltincludegtgt
31Use ltltincludegtgt
- Use ltltincludegtgt
- How the system can reuse pre-existing component
- To show common functionality between use cases
- To develop the fact that project from existing
components!
Note ltltincludegtgt and ltltextendgtgt are UML
stereotypes used to attach additional
classification
32(No Transcript)
33Refinement
34Generalization
Journal borrower is a book borrower
35Detailing a use case
- Writing a specification for the use case
- Good Practice
- Preconditions the system state before the case
begin (i.e., facts, things that must be true) - Flow of events the steps in the use case (i.e.
actions) - Postconditions the system state after the case
has been completed
36Detailing a use case
- Borrow a copy of book
- Precondition
- 1. the BookBorrower is a member of the library
- 2. the BookBorrower has not got more than the
permitted number of books on loan - Flow of events
- 1. the use case starts when the BookBorrower
attempts to borrow a book - 2. the librarian checks it is ok to borrow a book
- 3. If (indicate an alternative path of
action) - Post-conditions
- 1. the system has updated the number of books the
BookBorrower has on loan
Borrow a copy of book
37Exercise
- Select one of the use cases identified for the
library system and create complete specification
of each - Use Structured English to show at least one
alternative flow of events and at least one
repeated action
Borrow copy of book Preconditions 1. Flow of
events 1. 2. Post conditions 1.
38Scenarios
- Each time an actor interacts with a system, the
triggered use cases instantiate a scenario - Each case corresponds to a specific path through
a use case with no branching - Scenarios are typically documented as text along
side the use case and activity diagrams
39Write the scenarios for this diagram
40Example- borrow copy of book
- Scenario 1
- BookBorrower Joe B Borrows the librarys only
copy of using UML, when he has no other book on
loan. The system is updated accordingly. - Scenario 2
- BookBorrower Ann tries to borrow the librarys
second copy of Software Engineering, but is
refused because she has six books out on loan,
which is her maximum allowance.
41UML Diagrams
Covered
You are Here!
42Activity Diagrams
- Activity diagrams show the dependencies and
coordination between activities within a system - The activity flow should not get stuck
- They can be used during the requirements
elicitation process - help in identifying use cases of a system and
operations involved in the realization of a use
case - Workflows and business processes
- Can be attached to any model element to model its
dynamic behavior
43Activity Diagrams
Reference David Rosenblum, UCL
44(No Transcript)
45Swimlanes(i.e., main actors swimming on each
lane)
46UML Diagrams
Covered
You are Here!
Covered
47Class Simple Example
48UML Class Icons
Reference D. Rosenblum, UCL
49, , -
- means public public members can be accessed
by any client of the class - means protected protected members can be
accessed by members of the class or any subclass - - means private private members can only be
accessed by members of the same class
50Analysis class
- An analysis class abstracts one or more classes
and/or - subsystems in the systems design
- Focuses on handling functional requirements
- Defines responsibilities (cohesive subsets of
behaviour defined by the class) - Defines attributes
- Expresses relationships the class is involved in
51Approach 1 Data-Driven Design
- Identify all the data in the system
- Divide into classes before considering
responsibilities - Common approach noun identification
- Identify candidate classes by selecting all the
nouns and noun phrases in the requirements
document - Discard inappropriate candidates
- Redundant or omnipotent entities
- Vague entities
- Events or operations
- Meta-language
- Entities outside system scope
- Attributes
- Verbs and verb phrases highlight candidate
operations!
52Approach 1 Data-Driven Design
- Some heuristics of what kind of things are
classes Shlaer and Mellor Booch - Tangible or real-world things book, copy,
course - Roles- library member, student, director of
studies, - Events- arrival, leaving, request
- Interactions- meeting, intersection
53Exercise
- Perform noun-verb analysis of your requirements
document - Underline all the noun and noun phrases,
- Create a list of candidate classes (in examining
the discard criteria, you may also identify some
candidate attributes) - Identify all verb and verb phrases
- Create a list of candidate operations and assign
them to classes
54Noun/Verb Analysis
55Approach 2 Responsibility-Driven Design
- Identify all the responsibilities in the system
- Divide into classes before considering the
classes data - Common approach CRC cards
- Class, Responsibilities, Collaborations
56Example CRC Cards for a Library
57Exercise
- Perform responsibility-driven analysis for the
system to identify potential classes - Look at the requirements document and use cases
- Identify the candidate classes
- Derive your CRC (i.e., Class, Responsibility, and
collaborators)
58First-Cut Class Diagram
59Relationships
- Relationships are connections between modeling
elements - Improve understanding of the domain, describing
how objects - work together
- Act as a sanity check for good modeling
- Associations are relationships between classes
- Examples
- Object of class A sends a message to object of
class B - Object of class A creates an object of class B
- Object of class A has attribute whose values
are objects of class B - Object of class A receives a message with
argument of class B - Links are relationships between objects
- Links can be instances of associations (as in UML
1.4) - Allow one object to invoke operations on another
object
60UML Relationship Notation
Reference D. Rosenblum, UCL
61Links Instantiate Associations
Reference D. Rosenblum, UCL
62Multiplicity of an Association
Reference D. Rosenblum, UCL
63Generalisation and Inheritance
64Another Inheritance Example
65Part/Whole Associations
A module is part of a course In fact, 5 or
more modules are part of one or more courses
66Part/Whole Associations
Composed of 64 squares
67Association Classes
- Used to attach attributes to an association
itself rather than the classes it associates - Class association line must have the same name!
68Example Class Model
69Another Example Class Model
70Example Example Class Diagram
71More Examples
72More Examples
73More Examples
Classes Corporate Customer and Personal Customer
have some similarities such as name and address,
but each class has some of its own attributes and
operations. Â The class Customer is a general
form of both the Corporate Customer and Personal
Customer classes.
74What Makes a Good Analysis Class..
- Its name reflects its intent
- It is a crisp abstraction that models one
specific element of the problem domain - It has a small but defined set of
responsibilities - It has high cohesion
- It has low coupling with other classes
- homework important!
- What is cohesion?
- What is coupling?
75Note
- Noun/verb analysis and Responsibility-Driven
analysis - Noun/Verb and responsibility complement each
others - Often goes hand in hand with use cases
- First-cut class diagram (also referred to Class
model) - Refine the first-cut diagram into a detailed
class diagram
76Hint
77Environment Demo
- Examples
- Rational Rose sample
- http//www.developers.net/external/249
78UML Diagrams
Covered
Covered
You are Here!
Covered
79UML Object Icons
Reference D. Rosenblum, UCL
80Object Diagram
81Object Diagram
- Built during analysis design
- Illustrate data/object structures
- Specify snapshots
- Developed by analysts, designers and implementers
82Object Diagram
83More Examples
84UML Diagrams
Covered
You are Here!
Covered
Covered
Covered
Covered
85Sequence diagrams
- Sequence diagrams demonstrate the behavior of
objects in a use case by describing the objects
and the messages they pass. the diagrams are
read left to right and descending. - Object interactions arranged in a time
sequence (i.e. time-oriented)
objects
Life-time
Activation i.e., object in active
86Sequence diagrams
objects
return
message
Activation i.e., object in active
Life-line
destroy
87Sequence diagrams
- The example shows an object of class 1 start the
behavior by sending a message to an object of
class 2. Messages pass between the different
objects until the object of class 1 receives the
final message
88Sequence diagrams
- The example shows an object of class 1 start the
behavior by sending a message to an object of
class 2. Messages pass between the different
objects until the object of class 1 receives the
final message
89Sequence diagrams
- The example shows an object of class 1 start the
behavior by sending a message to an object of
class 2. Messages pass between the different
objects until the object of class 1 receives the
final message
90Sequence diagrams
- The example shows an object of class 1 start the
behavior by sending a message to an object of
class 2. Messages pass between the different
objects until the object of class 1 receives the
final message
91Example
- Self-service machine, three objects do the work
we're concerned with - the front the interface the self-service machine
presents to the customer - the money register part of the machine where
moneys are collected - the dispenser which delivers the selected
product to the customer
92Example
- The instance sequence diagram may be sketched by
using this sequences - 1.The customer inserts money in the money slot
- 2.The customer makes a selection
- 3.The money travels to the register
- 4.The register checks to see whether the selected
product is in the dispenser - 5. The register updates its cash reserve
- 6. The register has a dispenser deliver the
product to the front of the machine
93Example
Notify()
The "Buy a product" scenario. Because this is
the best-case scenario, it's an instance sequence
diagram
94 But
- We have seen an instance of an interaction
diagram- one possible sequence of messages - Since a use case can include may scenarios
- There is a need to show conditional behaviour
- There is a need to show possible iterations
- A generic interaction diagram shows all possible
sequences of messages that can occur
95Showing conditional behavior
- A message may be guarded by a condition
- Messages are only sent if the guard evaluates
to true at - the time when the system reaches that point in
the interaction
Objclass
Objclass
If i0 then foo() Else bar()
If i0 then foo() If i 1 then bar()
96alt Operators in interactions frames UML 2.0
Operator
Guard
Alternative multiple fragment only the one whose
condition is true will execute
97Iterations (i.e., loop) UML 1.0
- Indicates looping or iterations
- i1..2 means 2 iterations.
Result ab ab
If you have seen it? Earlier UML versions UML
1.0
98Loop in UML 2.0
Guard
Loopthe fragment may execute multiple times, and
the guard indicates basis for iterations
99Opt in UML 2.0
OptOptional the fragment executes only if the
supplied condition is true. This is equivalent
to an alt with one trace
100Sequence diagram of library
101Showing timing constraints on a sequencediagram
time
102Interaction types in sequence diagrams
Some UML versions use for both
103Example
synchronous
An e-mail sent to the system
Student submitting a choice to the web
Asynchronous
return
104Other notions Branching
The life time of any object which could be
affected by a conditional message is split into
branches
105Opt in UML 2.0
OptOptional the fragment executes only if the
supplied condition is true. This is equivalent
to an alt with one trace
106Examples
- Refer to examples and printouts on sequence
diagrams for optional extra features
107Exercise
- Draft use case diagram for an ATM machine
- Use a Scenario of Interest
- Draw a simplified object diagram corresponding to
the use cases - Draft the corresponding sequence diagram
108UML Diagrams
Covered
Covered
Covered
Covered
You are Here!
Covered
109Collaboration diagrams
- Describe a specific scenario by showing the
movement of messages between the objects - Show a spatial organization of objects and their
interactions, rather than the sequence of the
interactions - Unlike a Sequence diagram, a collaboration
diagram shows the relationships among the
objects. A collaboration diagram does not show
time (i.e., sequence) - Keep in mind- Both are referred to as
interaction diagrams but with different focus! - Sequence diagrams message flows between objects
based on time (i.e., sequence) - Collaboration diagrams message flows between
objects with no timing
110ATM Assume you have these objects
111First step to build a collaboration diagram
112Second step to build a collaboration diagram
- 1. Connect the objects
- 2. Draw the flow of messages
The collaboration diagram
113A simple collaboration, showing nointeraction
114Interaction shown on a collaborationdiagram
115Exercise
- Sketch a collaboration diagram for self-service
machine, three objects do the work we're
concerned with - the front the interface the self-service machine
presents to the customer - the money register part of the machine where
moneys are collected - the dispenser which delivers the selected
product to the customer - Compare your collaboration diagram with that of a
sequence diagram
116UML Diagrams
Covered
Covered
Covered
Covered
Covered
You are Here!
Covered
117State Diagrams
- Also known as statecharts (invented by David
Harel) - Used primarily to model state of an object
- A class has at most one state machine diagram
- Models how an objects reaction to a message
depends on its state - Objects of the same class may therefore
receive the same message, but respond differently
118Note use of State diagrams
- Often used for modelling the behaviour of
components (subsystems) of real time and critical
systems.
119Modelling states and events
The Book states could be
The related events could be
On shelf
Borrow
On loan
Copy of a Book
return
maybe lost
120Realising state diagrams
Return()
borrow()
On loan
Copy of book
On shelf
121Conditional notions
Conditional notation is used if the value of an
objects attributes determines the change of
state( i.e., change the state under this
condition.)
Important hint For some guards use keywords
like After followed by expression When followed
by expression
122Conditional notions
Means If balancelt0, then change the state to
overdrawn If balancegt0, then change the state
to Incredit
When (balanceltoverdraft limit) /notify manager
overdrawn
In credit
Updating the account balancelt0
balancegt0
Important hint For expressing some events use
keywords like After followed by expression When
followed by expression
123Conditional notions
overdrawn
After (3months)
When (balanceltoverdraft limit) /notify manager
frozen
Important hint For expressing some events use
keywords like After followed by expression When
followed by expression
124Modelling states and substates
States of ATM machine itself
Idle
Serving customer
busy
Customer served
Out of order
125Modelling substates
States of ATM machine itself is rather
trivial. Let us see how we can model the sub
state busy
Idle
Serving customer
busy
Customer served
Out of order
126Modelling substates for ATM machine
127State diagram for ATM machine
Busy
Serving customer
Idle
Customer served
Out of order
128Modelling concurrent states
States that occur in parallel
129Exercise
Reference David Rosenblum, UCL
130Exercise
131UML Diagrams
Covered
Covered
Covered
Covered
Covered
We are here
Covered
Covered
132Component Diagram
- The component diagram's main purpose is to show
the structural relationships between the
components of a system - Component diagrams offer architects a natural
format to begin modeling a solution - Component diagrams allow an architect to verify
that a system's required functionality is being
implemented by components - Helps to reason about non-functionalties
- Developers find the component diagram useful
because it provides them with a high-level,
architectural view of the system that they will
be building
133Architecture of the System
Client-server style
three-tier style
134N-tier architecture components
Reference Ivica Crnkovic
135N-tier architecture components
Reference Ivica Crnkovic
136Component Diagram
- shows a relationship between two components
an Order System component that uses the Inventory
System component
UML version 1.4
137Component Diagram
All they mean the same a component Order UML
version 2.0
138Required/Provide Interface
139Component Diagram
showing a component's relationship with other
components, the lollipop and socket notation
must also include a dependency arrow (as used in
the class diagram). On a component diagram with
lollipops and sockets, note that the dependency
arrow comes out of the consuming (requiring)
socket and its arrow head connects with the
provider's lollipop
140Components Diagrams
- Architectural connection in UML 2.0 is expressed
primarily in terms of interfaces - Interfaces are classifiers with operations but no
attributes - Components have provided and required interfaces
- Component implementations are said to realize
their provided interfaces - A provided and required interface can be
connected if the operations in the latter are a
subset of those in the former, and the signatures
of the associated operations are compatible - Ports provide access between external interfaces
and internal structure of components - UML components can be used to model complex
architectural connectors (like a CORBA ORB)
141Component Diagrams
Ref David Rosenblum, UCL
142Exercise 1
Sketch the components and interfaces
corresponding to the given services
Flight Booking service
Hotel Promotional Service
Car Hire Promotional Service
143Exercise 1
- Assume that Bob wants to book a holiday
- Bob will book his holiday, where
- He provides the following data His origin
airport, his destination, his dates of
departure/return, and any other preference
information (e.g., budget, luxury, etc) - Bob is interested in promotional offers for the
period of his holiday - He wants to rent a car at his destination.
- He wants to get good hotel deals during his stay.
144Software Requirements
- After you book a holiday, the company shall
provide the holidaymaker with promotional
services, which include hotel deals and car rent
promotional service at the destination and for
the duration of her/his stay
145Flight Booking
146Promotional Hotel Booking Service..
147You can even provide more services..
148Car Hire Promotional Service
149Gluing the components
150Composite Structure in Component Diagrams
A composite structure depicts the internal
realisation of component functionality
Ref David Rosenblum, UCL
151Ports
classes
The ports and connectors specify how component
interfaces are mapped to internal
functionality Note that these connectors are
rather limited, special cases of the ones weve
been considering in software architectures
Ref David Rosenblum, UCL
152Ports
- ports provide a way to model how
component's provided/required interfaces relate
to its internal parts
153Ports
Connectors and ports also can be used to specify
structure of component instantiations
154Example
Stereotype
155Guidelines to Componentization
- Keep components cohesive. A component should
implement a single, related set of
functionality. - This may be the user interface logic for a single
user application, business classes comprising a
large-scale domain concept, or technical classes
representing a common infrastructure concept. - Assign user interface classes to application
components. - User interface classes, those that implement
screens, pages, or reports, as well as those that
implement glue logic. - Assign technical classes to infrastructure
components. Â - Technical classes, such as those that implement
system-level services such as security,
persistence, or middleware should be assigned to
components which have the infrastructure
stereotype.
156Example
Infrastructure components
User interfaces assigned to application
components
157Guidelines to Componentization
- Assign hierarchies to the same component. Â
- 99.9 of the time it makes sense to assign all of
the classes of a hierarchy, either an inheritance
hierarchy or a composition hierarchy, to the same
component. - Identify business domain components.
- Because you want to minimize network traffic to
reduce the response time of your application, you
want to design your business domain components in
such a way that most of the information flow
occurs within the components and not between
them. - Business domain components services
- Identify the collaboration type of business
classes. - Once you have identified the distribution type of
each class, you are in a position to start
identifying potential business domain components.
158Example
Infrastructure components
Students, Facilities, Seminar, Schedule are
Business Domain Components
159Guidelines to Componentization
- Highly coupled classes belong in the same
component. - When two classes collaborate frequently, this is
an indication they should be in the same domain
business component to reduce the network traffic
between the two classes. - Minimize the size of the message flow between
components. - Merge a component into its only client. If you
have a domain component that is a server to only
one other domain component, you may decide to
combine the two components.  - Define component contracts.Â
- Each component will offer services to its
clients, each such service is a component
contract. -
160Guidelines to Componentization
Defining contacts
Highly coupled classes
Highly coupled classes belong in the same
component
Ref David Rosenblum, UCL
161UML Diagrams
Covered
Covered
Covered
Covered
Covered
Covered
We are here
Covered
Covered
162Deployment Diagram
- Models the run-time configuration in a static
view and visualizes the distribution of
components in an application - A component is deployed in which part of the
software system architecture - In most cases, it involves modeling the hardware
configurations together with the software
components that lived on
163Deployment Diagram
- Deployment diagram depicts a static view of the
run-time configuration of processing nodes and
the components that run on those nodes - Node server, client etc.
- Deployment diagrams show the hardware for your
system, the software that is installed on that
hardware, and the middleware used to connect the
disparate machines to one another! - Models the run-time configuration in a static
view and visualizes the distribution of
components in an application - Deployment DiagramsA deployment diagram models
the run-time architecture of a system. - It shows the configuration of the hardware
elements (nodes) and shows how software elements
and artifacts are mapped onto those nodes.
164Node
- A Node is either a hardware or software element.
It is shown as a three-dimensional box shape, as
shown below.
165Node Instance
- A node instance can be shown on a diagram.
- An instance can be distinguished from a node by
the fact that its name is underlined and has a
colon before its base node type. An instance may
or may not have a name before the colon. - The following diagram shows a named instance of a
computer
166Node Stereotypes
- A number of standard stereotypes are provided for
nodes, namely cdrom, cd-rom, computer,
disk array, pc, pc client, pc server,
secure, server, storage, unix server,
user pc. These will display an appropriate icon
in the top right corner of the node symbol
167Artifact
- An artifact is a product of the software
development process. That may include process
models (e.g. use case models, design models etc),
source files, executables, design documents, test
reports, prototypes, user manuals, etc. - An artifact is denoted by a rectangle showing the
artifact name, the artifact keyword and a
document icon, as shown below.
168Association
- In deployment diagram, an association represents
a communication path between nodes. The following
diagram shows a deployment diagram for a network,
depicting network protocols as stereotypes, and
multiplicities at the association ends.
169Node as container
- A node can contain other elements, such as
components or artifacts. The following diagram
shows a deployment diagram for part of an
embedded system, depicting an executable artifact
as being contained by the motherboard node.
170Example of three-tiers architectures
Many of real life web applications have three
tier architectures
171Deployment diagrams for three tiers
UML 1.4
Components deployed in an architecture
172Example Client server architectures
173Example Deployment diagram for a client server
architecture
UML 2.0
174UML End or the beginning?
Covered
Covered
Covered
Covered
Covered
Covered
Covered
175References to tools
- http//www.sparxsystems.com.au/resources/links.htm
l