a comparative study on software ...ipasj.org/iijcs/volume5issue7/iijcs-2017-07-21-21.pdfso one huge...

9
IPASJ International Journal of Computer Science (IIJCS) Web Site: http://www.ipasj.org/IIJCS/IIJCS.htm A Publisher for Research Motivation ........ Email:[email protected] Volume 5, Issue 7, July 2017 ISSN 2321-5992 Volume 5, Issue 7, July 2017 Page 79 ABSTRACT A software development methodologies (SDMs) as well recognized as a system development methodology, software development life cycle, software development process, software process. We are facing an epoch where software developments have a vast measurement linking tiny resources, towering hazard and a wide range of available approaches. In these circumstances the SDMs can show to be a useful helper. The big issue is how to choose the suitable SDM for a specific work. The main scope this dissertation is to express a framework or structure for juxtaposes SDMs delivering a group of procedures that should be pursued when the choice of an SDM is made. This research work expresses a framework for contrast SDMs delivering a set of measures that should be followed when the choice of an SDM is made. The research work approaches the framework by concerning it to a cluster of SDMs that were chosen by their fame and significance. This work out is done to establish the idea of the framework and to provide a base comparison, with each chosen SDM, that can, and should, be extended by those who choose to use the framework. Keywords:-Software development lifecycle; SDMs; software development 1. INTRODUCTION The significance of software in the world is continuously increasing, and with the rising of its importance also the size of the software systems is increasing as well as the effects of its development. These effects have consequences on the way software is developed. Software development of huge projects involves huge amounts of money and time, which have to be used in the exact way for delivering the final product with the least cost. With the evolution of software development [1], different approaches have been presented and used to deliver a software product with aim of plummeting time and cost of its development, without impairing the quality of the product. Each approach has its benefits and criticism but they all have similar goals, delivering a quality product in the best and economical way possible. When we look for a Software Development Methodologies (SDM) we have a set of very different perspectives, and even different approaches for the same perspectives, to choose from. These SDMs define the way we should organize our teams, and the way we should organize our activities, so they provide a good guideline for achieving our objectives. So one huge question that arises when starting a project is which methodology to choose. Perhaps an even better question is how can one answer thatquestion, giving that, each project has its own specific individuality to take in account. Most organizationsimplify this problem by adopting one or more methodologies and then all their projects are done using a specific methodology. But, given the quantity of different kind of projects a software company is now-a- days involved in, is this exact and accurate answer. In times of economic crisis, where budget and resources are more limited than ever, a bad choice or a misuse of a methodology can lead to its death or to spending more money and resources than expected. Objective This research work expresses a framework for contrast SDMs delivering a set of measures that should be followed when the choice of an SDM is made. The research work approaches the framework by concerning it to a cluster of SDMs that were chosen by their fame and significance. This work out is done to establish the idea of the framework and to provide a base comparison, with each chosen SDM, that can, and should, be extended by those who choose to use the framework. Scope of the work The main scope this dissertation is to express a framework or structure for juxtaposes SDMs delivering a group of procedures that should be pursued when the choice of an SDM is made A COMPARATIVE STUDY ON SOFTWARE DEVELOPMENT MODELS VAnitha 1 , Dr.N.R.Ananthanarayanan 2 1 M.Phil Research Scholar, SCSVMV University Enathur, Kanchipuram. TamilNadu , India –631561 2 Associate Professor, SCSVMV University Enathur, Kanchipuram. TamilNadu , India –631561

Upload: doannga

Post on 22-Mar-2018

216 views

Category:

Documents


3 download

TRANSCRIPT

IPASJ International Journal of Computer Science (IIJCS) Web Site: http://www.ipasj.org/IIJCS/IIJCS.htm

A Publisher for Research Motivation ........ Email:[email protected] Volume 5, Issue 7, July 2017 ISSN 2321-5992

Volume 5, Issue 7, July 2017 Page 79

ABSTRACT

