SlideShare una empresa de Scribd logo
1 de 20
DebashisBiswas
Assignment on
UML Class diagram, Use case diagram, Object diagram and
State chart diagram
Course Code : CSE 332
Course title : Software Engineering
Submitted to
Mahedi Hasan
lecturer
Department of
Computer Science and Engineering
Daffodil International University
Submitted by
Debashis Biswas
ID : 143-15-4315
Sec: A (eve), Batch : 24
DebashisBiswas
 What is UML class diagram ?
In software engineering, a class diagram in the Unified
Modeling Language (UML) is a type of static structure
diagram that describes the structure of a system by showing the
system's classes, their attributes, operations (or methods), and
the relationships among objects.
 Why we use UML Class diagram ?
A visual modeling language, such as UML, allows software to
be visualized in multiple dimension, so that a computer system
can be completely understood before construction begins.
Furthermore, UML can be used to produce several models at
increasing levels of detail.
 Example :
Abstract Factory is creational software design pattern. This
pattern provides interfaces for creating families of related or
dependent objects without specifying their concrete classes.
Client software creates a concrete implementation of the abstract
factory and then uses the generic interfaces to create the
concrete objects that are part of the family of objects. The client
does not know or care which concrete objects it gets from each
DebashisBiswas
of these concrete factories since it uses only the generic
interfaces of their products.
Use of this pattern makes it possible to interchange families of
concrete classes without changing the code that uses them. It
separates details of implementation of a set of objects from their
usage.
FIG 1: UML class diagram example for the Abstract Factory Design Pattern.
DebashisBiswas
Advantage and disadvantage of UML class diagram
The Unified Modeling Language (UML) is a graphical language
for visualizing, specifying, constructing, and documenting the
artifacts of software-intensive systems.
This is a language’ for specifying design details not a method or
procedure.
 Advantages of UML
1) The UML can be used to model just about any type of
application, running on any type and combination of hardware,
operating system, programming language, and network, in
UML.
2) UML can be used for modeling middleware and this is
effective for modeling large, complex software systems
3) Built upon the Microsoft Operating Framework (MOF) met
model for object oriented modeling.
4) UML Profiles (that is, subsets of UML tailored for specific
purposes) help to model Transactional, Real-time, and Fault-
Tolerant systems in a natural way.
DebashisBiswas
5) This has an ability to generate test scripts apart from stub
code when integrated with Integrated development network.
6) The reverse engineering support, UML regenerate design
level artifacts in accordance with the changes you made to the
structure of class relationship
 Disadvantages of UML
1) UML does not define a standard file format, meaning that
each UML tool vendor stores the representation of its UML
model in a proprietary format.
2) The result is that the UML model is generally limited to
what the vendor provides out of the box, which is usually some
form of code generation. Code will be generated once.
3) UML is large and complex (very much like the systems it
wants to model) Comprises many different concepts and
imprecise semantics 4) Synchronizing code with models is
difficult: Using multiple models/diagrams makes it difficult to
keep them consistent with each other and the code and much
code has to be added by hand
DebashisBiswas
 what is use case diagram ?
To model a system the most important aspect is to capture the
dynamic behavior. To clarify a bit in details, dynamic
behavior means the behavior of the system when it is running
/operating.
So only static behavior is not sufficient to model a system
rather dynamic behavior is more important than static behavior.
In UML there are five diagrams available to model dynamic
nature and use case diagram is one of them. Now as we have to
discuss that the use case diagram is dynamic in nature there
should be some internal or external factors for making the
interaction.
These internal and external agents are known as actors. So use
case diagrams are consists of actors, use cases and their
relationships. The diagram is used to model the
system/subsystem of an application. A single use case diagram
captures a particular functionality of a system.
So to model the entire system numbers of use case diagrams are
used.
 Purpose
The purpose of use case diagram is to capture the dynamic
aspect of a system. But this definition is too generic to describe
the purpose.
Because other four diagrams (activity, sequence, collaboration
and State chart) are also having the same purpose. So we will
DebashisBiswas
look into some specific purpose which will distinguish it from
other four diagrams.
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.
Now when the initial task is complete use case diagrams are
modeled to present the outside view.
So in brief, the purposes of use case diagrams can be as
follows:
 Used to gather requirements of a system.
 Used to get an outside view of a system.
 Identify external and internal factors influencing the
