Explain software engineering process.


The Systems Development Life Cycle (SDLC), or Software Development Life Cycle in systems engineering, information systems and software engineering, is the process of creating or altering systems, and the models and methodologies that people use to develop these systems. The concept generally refers to computer or information systems.
In software engineering the SDLC concept underpins many kinds of software development methodologies. These methodologies form the framework for planning and controlling the creation of an information system[1]: the software development process. There is general agreement among software engineers on the major steps of a software process. Figure 1 is a graphical depiction of these steps. The fourth step in the process is the post-development phase, where the product is deployed to its users, maintained as necessary, and enhanced to meet evolving requirements.
The first two steps of the process are often referred to, respectively, as the "what and how" of software development. The "Analyse and Specify" step defines what the problem is to be solved; the "Design and Implement" step entails how the problem is solved.


While these steps are common in most definitions of software process, there are wide variations in how process details are defined. The variations stem from the kind of software being developed and the people doing the development. For example, the process for developing a well-understood business application with a highly experienced team can be quite different from the process of developing an experimental artificial intelligence program with a group of academic researchers.
Among authors who write about software engineering processes, there is a good deal of variation in process details. There is variation in terminology, how processes are structured, and the emphasis placed on different aspects of the process. This chapter will define key process terminology and present a specific process that is generally applicable to a range of end-user software. The chapter will also discuss alternative approaches to defining software engineering processes.
Independent of technical details, there are general quality criteria that apply to any good process. These criteria include the following:
1. The process is suited to the people involved in a project and the type of software being developed. 2. All project participants clearly understand the process, or at minimum the part of the process in which they are directly involved. 3. If possible, the process is defined based on the experience of engineers who have participated in successful projects in the past, in an application domain similar to the project at hand. 4. The process is subject to regular evaluation, so that adjustments can be made as necessary during a project, and so the process can be improved for future projects.
As presented in this chapter, with neat graphs and tables, the software development process is intended to appear quite orderly. In actual practice, the process can get messy. Developing software often involves people of diverse backgrounds, varying skills, and differing viewpoints on the product to be developed. Added to this are the facts that software projects can take a long time to complete and cost a lot of money. Given these facts, software development can be quite challenging, and at times trying for those doing it.
Having a well-defined software process can help participants meet the challenges and minimise the trying times. However, any software process must be conducted by people who are willing and able to work effectively with one another. Effective human communication is absolutely essential to any software development project, whatever specific technical process is employed.

 

© 2013 MBA EXAM PAPER. All rights resevered. Designed by Templateism

Back To Top