Chakra Vs Spiral Model - A Practical Approach



Similar documents
Evolving a Ultra-Flow Software Development Life Cycle Model

Software Process Models. Xin Feng

And the Models Are System/Software Development Life Cycle. Why Life Cycle Approach for Software?

How To Model Software Development Life Cycle Models

Process Methodology. Wegmans Deli Kiosk. for. Version 1.0. Prepared by DELI-cious Developers. Rochester Institute of Technology

CS4507 Advanced Software Engineering

Unit I. Introduction

A COMPARISON BETWEEN DIFFERENT TYPES OF SOFTWARE DEVELOPMENT LIFE CYCLE MODELS IN SOFTWARE ENGINEERING

Software Development Process Models

Lecture 3 Software Development Processes

Module 2. Software Life Cycle Model. Version 2 CSE IIT, Kharagpur

The traditional project management uses conventional methods in software project management process.

Test Cases Design for Software Database Provisioning Development

CS 487. Week 8. Reference: 1. Software engineering, roger s. pressman. Reading: 1. Ian Sommerville, Chapter 3. Objective:

A. Waterfall Model - Requirement Analysis. System & Software Design. Implementation & Unit Testing. Integration & System Testing.

IT3205: Fundamentals of Software Engineering (Compulsory)

Small Group Software Development: A Case Study

Elite: A New Component-Based Software Development Model

Software Processes. The software process. Generic software process models. Waterfall model. Waterfall model phases

Software Processes. Coherent sets of activities for specifying, designing, implementing and testing software systems

Unit 1 Learning Objectives

TRADITIONAL VS MODERN SOFTWARE ENGINEERING MODELS: A REVIEW

A Review of an MVC Framework based Software Development

A Comparison between Five Models of Software Engineering

IT3203 Fundamentals of Software Engineering (Compulsory) BIT 2 nd YEAR SEMESTER 3

10/4/2013. Sharif University of Technology. Session # 3. Contents. Systems Analysis and Design

ASSESSMENT OF SOFTWARE PROCESS MODELS

Software Engineering. Objectives. Designing, building and maintaining large software systems

Advanced Software Engineering. Software Development Processes

Software Life Cycle Models

Introduction to Software Project Management. CITS3220 Software Requirements & Project Management

Peter Mileff PhD SOFTWARE ENGINEERING. The Basics of Software Engineering. University of Miskolc Department of Information Technology

(Refer Slide Time: 01:52)

Chapter 8 Approaches to System Development

Agile Projects 7. Agile Project Management 21

Objectives. The software process. Basic software process Models. Waterfall model. Software Processes

Software Life Cycle. Management of what to do in what order

Life Cycle Models. V. Paúl Pauca. CSC Fall Department of Computer Science Wake Forest University. Object Oriented Software Engineering

Title: Topic 3 Software process models (Topic03 Slide 1).

Module 2. Software Life Cycle Model. Version 2 CSE IIT, Kharagpur

SE464/CS446/ECE452 Software Life-Cycle and Process Models. Instructor: Krzysztof Czarnecki

Software Development Life Cycle Models- Comparison, Consequences

CS 389 Software Engineering. Lecture 2 Chapter 2 Software Processes. Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed.

Software Life Cycle Processes

Software Development Life Cycle & Process Models

INTRODUCTION TO SOFTWARE ENGINEERING

A Comparative Study of Different Software Development Life Cycle Models in Different Scenarios

Keywords Software Engineering, Software cost, Universal models. Agile model, feature of software projects.

Software Engineering. What is a system?

International Journal of Advance Research in Computer Science and Management Studies

COURSE CODE : 4072 COURSE CATEGORY : A PERIODS / WEEK : 4 PERIODS / SEMESTER : 72 CREDITS : 4

How To Develop Software

Waterfall vs. Agile Methodology

CHAPTER_3 SOFTWARE ENGINEERING (PROCESS MODELS)

SOFTWARE ENGINEERING IT 0301 Semester V B.Nithya,G.Lakshmi Priya Asst Professor SRM University, Kattankulathur

Software Development Process

Rapid Development & Software Project Survival Guide Steve McConnell Dave Root (Developed with Mel Rosso-Llopart)

Software Process for QA

SWEBOK Certification Program. Software Engineering Management

LECTURE 1. SYSTEMS DEVELOPMENT

Evolving a New Software Development Life Cycle Model SDLC-2013 with Client Satisfaction

Software Development Life Cycle Models - Process Models. Week 2, Session 1

Managing TM1 Projects

A Comparison Between Five Models Of Software Engineering

Karunya University Dept. of Information Technology

2. Analysis, Design and Implementation

The software process. Generic software process models. Waterfall model. Software Development Methods. Bayu Adhi Tama, ST., MTI.

Agile Software Development. Mohsen Afsharchi

What is a life cycle model?