A software development methodologies (SDMs) as well recognized as a system development methodology, software development life cycle, software development process, software process. We are facing an epoch where software developments have a vast measurement linking tiny resources, towering hazard and a wide range of available approaches. In these circumstances the SDMs can show to be a useful helper. The big issue is how to choose the suitable SDM for a specific work. The main scope this dissertation is to express a framework or structure for juxtaposes SDMs delivering a group of procedures that should be pursued when the choice of an SDM is made. This research work expresses a framework for contrast SDMs delivering a set of measures that should be followed when the choice of an SDM is made. The research work approaches the framework by concerning it to a cluster of SDMs that were chosen by their fame and significance. This work out is done to establish the idea of the framework and to provide a base comparison, with each chosen SDM, that can, and should, be extended by those who choose to use the framework. Keywords:-Software development lifecycle; SDMs; software development

1. INTRODUCTION The significance of software in the world is continuously increasing, and with the rising of its importance also the size of the software systems is increasing as well as the effects of its development. These effects have consequences on the way software is developed. Software development of huge projects involves huge amounts of money and time, which have to be used in the exact way for delivering the final product with the least cost. With the evolution of software development [1], different approaches have been presented and used to deliver a software product with aim of plummeting time and cost of its development, without impairing the quality of the product. Each approach has its benefits and criticism but they all have similar goals, delivering a quality product in the best and economical way possible. When we look for a Software Development Methodologies (SDM) we have a set of very different perspectives, and even different approaches for the same perspectives, to choose from. These SDMs define the way we should organize our teams, and the way we should organize our activities, so they provide a good guideline for achieving our objectives. So one huge question that arises when starting a project is which methodology to choose. Perhaps an even better question is how can one answer thatquestion, giving that, each project has its own specific individuality to take in account. Most organizationsimplify this problem by adopting one or more methodologies and then all their projects are done using a specific methodology. But, given the quantity of different kind of projects a software company is now-a-days involved in, is this exact and accurate answer. In times of economic crisis, where budget and resources are more limited than ever, a bad choice or a misuse of a methodology can lead to its death or to spending more money and resources than expected.

Objective This research work expresses a framework for contrast SDMs delivering a set of measures that should be followed when the choice of an SDM is made. The research work approaches the framework by concerning it to a cluster of SDMs that were chosen by their fame and significance. This work out is done to establish the idea of the framework and to provide a base comparison, with each chosen SDM, that can, and should, be extended by those who choose to use the framework.

Scope of the work The main scope this dissertation is to express a framework or structure for juxtaposes SDMs delivering a group of procedures that should be pursued when the choice of an SDM is made

A COMPARATIVE STUDY ON SOFTWARE DEVELOPMENT MODELS

VAnitha1, Dr.N.R.Ananthanarayanan2

1M.Phil Research Scholar, SCSVMV University Enathur, Kanchipuram. TamilNadu , India –631561

2Associate Professor, SCSVMV University Enathur, Kanchipuram. TamilNadu , India –631561

IPASJ International Journal of Computer Science (IIJCS) Web Site: http://www.ipasj.org/IIJCS/IIJCS.htm

A Publisher for Research Motivation ........ Email:[email protected] Volume 5, Issue 7, July 2017 ISSN 2321-5992

Volume 5, Issue 7, July 2017 Page 80

2. RELATED WORKS Aayushi Saxena &PriyaUpadhyay- A major challenge in any engineering endeavor is taking a poorly organized, uncertain, inconsistent, incomplete, and over generalized requirements specification and turning it into a well-structured design. Software development is highly complex & interesting field with so many variables having lots of impact on system. There are various models for development of software. This paper aims to describe the impact and comparison of various methodology ,to decide which model is more suitable & appropriate by analyzing their software matrices, development time, complexities, return on investment with minimal initial capital expenses, development cost, as we know success of a software depends upon which process model is being used [2].

