0% found this document useful (0 votes)
216 views29 pages

Adri Jovin J.J. PG Scholar/HBS Department of Information Technology Anna University of Technology, Coimbatore

UML (Unified Modeling Language) is a standardized modeling language that provides a set of graphical notation techniques to create visual models of object-oriented software-intensive systems. UML uses different types of diagrams to depict various views of a system, including use case diagrams, class diagrams, sequence diagrams, activity diagrams, and component diagrams. UML aims to be a general-purpose modeling language that can be used with all major object and component methods, and thus allows organizations to switch methodologies without requiring a re-investment in modeling techniques and tools.

Uploaded by

Adri Jovin
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
216 views29 pages

Adri Jovin J.J. PG Scholar/HBS Department of Information Technology Anna University of Technology, Coimbatore

UML (Unified Modeling Language) is a standardized modeling language that provides a set of graphical notation techniques to create visual models of object-oriented software-intensive systems. UML uses different types of diagrams to depict various views of a system, including use case diagrams, class diagrams, sequence diagrams, activity diagrams, and component diagrams. UML aims to be a general-purpose modeling language that can be used with all major object and component methods, and thus allows organizations to switch methodologies without requiring a re-investment in modeling techniques and tools.

Uploaded by

Adri Jovin
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 29

2010

UML
Adri Jovin J.J.
PG Scholar/HBS
Department of Information Technology
Anna University of Technology,Coimbatore
Background
• What are object-oriented (OO) methods?
OO methods provide a set of techniques for analyzing, decomposing, and
modularizing software system architectures
In general, OO methods are characterized by structuring the system architecture on
the basis of its objects (and classes of objects) rather than the actions it performs

• What are the benefits of OO?


OO enhances key software quality factors of a system and its constituent
components

• What is the rationale for using OO?


In general, systems evolve and functionality changes, but objects and classes tend to
remain stable over time
Background (Contd…)
Software Quality Factors
Object-oriented techniques enhance key external and internal software
quality factors, e.g.,

1. External (visible to end-users)


(a) Correctness
(b) Robustness and reliability
(c) Performance

2. Internal (visible to developers)


(a) Modularity
(b) Flexibility/Extensibility
(c) Reusability
(d) Compatibility (via standard/uniform interfaces)
Background (Contd…)
• OOA, OOD, and OOP
Object-oriented methods may be applied to different phases in the
software life-cycle
e.g., analysis, design, implementation, etc.

• OO analysis (OOA) is a process of discovery


Where a development team models and under-stands the requirements of
the system

• OO design (OOD) is a process of invention and adaptation


Where the development team creates the abstractions and mechanisms
necessary to meet the system's behavioral requirements determined
during analysis
Modeling
• Modeling is a way of thinking about the problems using
models organized around the real world ideas.

• A modeling method comprises a language and also a


procedure for using the language to construct models.

• Modeling is the only way to visualize your design and check


it against requirements before your crew starts to code. 
Introduction
What is UML?
• Is a language. It is not simply a notation for drawing diagrams, but a
complete language for capturing knowledge(semantics) about a subject and
expressing knowledge(syntax) regarding the subject for the purpose of
communication.
• Applies to modeling and systems. Modeling involves a focus on
understanding a subject (system) and capturing and being able to
communicated in this knowledge.
• It is the result of unifying the information systems and technology industry’s
best engineering practices (principals, techniques, methods and tools).
Introduction (Contd..)
• used for both database and software modeling

• version 1.1 was adopted in November 1997 by the Object


Management Group (OMG) as a standard language for object-
oriented analysis and design

• Initially based on a combination of the Booch, OMT (Object


Modeling Technique) and OOSE (Object-Oriented Software
Engineering) methods, UML was refined and extended by a
consortium of several companies, and is undergoing minor
revisions by the OMG Revision Task Force.
Unified Modeling Language
Unification

Specify Construct
The UML
Goal
Visualize Document

Programming Tools / Repository Process


Language Specification
UML Diagrams
UML includes diagrams for
• use cases
• static structures (class and object diagrams)
• behavior (state-chart, activity, sequence and
collaboration diagrams)
• implementation (component and deployment diagrams).
For data modeling purposes UML uses class diagrams, to
which constraints in a textual language may be added
The UML Process

There are four kinds of things in the UML.