Software development life cycle. Software Engineering - II ITNP92 - Object Oriented Software Design. Requirements. Requirements. Dr Andrea Bracciali

CSC 492 The Practice of Software Engineering. Lecture 3 University of Mount Union Software Life Cycle Models

Software Life Cycle. Main issues: Discussion of different life cycle models Maintenance or evolution

The Software Lifecycle. Software Lifecycles

Outline. Definitions. Course schedule

2. Analysis, Design and Implementation

A Process Model for Software Architecture

Modelli di sviluppo software. Enrico Giunchiglia

What is Software? The Software Development Process. Definition of Software. Why Software?

Establishing Great Software Development Process(es) for Your Organization. By Dale Mayes

How To Understand The Limitations Of An Agile Software Development

An Assessment between Software Development Life Cycle Models of Software Engineering

6. Software Lifecycle Models. A software lifecycle model is a standardised format for planning organising, and running a new development project.

Software Development Life Cycle

ISSUES OF STRUCTURED VS. OBJECT-ORIENTED METHODOLOGY OF SYSTEMS ANALYSIS AND DESIGN

Analysis of Software Process Models and Applications

Umbrella: A New Component-Based Software Development Model

SOFTWARE PROCESS MODELS

Project management. Organizing, planning and scheduling software projects

A Case study based Software Engineering Education using Open Source Tools

Software Development Life Cycle at SSPL. An Summary of Methodologies We Offer

Software Development Life Cycle (SDLC)

Component Based Development in Software Engineering

International Journal of Advanced Research in Computer Science and Software Engineering

Software Engineering. Software Engineering. Software Costs

Software Development Methodologies in Industry. By: Ahmad Deeb

Transcription:

Chakra - A new era in Software Lifecycle modeling technique R.P.Muthu Assistant Professor, Department of Computer Science Indian Institute of Technology, Bombay. Abstract: Every old thing has to be modified into a newer version to stay in par with this world. This theory of changing applies to every field and Software development field is no exception. In all fields, especially Software field, time has become an important constraint. We have many models in Software Development lifecycle model. But it s been so long since we have a revised software development lifecycle model, due to a lack of development we many times land in a situation where we are not able to finish our project in time which paves way for the loss of project to the companies. Thus to avoid all these chaos in time and make the process of developing a software a much faster and simpler one, This paper hasproposed a new kind of Software development model called chakra. We took two life cycle models- Prototyping and Spiral Model and combined them with some small modifications to land into our model Chakra. Chakra will have all the benefits of both Prototype and Spiral model and will not have their disadvantages. As we move into this paper we can find its usage and understand why this method was proposed. Introduction: Software Engineering can be defined as the study and application of a systematic, disciplined, quantifiable approach to the development, operation and maintenance of the software. We can easily define it as the application of the engineering to software. Thus Software Engineering can be taken as the systematic approach to develop and maintain a software product from scratch to final outcome in a cost effective and efficient way. Software Engineering Paradigm is an abstract representation of a process. It is chosen based on nature of software and its application Software Lifecycle Model: Software Lifecycle model is a framework that tells the about different phases that are involved in a software development process. The Primary goal of this life cycle model is to develop software in a systematic and disciplined manner. Normally while developing a large size project, the task of creating a project gets divided and is given to different teams. Thus the project is split into different modules and is created by different teams concurrently. Thus it reduces the confusion and the completion time of a project. This is the main reason why go for Software Development Life cycle. The steps or phases generally involved in a software lifecycle model are Customer communication Requirement Analysis Design Implementation Testing Deployment and Maintenance There are Different Models that are already available some of them are 1) Waterfall Model ISSN: 2348 8387 www.internationaljournalssrg.org Page 20

2) Incremental Model 3) Prototyping Model 4) Spiral Model 5) Win-Win Spiral Model As chakra is a combination of Prototype and Spiral model let us have a glance about these two models. Prototyping model: This is one of the important Software Lifecycle Model. If we know the meaning of prototype we can easily define what the basic concept of the Prototype model is. Prototype means a sample which depicts the original. Thus the Prototype model gives the end-user a model to depict how his requirement looks when it is implemented as software. A Prototype model may be the best approach in many situations where the customer is unsure of the efficiency of an algorithm. Although prototyping can be used as a standalone process model, it is commonly used as a technique that can be implemented within the context of anyone of the process models. In prototyping model the feedback from the user plays a vital role in creating the software as it determines whether the software has to be refined or can be developed from the prototype. If it has to be refined we have to again start from the planning phase. The diagram of the Prototyping model is given below Figure 1: Prototype Model The main advantage of prototype model is that the customer will get the actual feel of the product and the developer will get something to build immediately. However there are some disadvantages of Prototype model they are i) The Project has to be managed properly or else it ll lead to some infinite iteration. ii) Maintenance can be difficult if not provided with proper documentation. Spiral Model: Spiral model is unarguably the best among the software lifecycle model that has been found for developing a product. This model was developed by Boehm in 1988. It is particularly used for large sized products in the industrial side. The basic assumption behind the spiral model is that form of the software development cannot be determined in advance. So the developer has to keep on communicating with the end-user and know about his requirements. A spiral model is divided into different set of frameworks activities defined by the software engineering team. Each framework activities represent one segment of the spiral path as illustrated in Figure. ISSN: 2348 8387 www.internationaljournalssrg.org Page 21

