0% found this document useful (0 votes)
152 views6 pages

Comparison Between Traditional and Object - Oriented Approach in Software Engineering

This document compares the traditional and object-oriented approaches to software testing. 1) The traditional approach follows a linear sequential model from requirements to deployment, emphasizing procedures. The object-oriented approach revolves around objects rather than algorithms. 2) Testing in the traditional approach focuses on individual phases. Object-oriented testing unit tests classes and operations across classes through intra-method and intra-class testing. 3) The main goal is to overview the differences between traditional and object-oriented testing approaches. The object-oriented approach aims to eliminate flaws of the procedural approach through a data-centric model organized around objects.

Uploaded by

Work 133
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)
152 views6 pages

Comparison Between Traditional and Object - Oriented Approach in Software Engineering

This document compares the traditional and object-oriented approaches to software testing. 1) The traditional approach follows a linear sequential model from requirements to deployment, emphasizing procedures. The object-oriented approach revolves around objects rather than algorithms. 2) Testing in the traditional approach focuses on individual phases. Object-oriented testing unit tests classes and operations across classes through intra-method and intra-class testing. 3) The main goal is to overview the differences between traditional and object-oriented testing approaches. The object-oriented approach aims to eliminate flaws of the procedural approach through a data-centric model organized around objects.

Uploaded by

Work 133
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
You are on page 1/ 6

International Journal of Research e-ISSN: 2348-6848

p-ISSN: 2348-795X
Available at https://edupediapublications.org/journals Volume 05 Issue-01
January 2018

Comparison Between Traditional and Object -Oriented Approach in


Software Engineering
Anju Bala
Research Scholar, Deptt. of Computer Science and Applications, M.D. University, Rohtak, Haryana

Abstract
Testing is one of the most important and challenging part improved by keeping a methodology in mind. A
of software development life cycle. It takes a lot of time methodology is a systematic way of doing things.
and cost of total software development life cycle but
Testing may be defined as the process of validating and
unavoidable, executing this phase with the intent to find
verifying the software product. Verification is the process
errors or fault to make a software error free and satisfies
of evaluating a system or component to determine
all the requirement of end users. This paper highlights
whether the products of a given development phase
the comparison between Traditional approaches and
satisfy the conditions imposed at the start of that phase
Object-Oriented approach to software testing.
i.e. process oriented whereas validation is the process of
Traditional approach has a lot of model, is used to deal
evaluating a system or component during or at the end of
with different type of projects - such as waterfall,
the development process to determine whether it satisfies
prototyping, spiral, iterative and v-shaped, however,
specified requirements i.e. product oriented.
there is dilemma as how best fit for object oriented
Executing the program using the generated test cases, and
approaches i.e. is widely used. In recent years, most of
Evaluating the test result
the developers surge their interest in object-oriented
methodology. A lots of researches have been made in the
A good methodology will address at least the following
field of software testing are carried out in academic as
issues: Planning, Scheduling, Resourcing, Workflows,
well as in industry. There is a noticeable differences
Activities, Roles, Artifacts, Education.
between conventional software development process to
object oriented process as well as conventional testing
With the traditional approach, you‟re expected to move
and object oriented testing with testing process is same
forward gracefully from one phase to the other. With the
for all software development paradigms, the approach of
modern approach, on the other hand, you‟re allowed to
testing may differ widely. The main objective of this
flow freely around the system, encountered procedural
paper is to overview on comparison between traditional
approach.
and object oriented approach.

Keywords- Software Testing, Traditional Approach, 2. TESTING APPROACH


Object-Oriented Approach, Comparison between Traditional Here, explanation of these two approaches as
Approach and Object-Oriented Approach. follow:

1. INTRODUCTION 2.1 TRADITIONAL APPROACH


The main goal of software testing is to find There are a number of phases common to every
errors in a systematic and effective way rather that development, regardless of methodology, starting with
random experimentation. All software, especially large requirements capture and ending with maintenance. With
pieces of software produced by many people, should be the traditional approach, it emphasis on procedure and
produced using some kind of methodology. Even small top down strategy to solve the complexity of things and
pieces of software developed by one person can be intented to move forward gracefully from one phase to
the other.

Available online: https://edupediapublications.org/journals/index.php/IJR/ P a g e | 2077


International Journal of Research e-ISSN: 2348-6848
p-ISSN: 2348-795X
Available at https://edupediapublications.org/journals Volume 05 Issue-01
January 2018

