SlideShare a Scribd company logo
1 of 108
Introduction to UML
ī‚´ Principles of Modeling:-
1. The choice of what models to create has a profound influence on how a
problem is attacked and how a solution is shaped.
2. Every model may be expressed at different levels of precision.
3. The best models are connected to reality.
4. No single model is sufficient. Every nontrivial system is best approached
through a small set of nearly independent models.
Overview of the UML
ī‚´ The Unified Modeling Language (UML) is a standard
language for writing software blueprints.
ī‚´ The UML may be used to visualize, specify, construct, and
document the artifacts of a software intensive system.
ī‚´ The UML Is a Language:-
ī‚´ A modeling language is a language whose vocabulary and rules focus on
the conceptual and physical representation of a system.
ī‚´ The UML Is a Language for Visualizing:
ī‚´ For many programmers, the distance between thinking of an
implementation and then pounding it out in code is close to zero.
ī‚´ The UML Is a Language for Specifying:
ī‚´ UML addresses the specification of all the important analysis, design, and
implementation decisions that must be made in developing and deploying a
software-intensive system.
ī‚´ The UML Is a Language for Constructing:-
ī‚´ The UML is not a visual programming language, but its models can be
directly connected to a variety of programming languages.
ī‚´ This means that it is possible to map from a model in the UML to a
programming language such as Java, C++, or Visual Basic.
ī‚´ The UML Is a Language for Documenting:-
ī‚´ A healthy software organization produces all sorts of artifacts in addition to
raw executable code.
ī‚´ These artifacts include
ī‚´Project plans
ī‚´Requirements
ī‚´Prototypes
ī‚´Architecture
ī‚´Design
ī‚´Source code
ī‚´Tests
ī‚´Releases
ī‚´ Where Can the UML Be Used?
ī‚´ The UML is intended primarily for software-intensive systems. It has been
used effectively for such domains as
ī‚´ Enterprise information systems
ī‚´ Banking and financial services
ī‚´ Telecommunications
ī‚´ Transportation
ī‚´ Defense/aerospace
ī‚´ Retail
ī‚´ Medical
ī‚´ Electronics
ī‚´ Scientific
ī‚´ Distributed Web-based services
Object-Oriented Modeling
ī‚´ In software, there are several ways to approach a model.
The two most common ways are from an algorithmic
perspective and from an object-oriented perspective.
ī‚´ From an algorithmic perspective, the main building block of
all software is the procedure or function.
ī‚´ From an object-oriented perspective, the main building
block of all software systems is the object or class.
ī‚´ Every object has identity, state and behavior.
A Conceptual Model of the
UML
ī‚´ Conceptual model requires learning three major elements:
1. The UML's basic building blocks.
2. The rules of the UML.
3. Common mechanisms of the UML.
ī‚´ Building Blocks of the UML:-
ī‚´ The vocabulary of the UML encompasses three kinds of building blocks:
1. Things
2. Relationships
3. Diagrams
1. Things in the UML
ī‚´ Things are the abstractions that are first-class citizens in a model.
ī‚´ There are four kinds of things in the UML:
1. Structural things.
2. Behavioral things.
3. Grouping things.
4. Annotational things.
ī‚´ Structural Things
ī‚´ These are the mostly static parts of a model, representing elements that are
either conceptual or physical.
ī‚´ Are several kinds of structural things:
ī‚´ A class is a description of a set of objects.
ī‚´ Class is rendered as a rectangle, usually including its name, attributes, and
operations.
ī‚´ An interface is a collection of operations that specify a service of a class or
component.
ī‚´ An interface rarely stand alone.
ī‚´ An interface provided by a class to the outside world is shown as a small
circle attached to the class box by a line.
ī‚´ An interface required by a class from some other class is shown as a small
semicircle attached to the class box by a line.
ī‚´ A collaboration defines an interaction.
ī‚´ A collaboration is rendered as an ellipse with dashed lines, usually
including only its name.
ī‚´ A use case is a description of set of sequence of actions that a system
performs that yields an observable result of value to a particular actor.
ī‚´ A use case is rendered as an ellipse with solid lines, usually including only
its name
ī‚´ An active class is a class whose objects own one or more processes or
threads and therefore can initiate control activity.
ī‚´ An active class is rendered just like a class, but with heavy lines, usually
including its name, attributes, and operations.
ī‚´ A component is a modular part of the system design that hides its
implementation behind a set of external interfaces.
ī‚´ A component is rendered like a class with a special icon in the upper right
corner.
ī‚´ Node is used to represent physical part of a system like server, network
etc..
ī‚´ A node is rendered as a cube, usually including only its name.
ī‚´ Behavioral Things:-
ī‚´ Behavioral things are the dynamic parts of UML models.
ī‚´ An interaction is a behavior that comprises a set of messages exchanged
among a set of objects.
ī‚´ A message is rendered as a directed line, almost always including the
name of its operation.
ī‚´ A state machine is a behavior that specifies the sequences of states an
object.
ī‚´ A state is rendered as a rounded rectangle, usually including its name and
its substates.
ī‚´ An activity is a behavior that specifies the sequence of steps a
computational process performs.
ī‚´ A step of an activity is called an action.
ī‚´ An action is rendered as a rounded rectangle with a name indicating its
purpose.
ī‚´ States & actions are distinguished by their different contexts.
process order
ī‚´ Grouping Things
ī‚´ Grouping things are the organizational parts of UML models.
ī‚´ A package is a general-purpose mechanism for organizing elements into
groups.
ī‚´ Structural things, behavioral things, and even other grouping things may be
placed in a package.
ī‚´ Packages is purely conceptual.
ī‚´ A package is rendered as a tabbed folder, usually including only its name
and, sometimes, its contents
ī‚´ Annotational Things
ī‚´ Annotational things are the explanatory parts of UML models.
ī‚´ A note is simply a symbol for rendering constraints and comments attached
to an element or a collection of elements.
ī‚´ A note is rendered as a rectangle with a dog-eared corner, together with a
textual or graphical comment.
2. Relationships in the UML
ī‚´ There are four kinds of relationships in the UML:
1. Dependency
2. Association
3. Generalization
4. Realization
ī‚´ A dependency is a semantic relationship between two things in which a
change to one thing may affect the semantics of the other thing.
ī‚´ A dependency is rendered as a dashed line, possibly directed, and
occasionally including a label.
ī‚´ An association is a structural relationship that describes a set of links, a
link being a connection among objects.
ī‚´ An association is rendered as a solid line, possibly directed, occasionally
including a label.
ī‚´ A generalization is a specialization/generalization relationship in which
objects of the specialized element (the child) are substitutable for objects of
the generalized element.
ī‚´ A generalization relationship is rendered as a solid line with a hollow
arrowhead pointing to the parent.
ī‚´ A realization relationship is a relationship between two model elements, in
which one model element (the client) realizes the behavior that the other
model element (the supplier) specifies.
ī‚´ Realization relationship is rendered as a cross between a generalization
and a dependency relationship.
ī‚´ Diagrams in the UML:-
ī‚´ A diagram is the graphical presentation of a set of elements, most often
presented as a connected graph of things and relationships.
ī‚´ UML includes few kinds of diagrams.
1. Class diagram consists of classes, interfaces, associations and
collaboration.
ī‚´ Class diagrams basically represent the object oriented view of a system which
is static in nature.
2. Object diagrams are a set of objects and their relationships.
ī‚´ Object diagram represent the static view of the system.
3. Component diagrams represent a set of components and their
relationships. These components consist of classes, interfaces or
collaborations.
ī‚´ Component diagrams represent the implementation view of a system.
4. A use case diagram represents a particular functionality of a system.
ī‚´ Represent the use case view of a system.
5. A sequence diagram is an interaction diagram.
ī‚´ Interaction among the components of a system is very important from
implementation and execution perspective.
ī‚´ Represent the dynamic view of interaction.
6. Communication diagram is an interaction diagram that highlight the
structural organization of the objects that send and receive messages.
7. A state diagram shows a state machine, consisting of states, transitions,
events, and activities.
ī‚´ State diagrams address the dynamic view of a system.
8. Activity diagram describes the flow of control in a system.
ī‚´ Activity diagrams address the dynamic view of a system
9. Deployment diagrams are a set of nodes and their relationships.
ī‚´ These nodes are physical entities where the components are deployed.
10. Artifact diagram shows the physical element of a system on the computer.
ī‚´ Artifacts include files, database etc.
11. Package diagram shows the decomposition of the model itself into
organization units & their dependencies.
12. Timing diagram is an interaction diagram that shows actual times across
different objects, relative sequences of messages.
13. Interaction overview diagram is hybrid of activity & sequence diagram.
ī‚´ Rules of the UML:-
ī‚´ A well-formed model is one that is semantically
self-consistent and in synchronization with all its related models.
ī‚´ The UML has semantic rules for
ī‚´ Names:- What you can call things, relationships, and diagrams.
ī‚´ Scope:- The context that gives specific meaning to a name
ī‚´ Visibility:- How those names can be seen and used by others
ī‚´ Integrity:- How things properly and consistently relate to one another
ī‚´ Execution:- What it means to run or simulate a dynamic model
ī‚´ It is common for the development team to not only build models that are
well-formed, but also to build models that are:
ī‚´ Elided:- Certain elements are hidden to simplify the view
ī‚´ Incomplete:- Certain elements may be missing
ī‚´ Inconsistent:- The integrity of the model is not guaranteed
ī‚´ Common Mechanisms in the UML:-
ī‚´ UML is made simpler by the presence of four common mechanisms that
apply consistently throughout the language.
1. Specifications
2. Adornments
3. Common divisions
4. Extensibility mechanisms
ī‚´ Specifications
ī‚´ Specifying something in a bit more detail so that the role and meaning of
the term being specified is presented to us in a more clear.
ī‚´ Adornments
ī‚´ Adornments are textual or graphical items, which can be added to the basic
notation of a UML building block in order to visualize some details from that
element’s specification.
ī‚´ One of the most important kinds of adornments is a note
ī‚´ Common Divisions
ī‚´ In modeling Object Oriented systems, the world often gets divided in several
ways.
ī‚´ First, there is the division of class and object.
A class is an abstraction; an object is one concrete manifestation of that
abstraction.
ī‚´ Graphically, the UML distinguish an object by using the same symbol as its
class and then simply underlying the objects name.
ī‚´ Second, there is the separation of interface and implementation.
ī‚´ An interface declares a contract.
ī‚´ An implementation represents one concrete realization of that contract,
responsible for faithfully carrying out the interface's complete semantics.
ī‚´ Extensibility Mechanisms: – UML is opened ended language, making it
possible for You to extend the language in controlled ways:
ī‚´
There are three:-
Stereotype:- Stereotypes allow you to extend the vocabulary of the UML
so that you can create new model elements, derived from existing ones, but
that have specific properties that are suitable for your problem domain.
ī‚´
Tagged value:- A tagged value extends the properties of UML building
blocks ,allowing user to create new information in that elementary
specification.
ī‚´
Constraint: – This allows user to add new rules or modify existing ones.
ī‚´ Architecture of modeling system’s
ī‚´ A system's architecture is perhaps the most important artifact that can be
used to manage these different viewpoints and so control the iterative and
incremental development of a system throughout its life cycle.
ī‚´ Architecture is the set of significant decisions about
ī‚´ The organization of a software system.
ī‚´ The selection of the structural elements and their interfaces by which the
system is composed.
ī‚´ Their behavior, as specified in the collaborations among those elements.
ī‚´ The composition of these structural and behavioral elements into progressively
larger subsystems.
ī‚´ The architectural style that guides this organization
ī‚´ The use case view of a system encompasses the use cases that describe
the behavior of the system as seen by its end users, analysts, and testers.
ī‚´ The design view of a system encompasses the classes, interfaces, and
collaborations that form the vocabulary of the problem and its solution.
ī‚´ The interaction view of a system shows the flow of control among its
various parts, including possible concurrency & synchronization
mechanisms.
ī‚´ The implementation view of a system encompasses the components and
files that are used to assemble and release the physical system.
ī‚´ The deployment view of a system encompasses the nodes that form the
system's hardware topology on which the system executes
Objects
ī‚´ The nature of an object:-
ī‚´ We define an object as a tangible entity that exhibits some well-defined
behavior.
ī‚´ An object has state, exhibits come well-defined behavior, & has a unique
identity.
ī‚´ An object is any of the following:-
ī‚´A tangible &/or visible thing.
ī‚´Something that may be apprehended intellectually.
ī‚´Something towards which thought or action is
directed.
ī‚´ Real-world objects share two characteristics: They all have state and
behavior.
ī‚´ State : Every object, at any given point of time would have to have a set of
attributes defining its State.
ī‚´ Behavior : Every object based on its state and optionally identity will have
particular behavior.
ī‚´ Eg:-Dogs have state (name, color, breed, hungry) and behavior (barking,
fetching, wagging tail).
ī‚´ Bicycles also have state (current gear, current pedal cadence, current
speed) and behavior (changing gear, changing pedal cadence, applying
brakes)
ī‚´ THE PROPERTY (OBJECT ATTRIBUTE)
ī‚´ Properties are variables contained in the class; every instance of the object
has those properties.
ī‚´ The methods:-
ī‚´ Methods follow the same logic as properties.
ī‚´ The difference is that they are functions and they are defined as functions.
ī‚´ Calling a method is similar to accessing a property, but you add () at the
end of the method name, possibly with arguments.
ī‚´ The messages :-
ī‚´ An object-oriented program is a growing and shrinking collection of objects
that interact via messages.
ī‚´ Objects can send and receive messages.
ī‚´ Over its lifetime, the object has a state that varies.
ī‚´ A message is called a request or an event.
ī‚´ The event contains the name of the object, the name of the operation, and
maybe a group of parameters.
ī‚´ Object – Oriented Systems Development Life Cycle:-
ī‚´ The essence of the software Development Process that consists of
ī‚´ Analysis ,
ī‚´ Design ,
ī‚´ Implementation ,
ī‚´ Testing , and
ī‚´ Refinement
ī‚´ To transform users’ needs into a software solution that satisfy the needs.
ī‚´ The object oriented approach requires a more rigorous process to do things
right more rigorous process to do things right.
ī‚´ You need not see code until after about 25 percent of the development time,
because you need to spend more time in gathering requirements,
developing a requirement model and an analysis model, then turning them
into the design model.
ī‚´ The software development process also can be divided into smaller,
interacting subprocesses.
ī‚´ Generally, the software development process can be viewed as a series of
transformations, where the output of one transformation becomes the input
of the subsequent transformation.
ī‚´ Transformation1(Analysis):
ī‚´ Translates the user’s needs into system requirements and responsibilities.
ī‚´ The way they use the system can provide insight into the user’s
requirements.
ī‚´ For example: one use of system might be analyzing an incentive payroll
system, which will tell us that this capacity will be included in the system
requirements.
ī‚´ Transformation 2 (design):
ī‚´ Begins with a problem statement and ends with a detailed design that can
be transformed into a operational system.
ī‚´ This transformation includes the bulk of the software development activity,
including the definition of how to build the software, its development, and its
testing.
ī‚´ It also includes design descriptions, the programs and the testing material.
ī‚´ Transformation 3(Implementation)
ī‚´ Refines the detailed design into the system deployment that will satisfy the
user’s needs.
ī‚´ This takes into account equipment, procedures, people, and the like.
ī‚´ It represents embedding the software product within its operational
environment.
ī‚´ ADVANTAGES OF OBJECT ORIENTED METHODOLOGY
ī‚´ Object Oriented Methodology closely represents the problem domain.
Because of this, it is easier to produce and understand designs.
ī‚´ The objects in the system are safe to requirement changes. Therefore,
allows changes more easily.
ī‚´ Object Oriented Methodology designs encourage more re-use. New
applications can use the existing modules, thereby reduces the
development cost and cycle time.
ī‚´ Object Oriented Methodology approach is more natural. It provides nice
structures for thinking and abstracting and leads to modular design.
ī‚´ The object-modeling technique (OMT) is an object modeling language for
software modeling and designing.
ī‚´ It was developed by Rumbaugh, Blaha, Premerlani, Eddy and Lorensen as
a method to develop object-oriented systems, and to support object-
oriented programming.
ī‚´ THE RAMBAUGH OMT
ī‚´ The purposes of modeling according to Raumbaugh (1991) are:
ī‚´ Testing physical entities before building them (simulation)
ī‚´ Communication with customers
ī‚´ Visualization (alternative presentation of information)
ī‚´ Reduction of complexity.
ī‚´ The Rambaugh OMT has proposed three main types of models:
ī‚´ Object model : Main concepts are classes and associations, with attributes
and operations. Aggregation and generalization are predefined
relationships.
ī‚´ Dynamic model : The dynamic model represents a state/transition view on
the model. Main concepts are states, transitions between states, and events
to trigger transitions. Actions can be modeled as occurring within states.
ī‚´ Functional model : The functional model handles the process of the model,
corresponding roughly to data flow diagrams. Main concepts are process,
data store, data flow, and actors.
ī‚´ OMT is a predecessor of the Unified Modeling Language (UML).
ī‚´ THE BOOCH OMT
ī‚´ The analysis phase is split into steps.
ī‚´ Customer's Requirements Step:
ī‚´ The first step is to gather the requirements from the customer
perspective. This analysis step generates a high-level description of the
system's function and structure.
ī‚´ Domain analysis:
ī‚´ The domain analysis is done by defining object classes; their attributes,
inheritance, and methods. State diagrams for the objects are then
established.
ī‚´ The analysis phase is completed with a validation step.
ī‚´ Once the analysis phase is completed, the Booch methodology develops
the architecture in the design phase.
ī‚´ The design phase is iterative.
ī‚´ A logic design is mapped to a physical design like processes, performance,
data types, data structures, visibility are defined.
ī‚´ A prototype is created and tested.
ī‚´ The process iterates between the logical design, physical design,
prototypes, and testing.
ī‚´ The Booch software engineering methodology is sequential in the sense
that the analysis phase is completed and then the design phase is
completed.
ī‚´ JACOBSON OOSE
ī‚´ Object-Oriented Software Engineering (OOSE) is a software design
technique that is used in software design in object-oriented programming.
ī‚´ OOSE is the first object-oriented design methodology that employs use
cases in software design.
ī‚´ It includes requirements, an analysis, a design, an implementation and a
testing model.
ī‚´ OBJECT-ORIENTED SOFTWARE ENGINEERING LIFE CYCLE
ī‚´ Requirements Engineering:
ī‚´ Requirements gathering,
ī‚´ Object oriented analysis and
ī‚´ Specification
ī‚´ OO Design:
ī‚´ Architectural design
ī‚´ Detailed design
ī‚´ Both require the transformation of functional requirements into OO design
elements
ī‚´ Implementation or Coding:
ī‚´ Programming using OO programming languages and tools.
ī‚´ Testing:
ī‚´ Unit testing; test methods within each object
ī‚´ Integration testing; test collaborations between objects
ī‚´ System testing; test the entire system as a collection of objects
ī‚´ Acceptance testing; test for standards and customer satisfaction
ī‚´ UNIFIED PROCESS MODEL
ī‚´ Iterative and Incremental:
ī‚´ The Unified Process is an iterative and incremental development process.
ī‚´ The Elaboration, Construction and Transition phases are divided into a series of
timeboxed iterations.
ī‚´ Each iteration results in an increment, which results in improved functionality .
ī‚´ Use Case Driven:
ī‚´ In the Unified Process, use cases are used to capture the functional
requirements and to define the contents of the iterations.
ī‚´ Risk Focused
ī‚´ The Unified Process requires the project team to focus on the most critical risks
early in the project life cycle.
ī‚´ The deliverables of each iteration, especially in the Elaboration phase, must be
selected in order to ensure that the greatest risks are addressed first.
ī‚´ VIEWS IN UML
1. Functional View:
ī‚´ This view describes functional requirements of the
system.
ī‚´ Use case diagrams give static functional view for
functions and static relationships.
ī‚´ Activity diagrams give dynamic functional view.
2. Static Structural View:
ī‚´ The class and object diagrams give the structural view of system.
3. Behavioral (dynamic structural) view:
ī‚´ Interaction diagrams- collaboration diagrams and sequence diagrams
describe sequences of interactions between objects.
ī‚´ State transition diagrams show state-based behavior of objects.
4. Architectural View:
ī‚´ This view describes logical and physical structure.
ī‚´ Component diagrams and deployment diagrams are used in this view
Use Case Diagrams
ī‚´ Use case diagrams are central to modeling the behavior of
a system, a subsystem, or a class.
ī‚´ Each one shows a set of use cases and actors and their
relationships.
ī‚´ Use case diagrams are important for visualizing, specifying,
and documenting the behavior of an element.
ī‚´ A use case is a description of a set of sequences of actions, including
variants, that a system performs to yield an observable result of value to an
actor.
ī‚´ Graphically, a use case is rendered as an ellipse.
ī‚´ We apply use cases to capture the intended behavior of the system you are
developing, without having to specify how that behavior is implemented.
ī‚´ Use case diagrams commonly contain
ī‚´ Use cases
ī‚´ Subject
ī‚´ Actors
ī‚´ Dependency, generalization, and association relationships
ī‚´ Like all other diagrams, use case diagrams may contain notes and
constraints.
ī‚´ Subject:-
ī‚´ The subject is a class described by a set of use cases.
ī‚´ The use cases represent aspects of the behavior of the class.
ī‚´ The actor represent aspects of the other classes that interact with the
subject.
ī‚´ Names
ī‚´ Use Cases and Actors
ī‚´ An actor represents a role that a human, a hardware device, or even
another system plays with a system.
ī‚´ Represents an individual interacting with the system in a specific way.
ī‚´ Use Cases and Flow of Events
ī‚´ A use case describes what a system does but it does not specify how it
does it.
ī‚´ Flow of event shows the behavior of the use case.
ī‚´ Flow of events are 2 types:
ī‚´ Main flow of events
ī‚´ Exceptional flow of events.
ī‚´ Use Cases and Scenarios
ī‚´ A scenario is a specific sequence of actions that illustrates behavior.
ī‚´ Scenario is basically one instance of a use case.
ī‚´ Use Cases and Collaborations
ī‚´ Organizing Use Cases
ī‚´ You can organize use cases by grouping them in packages.
ī‚´ You can also organize use cases by specifying generalization, include, and
extend relationships among them.
ī‚´ Generalization among use cases is just like generalization among classes.
ī‚´ An include relationship between use cases means that the base use case
explicitly incorporates the behavior of another use case at a location
specified in the base.
ī‚´ An extend relationship between use cases means that the base use case
implicitly incorporates the behavior of another use case at a location
specified indirectly by the extending use case.
ī‚´ Notation
ī‚´ The subject is shown as a rectangle containing a set of use case.
ī‚´ The name of subject is placed within a rectangle.
ī‚´ The actor are shown as stick figures placed outside the rectangle.
ī‚´ Use-case diagrams are helpful in the following
situations:
ī‚´ Before starting a project, you can create use-case diagrams to model a
business so that all participants in the project share an understanding
of the workers, customers, and activities of the business.
ī‚´ While gathering requirements, you can create use-case diagrams to
capture the system requirements and to present to others what the
system should do.
ī‚´ During the analysis and design phases, you can use the use cases and
actors from your use-case diagrams to identify the classes that the
system requires.
ī‚´ During the testing phase, you can use use-case diagrams to identify
tests for the system.
Activity Diagram
ī‚´ Activity is an ongoing structured execution of a behavior.
ī‚´ Activity is a behavior expressed as a set of actions connected by control &
data flows.
ī‚´ An activity diagram shows the flow from activity to activity.
ī‚´ Graphically, an activity diagram is a collection of nodes and arcs.
ī‚´ Activity diagrams commonly contain
ī‚´ Actions
ī‚´ Activity nodes
ī‚´ Flows
ī‚´ Object values.
ī‚´ Like all other diagrams, activity diagrams may contain notes and
constraints.
ī‚´ Actions & activity nodes
ī‚´ You might evaluate some expression that sets the value of an attribute or
that returns some value.
ī‚´ You might call an operation on an object, send a signal to an object, or
even create or destroy an object.
ī‚´ These executable, atomic computations are called action.
ī‚´ Representation of action using a rounded box.
ī‚´ An activity node is an organizational units within an activity.
ī‚´ Activity nodes are nested grouping of actions.
ī‚´ An action is an activity node that cannot be further decomposed.
ī‚´ Control Flows
ī‚´ When the action or activity of a state completes, flow of control passes
immediately to the next action or activity state.
ī‚´ Indeed, a flow of control has to start and end someplace.
ī‚´ You may specify this initial state (a solid ball) and stop state (a solid ball
inside a circle).
ī‚´ Branching
ī‚´ A branch may have one incoming transition and two or more outgoing ones.
ī‚´ On each outgoing transition, you place a Boolean expression, which is
evaluated only once on entering the branch.
ī‚´ Guards on the outgoing flow should not overlap but they should cover all
possibilities.
ī‚´ When two paths of control merge back together, you can also use a
diamond symbol with 2 input arrows & 1 output arrow. No guard are
necessary on merge.
ī‚´ Forking and Joining
ī‚´ You use a synchronization bar to specify the forking and joining of these
parallel flows of control.
ī‚´ A synchronization bar is rendered as a thick horizontal or vertical line.
ī‚´ Swimlanes
ī‚´ When you are modeling workflows of business processes, to partition the
activity states on an activity diagram into groups.
ī‚´ Each group representing the business organization responsible for those
activities.
ī‚´ In the UML, each group is called a swimlane because, visually, each group
is divided from its neighbor by a vertical solid line
ī‚´ Object Flow
ī‚´ An object flow is a path along which objects or data can pass. An object is
shown as a rectangle.
ī‚´ With object we can include the state of the object.
ī‚´ Expansion Region
ī‚´ An expansion region is a structured activity region that executes multiple
times.
ī‚´ Input and output expansion nodes are drawn as a group of three boxes
representing a multiple selection of items.
Introduction to UML Modeling Language

