0% found this document useful (0 votes)
121 views

Object Oriented Software Engineering Mod PDF

1) Object Oriented Software Engineering (OOSE) is an approach that uses object-oriented programming concepts like classes and objects throughout the software development process. 2) OOSE includes Object Oriented Analysis, which identifies required classes for the system, Object Oriented Design, which implements the classes, and Object Oriented Programming. 3) The paper discusses OOSE models and how they provide a framework for software development by emphasizing reuse, reducing complexity, and integrating software elements through classes.

Uploaded by

Ahmed adel
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
121 views

Object Oriented Software Engineering Mod PDF

1) Object Oriented Software Engineering (OOSE) is an approach that uses object-oriented programming concepts like classes and objects throughout the software development process. 2) OOSE includes Object Oriented Analysis, which identifies required classes for the system, Object Oriented Design, which implements the classes, and Object Oriented Programming. 3) The paper discusses OOSE models and how they provide a framework for software development by emphasizing reuse, reducing complexity, and integrating software elements through classes.

Uploaded by

Ahmed adel
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

International Journal of Computer Applications (0975 – 8887)

Volume 95– No.3, June 2014

Object Oriented Software Engineering Models in


Software Industry

Farhad Soleimanian Saman Jodati Gourabi Isa Maleki


Gharehchopogh Department of Computer Department of Computer
Department of Computer Engineering, Science and Engineering, Science and
Engineering, Science and Research Branch, Islamic Azad Research Branch, Islamic Azad
Research Branch, Islamic Azad University, West Azerbaijan, University, West Azerbaijan,
University, West Azerbaijan, IRAN IRAN
IRAN

ABSTRACT One of the main goals of OOSE is emphasizing the reduction


By the development of the software industry and the advances of costs and the time for production of software. OOSE uses
of the software engineering sciences, the use of Object the classes and this presents an efficient method for
Oriented Software Engineering (OOSE) has increased in the integration in development of software. So, software
software complex world. The origin of the OOSE in development using OOSE makes implementation take place
evaluation and design of the software has expanded much and once but be used more times. By the appearance of the OOSE
is now considered as one of the software integration the large software systems development has become possible
processes. The OOSE is a set of the Object Oriented Analysis and it has not also reduced the complexity of the software, but
(OOA) models, Object Oriented Design (OOD) and the also has made the implemented classes be reused in
Object Oriented Programming (OOP) which provide a development of other software [6].
powerful framework for development of the software. The The OOA is a powerful model for analyzing the software
OOSE provides the possibility of OOP on the development development. In OOA, each object is considered as a class in
and production of the software after the analysis and implementation procedure and the required and necessary
designing the software. In the paper, we study the OOSE classes are identified to reach the software development [7, 8].
models which is a progressing technology in software In OOA model, creation of the classes required in system is
industry. emphasized. In OOD, the emphasis is on the implementation
of the classes, adjectives and specifications which are
Keywords considered as the core of the class. As a result, the
Software Development, Object Oriented Software combination of the OOA and OOD models leads to the OOP.
Engineering, Object Oriented Analysis, Object Oriented
Design, Object Oriented Programming. We have organized the general structure of this paper as
follow: In section 2, the OOSE is studied; In section 3, the
1. INTRODUCTION OOSE models is discussed; Section 4, includes the OOSE
Late in three decades the creation and application of the models are describes and at last the conclusion and the future
software has progressed a lot. Now, the software industry is so works are presented in section 5. It must be added that the
widely extended that the structured methods can no more Unified Modeling Language (UML) software is used for
analyze and design the complex software systems. So, the modeling the capabilities of object oriented.
object oriented models make us defeat the software design
and analysis in short time. OOSE is a relatively new method 2. OBJECT ORIENTED SOFTWARE
for designing and implementing the software systems. The ENGINEERING
main goal of the OOSE is the increasing the reusability By the development of the software industry, the OOSE tries
capacity of the software, reducing the complexity and the to create the models which make the development of the
software systems maintenance costs [1]. The OOP merges the software fast and with low costs. So, the OOSE could be
designing and implementation stages in a high range. So, the described as a set of the patterns which identify a set of
workgroups can work on different sections on programming activities and object oriented methods on development of the
operations. OOSE is based on the classes which identify the software. OOSE makes a structure in which the methods,
behavior of the data present in the software system [2]. OOSE processes and tools are combined for development of
in fact describes a set of analysis, design and implementation software.
processes and this has made the development of the most of
the software systems on the bases of object oriented. The discussable point in OOSE is the design and analysis
phases which make the role and the relation dependency for
Object oriented was first suggested for the development of the any of the classes more integrated and then the total sketch for
software in 1960 [3]. Developers of the software focused on software systems is created combining the classes. The object
object oriented in 1980s and this method got to be used vastly oriented programs generally include objects which use classes
in the software society [3, 4]. The object technology provides to get in relationship. So, the object oriented emphasizes on
reusability capacity for the software elements and plays the completeness of the objects [9].
important role in acceleration of software development and
production of software with higher efficiency [4, 5]. So, using The object oriented models describe a set of the activities for
the OOP it is easier to develop and implement the software. development of the software and they develop any activity
according to a set of the goals. So, OOSE leads to reuse of the

13
International Journal of Computer Applications (0975 – 8887)
Volume 95– No.3, June 2014

software and enters the integration capability into the framework for software development. The fast changes in
software. The integration process is a struggle to reach the software engineering and the changes of technology in this
best specifications of the models of the software process. In field are the causes which lead to use of OOSE as a
OOA, the primary requirements for software are logically and
framework for integrity and organization of the software
suitably defined. So, OOA process identifies the importance
of relation of the customer requirement to the software and elements. Figure (1) shows the dependency of the OOSE for
adds to the efficiency of the methods in analysis of software development for software development.
[1]. OOP is a set of concepts, bases, methods and tools which
are considered in programming the software. The most
important goal of the OOP is the reuse of the codes in
software development process. The OOP for reuse will lead to
reduction of the costs and the reduction of coding of the
software. The goal of object oriented is the transforming the
customer requirements from a set of defined capabilities to
software. To reach this goal, the OOSE must use the OOP and
create a total infrastructure for the development of the
software. The OOD is focused on completing the classes for
description of the objects. All methods and member functions
are defined in description of a class. The main goal of the
class designing is the mutual effect of the classes on each Figure (1): The Relation of the OOSE models
other [2]. Now, most of the software are object oriented
because they make software development easier and fast.
3.1. Object Oriented Analysis
Object Oriented Analysis and Design (OOAD) identifies the
The analysis requirements and providing the comprehensive
customer requirements, the economic and technical facilities
description of them is the checkpoint in software
and identifies the operation for software, hardware, users and
development. Because software development takes place by
data base which are the key components of software
the deep look to the findings of the analysis. The OOA
development. The OOAD makes the software meet the
conforms all software engineering activities to the software
requirements of the customers. The goal of OOAD is to reach
development requirement [12]. So, from the software process
comprehensive architecture of the data, applicative
view, the OOA identifies the software requirements in
architecture and infrastructure of the software development.
software development activities. The OOA fulfills and
The OOAD makes the software development conform to the
executes the main requirements of the users, studies the
requirements and relation activities of modeling [10]. Also,
feasibilities, validates the specifications and manages the
the researchers [4] have studied the (Object Oriented
requirements [13]. The OOA must identify all classes related
Programming Structure) OOPS capabilities. The goal of
to the software and the adjectives related to the classes, the
OOPS is the modeling based on class and presentation of the
relationship between the classes and their behavior [14]. So,
relation of the sections of software systems and the analysis of
the goal of OOA is development of a model which describes
the operative activities. In OOP, the reuse of the program
software for identifying the requirements of the users. The
codes is the key factor in success of progressing software.
results of OOA lead to description of the operating
And the goal of OOA and OOD is the improvement of quality
specifications of the software, presentation of the relationship
and efficiency of the process of software systems
of the software with other system elements and identification
development. In OOD, it must be tried to make classes
of the limits which the software faces with [13]. So, OOA in
dependent to each other and make them change data with
OOSE makes the operating activities, the classes and their
each. So, the classes must be designed in a way that the
relationship, the system behavior and the data in relationship
contents of one class accessible for others and then the test
to the classes become clear.
and progress of the software would be easier. The production
and development models in each software packet are different 3.2. Object Oriented Design
in relation to methodology and the selective process model. The main goal of OOSE is the efficiency, reliability,
The software development models are a structured method for reusability and the capability of sharing the resources in
attribution of the tasks and the responsibilities in a software software systems. So, the OOD can support these goals and
development team and the goal is the production of software increase the reusability factor in software development. The
of high quality, meeting the end users’ needs. In OOSE, the OOD is focused on organizing the objects in the classes and
requirements and the mutual relationships of the classes in all methods and the functions in a class are defined in OOD
OOA and OOD are identified. Object oriented is very stage [15]. OOD is a process in which the user requirements
important in development of software, because the object are transformed to a design for software creation. In OOD all
oriented models are very effective in program structure, requirements in an analysis model must be operated and
program sectioning and its complexity. Also, the Component conform to the requirements of the users [16]. OOD
Based Development is more advantageous in increasing the transforms the data objects defined in analysis model to the
reusability capability, reduction of costs and the time of data classes which conform to software development [17]. So,
production and is a very important point in software OOD leads to a structure in which the class implementation
development [8]. takes place after requirements analysis. OOD in OOSE
includes two main factors [15]. First, software should have no
3. THE OBJECT ORIENTED errors violating the operation of it. Second, the relations
SOFTWARE ENGINEERING MODELS between the data objects and other information related to each
other must be defined.
In OOSE, the software systems develop by a set of models
which present complete requirements, designing and OOP 3.3. Object Oriented Programming
[11]. So, OOSE is composed of a set of models which create a

