How to write a system design specification

Web design Philosophies and studies of design[ edit ] There are countless philosophies for guiding design as design values and its accompanying aspects within modern design vary, both between different schools of thought[ which? A design goal may range from solving the least significant individual problem of the smallest element, to the most holistic influential utopian goals. Design goals are usually for guiding design.

How to write a system design specification

When completing a workload specification a check must be made to ensure that all relevant functions have been covered. Once all loads have been considered, infrequent or inappropriate workloads can be eliminated.

The workload should be specified up to the date that you wish current hardware to support without upgrade. Workload Profile The performance of the system is dependent on how the load is delivered to the system. For example it is easier to achieve faster response times for a system that receive an regular arrival of work throughout the day compared to one that receive burst of traffic.

Therefore it is important that the workload profile is defined The arrival rate into the system is rarely going to be constant throughout the day or the week. The figure below shows the arrival rate for requests to a website.

how to write a system design specification

As can be seen in the figure the workload peaks around lunchtime and late evening but activity is very quite during the night. The above example shows how workload varies over a 24 hour period but it may be more important to show how workload varies over a month for example batch or over an hour for example end of day share trading.

The decision facing system developers is whether to design a system to cope with a peak workload. The answer to this will depend on the consequence of failing. For example certain organizations design for a peak.

The NY stock exchange in could process 3 billion transactions in a day while the daily average is less than 1. This is because of the need to execute trades the same day and to maintain an accurate record of the state of the market. When defining the workload for a new venture and little or no existing workload data exists and the system is to be developed by a supplier the temptation is to specify a high peak workload.

This is a valid but often an expensive approach which may still not protect you from high demand as it can still be higher than you specify!

An alternative solution is to specify the workload as your business model and analysis predicts it will be. Next, have a detailed specification of the scalability of the system to ensure that the supplier develops a system that is scalable quickly.

Specify requirements for detecting and processing overload to ensure flood control mechanisms are in place to avoid the system crashing under intensive loads. Test that the system is scalable by renting in additional equipment or using vendors test environments. The scalability required is often driven by the lifespan and the maturity of the system.

For example, a new and hence immature system could suffer an unexpected growth in popularity and suffer from a significant increase in workload as it becomes popular with new users.

More mature systems which represent improvements on older systems are likely to have more accurately defined workloads and thus be less likely to suffer in this respect Remember to specify that the response time requirements should still be meet as the workload scales A problem with scalability specification is that it may not be economically viable to test the scalability, as it often requires additional hardware.

Therefore an alternative is either to rent in the additional hardware for the purpose of the tests or to use an extrapolation technique such as a simulation model.

Platform Considerations A platform is defined as the underlying hardware and software operating system and software utilities which will house the system.

It may also be the case that the system will require various generic products to be used in which case the performance of these must also be specified.

Consideration must be given as to whether the hardware will be used exclusively for the system or whether it must be shared with some other process. A new system might have to compete with an old system for the processor and its resources.

The processor and resource requirements of the old system must be specified so the amount of free space and performance can be assessed. When the customer specifies the platform for the system it is not only important that the project engineer knows what has been specified but that they also understand its capability in terms of performance.

When part of the platform consists of external resources such as connections to external databases or banking systems then the response times of these external resources must also be specified Contractual Considerations For any project where the system is developed by a supplier, considerable thought needs to be given to the wording of performance goals.

The problem is that the customer will lose potential leverage if performance requirements are specified after the ink has dried. While the supplier will be wary of signing upto performance requirements before they have undertaken enough analysis to access how reasonable the performance requirements can be met.

Problems are particularly acute for new ventures where no existing workload date is available to estimate demand accurately and therefore assumptions and projections can be challenged.

This should not be used as an excuse for neither party to ignore specification of performance requirements. Make every effort to ensure that during the contractual negotiations the performance requirements are discussed and negotated. This allows trade-offs to be made by both customer and supplier.

A customer who is unsure of the system workload may specify high or even excessive volumes.Introduction. Software Requirement Specification (SRS) document usually contains a software vendor’s understanding of a customer’s software requirements.

1 INTRODUCTION TO SYSTEM ANALYSIS AND DESIGN INTRODUCTION Systems are created to solve problems. One can think of the sys-tems approach as an organized way of dealing with a problem.

A functional specification (also, functional spec, specs, functional specifications document (FSD), functional requirements specification) in systems engineering and software development is a document that specifies the functions that a system or component must perform (often part of a requirements specification) (ISO/IEC/IEEE )..

The documentation typically describes what is needed. There’s a lot of information on the Interweb about how to write a functional specification (FS for short, aka software requirements specification, system specification, product specification. Design is the creation of a plan or convention for the construction of an object, system or measurable human interaction (as in architectural blueprints, engineering drawings, business processes, circuit diagrams, and sewing patterns).

Design has different connotations in different fields (see design disciplines below). In some cases, the direct construction of an object (as in pottery. Program Development in Java: Abstraction, Specification, and Object-Oriented Design [Barbara Liskov, John Guttag] on *FREE* shipping on qualifying offers.

Written by a world-renowned expert on programming methodology, and the winner of the Turing Award.

Sorry! Something went wrong!