High School Physics

# Program Design | Design Phase of SDLC & its activities

## Program Design phase of SDLC | Activities undertaken during Program design

Program design consists of the steps a programmer should do before they start coding the program in a specific language. These steps when properly documented will make the completed program easier for other programmers to maintain in the future.

There are three broad areas of activity undertaken in the Program Design phase:
•Understanding the Program
•Using Design Tools to Create a Model
•Develop Test Data

### Understanding the Program

If you are working on a project as one of many programmers, the system analyst may have created a variety of documentation items that will help you understand what the program is to do.

These could include screen layouts, narrative descriptions, documentation showing the processing steps, etc. If you are not on a project and you are creating a simple program you might be given only a simple description of the purpose of the program.

Understanding the purpose of a program usually involves understanding its:
•Inputs
•Processing
•Outputs

This IPO approach works very well for beginning programmers. Sometimes, it might help to visualize the program running on the computer. You can imagine what the monitor will look like, what the user must enter on the keyboard, and what processing or manipulations will be done.

### Using Design Tools to Create a Model

At first, you will not need a hierarchy chart because your first programs will not be complex. But as they grow and become more complex, you will divide your program into several modules (or functions).

The first modeling tool you will usually learn is pseudocode. You will document the logic or algorithm of each function in your program. At first, you will have only one function, and thus your pseudocode will follow closely the IPO approach above.

See also  Solution of Physics Numericals for class 9 (set 1 Q15)

There are several methods or tools for planning the logic of a program. They include flowcharting, hierarchy or structure charts, pseudocode, HIPO, Nassi-Schneiderman charts, Warnier-Orr diagrams, etc.

Programmers are expected to be able to understand and do flowcharting and pseudocode. These methods of developing the model of a program are usually taught in most computer courses. Several standards exist for flowcharting and pseudocode and most are very similar to each other.

However, most companies have their own documentation standards and styles. Programmers are expected to be able to quickly adapt to any flowcharting or pseudocode standards for the company at which they work. The other methods that are less universal require some training which is generally provided by the employer that chooses to use them.

Later in your programming career, you will learn about using application software that helps create an information system and/or programs. This type of software is called Computer-Aided Software Engineering (CASE).

Understanding the logic and planning the algorithm on paper before you start to code is a very important concept. Many students develop poor habits and skipping this step is one of them.

### Develop Test Data

Test data consists of the programmer providing some input values and predicting the outputs. This can be quite easy for a simple program and the test data can be used to check the model to see if it produces the correct results.

### Take Away

So here we have discussed the program design phase of the SDLC. The design phase is very important and devoting quality hours in this phase most of the time ensures a better system delivery, if other risks are well managed. If you want to have a quick brush up on SDLC then you may check our post on System Development Life Cycle(SDLC).