0% found this document useful (0 votes)
12 views23 pages

Principles of Software Design Engineering

Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
12 views23 pages

Principles of Software Design Engineering

Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd

DESIGN ENGINEERING

Software Engineering: A Practitioner’s Approach, 6th edition


by Roger S. Pressman

1
DESIGN ENGINEERING

•Design engineering encompasses the set of principles,


concepts, and practices that lead to the development of
a high quality system or product.
•Design creates a representation or model of the
software, the design model provides detail about
software data structures, architecture, interfaces, and
components that are necessary to implement the
system.
• The goal of design engineering is to produce a model
or representation that exhibits firmness (the program
shouldn’t contain bugs), commodity(a program should be
suitable for the purpose for which it was intended
and delight (the experience
2
of using the program should
be a pleasurable one).
SOFTWARE DESIGN

• In software design phase input is SRS document and


output is SDD.
• Software designing is most creative process, where we
actually decide how a problem will be solved.

3
CHARACTERISTICS OF A GOOD
SDD

• The SDD must contain all the requirement which were


given in SRS.
• The design document must be readable, easy to
understand and maintainable.
• It must describe a complete picture of data, functional
and behaviour main.

4
STEPS OF DESIGN

• Steps of design
• Software designing is a 3-step process
• Interface Design
• Architectural Design
• Details Design

5
INTERFACE
DESIGN
• In this, we treat system as a whole and understand the
relationship between the system & environment.
• Here we treat system as a black box and do not
concentrate how a function will be implemented but we
decide what is input & what should be the output
according to user requirement or SRS

6
ARCHITECTURA
L DESIGN
• In this we understand what are the major modules that
must be implemented in the system and what are their
responsibility and how they will communicate with each
other.
• We do not give stress on individual modules but
concentrate coupling (dependency of one module on an
other module) and cohesion (functional strength)
between the modules. Here we treat modules as black
box.

7
DETAILED
DESIGN

• In this, specification of internal elements of all modules


their functions, their processing methods, data structure,
algorithms, everything is defined properly.

8
ARCHITECTURAL DESIGN

Software Engineering: A Practitioner’s Approach, 6th edition


by Roger S. Pressman

9
SOFTWARE ARCHITECTURE

• The software architecture of a


program or computing system is the
structure or structures of the system,
which comprise the software
components, the externally visible
properties of those components, and
the relationships among them.
— Bass. et al.
10
SPECIFIC STYLES

• Different Architectural styles are:


1. Data-centered architecture
2. Data flow architecture
3. Call and return architecture
4. Object-oriented architecture
5. Layered architecture

11
12
13
14
15
DATA-CENTERED
ARCHITECTURE

16
17
DATA-FLOW ARCHITECTURE

• This structure is applied when input data are to be


transformed through a series of computational or
manipulative components into output data.

• A pipe and filter structure has a set of components,


called filters, connected by pipes that transmit data from
one component to the next.

• Each filter works independently, and is designed to


expect data input of a certain form, and produces data
outputs of a specified form.

18
DATA-FLOW ARCHITECTURE

19
OBJECT-ORIENTED
ARCHITECTURE

• The components of a system encapsulate data


and the operations that must be applied to
manipulate the data. Communication and
Coordination between components is
accomplished via message passing.

21
OBJECT-ORIENTED
ARCHITECTURE

22
LAYERED ARCHITECTURE

• Different layers are defined.

• At outer layer, components service user


interface operations.

• at the inner layer, components perform


operating system interfacing.

• Intermediate layers provide utility services and


application software functions.

23
LAYERED ARCHITECTURE

24

You might also like