system.
 Show the interacting among the requirements are actors.
 How to draw Use Case Diagram?
Use case diagrams are considered for high level requirement
analysis of a system. So when the requirements of a system are
analyzed the functionalities are captured in use cases.
So we can say that use cases are nothing but the system
functionalities written in an organized manner. Now the second
things which are relevant to the use cases are the actors. Actors
can be defined as something that interacts with the system.
DebashisBiswas
The actors can be human user, some internal applications or
may be some external applications. So in a brief when we are
planning to draw an use case diagram we should have the
following items identified.
 Functionalities to be represented as an use case
 Actors
 Relationships among the use cases and actors.
Use case diagrams are drawn to capture the functional
requirements of a system. So after identifying the above items
we have to follow the following guidelines to draw an efficient
use case diagram.
 The name of a use case is very important. So the name
should be chosen in such a way so that it can identify the
functionalities performed.
 Give a suitable name for actors.
 Show relationships and dependencies clearly in the
diagram.
 Do not try to include all types of relationships. Because the
main purpose of the diagram is to identify requirements.
 Use note when ever required to clarify some important
points.
The following is a sample use case diagram representing the
order management system. So if we look into the diagram then
we will find three use cases (Order, Special Order and Normal
Order) and one actor which is customer.
DebashisBiswas
The Special Order and Normal Order use cases are extended
from Order use case. So they have extends relationship.
Another important point is to identify the system boundary
which is shown in the picture. The actor Customer lies outside
the system as it is an external user of the system.
DebashisBiswas
 Where to Use Case Diagrams?
As we have already discussed there are five diagrams in UML
to model dynamic view of a system. Now each and every model
has some specific purpose to use. Actually these specific
purposes are different angles of a running system.
So to understand the dynamics of a system we need to use
different types of diagrams. Use case diagram is one of them
and its specific purpose is to gather system requirements and
actors.
Use case diagrams specify the events of a system and their
flows. But use case diagram never describes how they are
implemented. Use case diagram can be imagined as a black box
where only the input, output and the function of the black box is
known.
These diagrams are used at a very high level of design. Then
this high level design is refined again and again to get a
complete and practical picture of the system. A well structured
use case also describes the pre condition, post condition,
exceptions. And these extra elements are used to make test
cases when performing the testing.
Although the use cases are not a good candidate for forward
and reverse engineering but still they are used in a slight
different way to make forward and reverse engineering. And the
same is true for reverse engineering. Still use case diagram is
used differently to make it a candidate for reverse engineering.
DebashisBiswas
In forward engineering use case diagrams are used to make test
cases and in reverse engineering use cases are used to prepare
the requirement details from the existing application.
So the following are the places where use case diagrams are
used:
 Requirement analysis and high level design.
 Model the context of a system.
 Reverse engineering.
 Forward engineering.
Advantage and disadvantage Of Use care diagram
ADVANTAGES
 The use cases are mainly composed of narrative text. Hence,
unlike many other modeling techniques, the non technical
stake holders (e.g. customers, end users, salesperson etc) are
also able understand the model for the software system. This
means that feedback can be obtained at a very early stage of
the development from the customers and the end users.
 Another major advantage of use case modeling is that it
requires the identification of exceptional scenarios for the use
cases. This helps in discovering subtle alternate requirements
in the system.
DebashisBiswas
 The use case model can be utilized in several other aspect of
software development as well, e.g. Cost Estimation, Project
Planning, Test Case Preparation and User Documentation.
 The use case diagram provides a comprehensive summary of
the whole software system in a single illustration.
DISADVANAGES
 They do not capture the non-functional requirements easily.
 There might be a learning curve for the developer and/or
specially, the client in using these use cases.
USES
In sum, a well-prepared use case is worth its effort. Once the
client has agreed to the use cases, the project managers can plan
their schedule, and the developers have a clear understanding of
what they must develop. From personal experience, I can say
that while a use case is very beneficial, they are rarely perfect,
but they always serve a useful purpose.
A document attached with
-case study
-use case
-gnat-chart
-cost estimates
-
is the contents of s/w requirements specification document
DebashisBiswas
 what is Object diagram ?
