0% found this document useful (0 votes)
23 views13 pages

UML Diagrams

The document discusses object-oriented design (OOD) and the Unified Modeling Language (UML). It defines OOD as designing systems using self-contained objects and classes. It then discusses the characteristics of OOD and advantages. The document outlines the UML, which is a standard modeling language used to visualize OOD. It describes the main UML diagram types including class, component, deployment, object, package, activity, use case, sequence, and collaboration diagrams.

Uploaded by

yoga009
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
23 views13 pages

UML Diagrams

The document discusses object-oriented design (OOD) and the Unified Modeling Language (UML). It defines OOD as designing systems using self-contained objects and classes. It then discusses the characteristics of OOD and advantages. The document outlines the UML, which is a standard modeling language used to visualize OOD. It describes the main UML diagram types including class, component, deployment, object, package, activity, use case, sequence, and collaboration diagrams.

Uploaded by

yoga009
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 13

Object-Oriented Design [Year]

CSE3001 Software Engineering


Object-Oriented Design
(UML Diagrams)
Module-IV
Topic -II
Definition
 Designing systems using self-contained objects and object classes
Characteristics of OOD
 Objects are abstractions of real-world or system entities and manage themselves
 Objects are independent and encapsulate state and representation information.
 System functionality is expressed in terms of object services
 Shared data areas are eliminated. Objects
communicate by message passing
 Objects may be distributed and may execute
sequentially or in parallel
Advantages of OOD
 Easier maintenance.
 Objects are appropriate reusable components
 For some systems, there may be an obvious mapping from real world entities to system
objects
Object-oriented development
 Object-oriented analysis, design and programming are related but distinct
 OOA is concerned with developing an object model of the application domain
 OOD is concerned with developing an object-oriented system model to implement
requirements
 OOP is concerned with realising an OOD using an OO programming language such as
Java or C++
Object Identification
• The noun-in-text approach
• All the nouns in the text are identified.
Object-Oriented Design [Year]
• Some nouns will be related to the environment outside of the proposed system and may
be removed.
• Example
A grocery store wants to automate its inventory. It has point-of sale terminals that can
record all of the items and quantities that a customer purchases. It has a similar terminal
for the customer service desk to handle returns. It has another terminal in the loading dock
to handle arriving shipments from suppliers. The meat department and the produce
departments have terminals to enter losses/discounts due to spoilage.
Nouns:
Grocery store, inventory, point-of-sale terminals, items, quantities, customer, purchases,
service desk, returns, loading dock, shipments, suppliers, meat department, produce
department, losses, discounts

The Unified Modeling Language


 Several different notations for describing object-oriented designs were proposed in the
1980s and 1990s
 The Unified Modeling Language is an integration of these notations
 It describes notations for a number of different models that may be produced during OO
analysis and design
 It is now a de facto standard for OO modelling
 Standard language for specifying, visualizing, constructing, and documenting the
artifacts of software systems, business modeling and other non-software systems.
 The UML represents a collection of best engineering practices that have proven
successful in the modeling of large and complex systems.
 The UML is a very important part of developing object oriented software and the
software development process.
 The UML uses mostly graphical notations to express the design of software projects.
 Using the UML helps project teams communicate, explore potential designs, and validate
the architectural design of the software.

UML diagram hierarchy


Object-Oriented Design [Year]

Class diagram

 Show the classes of the system, their inter-relationships, and the operations and attributes
of the classes
• Explore domain concepts in the form of a domain model
• Analyze requirements in the form of a conceptual/analysis model
• Depict the detailed design of object-oriented or object-based software
Object-Oriented Design [Year]

Component diagram
 shows the dependencies among software components, including the
classifiers that specify them (for example implementation classes) and the
artifacts that implement them; such as source code files, binary code files,
executable files, scripts and tables.
 These diagrams show the physical components of a system.
 Component diagrams describe the organization of the components in a
system.

Steps to Model:

 Identify Artifacts
o Files used in the system.
o Libraries and other artifacts relevant to the application.
o Relationships among the artifacts.
Object-Oriented Design [Year]

Deployment diagram

 Depicts a static view of the run-time configuration of hardware nodes and


the software components that run on those nodes.
 Deployment diagrams are used to visualize the topology of the physical
components of a system where the software components are deployed.
 Deployment diagrams show the hardware for your system, the software that
is installed on that hardware, and the middleware used to connect the
disparate machines to one another.
Object-Oriented Design [Year]
Object-Oriented Design [Year]

Object diagram
 Useful for exploring real world examples of objects and the relationships
between them. It shows instances instead of classes.
 They are useful for explaining small pieces with complicated
relationships, especially recursive relationships.
 Object diagrams represent an instance of a class diagram.
 The basic concepts are similar for class diagrams and object diagrams.
 Object diagrams also represent the static view of a system but this static
view is a snapshot of the system at a particular moment.
 Object diagrams can be imagined as the snapshot of a running system at a
particular moment.
Object-Oriented Design [Year]

Package diagram
 Simplify complex class diagrams and group classes into packages.
 A package is a collection of logically related UML elements.
 Packages are depicted as file folders and can be used on any of the UML
diagrams.

Activity diagram

 Activity diagram is another important diagram in UML to describe dynamic


aspects of the system.
 Activity diagram is basically a flow chart to represent the flow form one
activity to another activity.
 The activity can be described as an operation of the system.
 The control flow is drawn from one operation to another.
 This flow can be sequential, branched or concurrent.
 Activity diagrams deals with all type of flow control by using different
elements like fork, join etc.
Object-Oriented Design [Year]

Use cases diagram

 Describes the behavior of the target system from an external point of view.
 The purpose of use case diagram is to capture the dynamic aspect of a system.
 Use case diagrams are used to gather the requirements of a system including internal and
external influences.
 These requirements are mostly design requirements. So when a system is analyzed to
gather its functionalities use cases are prepared and actors are identified.
 Use cases. A use case describes a sequence of actions that provide something of
measurable value to an actor and is drawn as a horizontal ellipse.
Object-Oriented Design [Year]
 Actors. An actor is a person, organization, or external system that plays a role in one or
more interactions with your system. Actors are drawn as stick figures.
 Associations. Associations between actors and use cases are indicated by solid lines. An
association exists whenever an actor is involved with an interaction described by a use
case.
Object-Oriented Design [Year]
Object-Oriented Design [Year]
Interaction Diagrams

 The purposes of interaction diagrams are to visualize the interactive behaviour of the
system.
 Two types : Sequence Diagram and Collaboration Diagram

Sequence diagram

 Models the collaboration of objects based on a time sequence.


 It shows how the objects interact with others in a particular scenario of a use case.

Collaboration Diagram
 It shows the object organization.
 In collaboration diagram the method call sequence is indicated by some numbering
technique.
Object-Oriented Design [Year]

 Sequence diagrams are used to capture the order of messages flowing from one object to
another.
 Collaboration diagrams are used to describe the structural organizations of the objects
taking part in the interaction.

You might also like