You are on page 1of 20

DESIGN & ARCHITECTURAL

ENGINEERING
DESIGN PROCESS & CONCEPTS
INTRODUCTION
• The design process , the software
requirements model was prepared for the
requirements is converted into suitable and
appropriate design models
• Each design product is verified and validated
before moving to the next phase of software
development
INTRODUCTION
• Design activities are subdivided into high-level
design activities and low-level design activities
• Architecture is the outcome of high-level
design activities , where as the data structure
and the corresponding algorithms are the
outcomes of low-level design activities
• The design process a sequence of activities
that slowly reduces the level of abstraction
with software is represented
• The decision about implementation is
continuously made a step-by-step procedure
BASIC ISSUES IN SOFTWARE DESIGN
 If the requirements model is wrongly
represented the design model also will go wrong
 Mapping all the requirements into a single
design model is a tedious job
 Balancing simplicity and efficiency is difficult
 Balancing clarity and code safety is difficult
 Error function handling is also a difficult part of
design
CHARACTERSTICS OF GOOD DESIGN

1. Should be able to convert all the


requirements into design
2. Should be easily understandable
and maintainable
3. Should be easy to change the design
4. Should be easily scalable
MODULARITY , COHESION ,COUPLING
LAYERING
MODULARITY
 A single project into smaller units called modules
is termed modularity
Modularity helps in designing the system in a
better way and ensures that each module
communicates and does the specific task
Characteristics
1. Cohesion
2. Coupling
MODULARITY

PROJECT

MODULE 1 MODULE 2 MODULE N


COHESION
 Cohesion refers “how strongly” one module is
related to the other, which helps to group similar
items together
 Cohesion measures the semantic strength of
relationships between modules with in a
functional unit
 Internal cohesion of a module is the strength of
the elements within the modules whereas
external cohesion of a module is the strength of
relationships between modules
TYPES OF COHESION

TYPES OF COHESION

WORST TYPE

1) COINCIDENTAL COHESION
2) LOGICAL COHESION
3) TEMPORAL COHESION
4) PROCEDURAL COHESION
5) COMMUNICATIONAL COHESION
6) SEQUENTIAL COHESION
7) FUNCTIONAL COHESION
BEST TYPE
TYPES OF COHESION
1.Coincidental Cohesion
• This type of cohesion occurs coincidently
• Elements or modules are grouped for different
purposes is no common reason for grouping
2. Logical Cohesion
• The name indicates cohesion occurs logically
based on similarly and not based on functionality
• Elements or modules are grouped together based
on common logic
• It may be based on functionality, nature, &
behavior of the elements / modules
TYPES OF COHESION
3.Temporal Cohesion
• It occurs during run time at a particular time
of program execution
4.Procedural Cohesion
• It is used to execute a certain procedure
• The same module can be grouped together with
another module for executing another procedure
5. Communication Cohesion
• cohesion occurs because part of modules shares
same data for communication purposes
TYPES OF COHESION
6.Sequential Cohesion
• It occurs as the output of one module is an input of
another module
• It’s look like an assembly line sequence
7.Functional Cohesion
• All the functions contribute to a single task of
module
• In order, to execute a single task, all modules
contribute
• Within a function each part is executed in order
COUPLING

 Coupling is a measure of “ how tightly “ two


entities or modules are related to each other
 Coupling measures the strength of the
relationships between entities or modules
 It is very easy to measure coupling both
quantitatively and qualitatively
 Minimize coupling and maximize cohesion is
the principle of design
 This means that a module should be as
independent as possible
TYPES OF COUPLING

TYPES OF COUPLING

HIGH
COUPLING

1) CONTENT COUPLING
2) COMMON COUPLING
3) CONTROL COUPLING LOOSELY
4) STAMP COUPLING COUPLED
5) DATA COUPLING
6) UNCOUPLED
LOW
COUPLING
TYPES OF COUPLING
1. Content Coupling
One component refers the content of
another component and the coupling
considered to be higher

MODULE 1 MODULE 2
TYPES OF COUPLING
2. Common Coupling
One or more modules share the same data
which is common

MODULE 1 MODULE 2

COMMON
DATA
TYPES OF COUPLING
3. Control Coupling
• A module passes its control component to
another module
• Depending on the control being passed, it
is considered as good or bad
REQUEST

MODULE 1 MODULE 2

CONTROL
TYPES OF COUPLING
4. StampCoupling
• A module passes a data structure to a module, which
does not have access to the entire data structure
• The module sends the data structure to another module
to understand
• The modules does not have any power and just acts as a
stamp. So it is called stamp coupling
DATA STRUCTURE
MODULE 1 MODULE 2

PASS DATA STRUCTURE UNDERSTAND


DATA STRUCTURE

MODULE 2
TYPES OF COUPLING
5. Data Coupling
• Two modules are data coupled, if there
are homogeneous data items or structures
MODULE 1 . MODULE 2 .
DATA DATA
STRUCTURE STRUCTURE

You might also like