An object diagram is a graph of instances, including objects and
data values. A static object diagram is an instance of a
class diagram; it shows a snapshot of the detailed state of a
system at a point in time. The use of object diagrams is fairly
limited, namely to show examples of data structure.
What is an Object Diagram in UML?
A UML object diagram represents a specific instance of a class
diagram at a certain moment in time. When represented
graphically you'll see many similarities to the class diagram. We
used the same Car class example from the class diagram page to
illustrate object diagrams. Our UML shape library can help you
design any custom object diagram using our UML online tool
Object Diagram vs Class Diagram
Object Diagram Example
DebashisBiswas
Class Diagram Example
An object diagram focuses on the attributes of a set of objects
and how those objects relate to each other. For instance, in this
object diagram below, all three bank accounts tie back to the
bank itself. The class titles show the kind of accounts (savings,
checking, and credit card) that a given customer could have with
this particular bank. The class attributes are different for each
kind of account. This is illustrated by the credit card object
having a credit limit, while the savings and checking accounts
have interest rates. Object diagram are not limited to banking
use cases. You can make an object diagram for family trees,
corporate departments—any system with interrelated parts.
DebashisBiswas
Object Diagram Applications
There are many instances where a developer will find object diagrams
useful. These include:
 Examining a specific iteration of a general system.
 Getting a high-level overview of the system you will develop.
 Testing a class diagram you’ve created for the overall structure of the
system, using object diagrams for specific use cases.
DebashisBiswas
Object Diagram Elements
Object diagrams are simple to create: they're made from objects,
represented by rectangles, linked together with lines. These are the
major elements of an object diagram:
 Objects - are instances of a class. If a car is a class, a 2007 Nissan
Altman is an object of a class. The objects in the class “Parents” are your
specific parents, for instance, Elaine and Gary.
 Class titles - the specific attributes of the class. In the family tree object
diagram, this is the name, gender, and age of the family members. These
can be listed as items on the object, or even in the properties of the
object itself (such as color).
 Class attributes - a rectangle with two tabs that indicates a software
element.
 Links - these are the lines connecting one object to another. The
corporate object diagram below shows how departments are connected
in the traditional organizational chart style.
DebashisBiswas
 what is State chart diagram ?
A state diagram is a diagram used in computer science to describe the behavior of a system considering
all the possible states of an object when an event occurs. This behavior is represented and analyzed in a
series of events that occur in one or more possible states.
 State Diagram
A state diagram shows the behavior of classes in response to external
stimuli. Specifically a state diagram describes the behavior of a single
object in response to a series of events in a system. Sometimes it's also
known as a Harel state chart or a state machine diagram. This UML
diagram models the dynamic flow of control from state to state of a
particular object within a system.
DebashisBiswas
 What is the Difference between a State
Diagram and a Flowchart?
A flowchart illustrates processes that are executed in the system that
change the state of objects. A state diagram shows the actual changes in
state, not the processes or commands that created those changes.
 Steps to Drawing a State Diagram
Before you begin your drawing find the initial and final state of the
object in question.
Next, think of the states the object might undergo. For example, in e-
commerce a product will have a release or available date, a sold out
state, a restocked state, placed in cart state, a saved on wish list state, a
purchased state, and so on.
Certain transitions will not be applicable when an object is in a
particular state, for example a product can be in a purchased state or a
saved in cart state if its previous state is sold out.
 Basic State chart Diagram Symbols and
Notations
States
States represent situations during the life of an object. You can easily
illustrate a state in Smart Draw by using a rectangle with rounded
corners.
DebashisBiswas
Transition
A solid arrow represents the path between different states of an object.
Label the transition with the event that triggered it and the action that
results from it. A state can have a transition that points back to itself.
Initial State
A filled circle followed by an arrow represents the object's initial state.
Final State
An arrow pointing to a filled circle nested inside another circle
represents the object's final state.
Synchronization and Splitting of Control
A short heavy bar with two transitions entering it represents a
synchronization of control. The first bar is often called a fork where a
single transition splits into concurrent multiple transitions. The second
bar is called a join, where the concurrent transitions reduce back to one.
DebashisBiswas
Reference
1. www.cragsystems.co.uk/why_use_uml.htm
2. http://www.uml-diagrams.org/design-pattern-abstract-factory-
uml-class-diagram-example.html
3. https://maina1.wordpress.com/2007/10/04/week-7-uml-
advantages-and-disadvantages/
4. https://www.tutorialspoint.com/uml/uml_use_case_diagram.h
tm
5. http://mansansaar.blogspot.com/2015/08/advantages-and-
disadvantages-of-use.html
6. https://www.lucidchart.com/pages/uml/object-diagram
7. https://www.techopedia.com/definition/16446/state-diagram
8. https://www.smartdraw.com/state-diagram/

