CHAPTER 12: SOFTWARE DEVELOPMENT

12.1 PROGRAM DEVELOPMENT LIFECYCLE

12.1.1 Stages

  1. Analysis: Understand problem, identify requirements
  2. Design: Create solution structure, algorithms
  3. Coding: Write actual program code
  4. Testing: Find and fix errors
  5. Maintenance: Update and improve after delivery

12.1.2 Development Models

Waterfall:

Iterative:

RAD (Rapid Application Development):

12.2 PROGRAM DESIGN

12.2.1 Structure Chart

Purpose: Decompose problem into sub-tasks

Shows:

12.2.2 State-Transition Diagrams

Purpose: Document algorithm behavior

Shows:

12.3 PROGRAM TESTING AND MAINTENANCE

12.3.1 Error Types

Type Description
Syntax Violation of language rules
Logic Incorrect algorithm implementation
Runtime Error during execution

12.3.2 Testing Methods

Method Description
Dry Run Manual execution using test data
Walkthrough Team reviews code
White Box Tests internal structure
Black Box Tests functionality only
Integration Test combined components
Alpha Testing by developers
Beta Testing by users
Acceptance Final testing by client

12.3.3 Test Data

Type Description
Normal Typical valid data
Extreme/Boundary At limits of valid range
Abnormal/Invalid Invalid data

12.3.4 Maintenance Types

Type Description
Corrective Fixing errors
Adaptive Adapting to environment changes
Perfective Improving performance/functionality

Revision #1
Created 2026-03-16 12:05:03 UTC by Samuel Lee
Updated 2026-03-16 12:05:33 UTC by Samuel Lee