Professional Documents
Culture Documents
CORE COURSE-XIV-SOFTWARE
ENGINEERING
LnitI
Introduction: Introduction to software
engineering - some definitions
:j::':rrs -quality and productivity factors - some size
l;-:lnrng the problem- developing a solution.- managerial i-ssue.splanning a software project:
stra-;e;-- prun irg the development process _
:'"nning an organizationar structuie other pturnirfl.tiiitr.,
-
t nit II
cost ractors - sortware cost estimation techniques
-.r,in,uffiTffi-::it T,ffi:ff; ::i}are
Software Requirements Definition: The
software requirements specification _ formal
specifi cation techniques
Unit III
Software Design: Fundamental design
concepts - modules and modular izationcriteria
- design notations - design techniques
- Stepwise refinement - Integrated top down
development - Jackson structured Programming
-6.1uiled design .orride.uTions
mil estones,walkthroughs and inspections - desig-n guider ines
-test plan -
Unit IV
Software Implementation: Structured coding
techniques - coding style standards
and guidelines - verification and validation -
and inspection -Unit Testing and
techniq"u.,
-'quurity ar.r.ui."'- walkthrorgh
Debugging _ System Testing
Unit V
Software Maintenance: Enhancing maintainability
during development managerial
aspects of software engineering -
- configirr"ti"; ;;;;;ir.r, - source code metrics
maintenance tools and techniqu-es _ other
Text Book:
I '
Software Engineering A practitioner,s
- approach _ Roger S. pressman, (Fourth
Edition) McGrawHill Intemational
_ Editions
2' An Integrated Approach to Software engineering pankaj
Narosa publishing House - Jalote, Second Edition
3' Fundamentar s of.Soft_ware Engineering,
carloG hezzi,Mehdi Jazayeri, Dino
Mandrioli, prentice Hall of India pvt. itd.,New
Oett i
+Q*Aeaiiit
t
I
BcA-vsemestcr
4BCA6CB - SoftwareEngi n eer.ing
UNIT _ I
INTR0DUCTIONToSoFTWAREIING][NEERI}{(.}
SOME DEFINITIONS
Soffivareengineersar-eadditionallyconcernetl.',,'itl,,rr;suesotatiitlysts'desigrl'
soft$'arc lllitltctlatlce' atid projfe i
verification and testing, docuuentation,
management'
possess' Thest:
quality attributes that every softwarc proclLtct shoulcl
Fundamental !'crl0sr
clarity, reliability, effi ciency, arr d r..rrs1-cff i:cti '
include usefulness,
Thelevelofeffortdevotedtosoftwaredeveloprrrentandlnaintenanceis
of effort among activities is presepted; ald
size categorie's
discussed; the distribution
for software projects are described'
Trivial projects
periraps part
project involves one protrillllnler rvori<iit1t
FN
NI A trivial software
results irr I irrogt.anl of less thlin 5()(r
time, for a few daYs or a few weeks and
statements, packaged in 10 to 20 subroutincs'
Small projects
Asrrrallprojectemploysoneprogral-IllTterfbr]rtl(ltntltttlrsandresLrltsitr.i
25 to 5()
product containing 1000 to 2000 lines
oisource coclc packaged in pe'haps
no interactiotls u'llh othct'illoqralns'
routines. Srnall proSlams usually have
<oii Iines
l-4 u,ks. ''ot'tte i
Trivial 1
l
1t 1f
I I\ --- r\
'
i -6 mos
Srnall 1
\ls-)rl[\
2-5 1-2 yrs.
Medium
)-i vrs, 5CI{, l00K
Large 5-20
collilllol'cia1 lppIicatrons'
I Examples of such ilrograms include screntific applicatlt'rIs,
Page 2 o{ 76
il,,
Medium-size Projects
|rog'aln1lers wi rking 1br 1to 2
A project of medium size requires two to fivc
Sourcr'r i;ode packageci rn 250 to
10()0
years and results in 10,000 to 50,000 lines of
routines.
Large Projects
Anextremelylargeprojecternploys2000to5()()0prorrilll}r}let.|]ilrper.iodsrlI
iitrcs.ll.,SLrtjrCC cr,c.le. Extrenrel-y
up to 10 years and results in i millir-lii to 10 nrillion
subsysteirls ttrlcj ollen inrolve real-time
large systems consist of'several very large
prccessirlg, telecomurunicatiolls,rnultitaskinS, anci dtstl';ili-rieti j]rlilr'sqllis'
irrLiljstiu nrissiic
Exar-Il.ples of extrenlely large S]'Stelns inr:iude air irrrfLlc :orrlr'of
defense, and military comnranci anci cotltroi s)'stcnls'
?age 1 of 76
,' :f'\')
. d\r
'
., t{t
r,?-u1*
.L
s'j': "{-nr'
ll"
'i ' - 1iii
+ can be improve'l by improvtng
Software quality and progfammer productivity
software proclucts' Sot ne factors thtrr
the processes used to develop and maintain
influencequalityandproductivityarelistedinthefollowirrgtable
Available time
Individual ability
ability anr'i
activities. productivity and quality are thus direct fuitr:'.ions oi'irldirici.ral
etTorl.
Team communication
Product complexify
Page 4 of 76
li lfii';
E
{
language such as FORTRAN, Pascal, or coBol. ulilrrv l)ro:;rarlls inc iude compjlers',
(
assemblers, linkage editors, and loaders'
pac]:ag0s, re,I]-1i1l1e plocess
Systems proglams include data communicalion
ryl-Licii are usurrlly written in
control systems, and operating systems routilles'
assembly language or a high-level systems
language rrttch as Pf/| 61'{rla'
Appropriate notations
while
I Good notations can clarifl' the relationships anel interactions of intercst'
poor notations complicate and interfere with good practlce. Plogramtniilg lzrnguages
1
v/
provide concise notations for the implementation phasc of sol1u'ate dcvelopment, bul
1,
there are no widely accepted notations fbr stating lr;tctiotial recprirllnents. design
\- specifications, test plans, or perfbmrance criterial.
Systematic approaches
At this poipt in the evoiution of soliware engineering ti is oiierr iloi cle ti'u'liicir ol'tlle
various approaches to softrvare clevelopment should be itsccl irr rr'lticlt sllr-l:itiorls'
\-
Change control
to
{ In a very real sense soft,.vare adapts general-pr.rt'pose colllputirrg hardural'e
irr
particular applications. Sometimes software mttst cotllpensale ciestgtr deilciencies
rcquirements o[
the hardware, and software is often tailored to salj'sfy diti'ering
ai'd also a STeat
different customers. The flexibility of softrvare is a great st|ength
c'udc rs 1ls'lY rnodified' it
: source of difficuity in software engineenng. Because s;()Lrrc:
i'c' o: fir| i'te cLtstomer ttr
is not uncommon for cjifficult issues to be resoived itl si'lil-"
111j1i1':";il'litle-r trr the Sour(;o
L, request, and the prOject nlanager a8tree to, seemingl''
code"
U
'' \-) Requirenietlts calt also cirange due tt-r poor tiir(icl'stillrcling
o1'[]ic lrt'oblenl. tir
L extemal econotnic and politicai factors beyond the cor)lr.(il 0f crlst(-rmel ')l"dcvcioper'
i
a- Level of TechnologY
The level of tecllology utilized on a sofIu,,re ltl-t,.jcc'i ilccr Litlts lirr suclt
U factors as the programming language, the machine ,-tt"'ir.,'ntilellt, ihe 1;rogramminl:
practices. and the software toois.
{"L
'\-r
Page 5 of 75
(-t
{il,
"f.J;.
Lcvel of ReliabilirY
Everysoftwareproductmustpossessabasii:lcr,c]oircli;rlijitv:h(lwev.:r
great carein t"lxl"Silr' r'icsiS11' 1 ntllementuttoti
extreme reliability is gained oniy u'ith
software procir'lct'
system testing, and maintenance of the
Problem understanding
to bs sol'n't'd is a common
Failure to understand the true nature of the probietn
and difficult issue. There are several factors thlt contributc to this lack ol'
understanding.
Most customers (most people in general) are trot trained to tlLink in iogical,
algor-ithmic terms, and often do not understand and tt't.tt, tlatuLr: of their rteeds.
Sometimes the customer is not the end user oi ti-ic s;'stcnl, aird the software
engineer has no oppofiunity to investigate the user's pr"bielti'
Available time
calr be corttpletcri
Software project r-equiripg six programffrer-mr)]rlll:, c1'el'iort
1 month' :;oit"r'are proje'cts
by one pr6glammer in 6 tnonths or by six progtamlll(-'r 1ti
are sensitive not only to total etfort but also to elapsc,.1
iinte airil illc tiu:nbet'ol"people
involved"
Required skills
Studieso{'factorsthattnotivateprogratnntersl'rire:sliort'trtilri\\Iork-l'elated
aS gOOd 1raC1-rille access artcl a cltliet
placc i'r ''\'rrlk' iil''' ll1 'rlc itnllorlatlt tir
faCtOrS, sUch
the typical progralrrner than status-related factors'
Adcquacl' of training
procluct imple'-reltation is 9nl1,,one aspect of r,rliitiit'c, ctlqitleet 1lg, )'cl tilts t'
ir l':rLitihl- 111 1ll;ll! erittc:rti'ltlai
the Only phase of procluct cleveloprnent and ilaintenalr
institutions.
Boehm has described the skills most lackini.: rrl .'trll'' -le , , l |: r$rc111111gIS
Page 6 of 76
I . Express oneself cleariy in English'
2.DevelopandvaiidatesoftrvarerequirementslirtlcJesirr'rrspccificatjotts.
3. Work within aPPlication area'
4. Perform software maintenance'
5. Perform economic analYses'
6. Work with project management techniques'
7. Work in grouPs.
Management skills
Software projects are often supervised by lnanagers "",'l1o hav: littie, if an)"
klowledge of softrvare engineering. Many of the Droblc'rlls ,,1 51firr'3re project
management are unique; everl rtanagers experieflcii(j tn rnauagemerrt of cornputer
hardware projects find softrvare project managemclrt to be dilficrrlt due to tlie
differences in design methods, notations, development tools, aud issues of concem.
Appropriate goals
Rising expectations
0,
technology. .
!
Other factors
'a
(
a
Therearemanyotherfactorsthatinfluellcepr0gl"al]llliorprociuctivity.
s\'steln usecl to
ti including famtliarity with, access to, atrd stabilit,v ol rilc corltputing
) develop or modify the software; the lnemory and tintrttg
constrainl l'br the softwate
productl expcnence r,r,ir[ tfuc rrL)Erallilnlltg lartgtrage::,:..1 .]',tir-i't-:r.'sllc
5
*.
d
MANAGERIAL ISSUES
(
I Techlical and managerial activities are eqriail'' ttr il,c -sLleLrss ol'lt s'.rftrvarc
n I project. Mangers controi the resources ancl the enr r,.)t'Iillclil Ili u'l ich technicai
\- activities occur. Managers also have ultirnate respcnsihiirlr iirt"erlsLll'l,i! lltal srrlirvarrr
d
) products are delivered ott tirt-re and u ithin cost esttniltt -
d
0a
N some of the problenrs identified by' responclcilis ll'' itril.rr '1'1 "r1i :;'titltqettieni
problerns were:
PageT of76
Slllr
generalll'poor'
l. Planning for software engineering projects is
of project illanagers are poor'
2. Procedures and teChniques for the selection
projects irr poor' leaving
3. The accountability oi*uny software engineering
some question as io who is responsible
for various prcject funcl ions.
The ability to accurately estimate the resources required
to accomplish a
4.
software development project is poor"
Success criteria for software developnlcnt pro-1ects iire
{icquenllY
5.
inappropriate. This results in software products that ali:
i:nreliable. dilllcult to
use, and difficult to maintain"
6. Decision rules to aid in selecting tire proper,rrgilllizaliL)ilal s1 ur-:tttrt] are n(11
available.
7. Decision rules to aicl in selecting the corrcc1 llttlli'lgclllcrlrt lcchniclues ftit
softrvare engineering prcrjects are not availabl,-:.
8. Procedr:res, methods, and techniques for destgning a pro-iect control systetn
that will enable project managers to successfrrllv coutrol their pro-iect are uol
readily availablc.
g. Procedures, tecluriques, strategies, and aids ti-rat u'ill provicjc visibility of
progress to the project Illanagcr are not availahti:'
10. Standards ald tecluriques for measuring the tlr.relitv r.rt perfonnance and
tire
Educate and train top nlanagement, Pr,.r '. 111r,-rraqgl's, littd sofiwal"t:
devclopers.
Enforce the use of siatrclarcis, procedures, anci tir'rr-''tll-till"tiiii';l'i'
ci.'i et:tii"c I ilctliotis
Analyse data liorn prior soiirvare project to dc'icr rlritrtr
Define objectives iu tenns of quality desired'
L)efine quality in tenns of dehverahles"
6. Establish success priorit.v cnteria'
7. Allow for cottttngctte ics.
8. De,nelop truthful, accurate cost and scheduie
cstitrilites ihat ate accepted b1
management and customer, and rnallage to tilctll'
9. Select project managers based on abrlity
to lIriLilase -*ottu'arc liojects' rather
than on technicai abiliti'or a'''ailabilitv'
10" Make specific r.vork assignments to So11u'ilt '' c1n'e io1"et'S a'rd appl1" joh
perfonnance standarcl s'
,.
Page 8 crf 76
1
PLANNING A SOFT\YARE PROJECT
fl 2.
3.
customer's terminologY.
Justify a computerized soiution strategy for the llroblenl'
Identify the functions to be provided by, and tlie constraints olt, the hardware
subsystem, the softrvare subsystem, and the peoplc' strlisy'sletlr.
4. Determine system-level goals and requirenterrl:s f'ol thc devr:lt'plrent prosess
and the rvork products. i. ' .
5. Escablish high-level acceptance criteria for thc :'\ iiielll. ,{'/
i\0
Developing a soiution strategy tr" f
6. Outline several solution strategies, rvithOut reg.ai cl i'rt ..,ilsii ,,r, '7/*f
7. Conduct a feasibility stucly for each strategy. ,y x
YS 8. Recommend a solution strategy, indicating u,h)' othcl' stlategies lv'ere rcjected'
9. Develop a Iist of priorities for product charactcristic-s'
Planning the dcvelopmcltt process
i0. Defile a life-cycle lrodel and an orgartzational strtrclute ior thc pro.ject.
I L Plan the configUration mcnagetnent, qualltl' lrssllrllnce,
lrtrc'l validatiotr
activities,
'io be usccl'
12. Determine phase-dependent tools, techniques, ;ititi tiotalitrtls
13. Establish preliminary cost estimates for system i1';t'e
iulltl-lent"
ji" i rc cusltlrne:''-r
The first step in planttirrg a softrvare project l5 iLi 1lt'cplrie'
tenninology,, a concise statenteltt of the problem to bc sirlr'"d:rlr,l lit; c0ti:it.ttttt.s that
exist for its solution. l'ire clefinitive problem statenretrt shoulcl irluiucic a elcscription o1
the present situation anci the goais to be achie",ed by thr rlijfi sysiell1,
Rage'9 erf,X.
F, )""
A
lL'.
reliabiliry"
Soffivare characteristics such as performt[c€, cci-trl'll,i:'!'.lrttri level 'rf
months.
transaction by 25 percent.
SDLC Overvielv
SDLC, Softrvale Development Life Cycle is a proi'css itscil by soit''vare industr)'
to design, develop and test high quality softwares. Thc SDI i iiLrrrs irr ,1'.,-ih.il a hi-qil
quality sofi-lvare that nteets or exceeds customer ex1',,-g1r' j.rlls. l'cltcll:.'; ctltrpletlott
. The softn,are dcvelopmeni lif-e c1,cle (SDLC) is rr Ii'rLrtrt-"'t'olk clcl nittg Iasks
perfomed at each step ir-i the software developnir'n[ ])l'orress.
A typical Software Development Iif'e cycle consists of lirc 1,rllo* rnrl slai,es:
Page 70 of 76
I r'El
ll
. Stage 3: Desigring the product architecture
. Stale 4: Building or Developing the Product
, Stage 5: Testing the Product
. itu!" 6: Deployment in the Market and Maintcllailc€
SDLC N{odels
There are various software development irfe cycle models defined
and
jn the industry
Following are the most imPortant and popular SDLC niodels foilolved
I Design
r.---*) I
coN'E
' l
:[l
l
-
i i
L___ )
l lrnPlementation 1-'- '
i
. ,{-,s\'
Page 11 of 76
't.
lru
All these phases are cascaded to each other in ,,r'hti:h prolrorls i:i s:ett as t)orvinl;
phase is starteil
steadily downwards (like a waterfall) through the phi,rsc;s. I'he next
pJlase attd tf is signed ofl"
only after the defined set of goals are achieved fbr prc'"iotrs
,o ih. name "waterfall Moclql". in this model phases cio not ovet'lap'
II
Btrito r ,':]ul
1 . l-
n[JDrveloPrlrentl
^ "J restins . .l ,,' , ,n,.,,,", .,, i
I \ i
\_--------J
-...
Desi6n &
Deve lopment
Build 3
Page tZ of 76
bl
v
*t1. I .'a
1"7
t3
This model is most often used in the following scenarr''-\
.RequirementsofthecompletesystemareclelLrii,rjcrirlecllilclutrderstood.
. Major requirement, *'Jri be' defined; hori'er''i:r" sollle ftrrtctionalities
01'
Design: Design phase stafrs vrith the concepluul clcsigr, ti-i tllc
. ir.r"eline spirrrl
..i1 iltc,ciuics" pir-1''sicll produc[
and involves architectural design, iogical dcsigr
clesign and frnal design in the subsequent spira;:
construct or Build: construct phase refct.., ro pi'olir-ltrti()il of' the
actruilx
o
f ilc i,'rociuct rs iusr
softrvare product at every spirai. Irthe baselil;:'r1)irti1 ''',ltcn
lr
thought of and tiic ciesigr-r is being developctl l I'oC iliroox- 'rt'Concepl)
deveioped in this phase to get custonrer f-eedb'e ''
li,
'"r
t4
V Model
TheV-modelisSDLCmodelwhereexecutionofprocesseshappensina
sequential manner in V-shape" It is also
known as Verification and Ettrti*11g{gt
based on association of a
v - Model is an extension of the waterfall model alrd is This means that for every
testing phase fo, development stage'
"u"t, "orresponding This
,injtJpt *e in the d"r"top*.nt cycli there is a directly associaled test ing phase'of the
i, I highty disciplined model and next phase starts onl1' after conrpieiion
previous phase.
Big Bang Model is SDl,c model rvhere therc is iio fb:ilrai developtnerlt
not srrre zbout u'hat
foliorved anfl ver.y little pianni;tg ls lequirecl. Eyen the t:Llstgrner is
gn Lllc 1i1' u'ithout tnueir
exactllr he wants and the requirements are implenlcrrtcd
analysis
Paee 14 of 76
tr ir
,/q'.^
t;
is followed fbr small trlLriccis vi'hert" il'r:
developln(rlll
UsuallY this model
teams areYerY small'
Ae& Model
and
Agile thought had started early in the software deveiopment
Process
started becoming PoPular with time due
to its flexibility and adaptabilit y'
I'rocess (1994)'
The most poPutrgr agile methods include Rationai Unified
(1996), Adaptive Software
Scrum (1995), Crystal \ear, Extreme Programming
Development, Feafure Dn\n Development, and Dynanlic
Systetnr Dcvelopment
Method (DSDM) (199s)- ese ui" now collcctir ely rcictled to as agile
methodologies, after the Agile if-esto was Publislrr:ri ir, lll0.i ,
. roi*urr..
Working Demo rvorking softwarc is ct-rtr:'idere6 tllc besl lneatts
communication rvith the custom". f,-, ,'d"'strlt'ri
liteil rceluiretr ettt' insteud I'i
just dePending on documentation'
u'r')11tlt rc gathe;ed conipletelr
. Customer coilaboration . As the requirements
cotllitl''ii'-us cttstotrcr
in the begirming of the pro";ect due to varioiis l'actors'
interactiott is veiy imporlant to get proper
prodrict reqltitcirtrtlts
.Respondingto.trorrg."agiledevelopmeuti:;fbcuscclonquickl'espollsesto
change and continuous development'
ijv.rs-l
i
. It('rstion tr
t-p",ilii"-l
ffi,,,
f"..,*1 G111,:f1l
IttrraUofl Z
tu-'i,rt"€f
fe:f;-l
(ffi,,,
['":'i;tl [;;;;;;';i;l
lieratron 3
{-jjg:s--l ['::@
t:\ U
t:'.
)b
RAD Model
-- typical scenarios where RAD can
be I'rsed:
Following are the
be moriularized to be cielivered
. RAD should be used only when a system catr
in incremental manner'
a
t ode generating
. tt ,t outd be used only if the budget permits usc of automated
tools.
a
. RAD SDLC model should be chosen only if dornain expefis artn available with
relevant business knorvledge.
. Should be u,here 1|e requilentents changc clu,-irlg tilc coursc of the project
use<J
ancl working prototype, u.. in be presenteci lo curitot-trer in stnrrll
iteratiotrs of
2-3 rnonths.
r::-:-:)
tffiffit l::*'""**'I
fTill ., G;ll
[. :.ri.o,a.ll,r. I
L-*.*.J
rEl
Ll',.] ,trfflot':" I
rI u"l*.r
',;-l I
[il,{"E]Il Gd-qrr-l
t".'s'::{r"J L-9J
r.-qffi;l
I,",frrtifrd -.,
f '-"Fl
I ..rsl"q" . ,' I
!---.-.--".....-.,",...".+
Prototrr,pe 1 PrototYPe 2
soltt@
protoivpe\
T'he Softu,are prototvping refers to building siiil\'/'ii1'c lllllllrcrtrr-)n
rvhich display the functio,roiity of the product uttil,,t. ,i.11'.iiilrl'liclll bitt lll'ry nc)1
actually holcl the exact logrc of the origrnal softwarc'
Page 16 of 76
,a . F:.tV
17-
Softwaroprototypingisbecomingverynolrrlal...rsasoftwatedeveloprnettt
reciuiiemeuts at an early stage of'
model, as it enabl;t ;; uiderstand customer
from ihe customer a,d helps software
development. It helps get valuable.feedback produot
designers and developers underrtund
uiout what exactly is expected fiorn the
under develoPment.
prototlpe:
Following is the stepwise approach to design a softwr.ire
Anotherviervofthesoftrvarclifecyclecanbeobtairreclbyconsideringthel
a softwarc pro;ect" The cost of conductirlg
cost of performing the various activities in
a software project is the sum of the costs incurred
ill conducting eaclr phase of thc'
project.
The planning task jcientifles extemal customet lllri illlci';:ai 1 i-oclt-tcl net'tls,
1
conducts feasibility stutlics, tltcl ntonitors progress 1:' rll bc!,11i11i11g .r ctlCl tll til.r:
product Iife cycle.
PageLT of75
{tr I
1f
Programrning Team Strttcture
EveryprogrammingteammusthaveanirltemalsiruCture.rhebestteatn
Structureforanyparticularprojectrlependsonthi:nati:teofthe]lrojectandth(]
product,andorrthecharacteristicsoftheindividualtcatrimclrlbct.s.
members partir:ipa'le il ai1 ctecrsioiis;the
chiel''
Democratic team. in rvhich all team
i's assisted ancl supllol-ted by othol
programmer team, in which a chief programmer
team members.
teatl' iitrcl the chit:l'
Hierarchical team, rvhich combines aspects of the tlel-il'crlltic
illso pussibie'
programmer team. Variations in these basic forms arc
attLl'lecisitllts rrtarle
Democratic teams, or Egoless team, in this tean. !r)i.ii:^ lilc set
by group consensus.
'llre ciriel'progrerrlnrer takes illl
chief Programmer team: It is highly structured.
major decisions.
atter'dsreviclvs antl
Hierarchical tearn structttre: The project leader asslgns iilsks,
r"'orkload'' antl irafiic:ipates in
walkthroughs,detects proble6r ai'eas,balances the
technical activities.
Managementbyobjectives(MBo)isarelatci]lechtiiiluct}-iat,sirrcreasingly
popular in software org^nirutions. LJsing
MBo, eml)i,)i'ees'lct lileir'{)\\'l-1 goals alld
parl^ rtr'rrs jtr tl're S( ttlrtl:' 0f ille ir
objectives with the trltp c,f their supervisor,
supervisor,sgoals.andareer,aiuatedbymeetingCol-lCi-t:i.].tr,rii1,tjllilb1eciir,es'
applied at alj ]cr,c1s 1rf ;1i1 irrl litttzlttotl,
atld
tr4anagettrent by objc:ctir,es catr be
Such aS cc'tllplet'lotl o1'clc'r1s'11
or testlllil'
can inclr.rfle both protiuct-oliented objectiyes'
anrl self-irnplovenient olljcctiycs, such as
skilis ig 'l':qLilii :itld 1rr ''psrlttiotls icrt
advancctrtcttt.
otherplanningacttvitiesinciucleplanningtliccilllil!i'litiiill]lllanaqelllcriland
Iitcilriioil ;:rlci ancl
quality assurance functions, planning for indepencJetri '' "'c|ificatron'
planning phase-depenclent tools and tecluiiques'
Fage L8 of 75
I1
Planning for Configuration Management and Qualil'1' 'dssurance
Validation is concerned with assessing the quality of'a softl','are s)'st(rlr in its actual
operating environment. Validation typically involves planning and er ecutiott of te.sl
cases.
Automated tools, speci alized notatious, and ni()(icl'lr tcctlniqtti:s are ohen tts,-'d
'd
to develop software requirerncnt specifications. arclii t co[ut:tr1 arrcl cletail ciosigns.
atrcl
Page 79 of 76
6:t
:-
!j t gi,W*r,
UNIT * II
SOFT\,VARE COST ESTtrII TI.[ON
otl': of thc Lnost dif licult attd error
Estimating the cost of'a softrvare product iS
prone tasks in .oftr"^r" engineering- It is difficult
to t,nakc an accura'e cost estitnittr'
because of thr: l trqe number ol'
during the planning phase of softu'are development,
req"trre a firm cosl
unknown factors at that time, yet contracting practices ofteil
commitment as part of the feasibility study" $;&L"prya.
Programmer ability
Product complexity
Product size
Available time
Required reliability
Level oftechnology
There are many factors that itrfluence the r:osf rli' e soiirvat,: Irodtrct. T]te
I)r n'i:in tenlttrcc
effects of most of these factors, and hence the cost ol ;r devcioplllcllI
effort, are difficult to estimate.
Programmer AbilitY
The goaX rvas to determine the relative influcrtce of balch arrd time-sharetl
progtanti;rets ''i'ere cJcit
aCceSS On pr6glammer productrl'ity. Trvelve erpeneitced
'i:atcl: faciliiies and s0i11c uslllg
given two programming problem to solve, sotne using
time-sharing. The resulting clifferences in inclivrtlrr:l
pciiimranc0 alilong the
'7 iv small effect
programmers werernuch greaterthan could be attributc:cl to the rciati"e
of batch or titne-shared machine access'
Product CornPlexif-v'
There are three gcnerally ack.ou'lcdgc ciil!"i(rf i's irl softv al c i;l'tlducts:
:rrrd screnliiic pf')grallls: iitilill'
applications programs, u4rich include data processtt]g
cvst''1'1s: ltlrci s1'1t911,lcvel
prograns. such as cornpilers, iinkage editors' and inverrl(i1'\/
prog,ramS. SUCh aS data-baSe lTlenagelnellt S,\'StelllS, 1)1' ''irLi11'!1 ljVSLCll.lS'
aild reai-tltrl''
i.)\' ri
systems. Apolicaticls proglams are clcveioped in il'r, lllt"ironircili- lti'i'rvirjed
language compiler such as F-O|{1'RAN or Fasctli"
Boehnr uses three leycls of procluct coutpic;iriy llil,.l proviclcr cqttatitlns trr
"r:1'thousatrdr
predict total programmer-rtonths of eflbrt, PM, in tenrt:. e.f ihc ttumbe
of delivered source insti'ucttot.ts, I(DSI. ill the product.
Fage 20 of 76
[i..:,
ll ,,"'.
ct
can lre obtaincd by rrrultrplying thc
Progfammer cost for a software project well:
per progranlrlrer-month' The equations
effort in programmer months by the cost
derived by examining historical data
from a large ntttr,ller irf actrra] pro iects.
TheselevelsroughlycorrespondtoapplicatirrnsprogralT}S,ulilit)..pl.()gran}s
and systems Programs;
**
Applications programs : PM=2'4* (KDS I) i' 0'r
Utility programs: PN{:3'0*(KDSIix*''
"
Systems programs: PM:3'6*(KDSI;x* i''O
Product Size
one'
A large software product is obviouslv more expensive to ciev'ciop than snrali
r'
Available Time
Softrr,arerelitbilitycanbedei-rnedasthellrili;ilbriitytjrrtapl.ogratnrr,llI
perfonn a required fr.rrtctior-r un<Jer State coilclitiorrs
tbr a stalied pr:riod ol titlle
r.()b,st,J;,'. r--r)r)1 plvr'rrcss' ttitti
Reriability can be expr-essoil irr ter,rs of accuracy.
consistency of tire source cocle (tiicse ten-,s
are irei]rcci i, 'l-able2.l). Iieliabilit>'
b''rl tilel'e is t cost i'scciated "l'i1h
characteristics can be br:ilt into a softlvare procluct,
atld '" c:r'ificiittorr ailcl
the increased level of analysis. design, implemirtrtatiotl,
validation effort that mr:st be exefied to ensuLcr high i'c1r;i'ni;itr''
Level of TechnologY
Page 21. of 7 6
lfg
:4
'l . G[ill],l,, '
eA
such a:; i ORTRAN an<[
that program statements u,ritten in high-level languages
st;rteuetrls'
Pascal typically expand into several machine-level
ModernprogramrninglanguagessuchasAdeprorlidc:aclditir,natrfeatureslct
improve programmer productivlty and software
rcliltbility' These f':atures includt:
corilpilation, excelrtion handling'
strong tlpe-checking, data abstraction, separate
intemrpt handling, and concurrency mechanisms'
and design
Modem programming practic;es include use o1'svstcmatic anal/sis
techniques, structured design notations, rvalkthrorrglrs atlcl inspectiltls,
structurcd
module or
tsottom-up cost estinlation first estimates the i:rlst to del'elop i rch
subsystem.
Expert Judgment
cr1.,i:ri-.1udptrcn1, rvliich rs
The most widel,v used cost estimation techniquL'is
an inherently top-dorvn estimation techniqtte. [51'1'''t jutlgrnent relies on thc
of one or nlore kc;' peopie in tht:
experience, background, ancl business sense
organization.
illll'llllr';rll
An expert might arive at a oost estimate in the foiiort'ttlg
sinrilar to one that
The system to be developed is a process cotrit.trl si'iillrlll
\\'c rlitl rtot llet rrch on the
developed last year in 10 rr-roirths at a cost of $1 tnillr";r'
lci the baseiine
project, but we did rnake a respectable profit; thereforc, 11s s6ljirstnlenl
'l-he neu, system has similar cofltrtrl litrlctiotls. but lras 25 perceni
froject is required.
more activities to contr-ol; thus, rve rvill increasc oul tirrtc ancl cost
eslitlates b1'25
jlorv'cVer' $'e
percent. The previous systern lyas the first of its type thrtl w'r: dt'r'clopedl
tvill the same cotnputer and extenral sensing/cotltrc,liille devicr:s, atlci nlally
use
of the
same people are availabie to c1er,'elop the nevv systeln. .Lj \\ic t,rtlt reducl o1'll'estinlatt
by 20 percent. Furthemrore, \\,c oAn reuse mucir o1' lilc lt,'\'-1t'\'t.l .,rtie trtrrrr [lit;
'urllrl" l'he net
previous procluct, which reduccs the time and cost esiiinal.::s hr'2-5 De
Page 22 of 75
!19{.q ri L
-l'
0t,z
,/5
oi 20 perceirt' ivhich resultt;
effect of these considerations is a tirne and cost reclucltcti
Litne. we krow that ther
in an estimate of $g00,000 and 8 months developrneul
customerhas budgeted $1 million and
I year ijeii'''ery iin.re itrr the systetrt
and bicl the systern at s"850'000 and 9
Therefore, we add a small margin of safety
months develoPment tirne.
can also be a
The biggest advantage of expert judgment, tlrltl]elv. cxpericnct],
liability.
The Delphi technique rvas developed at the Ranii Corpor"ation ir i 9'1E to garir
expert consensus without introducing the adverse sirie effects of gro'-rp meetrngs
(HEL66). The Delphi technique can be adapted to soliu'iire cost eslirl.iation in tire
following manner.
Page 23 of 76
i{'.rrii}
'.6'
ria
e4
the s:sltrTlstes' irut cloes not record artl'
4. The coordinatorprepares a summary of
rationales' 71 issucs ''r4ter e the estimalcs
5.Thecoordinatorcallsagloupmeetingtofocusonl
vary widely
e!
qnnfher estimate,
'^*^lara another agalll anoflr$11ously' fhe process rs
6. Estimators complete
iterated for as many rounds as necessary'
not leac to A conseilsus estimate'
It is possible that several rounds of estimates will
with each estimator to
In this case, the coordinator must discuss the issues irrvolvecl
determine the reasons for the differences. The coordinator'orCer
may itave to gather'
additional information and present it to the estirnators in
lo resolve the
differences in viewPoint.
* /:t
Work Breakdown Structurcrs n()gt-..:,. t..r^,",
v
l-he rvork breakdou,n structure rnethod is a bortotri-itJr estitnatic ir tool. A
rvork
dr-ral prrrls cl1 a
break-dorvn structure is a hierarchicai chart that accoirrlrs 1ilr the tnclrv
system. A WBS chafi can indicate either product hier]r'chv
or proccs: irieratclty'
Procluct hierarchy identifies t[e product compoltctlis rnd incijcates thc ma]lne r
Algoritlrrniccostestimatorscotnptttetheestitllllictici.lsioflscliir,arei{},Sto]ll
:e systelll
as the sum of the costs of the nrodules
and subsyslclris lit.it c'-'tnlli-i the
Algodthmic modeis are thus bottont-ltp estimators'
r:osi ttlod'r descflhecl b1
f'he Constructive Cost lv{odei (COCOIV{O) is an a}goi"lthtrtii:
Boelln (BoE8 1)' Cocol\'Io is il'ret-l)' sntntnat'izecl ber':
llr-rilrilltll estinirtes
\\rhen using COCOMO. [he equattotts 31s l]5r.'tl 1o lltoytcie
of programmer-months and cleveiopment scheriule iirr a pt-ogl'ant tllrit
based ott the
Page 24 of 76
E
Cr
multipliers are then used to adjust the estimate ibr product altributes,
domputer
The effort estimators exclude planning and lnall'sis costs, installation and
training costs, and the cost of secretaries, janitors, ancl cotnprtlsr srpet'.ttors. The DSI
estimate includes job conh'ol statements and soLlrce statelnent:i. but exciudc-s
comments and unmodified utilitl'routines. A DSI is con.stcit:rcd io btr onc line or card
image, and a programmer-month consists of 152 progralllmer-houl"s"
. Carelhl definition anci valiciation oi'requirernents ir; ri,lri'ot-trtt:i h)' ;l :,,, rltll llulnller
tlf
capable people.
t The reqtrirentents remaitt stable tlroughout the plrrlr'(.t
a Careful defipition ancl vaiidation of the architecturr ,l ilr.:sir-:lr l: l).iii)l'll .r.l l,'"'l strlali
nunrberof capable peoPl e.
Iletaileci design, co,Jirry, ancl unit testing arcr periirnlrr,,i ill tll:rliiict irl ; r'i-'r-ips
ol
progralruners n'orking in teams.
r Integration testing is based on early test planninq
. Interface slrors r-rnrti-l'found l-,1'untt testitlg atltr irl'il:sllr;clit'rlts a;l i u'aik-
"r"
tluoughs beforc integratiot-t iesting.
. Docurnentation is peribirned incrementally as parl
()1-tl'le rle', cltlt.rlttetll i)roctrss'
Page 25 of 76
t, e
hr
,/,b
r A tvidcly used nlle of tllurnb 1br the distribrrriolt t,ri-nialnterlalce activities is
percent 1irr"
60 percent for enhancements, 20 perccnt for rtcial;latton, and 20
error correction"
as i]_1_US-llqrcd there, Scctions i anil 2 of the r-ecluricltcnLs cloculr :trt yrrersent itt't
oven,ieu, ttf prorluct feanrres irnd sut'uutarize ihc irl'oijrlssllrg -'ttvtr'flltnctttli f<ir
developnient, operation, attcl mainternance of the proclit':I.
Data f'low diagratns specify rources and rlala sinks' data stores'
datt
transfomrations to be perfornred ou the data, and
thc 1lo$' of data betu'een sources'
sinks, trausformations, aticl stores'
as illiist|atccl in Figure 4'1' or blr
Data flo$,diagrarns can be clepicted infonnalll',
4"3, $'lri';'e (iata soLrrces anci dirtlr sink:;
using special notation as illustrated in l;igure
are depicted by shaded rcctangies" transfbillrations
irr 0r'ciinui'! l'lcti-lr'qlcs' lirttl tlallL
stores by open endeci rcctallgles. The arcs
irl a clata 1l "'r'clittilralll S[)Crr:ifi data florv'
u'hosc ''rllirfaJllritsilcs s rccilietl ill thi:
they are labellecl li,iththe nallles of ciata items
data clictionarY'
Likcflorvchafis,dataflorvdiagrallscanbetiscilltatlvlevel<fdetail''l-hel'
the irller u'orkii.tgs of the fuilctiolll
cau be hierarchically clecornposeil by specifying
flow cliagrams, Unlil<e flotrcheds, ciata llorv diagratns are
nodes using adclitional data
not concemed with decision structure or algorithllic
cletai1s.
Page 26 of 76
* -'i?'r"''6
dT
Section 1: Product Overview anci Summarl'
A data dictionary entry is illustrated in the follorving Table. Entrics ilt a data
dictiolary include the name of'the data itetn, and atlributes such as the data flow
diagrarns where it is used, its purpose, rvhere it is derived fiom, its subitenls, and any
notes that rnay be appropriate. Each named data itcrn on each data flow diagralrl
should appear in the data dictionary.
Create
WHERE USED:
SUBITEMS:
Page27 of76
,? .
! 1 ,n}ri!.
v' I-lses
Procedures
R.eferences
J
Section 4 of a Software Requirements Specification specifies the functional
requirements for tire software product.
The software product acceptance criteria are specified irt Section 9 of the
requirements document.
Section l l relates procluct requiren-ients to the sources r,f ir-iiitl'ttt;ttiotl used in deriving
the requiremettts.
Desirablc propertics
Page 28 of 76
+"ir
Correct
Complete
Consistent
:!
Unarnbiguous
Functional
Verifiable
Traceable
Easily changed
Y
,a
FORMAL SPECIFICATION TECHNIQUES
RELATIONAL NOTATIONS
Implicit equations
IrnplicitequatiorrsStatethepropefliesofasoltritonr,'iil.l.ioutsta,llrgas<llution
method. One niight, lbr example, specify matrix inver:;ton
as
MxM':l+E
ttrat the matnx
ht the above Equation, matrix inversiotr is specitlcC such
yiclcls the ldentity tnatrix i
product of tiie original mairix M apd the itn'ersc of N{' '\'1"
allori'able compulatlonal en'ors'
plus or minus the en.or matrix E. rvhere E specifies
l''eurs such as tuairix stzc'
complete specification of rnatrtx itlversion l]]ust illcltrrJe
iype of data elements, and degree of sparseness. CiiYerr a complt:te
turtctionai
.Y
Page 29 of 76
)c
I
H; Algebraic axiorns
Regular expressions
Regular expressions can be used to specify the syntactic struc ture of symbol
strings" Because many software products itrvolve processing sf .synbol strings"
regular expressions provide a powerful and rvidely used notation in software
engineering.
State-Oriented Notations
Decision tables
Event tables
sets of
Event tables specify actions to be taken u4ren events occllr under different
conditions. A two-dimensional event table relates actiotrs to two variables;
(M,E):A,
where M denotes the current set of operating conditiols, E
is the event '>f interest, an<l
Event
Steady l\6, A5
Shut-down
AIarm
Page 30 of 76
?l
Transition Tables
state oi a system as it
Transition tables are used to specify changes in the
the statrrs of all entities
function of driving forces. The state of a system summatizes
in the system at a Particular time'
CI
:fn
SO SO
S1 S1 S(j
Next state
UNIT - III
SOFTWARE DESIGI.I
SOFTWARE DESIGN
concepts and
Every intellectual discipline is characteized by flrndamental
as they apply
specific techniques. Techniques are the manifestations of the concepts
to particular situations. Techniques come and go with changes in technology'
intellectual fads, economic conditions, and social concel'lls.
Page 3L of 76
i'iix{
L}
7zu
5u.
abstractiou, stt'ucture, informati.rr
Fundarnental concepts of software design include
and d esi gn aesthetics'
hiding, modularity, concurellcy, verifi cation'
Abstraction
us to deal with concepts apart
Absffaction is the intellectual tool that allolvs
definition and
from particular instances of those concepts. During requiiements
aspects of a system from the
design, abstraction perrnits separation of the conceptual
(yet to be specified) implementation details'
Data abstraction involves specifying a <1ata type or I riata r-'b-iect lit' s.rccilyilrg leglrl
dclajis a.re suppr essed'
operations on objects; representation and manipulatioir
u'ithot'tt sta ing the exact
Control abstraction is used to state a desired cft'cct
mechanism of control'
Information }liding
informationhidingisafundamentaldesignCC)llCeplibrsoftware'
infonnation hitling approacl-r,
when a software system is designed using the
<.
and
each module in the system hides the
iniemal detaits of its processing activities
'--. modulescommunicateorrlythroughwell-deflrredintel.taces.
dcsrgr clecisious' olher candidates
trn adrlition to hiding of difficult and changeable
for infonnation hiding inciude:
cletails of thcr
L A data structure. its internal linkage. and thc inrplenrentation
proceduresthatnranipulateit(thisisttreprinorpli:tli.clalaabstractitlnl
2"TheformatofcontrolblockssuchasthoscforLlL],jl]fritlilt.,ll,.I.irtlttgsyslent
(a "control-block" module)
antl t'thet itrplcillt'llt Ltion dotails
3. character codes, ordering of character sets,
dctails'
4, Shifting, masking. and other machine dependeni
Page 32 of 76
\ /'1.''
g3
Structure
r:ornputer software' The use 01'
Structure is a fundamental characteristic of
irrto srnaller' 111('lre mutageabir:
structuring permits decomposition of alarge systetn
irr the system'
units with well-defined relationships to the other units
Modulari "v
r'vi'ilr rviril-deline<[
Modular systems consist of rvell-defined, manatluahici uilits
nrocirtlar system irt';lude:
interfaces among the units. Desirable properties of a
that is potentially
1" Each processing abstraction is a well-defineti sr'rbsystem
in other aPPlications'
usefutr
u,ell defined pul.pose.
2, Each functiorr in each atrstraction has a single,
3,Eachfunctionmanipulatesnomorethanonel]la.loldatastructur.:,
routines ihat
4. Functions share globai data selectively' it is easy to iclcntify aJl
share a rnajor data structure"
5. Functions that rnanipulate iustances of abstract clata tlpes al(r
encapsulated
Concurrencl'
Page 33 of 76
,I
,i;r
7+
Verification
design' I)esil;n is the bridg<:
Verification is a fundamentatr concept in solirvarr:
between customer requirements and an irnplertrenlatiot"t
that sittisfies thoser
c]ctllonstraled that the design will
requirements. A design is ver-ifiable if it can be
requiretnents' This is
result in an irnplemlntation that satisfies the ctrstomer's
typicaltry dcne in two steps: (l) verification that the soliivale
requilerllents dcfinition
and (2) verification
satisfies the customer's needs (verification of the rcrll,,lr"effIents);
that the design satisfics the requiremeuts definition (r'erilication of
the lesigTr)
Aesthetics
outstanding quality.
structut es'
1. Moduies contain instructions, processing logrc. atlr] chta
rr liblary.
2. Modules can be separately compiled and storetl in
3" Modules catl be included in a program'
ancl sotne paratrteters'
4. Module segments can be used by invoking a nilrrrtr
5" Moilules can use other modules"
Page 34 cf 76
36
Contcnt coupling
values or
conteni coupling occurs rvhen one nrodulc rnodifies locai data
instructions in auother module, Content coupling can occur in assenrbiy
languagc
programs.
Common coupling
\:. Common coupling rnodules are bound together b1' global data structures.
Conirol cclupling
\& Control coupling invoives passing control flrgs (as paramet')rs or giobais)
betrveen modules so that one module controls the :tccluencc of proc':ssitig steps in
another moclule.
Stamp coupling
Stamp coupling is similar to common coupling excepl that gLrbal data itents
are shared selectively among routines that require tlie clata.
\
Data coupling
items bctweelt
Data coupling involves tlte use of parameter lrsts io pass ciata
routines. The most desirable fonn of couplrrrU bctr'i'e etl ntociules ls a
Cohesion
1. Coincidental cohesion
2. Logical cohesion
3. TemPoral cohesiorl
4. Clommunication cohesion
5. Sequential cohesion
6. Functional cohesion
l. Infomrational cohesioll
Coincidental cohesion
have no
coinciclental cohesion occurs when the elentcrtts rvithin a t1lcrdule
appareltt relationship to one another'
Pa6e 35 of 76
--
tt
3h
Logical cohesion
Logicalcohesionimpliessomerelationshiparrongthe
elements of the
rnodule;
Temporal cohesion
Communication cohesion
t$.'
Cornrnunicatiopal cohesion refer to the same set t.if input and/or output data.
Sequential cohcsion
Functional cohesioll
Informationan cohesion
DESIGN NOTATIONS
htsofirvaredesign,asitltnathematics,therept't':rclltatiollschcnlesuse<larcol'
: fundamental in-iportance. Good notation oall
clarili the interrela'ionshills itn<l
cotttl"llJ'llc aIILi it'itcl-i:re w'tth gtrotl
interactions of interest" r'r'ltiie poor notatlon Call
specilicafr.lls cxis't: e'tcrttal desigrl
design practice. At least threc 1e'e1s of clesign
oi' a sotrit'et-c svstctrll
specifications, rvhicfu descnbe the extemal characteristics
architectural ciesign specifications, rvhicil desci-ibe
thc structl-tre ol tit'; systertl: untl
design specificatrons, which describe control
ilorv. clata repfcictltation' attcl
detailed
other algorithmic details rvithin the modules'
Page 36 of 76
'i'
ta ta&
fl, q
.v
3T
Data FIon'Diagrams
Data floo,v diagrams ("bubble charts") are dirt:i:Icrcl gr"aphs in';,'hich the nodr;sl
specify processing activities ancl ttrre arcs specify ri:ilr itetns tlansrrritted between
processing nodes.
StructureCharts'fL.4,:.vt{''' I q tjt
Structure charts are used ciuring architecturai cicsigr-r to
ciocltuerlt hierarchicatr
srructure chatt diffels fronr
structure, paratneters, atrd itrtercontlections in a systenl '\
arlcl tlte seqtrential
a flor.vchart in tu,o \r,,ays: a stluctLlle chart has nO clecitrolr Ltoxcs.
chart'
ordering of tasks irilrerent in a flowchart cau bc suppt'crr:,cd itt a strttctut'e
Page37 of76
r. -i.r'.Ijrer'*4r4.
| '4t
9v
HIPO Diagrams
Frarnlai n
\ nt rlt=ury
hnfrot
i--ffi
i t'nqrt6 t
Procedure TemPlates
Page 38 of 76
, J' ,ftif
-v-
b1
it is recommelcled that only the information on level 1 follor'ving example be:
provided during initial architectural design, because cietailed specilication of
side:
data representations
effects, exception handling, processing algorithms, and conr:rete
will sidetrack the designer into inappropriate levels of detail too sootr'
,Y
PROCEDURE NAME:
PURPOSE:
DESIGNER/DATE(s):
TIMING CONSTRAINTS:
OTFIER LIMITATIONS:
I-E\ EL 4
PRCCEDUREBoDY:(Pseudocode,sttuctureciEnglis}r.
structured florvchafi, decision table)
Pseudocode
Pseudocodenotatiotlcanbeusedirlbothtlrearcllitccturalanddetaileddesigrt
ciesil'ecl leyel ':f abstraction'
phases. Like flor,vchafts, pseuclocode can be used at any
r-rsing :ihot1' conciSc'
Using pseudococie, the designer describes system cha|acteristics
il-'ihen-Els(j'
English language phrases that are structured by kt:1' rvot"cls suchas
While-Do. and Enci.
Structured Flowcharts
?age 39 of 76
lt
--.'
fio
l-lowchart
Structured flowcharts
Qry
STRUCTUITED ENGLISH
Page 4A of 76
t-'' 4(
Decision Tables
They are also-aseful for specifying algorithmic logic riuring rletailed design,
At this level of usage, decision tables can be specified and translated into source codo
logic.
DESIGN TECHNIQUES
. Steplvise Refinement
i9'
Steprwise refilement is a top-dor.vn tecirnique lirr rlecompositlg a system front
is als<r
high-lei,el specifications into more ciementary lel'els. Steprl'ise refittement
''successir,'e refinement'''
knorvn as "stepwise proglalll develOpnient" and
l.Decomposingdesigndecisionstoe]enrentar.o-1cl,c1s,
2. Isolating design aspects that are not truly inter(ltrDell(lcnt.
3" postponing decisiols concenring representatioll rletails as long as possible'
4. Carefully demonstrating tliat each successive tiielr irl iilc t'efiitertent process is
l. Top-dorvn decoitrP'--'sltlon
2. Incremental addition of detail
3. Postponement of detail clecisions
v 1. Colijnual verifi cation of consistency (fon.t-ral1,r' r,t' ittfonrlally)
Page 41 of 76
-h,$
fr,
qe)
Levels of Abstraction
Each level of abstraction performs a set of sct-r,iccs lor the frrnctions on the:
Each level of abstraction has exclusive use of ceitain resourccs (l/O deviccs.
data strucrures) that other levels are not permitted to access'
Structurcd Design
The first step in structured design is revielr" and rettnetlcilt ol'lirc data llorv
diagfam(s) developecl during requirements deflnition and exLerrlal desi11rt. Tile sccond
step is to determine whetlier the system is transfonll-L:cllt(jro(l ol trall;action-drivett,
;ll a tritrlsfbnrt-
anri to derive a high-level structure cirarl based on this rlctenntnatiorl.
ceniered system. the <jata florv diagram contains trrrput, Plocessitll;,
attd output
rirree l11alor" subsystems in il
subsysterns in the structule chart. Boundaries bctwectl the
transform-centered sysrem are icientified by <leternrirlitrg tiler
pottti cl ;:tost abstraet
dala {:161v diiLgtatn'
input data and the point of lnost abstract output data on tirc
subsystem using
The third step in structured design is ,Jecourpositrol cf each
gUidelines such as couplirlg, cohesiott, infonlation hlcling, Iel"eis
of aL'stractiott' datzt
abstraction.
Pace 42 of VB
ll "',
, "'r,.,i'
DETz\ILED DESIGN CONSIDIIRATIONS
Real-tirne systems must Prov specified ain()Lutls of' coltlp itlttion rl'ilhitt
fixed time intervals. Real-time systems ically sen:r(-' an.i ctttttrol e.xrenlal devices.
respond to extemal events, and share ing time ir(rttt'een ntr"rlti1;1e iasks.
Several notatrons have been developed to suppo anal1,'sis arrd r{esign o1'real-
tirle and distributed systems. Tirey inciude l{SL, SDLP' \PN, corlrmrrni ;ation porls.
./2{EST PL.ANS
The rest plan soecifies the objectives ofl testrit.r (c.g.^ to acirt,:vo crror-iiec
operatioll under stated conditions fbr a stated periocJ L,l'trttle). the teit colllillctioll
criteria (to achieve a specifieci rate of effor exposurc, tr) ,tclticvc ii sltcciired percent o['
iogical patii coverage), the systenl integration plan (sLr:rlegy', schedLrl,:. r'esponsilllt:
individuals). methods to be used on parlicular modulr::; (ririkth:'ouglis. rnsnectiotts,
Page 43 of 76
U . +ltlt:rl||r*ril* !'
Lh,
{.)
static analysis, dylauric tests, fonnai rierification), and the particular test cases to bc
used.
There are four tlpes of tests that a sotiwarc product must sattsfy: functional
tests, perfonnance tests, stress tests, and structural te sts. Functirlnal tests and
performance tests are based on the requirements specitications; lhey irre designed to
demonstrate that the system satisfies its requilemetrts. Therefore, the test plan can be
oniy as good as the requirements, which in turn ntust bc piliased in quarrtified, testable
terrns.
Structural tests are concerned rvith exarnining the itrternal processing logic of
a software system.
}IILESTONES,WALKTHROUGHS,ANDINSPECI'IONS
Desiglr
T'ire two rnajor milestones <luring software des;qti are the Pr"elilrrinary
PDR is t1'pi;aily held near'
Review (PDR) and the Critical Design Review (CDR)' i'he
occur'; at the enrl ol'
the end of architectural design and prior to detailecl dcsign' CDR'
detaiied design and prior to implementation'
The CDR is held at the end of detailed desrgn anC piior to irl'rplementatiott.
Among other things, CDR provides a final lnallagenlortt clecislon point to build
or
cancel the system.
Page 44 of 7o
Ltl
l-.
WAII(THROUGHS AND INSPECTIONS
software system. Walkthroughs can be usccl at att;i' l"irne. cluring any phase of a
software project.
A walktlyough tearn consists of four to six people" The person whose material
is being reviewed is responsible for providing copies of the revit:w materiai to
mernbers of the walkthrough team in advance of thc u'alktluough session, and team
mernbers are responsible for revierving the material prior to the session. During the
walktlu'ough the reviewee "walks through" the material ivhile the revrervers look f,or
errors, request clarifications, and expiore problern at"c;is iu tire material under review.
The reviewee is responsible for foilow-up and lbr inlbnrtiltg tl,c reviewers ,.rf
corrective actions taken. More detailed informatir,n cotrceruing tt e fonlrat anrl
conduct of walkthrough session is provided in Chapter' 8"
DESIGN GUIDELINES
design notation,
5" Define the visible interfaces for each functio:tal abstractton :rnd each data
abstraction. Record thern using a desigr notation'
6. Define the nrodularization criteria to be used in establtsliirTg systt:m structure.
7" Apply the techniques of 1,'our particular desigrt ntethod to establish systenl
stmcrure. For example, derive the input and output clrta stt'uctt-trt;s and convert
Page 45 of 75
a
the data structures into a processing stmcture, as in Jacksotr Structurecl
Frogramming; or convert the data flow diasrarns lnto strrcl.ure charts,:ts tn
strucfured design; or derive a system strucliirr: thaa rna,ximi;,es inftrnnaticrn
hiding- or a suucture that enhances the o"crla)'capabiirtit:s or real-tin:er
response rate, etc.
.\ 8. Iterate steps 4 tllough 7, and. as rlecessary, steps 1 tlrrou.qh 7 untii a suitable
structure is achieved.
9. Verify that the resulting system structure satisfies thr: requireme nts.
i 0. Develop interface specifications for the procedLrres in each mod ule.
I L Conduct the Preliminary Design Revierv. 'l'he level of detail should be
inclusive to levels 1 and 2 of the procedure ternplates in Figure :i" 10"
12. Develop concrete data representations fbr the clata storcs and dara abstlactions.
13. Expand the procedure templates of Figure -5.10 to ilrclude the infoirnation in
trevel -?.
14. Specify aigorithmic detaiis for the body of each plocedure in tlrr:systern, using
successive refinement, HIPO diagranrs, psoLrdocode, strucrured English,
and/or strucrured l'lorvcharts" Develop concr'ole datn rcprelentations anrl
interconnections between data structures and als,.,rtthuts.
i5. Conduct the Cr-itical Design Revieu' 't '-'{r'
,( ''"
)6. Rcdesigrt irs lleccssar)' U f-..f
SOFTWARE IMPLEMENTATION
coding style. by appropriate supportitlg docuurents, b1' gooci itltertlal comntents, and
by the features provided in modem prograntrning languages
Weinberg gave five progralnmers five diff'ereur rittplementatiol goals flor lhc
same program: rninimize the n-ietnory required, nraxintize oLltput readabiiity,
Page 46 of 76
4*
maxirnize source test readability, rninimize tbe number of source $tatements, and
nrinimize development time
Any single entry, single exit program segment lirat has all statelnents on some
pat6 fronr the entry to the exit can be spcr:rfied usirrg onllz sequencing,
selection, and iteration.
A sufficient set of single entry, single exit constntcts lbr specrlying cotrtrol flou' itt
algorithms is
Sequencing; S1;52;53;
Selection: if B then S1 else 52;
Iteration: while B do S;
='
Page47 of76
r',4
il 'r^
rasult in a mamcr that violates ,rfff" *"'y, singl"' cxit ani yer t:iai;tt"rined localitl
and lincarity of control florv'
The goto statenlent also can be used to stntuiate single entry, single exrl
constructs in primitive prograrmling languages'
EX:
The goais of clarity and efficiency are thus served by appr,)priate usc ol
recursion.
For example, an algonthm ior in-order trerversa.l tlf binarY trees can be
expressed recursivel Y.
CODING STYLE
style is the consistent pattem of choices maci'-: alncn! altr:tn'ltiyc r'vays o1"
achieving a desireel effect.
by';l
In cornputer proglall-)mrng. coding style is lllllli'lcsl ir' tllc piliICl-rls usetl
programixertoexpressadesiredactionoroutcome.Pr.,gl.lilttt-tleI.:]i.',,hcltt,tlrkttlgetlrer
soon come to recognize the coding styles of their coller,l'res.
sl atr-lll cllIS
t'1age 49 of 7 6
,t t'
Effi ciency Considerations
The following example illustrates the need for auxiliary variabies in a search
loop on a linked list:
'\'o.y ,,o.,, i lQ
The goal of structured coding is to improve t.ite clarity' and rr:adahility o1'
source programs. clarity is greatly enhanced by usr: of sirrgle entry.
single cxit
constructs. There are, holvever, commoniy Occurdllg situatiOtls 'l
hiCh warrant
with thc
violation of strict adherence to single entry, single exit 'rrtd yet are colls'Stent
goal of improved clarity. Three commonly occurriltg sitLrations are rnultiple
loolr
Data Encapsulation
',-lr^',,:
F
Use indentatioir, parentlreses, blank 5i);]C(jS,
blarrk lirlr:s, ancl bordcrsl
rerarllbtiil;r
around blocks of comments to enhance
a Don't be too clever
a Avoid null then statements
a Avoid then. . . if statements
o Don't nest too deePlY
a Avoid obscul'e sicie effbcts
ii Don't suboPtinrize
carefuliy examine routines having urot'e than fir'e folnaI
a
parameters
2.TlrenestingdepthofprogianrconstruCtsrvii]tlolexceeclfiveis:r'els.
3. Subroutine leirgth will not exceed 30 lines'
Aguidelinerephrasesthesespecificationsinthe|ollori,ingmal1ne1.:
avcided itt trortnai circutustances'
i, The use o1'goto statements should be
2.Thenestingcleptirofprogranrconstruotssho;ricibefir,eorlcssinnonnal
circltmstances.
in a sttblrt''rgt31 5]13ir1d nct erceed 30
in
3. The nunti;er of exer:urable statements
nonnal clrcull)stan ces'
requit'cs i l.lll.o\/al lri'lho 1l oiect loade:r'
4" Departure ftotn tlotrllal circutl-istatlces
Page 50 of 76
<7
Supporting Documents
A
systenlatic approach to softrvare deveiopmr:nl assures tlrat supporting
documents evolve in an orderly manner, and that tfue docuqre.lts
are "rvarlable whcn
needed.
2 ARCH. DESIGN
J DETAIL
DESIGN
4 TEST PLAN
5 SOURCE
CODE
6 TEST
RESUI,TS
v CFIANGE
Page Str of 76
5e .r___-
REQIIESTS I
I
8 NOTES I
I
I
Name of author.
Date of cornpilation:
Function(s) perl'onned :
Algorithms used:
Authorldate/pu{pose of modifi cations :
'\7
\1
Page 52 of 76
Ltnit IV
Software Testing
Definition - Sofhvare'festing :
" This is China Airlines Airbus l\300 crashing due tc a softl',,are bug on April
26,1994, killing 264 innocent lives
. Software bugs can potentially cause monetary and irumatt ioss, history is full
of such examples
Page 53 of 76
1,,
A Straterric aprrroach to soffivare testing
fr
effectivo
Many software elrots are eliminated before testing begins by oonducting
technical reviews
Testing begins at the component level and works outward toward the integration
of the entire computer-based system.
a Different testing techniques are appropriate at different points in tin re'
a The developer of the software conducts testing and may be assisted by
independont test groups for large projects.
o Testing and debugging are different activities.
a Debugging must be accommodated in any testing strategy.
Make a distinction betrveen verification (are rve brrrtdirrg tire pt"odr:c, riglrt'/) and
"
validation (are we building the right product?)
. Sotlware testing is only one element of Softu'are Qrralit-1' /\ssttrance (SQA)
. Quality must be built in to the development procer;:r^ ),ou catl't use tr:sting
to add
quality after the fact
ffi . The role of the Independent Test Group (ITG) is to t'etno"'e the conflict of interest
ffi inherent rvhen the builder is testing his or her own lrroduct
H
H
. Misconceptions regarding the use of independent testitlg teams
ffi c The developer should do no testing at all
o Softrvare is tossed "over the rvall" to people to tcst lt rnercilessly
ffi o Testers are not involved u,ith the project until it is titne ibr it to L'e tested
ffi plcrject to
s " The deveioper and ITGC must rvork togethel tluoughout the sofiware
fr
fl ensure that thorough tests rvill be conducted
il
fi
H
tr
S oftrvare Testing Strategl'
T5,pcs of festing
Page 54 of 76
ii . !'l.{al:rr-,+trrr'.
r 5'.
/at:
.) -/
White Box Testing
The tester views the intemal behavior aucl structtrie of ihe progratn' The
proilram'
.. testing strategy pennits one to examine the intemal stlllcturc of the
Critical or Complex Modules can be tested using White box testing while the
rest of the application is tested using Black Box Testing.
Levels of Testing
, {.Jnit Testing
' Integration Testing
' System Testing Or FURPS".....Testing
. Acceptance Testing
" Regression Testing
Unit Testing
progl arn
Integration Tcsting
Page 55 of 76
#.ri?:. : a
Big Bang Tcsting
{h
. A fype of Integration test in which the softrvar"c coruponcnl of $n
appiication are combined all at oncc into a overall system.
. ,Gordipg to this approach, every module ir tirst unit tested in isolation
from other module. After each module is fested, all of th+ modules are
integrated together at once,,
Bottom-Up Testing
,@1
,ry
@ @@
,q,
@
// \ / \
@ @ @ffi
Page 56 of 76
d
v
Top-Dorvn Tesring fr
. Progtam merged and tested from the top to the bottom
. Modules are integrated by moving downward through ,1r. .entr,li hierarchy
with the main control rnodule.
-q
flF
@i @@r ffi@
4b 4U
Systern Testing
./ Functionalify Tcsting.
,/ Usability Testing"
t |;ll::ilflI"i'lt1;,-
./ Scalabilifv Testing.
Functionalitv Testing
fms testing is done to cnsure that all the functionalitres clefineci irr the
requirements are being irnpleinented correctiy.
Usabili$, Testing
Page57 of76
,9
r8
v:
" Ease Of OPerabilitY
"
Communicativencss
,This test is done keeping the kind of end user's r't'ho are
going tc'' use the
product.
Reliability Testing
. These Tests are can'ied out to assess the systcrtt's capability to irandle various
scenarios like failure of a hard drive olt the web, database serve) or
communication link faiiure.
" Software reiiabilit), is defined in statistical tenls as "the probab'lity of failure-
f,ree operation of a computer progrant in a speci l''i ed environ-rn etl t fbr a
specified tinte".
Ferformance Tcsting
\!1
This test is done to ensure that the softwale i pr-oduct rvorks thc rvay it is
supposed to at various ioad (ioad testing ), Stress (strcss tcsting ) and V rlume (
volume testing ).
Volurne Testing
.:.
The pulpose is ro find weakness in the s1'stem respect to its
"vith
handling of trarge amounts of data during short time pe|ic'ds"
Stress Testing
* The purpose is to that the system has the capacity to hantlle iarge
numbers of processing transactions durirrg pcak penods.
Performance Testing
Acceptancc Testing
to
" Acceptance Testing is clefinecl as the process of tbrrllal testing conducted
cdte,'ia and to
detenrrine whether or not the system satisfles its acceptance
enable the custorner to detelline whether or not io accellt the sylrtern
. The pu{pose of this testrng is to ensure that Cttstouer's requiretttettts
objeciives are met and that all the components al'c correctlf included in the
customer package.
ftcgrcssion Tcsting
make sure that the older programming still works rvith tlr.: ttcr',, chal'iges.
Page 58 of 76
dt,:
Strategic issues
Validatiora testine
r*-
The process of evaluating software during thc rlevelopment process or at tire
Activities:
a Unit Testing
a Integration Testing
a System Testing
o User Acceptance Testing
Page 59 of 75
\4
r" fi"'
Lo
Yenification and Validation
What is Debugging ?
J or
J
{2) the cause r.l'ill not be fbund. Wliv' is debuggir rg ditficull I
The symptom and the cause are geographically remote'
Page 50 of 76
i!llli
6r
o The symptom may clisappear when another error is correeted.
a The syniptom may aitually be the result ,f nons:rrors (e1; round
off i.
accuracies).
c ffr" .yr"piom may be caused by a human error that is not easy 1o find.
a 'fhe sirrnptom may be intermittent'
Thc symptorr, *iglrt be due t, the causes thai are distributed
a
across various
tasks on diverse Processes.
Debugging Strategies
Brute Force
Backtracking
is developed and tests are conc]ucted to elirninated eaclr. If rnrtial tests inclicate
thilt il
jllrr''t ttl isolate
particular cause hypothesis si-iows promise, the data are ri:tliteci ltt atl iltt
rhe bug.
Page 67 of 76
/v
(//
{ Le,
ildl Softlvare maintenance
SDLC nou' a days' [t stands for
software maintenance is widely acceptecl part of
of software product' There
all the modificatior;; updations done afterihe delivery
are nunber of ,eoso.rr, modifications are required, some of them are briefly
*iy
mentioned below:
Types of maintenance
SCM is also knorvn as software control lnanagelnent. SCM aims to control changes
introduced to large cornplex software systems through reiiable versiott selection and
version control.
Page 63 of 76
b4
{-lnit -lV
Software QualifY Assu rance
Software Quality
stated functional and
Software quaiity is called the conformance to explicitly
performance requirements, documented development standards,
and implicil
characteristics.
I{eet Requilernettt
Tirne
Quafiry ConcePts
Qua}ityManagernentaisocalledSoftr,varequairlr,Assurallce(SC]A).
"Servesasanutribreilaactivitythatisappliedtht.lll.lgl,i.-lLttihesoli.\,'arcprocgss
. tioing it ovel"agattt
Involves doing tle soft.,r,are clevelopnlent corre(lil! "'6;11-5;115
. Recluces the imount of rcrvork, rvhich results tll
lot'er costs atld iltlirr.vetl
tinte to market
1. Quality
2. Quality Cotrtrol
3" Quality assurance
4. Cost of quality
Page 64 of 76
,
- lr..'f
4 ,ff,,'i &; ;
{s-
:.:Y Trvo kinds of quality rnay be encountered:
o Quality of design
o Quality of conformance
Quality of Design
Quatity of design refers to the characteristics tht designers specify for an itent
The grade of materials, tolerance and performance specifications all contribute qualitl'
of design.
Qualify of Conformance
QC includes a feeclback icop to the process thal r;t'eatod the wolk product.
Includes all costs incr:rred in the pursuit of qualll)'of irl perfoul-ring quality-
related activities,
, Failure costs - subdivided into internal failure o.sts iir.td exteutal lailurc costs
Intemal f,ailure costs
.:
.: i f,ills"'
Include rework, repair, and failrrre mode analysi;'
'
External failure costs
(2) Specified standards define a set of devcloptnent criterii that guide tlte
manner in which software is engincered; if the q"iteria are n6l
followed, lack of quality will almost surely result'
Page 66 of 76
D.
L+
\= (ii) Sofhvare Reviews
, Catch large classes of errors that escape the oliginator tlore than other
practitioners
. Include the fonnal technical review (also called a rvalkthrough or inspection)
Acts as the most effective SQA filter
Conducted by software engineers for softwat"e eugineers
Effectively uncovers elrors and improves software quality
Has been shown to be up to 75o/o effective in uncovering design flaws
(which sonstitute 50-65% of all errors in software)
" Require the software engineers to expend time and effort, and the organization
to cover the costs.
soillvare engineers to
In addition, the FTR serves as a training ground ltri Ju;liot'
desigrl, and constntct;on'
observe different approaches to softrvare analysis,
-i
May sometimes be a sample-driven revierv'
. Pro.Ject managers nlust quantlfy those r'vork pi'oducts that ar() the pnmary
targets for formal teciinical reviervs.
The sample of products that are revierved nr.tst be represclltativc of thc
"
products as a rvhols.
Page 67 of76
6r
\- (i) Review Meeting
Has the following constraints
From 3-5 people should be involved
Advance prefaration (i.e., reading) sh.uld occur
fol e;rch participa,t
piece and involvo only *
but should r"quire no moie tha,, two hcil[$-a
small subset of comPonents
The duration of the meeting sh<luld be less than two
hout s
Page 58 of 76
h1
'Thisonetotwo-pagereportdescribes]yha!wasreviewed,who
,*i"*"d it, and iutt't *"'" the findings and conclusions
Ttre review t.ua.. follows'up on ttrr't
findi,gs to elNure that the
p191!gg the requested corrections
"*kes
1) Collec! andcategorizeinformation(i.e.,causes;)abotttsoftwatedefectsthat
occur. to
2) AttemPt to trace each defect to its underlying cause (e'g', nonconformance
violation of standards, poor cotntnttnication with
specifications, design
"rrot,
the customer).
to 209'o of all causcs),
3) Using the Pareto principle (80% of defects can bc traced
!
isolate the20%'
crrrr be tracked 1o one of the
Although hundrecls of errors are uncovered all
following causes.
Page 59 of 76
ll,:,
To
^t Six Signta
. Popularizedby Motorola in the 1980s
.Isthemostwidelyusedstrategyforstatisticalqualit]rassurance a company's
. Uses data and statistical analysis to measurg and improve
oPerational Performance
. Identifies and eliminates defects in manufacturing and seryice-related
SOA PIan
quality arisurance in an
The SQA Provides a road map for instituting soliware
organization.
. Structured as follows:
The Purpose and scope of the Plan
within
e arr.ripti* orutt toftware engineering work products that fall
Y thePurviewof SQA i. r t.--:-^ 4
- All applicable standards and practices that are applir:d during the
software Process
- r rL -
and tasks (including reviews and audrts) and their
sQa actions
placement throughout the software procelis
and tasks
{l The tools and mJthods that support SQA actions
for assembling, s#gxrarding, ancl maintainrttg all SQA-
Methods
related records
relative to product qualitY
s. ISO9000canhelpacolnpanysatisfyitsct'tstottleLs'mc'etregulatory
requirements, and achieve continuai improvement"
J' 'fluF'
-" ,"r&P
v'1
1t
t.-J
ISO 9004:2009: Quality managemerlt systerrs -' Managing
for tire sustained
success of an organization (continuous improven-rent)
systems
ISO 1901 1:2011: Guidelines for auditing management
The ISO 9000:2015 and ISO 9001:2015 standards are based on seven quality
management principles that senior management can apply for organizational
improvement:
)
l. Custotner focus
o understand the needs of existing and futrrre customers
o Align organizational objectives rvith clrslomor needs arld expectatiotrs
o Mcet customer requirements
c Measut'ecustomersatisfaction
c, Manage customer relationshiPs
c Aim to exceed customer expectations
Leam more about the customer experiencc attd customer satisfaction.
2, Leadership
o Esiablisli a 'ision and directio, for the organizatiott
c Set challenging goals
o Model orgat'tizational values
c Establish trust
o EquiP and entPorver ernPioYees
o Recognizeemployeecontributions
Leammoreaboutleadershiparrdfindrelatec]l.esOurccs.
3. Engagernent of PeoPle
c Ensute that peopie's abilities are used anii vaiuecl
o Make PeoPle accountable
o Enabie parlicipation itt continual improvlrrrenl
o Evaluate individual perfonuance
o Enable lear:rirlg and knowledge sharing
o Enable open discussion of problems atlci r:ot'tstLaints
4. Frocess approach
.J o Manage activities es Processes
o Measure the capabiiity of activities
o identify linkages betr'r'eetr activities
Page 71' ol 76
7e)
o Prioritize improvement opporlunilies
o DePloY resources eflectivelY
nmprovement
anci capabiiities
o trmprov e arganizational perfbnnance
o Align imProvement activities
o Empower peoplc to make improvements
o Measureimprovementconsistently
o CelebrateirnProvements
Learnmoreaboutapproachestocotltinuitlimpror''ement'
7. Reiationship mairagenleni
ze resources. and
o Identify and select suppliers to manage costs' opttml
crcate value
ihc siloi-t ancl long term
\- c Establish relationships consiciering both
itnd plans lvith piulners
o Share expertise, resources, informatiolt,
cCollaborateonimprovetnentanddgyg]ollmelll,activitieS
o Recognize suPPlier successes
Page 72 of 76
.-
73
SOFTWARE ENGINEER,ING
UniversitY Questiotts
Sub.Code: 48CA6C3
PART A
,: "'
28. Wrat is meant by systern
f4
testing? " /
29.Whatis meant by statistical quality assurance?
a30.Whatarethefactorsdeterminethequalityofas'lftware?
31. What is meant by Milestotte and deliverables?
32" What are the difference betwcetl softrvare
eriginecrillg and other engineering
branches'i
2 erponent colnputation cost
33. What are the scale factors usecl in thc COCOIT'Iil
estituaticn technique?
proct
34. Write the ciomain requirements in a software cleYr:lopme rlt
SS'
PART B
Page 74 of 76
r:fs!'' .
-t ,'t;
v
/,
:ctrT"ExptrainthemanagementaspectofSottr'vareenglneenng'
lg.Wratarethedutiesperformedbythequalityassurancepersonnel?
9:20.How the quality of a software product is deternrrned?
y2l. Explain ttre distribution of effort'
22.ExplaintheHiel.archicaltearnStructureindetail
tecirniqttes'
23" Explain the recurreuce reiations of forrnal spccificai"ion
3l"Explainaboutthesoftrvarerequirementsspecilicatit'n'
presenl. itt softlr'x1i' erngineering"l
32. What are the cost estimation techniques
Define all"
PART C
r! ,(,,:r
{,c
t-
t .....7-
g.Explainabouttlreunittestingarrrivalidationtr.ltiljJrlL,Jci,;il.
ffi*.
eSFq*v
q'*5d
.iqq
+:
W;
&*,
d,.
s;6r:
,6d!r,
&r'
W'84
q:-
.. ,,
(L;"
ffi
4ffi
s.
tr
(-
f
l'.,
*':a
Ss:.,
flr
ra
;(.
Page 76 of 76
\"-
:-"'
*"i't'