Software Development Stages

Software development involves many professionals.  Each specializes in a particular stage of the development process:

 

Formulating a Problem Precisely

A developer must investigate a problem before designing a solution.  The investigation should lead to a precise description of the problem, including:

 

Consequences of a Vague Problem Description

If a programmer (or designer) starts solving a problem before doing a thorough investigation and analysis, it is likely that :

 

Collecting Data about the Problem

During the Analysis stage, the analyst should collect data from users ,
for example by

 

Programmers Should NOT Do Analysis

The Analysis stage is probably not supervised by a programmer because:

 

Feasibility Study

A Feasibility Study might be produced during the Analysis phase, including :

 

Computer Systems

Software doesn't work alone.  A computer or information system consists of :

 

IPSO (facto?)

The 4 major components of all software systems are:

 

Decomposing Into Modules

Real-world problems are complex and messy.  The problem must be simplified and described clearly and completely before an effective solution can be designed.  One approach to simplifying a problem is to :

 

Consequences of Computer Systems

Widespread use of computers has social implications (consequences).  The ethical issues and dangerous consequences include:

 

Back to the Beginning

Software development goes through a life-cycle.  After a product is finished and used, it may be necessary to start over again and improve it.  This is because:

  

Prototyping

Prototyping means making a very simple version of a program before starting the real program.  This is useful because:

 

 Functional Prototype

A functional prototype is a small program that actually does something.  This is different than a layout prototype that only shows how IO screens will look.  A functional prototype can:

 

Efficiency

The efficiency of a solution can be analysed during the design stage, by considering the following:

 A GOOD designer thinks about these issues during the design process, especially if there are specific limitations imposed by existing systems.

 

Testing and Debugging

During the implementation stage, software must be tested and debugged, including:

 

IDE

An Integrated Develpment Environment is used by programmers during the implementation stage.  A good IDE includes :

 

Documentation Benefits

Documentation is needed at each stage of the system life cycle, because :

 

Forms of Documentation

Appropriate documentation includes: