Sections


Main-Menu

header image

Design Techniques


Design techniques

> Specification design sits at the technical kernel of the software engineering process
> Specification design is applied regardless of the software process model that is used.
> Software design is the first of three technical activities – design, code generation, and testing – that are required to built and verify the software.
One of the most important principles for mastering the complexity of software systems is the principle of abstraction.

Two approaches:
• Top-down design, and
• Bottom-up design.

Top-down design
([Dijkstra 1969], [Wirth 1971])

> The design activity must begin with the analysis of the requirements definition and should not consider implementation details at first.
> A project is decomposed into subprojects, and this procedure is repeated until the subtasks have become so simple that an algorithm can be formulated as a solution.
> Top-down design is a successive concretization of abstractly described ideas for a solution.
> Abstraction proves to be the best medium to render complex systems comprehensible; the designer is involved only with those aspects of the system that are necessary for understanding before the next step or during the search for a solution.

Bottom-up design
The fundamental idea:
> To perceive the hardware and layer above it as an abstract machine.

Technique:
> Bottom-up design begins with the givens of a concrete machine and successively develops one abstract machine after the other by adding needed attributes, until a machine has been achieved that provides the functionality that the user requires.

An abstract machine is a set of basic operations that permits the modeling of a system.


Related Articles :



Leave a Comment

Please note: Comment moderation is enabled and may delay your comment. There is no need to resubmit your comment.

Shaadi.com Matrimony - Register for FREE