System Development Phase

In this blog, we are about to discuss different system development phases including system study, analysis, design, development, development, implementation, and maintenance. Before continuing about today’s topic if you don’t know or want to know about topics (Information System, Types of Information System, System Analyst, System Development Life Cycle, and system development models) then you can learn by visiting the links below.

Introduction

The following are different stages in a planned manner to develop the software. The software development cycle consists of the following steps:
  1. System study (preliminary investigation)
  2. System analysis (Feasibility study)
  3. System design
  4. System development
  5. System implementation
  6. System Maintenance
System Development Phases || Everything you need to know
Fig. Software development life cycle

System study (preliminary investigation)

This is the very first step of software development so also known as the preliminary investigation phase. In this phase, the developer or system analyst defines the requirements and collects the data about the need and problems of the user (organization) from the field, and analyzes them to get the proper way of solution.
This phase is very important without finding the actual problem no one can develop the system or software. To find the problem, the programmer and user sit together and exchange their problem. They invest a significant portion of their time in identifying a problem and makes system design. This is an important and first step of software development where the developer collects the data about the need and problems of the user from the field and analyzes them to get the way of solution.

System analysis

This is the second stage of system development in which, the manual system is literally taken apart and examined piece by piece with the view of information need and other requirements of the management. The system analysis is the detailed study of various operations and their relationship necessary to be applied for the new system by the system analyst or group of developers.
In this stage, the manual system is literally taken apart and examined piece by piece with a view of information need and other requirements of the management. The system analyst has to keep constant track of the system’s constant interaction with management, middle-level manager, and the working level personnel to achieve the logical and accurate perspective of the system.
The major objectives of system analysis are:
  • To find the shortcoming and strengths of an existing system.
  • To determine the specific need and requirements for the proposed system.
  • To manage the available resources and determine the further necessary options for the new system.
  • To determine whether the new system will meet the organization’s needs or not.
  • To determine the various possible aspects such as legal, economic, technical, etc.
  • To determine what the system will do and how?

Feasibility Study

This is the third stage of SDLC which is examined in an organization for different aspects and possibilities of the system whether it is feasible or not. A feasibility study is necessary to survey the purposed system in order to determine whether the new system on the basis of timely, costly, technically, and operationally will be feasible or not. In this stage, the feasibility study of an organization can be done. A feasibility study is a graphical description of the site showing the size, configuration, natural features, and available utilities to service a particular proposed development. The feasibility has the following primary concepts and types:
  1. Technical feasibility: Technical feasibility centers on the existing computer system (Hardware and software) and to what extent it can support the proposed addition.
  2. Economical feasibility: Economic analysis is the most frequently used method for evaluating the effectiveness of a system. A system that can be developed technically and will be used if installed must still be a good investment. That is, financial benefits must equal or exceed the financial costs. The following economic and financial costs should be investigated:
    a. The cost of new system development.
    b. The cost of hardware and software (equipment).
    c. The cost of manpower.
    d. The cost of operating.
  3. Operational feasibility: Operational feasibility is a measure of how people are able to work with the system.
  4. Human factor feasibility: The human factor feasibility focused on the most important components of success for system implementation, including managers and end-users.
  5. Legal and political feasibility: The legal and political feasibility focuses on patent, copyright, and the licensing system as well governmental restrictions & legal procedures of the system.

System Design

This is another important stage of SDLC in which the developers prepare the general programming technique and logic after analyzing the problem. In this phase, programmers follow the different techniques or methods to achieve the goal. They develop many probable solutions to solve the problem and finally select the best solution. For that purpose, programmers can use many tools such as algorithms, flowcharts, decision trees, ER-diagram, etc. After analyzing the problem the developer prepares the general programming technique and logic. It is the stage at which programmers follow the different techniques or methods to achieve the goal. The developer develops many probable solutions to solve the problem and finally selects the best solution. This phase of the system is very important:
  • To develop the algorithm, flowchart, etc for the solution.
  • To select the best tools for system development.
  • To break down coding work for different users.
  • To determine the suitable system development model.
  • To identify the best design approach such as top-down or bottom.
  • To estimate time and other resources for the system.
  • To select the suitable programming language for coding.

Algorithm

The algorithm is a sequence of well-defined instructions that comes step by step to solve the problem a finite number of times. It can be written in any language. The selection of language depends on the programmer. The simple common language makes it easy to develop. An algorithm refers to the logic of a program and a step-by-step description of how to arrive at the solution of a given problem.

Flowchart

Flowchart expresses the algorithm using different symbols. It is a graphical representation of program solving steps so that it makes clear about the program. It is the best method of designing the solution for the program.
The flowchart is a pictorial representation of an algorithm. It uses symbols (boxes of different shapes) that have standardized meanings to denote different types of instructions. The actual instructions are written within the boxes. Boxes are connected by solid lines having arrow marks to indicate the exact sequence in which the instructions are to be executed. The process of drawing a flowchart for an algorithm is called flowcharting.

System Development (Coding)

System development or coding is the stage or process of writing programs using an actual programming language. The programmer translates the program logic design documents into a computer language format using the appropriate programming language. While coding the program, programmers use different keywords with their syntax. The selection of correct statements encourages the programmer to the best solution without errors. Coding is the process of writing programs using an actual programming language. The programmer translates the program logic design documents into a computer language format using the appropriate programming language.
In this stage, the programmer develops the programs using the actual programming language. The logical solution prepared by the different tools can translate into real program code. While coding the program, the programmer uses a different syntax, statements. The selection of the best statement encourages the programmer to the best solution without errors. There are three kinds of programming languages. They are:
  1. Machine level language
  2. Assembly Language
  3. High-level language

System Testing and debugging

This is an important stage of software development that helps to find and remove errors in the program. Testing allows to developer to detect the bugs, or errors in the program so that they can be removed by debugging. Debugging is necessary to make the program error-free so that it will produce the desired result. Parallel running is often regarded as the final phase of system testing. Since the parallel operation of two systems is very demanding in terms of user resources it should be embarked on only if the user is satisfied with the result of testing. It should not be started if the problem is known to exist. The major types of system testing are:
  1. Black box testing: In this type of testing the user or tester can only check about input data, it’s processing, and output result. Here the tester cannot see all the source code and is only concerned with the outcome of the system.
  2. White box testing: Here the system codes are visible so that programming experts can modify the source code even to make the system run smoothly.

Implementation and maintenance

Implementation is one of the important phases of system development. It consists of installing hardware and program in the organization for operation in real working conditions. In this phase, the user actually starts using the program. Maintenance covers a wide range of activities, including correcting coding and design errors, updating documentation and test data, and upgrading user support. Maintenance means restoring something to its original condition.

Documentation

This is the final phase of SDLC which includes the method or techniques of communication among the people who are responsible for developing, implementing, and maintaining the computer-based complete record system also other documents, files, etc. Documentation is extremely important in diagnosing errors and making changes and understanding the functionality of the system for the long term purpose.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *