Back to Topics

12. Software Development

12.1.1 Program Development Life Cycle

Analysis

The first stage of the program development life cycle, where requirements are gathered and documented.

Design

The stage where the program's structure and logic are planned.

Coding

The stage where the program is written in a high-level programming language.

Testing

The stage where the program is tested to ensure it runs correctly.

Maintenance

The stage where the program is updated, fixed, or improved after deployment.

12.1.2 Development Models

Waterfall Model

A linear approach where each stage is completed before the next begins.

Iterative Model

An incremental approach where the PDC is repeated multiple times.

Rapid Application Development (RAD)

A flexible approach where different parts of the program are developed simultaneously.

12.2 Types of Errors

Syntax Error

Occurs when a program statement does not follow the rules of the programming language.

Logic Error

An error in the logic of the solution that causes it to not behave as intended.

Runtime Error

Causes program execution to crash or freeze, often due to unexpected conditions.

12.3 Types of Maintenance

Corrective Maintenance

Used to correct any errors that appear during usage that were not found while testing.

Perfective Maintenance

Used to improve the performance of the program during its use to be more efficient.

Adaptive Maintenance

Change a program so it can perform any new tasks due to changes in program requirements.

12.4 Types of Testing

Test Strategy

Set in the analysis stage of the Program Development Cycle (PDC), showing an overview of the testing required to meet the specified requirements.

Test Plan

Created to clarify what tests need to be performed for the test strategy.

Type of Test Data

Different types of test data used to ensure the program works as expected.

White Box Testing

Detailed testing of how each procedure works, involving the structure and logic of every path through a program.

Black Box Testing

Tests the program/module input and output without knowledge of the internal code.

Integration Testing

Modules are tested individually during development and then combined into a single program for testing as a whole.

Stub Testing

Used when some modules are not written yet; dummy modules return expected results or output messages to show they have been called.

Dry Run

The programmer reads the code line by line manually, tracing the value of variables as they change to check for errors.

Walkthrough

A formal version of a dry run using predefined test cases.

Testing Stages

Different stages of testing to ensure the program is ready for release.

Made withby Aarush and ChatGPTGitHub