Skip to content
Sahithyan's S2
Sahithyan's S2 — Program Construction

Introduction to Program Construction

Program construction is a methodological process that starts from a user’s requirements and end with a working program.

The methodology

System level

  • System requirements analysis
  • System requirements specification
  • System architecture design
  • System validation (checking if the specification captures the customer’s requirements)

Software level

  • Software requirements analysis
  • Software requirements specification
  • Software architecture design
  • Software component/module design
  • Program coding and testing
  • Software deployment and maintenance
  • Software verification (checking if the software meets the specifications)

Requirements

Functional requirements

A statement of a piece of required functionality or a behavior that a system will exhibit under specific conditions.

The above definition is from Grady Booch, James Rumbaugh, and Ivar Jacobson and is a generally accepted one.

Non-functional requirements

A requirement that specifies criteria that can be used to judge the operation of a system. Conveniently identified as illities. These are subjetive, ambigous and conflicting.

Examples:

  • Usability
  • Reliability
  • Safety
  • Responsiveness

Summary

Functional req.Non-functional req.
ObjectiveDescribe what product doesDescribe how product works
End resultDefine product featuresDefine product properties
FocusOn user requirementsOn user expectations
DocumentationCaptured in use casesCaptured as a quality attribute
Origin typeDefined by userDefined by developers