14
International Journal of Computer Applications (0975 – 8887)
Volume 95– No.3, June 2014

One of the basic techniques of coding is OOP. OOP is a new


method in which parts are created and used in different
sections of the software [18]. So, when software is
implemented by OOP, it is possible to say that software
includes a set of commands and in relation classes, and if the
classes are organized hierarchically, reusable codes are
created which reduce the time and the costs of production. So,
the complexity of the operations is reduced and the large
software could be manages better. The use of OOP makes the
producers hide the complexity of the software systems in
classes and use them as an interface for operations [19]. The
Figure (3): Polymorphism Modeling in UML
OOP models the relationship between the objects of the
As it is seen in Figure (3), using polymorphism capability it is
classes and makes the objects get in relationship with each
possible to identify some functions with the same name and
other via sending messages. The OOP packets the data and the
different structure (number of parameters, type of the
functions and provides the reusability, creation and
parameters).
application of the packets to make software development
takes place fast [5]. OOP model uses diverse facilities for Inheritance: Inheritance is an operation in which an object
software development systems. Three main capabilities of can get the specifications of another object. So, using the
OOP are pointed in [2, 6 and 20]. inheritance it is just needed to identify the specifications
which are exclusive inside the classes and inherit the other
Encapsulation: In OOP classes do encapsulation and the adjectives from other classes [6]. SO, if changes take place in
variables, methods and functions are hidden inside them and
data and the functions of the inherited classes, they will be
manage coding in software systems development [2]. So,
operated in other inheriting classes. SO, the hierarchical
encapsulation makes any part of coding to be considered as a
mechanism for propagating the changes is used in system.
class and organize the field and the methods better. Also,
Inheritance is used frequently in OOP. Reusability of the
encapsulation is often called hiding information.
codes is one of the main advantages of inheritance [6]. The
Encapsulation creates limits in accessing the internal data of
most important specifications of inheritance are the reusability
the classes. This limitation makes the specific details of
possibility and harmonization between the classes [20]. Figure
objects’ behavior be hidden. So, encapsulation creates a
(4) shows the inheritance modeling in UML.
capsule which protects the internal status of the objects from
the users. Capsulation is the completeness and integrity and
shows the relation of the data and the methods of the classes
in integration [6]. Although any of the classes are
implemented for a specific responsibility in encapsulation, but
all of them are related to each other. Their relationship is
mutual and affects each other. Figure (2) shows encapsulation
modeling in UML.