Más contenido relacionado

La actualidad más candente

UML and Case study
UML and Case study UML and Case study
UML and Case study Mihika-QA
 
UML Architecture and Views
UML Architecture and ViewsUML Architecture and Views
UML Architecture and ViewsKumar
 
An Automatic Approach to Translate Use Cases to Sequence Diagrams
An Automatic Approach to Translate Use Cases to Sequence DiagramsAn Automatic Approach to Translate Use Cases to Sequence Diagrams
An Automatic Approach to Translate Use Cases to Sequence DiagramsMohammed Misbhauddin
 
M02 Uml Overview
M02 Uml OverviewM02 Uml Overview
M02 Uml OverviewDang Tuan
 
Uml diagrams
Uml diagramsUml diagrams
Uml diagramsbarney92
 
Uml structural diagrams
Uml structural diagramsUml structural diagrams
Uml structural diagramsSwathy T
 
Intro to UML 2
Intro to UML 2Intro to UML 2
Intro to UML 2rchakra
 
UML Diagrams- Unified Modeling Language Introduction
UML Diagrams- Unified Modeling Language IntroductionUML Diagrams- Unified Modeling Language Introduction
UML Diagrams- Unified Modeling Language IntroductionRamakant Soni
 
Arch06 1
Arch06 1Arch06 1
Arch06 1nazn
 
Use case Diagram
Use case Diagram Use case Diagram
Use case Diagram Rahul Pola
 

La actualidad más candente (20)

UML and Case study
UML and Case study UML and Case study
UML and Case study
 
UML
UMLUML
UML
 
Unified Modeling Language
Unified Modeling LanguageUnified Modeling Language
Unified Modeling Language
 
Uml
UmlUml
Uml
 
Uml
UmlUml
Uml
 
UML Architecture and Views
UML Architecture and ViewsUML Architecture and Views
UML Architecture and Views
 
An Automatic Approach to Translate Use Cases to Sequence Diagrams
An Automatic Approach to Translate Use Cases to Sequence DiagramsAn Automatic Approach to Translate Use Cases to Sequence Diagrams
An Automatic Approach to Translate Use Cases to Sequence Diagrams
 
Usecase Presentation
Usecase PresentationUsecase Presentation
Usecase Presentation
 
Case Study Uml
Case Study UmlCase Study Uml
Case Study Uml
 
M02 Uml Overview
M02 Uml OverviewM02 Uml Overview
M02 Uml Overview
 
Presentation on uml
Presentation on umlPresentation on uml
Presentation on uml
 
Uml diagrams
Uml diagramsUml diagrams
Uml diagrams
 
Uml structural diagrams
Uml structural diagramsUml structural diagrams
Uml structural diagrams
 
Uml2
Uml2Uml2
Uml2
 
Intro to UML 2
Intro to UML 2Intro to UML 2
Intro to UML 2
 
UML Diagrams- Unified Modeling Language Introduction
UML Diagrams- Unified Modeling Language IntroductionUML Diagrams- Unified Modeling Language Introduction
UML Diagrams- Unified Modeling Language Introduction
 
Arch06 1
Arch06 1Arch06 1
Arch06 1
 
Use case Diagram
Use case Diagram Use case Diagram
Use case Diagram
 
Use case diagrams
Use case diagramsUse case diagrams
Use case diagrams
 
Uml 9
Uml 9Uml 9
Uml 9
 

Similar a UML Design

Software Engineering Tools and Practices.pdf
Software Engineering Tools and Practices.pdfSoftware Engineering Tools and Practices.pdf
Software Engineering Tools and Practices.pdfMeagGhn
 
Ooad Overview
Ooad OverviewOoad Overview
Ooad OverviewDang Tuan
 
FORMALIZATION & DATA ABSTRACTION DURING USE CASE MODELING IN OBJECT ORIENTED ...
FORMALIZATION & DATA ABSTRACTION DURING USE CASE MODELING IN OBJECT ORIENTED ...FORMALIZATION & DATA ABSTRACTION DURING USE CASE MODELING IN OBJECT ORIENTED ...
FORMALIZATION & DATA ABSTRACTION DURING USE CASE MODELING IN OBJECT ORIENTED ...cscpconf
 
