Home | Software | Database | Quality | Website | E-commerce | Clients | Contact
 

System Design Specification and Review

An SDS takes the System Requirements Specification (SRS) and breaks it down into sections of a puzzle. The puzzle includes the following steps:

Top Level Design

Usually this is a series of diagrams that link sections of the puzzle together. The diagrams show the flow of data and how one module links to another. They do not show detail such as iteration or specifics such as "customer name"

The above process shows the basic process of making a cup of coffee. The process shows a black coffee and a white coffee, but has a very obvious mistake. Can you spot it?

The mistake is no hot water or sugar! A minor point if you want a hot cup of coffee with one sugar and milk.

The above example is a trivial example of how the design process breaks down. Used correctly it becomes a powerful medium to describe what it is the client wants to achieve.

Module Design

Each bubble in the above diagram represents a module. A module is a semi process, something that needs to happen.

In our example, the module "Make a Coffee" breaks down into three minor modules, each being an important process in making a coffee.

Once the system as an entity has been broken down far enough into modules, then these modules can be designed. For example "Milk" cannot be broken down any further and describes clearly what it does. Maybe "Insert Milk" would have been better.

Module Testing Strategy

Once we know the modules and what they do we can design a test strategy for them. For example "Coffee Powder". What happens if we run out of coffee? What happens if there is more than one choice of coffee? These test conditions will ensure that the software developer has adequate conditions in place when developing the software.

Integration Testing Strategy

When all the modules are brought together they need to be tested. For example, what if we have tested the modules individually for one cup of coffee and the system must make many? We need to test that the kettle has enough water for all the coffees we wish to make.

Integration is the connection of more than one module and is a complex operation. The test strategy must ensure that as many problems have been ironed out as possible before a single line of code has been written.

Project Plan

Each module will have a time-scale for completion. The integration and unit testing will also have a time-scale. The designer will know what manpower they have available for the project and so all this information can be used to plan the project.

The project plan should show when a module will be developed based on a project start time and based on preceding modules. For example developing the module "Inserting Coffee" cannot take place until "Get A Cup" is complete otherwise the coffee will spill on the floor.

System Test Strategy

The system test strategy is how the company plans to test the finished article without using live data. For example, if we use actual coffee for our testing then it could become quite expensive. A better solution would be to use a cheaper alternative.

The STS should detail how the system will be tested to mimic the actual live system. This will usually involve copies of test data in a test harness.

Once the SDS has been finished, the client and project peers must review the document. Mistakes found here will be cheaper to fix than if found at a more advanced stage of development.

 top

 
Email info@software-for-business.com