Figure (2): Encapsulation Modeling in UML


As you can see in Figure (2), using the encapsulation, it is
possible to packet all variables and the functions in classes.
This method makes the coding management in OOP better.
Polymorphism: Using polymorphism in OOP it is Figure (4): Inheritance Modeling in UML
possible to define more than one same name functions with If the three Encapsulation, Polymorphism and Inheritance
different structure in a class [6]. Polymorphism makes a basic regulations are applied suitably and if they are well
function to be implemented in different ways in classes and combined, the more reliable software are produced. Using
sub classes and get different forms. Polymorphism creates a OOP it is possible to combine the different parts of a complex
common interface for different implementation of a function system and produce more efficient software.
for the programmer which operates different for different
objects [2]. One of the most powerful facilities of
polymorphism is the identification of different dynamic 4. DISCUSSION
methods in execution time [6]. Totally, polymorphism means OOSE is no doubt a revolution in Software Engineering lately
“one class, some functions with different structure”. This which could have affected the software development and now
makes the complexity reduce because of the use of one class we use the vast results of it in Software industry. To design
for identification of some operating functions. Figure (3) and implement the software systems, OOSE analyzes and
shows the polymorphism modeling in UML. creates the objects considered according the software goals.
So, no doubt the first step and the most important stage of
OOSE, is identification of the objects. In the second stage, the
relationship between the objects must be identified. So, to
develop the software systems, the two said stages must be

15
International Journal of Computer Applications (0975 – 8887)
Volume 95– No.3, June 2014

