Automated Framework for Software Process Model Selection Based on Soft Computing Approach

Automated Framework for Software Process Model Selection Based on Soft Computing Approach

Swati Dhingra, Mythili Thirugnanam, Poorvi Dodwad, Meghna Madan
DOI: 10.4018/978-1-5225-1008-6.ch018
OnDemand:
(Individual Chapters)
Available
$37.50
No Current Special Offers
TOTAL SAVINGS: $37.50

Abstract

Software engineering is an engineering approach for software development. It is a discipline whose aim is the production of fault-free, delivered on-time and within budget software that satisfies the user's needs. Software engineering principles need to be followed to ensure a successful software development project. Within organizations that are involved in software development, the challenge is to select the appropriate process model for the software project. The objective of this chapter is to determine the factors which influence the process model selection. This chapter presents an automated framework for selection of process model using fuzzy-based rule engine and to bring more accuracy for choice of process model, J-48 decision tree was used considering factors as inputs. The user has to give characteristic value of the prioritized factor as input and on the basis of the rules, model is anticipated. The developed framework will be profitable for project managers, experts and venture pioneers in software companies.
Chapter Preview
Top

Introduction

In ancient days of computing, software development was mainly a one-man task. The problem to be solved was well understood, and it was hard to distinguish between the programmer and the end-user of the application. The model used for such applications was called code-and-fix model. To deal with the new software development, the code-and-fix model was inadequate due to:

  • 1.

    Increase in the size of systems being developed, and

  • 2.

    Ever-changing user’s expectations.

The process models were introduced to bring order to the chaos of software development by performing estimation, prediction, calibration and optimization. There are a number of prescriptive software process models; they are named as “prescriptive” because they describe a set of activities in software development project (Pressman, 2004). The benefit of these models brought a sure measure of helpful structure to software engineering work and has given a sensibly powerful guide for software teams (Karmyal, 2015).

The objective of this chapter is to determine the factors which influence the process model selection and subsequently propose an automated framework to predict process model for software projects using fuzzy based rule engine. To bring more correctness for selection of process model J-48 algorithm is used.

Top

Background

Evolution of process models has been reported to have a lot of research. In industries, agile strategies are emerging and gaining popularity. Madhumita Singha Neogi (Neogi et al., 2013) demonstrates that there is noteworthy relationship between variables recognized from the past studies (Bhattacherjee et al., 2007; 2008; Neogi et al., 2009). Using appropriate statistical measures, relationships (linear and non linear) between various factors have been tested. The outcomes uncovered that software development approach of students has a tendency towards agile kind of style.Various research reports suitability and comparison of different process models (Davis et al., 1988). Adel Alshamrani (Alshamrani& Bahattab, 2015) presented the contrast between three process models, namely; waterfall model, spiral model, and incremental model. The paper condenses the advantages and disadvantages of these models for the development of systems in a manner that every model tries to wipe out the inconveniences of the past model.

Vanshika Rastogi (Rastogi, 2015) briefed five process models, namely; waterfall model, iterative model, v-shaped model, spiral model and agile model. The paper explains about preferences and disservices of these five fundamental models which are followed by their comprehensive comparison. Apoorva Mishra (Mishra& Dubey, 2013) carried comparison of different process models namely; waterfall model, v-shaped model, incremental model, spiral model and RAD on the premise of specific features like requirement specifications, risk involvement, user involvement, cost, and so on.Some exploration has likewise been proclaimed on the relationship between project categories and process models (Archibald et al., 2003; 2004; 2013; 2014; Desaulniers et al., 2001). Rupa Mahanti (Mahanti et al., 2012) presented an empirical study on the importance of the factors influencing the selection of process models in the IT industry and the correlation between the factors and the process models. An aggregate of 14 factors were contemplated in this study.

Key Terms in this Chapter

Fuzzy Inference: A procedure of mapping from a given input to output utilizing fuzzy logic. The mapping then gives the premise from which choices can be made, or patterns observed. The procedure of fuzzy inference includes membership functions, fuzzy logic operators and if- then rules.

Classification: A data mining algorithm that creates a step-by-step guide to determine the output of a new data instance.

J-48 Decision Tree: A predictive machine-learning model that chooses the target value (dependent variable) of a new sample based on various attribute values of the available data.

Defuzzification: Translating the membership degree of fuzzy sets into a particular choice or real value.

Weka: Waikato Environment for Knowledge Analysis is a workbench which consists of an accumulation of visualization tools and algorithms for data analysis and predictive modeling, together with graphical client interfaces for simple access to these functions.

Fuzzy Logic: A way of reasoning that resembles human reasoning. The methodology of FL impersonates the method of decision making in humans that involves all intermediate possibilities between digital values YES and NO.

Preprocessing: A data mining technique that includes changing from raw data into an understandable format.

Process Model: Describes the sequence of phases for the entire lifetime of a product (also called as product life cycle).

Complete Chapter List

Search this Book:
Reset