More Related Content

What's hot

Uml(unified modeling language) Homework Help
Uml(unified modeling language) Homework HelpUml(unified modeling language) Homework Help
Uml(unified modeling language) Homework HelpSteve Nash
 
Unified Modeling Language (UML)
Unified Modeling Language (UML)Unified Modeling Language (UML)
Unified Modeling Language (UML)ppd1961
 
UML and Software Modeling Tools.pptx
UML and Software Modeling Tools.pptxUML and Software Modeling Tools.pptx
UML and Software Modeling Tools.pptxNwabueze Obioma
 
UML Diagram Assignment Help, UML Diagram Homework Help
UML Diagram Assignment Help, UML Diagram Homework HelpUML Diagram Assignment Help, UML Diagram Homework Help
UML Diagram Assignment Help, UML Diagram Homework HelpJacob William
 
Presentation on uml
Presentation on umlPresentation on uml
Presentation on umlShruti Dalela
 
Introduction to the Unified Modeling Language (UML)
Introduction to the Unified Modeling Language (UML)Introduction to the Unified Modeling Language (UML)
Introduction to the Unified Modeling Language (UML)Marwa Ali Eissa
 
Uml Tutorial
Uml TutorialUml Tutorial
Uml TutorialAkramWaseem
 
Uml Presentation
Uml PresentationUml Presentation
Uml Presentationmewaseem
 
