2. The designing process involves in developing the
conceptual view of the system.
The Software Design Techniques that takes
place are:
Stepwise Refinement
Levels Of Abstraction
Structured Design
Integrated Top-Down Develpoment
Jackson Structured Programming
3. STEP-WISE REFINE MENT:
Stepwise refinement is a top – down technique
for decomposing a system from high level
specification into more elementary levels.
It is also known as “ Stepwise program
Development” and “Successive Refinement”.
The activities that takes place are:
Decomposing design decisions to elementary
levels
Isolating design aspects that are not truly
interdependent.
4. Postponding decisions concering representation details
as long as possible.
Carefully demonstrating that each successive step in
the refinement process is a faithful expasion of
previous steps.
The procedure for computing the first N prime
numbers and writing them in file F is complete.
It is complete because each pseudocode
statement has been refined into executable source
code.
The efficiency of the program can be vastly
improved in several ways. For example, it is not
necessary to check X for divisibility by every number
K between S and X-l.
5. Example:
Refinement 5 X=l, P[l] = 2, LIM = 1.
For I = 2 to N do begin
repeat X = X+2; K = 2, PRIM := true; while PRIM and (K<
LIM) do begin
PRIM := (Xmod P[k]) <> 0 K:=K+1; . end;
until PRIM;
P[l] := X:LIM := LIM + 1 end;
MAJOR BENEFITS:
Top-down decomposition
Incremental addition of detail
Postponement of design decisions
Continual verification of consistency
6. LEVELS OF ABSTRACTION:
Levels of abstraction was originally described by
Dijkstra as a bottom-up design technique in which an
operating system was designed as a layering of
hierarchical levels starting at level o .
Internal functions are hidden from other levels, that
can only be invoked by functions on the same level.
Each level of abstraction performs a set of services
for the functions on the next higher level of
abstraction.
Thus a file manipulation system might be layered as a
set of routines to manipulate fields
7. Higher level functions can invoke functions on lowest
levels, but lower-level functions cannot invoke make
use of higher-level functions.
Operating system are listed in
Level 0 : Processor allocation clock interrupt handling
Level 1 : Memory segment controller
Level 2 : Console message interpreter
Level 3 : I/O buffering
Level 4 : User programs
Level 5 : operator
8. STRUCTURED DESIGN
Structured design was developed by constantine as a
top-down technique for architectural design of
software systems.
The basic approach is structured design is systematic
conversion of data-flow diagrams into structure
charts.
Design heuristics such as coupling and cohesion are
used to guide the design process.
The first step in structured design is review and
refinement of the data flow diagram(s) developed
during requirements definition and external design.
12. INTEGRATED TOP-DOWN DEVELOPMENT
Integrated top-down development integrates design,
implementation and testing.
Using integrated top-down development, design
proceeds top-down from the highest-level routines;
Lower-level routines may be implementations of
elementary function.
There is thus a hierarchical structure to a top-down
system.
13. JACKSON STRUCTURED PROGRAMMING
It was developed by Michael Jackson as a systematic
technique for mapping the structure of a problem into
a program structure to solve the problem.
The mapping is accomplished in these steps.
The problem is modeled by specifying the input and
output data structures using tree structures
diagrams.
The input-output model is converted into a structural
model that contains the operations needed to solve
the problem.