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

Understanding Unified Modeling Language (UML)

The document provides an overview of the Unified Modeling Language (UML) and its significance in system modeling, emphasizing its role in visualizing system design and aiding communication among stakeholders. It outlines various types of system modeling, including function models, system architecture, business process modeling, and enterprise modeling, along with principles of modeling and object-oriented modeling concepts. Additionally, it discusses the benefits of object-oriented modeling and the analysis techniques used in software development.

Uploaded by

tjdynamictv
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)
18 views13 pages

Understanding Unified Modeling Language (UML)

The document provides an overview of the Unified Modeling Language (UML) and its significance in system modeling, emphasizing its role in visualizing system design and aiding communication among stakeholders. It outlines various types of system modeling, including function models, system architecture, business process modeling, and enterprise modeling, along with principles of modeling and object-oriented modeling concepts. Additionally, it discusses the benefits of object-oriented modeling and the analysis techniques used in software development.

Uploaded by

tjdynamictv
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

Introduction

The Unified Modeling Language (UML) is a modeling language that can be used for a variety of
purposes. The primary goal of UML is to define a standard way to visualize how a system was
designed. It's very similar to blueprints, which are used in other fields of engineering.

UML is a visual language, not a programming language. UML diagrams are used to illustrate the
behavior and structure of a system. Modeling, design, and analysis are all aided by UML, which
is used by software engineers, businesspeople, and system architects. In 1997, the Object
Management Group (OMG) approved Unified Modelling Language as a standard. Since then, it
has been managed by OMG. In 2005, the International Organization for Standardization (ISO)
approved UML as a standard. UML has been revised over time and is reviewed on a regular basis.

What is System Modelling?

1. System Modelling is the process of developing abstract models of a system with model
presenting a different view or perspective of that system.
2. System Model represent aspects of a system and its environment.
3. System Modelling is a means of representing a world view in a detailed view of the system
using the same kind of Graphical Notation.

Importance of System Modelling

1. System modelling helps the analyst to understand the functionality of the system and
models are used to communicate with customers.
2. System modeling aids in representing a system using some kind of graphical notation,
which is now almost always based on notations in the Unified Modeling Language (UML).
3. System modelling helps to represent the behavior of system processes and the assumptions
on which the behavior is based.
4. It is also used to represent all linkages (input/output) that will enable programmers to better
understand the view.
5. It helps to explicitly define both exogenous and endogenous input to the model.

6. Models gives us a template that guides us in constructing a system.


Types of System Modelling

The types of System Modelling is described below:

1. Function Model: is the graphical depiction of a function inside a specific scope, akin to the
activity model or process model. It aims at describing functions and processes, helping
information to be discovered, helping to find opportunities and to provide the foundation
for the pricing of product and service.

Example of a function model of the process of "Maintain Reparable Spares" in IDEF0 notation.

2. System Architecture: It is the conceptual model that specifies the structure, behavior, and
additional system perspectives is a system architecture. The description and representation
of an architecture is a formal system, arranged in such a way that the structures and
comportment of the system are reasoned. A system architecture might consist of system
components and created sub-systems that work to implement the system as a whole.
Example of a System Architecture of a Computer System

3. Business process modelling: represents a company's processes in order to examine,


optimize and automate the current process. BPM is usually carried out by analysts who
give competence in the modeling field, by topic specialists with specialist understanding
of processes or more frequently by a team of two. Alternatively, the process model may be
generated utilizing process mining techniques straight from event logs.
Example of business process modeling of a process with a normal flow with the Business Process
Model and Notation

4. Enterprise Modelling: It is the abstracted representation, description, and specification of


the structure, procedures, information and resources of a company, or any other major
organization is enterprise modeling. It covers the process of understanding and enhancing
the performance of a company by creating and analyzing business models. This comprises
modeling the appropriate business domain (typically rather stable), business processes
(typically more variable) and IT uses in and of its processes.
Graphical representation of some types of models in enterprise modelling.

Principles of Modelling

The basic principles of modeling is described below:

a. The choice of model is important: The choice of what models to create has a profound
influence on how a problem is attacked and how a solution is shaped. We need to choose
your models well. The right models will highlight the most critical development
problems. Wrong models will mislead you, causing you to focus on irrelevant issues.

For Example: We can use different types of diagrams for different phases in software
development.
b. Every model may be expressed at different levels of precision

For Example, if you are building a high rise, sometimes you need a 30,000-foot view for
instance, to help your investors visualize its look and feel. Other times, you need to get
down to the level of the studs for instance, when there's a tricky pipe run or an unusual
structural element.

c. The best models are connected to reality: All models simplify reality and a good model
reflects important key characteristics.

d. No single model is sufficient: Every non-trivial system is best approached through a small
set of nearly independent models. Create models that can be built and studied separately,
but are still interrelated.
System Model

The term ‘system model’ is used in many different domains, fields of application and in various
forms with different meanings. It is the way in which the components of the system interact with
each other and the way in which they are mapped onto an underlying network of computers.

Types of System Model

a. Conceptual Models: are qualitative models that help highlight important connections in
real world systems and processes. They are used as a first step in the development of more
complex models.
b. Interactive Demonstrations: are physical models of systems that can be easily observed
and manipulated and which have characteristics similar to key features of more complex
systems in the real world. These models can help bridge the gap between conceptual
models and models of more complex real world systems.
c. Analytical models: are mathematical models that have a closed form solution, i.e. the
solution to the equations used to describe changes in a system can be expressed as a
mathematical analytic function. For example,

A model of personal savings that assumes a fixed yearly growth rate, r, in savings (S)
implies that time rate of change in saving d(S)/dt is given by,

d(S)/dt= r (S) eqn. 1

System Modeling Tool

The System Modeling Tool typically addresses a subset of the total requirements depending on the
scope of the model. As a result, the System Modeling Tool can be used to propose updates to the
requirements baseline, but they are formally updated and controlled in the Requirements
Management Tool. System modeling tool categories can be UML, sysML Designer, agilian. The
tools are listed below:

1. ER/Studio is a data modeling software that enables you to efficiently catalog your current
data assets and sources across different platforms, build and share data models, and track
end-to-end data lineage.
2. DbSchema is a visual database designer & manager for any SQL, NoSQL or Cloud
database. The tool enables you to design & interact with the database schema, create
comprehensive documentation and reports, work offline, synchronize the schema with the
database, and so much more.
3. ConceptDraw: offers a range of business business-specific add-ons for creating Info-
graphics, diagrams, data visualization, and flowcharts for the business process model.
4. Erwin Data Modeler: is a data modeling tool which is used to create logical, physical, and
conceptual data models. It is one of the best data modelling tools that helps you to create
the actual database from the physical model.
5. Moon Modeler: is a data modeling tool for both relational and NoSQL databases.
Supported platforms include MongoDB, PostgreSQL, MySQL, GraphQL and others.
OBJECT ORIENTED MODELLING

Object-oriented modeling (OOM) is the process of creating objects from a collection of objects
that hold the stored values of the object's instance variables. Unlike record-oriented models, object-
oriented values are only objects. The object-oriented modeling technique brings application and
database development together and converts them into a single data model and language
environment. Object-oriented modeling supports data abstraction, inheritance, and encapsulation
while allowing object identification and communication.

Object Oriented Concepts

a. Object

An object is a real-world element in an object–oriented environment that may have a physical or


a conceptual existence. Objects can be modelled according to the needs of the application. An
object may have a physical existence, like a customer, a car, etc.; or an intangible conceptual
existence, like a project, a process, etc.

b. Class

A class represents a collection of objects having same characteristic properties that exhibit
common behavior. It gives the blueprint or description of the objects that can be created from it.
Creation of an object as a member of a class is called instantiation.

c. Polymorphism: Mechanism by which functions or entities are able to exist in different


forms.
Abstraction: Abstraction means to focus on the essential features of an element or object in
OOP, ignoring its extraneous or accidental properties. The essential features are relative to the
context in which the object is being used. It is important because it helps to decouple software
elements.
Encapsulation: Encapsulation is the process of binding both attributes and methods together
within a class. Through encapsulation, the internal details of a class can be hidden from outside.
The class has methods that provide user interfaces by which the services provided by the class
may be used. The essence why encapsulation is important is because it helps in hiding data from
the real world

1. Inheritance – Inheritance is a mechanism by which child classes inherit the


properties of their parent classes.
2. Abstraction – Mechanism by which implementation details are hidden from
user.
3. Encapsulation – Binding data together and protecting it from the outer world
is referred to as encapsulation.
4. Polymorphism – Mechanism by which functions or entities are able to exist
in different forms.

Benefits of Object Oriented Modeling

The benefits of using the object model are:

(a) It helps in faster development of software.

(b) It is easy to maintain. Suppose a module develops an error, then a programmer can fix that
particular module, while the other parts of the software are still up and running.

(c) It supports relatively hassle-free upgrades.

(d) It enables reuse of objects, designs, and functions.

(e) It reduces development risks, particularly in integration of complex systems


Object Oriented Analysis

In the system analysis or object-oriented analysis phase of software development, the system
requirements are determined, the classes are identified and the relationships among classes are
identified. The three analysis techniques that are used in conjunction with each other for object-
oriented analysis are object modelling, dynamic modelling, and functional modelling.

 Object Modelling

Object modelling develops the static structure of the software system in terms of objects. It
identifies the objects, the classes into which the objects can be grouped into and the relationships
between the objects. It also identifies the main attributes and operations that characterize each
class. The process of object modelling can be visualized in the following steps:

(a) Identify objects and group into classes

(b) Identify the relationships among classes

(c) Create user object model diagram

(d) Define user object attributes

(e) Define the operations that should be performed on the classes

 Dynamic Modelling

After the static behavior of the system is analyzed, its behavior with respect to time and external
changes needs to be examined. This is the purpose of dynamic modelling.

Dynamic Modelling can be defined as “a way of describing how an individual object responds to
events, either internal events triggered by other objects, or external events triggered by the outside
world”. The process of dynamic modelling can be visualized in the following steps:

(a) Identify states of each object

(b) Identify events and analyze the applicability of actions

(c) Construct dynamic model diagram, comprising of state transition diagrams


(d) Express each state in terms of object attributes

(e) Validate the state–transition diagrams drawn

 Functional Modelling

Functional Modelling is the final component of object-oriented analysis. The functional model
shows the processes that are performed within an object and how the data changes as it moves
between methods. It specifies the meaning of the operations of object modelling and the actions
of dynamic modelling. The functional model corresponds to the data flow diagram of traditional
structured analysis. The process of functional modelling can be visualized in the following steps:

(a) Identify all the inputs and outputs

(b) Construct data flow diagrams showing functional dependencies

(c) State the purpose of each function

(d) Identify constraints

(e) Specify optimization criteria


Advantages and Disadvantages of Object Oriented Analysis

You might also like