Ahmed Mateen& Muhammad Azeem& Mohammad Shafiq - Know a day’s Computer system become essential and it is most commonly used in every field of life. The computer saves time and use to solve complex and extensive problem quickly in an efficient way. For this purpose, software programs are develop to facilitate the works for administrator, offices, banks etc. so Quality is the most important factor as it mostly defines CUSTOMER SATISFACTION which directly related to success of the project, so there are many approaches (methodologies) have been developed for this purpose occasionally. The main study of this paper is to propose a new methodology for the development of the software which focuses on the quality improvement of all kind of product. This study will also discuss the features and limitation of the traditional methodologies like water-fall, iterative, spiral, RUP and Agile and show how the new innovative methodology is better than previous one [3]. VanshikaRastogi- Software Development Life Cycle is a well-defined and systematic approach, practiced for the development of a reliable high quality software system. There are tons of SDLC[2] models available. This paper deals with five of those SDLC models, namely; Waterfall model, Iterative model, V-shaped model, Spiral model, agile model. Each development model has certain advantages and disadvantages. The paper begins with the discussion to the introduction of SDLC, followed by the comprehensive comparison among the various SDLC models[4].

NeerajJaiswal, Rajesh Shah - In the present scenario all software systems are lacking because they cannot be built with mathematical or physical certainty, Hence in this research paper the comparison of various software development models has been discussed. Software development methodology (SDLC) in software engineering is a framework that is used to structure plan and control the process of developing an important system. Choosing the right SDLC methodology for your project is as important to the success of the project. Today all live in the era of computer technology. This paper also identity the basic problems in the spiral, waterfall, and iterative models. These models has own advantages and disadvantages. This research paper compare all four models on the basis of some key points which will be helpful to develop a successful software project with the help of comparison any one can select his/her own type of model for his/her project development Keywords- S DLC, phase of SDLC models, Comparative analysis of model, four models[5].

Asmita, Kamlesh, Usha - This paper presents the study of various software process models. In this paper a study of various papers is done, and in the reviewed paper software process model is explained. The study in this paper shows the comparison between the different process model and proposed model. In this comparative analysis is also explained on the basis of requirement, planning, design and implementation[6].

PROPOSED SDLC METHODS COMPARISON USED The following model is proposed work for comparison [7]. Unified Process (UP)

Behavior-driven development (BDD)

Chaos model

Transformation Model

Test- driven development(TDD)

IPASJ International Journal of Computer Science (IIJCS) Web Site: http://www.ipasj.org/IIJCS/IIJCS.htm

A Publisher for Research Motivation ........ Email:[email protected] Volume 5, Issue 7, July 2017 ISSN 2321-5992

Volume 5, Issue 7, July 2017 Page 81

Finally, each models advantages and disadvantages are considered for choosing right model for SDLC.

A. Unified Process (UP) Advantages:- 1. UP can be used as a tool for visualizing purpose. 2. Refining a solution at early. 3. Less expensive, stages of development. 4. Development time is reduced. 5. The past faced issues by the developers are no longer exists. 6. Has large visual elements to construct and easy to follow. 7. Graphically represent part or all of an object-oriented solution to a problem. One that corresponds to code. 8. It explains the concepts like business modeling, enterprise architecture and OOAD. To understand the UP model,

one need not know detailed technical knowledge. 9. UP shows the future modeling where the entire applications are generated from high-level UP models and highlights

the best practices for adopting UP in an enterprise[5]. Disadvantages:- 1. Major disadvantage of UP design in code generation is the loss of much information. Code generators use only class diagrams. Complete behavior has to be implemented manually. 2. UP is just documentation. Good UP software costs money and it takes some time to master properly.

Fig. 1 UP model

B. Behavior-driven development Advantages:- 1.Unit tests prove that code actually works. 2.Refactoring allows improving the design code 3. Low-level regression test suite. 4.Test-first reduces the cost of bugs. 5.Stability 6.Accountability 7. Design Ability 8. Separated Concerns 9.Progress Indicator. Disadvantage:- 1.The client doesn't care about testing. 2.The client doesn't want to write the specifications. “The client must write the specifications by himself”. 3.You can achieve the same without a business readable DSL. 4.Testing and verifying complicated scenarios. 5.Interrupted work [8].

IPASJ International Journal of Computer Science (IIJCS) Web Site: http://www.ipasj.org/IIJCS/IIJCS.htm

A Publisher for Research Motivation ........ Email:[email protected] Volume 5, Issue 7, July 2017 ISSN 2321-5992

Volume 5, Issue 7, July 2017 Page 82

Fig. 2 BDD model

Fig. 2 BDD model

C. Chaos Model:- Advantages:-

1. Good at managing schedules and staff.

