Network Security and Management

by Professor Brijendra Singh.

Systems Analysis and Design

by Professor Brijendra Singh.

Data Communication And Computer Networks

by Professor Brijendra Singh.

Quality Control And Reliability Analysis

by Professor Brijendra Singh

Friday, 20 April 2018

Impact of Software Development Process



Impact of Software Development Process

Software process can be defined as “a set of activities, methods, practices, and transformations that people use to develop and maintain software and the associated products” . According to IEEE software development process is a process by which user needs are translated into a software product. The process involves translating user needs into software requirements, transforming the software requirements into design, implementing the design in code, testing the code, and sometimes, installing and checking out the software for operational use . Software process used to create software and achieve quality in software products. The main objective of the development of a system is its efficient integration in real-life situations. Various software development methods have been adopted to develop the software products such as: waterfall model, iterative and incremental model, spiral model, V model, rapid application development, prototyping model, agile model, and hybrid spiral model. Some of the most commonly used are waterfall, spiral, V model, and agile model. Software development organizations have realized that adherence to a suitable well defined life cycle model helps to produce good quality products .
Mainly there are four phase of software development; software requirement, software design, software coding/implementation and software testing, which have been used in various models. Each and every phase have an individual impact on software quality attributes. These phase play an important role to improve quality of finished products . A suitable life cycle model can possible be selected based on an analysis of issues such as: characteristics of the software to be developed, characteristics of development team, and characteristics of customer.
There are various issues in traditional software development process. The failure of many software projects in terms of not meeting user/business requirements, prone to errors etc has led to software quality becoming one of the key issues from all stakeholders‟ perspective.  In a competitive environment quality based product is basic need for any product success. To achieve quality, efficient process is required. Activities of software development can be organized in a process, in order to achieve the quality in finished product.
 The main research question of this review article is to find out the impact of software development process on software quality. Software requirement analysis used to collect needs or requirement of software. Requirement analysis is the first step which involves to the quality because this step used to capture all functional and non-functional requirements to be implemented in final product. Software design is next step to derive quality to create complete structure or architecture of software which is stated into requirement specification. Design provides not only to find out how the software product is going to be appear, but also allows both software users and developers to realize how it's going to function. Because design is the only way to completely translate a requirements into a finished product.
After software design software coding/implementation phase is used for implementing the software. Software implementation is based upon programming language. This phase also play an important role because using coding an executable version of software is created. Programming language can impact not only the coding process, but also the properties of the resulting product and its quality. Software testing is conducted when executable software exists. Testing used to find out errors and fix them to support software quality. Testing check what all functions software supposed to do & also check that software is not doing what he not supposed to do.

Software Development Process


Software Development Process

The software process is an organized set of activities required to develop a software product. Software development is the process of taking a set of requirements from a user, analyzing them, designing a solution to the problem, and then implementing

solution on a computer. International standard ISO/IEC 12207 describe the method of selecting, implementing, and monitoring the life cycle for software. Waterfall model is a traditional model and agile software development is a newest method for software development.
At present software organization shift its focus from product issues to process issues. Sequential process model such as waterfall and V model is linear process model. This is applicable in situation where requirements are well defined, fix, and stable. Incremental process model is iterative in nature and develop working versions of software cleanly. Evolutionary process models use the iterative, incremental nature to implement software product. Evolutionary models such as prototyping and spiral model produce incremental work products rapidly. Agile is a new model for software development which uses iterative and incremental development, less documentation, lightweight, and fewer process controls. It was targeted at small to medium size software projects and smaller teams of developers which develops complete software easily.
Special models contain the component based model that incorporates component reuse and assembly. Formal method model that encompass a mathematical based approach for software development. Aspect oriented model uses crosscutting concerns spanning for system architecture. Unified process is a use case driven, architecture centric, iterative and incremental software process designed for UML methods and tools. Personal and team model have been developed for software process. Both provide planning, measurement, and self direction as key ingredients for successful software process.
Quality of software process affects quality of software product. Quality derived in software product with the help of well defined software process. Software development process model uses software process to develop software product. Waterfall and V model is linear model and most suitable where requirements are well defined and fix. Iterative and incremental model, prototype model, and spiral model works in cycle form and develop software product rapidly. Agile model also uses iterative and incremental nature to develop software product quickly as possible. Component model incorporates reusability and assemble software component easily. Selection of most appropriate process model is important concern to achieve quality which is selected as per software requirement and architecture. 

Software Quality


Software Quality

According to IEEE Standard Glossary of Software Engineering Terminology Std 610.12-1990 quality is defined as: “the degree to which a system, component, or process meets specified requirements” and “the degree to which a system, component, or process meets customer or user needs or expectations”. Basically software quality defined as: conformance to specification and meeting customer needs. Although there are different definitions, it is often described as the fitness for purpose of software.
One of the challenges of software quality is that everyone feels they understand it. All these ideas and views on quality are used to manage and incorporate the software quality. For quality management various models and standard are develop as per requirement and changing environment. One of the most important

quality model is McCall model which attempts to bridge the gap between users and developers by focusing on a number of software quality factor that reflect users view and the developer priorities. Second basic quality model is Boehm model, addresses the shortcoming of existing models to automatically and quantitatively evaluate the quality of software. Boehm model is a hierarchical quality model which qualitatively defines software quality by a set of attributes and metrics and present structure around high level characteristics, intermediate level characteristics, and primitive characteristics.
ISO 9001 is an international quality management standard applicable to organizations within all type of business and process. ISO has also release ISO 9126 for software product evaluation, quality characteristics, and guidelines for their use standard. Now this standard has been revised by ISO 25010:2011, Systems and software engineering: Systems and software Quality Requirements and Evaluation (SQuaRE). Carnegie Mellon Software Engineering Institute (SEI) developed Capability Maturity Model (CMM) to address issue of software quality from process perspective. CMM is replaced by Capability Maturity Model Integration (CMMI) model which incorporate some CMM models into a wider span. The ISO/IEC 15504: information technology- software process assessment is an international standard framework for process assessment that intends to address all processes involved in development.
Success of software organization completely depends on user who use software and satisfy with software quality. Every software organization wants to develop quality product within given time and cost. To develop quality product first step should be a clear, complete, and precise software requirement. After requirement software design accordingly then software coding is start for executable version of software. Finally testing of software is started to check the software errors and bugs. All this belong to software quality.