Uml Omg Fundamental Certification 1
Uml Omg Fundamental Certification 1Uml Omg Fundamental Certification 1
Uml Omg Fundamental Certification 1Ricardo Quintero
 
Uml Presentation
Uml PresentationUml Presentation
Uml Presentationanasz3z3
 
Design UML diagrams
Design UML diagramsDesign UML diagrams
Design UML diagramsNeeraj Kaushik
 
Understanding unified modelling language
Understanding unified modelling languageUnderstanding unified modelling language
Understanding unified modelling languageEmmanuel Kumah
 
Unified modeling language diagrams
Unified modeling language diagramsUnified modeling language diagrams
Unified modeling language diagramsAlaa Ahmed
 
Lect-4: UML diagrams - Unified Modeling Language - SPM
Lect-4: UML diagrams - Unified Modeling Language - SPMLect-4: UML diagrams - Unified Modeling Language - SPM
Lect-4: UML diagrams - Unified Modeling Language - SPMMubashir Ali
 
Uml structural diagrams
Uml structural diagramsUml structural diagrams
Uml structural diagramsSwathy T
 
Uml Omg Fundamental Certification 2
Uml Omg Fundamental Certification 2Uml Omg Fundamental Certification 2
Uml Omg Fundamental Certification 2Ricardo Quintero
 