2. Didn't provide methods to fix bugs or solve other technical problems.

3. At the same time, programming methodologies, while effective at fixing bugs and solving technical problems, do not help in managing deadlines or responding to customer requests.

4. The structure attempts to bridge this gap.

5. The chaos strategy resembles the way that programmers work toward the end of a project, when they have a list of bugs to fix and features to create. Usually someone prioritizes the remaining tasks, and the programmers fix them one at a time. The chaos strategy states that this is the only valid way to do the work.

6. It provides a hook for explaining what to do next, in terms of the chaos strategy.

7. The chaos model may help explain why software tends to be so unpredictable.

Disadvantages:-

1. Limitations of applying chaos theroy are in due mostly from chosing the input parameters.

2. Parameterts depend on the dynamics underlying the data and on the kind of analysis inteded.

3. Highly complex.

4. Not always accurate.

Fig. 3 Chaos model

IPASJ International Journal of Computer Science (IIJCS) Web Site: http://www.ipasj.org/IIJCS/IIJCS.htm

A Publisher for Research Motivation ........ Email:[email protected] Volume 5, Issue 7, July 2017 ISSN 2321-5992

Volume 5, Issue 7, July 2017 Page 83

D. Transformation Model:- Advantages:- 1. It is precise and free of errors.

2. It is said to be suitable for safety critical system.

3. It has the correctness proofs.

Disadvantages:-

1. It is very costly.

2. It introduces extra complexity.

3. It requires specialized expertise. This is so because of it’s tedious nature.

Fig. 4 Transformation model

E. TDD Model:- Advantages:-

1. It can lead to simple, elegant, modular code.

2. It can help developers find defects and bugs earlier than they otherwise would. It’s a common belief that a bug is cheaper to fix the earlier you find it.

3. The tests can serve as a kind of live documentation and make the code much easier to understand.

4. It’s easier to maintain and refactor code, your own and other programmer’s code.

5. It can speed up development in the long-term.

6. It can encourage developers to think from an end user point-of-view..

Disadvantage: 1. It necessitates a lot of time and effort up front, which can make development feel slow to begin with.

2. Focusing on the simplest design now and not thinking ahead can mean major refactoring requirements.

3. It’s difficult to write good tests that cover the essentials and avoid the superfluous.

4. It takes time and effort to maintain the test suite – it must be reconfigured for maximum value.

IPASJ International Journal of Computer Science (IIJCS) Web Site: http://www.ipasj.org/IIJCS/IIJCS.htm

A Publisher for Research Motivation ........ Email:[email protected] Volume 5, Issue 7, July 2017 ISSN 2321-5992

Volume 5, Issue 7, July 2017 Page 84

5. If the design is changing rapidly, you’ll need to keep changing your tests. You could end up wasting a lot of time writing tests for features that are quickly dropped.

Fig. 5 TDD model

EXISTING USED MODEL

A. Waterfall Model It is also known as linear sequential life cycle model as it consists of sequence of phases[12]. Once a development phase is completed, the development proceeds to the next phase in the sequence and there is no turning back to the previous phase. Thus it is not suitable for dynamic projects. Various phases in this model are Requirement gathering, system design, implementation, testing, deployment and maintenance.

sequence and there is no turning back to the previous phase. Thus it is not suitable for dynamic projects. Various phases in this model are Requirement gathering, system design, implementation, testing, deployment and maintenance.

Fig. 6 Waterfall model

B. Iterative Model In this model it is not required to start with the complete specifications. Instead, development starts by implementing a part which can then be reviewed and the next part can be planned according to the requirements. This process is repeated, giving new version of the software for each cycle of the model. In this model we can get user feedback. As this model proceeds step by step, it can be used when the project is big.

IPASJ International Journal of Computer Science (IIJCS) Web Site: http://www.ipasj.org/IIJCS/IIJCS.htm

A Publisher for Research Motivation ........ Email:[email protected] Volume 5, Issue 7, July 2017 ISSN 2321-5992

Volume 5, Issue 7, July 2017 Page 85

Fig. 7 Iterative model

C. V-Model V model stands for verification and validation model. It is a modification of Waterfall model. In this, development and testing is done simultaneously. Both, verification and validation activities go hand in hand [9].

