Software Development Process

Software Project Concept

A set of programs written to perform a particular task is called software. It is the interface between the computer and the user.

A project is a well-defined task, which is a collection of several operations done to achieve a goal.

A software project is the complete procedure of software development from requirement analysis to testing and maintenance, carried out according to the execution methodologies, in a specified period to achieve the desired goal.

Concept of Software Development process

The software development process defines a sequence of tasks that must be carried out to build new software. It groups the development activities into a sequence of phases. A phase in sequence can only commence on the previous phase has been completed. A report is produced at the end of each phase, describing what has been achieved and outlining the plan for the next phase.
Features of Software Development Process

  • Optimizes business process
  • Helps save cost
  • Offers competitive advantage
  • Custom software is highly adaptable

Concept of SDLC Life Cycle

All of the software development goes through a number of phases which start from the early stage of requirement determination to final step of system maintenance after it has gone into use is called the software development life cycle. SDLC facilitates standardization and management control of the development process decreasing individuals’ independence and carefulness in design decisions.
The following are the basic phases of SDLC:

  1. Planning (Investigation)

This is the first step of SDLC. This phase begins when the need is identified for a new or modified software/system. During this phase, the system analyst thoroughly studies the organization’s current procedure and the software used to perform organizational tasks.

  1. System Analysis

System analysis is an important activity that takes place when the new information system is being changed. It follows the feasibility study and involves a detailed study of the current system, leading to specifications of a new system.
During system analysis, data are collected from various available sources by using tools such as interviews, on-site observation, questionnaires, sampling, research, and documentation. All procedures, requirements must be analyzed and documented. Finally, system analysis determines the shape, form, strength, capability, and even the life of the system.

  1. System Design

This is the most creative and challenging phase of SDLC. It is concerned with the design of the final system. During this phase, the designer must design all the aspects of the system from the input and output screen to reports, databases, and processes of computing.
Many system design tools are available to help teams through the steps of system design, some of them are algorithm, flowchart, DFD (Data Flow Diagram), ER diagram (Entity-Relationship), etc.

  1. System Development

During the development phase, the developers play a key role, in creating or customizing the system. In this phase technical writers also work with the developers to develop the technical documents for the system. The technical document explains how and why a certain procedure is coded in specific ways. The major goal of this phase is to translate the problem studied in the system analysis and design phase into the proper physical system.

  1. System Testing

After the development of the whole components of the system, a test plan must be conducted and all the testing must be done accordingly to that schedule. A test schedule may contain the following steps:

  1. Test unit specification
  2. Features to be tested
  3. The approach used for testing
  4. Test deliverables
  5. Schedule
  6. Personnel allocation

This phase is the costliest, most time-consuming, and most complex.