Requirements: A system requirement modeling (or


functional specification) means deciding what Implementation: The type of the task is carried out
capabilities the new software will have and writing down during the implementation phase is Write the method or
those capabilities. code for the Inventory class, in such a way that they
conform to their specification.
Analysis: Analysis means understanding what are
dealing with. Before designing a solution, it needs to be Testing:When the software is complete, it must be tested
clear about the relevant entities, their properties and their against the system requirements to see if it fits the
interrelationships. original goals. It is a good idea for programmers to
perform small tests as they go along, to improve the
Design: In the design phase, will work out, how to solve quality of the code that they deliver.
the problem. System design breaks the system down into
logical subsystems (processes) and physical subsystems Deployment
(computers and networks)
In the deployment phase, providing the ready to use
Specification: Specification is an often-ignored, or at software to end user with all documentation or manual
least often-neglected, phase. The term specification is with training material.
used in different ways by different developers. For
example, the output of the requirements phase is a
specification of what the system must be able to do

Analysis

Design

Code

Test
Available online: https://edupediapublications.org/journals/index.php/IJR/ P a g e | 2078
International Journal of Research e-ISSN: 2348-6848
p-ISSN: 2348-795X
Available at https://edupediapublications.org/journals Volume 05 Issue-01
January 2018

Figure 1: The Linear Sequential Model

2.2 OBJECT-ORIENTED class is termed as intra-method testing and testing the


integrity of the class as a whole is termed as intra-class
APPROACH testing. A class is a combination of data members and
member functions. Testing a unit may involve more than
Object-oriented approach was developed as the next great
one class because a class can contain a number of
advance of software engineering to eliminate the flaws of
different operations and a particular operation may exist
procedural approach.. Software developed using object-
as part of a number of different classes.
oriented concept has a different structure and behavior , it
revolve around the objects. Object-oriented approach is a
Object-Oriented Integration Testing
data centric approach rather than algorithmic and it is a
Integration testing is performed to combine all modules
method based on hierarchy of classes and well-defined
and units to ensure all units of system work together or
and cooperating objects.
not, verifying the interaction of class, are minimized.
In object-oriented approach, a system is viewed as a set class interaction, polymorphic calls and exception
of objects. All object-orientation experts agree that a handling is termed as integration testing in object-
good methodology is essential for software development, oriented concept.
especially when working in teams. Thus, quite a few There are two important strategies for integrated testing
methodologies have been invented over the last decade. of object-oriented system such as Thread based testing
and Use based testing. Thread-based testing, combine all
Everything in object-oriented programming is grouped as the sets of classes necessary to respond to one input or
self sustainable objects, thereby gaining reusability by event for the system. Thread is tested and integrating
means of four important object-oriented features makes it individually. Regression testing is applied to ensure that
very popular such as, Abstraction, Inheritance, no side effects occur.
Encapsulation and Polymorphism. Encapsulation may be Use-based testing, construction of the system by testing
defined as wrapping up of data and functions into a single those classes (called independent classes) that use very
unit. Objects are described as implementations of abstract few of server classes.
data types (ADTs). Usually an ADT definition is called
class, while an object is a runtime entity i.e. instance of a A. Analysis: The aim of the analysis process is to
class. Inheritance is the process by which objects of one analyze, specify, and define the system which is to be
class(child class) inherit the properties of another design. In this phase, we build models that will make it
class(parent class). Polymorphism means more than one easier for us to understand the system. The models that
form enables a number of different operations to have the are developed during analysis are oriented fully to the
same name i.e. program entities should be allowed to application and not the implementation environment;
refer to objects of more than one class, when a they are "essential" models that are independent of such
hierarchical relationship among these classes exits things as programming language, operating system
DBMS, processor distribution, or hardware configuration
The advantages of Object-Oriented Development are less etc.
time and cost reduced, greater product flexibility, and
schedule predictability and the risks of them are Two different models are developed in analysis; the
performance and start-up costs. Requirements Model and the Analysis Model. The first
model, the Requirements Model, should make it to meet
Object-Oriented Unit Testing
the expectation of the customer and delimit the system
The primary aim of unit testing is to uncover errors
and to define what functionality should take place within
within a given unit. In the context of object-orientation,
it fulfill.
the smallest unit may be a method or a class. Testing a
The Analysis Model is an architectural model used for
method which is considered as a single operation of a
analysis of robustness. It gives a conceptual view of the

Available online: https://edupediapublications.org/journals/index.php/IJR/ P a g e | 2079


International Journal of Research e-ISSN: 2348-6848
p-ISSN: 2348-795X
Available at https://edupediapublications.org/journals Volume 05 Issue-01
January 2018