Formalization & data abstraction during use case modeling in object oriented ...
Formalization & data abstraction during use case modeling in object oriented ...Formalization & data abstraction during use case modeling in object oriented ...
Formalization & data abstraction during use case modeling in object oriented ...csandit
 
Introduction.pptx
Introduction.pptxIntroduction.pptx
Introduction.pptxSENTHILR44
 
Introduction to Unified Modeling Language
Introduction to Unified Modeling LanguageIntroduction to Unified Modeling Language
Introduction to Unified Modeling LanguageAMITJain879
 
Object Oriented Database
Object Oriented DatabaseObject Oriented Database
Object Oriented DatabaseMegan Espinoza
 
INTRODUCTION TO UML DIAGRAMS
INTRODUCTION TO UML DIAGRAMSINTRODUCTION TO UML DIAGRAMS
INTRODUCTION TO UML DIAGRAMSAshita Agrawal
 
Uml(unified modeling language) Homework Help
Uml(unified modeling language) Homework HelpUml(unified modeling language) Homework Help
Uml(unified modeling language) Homework HelpSteve Nash
 
Uml Presentation
Uml PresentationUml Presentation
Uml Presentationanasz3z3
 

Similar a UML Design (20)

Software Engineering Tools and Practices.pdf
Software Engineering Tools and Practices.pdfSoftware Engineering Tools and Practices.pdf
Software Engineering Tools and Practices.pdf
 
Design UML diagrams
Design UML diagramsDesign UML diagrams
Design UML diagrams
 
Sdlc
SdlcSdlc
Sdlc
 
Sdlc
SdlcSdlc
Sdlc
 
Ooad Overview
Ooad OverviewOoad Overview
Ooad Overview
 
Ooad overview
Ooad overviewOoad overview
Ooad overview
 
FORMALIZATION & DATA ABSTRACTION DURING USE CASE MODELING IN OBJECT ORIENTED ...
FORMALIZATION & DATA ABSTRACTION DURING USE CASE MODELING IN OBJECT ORIENTED ...FORMALIZATION & DATA ABSTRACTION DURING USE CASE MODELING IN OBJECT ORIENTED ...
FORMALIZATION & DATA ABSTRACTION DURING USE CASE MODELING IN OBJECT ORIENTED ...
 
Formalization & data abstraction during use case modeling in object oriented ...
Formalization & data abstraction during use case modeling in object oriented ...Formalization & data abstraction during use case modeling in object oriented ...
Formalization & data abstraction during use case modeling in object oriented ...
 
Introduction.pptx
Introduction.pptxIntroduction.pptx
Introduction.pptx
 
Object oriented analysis and design unit- iv
Object oriented analysis and design unit- ivObject oriented analysis and design unit- iv
Object oriented analysis and design unit- iv
 
Introduction to Unified Modeling Language
Introduction to Unified Modeling LanguageIntroduction to Unified Modeling Language
Introduction to Unified Modeling Language
 
Object oriented analysis and design unit- ii
Object oriented analysis and design unit- iiObject oriented analysis and design unit- ii
Object oriented analysis and design unit- ii
 
Use case diagram
Use case diagramUse case diagram
Use case diagram
 
Uml types
Uml typesUml types
Uml types
 
Object Oriented Database
Object Oriented DatabaseObject Oriented Database
Object Oriented Database
 
INTRODUCTION TO UML DIAGRAMS
INTRODUCTION TO UML DIAGRAMSINTRODUCTION TO UML DIAGRAMS
INTRODUCTION TO UML DIAGRAMS
 
Case stydy cs701
Case stydy cs701 Case stydy cs701
Case stydy cs701
 
Uml(unified modeling language) Homework Help
Uml(unified modeling language) Homework HelpUml(unified modeling language) Homework Help
Uml(unified modeling language) Homework Help
 
Ch 2.1
Ch 2.1Ch 2.1
Ch 2.1
 
Uml Presentation
Uml PresentationUml Presentation
Uml Presentation
 