What's hot (20)

Uml(unified modeling language) Homework Help
Uml(unified modeling language) Homework HelpUml(unified modeling language) Homework Help
Uml(unified modeling language) Homework Help
 
UML
UMLUML
UML
 
Unified Modeling Language (UML)
Unified Modeling Language (UML)Unified Modeling Language (UML)
Unified Modeling Language (UML)
 
UML and Software Modeling Tools.pptx
UML and Software Modeling Tools.pptxUML and Software Modeling Tools.pptx
UML and Software Modeling Tools.pptx
 
UML Diagram Assignment Help, UML Diagram Homework Help
UML Diagram Assignment Help, UML Diagram Homework HelpUML Diagram Assignment Help, UML Diagram Homework Help
UML Diagram Assignment Help, UML Diagram Homework Help
 
Uml
UmlUml
Uml
 
Presentation on uml
Presentation on umlPresentation on uml
Presentation on uml
 
UML
UMLUML
UML
 
Introduction to the Unified Modeling Language (UML)
Introduction to the Unified Modeling Language (UML)Introduction to the Unified Modeling Language (UML)
Introduction to the Unified Modeling Language (UML)
 
Uml Tutorial
Uml TutorialUml Tutorial
Uml Tutorial
 
Uml Presentation
Uml PresentationUml Presentation
Uml Presentation
 
Uml Omg Fundamental Certification 1
Uml Omg Fundamental Certification 1Uml Omg Fundamental Certification 1
Uml Omg Fundamental Certification 1
 
Uml Presentation
Uml PresentationUml Presentation
Uml Presentation
 
Design UML diagrams
Design UML diagramsDesign UML diagrams
Design UML diagrams
 
Understanding unified modelling language
Understanding unified modelling languageUnderstanding unified modelling language
Understanding unified modelling language
 
Unified modeling language diagrams
Unified modeling language diagramsUnified modeling language diagrams
Unified modeling language diagrams
 
Lect-4: UML diagrams - Unified Modeling Language - SPM
Lect-4: UML diagrams - Unified Modeling Language - SPMLect-4: UML diagrams - Unified Modeling Language - SPM
Lect-4: UML diagrams - Unified Modeling Language - SPM
 
Uml structural diagrams
Uml structural diagramsUml structural diagrams
Uml structural diagrams
 
Uml Omg Fundamental Certification 2
Uml Omg Fundamental Certification 2Uml Omg Fundamental Certification 2
Uml Omg Fundamental Certification 2
 
UML Modeling in Java
UML Modeling in JavaUML Modeling in Java
UML Modeling in Java
 

Similar to Introduction to UML Modeling Language

UML-Advanced Software Engineering
UML-Advanced Software EngineeringUML-Advanced Software Engineering
UML-Advanced Software EngineeringAmit Singh
 
Lecture#02, building blocks of uml ASE
Lecture#02, building blocks of uml ASELecture#02, building blocks of uml ASE
Lecture#02, building blocks of uml ASEbabak danyal
 
UNIT-3 Design Using UML (1).pptx
UNIT-3 Design Using UML (1).pptxUNIT-3 Design Using UML (1).pptx
UNIT-3 Design Using UML (1).pptxviju001
 
Software Engineering Tools and Practices.pdf
Software Engineering Tools and Practices.pdfSoftware Engineering Tools and Practices.pdf
Software Engineering Tools and Practices.pdfMeagGhn
 
R1x g02 enterprise architecture i
R1x g02 enterprise architecture iR1x g02 enterprise architecture i
R1x g02 enterprise architecture icairo university
 
ASP.NET System design 2
ASP.NET System design 2ASP.NET System design 2
ASP.NET System design 2Sisir Ghosh
 
INTRODUCTION TO UML DIAGRAMS
INTRODUCTION TO UML DIAGRAMSINTRODUCTION TO UML DIAGRAMS
INTRODUCTION TO UML DIAGRAMSAshita Agrawal
 
