The Unified Modeling Language (UML)

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 18

The Unified Modeling

Language(UML)
Group 1
CS/ND/F21/3474
CS/ND/F21/3475
CS/ND/F21/3476
CS/ND/F21/3477
CS/ND/F21/3478
CS/ND/F21/3479
CS/ND/F21/3480
CS/ND/F21/3481
CS/ND/F21/3482
CS/ND/F21/3483
CS/ND/F21/3484
CS/ND/F21/3485
CS/ND/F21/3486
CS/ND/F21/3487
CS/ND/F21/3488
CS/ND/F21/3489
CS/ND/F21/3490
CS/ND/F21/3491
CS/ND/F21/3492
2023, April 04.
CS/ND/F21/3493
Outline
• Definition of UML
• Origin of UML
• Uses of UML
• Types of UML Diagrams
• Relevance of UML in Software Development Processes
• UML Symbol Sets
• UML Software/tools
• References
Definition of UML
• The Unified Modeling Language (UML) is a general-purpose, development
modeling language in the field of Software Engineering that is intended to
provide a standard way to visualize the design of a system.
• According to Magaret Rouse, Unified Modeling Language is a standardized
modeling language enabling developers to specify, visualize, construct and
document artifacts of a software system. It is also a generic developmental
modeling language used for analysis design and implementation of
software systems.
• The UML uses mostly graphical notations to express the design of software
projects.
Origin of UML
• In early stages of model driven development, there was a great need for
some universal approach for modeling a software system
• As different people understand the notation in different way if there is no
universal model approach
• At that time Grady Booch, Ivar Jacobson, and James Rumbaugh gave their
theories and it was universally accepted
• All of three decided to build a notation language by merging all of three
languages and out product of that was UML (Unified Modeling Language)
• In 1997, Object Management Group. A non-profit organization
standardized the UML
• Since then they are making improvement in UML
• Released versions of UML
Versions of UML
• 1.1 November 1997
• 1.2 July 1998
• 1.3 March 2000
• 1.4 September 2001
• 1.5 March 2003
• 1.4.2 January 2005
• 2.0 August 2005
• 2.1 April 2006
• 2.1.1 February 2007
• 2.1.2 November 2007
• 2.2 February 2009
• 2.3 May 2010
• 2.4.1 August 2011
• 2.5 June 2015
Uses of UML
• It helps you to organize, plan and visualize a program. It may describe a specifically objet-
oriented program.
• It shows a visual representation of the relationship between classes and entities in a
computer program. It may be essential to understand a program by determining what
each class object does, the information stored and the relation to other classes in the
program.
• It can be readable because the programs can be well illustrated. It may help the software
developer understand the relationship in a program in a straightforward manner.
• A software engineer can see redundant codes and reuse the portions of code that exist
to reprogram others based on their functions. It can help change the model of the system
to cater to the developer’s idea.
• It helps to plan a program before the programming takes place. It can reduce overhead
costs during the implementation stage of any program.
• It’s flexible enough because you may model elements and interaction using the UML to
benefit the domain or technologies may be using. You may be able to change the object’s
behavior over time.
• Its widely used to communicate visual language and detailed information to the
largest number of users. It can communicate the behavior system for a large
audience.
• You can design patterns, reverse engineer code and they can perform complexity
analysis. You can easily change the object’s behavior.
• It implement a specific code and can highlight it through diagrams and program it to
the described structure.
• It implement a specific code and can highlight it through diagrams and program it to
the described structure
• It’s easier to locate errors in it. It may be relatively easy for a software developer to
debug errors in the system
• Formal notations may no be necessary. It can be diagrams or models to design a
program.
• It’s standardization tool and it may help programmers to be productive in their work.
Types of UML Diagrams
• Structural diagrams
– Class diagram
– Object diagram
– Component diagram
– Deployment diagram
– Composite structure diagram
– Profile diagram
– Package diagram
• Behavioral diagrams
– Use case diagram
– State machine diagram
– Activity diagram
– Interaction diagrams
• Sequence diagram
• Timing diagram
• Communication diagram
Class Diagram Object Diagram
James : Client
Client
Name = “James”
-name NIN = “748687989”
-employment Address = “420 main street”
-NIN Employment = “Student”
-address
+owns()

Account Checking Account Savings Account


-type
-owner Type = “Student Checking” Type = “Student Savings”
-account_number Owner = “James” Owner = “James”
Account_number = “2132257966” Account_number = “2132257966”
Balance = “324.43” Balance = “678.43”
Withdrawal_limit = “500” Rate = “0.15%”

Checking Account Savings Account


-balance -balance
-withdrawal_limit -rate
+debit()
+credit() +debit()
+withdraw() +credit()
User Case Diagram State Machine Diagram
Begin
System online training registration

Entering the
View User authentication service
OTP
Courses
Registered-User

False
Join a
OTP
Course
Validation
Web Browser

True
Register
User User
Authentication
New-User
Terminate
Activity Diagram

[Enter User Name and Password]

Get Details

Error [Submit]

Validate Data

No Yes
Rejected Accepted
Classification of UML Diagrams
UML Diagram Types

Structural Diagram Behavioral Diagram

Class Diagram Package Diagram Activity Diagram

Object Diagram Use Case Diagram

Component Diagram State Machine Diagram

Deployment Diagram Interaction Diagram

Composite Structure Sequence Diagram


Diagram Communication Diagram
Timing Diagram
Profile Diagram
Relevance of UML in Software Development
Processes
• Improve design quality
• Facilitate communication
• Documentation
• Aid in code generation
• Testing
• Facilitate maintenance
UML Symbol Sets
• UML symbols helps us to define the structural and behavioral aspect of a
system. Things, relationships and diagrams are three building blocks of
UML syntax
• Structural things
– Class Notation
– Object Notation
– Interface Notation
– Collaboration Notation
– Use case Notation
– Actor Notation
– Component Notation
– Node Notation
• Behavior things
– Activity Notation
– Interaction Notation
– State Machine Notation
Class-name Object-name

+Class attributes Attributes A = value A


Collaboration-name
UseCase-name
+Class-functions() Attributes B = value B

Interface-name

Component-name Package1
Node-name
Annotation

Actor-name
• Grouping things
– Package Notation
• Annotation things
– Note Notation
• Relationship
– Dependency relationship
– Association relationship
– Generalization relationship
– Realization relationship

Object Object
Association
Table Table
Dependency
View View
Generalization

Object Object
Realization
UML Software/Tools
• Enterprise Architect
• Visual paradigm
• IBM rational software architect
• MagicDraw
• Astah
• Lucidchart
• StarUML
• ArgoUML
• Software ideas Modeler
• Enterprise Architect
• Papyrus
• Umbrella UML Modeller
References
GLIFFY (2020, October 20). What is UML ? Everything You Need To Know About Unified Modeling
Language. Retrieved from

https://www.gliffy.com/blog/what-is-uml-everything-you-need-to-know-about-unified-modeling-l
anguage
.

CHATGPT (2023, March 28). UML Relevance in Software. Retrieved from https://chat.openai.com/chat.

WIKIPEDIA(2021, July 26). Unified Modeling Language. Retrieved from


https://en.m.wikipedia.org/wiki/Unified_Modeling_Language

AMIT (2018, October 13). All You Need To Know About UML Diagrams: Types and 5+ Examples.
Retrieved from https://tallyfy.com/uml-diagram/.

INDEED EDITORIAL TEAM (2023, February 4). What is Unified Model Language ? (With Types and
Uses). Retrieved from
https://uk.indeed.com/career-advice/career-development/what-is-unified-model-language/.

You might also like