Figure 2: Spiral Model The advantage of Spiral Model is mainly that the user and customer develop a good level of understanding between each other. The Spiral model uses prototyping as a risk reduction mechanism. Some of the Disadvantages Spiral model is i) The Spiral model is used for creating a large product. ii) At times becomes complex to use As we have seen both the models that forms the base for Chakra. Let us now have a look at Chakra Chakra: Chakra is the name of the Model that we have developed, Chakra is a name taken from Sanskrit language meaning wheel or round. As mentioned earlier our model which is derived from Spiral model and the Prototype model. Since there were some practical problems with the above mentioned 2 models. We created a model that takes all the positives of these two models and leaves the negatives, by doing this we landed into a model which we call as Chakra. Chakra, if needed can also be called as Spiral-Prototype model, or can be considered as a solution for the flaws of the Spiral model. Chakra takes the demonstrating concept mixes it with the spiral movement of the spiral model. The basic definition of Spiral Model said that it is suitable for creating large sized products. So we decided to create a model which looked like spiral model but can be used to create even small sized product. Prototyping is normally used as a part of the model here also we use it as a part of it. There may be chances that the user may vary his requirement in between the implementation of the project so the developer has to start again from scratch. To avoid this we went for spiral model. Chakra also concentrates mainly on the changing desires of the user, so it uses the spiral technique to communicate with the user after each and every spiral or phase of the software development. Difference between Chakra and other models: This section tells how chakra is different from its base models. i) Chakra Vs Spiral Model: a) The main difference between our model and spiral model is, Spiral model concentrates only on the large size products but our model can develop product of any size. ISSN: 2348 8387 www.internationaljournalssrg.org Page 22

b) There were times when spiral model was not able to provide a clear-cut picture of how a software looks to the user. Chakra gives a picture for the user and creates an interface which allows the user to work with. c) In spiral model Prototyping was used only for Risk Management but here it plays equally important role as spiral model. ii) Chakra Vs Prototype Model: a) There are two types of prototyping available they are (a)\evolutionary Prototype (b) Throwaway Prototype. But our model uses only evolutionary prototype. b) In Prototype model we create a prototype which is shown to the user if the user is satisfied the prototype is thrown away and the software is created. Thus the time taken for creating the prototype becomes a prime factor. But it is not the case in our model. The Figure Showing the Chakra Model is Given below. Figure 3: Chakra model Working Of Chakra: The Working of Chakra is quite similar to how a Spiral model works. It starts with the innermost Spiral which is the initial phase of the product development. Then before entering into the second spiral the output of the first spiral is again discussed with the User, This process continues till the final spiral of the product development process comes. Thus we can say when the developer and the customer sit to discuss about the next phase they will have the output of the previous phase. So the developer can easily track whether the user is satisfied with the project or not. The main difference between working of Chakra and Spiral model is the usage of pipelining concept which was not present in the Spiral model. Next is the usage of Prototyping model in the Chakra. As told earlier the prototyping is used in Spiral model as a Risk Management but here we use it to give the output. After every model the output what the user gets is not the prototype but it is the real product. This further reduces the time involved in development of a product. Boons and Banes: The pros of this model are many in short it can be said that it has all the advantages of the Spiral and Prototype model, in addition to that it has met with some of the limitations of these two models, Some of them are a) The time is reduced considerably b) The cost will be reduced. C) Since we am giving the actual product for the user to work with the success rate of the product is very high. ISSN: 2348 8387 www.internationaljournalssrg.org Page 23

Some of the Disadvantages i) The User has to be technically sound to understand the requirements clearly and tell it to the developer. ii) It can be a bit time consuming while developing when compared to other models. The Second disadvantage is only limited to the design and implementation phase but when the overall phase of the product development is considered the time will be less than other model. Conclusion: This paper has proposed a new life cycle model for developing a Software. Our main objective before the start of the project was to propose a lifecycle model that will work much faster than the existing model. Although this paper has taken some basic concepts from old models we are sure that the small modifications this paper hasmade will be able to curb the timing constraint. Reference: [1] Software Engineering-A Practitioner s Approach By Roger S. Pressman, McGraw-Hill International Edition. [2] An Integrated Approach to Software Engineering By Pankaj Jalote. [3] Software Engineering By Ian Somerville. [4] Web reference www.mhhe.com ISSN: 2348 8387 www.internationaljournalssrg.org Page 24