Último

Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odishasmiwainfosol
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalLionel Briand
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Cizo Technology Services
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Natan Silnitsky
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationBradBedford3
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZABSYZ Inc
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...confluent
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...Akihiro Suda
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfStefano Stabellini
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commercemanigoyal112
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Mater
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)jennyeacort
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...Technogeeks
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 

Último (20)

Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive Goal
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion Application
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZ
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdf
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commerce
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 

UML Design

  • 1. DebashisBiswas Assignment on UML Class diagram, Use case diagram, Object diagram and State chart diagram Course Code : CSE 332 Course title : Software Engineering Submitted to Mahedi Hasan lecturer Department of Computer Science and Engineering Daffodil International University Submitted by Debashis Biswas ID : 143-15-4315 Sec: A (eve), Batch : 24
  • 2. DebashisBiswas  What is UML class diagram ? In software engineering, a class diagram in the Unified Modeling Language (UML) is a type of static structure diagram that describes the structure of a system by showing the system's classes, their attributes, operations (or methods), and the relationships among objects.  Why we use UML Class diagram ? A visual modeling language, such as UML, allows software to be visualized in multiple dimension, so that a computer system can be completely understood before construction begins. Furthermore, UML can be used to produce several models at increasing levels of detail.  Example : Abstract Factory is creational software design pattern. This pattern provides interfaces for creating families of related or dependent objects without specifying their concrete classes. Client software creates a concrete implementation of the abstract factory and then uses the generic interfaces to create the concrete objects that are part of the family of objects. The client does not know or care which concrete objects it gets from each
  • 3. DebashisBiswas of these concrete factories since it uses only the generic interfaces of their products. Use of this pattern makes it possible to interchange families of concrete classes without changing the code that uses them. It separates details of implementation of a set of objects from their usage. FIG 1: UML class diagram example for the Abstract Factory Design Pattern.
  • 4. DebashisBiswas Advantage and disadvantage of UML class diagram The Unified Modeling Language (UML) is a graphical language for visualizing, specifying, constructing, and documenting the artifacts of software-intensive systems. This is a language’ for specifying design details not a method or procedure.  Advantages of UML 1) The UML can be used to model just about any type of application, running on any type and combination of hardware, operating system, programming language, and network, in UML. 2) UML can be used for modeling middleware and this is effective for modeling large, complex software systems 3) Built upon the Microsoft Operating Framework (MOF) met model for object oriented modeling. 4) UML Profiles (that is, subsets of UML tailored for specific purposes) help to model Transactional, Real-time, and Fault- Tolerant systems in a natural way.
  • 5. DebashisBiswas 5) This has an ability to generate test scripts apart from stub code when integrated with Integrated development network. 6) The reverse engineering support, UML regenerate design level artifacts in accordance with the changes you made to the structure of class relationship  Disadvantages of UML 1) UML does not define a standard file format, meaning that each UML tool vendor stores the representation of its UML model in a proprietary format. 2) The result is that the UML model is generally limited to what the vendor provides out of the box, which is usually some form of code generation. Code will be generated once. 3) UML is large and complex (very much like the systems it wants to model) Comprises many different concepts and imprecise semantics 4) Synchronizing code with models is difficult: Using multiple models/diagrams makes it difficult to keep them consistent with each other and the code and much code has to be added by hand
  • 6. DebashisBiswas  what is use case diagram ? To model a system the most important aspect is to capture the dynamic behavior. To clarify a bit in details, dynamic behavior means the behavior of the system when it is running /operating. So only static behavior is not sufficient to model a system rather dynamic behavior is more important than static behavior. In UML there are five diagrams available to model dynamic nature and use case diagram is one of them. Now as we have to discuss that the use case diagram is dynamic in nature there should be some internal or external factors for making the interaction. These internal and external agents are known as actors. So use case diagrams are consists of actors, use cases and their relationships. The diagram is used to model the system/subsystem of an application. A single use case diagram captures a particular functionality of a system. So to model the entire system numbers of use case diagrams are used.  Purpose The purpose of use case diagram is to capture the dynamic aspect of a system. But this definition is too generic to describe the purpose. Because other four diagrams (activity, sequence, collaboration and State chart) are also having the same purpose. So we will
  • 7. DebashisBiswas look into some specific purpose which will distinguish it from other four diagrams. 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. Now when the initial task is complete use case diagrams are modeled to present the outside view. So in brief, the purposes of use case diagrams can be as follows:  Used to gather requirements of a system.  Used to get an outside view of a system.  Identify external and internal factors influencing the system.  Show the interacting among the requirements are actors.  How to draw Use Case Diagram? Use case diagrams are considered for high level requirement analysis of a system. So when the requirements of a system are analyzed the functionalities are captured in use cases. So we can say that use cases are nothing but the system functionalities written in an organized manner. Now the second things which are relevant to the use cases are the actors. Actors can be defined as something that interacts with the system.
  • 8. DebashisBiswas The actors can be human user, some internal applications or may be some external applications. So in a brief when we are planning to draw an use case diagram we should have the following items identified.  Functionalities to be represented as an use case  Actors  Relationships among the use cases and actors. Use case diagrams are drawn to capture the functional requirements of a system. So after identifying the above items we have to follow the following guidelines to draw an efficient use case diagram.  The name of a use case is very important. So the name should be chosen in such a way so that it can identify the functionalities performed.  Give a suitable name for actors.  Show relationships and dependencies clearly in the diagram.  Do not try to include all types of relationships. Because the main purpose of the diagram is to identify requirements.  Use note when ever required to clarify some important points. The following is a sample use case diagram representing the order management system. So if we look into the diagram then we will find three use cases (Order, Special Order and Normal Order) and one actor which is customer.
  • 9. DebashisBiswas The Special Order and Normal Order use cases are extended from Order use case. So they have extends relationship. Another important point is to identify the system boundary which is shown in the picture. The actor Customer lies outside the system as it is an external user of the system.
  • 10. DebashisBiswas  Where to Use Case Diagrams? As we have already discussed there are five diagrams in UML to model dynamic view of a system. Now each and every model has some specific purpose to use. Actually these specific purposes are different angles of a running system. So to understand the dynamics of a system we need to use different types of diagrams. Use case diagram is one of them and its specific purpose is to gather system requirements and actors. Use case diagrams specify the events of a system and their flows. But use case diagram never describes how they are implemented. Use case diagram can be imagined as a black box where only the input, output and the function of the black box is known. These diagrams are used at a very high level of design. Then this high level design is refined again and again to get a complete and practical picture of the system. A well structured use case also describes the pre condition, post condition, exceptions. And these extra elements are used to make test cases when performing the testing. Although the use cases are not a good candidate for forward and reverse engineering but still they are used in a slight different way to make forward and reverse engineering. And the same is true for reverse engineering. Still use case diagram is used differently to make it a candidate for reverse engineering.
  • 11. DebashisBiswas In forward engineering use case diagrams are used to make test cases and in reverse engineering use cases are used to prepare the requirement details from the existing application. So the following are the places where use case diagrams are used:  Requirement analysis and high level design.  Model the context of a system.  Reverse engineering.  Forward engineering. Advantage and disadvantage Of Use care diagram ADVANTAGES  The use cases are mainly composed of narrative text. Hence, unlike many other modeling techniques, the non technical stake holders (e.g. customers, end users, salesperson etc) are also able understand the model for the software system. This means that feedback can be obtained at a very early stage of the development from the customers and the end users.  Another major advantage of use case modeling is that it requires the identification of exceptional scenarios for the use cases. This helps in discovering subtle alternate requirements in the system.
  • 12. DebashisBiswas  The use case model can be utilized in several other aspect of software development as well, e.g. Cost Estimation, Project Planning, Test Case Preparation and User Documentation.  The use case diagram provides a comprehensive summary of the whole software system in a single illustration. DISADVANAGES  They do not capture the non-functional requirements easily.  There might be a learning curve for the developer and/or specially, the client in using these use cases. USES In sum, a well-prepared use case is worth its effort. Once the client has agreed to the use cases, the project managers can plan their schedule, and the developers have a clear understanding of what they must develop. From personal experience, I can say that while a use case is very beneficial, they are rarely perfect, but they always serve a useful purpose. A document attached with -case study -use case -gnat-chart -cost estimates - is the contents of s/w requirements specification document
  • 13. DebashisBiswas  what is Object diagram ? An object diagram is a graph of instances, including objects and data values. A static object diagram is an instance of a class diagram; it shows a snapshot of the detailed state of a system at a point in time. The use of object diagrams is fairly limited, namely to show examples of data structure. What is an Object Diagram in UML? A UML object diagram represents a specific instance of a class diagram at a certain moment in time. When represented graphically you'll see many similarities to the class diagram. We used the same Car class example from the class diagram page to illustrate object diagrams. Our UML shape library can help you design any custom object diagram using our UML online tool Object Diagram vs Class Diagram Object Diagram Example
  • 14. DebashisBiswas Class Diagram Example An object diagram focuses on the attributes of a set of objects and how those objects relate to each other. For instance, in this object diagram below, all three bank accounts tie back to the bank itself. The class titles show the kind of accounts (savings, checking, and credit card) that a given customer could have with this particular bank. The class attributes are different for each kind of account. This is illustrated by the credit card object having a credit limit, while the savings and checking accounts have interest rates. Object diagram are not limited to banking use cases. You can make an object diagram for family trees, corporate departments—any system with interrelated parts.
  • 15. DebashisBiswas Object Diagram Applications There are many instances where a developer will find object diagrams useful. These include:  Examining a specific iteration of a general system.  Getting a high-level overview of the system you will develop.  Testing a class diagram you’ve created for the overall structure of the system, using object diagrams for specific use cases.
  • 16. DebashisBiswas Object Diagram Elements Object diagrams are simple to create: they're made from objects, represented by rectangles, linked together with lines. These are the major elements of an object diagram:  Objects - are instances of a class. If a car is a class, a 2007 Nissan Altman is an object of a class. The objects in the class “Parents” are your specific parents, for instance, Elaine and Gary.  Class titles - the specific attributes of the class. In the family tree object diagram, this is the name, gender, and age of the family members. These can be listed as items on the object, or even in the properties of the object itself (such as color).  Class attributes - a rectangle with two tabs that indicates a software element.  Links - these are the lines connecting one object to another. The corporate object diagram below shows how departments are connected in the traditional organizational chart style.
  • 17. DebashisBiswas  what is State chart diagram ? A state diagram is a diagram used in computer science to describe the behavior of a system considering all the possible states of an object when an event occurs. This behavior is represented and analyzed in a series of events that occur in one or more possible states.  State Diagram A state diagram shows the behavior of classes in response to external stimuli. Specifically a state diagram describes the behavior of a single object in response to a series of events in a system. Sometimes it's also known as a Harel state chart or a state machine diagram. This UML diagram models the dynamic flow of control from state to state of a particular object within a system.
  • 18. DebashisBiswas  What is the Difference between a State Diagram and a Flowchart? A flowchart illustrates processes that are executed in the system that change the state of objects. A state diagram shows the actual changes in state, not the processes or commands that created those changes.  Steps to Drawing a State Diagram Before you begin your drawing find the initial and final state of the object in question. Next, think of the states the object might undergo. For example, in e- commerce a product will have a release or available date, a sold out state, a restocked state, placed in cart state, a saved on wish list state, a purchased state, and so on. Certain transitions will not be applicable when an object is in a particular state, for example a product can be in a purchased state or a saved in cart state if its previous state is sold out.  Basic State chart Diagram Symbols and Notations States States represent situations during the life of an object. You can easily illustrate a state in Smart Draw by using a rectangle with rounded corners.
  • 19. DebashisBiswas Transition A solid arrow represents the path between different states of an object. Label the transition with the event that triggered it and the action that results from it. A state can have a transition that points back to itself. Initial State A filled circle followed by an arrow represents the object's initial state. Final State An arrow pointing to a filled circle nested inside another circle represents the object's final state. Synchronization and Splitting of Control A short heavy bar with two transitions entering it represents a synchronization of control. The first bar is often called a fork where a single transition splits into concurrent multiple transitions. The second bar is called a join, where the concurrent transitions reduce back to one.
  • 20. DebashisBiswas Reference 1. www.cragsystems.co.uk/why_use_uml.htm 2. http://www.uml-diagrams.org/design-pattern-abstract-factory- uml-class-diagram-example.html 3. https://maina1.wordpress.com/2007/10/04/week-7-uml- advantages-and-disadvantages/ 4. https://www.tutorialspoint.com/uml/uml_use_case_diagram.h tm 5. http://mansansaar.blogspot.com/2015/08/advantages-and- disadvantages-of-use.html 6. https://www.lucidchart.com/pages/uml/object-diagram 7. https://www.techopedia.com/definition/16446/state-diagram 8. https://www.smartdraw.com/state-diagram/