Study Experiment OOAD Lab
Study Experiment OOAD Lab
no:
Date:
UML DIAGRAMS
There are three classifications of UML diagrams:
Behavior diagrams. A type of diagram that depicts behavioral features of a
system or business process. This includes activity, state machine, and use case
diagrams as well as the four interaction diagrams.
Interaction diagrams. A subset of behavior diagrams which emphasize object
interactions. This includes communication, interaction overview, sequence, and
timing diagrams.
Structure diagrams. A type of diagram that depicts the elements of a
specification that are irrespective of time. This includes class, composite
structure, component, deployment, object, and package diagrams.
Diagram
Activity Diagram
Class Diagram
Communication
Diagram
Component
Diagram
Composite
Structure Diagram
Deployment
Diagram
Interaction
Overview Diagram
Description
Learning
Priority
Depicts high-level business processes, including High
data flow, or to model the logic of complex logic
within a system.
Shows a collection of static model elements such as High
classes and types, their contents, and their
relationships.
Shows instances of classes, their interrelationships, Low
and
the
message
flow
between
them.
Communication diagrams typically focus on the
structural organization of objects that send and
receive messages. Formerly called a Collaboration
Diagram.
Depicts the components that compose and
application, system, or enterprise. The components,
their interrelationships, interactions, and their
public interfaces are depicted.
Depicts the internal structure of a classifier(such as
a class, component, or use case), including the
interaction points of the classifier to other parts of
the system.
Shows the execution architecture of systems. This
includes nodes, either hardware or software
execution environments, as well as the middleware
connecting them.
A variant of an activity diagram which overviews
the control flow within a system or business
process. Each node/activity within the diagram can
represent another interaction diagram.
Medium
Low
Medium
Low
Object Diagram
Package Diagram
Sequence Diagram
State Machine
Diagram
Timing Diagram
Anything within the box represents functionality that is in scope and anything
outside the box is not. System boundary boxes are rarely used, although on
occasion I have used them to identify which use cases will be delivered in each
major release of a system.
Packages (optional). Packages are UML constructs that enable you to organize
model elements (such as use cases) into groups. Packages are depicted as file
folders and can be used on any of the UML diagrams, including both use case
diagrams and class diagrams. I use packages only when my diagrams become
unwieldy, which generally implies they cannot be printed on a single page, to
organize a large diagram into smaller ones.
List Items
View Item
Edit Item
Actor
Create Item
Delete Item
RELATIONSHIPS IN USE CASE DIAGRAM:
Three relationships among use cases are supported by the UML standard, which
describes graphical notation for these relationships.
Include
In one form of interaction, a given use case may include another. The first use
case often depends on the outcome of the included use case. This is useful for extracting
truly common behaviors from multiple use cases into a single description. The notation is
a dashed arrow from the including to the included use case, with the label
<<include>>. This usage resembles a macro expansion where the included use case
behavior is placed inline in the base use case behavior. There are no parameters or return
values.
Extend
In another form of interaction, a given use case, (the extension) may extend
another. This relationship indicates that the behavior of the extension use case may be
inserted in the extended use case under some conditions. The notation is a dashed arrow
from the extension to the extended use case, with the label <<extend>>. This can be
useful for dealing with special cases, or in accommodating new requirements during
system maintenance and extension.
To make the points at which extension may occur explicit extension points may
be defined in use cases which are listed in a compartment below the use case name.
Generalization
In the third form of relationship among use cases, a generalization/ specialization
relationship exists. A given use case may be specialized form of an existing use case. The
notation is a solid line ending in a hollow triangle drawn from the specialized to the more
general use case. This resembles the object-oriented concept of sub-classing, in practice it
can be both useful and effective to factor common behaviors, constraints and assumptions
to the general use case, describe them once, and deal same as except details in the
specialized cases.
SEQUENCE DIAGRAM:
The well-known Message Sequence Chart technique has been incorporated into
the Unified Modeling Language (UML) diagram under the name of Sequence
Diagram. A sequence diagram shows, as parallel vertical lines, different processes or
objects that live simultaneously, and, as horizontal arrows, the messages exchanged
between them, in the order in which they occur. This allows the specification of simple
runtime scenarios in a graphical manner.
Sequence diagrams are typically used to model:
1. Usage scenarios. A usage scenario is a description of a potential way your system is
used. The logic of a usage scenario may be part of a use case, perhaps an alternate course.
It may also be one entire pass through use case, such as the logic described by the basic
course of action or a portion of the basic course of action, plus one or more alternate
scenarios. The logic of a usage scenario may also be a pass through the logic contained in
several use cases. For example, a student enrolls in the university, and then immediately
enrolls in three seminars.
2. The logic of methods. Sequence diagrams can be used to explore the logic of a
complex operation, function, or procedure. One way to think of sequence diagrams,
particularly highly detailed diagrams, is a visual object code.
3. The logic of services. A service is effectively a high-level method, often one that can
be invoked by a wide variety of clients. This includes web-services as well as business
transactions implemented by a variety of technologies such as CICS/COBOL or
CORBA-compliant object request brokers (ORBs).
Renee
Bob Waiter
Hank Cook
Fred Patron
Cashier
order food()
order food()
serve wine()
Pickup()
serve food()
Pay()
ACTIVITY DIAGRAM:
In the Unified Modeling Language, an activity diagram represents the business
and operational step-by-step workflows of components in a system. An activity diagram
shows the overall flow of control.
Verify
reservation
[incorrect]
[correct]
Send to airport
travel agency
Get
preferences
[no baggage]
[baggage]
Receive baggage
and print receipt
Print
boarding Card
CLASS DIAGRAM:
In the Unified Modeling Language (UML), a class diagram is a type of static
structure diagram that describes the structure of a system by showing the systems
classes, their attributes, and the relationships between the classes.
Relationships
A relationship is general term covering the specific types of logical connections found
on class and object diagrams. UML shows the following relationships:
Instance-Level Relationships
o Link
A Link is the basic relationship among objects. It is represented as a line
connecting two or more object boxes. It can be shown on an object diagram or class
diagram. A link is an instance or an association.
o Association
An Association represents a family of links. Binary associations (with two
ends) are normally represented as a line, with each end connected to a class box. Higher
order associations can be drawn with more than two ends. In such cases, the ends are
connected to a central diamond.
An association can be named, and the ends of an association can be
adorned with role names, ownership indicators, multiplicity, visibility, and other
properties. There are five different types of association. Bi-directional and uni-directional
associations are the most common ones. For instance, a flight class is associated with a
plane class bi-directionally. Associations can only be shown on class diagrams.
o Aggregation
Class diagram showing Aggregation between two classes
Aggregation is a variant of the has a or association relationship;
composition is more specific than aggregation. As a type of association, an aggregation
can be named and have the same adornments that an association can. However, an
aggregation may not involve more than two classes.
Aggregation can occur when a class is a collection or container of other
classes, but where the contained classes do not have a strong life cycle dependency on the
containeressentially, if the container is destroyed, its contents are not.
In UML, it is graphically represented as a clear diamond shape on the
containing class end of the tree of lines that connect contained class(es) to the containing
class.
o
Composition
Generalization
Class diagram showing generalization between one super class and two subclasses
The generalization relationship indicates that one of the two related classes (the
subtype) is considered to be a specialized form of the other (the supertype) and supertype
is considered as GENERALIZATION of subtype. In practice, this means that any
instance of the subtype is also an instance of the supertype. The relationship is most
easily understood by the phrase A is a B.
The UML graphical representation of a Generalization is a hollow triangle shape
on the supertype end of the line (or tree of lines) that connects it to one or more subtypes.
The generalized relationship is also known as the inheritance or is a relationship.
The supertype in the generalization relationship is also known as the
parent,
super class, base class, or base type.
The subtype in the generalization relationship is also known as the child,
subclass, derived class, derived type, inheriting class, or inheriting type.
Generalization-Specialization relationship
A is a type of B
E.g.an oak is a type of tree, a sedan is a type of vehicle
o Realization
In UML modeling, a realization relationship is relationship between model
elements, in which one model element (the client) realizes the behavior that the other
model element (the supplier) specifies. A realization is displayed in the diagram editor as
a dashed line with an unfilled arrowhead towards the supplier.
General Relationship
o Dependency(UML)
A dependency exists between two defined elements if a change to the
definition of one would result in a change to the other. This is indicated by a dashed
pointing from the dependent to the independent element. Several named varieties exist. A
dependency can be between instances, class, or both.
Multiplicity
The association relationship indicates that (at least) one of the two related classes
makes reference to the other. In contrast with the generalization relationship, this is most
easily understood through the phrase A has a B{a mother cat has kittens, kittens have a
mother cat}.
The UML representation of an association is a line with an optional arrowhead
indicating the role of the object(s) in the relationship, and an optional notation at each end
indicating the multiplicity of instances of that entity ( the number of objects that
participate in the association). Common multiplicities are:
Indicator
0..1
1
0..* or *
1..*
n
0..n
1..n
Meaning
No instances, or one instance(optional, may)
Exactly one instance
Zero or more instances
One or more instances(at least one)
Exactly n instances(n>1)
Zero or n instances(n>1)
One or n instances(n>1)
<<Class Module>>
main window
+1
+1
+1
<<Class Module>>
login window
+1
<<Class Module>>
welcome window
<<Class Module>>
login control
<<Class Module>>
error message
COMPONENT DIAGRAM:
In the Unified Modeling Language, a component diagram depicts how a
software system is split up into physical components and shows the dependencies among
these components. Physical components could be, for example, files, header, link
libraries, modules, executables, or packages. Component diagrams can be used to model
and document any systems architecture.
Component diagrams are particularly useful with larger teams. Your initial
architectural modeling efforts during cycle 0 should focus on identifying the initial
architectural landscape for your system. UML component diagrams are great for doing
this as they enable you to model the high-level software components, and more
importantly the interfaces to those components. Once the interfaces are defined, and
agreed to by your team, it makes it much easier to organize the development effort
between sub teams. You will discover the need to evolve the interfaces to reflect new
requirements or changes to your design as your project progresses, changes that need to
be negotiated between the sub teams and then implemented appropriately.
<<ActiveX DLL>>
view courses
details
<<ActiveX DLL>>
login
<<ActiveX DLL>>
security
<<ActiveX DLL>>
registration
<<ActiveX DLL>>
validation
includes an outline of its attributes and operations. This directly corresponds to a class
created in your chosen implementation language. From the logical view, skeletal code
can be generated for implementation into a computer language. More recent versions of
Rational Rose not only can generate skeletal code for Visual C++, Visual Java, or Visual
BASIC, but also reverse engineer programs created in these languages into Rational Rose
models. This allows existing components to be included in documented models, if there
is access to the source code. In addition, changes that need to be made during
implementation can be reflected in the documentation of the design model.
Component View
The component view is a step up from the logical view and contains diagrams
used in system design(component diagrams). This includes information about the code
libraries, executable programs, runtime libraries, and other software components that
comprise the completed systems. Components can be pre-existing; for example, a
Windows program in Visual C++ will utilize Microsoft Foundation Class to provide the
framework for the Windows interface. Components that do not exist and need to be
created by the developers will have to be designed in the logical view.
Deployment View
The deployment view illustrates how the completed system will be physically
deployed. This view is necessary for complex applications in which a system will have
different components located on different machines. For example, interface components
may be located on a user machine while other components may be located on a network
server.
Result: Thus the UML diagrams and introduction to Visual Basic was studied.