Sei sulla pagina 1di 32

Design Viewpoints

Design View points


 A representation is used to provide a particular abstraction of
the characteristics of a system

What is the need of representation ?


 capturing the designer’s ideas for a solution;
 explaining the designer’s ideas to others (such as customers,
fellow designers, implementers, managers);
 checking for consistency and completeness in a solution.
Contd..

 Representations can be associated with problem models and


solution (program).
 Independent of any particular form of design process.
 Helps to capture certain properties of a design process
View Points
 Viewpoint is defined “as a projection of the design model” (design
model)
 A representation can be used to represent the attributes or
characteristics of the viewpoints
Design viewpoints for software

 system-oriented properties - dynamic behavior of the system.

 solution-oriented design - ‘constructional’ issues such as packaging,


procedure hierarchy, data organization,
 Basically 4 viewpoints are available
 Constructional forms
 Behavioral forms
 Functional forms
 Data modeling forms
View Points (Design Model)
 Constructional forms, in which the viewpoint is concerned
with essentially static aspects of the system;
 behavioural forms, a set of viewpoints that seek to describe
the causal links between events and system responses during
execution;
 functional forms, viewpoints that seek to describe what the
system does in terms of its tasks;
 data-modelling forms, concerned with the data objects used
within the system, and the relationships between these.
Evolution of Design Model
Constructional forms
 data flow, concerning the sources and forms of data
 invocation, describing how the flow of control is managed between
program elements
 uses hierarchy, describing the dependencies that exist between classes
Behavioural forms
 sequencing aspects can be described fairly well;
 fixed-interval descriptions are also fairly tractable, although their use is
mainly restricted to particular features of real-time systems;
 constraint effects are very difficult to capture and describe using existing
forms of description.
Functional forms
 to describe exactly what it is that a system does
 the algorithmic aspects
 to describe the runtime behaviour of program elements such
as subprograms
Data-modelling forms
 the description of data structures
 Type
 Sequence
 form
Forms of notation
 Text - Text is very widely used as a means of summarizing
information
 diagrams – flowchart , UML diagrams, Structured chart
 mathematical expressions – representation using formal
methods
Rationale in design method
 the knowledge involved in successfully employing a design method
1. declarative knowledge, describing what tasks need to be performed at each step
in the design process
2. procedural knowledge, consisting of knowledge about how to employ a given
method in a particular situation
components of a software design method
 The representation part consists of one or more forms of notation
that can be used to describe both the structure of the initial
problem and that of the intended solution

 The process part describes the procedures to follow in developing the


solution and the strategies to adopt in making choices

 A set of heuristics provide guidelines on the ways in which the


activities defined in the process part can be organized
Categories of design methods
 Formal methods largely depend on the use of mathematical notations for
the representation parts.
 Systematic methods are generally less mathematically rigorous in form,
both in terms of the representation part – which normally consists
of one or more forms of diagram – and also of the process part.
(JSP and SSADM)
Support provided by Design methods
 technical issues
 management issues
Design Representations
General domains
 batch systems -the main feature is that all the operating
characteristics of the system are essentially determined when
it begins processing one or more data streams
 reactive systems is that they are event-driven
 Concurrent systems are characterized by the use of multiple
threads of execution within the problem
Identify domains
(a) A bank autoteller machine.
(b) A system utility program used to list the contents of a user’s
directory (such as the
Unix Is).
(c) An interpreter for a programming language.
(d) A multi-user operating system.
(e) An airline seat reservation system with terminals in travel
agents’ offices.
Design strategies
Design strategies (and associated methods) tend to encourage the
designer to focus on structuring core activities of the eventual system
in building up a model of a problem.

 decompositional methods, which generally take a ‘top-down’ view of the design


process, developing the design model through a process of sub-
division;
 compositional methods, whereby the basic design model is built up from the
identification of ‘entities’ of some form;
 organizational methods, for which the structure of the design process is strongly
influenced by the requirement that it should conform to non-technical
requirements that are based on the form of the organization;
 template-based methods, where a specific problem domain provides a class of
problems that can be tackled using a fairly standard strategy
Design by top-down decomposition
CONtd..
PROBLEMS
 instability
 problem of duplication
 lack of a ‘stopping rule’- how small the decomposition should
be.

 EXAMPLE
 SSA/SD
Design by composition
 focused on identifying the operations that need to be performed by the
system.
 a model of the problem is constructed by developing descriptions of a
set of particular entities or objects that can be recognized in the
problem itself, together with a description of the relationships that link
these entities

BENEFITS
 more stable
 more even in transformation process
 better able to provide a good verification process
EXAMPLES
 JSP
 JSD
Organizational methods
 process part of the method is strongly influenced by a set of nontechnical
factors, arising from the nature and structure of the organization using the
method.
BENEFITS
 there is minimum disruption of a project when staff changes occur;
 a change of project manager should not lead to a change of technical
direction;
 standardization of documentation allows for better management of
maintenance;
 there is scope for better planning, costing and control of projects, based on
the use of past experience, which can be related directly to current practices
Contd..
 SSADM , (Structured Systems Analysis and Design Method)
 data-processing projects by central and local government agencies in
the UK
 HOOD (Hierarchical Object-Oriented Design),
 European Space Agency for use in designing Ada-based systems;
 MASCOT (Modular Approach to Software Construction,
Operation and Test)
 in real-time systems, and originated in the UK defence sector

Potrebbero piacerti anche