system, consisting of various object classes: domain implementation, each of which develops a model. The
entities, active controllers, and interface objects. The Design Model is a further
purpose of this model is to find a robust and extensible refinement and formalization of the Analysis Model
structure for the system as a base for construction. where consequences of the
B. Construction implementation environment have been taken into
The construction process lasts until the coding is account. The Implementation model is the actual
completed and the included units have been tested. There implementation (code) of the system.
are three main reasons for a construction process: C. Testing
1) The Analysis Model is not sufficiently formal. Testing is an activity to verify that a correct system is
2) Adaptation must be made to the actual implementation being built. Testing is traditionally an expensive activity,
environment. primarily because many faults are not detected until late
3) We want to do internal validation of the analysis in the development. To do effective testing we must have
results. as a goal that every test should detect a fault.
The construction activity produces two models, the
Design Model and the Implementation Model.
Construction is thus divided into two phases; design and

TABLE 1. COMPARISON BETWEEN TRADITIONAL APPROACH AND


OBJECT-ORIENTED APPROACH

Traditional approach Object-Oriented Approach

Used to develop Used to develop Object-oriented


theTraditional Projects Projects that depends on Object-
that uses procedural Oriented programming.
programming.
Uses common Uses UML notations likes: use
processes case,classdiagram,communication
likes: analysis, design, diagram, development diagram
implementation, and and sequence diagram
testing

Depends on the size of Depends on the experience of the


projects and type of team and complexity of projects
projects[7][8] through the numbers of objects

Needs to large Need to more time than Traditional


duration approach and leads that to more cost.
sometimes to
development to the
large projects.

Available online: https://edupediapublications.org/journals/index.php/IJR/ P a g e | 2080


International Journal of Research e-ISSN: 2348-6848
p-ISSN: 2348-795X
Available at https://edupediapublications.org/journals Volume 05 Issue-01
January 2018

3. LEVEL OF TESTING decomposition, larger algorithm into smaller ones


like C. OO Approach rely on objects and classes,
- Requirement testing makes object – oriented projects using OO languages
- Design testing like C++, Java etc.Software testing is very important
- Module testing phase for software development . Testing can be
- Unit testing done at any level as unit or module, integration,
- Integration testing system testing. After taking overview of paper, will
- System testing be able to taking a view, how many types of testing
- Acceptance testing and what level.

Comparison between traditional and OO testing REFERENCES

[1] Mike O‟Docherty, "Object-Oriented


Unit testing: testing process on isolated function or Analysis and Design Understanding System
method. Development with UML 2.0", John Wiley &
Sons Ltd, England, 2005.
Testing process on isolated objects or class.
[2] Magnus Christerson and Larry L.
Integration testing: In traditional testing module by
Constantine, “Object-Oriented Software
module integrate together and test their interface.
Engineering- A Use Case Driven Approach “,
In OOT, module can share their components and classes Objective Systems, Sweden, 2009.
inherited from base class.
[3] Ian sommerville, “Software Engineering”,
System testing: The sub-system are integrated together Addison Wesley, 7th edition, 2004.
to make asystem.
[4] Pankaj Jalote, “An Integrated Approach to
In OOT, testing can be made at class level, also called Software Engineering”, Springer Science
partition testing. Business Media, Inc, Third Edition, 2005.
Traditional testing oriented on decomposition and [5] Grady Booch, “Object-Oriented Analysis
functional, follow sequential approach.
and Design with applications”, Addison Wesley
OOT focuses on composition, and follow incremental
Longman, Inc, second Edition, 1998.
approach.
[6] Roger S. Pressman, “Software Engineering
4. CONCLUSION a practitioner‟s approach”, McGraw-Hill, 5th
edition, 2001.
In this era, object oriented technology is emerging
field in software development. This paper presented [7] M M Lehman,”Process Models, Process
mainly two approach of software testing, traditional Programs, Programming Support”, ACM, 1987.
and object oriented. Both have some pros and cons.
Traditional approach rely on sequential and

Available online: https://edupediapublications.org/journals/index.php/IJR/ P a g e | 2081


International Journal of Research e-ISSN: 2348-6848
p-ISSN: 2348-795X
Available at https://edupediapublications.org/journals Volume 05 Issue-01
January 2018

[8] Tim Korson and John D. McGregor,”


Understanding Object-Oriented: A Unifying
Paradigm”, ACM, Vol. 33, No. 9, 1990.

[9] Li Jiang and Armin Eberlein,” Towards A


Framework for Understanding the
Relationships between Classical Software
Engineering and Agile Methodologies“, ACM,
2008.

[10] Luciano Rodrigues Guimarães and Dr.


Plínio Roberto Souza Vilela,” Comparing
Software Development Models Using CDM”,
ACM, 2005.

[11] Alan M. Davis and Pradip Sitaram, “A


Concurrent Process Model of Software
Development”, ACM, Software Engineering
Notes Vol. 19 No. 2, 1994.

Available online: https://edupediapublications.org/journals/index.php/IJR/ P a g e | 2082

You might also like