Designing Usable Computer Systems


The Software Life Cycle

The software lifecycle is an attempt to identify the activities which occur in software development. These activities must then be ordered in any development project and appropriate techniques must be adopted to carry them through. As a result this will lead to the production of a usable computer system.


Activities in the Life Cycle

Requirement specification:

In requirements specification, the designer should be communicating to the customer and determine what is required in terms of the operating environment and the functionality of the software. In other words it is a process to determine what the final system is expected to provide.

Architectural design:

This activity concentrate on how the system provides the services expected from it. It is actually a high-level decomposition of the system into components that can either be brought in from existing software products or be developed from scratch. The architectural design must also describe the independencies between separate components and the sharing of resources that will arise between components.

Detailed design:

The detailed design is a refinement of the component description provided by the architectural design. The purpose of the detailed design is to provide a sufficiently detailed description of the each component so that they are all ready for integration.

Coding and unit testing:

The detailed design for a component of the system should be in such a form that it is possible to implement it in some executable programming language. After coding, the component can be tested to verify that it performs correctly, according to some test criteria that were determined in earlier activities.

Integration and testing:

When all the components have been implemented and each of them is tested, they must be integrated as it is planned in the architectural design. As a result of integration and the testing the customer can see how the system is working. It also ensures weather the requirements of the customer are met.

Maintenance:

However maintenance is not a part of development process it provides feedback to all of the activities that has been carried out in the life cycle. Also this will give a start point for the next design. By using the experience and the knowledge gathered from the previous product.


Home page

PreviousNext