Software Modeling and
Department of Computer Sciences
Virtual University of Pakistan, Lahore Pakistan
Abstract— Software development is a complicated
process but the complexity can be minimized by using different approaches one
of which is software modeling. Models play a very important role in the
production of software development. Software models are constructed with the
help of some abstract languages, graphs and pictures through them a software
design can be defined exactly as what the real system will do. There will be
numerous tools that will help in software modeling and system design. In this
paper the main discussion is software modeling and the ways in which it helps
to discover problems at beginning stage and let the software engineering to
correct them without bearing a big loss.
Software modeling leads whole software
production process to such a noteworthy success and quality of software that is
Software modeling benefits
may include better understanding of the required software, accurate
specification of required software and metrics for the verification and
validation of the software.by using modeling techniques we can test the quality
of our software that will be produced.
So, the software modeling is
considered as the initial step to apply software engineering process and
simulation. All the problems that are rising in software development can be
found out in modeling process. In modeling process particular details are
mentioned and ways to map them are described.
Different modeling techniques like
object-oriented modeling, functional modeling and dynamic modeling are used for
software modeling. These modeling techniques provide platform for
communication, set the software boundary, defines partitions, abstractions and
modeling, software development, software engineering, simulation, modeling
techniques, abstractions, partitions, projections
Software modeling is considered as the
major aspect of the whole process of software development. Adoption of modeling
techniques in the process of software development make sure that the produced
software will be outstanding and standard software. Software models are
constructed to communicate the desired structure and behavior of the system. By
using different software modeling techniques a system architecture can be
visualized and different ways to control a system are found.
Simulation and modeling makes a
system’s behavior understandable and provides opportunities to fill up
deficiencies and provides simplifications. High risk of failure of software in
future are minimized. Software modeling depicts the real picture of a software
design, its interface that how it will interact with other systems and how this
system will react in some certain situations or under critical conditions. Use
of models make whole software development process understandable and creates an
environment of interaction among different stakeholders.
Object-oriented software modeling
technique is used when real life objects are used directly and explicitly and
also provides such a structure in which object inherit properties from their parent
class. Functional modeling or functional –oriented modeling is a ranking of
functions and activities. Most abstract functions and least abstract functions
are described in this technique. All the functions
And activities are in an order and in
a sequence. Different types of functions related to this technique will be
discussed in detail in section I.
Dynamic modeling is concerned with such
features that are dynamic like time and other changing values. This technique
works with flow controls operations, interactions and sequence of process.
Next in this paper section I will describe different software
modeling techniques. Section II will
describe related work. Section III will
describe analysis and section IV
will describes conclusion.
Modeling techniques— Object-oriented modeling technique:
The object-oriented modeling technique
is a technique in which the main concern is objects just like objects as in
real life. For software modeling different abstract languages are used for
example UML for object oriented modeling .UML uses different objects, diagrams
and use cases.
UML is used for visualization,
specification, construction and documentation of an object-oriented system. UML
represents a system physically and conceptually. Object oriented modeling technique
was developed in 1991, Blaha, Premerlani, Eddy and Lorensen as an approach to
develop object-oriented systems.
Object-oriented modeling technique includes:
To test the physical
entities before constructing them
(alternative presentation of information), and Minimization of complications.
UML defines different concepts that are following:
It will define Static structure of the system as well as Dynamic
behavior of the system.
How a system will be implemented.
Model of the required software.
Different approaches for modeling.
In object oriented modeling the first thing is
to describe the basis of the application. Entities attributes and the
relationship between these entities. Application basic means to define classes,
discrete objects of each class and their information. This information is
considered as the attributes of the entities of the class.
And the functionalities of these entities is
considered as operations.
In software modeling a functional modeling
technique represents the structure of the required software. All the
procedures. Processes, activities and functionalities of the required systems
are defined by this technique. As it is homogenous to the activity model and
process model, it models a system graphically. This technique will define all
the functionalities of the enterprise and will calculate the overall
expenditure of the product development. Functional modeling is concerned with
functionalities that is also concerned with business process modeling.
This technique also deals with dynamic
process and data flow diagrams are the best example of it. Four notations are
used to define a process these are; process, data collection, flow control and
A dynamic model in software modeling is concerned with
behavior of an object or entity over time. This technique is used where the
changing behavior of an object is to be calculated as a set of states in a sequential
manner. A state cannot be repeated if once it is approved.
main role that software development concerned with in the production and
application of information technology, managers are highly concerned with
process betterment in the software production. This requirement results in the
creation of new approaches for developing software with easy and efficient ways
like object-orientation (OO). As the main concern is process betterment has
raised the demand for software quality. When an organization meets with some
new technology it needs all new approaches. Researches have been made on such
issues and many needs for the development of new versions of matrices for OO
design are appeared. The old versions of the OO design are working efficiently
and are worth to describe but it is necessary to make them more attractive.
Wand and Weber were selected the theoretical base for metrics of bunge 1977.
design metrics was made and then its evaluation was made against Weyuker’s 1998.An
automated data collection tool was then developed and implemented to collect an
empirical sample of these metrics at two field sites in order to demonstrate
their feasibility and suggest ways in which managers may use these metrics for
with functional technique is originated back to late 19th century.
At very first, business activity diagrams actions and operation of the process
are pictured and their emergent become true in the mid of 20th
century. Frank gilbreth inaugurated flow process chart by American Society of Mechanical
Engineers. William Gosling a British engineer was the first person to
introduced the function model.
Different terminologies like modeling
facilitate the development of software. Modeling process is the initial stage
of the production of the software as it tells about any defects in coming next
in development and saves from any loss timely. Why modeling is need, the answer
is the models are complete descriptions and are understandable. The firstly
described technique object-oriented technique utilize the
software development life cycle in the very beginning of it. Software development
cycle is partitioned into different steps starting from abstract definition to
the end of successful design. By modeling systems functionalities and system
specifications are considered precisely. And implementation of these models find
out that how to fix the found issues.
In this paper it is argued that
object-oriented technique lessen the gap between entities and real world
objects. Object-oriented modeling technique uses UML and use cases for better
Modeling and simulation plays very
significant role for software development. Now a days, modeling techniques are
widely used and have a high scope as it results in high quality software
production. This paper maps between three techniques of software modeling which
are used according to the situations occurs in development process.
This paper explains in which situation
which modeling technique will be used. Finally it concludes the best modeling
practices and modeling significance.
This paper argues on the specification
on the modeling in different fields of software development. Because software
modeling provides precise description of the system or software that will be
produced or simulated. And by using different modeling techniques would
obviously make easier the development process. Now a days, modeling techniques
are widely used because of their efficient work in the production of software.
1 Djedjiga Mouheb, Mourad Debbabi,
Makan Pourzandi, Lingyu
Wang, Mariam Nouh, Raha Ziarati, Dima
Chamseddine Talhi, Vitor Lima.
“Unified Modeling Language.”
Aspect-Oriented Security Hardening of
UML Design Models.
Springer International Publishing,
2 Omar Badreddin, Timothy C.
Lethbridge, and Maged Elassar.
“Modeling Practices in Open
Source Software.” Open Source
Software: Quality Verification.
Springer Berlin Heidelberg,
3 ‘Software Requirements: Objects,
Functions, and States’ by Al. Davis, 1993
4 ‘The Unified Modeling Language
User Guide’ by G. Booch, J. Rambaugh, & I. Jacobson, Addison-Wesley, 1998
5 Arthur D. Hall (1962). A
Methodology for Systems Engineering. Van Nostrand Reinhold. ISBN 0-442-03046-0.
6 Jump up ^ William Gosling (1962)
The design of engineering systems. p. 23
7 Jump up ^ Tim Weilkiens (2008).
Systems Engineering with SysML/UML: Modeling, Analysis, Design. Page 287.
8 Jacobsen, Ivar; Magnus
Christerson; Patrik Jonsson; Gunnar Overgaard (1992). Object Oriented Software
Engineering. Addison-Wesley ACM Press. pp. 15,199. ISBN 0-201-54435-0.
8. IEEE-CS/ACM, Joint Task Force on
Computing Curricula: Computing Curriculum –
Software Engineering: Final Report.