Objectives
To introduce the idea of software process a coherent set of activities for software production. Understand the concepts of software processes To describe various generic software process models and their pros and cons Know about the fundamental process activities Understand why processes should cope with changes in requirements and design
Software Process
Definition:
the set of related activities that leads to
These activities may involve developing software from scratch. Evolution of an existing software
Maintenance (Evolution)
Requirements
The process of establishing
what services are required of the system the constraints on the systems
Feasibility report
Design
The process of converting the system specification
(requirements) into a software structure that realizes that specification The how of the software life cycle
Implementation
Implementation is the process of converting a
system specification into an executable system. Translating a design into a program and removing errors from that program Programming is a personal activity - there is no generic programming process. Programmers carry out some program testing to discover faults in the program and remove these faults in the debugging process. The activities of design and implementation are closely related and may be interleaved.
Testing
Verification and validation is intended to show that
a system conforms to its specification and meets the requirements of the system customer. Involves checking and review processes and system testing System testing involves executing the system with test cases that are derived from the specification of the real data to be processed by the system.
Component testing
Integration testing
User testing
Service
Acceptance test
System Maintenance
Software is inherently flexible and can change (as
opposed to hardware). In the past, there has been a demarcation between development and evolution (maintenance). This is increasingly irrelevant as fewer and fewer systems are completely new. Software engineering should be thought of as an evolutionary process where software is continually changed over its lifetime in response to customer needs.
Summary
In every software project, large or small, there are five
must be followed systematically. In most projects, developers do as they find appropriate depending on the type of project.
END