identified, and with no awareness there would be challenges [5] S. Georgantaki, S. Retalis, “Using Educational Tools for
in creating the software systems of object oriented procedure. Teaching Object Oriented Design and Programming”,
So, it is possible to say that the system implementation Journal of Information Technology Impact, Vol. 7, No.
process includes two important stages of OOA and OOD. The 2, pp. 111-130, 2007.
goal of OOA model is creation of the relationship models
which show the software requirements. In OOA modeling [6] J. Din, S. Idris, “Object-Oriented Design Process
takes place according to the objects, their adjectives and their Model”, International Journal of Computer Science and
relationships. So, the goal of analysis is providing description Network Security, VOL.9 No.10, pp. 71-79, October
of information of software system for designing model. OOD 2009.
method is in ever changing process toward new methods and [7] D. Budgen, “Software Design”, Second Edition, Addison
better utilization. Utilization means that the software systems Wesley, New York, 2003.
must conform to the goals considered for them. Despite this,
now the object oriented technology tries to make the software [8] M. Belal, A. Khedr, A. Gohar, “Frameworks between
systems flexible. OOD model creates this possibility for Components and Objects”, Advanced Computing: An
software engineering to modeling the software systems under International Journal, Vol. 3, No. 5, pp. 9-17, Sep 2012.
creation. This model could be used for emphasizing the [9] F.S. Gharehchopogh, E. Amini, B. Zebardast, “Aspect-
quality and improvement before programming. So, OOD Oriented Software Development based Solution for
model which includes the presentation of the classes is the Intervention Concerns Problems: Case Study”,
primary production of the software development systems. International Journal of Computer Applications, Vol. 63,
The OOP combines the encapsulation, polymorphism and No. 4, pp. 16-25, February 2013.
inheritance to reduce the complexity of the software and make
the programmer code in form of authenticated classes. In [10] S.Pasupathy, R.Bhavani, “Measuring the Quality of
OOP, inheritance supports the grouping concept. The Software through Analytical Design by OOAD Metrics”,
grouping technique in inheritance makes each object not International Journal of Computer Applications, Vol. 63,
define all characteristics of them. So, the objects can inherit No. 13, pp. 39-44, February 2013.
the common characteristics of themselves from general
[11] S.K. Dubey, A. Rana, “A Comprehensive Assessment of
classes. One of the key points in OOSE is the reusability
Object Oriented Software System using Metrics
concept. Object oriented makes each class to be used more
Approach”, International Journal of Computer Science
than once for creation of different objects. Using the
and Engineering (IJCSE), pp. 2726-2730, 2010.
techniques like inheriting, it is possible to create procedures
reusable for software development and just it is enough to call [12] J.W. Satzinger, R.B. Jackson, “Making the Transition
them right and use their speed and ease of use. from OO Analysis to OO Design with the Unified
Process”, Communications of the Association for
Information Systems, Vol. 12, pp. 659-683, 2003.
5. CONCLUSION AND FUTURE WORKS
Software industry is the key element in completion of systems [13] S.R. Schach, “Introduction to Object-Oriented Analysis
and the productions based on computer and are one of the and Design with UML and the Unified Process”, Irwin-
most important techniques in the world. So, the goal of OOSE McGraw Hill, New York, 2004.
of using object oriented models is the software development
to have low complexity. OOSE emphasizes the reuse of the [14] C. Larman, “Applying UML and Patterns: An
classes and the functions for software development. OOSE is Introduction to Object-Oriented Analysis and Design and
a set of methods, functions and the classes and their goal is Iterative Development”, Prentice Hall, 2005.
the integrity and the combination of data. In OOSE, analysis [15] A. Dennis, B.H. Wixom, D. Tegarden, “Systems
models, design and programming emphasize on better Analysis and Design: An Object-Oriented Approach”,
identification of the requirements, integrity and the reduction John Wiley & sons, New York, 2002.
of complexity. We with present this paper hope in the future
for production of better software in which the design, analysis [16] R. Kumar, D. Gupta, “Object Oriented Design
and programming take place according to OOSE and utilize Heuristics”, International Journal of Engineering Science
their capabilities and efficiencies. and Technology (IJEST), Vol. 3 No. 1, pp. 459-463, Jan
2011.
6. REFERENCES [17] W. Al-Ahmad, “Object-Oriented Design Patterns for
[1] N.F.M. Sani, A.M. Zin, S. Idris, “Analysis and Design of
Detailed Design”, Journal of Object Technology, Vol. 5,
Object-Oriented Program Understanding System”,
No. 2, March-April 2006.
International Journal of Computer Science and Network
Security, Vol. 9, No. 1, pp. 125-134, January 2009. [18] M. Ben-Ari, N. Ragonis, R.B. Levy, “A Vision of
Visualization in Teaching Object-Oriented
[2] K. Gujar, S. Mishra, P. Kawadkar, “Analysis of Function
Programming”, In Proceeding of 2nd Program
generation on the basis of Object Oriented paradigm”,
Visualization Workshop, HornstrupCentret, Denmark,
International Journal of Advanced Computer Research,
pp. 83-89, 2002.
Vol. 1, No. 1, pp. 91-95, September 2011.
[19] C.J. Harrison, O.M. Sallabi, S.E. Eldridge, “An Initial
[3] A. Dennis, B.H. Wixom, D. Tegarden, “Systems
Object-Oriented Programming Language (IOPL) and its
Analysis and Design: An Object-Oriented Approach”,
Implementation”, IEEE, Transactions on Education, Vol.
John Wiley & sons, New York, 2002.
48, No. 1, pp. 3-10, 2005.
[4] S. Parthasarathe, N. Anbazhagan, “Analyzing the
[20] R. Or-Bach, I. Lavy, “Cognitive Activities of Abstraction
Software Quality metrics for Objected Oriented
in Object Orientation: An Empirical Study”, ACM
Technology”, Information Technology Journal, Vol.5,
SIGCSE Bulletin, Vol. 2, pp. 82-86, 2004.
No. 6, pp. 1053-1057, 2006.

IJCATM : www.ijcaonline.org
16

You might also like