Home Coding Ground Jobs Whit eboard Tools Teach wit h us
Category Search tutorials, courses and ebooks... Library Articles Certification Login
HTML CSS Javascript SQL Python Java C C++ PHP Scala C# [Link]
Software Design Basics
Soft ware design is a process t o t ransform user
requirement s int o some suit able form, which
helps t he programmer in soft ware coding and
implement at ion.
Software Engineering Tutorial
For assessing user requirement s, an SRS
(Soft ware Requirement Specificat ion)
Soft ware Engineering Home
document is creat ed whereas for coding and
implement at ion, t here is a need of more
Soft ware Engineering Overview specific and det ailed requirement s in soft ware
t erms. The out put of t his process can direct ly
Soft ware Development Life Cycle be used int o implement at ion in programming
languages.
Soft ware Project Management
Soft ware design is t he first st ep in SDLC
(Soft ware Design Life Cycle), which moves t he
Soft ware Requirement s
concent rat ion from problem domain t o solut ion
domain. It t ries t o specify how t o fulfill t he
Soft ware Design Basics
requirement s ment ioned in SRS.
ADVERTIS EMENT
Analysis & Design Tools
Soft ware Design St rat egies
Soft ware User Int erface Design
Soft ware Design Complexit y
Soft ware Implement at ion
Soft ware Test ing Overview
ADVERTIS EMENT
Soft ware Maint enance
CASE Tools Overview Software Design Levels
Soft ware design yields t hree levels of result s:
S/W - Exams Questions with Answers
Architectural Design - The
SE - Exams Quest ions wit h Answers archit ect ural design is t he highest
abst ract version of t he syst em. It
ident ifies t he soft ware as a syst em
S/W Engineering Resources wit h many component s int eract ing wit h
each ot her. At t his level, t he designers
SE - Int erview Quest ions
get t he idea of proposed solut ion Library Articles Certification Login
domain.
SE - Useful Resources
High-level Design- The high-level
design breaks t he ‘single ent it y-
SE - Quick Guide
mult iple component ’ concept of
archit ect ural design int o less-
SE - Android App
abst ract ed view of sub-syst ems and
modules and depict s t heir int eract ion
Selected Reading wit h each ot her. High-level design
focuses on how t he syst em along wit h
all of it s component s can be
UPSC IAS Exams Not es
implement ed in forms of modules. It
recognizes modular st ruct ure of each
Developer's Best Pract ices sub-syst em and t heir relat ion and
int eract ion among each ot her.
Quest ions and Answers
Detailed Design- Det ailed design
deals wit h t he implement at ion part of
Effect ive Resume Writ ing
what is seen as a syst em and it s sub-
syst ems in t he previous t wo designs. It
HR Int erview Quest ions is more det ailed t owards modules and
t heir implement at ions. It defines logical
Comput er Glossary st ruct ure of each module and t heir
int erfaces t o communicat e wit h ot her
Who is Who modules.
ADVERTIS EMENT
ADVERTIS EMENT
Modularization
Modularizat ion is a t echnique t o divide a
soft ware syst em int o mult iple discret e and
independent modules, which are expect ed t o
be capable of carrying out t ask(s)
independent ly. These modules may work as
basic const ruct s for t he ent ire soft ware.
Designers t end t o design modules such t hat
t hey can be execut ed and/or compiled
separat ely and independent ly.
Modular design unint ent ionally follows t he
rules of ‘divide and conquer’ problem-solving
st rat egy t his is because t here are many ot her
benefit s at t ached wit h t he modular design of a
soft ware.
Advant age of modularizat ion:
Smaller component s are easier t o
Library Articles Certification Login
maint ain
Program can be divided based on
funct ional aspect s
Desired level of abst ract ion can be
brought in t he program
Component s wit h high cohesion can be
re-used again
Concurrent execut ion can be made
possible
Desired from securit y aspect
ADVERTIS EMENT
ADVERTIS EMENT
Concurrency
Back in t ime, all soft ware are meant t o be
execut ed sequent ially. By sequent ial execut ion
we mean t hat t he coded inst ruct ion will be
execut ed one aft er anot her implying only one
port ion of program being act ivat ed at any given
t ime. Say, a soft ware has mult iple modules,
t hen only one of all t he modules can be found
act ive at any t ime of execut ion.
In soft ware design, concurrency is
implement ed by split t ing t he soft ware int o
mult iple independent unit s of execut ion, like
modules and execut ing t hem in parallel. In ot her
words, concurrency provides capabilit y t o t he
soft ware t o execut e more t han one part of
code in parallel t o each ot her.
It is necessary for t he programmers and
designers t o recognize t hose modules, which
can be made parallel execut ion.
Example
The spell check feat ure in word processor is a
module of soft ware, which runs along side t he
word processor it self.
ADVERTIS EMENT
Library Articles Certification Login
ADVERTIS EMENT
Coupling and Cohesion
When a soft ware program is modularized, it s
t asks are divided int o several modules based
on some charact erist ics. As we know, modules
are set of inst ruct ions put t oget her in order t o
achieve some t asks. They are t hough,
considered as single ent it y but may refer t o
each ot her t o work t oget her. There are
measures by which t he qualit y of a design of
modules and t heir int eract ion among t hem can
be measured. These measures are called
coupling and cohesion.
Cohesion
Cohesion is a measure t hat defines t he degree
of int ra-dependabilit y wit hin element s of a
module. The great er t he cohesion, t he bet t er is
t he program design.
There are seven t ypes of cohesion, namely –
Co-incidental cohesion - It is
unplanned and random cohesion, which
might be t he result of breaking t he
program int o smaller modules for t he
sake of modularizat ion. Because it is
unplanned, it may serve confusion t o
t he programmers and is generally not -
accept ed.
Logical cohesion - When logically
cat egorized element s are put t oget her
int o a module, it is called logical
cohesion.
Temporal Cohesion - When element s
of module are organized such t hat t hey
are processed at a similar point in t ime,
it is called t emporal cohesion.
Procedural cohesion - When
element s of module are grouped
t oget her, which are execut ed
sequent ially in order t o perform a t ask,
it is called procedural cohesion.
Communicational cohesion - When
element s of module are grouped
t oget her, which are execut ed
sequent ially and work on same dat a
(informat ion), it is called Library Articles Certification Login
communicat ional cohesion.
Sequential cohesion - When element s
of module are grouped because t he
out put of one element serves as input
t o anot her and so on, it is called
sequent ial cohesion.
Functional cohesion - It is considered
t o be t he highest degree of cohesion,
and it is highly expect ed. Element s of
module in funct ional cohesion are
grouped because t hey all cont ribut e t o
a single well-defined funct ion. It can
also be reused.
ADVERTIS EMENT
ADVERTIS EMENT
Coupling
Coupling is a measure t hat defines t he level of
int er-dependabilit y among modules of a
program. It t ells at what level t he modules
int erfere and int eract wit h each ot her. The
lower t he coupling, t he bet t er t he program.
There are five levels of coupling, namely -
Content coupling - When a module can
direct ly access or modify or refer t o
t he cont ent of anot her module, it is
called cont ent level coupling.
Common coupling- When mult iple
modules have read and writ e access t o
some global dat a, it is called common
or global coupling.
Control coupling- Two modules are
called cont rol-coupled if one of t hem
decides t he funct ion of t he ot her
module or changes it s flow of
execut ion.
Stamp coupling- When mult iple
modules share common dat a st ruct ure
and work on different part of it , it is
called st amp coupling.
Data coupling- Dat a coupling is when
Library Articles Certification
t wo modules int eract wit h each ot her Login
by means of passing dat a (as
paramet er). If a module passes dat a
st ruct ure as paramet er, t hen t he
receiving module should use all it s
component s.
Ideally, no coupling is considered t o be t he
best .
ADVERTIS EMENT
ADVERTIS EMENT
Design Verification
The out put of soft ware design process is
design document at ion, pseudo codes, det ailed
logic diagrams, process diagrams, and det ailed
descript ion of all funct ional or non-funct ional
requirement s.
The next phase, which is t he implement at ion of
soft ware, depends on all out put s ment ioned
above.
It is t hen becomes necessary t o verify t he
out put before proceeding t o t he next phase.
The early any mist ake is det ect ed, t he bet t er
it is or it might not be det ect ed unt il t est ing of
t he product . If t he out put s of design phase are
in formal not at ion form, t hen t heir associat ed
t ools for verificat ion should be used ot herwise
a t horough design review can be used for
verificat ion and validat ion.
By st ruct ured verificat ion approach, reviewers
can det ect defect s t hat might be caused by
overlooking some condit ions. A good design
review is import ant for good soft ware design,
accuracy and qualit y.
Kickstart
Your
Career
Get cert ified
by complet ing
t he course
Library Articles Certification Login
Get
St art ed
Print Page
Previous Next
Advert isement s
About us Terms Our Products
Company Terms of use Free Library
Tutorials Point is a leading Ed Tech company
striving to provide the best learning material on Our Team Privacy Policy Articles
technical and non-technical subjects. Careers Refund Policy Coding Ground
Jobs Cookies Policy Certifications
Become a Teacher FAQ's Courses
Affiliates eBooks
Contact Us Corporate Training
Free Web Graphics
Contact Us
Tutorials Point India Privat e Limit ed, Incor9
Building, Kavuri Hills, Madhapur, Hyderabad,
Telangana - 500081, INDIA
© Copyright 2023. All Rights Reserved.