Fig. 8 V model

D. Spiral Model In this model, development starts with a particular part and goes through each development phase for the set of requirements. First prototype is evaluated and accordingly the second prototype is developed considering the requirements. Based on the refined prototype [10][11], the final software is created. It is used for big and complicated projects.

IPASJ International Journal of Computer Science (IIJCS) Web Site: http://www.ipasj.org/IIJCS/IIJCS.htm

A Publisher for Research Motivation ........ Email:[email protected] Volume 5, Issue 7, July 2017 ISSN 2321-5992

Volume 5, Issue 7, July 2017 Page 86

Fig. 9 Spiral Model

COMPARISON OF PROPOSED SDLC MODELS Tab.1 Different parameter of SDLC comparison

3.CONCLUSION There are many types of software development models such as Behavior Driven Development (BDD), UP (Unified Process), TDD (Test Driven Development),Iterative Model (IM), V-Shaped model etc. From the above proposed Software development team will have to decide which model is to be used for their project as per customer requirements. By the study of SDLC comparison shows us that out of proposed models the Unified process (UP) as a more flexibility and more effective & less time consuming when compared to others. All these models have their advantages and disadvantages. An organization which needs to develop a project in a linear fashion will use waterfall model. The important thing which organizations must take into consideration is that they should develop a „bug‟ free

IPASJ International Journal of Computer Science (IIJCS) Web Site: http://www.ipasj.org/IIJCS/IIJCS.htm

A Publisher for Research Motivation ........ Email:[email protected] Volume 5, Issue 7, July 2017 ISSN 2321-5992

Volume 5, Issue 7, July 2017 Page 87

product before launching it in market. Fusion of more than one model may be required in some software development product. Acknowledgment I thank the almighty and my parents to express unbeautiful love, gratitude and regards to my parents Mr. R.Venkatesan and Mrs. Chitradevi for their support. I express my thanks and unbeautiful love to my husband Dr.AnandaJothy B.H.M.S who is helping me a lot in completing my dissertation. References [1] Roger Pressman, titled “Software Engineering - a practitioner's approach”. [2] Aayushi Saxena & Priya Upadhyay, titled "Waterfall vs. Prototype: Comparative Study of SDLC" Vol-2, Issue-6,

2016(IJIR) [3] Ahmed Mateen & Muhammad Azeem & Mohammad Shafiq , titled "AZ Model for Software Development"

Volume 151 – No.6, October 2016.International Journal of Computer Applications [4] Vanshika Rastogi, titled "Software Development Life Cycle Models - Comparison, Consequences"International

Journal of Computer Science and Information Technologies, Vol. 6 (1) , 2015, 168-172 [5] Neeraj Jaiswal, Rajesh Shah, titled "Analysis of Process Model in Software Development" ISSN(Online): 2320-

9801 [6] Asmita, Kamlesh, Usha , titled "REVIEW ON COMPARATIVE STUDY OF SOFTWARE PROCESS

MODEL"Volume No 04, Special Issue No. 01, March 2015 [7] Seema , SonaMalhotra , “comparative analysis of popular SDLC models “, International Journal of advances in

computing and information technology, July 2012,pp.277-286. [8] J. Clerk Maxwell, A Treatise on Electricity and Magnetism, 3rd ed., vol. 2. Oxford: Clarendon, 1892, pp.68-73. [9] A comparative study of different life cycle models in different scenarios,”international journal of advanced

research journal in computer science and management studies”,vol.1,issue5,Oct 2013. [10] Javanovich ,D.Dogsa.T, Proceedings of 7th international conference on 11-13,June 2003,pp.582-592. [11] Laura C. Rodriguez Martinez, Manuel Mora ,Francisco,J.Alvarez, “A Descriptive/Comparative Study of the

Evolution of Process Models of Software Development Life Cycles”, Proceedings of the 2009 Mexican International Conference on Computer Science IEEE Computer Society Washington,DC, USA, 2009.

[12] Jovanovich, D., Dogsa, T.,“Comparison of software development models,” Proceedings of the 7 th International Conference on, 1113 June 2003, ConTEL 2003, pp. 587-592.