1. Structural Things.
2. Behavioral Things.
3. Grouping Things.
4. Annotational Things.
Things in UML
Structural Things Behavioral Things Grouping Things Annotational Things
Class Interaction Packages Notes
Interface
Collaboration
Use case
Active Class
Components
Nodes
Diagrams in UML
1. Class Diagram.
2. Object Diagram.
3. Use Case Diagram.
4. Sequence Diagram.
5. Collaboration Diagram.
6. State Chart Diagram.
7. Activity Diagram.
9. Deployment Diagram.
Use Case Diagrams

• Use Case Diagrams describe the functionality of


a system and users of the system. These
diagrams contain the following elements:
• Actors, which represent users of a system,
including human users and other systems.
• Use Cases, which represent functionality or
services provided by a system to users.
Use Case Diagrams
Class Diagram
• Class Diagrams describe the static structure of a system, or
how it is structured rather than how it behaves. These
diagrams contain the following elements.
• Classes, which represent entities with common
characteristics or features. These features include attributes,
operations and associations.
• Associations, which represent relationships that relate two
or more other classes where the relationships have common
characteristics or features. These attributes and operations.
Class Diagram
Object Diagram
• Object Diagrams describe the static structure of a system
at a particular time. Whereas a class model describes all
possible situations, an object model describes a particular
situation. Object diagrams contain the following elements:
• Objects, which represent particular entities. These are
instances of classes.
• Links, which represent particular relationships between
objects. These are instances of associations.
Sequence Diagram
• Sequence Diagrams describe interactions among classes. These interactions
are modeled as exchange of messages. These diagrams focus on classes and
the messages they exchange to accomplish some desired behavior. Sequence
diagrams are a type of interaction diagrams. Sequence diagrams contain the
following elements:
• Class roles, which represent roles that objects may play within the interaction.
• Lifelines, which represent the existence of an object over a period of time.
• Activations, which represent the time during which an object is performing an
operation.
• Messages, which represent communication between objects.
Sequence Diagram
Collaboration Diagram
• Collaboration Diagrams describe interactions among classes and
associations. These interactions are modeled as exchanges of messages
between classes through their associations. Collaboration diagrams are a
type of interaction diagram. Collaboration diagrams contain the following
elements.
• Class roles, which represent roles that objects may play within the
interaction.
• Association roles, which represent roles that links may play within the
interaction.
• Message flows, which represent messages sent between objects via links.
Links transport or implement the delivery of the message.
Collaboration Diagram
State Chart Diagram
• Statechart (or state) diagrams describe the states and
responses of a class. Statechart diagrams describe the
behavior of a class in response to external stimuli. These
diagrams contain the following elements:
• States, which represent the situations during the life of an
object in which it satisfies some condition, performs some
activity, or waits for some occurrence.
• Transitions, which represent relationships between the
different states of an object.
State Chart Diagram
Activity Diagram
• Activity diagrams describe the activities of a class. These diagrams are similar to
statechart diagrams and use similar conventions, but activity diagrams describe
the behavior of a class in response to internal processing rather than external
events as in statechart diagram.
• Swimlanes, which represent responsibilities of one or more objects for actions
within an overall activity; that is, they divide the activity states into groups and
assign these groups to objects that must perform the activities.
• Action States, which represent atomic, or noninterruptible, actions of entities or
steps in the execution of an algorithm.
• Action flows, which represent relationships between the different action states
of an entity
• Object flows, which represent the utilization of objects by action states and the
influence of action states on objects.
Activity Diagram
Component Diagram

• Component diagrams describe the


organization of and dependencies among
software implementation components. These
diagrams contain components, which
represent distributable physical units,
including source code, object code, and
executable code.
Deployment Diagram

• Deployment diagrams describe the


configuration of processing resource elements
and the mapping of software implementation
components onto them. These diagrams
contain components and nodes, which
represent processing or computational
resources, including computers, printers, etc.
Advantages
• You can model just about any type of application, running on
any type and combination of hardware, operating system,
programming language, and network, in UML.

• Used for modeling middleware

• UML Profiles (that is, subsets of UML tailored for specific


purposes) help you model Transactional, Real-time, and
Fault-Tolerant systems in a natural way
Advantages (Contd..)
UML is effective for modeling large, complex software
systems
• It is simple to learn for most developers, but provides
advanced features for expert analysts, designers and architects
• It can specify systems in an implementation-independent manner
• 10-20% of the constructs are used 80-90% of the time
• Structural modeling specifies a skeleton that can be refined
and extended with additional structure and behavior
• Use case modeling specifies the functional requirements of
system in an object-oriented manner

You might also like