Unified Modelling Language
Unified Modelling LanguageUnified Modelling Language
Unified Modelling LanguageJismy .K.Jose
 
Experiment no
Experiment noExperiment no
Experiment nohinamunjal
 
Introduction to Unified Modeling Language
Introduction to Unified Modeling LanguageIntroduction to Unified Modeling Language
Introduction to Unified Modeling LanguageAMITJain879
 
Chapter 2.pptx
Chapter 2.pptxChapter 2.pptx
Chapter 2.pptxRobaDechasa
 
Ooad lab manual
Ooad  lab manualOoad  lab manual
Ooad lab manualPraseela R
 
Object-oriented modeling and design.pdf
Object-oriented modeling and  design.pdfObject-oriented modeling and  design.pdf
Object-oriented modeling and design.pdfSHIVAM691605
 

Similar to Introduction to UML Modeling Language (20)

UML-Advanced Software Engineering
UML-Advanced Software EngineeringUML-Advanced Software Engineering
UML-Advanced Software Engineering
 
Uml
UmlUml
Uml
 
Ch 2.1
Ch 2.1Ch 2.1
Ch 2.1
 
Lecture#02, building blocks of uml ASE
Lecture#02, building blocks of uml ASELecture#02, building blocks of uml ASE
Lecture#02, building blocks of uml ASE
 
Uml introduciton
Uml introducitonUml introduciton
Uml introduciton
 
ooAD
ooADooAD
ooAD
 
432
432432
432
 
UNIT-3 Design Using UML (1).pptx
UNIT-3 Design Using UML (1).pptxUNIT-3 Design Using UML (1).pptx
UNIT-3 Design Using UML (1).pptx
 
Software Engineering Tools and Practices.pdf
Software Engineering Tools and Practices.pdfSoftware Engineering Tools and Practices.pdf
Software Engineering Tools and Practices.pdf
 
R1x g02 enterprise architecture i
R1x g02 enterprise architecture iR1x g02 enterprise architecture i
R1x g02 enterprise architecture i
 
ASP.NET System design 2
ASP.NET System design 2ASP.NET System design 2
ASP.NET System design 2
 
Uml.pptx
Uml.pptxUml.pptx
Uml.pptx
 
INTRODUCTION TO UML DIAGRAMS
INTRODUCTION TO UML DIAGRAMSINTRODUCTION TO UML DIAGRAMS
INTRODUCTION TO UML DIAGRAMS
 
Unified Modelling Language
Unified Modelling LanguageUnified Modelling Language
Unified Modelling Language
 
Experiment no
Experiment noExperiment no
Experiment no
 
Introduction to Unified Modeling Language
Introduction to Unified Modeling LanguageIntroduction to Unified Modeling Language
Introduction to Unified Modeling Language
 
Chapter 2.pptx
Chapter 2.pptxChapter 2.pptx
Chapter 2.pptx
 
Uml
UmlUml
Uml
 
Ooad lab manual
Ooad  lab manualOoad  lab manual
Ooad lab manual
 
Object-oriented modeling and design.pdf
Object-oriented modeling and  design.pdfObject-oriented modeling and  design.pdf
Object-oriented modeling and design.pdf
 

Recently uploaded

_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting Data_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting DataJhengPantaleon
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxmanuelaromero2013
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptxVS Mahajan Coaching Centre
 
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...M56BOOKSTORE PRODUCT/SERVICE
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Krashi Coaching
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxGaneshChakor2
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformChameera Dedduwage
 
MENTAL STATUS EXAMINATION format.docx
MENTAL     STATUS EXAMINATION format.docxMENTAL     STATUS EXAMINATION format.docx
MENTAL STATUS EXAMINATION format.docxPoojaSen20
 
Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentInMediaRes1
 
18-04-UA_REPORT_MEDIALITERAĐĄY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAĐĄY_INDEX-DM_23-1-final-eng.pdf18-04-UA_REPORT_MEDIALITERAĐĄY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAĐĄY_INDEX-DM_23-1-final-eng.pdfssuser54595a
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxSayali Powar
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfsanyamsingh5019
 
Class 11 Legal Studies Ch-1 Concept of State .pdf
Class 11 Legal Studies Ch-1 Concept of State .pdfClass 11 Legal Studies Ch-1 Concept of State .pdf
Class 11 Legal Studies Ch-1 Concept of State .pdfakmcokerachita
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxheathfieldcps1
 
Concept of Vouching. B.Com(Hons) /B.Compdf
Concept of Vouching. B.Com(Hons) /B.CompdfConcept of Vouching. B.Com(Hons) /B.Compdf
Concept of Vouching. B.Com(Hons) /B.CompdfUmakantAnnand
 

Recently uploaded (20)

_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting Data_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting Data
 
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptx
 
Staff of Color (SOC) Retention Efforts DDSD
Staff of Color (SOC) Retention Efforts DDSDStaff of Color (SOC) Retention Efforts DDSD
Staff of Color (SOC) Retention Efforts DDSD
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
 
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...
 
9953330565 Low Rate Call Girls In Rohini Delhi NCR
9953330565 Low Rate Call Girls In Rohini  Delhi NCR9953330565 Low Rate Call Girls In Rohini  Delhi NCR
9953330565 Low Rate Call Girls In Rohini Delhi NCR
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptx
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy Reform
 
MENTAL STATUS EXAMINATION format.docx
MENTAL     STATUS EXAMINATION format.docxMENTAL     STATUS EXAMINATION format.docx
MENTAL STATUS EXAMINATION format.docx
 
Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media Component
 
18-04-UA_REPORT_MEDIALITERAĐĄY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAĐĄY_INDEX-DM_23-1-final-eng.pdf18-04-UA_REPORT_MEDIALITERAĐĄY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAĐĄY_INDEX-DM_23-1-final-eng.pdf
 
Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Bikash Puri  Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Bikash Puri  Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdf
 
Class 11 Legal Studies Ch-1 Concept of State .pdf
Class 11 Legal Studies Ch-1 Concept of State .pdfClass 11 Legal Studies Ch-1 Concept of State .pdf
Class 11 Legal Studies Ch-1 Concept of State .pdf
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdfTataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
 
Concept of Vouching. B.Com(Hons) /B.Compdf
Concept of Vouching. B.Com(Hons) /B.CompdfConcept of Vouching. B.Com(Hons) /B.Compdf
Concept of Vouching. B.Com(Hons) /B.Compdf
 

Introduction to UML Modeling Language

  • 2. ī‚´ Principles of Modeling:- 1. The choice of what models to create has a profound influence on how a problem is attacked and how a solution is shaped. 2. Every model may be expressed at different levels of precision. 3. The best models are connected to reality. 4. No single model is sufficient. Every nontrivial system is best approached through a small set of nearly independent models.
  • 3. Overview of the UML ī‚´ The Unified Modeling Language (UML) is a standard language for writing software blueprints. ī‚´ The UML may be used to visualize, specify, construct, and document the artifacts of a software intensive system.
  • 4. ī‚´ The UML Is a Language:- ī‚´ A modeling language is a language whose vocabulary and rules focus on the conceptual and physical representation of a system. ī‚´ The UML Is a Language for Visualizing: ī‚´ For many programmers, the distance between thinking of an implementation and then pounding it out in code is close to zero. ī‚´ The UML Is a Language for Specifying: ī‚´ UML addresses the specification of all the important analysis, design, and implementation decisions that must be made in developing and deploying a software-intensive system.
  • 5. ī‚´ The UML Is a Language for Constructing:- ī‚´ The UML is not a visual programming language, but its models can be directly connected to a variety of programming languages. ī‚´ This means that it is possible to map from a model in the UML to a programming language such as Java, C++, or Visual Basic.
  • 6. ī‚´ The UML Is a Language for Documenting:- ī‚´ A healthy software organization produces all sorts of artifacts in addition to raw executable code. ī‚´ These artifacts include ī‚´Project plans ī‚´Requirements ī‚´Prototypes ī‚´Architecture ī‚´Design ī‚´Source code ī‚´Tests ī‚´Releases
  • 7. ī‚´ Where Can the UML Be Used? ī‚´ The UML is intended primarily for software-intensive systems. It has been used effectively for such domains as ī‚´ Enterprise information systems ī‚´ Banking and financial services ī‚´ Telecommunications ī‚´ Transportation ī‚´ Defense/aerospace ī‚´ Retail ī‚´ Medical ī‚´ Electronics ī‚´ Scientific ī‚´ Distributed Web-based services
  • 8.
  • 9. Object-Oriented Modeling ī‚´ In software, there are several ways to approach a model. The two most common ways are from an algorithmic perspective and from an object-oriented perspective. ī‚´ From an algorithmic perspective, the main building block of all software is the procedure or function. ī‚´ From an object-oriented perspective, the main building block of all software systems is the object or class. ī‚´ Every object has identity, state and behavior.
  • 10. A Conceptual Model of the UML ī‚´ Conceptual model requires learning three major elements: 1. The UML's basic building blocks. 2. The rules of the UML. 3. Common mechanisms of the UML.
  • 11. ī‚´ Building Blocks of the UML:- ī‚´ The vocabulary of the UML encompasses three kinds of building blocks: 1. Things 2. Relationships 3. Diagrams
  • 12. 1. Things in the UML ī‚´ Things are the abstractions that are first-class citizens in a model. ī‚´ There are four kinds of things in the UML: 1. Structural things. 2. Behavioral things. 3. Grouping things. 4. Annotational things.
  • 13. ī‚´ Structural Things ī‚´ These are the mostly static parts of a model, representing elements that are either conceptual or physical. ī‚´ Are several kinds of structural things: ī‚´ A class is a description of a set of objects. ī‚´ Class is rendered as a rectangle, usually including its name, attributes, and operations.
  • 14. ī‚´ An interface is a collection of operations that specify a service of a class or component. ī‚´ An interface rarely stand alone. ī‚´ An interface provided by a class to the outside world is shown as a small circle attached to the class box by a line. ī‚´ An interface required by a class from some other class is shown as a small semicircle attached to the class box by a line.
  • 15. ī‚´ A collaboration defines an interaction. ī‚´ A collaboration is rendered as an ellipse with dashed lines, usually including only its name.
  • 16. ī‚´ A use case is a description of set of sequence of actions that a system performs that yields an observable result of value to a particular actor. ī‚´ A use case is rendered as an ellipse with solid lines, usually including only its name
  • 17. ī‚´ An active class is a class whose objects own one or more processes or threads and therefore can initiate control activity. ī‚´ An active class is rendered just like a class, but with heavy lines, usually including its name, attributes, and operations.
  • 18. ī‚´ A component is a modular part of the system design that hides its implementation behind a set of external interfaces. ī‚´ A component is rendered like a class with a special icon in the upper right corner.
  • 19. ī‚´ Node is used to represent physical part of a system like server, network etc.. ī‚´ A node is rendered as a cube, usually including only its name.
  • 20. ī‚´ Behavioral Things:- ī‚´ Behavioral things are the dynamic parts of UML models. ī‚´ An interaction is a behavior that comprises a set of messages exchanged among a set of objects. ī‚´ A message is rendered as a directed line, almost always including the name of its operation.
  • 21. ī‚´ A state machine is a behavior that specifies the sequences of states an object. ī‚´ A state is rendered as a rounded rectangle, usually including its name and its substates.
  • 22. ī‚´ An activity is a behavior that specifies the sequence of steps a computational process performs. ī‚´ A step of an activity is called an action. ī‚´ An action is rendered as a rounded rectangle with a name indicating its purpose. ī‚´ States & actions are distinguished by their different contexts. process order
  • 23. ī‚´ Grouping Things ī‚´ Grouping things are the organizational parts of UML models. ī‚´ A package is a general-purpose mechanism for organizing elements into groups. ī‚´ Structural things, behavioral things, and even other grouping things may be placed in a package. ī‚´ Packages is purely conceptual. ī‚´ A package is rendered as a tabbed folder, usually including only its name and, sometimes, its contents
  • 24. ī‚´ Annotational Things ī‚´ Annotational things are the explanatory parts of UML models. ī‚´ A note is simply a symbol for rendering constraints and comments attached to an element or a collection of elements. ī‚´ A note is rendered as a rectangle with a dog-eared corner, together with a textual or graphical comment.
  • 25. 2. Relationships in the UML ī‚´ There are four kinds of relationships in the UML: 1. Dependency 2. Association 3. Generalization 4. Realization
  • 26. ī‚´ A dependency is a semantic relationship between two things in which a change to one thing may affect the semantics of the other thing. ī‚´ A dependency is rendered as a dashed line, possibly directed, and occasionally including a label.
  • 27. ī‚´ An association is a structural relationship that describes a set of links, a link being a connection among objects. ī‚´ An association is rendered as a solid line, possibly directed, occasionally including a label.
  • 28. ī‚´ A generalization is a specialization/generalization relationship in which objects of the specialized element (the child) are substitutable for objects of the generalized element. ī‚´ A generalization relationship is rendered as a solid line with a hollow arrowhead pointing to the parent.
  • 29. ī‚´ A realization relationship is a relationship between two model elements, in which one model element (the client) realizes the behavior that the other model element (the supplier) specifies. ī‚´ Realization relationship is rendered as a cross between a generalization and a dependency relationship.
  • 30. ī‚´ Diagrams in the UML:- ī‚´ A diagram is the graphical presentation of a set of elements, most often presented as a connected graph of things and relationships. ī‚´ UML includes few kinds of diagrams. 1. Class diagram consists of classes, interfaces, associations and collaboration. ī‚´ Class diagrams basically represent the object oriented view of a system which is static in nature.
  • 31. 2. Object diagrams are a set of objects and their relationships. ī‚´ Object diagram represent the static view of the system. 3. Component diagrams represent a set of components and their relationships. These components consist of classes, interfaces or collaborations. ī‚´ Component diagrams represent the implementation view of a system.
  • 32. 4. A use case diagram represents a particular functionality of a system. ī‚´ Represent the use case view of a system. 5. A sequence diagram is an interaction diagram. ī‚´ Interaction among the components of a system is very important from implementation and execution perspective. ī‚´ Represent the dynamic view of interaction.
  • 33. 6. Communication diagram is an interaction diagram that highlight the structural organization of the objects that send and receive messages. 7. A state diagram shows a state machine, consisting of states, transitions, events, and activities. ī‚´ State diagrams address the dynamic view of a system. 8. Activity diagram describes the flow of control in a system. ī‚´ Activity diagrams address the dynamic view of a system
  • 34. 9. Deployment diagrams are a set of nodes and their relationships. ī‚´ These nodes are physical entities where the components are deployed. 10. Artifact diagram shows the physical element of a system on the computer. ī‚´ Artifacts include files, database etc.
  • 35. 11. Package diagram shows the decomposition of the model itself into organization units & their dependencies. 12. Timing diagram is an interaction diagram that shows actual times across different objects, relative sequences of messages. 13. Interaction overview diagram is hybrid of activity & sequence diagram.
  • 36. ī‚´ Rules of the UML:- ī‚´ A well-formed model is one that is semantically self-consistent and in synchronization with all its related models. ī‚´ The UML has semantic rules for ī‚´ Names:- What you can call things, relationships, and diagrams. ī‚´ Scope:- The context that gives specific meaning to a name ī‚´ Visibility:- How those names can be seen and used by others ī‚´ Integrity:- How things properly and consistently relate to one another ī‚´ Execution:- What it means to run or simulate a dynamic model
  • 37. ī‚´ It is common for the development team to not only build models that are well-formed, but also to build models that are: ī‚´ Elided:- Certain elements are hidden to simplify the view ī‚´ Incomplete:- Certain elements may be missing ī‚´ Inconsistent:- The integrity of the model is not guaranteed
  • 38. ī‚´ Common Mechanisms in the UML:- ī‚´ UML is made simpler by the presence of four common mechanisms that apply consistently throughout the language. 1. Specifications 2. Adornments 3. Common divisions 4. Extensibility mechanisms
  • 39. ī‚´ Specifications ī‚´ Specifying something in a bit more detail so that the role and meaning of the term being specified is presented to us in a more clear. ī‚´ Adornments ī‚´ Adornments are textual or graphical items, which can be added to the basic notation of a UML building block in order to visualize some details from that element’s specification. ī‚´ One of the most important kinds of adornments is a note
  • 40. ī‚´ Common Divisions ī‚´ In modeling Object Oriented systems, the world often gets divided in several ways. ī‚´ First, there is the division of class and object. A class is an abstraction; an object is one concrete manifestation of that abstraction. ī‚´ Graphically, the UML distinguish an object by using the same symbol as its class and then simply underlying the objects name.
  • 41. ī‚´ Second, there is the separation of interface and implementation. ī‚´ An interface declares a contract. ī‚´ An implementation represents one concrete realization of that contract, responsible for faithfully carrying out the interface's complete semantics.
  • 42. ī‚´ Extensibility Mechanisms: – UML is opened ended language, making it possible for You to extend the language in controlled ways: ī‚´ There are three:- Stereotype:- Stereotypes allow you to extend the vocabulary of the UML so that you can create new model elements, derived from existing ones, but that have specific properties that are suitable for your problem domain. ī‚´ Tagged value:- A tagged value extends the properties of UML building blocks ,allowing user to create new information in that elementary specification. ī‚´ Constraint: – This allows user to add new rules or modify existing ones.
  • 43. ī‚´ Architecture of modeling system’s ī‚´ A system's architecture is perhaps the most important artifact that can be used to manage these different viewpoints and so control the iterative and incremental development of a system throughout its life cycle.
  • 44. ī‚´ Architecture is the set of significant decisions about ī‚´ The organization of a software system. ī‚´ The selection of the structural elements and their interfaces by which the system is composed. ī‚´ Their behavior, as specified in the collaborations among those elements. ī‚´ The composition of these structural and behavioral elements into progressively larger subsystems. ī‚´ The architectural style that guides this organization
  • 45. ī‚´ The use case view of a system encompasses the use cases that describe the behavior of the system as seen by its end users, analysts, and testers. ī‚´ The design view of a system encompasses the classes, interfaces, and collaborations that form the vocabulary of the problem and its solution. ī‚´ The interaction view of a system shows the flow of control among its various parts, including possible concurrency & synchronization mechanisms.
  • 46. ī‚´ The implementation view of a system encompasses the components and files that are used to assemble and release the physical system. ī‚´ The deployment view of a system encompasses the nodes that form the system's hardware topology on which the system executes
  • 48. ī‚´ The nature of an object:- ī‚´ We define an object as a tangible entity that exhibits some well-defined behavior. ī‚´ An object has state, exhibits come well-defined behavior, & has a unique identity. ī‚´ An object is any of the following:- ī‚´A tangible &/or visible thing. ī‚´Something that may be apprehended intellectually. ī‚´Something towards which thought or action is directed.
  • 49. ī‚´ Real-world objects share two characteristics: They all have state and behavior. ī‚´ State : Every object, at any given point of time would have to have a set of attributes defining its State. ī‚´ Behavior : Every object based on its state and optionally identity will have particular behavior. ī‚´ Eg:-Dogs have state (name, color, breed, hungry) and behavior (barking, fetching, wagging tail). ī‚´ Bicycles also have state (current gear, current pedal cadence, current speed) and behavior (changing gear, changing pedal cadence, applying brakes)
  • 50. ī‚´ THE PROPERTY (OBJECT ATTRIBUTE) ī‚´ Properties are variables contained in the class; every instance of the object has those properties. ī‚´ The methods:- ī‚´ Methods follow the same logic as properties. ī‚´ The difference is that they are functions and they are defined as functions. ī‚´ Calling a method is similar to accessing a property, but you add () at the end of the method name, possibly with arguments.
  • 51. ī‚´ The messages :- ī‚´ An object-oriented program is a growing and shrinking collection of objects that interact via messages. ī‚´ Objects can send and receive messages. ī‚´ Over its lifetime, the object has a state that varies. ī‚´ A message is called a request or an event. ī‚´ The event contains the name of the object, the name of the operation, and maybe a group of parameters.
  • 52. ī‚´ Object – Oriented Systems Development Life Cycle:- ī‚´ The essence of the software Development Process that consists of ī‚´ Analysis , ī‚´ Design , ī‚´ Implementation , ī‚´ Testing , and ī‚´ Refinement ī‚´ To transform users’ needs into a software solution that satisfy the needs.
  • 53. ī‚´ The object oriented approach requires a more rigorous process to do things right more rigorous process to do things right. ī‚´ You need not see code until after about 25 percent of the development time, because you need to spend more time in gathering requirements, developing a requirement model and an analysis model, then turning them into the design model.
  • 54.
  • 55. ī‚´ The software development process also can be divided into smaller, interacting subprocesses. ī‚´ Generally, the software development process can be viewed as a series of transformations, where the output of one transformation becomes the input of the subsequent transformation.
  • 56. ī‚´ Transformation1(Analysis): ī‚´ Translates the user’s needs into system requirements and responsibilities. ī‚´ The way they use the system can provide insight into the user’s requirements. ī‚´ For example: one use of system might be analyzing an incentive payroll system, which will tell us that this capacity will be included in the system requirements.
  • 57. ī‚´ Transformation 2 (design): ī‚´ Begins with a problem statement and ends with a detailed design that can be transformed into a operational system. ī‚´ This transformation includes the bulk of the software development activity, including the definition of how to build the software, its development, and its testing. ī‚´ It also includes design descriptions, the programs and the testing material.
  • 58. ī‚´ Transformation 3(Implementation) ī‚´ Refines the detailed design into the system deployment that will satisfy the user’s needs. ī‚´ This takes into account equipment, procedures, people, and the like. ī‚´ It represents embedding the software product within its operational environment.
  • 59. ī‚´ ADVANTAGES OF OBJECT ORIENTED METHODOLOGY ī‚´ Object Oriented Methodology closely represents the problem domain. Because of this, it is easier to produce and understand designs. ī‚´ The objects in the system are safe to requirement changes. Therefore, allows changes more easily. ī‚´ Object Oriented Methodology designs encourage more re-use. New applications can use the existing modules, thereby reduces the development cost and cycle time.
  • 60. ī‚´ Object Oriented Methodology approach is more natural. It provides nice structures for thinking and abstracting and leads to modular design.
  • 61. ī‚´ The object-modeling technique (OMT) is an object modeling language for software modeling and designing. ī‚´ It was developed by Rumbaugh, Blaha, Premerlani, Eddy and Lorensen as a method to develop object-oriented systems, and to support object- oriented programming.
  • 62. ī‚´ THE RAMBAUGH OMT ī‚´ The purposes of modeling according to Raumbaugh (1991) are: ī‚´ Testing physical entities before building them (simulation) ī‚´ Communication with customers ī‚´ Visualization (alternative presentation of information) ī‚´ Reduction of complexity.
  • 63. ī‚´ The Rambaugh OMT has proposed three main types of models: ī‚´ Object model : Main concepts are classes and associations, with attributes and operations. Aggregation and generalization are predefined relationships. ī‚´ Dynamic model : The dynamic model represents a state/transition view on the model. Main concepts are states, transitions between states, and events to trigger transitions. Actions can be modeled as occurring within states. ī‚´ Functional model : The functional model handles the process of the model, corresponding roughly to data flow diagrams. Main concepts are process, data store, data flow, and actors. ī‚´ OMT is a predecessor of the Unified Modeling Language (UML).
  • 64. ī‚´ THE BOOCH OMT ī‚´ The analysis phase is split into steps. ī‚´ Customer's Requirements Step: ī‚´ The first step is to gather the requirements from the customer perspective. This analysis step generates a high-level description of the system's function and structure. ī‚´ Domain analysis: ī‚´ The domain analysis is done by defining object classes; their attributes, inheritance, and methods. State diagrams for the objects are then established. ī‚´ The analysis phase is completed with a validation step.
  • 65. ī‚´ Once the analysis phase is completed, the Booch methodology develops the architecture in the design phase. ī‚´ The design phase is iterative. ī‚´ A logic design is mapped to a physical design like processes, performance, data types, data structures, visibility are defined. ī‚´ A prototype is created and tested. ī‚´ The process iterates between the logical design, physical design, prototypes, and testing.
  • 66. ī‚´ The Booch software engineering methodology is sequential in the sense that the analysis phase is completed and then the design phase is completed.
  • 67. ī‚´ JACOBSON OOSE ī‚´ Object-Oriented Software Engineering (OOSE) is a software design technique that is used in software design in object-oriented programming. ī‚´ OOSE is the first object-oriented design methodology that employs use cases in software design. ī‚´ It includes requirements, an analysis, a design, an implementation and a testing model.
  • 68.
  • 69. ī‚´ OBJECT-ORIENTED SOFTWARE ENGINEERING LIFE CYCLE ī‚´ Requirements Engineering: ī‚´ Requirements gathering, ī‚´ Object oriented analysis and ī‚´ Specification ī‚´ OO Design: ī‚´ Architectural design ī‚´ Detailed design ī‚´ Both require the transformation of functional requirements into OO design elements
  • 70. ī‚´ Implementation or Coding: ī‚´ Programming using OO programming languages and tools. ī‚´ Testing: ī‚´ Unit testing; test methods within each object ī‚´ Integration testing; test collaborations between objects ī‚´ System testing; test the entire system as a collection of objects ī‚´ Acceptance testing; test for standards and customer satisfaction
  • 72. ī‚´ Iterative and Incremental: ī‚´ The Unified Process is an iterative and incremental development process. ī‚´ The Elaboration, Construction and Transition phases are divided into a series of timeboxed iterations. ī‚´ Each iteration results in an increment, which results in improved functionality . ī‚´ Use Case Driven: ī‚´ In the Unified Process, use cases are used to capture the functional requirements and to define the contents of the iterations.
  • 73. ī‚´ Risk Focused ī‚´ The Unified Process requires the project team to focus on the most critical risks early in the project life cycle. ī‚´ The deliverables of each iteration, especially in the Elaboration phase, must be selected in order to ensure that the greatest risks are addressed first.
  • 74. ī‚´ VIEWS IN UML 1. Functional View: ī‚´ This view describes functional requirements of the system. ī‚´ Use case diagrams give static functional view for functions and static relationships. ī‚´ Activity diagrams give dynamic functional view. 2. Static Structural View: ī‚´ The class and object diagrams give the structural view of system.
  • 75. 3. Behavioral (dynamic structural) view: ī‚´ Interaction diagrams- collaboration diagrams and sequence diagrams describe sequences of interactions between objects. ī‚´ State transition diagrams show state-based behavior of objects. 4. Architectural View: ī‚´ This view describes logical and physical structure. ī‚´ Component diagrams and deployment diagrams are used in this view
  • 76. Use Case Diagrams ī‚´ Use case diagrams are central to modeling the behavior of a system, a subsystem, or a class. ī‚´ Each one shows a set of use cases and actors and their relationships. ī‚´ Use case diagrams are important for visualizing, specifying, and documenting the behavior of an element.
  • 77. ī‚´ A use case is a description of a set of sequences of actions, including variants, that a system performs to yield an observable result of value to an actor. ī‚´ Graphically, a use case is rendered as an ellipse. ī‚´ We apply use cases to capture the intended behavior of the system you are developing, without having to specify how that behavior is implemented.
  • 78. ī‚´ Use case diagrams commonly contain ī‚´ Use cases ī‚´ Subject ī‚´ Actors ī‚´ Dependency, generalization, and association relationships ī‚´ Like all other diagrams, use case diagrams may contain notes and constraints.
  • 79. ī‚´ Subject:- ī‚´ The subject is a class described by a set of use cases. ī‚´ The use cases represent aspects of the behavior of the class. ī‚´ The actor represent aspects of the other classes that interact with the subject.
  • 81. ī‚´ Use Cases and Actors ī‚´ An actor represents a role that a human, a hardware device, or even another system plays with a system. ī‚´ Represents an individual interacting with the system in a specific way.
  • 82.
  • 83. ī‚´ Use Cases and Flow of Events ī‚´ A use case describes what a system does but it does not specify how it does it. ī‚´ Flow of event shows the behavior of the use case. ī‚´ Flow of events are 2 types: ī‚´ Main flow of events ī‚´ Exceptional flow of events.
  • 84. ī‚´ Use Cases and Scenarios ī‚´ A scenario is a specific sequence of actions that illustrates behavior. ī‚´ Scenario is basically one instance of a use case. ī‚´ Use Cases and Collaborations
  • 85. ī‚´ Organizing Use Cases ī‚´ You can organize use cases by grouping them in packages. ī‚´ You can also organize use cases by specifying generalization, include, and extend relationships among them. ī‚´ Generalization among use cases is just like generalization among classes. ī‚´ An include relationship between use cases means that the base use case explicitly incorporates the behavior of another use case at a location specified in the base.
  • 86. ī‚´ An extend relationship between use cases means that the base use case implicitly incorporates the behavior of another use case at a location specified indirectly by the extending use case.
  • 87.
  • 88. ī‚´ Notation ī‚´ The subject is shown as a rectangle containing a set of use case. ī‚´ The name of subject is placed within a rectangle. ī‚´ The actor are shown as stick figures placed outside the rectangle.
  • 89.
  • 90. ī‚´ Use-case diagrams are helpful in the following situations: ī‚´ Before starting a project, you can create use-case diagrams to model a business so that all participants in the project share an understanding of the workers, customers, and activities of the business. ī‚´ While gathering requirements, you can create use-case diagrams to capture the system requirements and to present to others what the system should do. ī‚´ During the analysis and design phases, you can use the use cases and actors from your use-case diagrams to identify the classes that the system requires. ī‚´ During the testing phase, you can use use-case diagrams to identify tests for the system.
  • 92. ī‚´ Activity is an ongoing structured execution of a behavior. ī‚´ Activity is a behavior expressed as a set of actions connected by control & data flows. ī‚´ An activity diagram shows the flow from activity to activity. ī‚´ Graphically, an activity diagram is a collection of nodes and arcs.
  • 93. ī‚´ Activity diagrams commonly contain ī‚´ Actions ī‚´ Activity nodes ī‚´ Flows ī‚´ Object values. ī‚´ Like all other diagrams, activity diagrams may contain notes and constraints.
  • 94. ī‚´ Actions & activity nodes ī‚´ You might evaluate some expression that sets the value of an attribute or that returns some value. ī‚´ You might call an operation on an object, send a signal to an object, or even create or destroy an object. ī‚´ These executable, atomic computations are called action. ī‚´ Representation of action using a rounded box.
  • 95.
  • 96. ī‚´ An activity node is an organizational units within an activity. ī‚´ Activity nodes are nested grouping of actions. ī‚´ An action is an activity node that cannot be further decomposed.
  • 97. ī‚´ Control Flows ī‚´ When the action or activity of a state completes, flow of control passes immediately to the next action or activity state. ī‚´ Indeed, a flow of control has to start and end someplace. ī‚´ You may specify this initial state (a solid ball) and stop state (a solid ball inside a circle).
  • 98.
  • 99. ī‚´ Branching ī‚´ A branch may have one incoming transition and two or more outgoing ones. ī‚´ On each outgoing transition, you place a Boolean expression, which is evaluated only once on entering the branch. ī‚´ Guards on the outgoing flow should not overlap but they should cover all possibilities. ī‚´ When two paths of control merge back together, you can also use a diamond symbol with 2 input arrows & 1 output arrow. No guard are necessary on merge.
  • 100.
  • 101. ī‚´ Forking and Joining ī‚´ You use a synchronization bar to specify the forking and joining of these parallel flows of control. ī‚´ A synchronization bar is rendered as a thick horizontal or vertical line.
  • 102.
  • 103. ī‚´ Swimlanes ī‚´ When you are modeling workflows of business processes, to partition the activity states on an activity diagram into groups. ī‚´ Each group representing the business organization responsible for those activities. ī‚´ In the UML, each group is called a swimlane because, visually, each group is divided from its neighbor by a vertical solid line
  • 104.
  • 105. ī‚´ Object Flow ī‚´ An object flow is a path along which objects or data can pass. An object is shown as a rectangle. ī‚´ With object we can include the state of the object.
  • 106.
  • 107. ī‚´ Expansion Region ī‚´ An expansion region is a structured activity region that executes multiple times. ī‚´ Input and output expansion nodes are drawn as a group of three boxes representing a multiple selection of items.