Вы находитесь на странице: 1из 8

Subject: Software Engineering

Subject Code: BSIT - 44


Assignment: TB (Compulsory)
PART A
I. Fill up the blanks using suitable or! or phrase in the "olloing senten#es:
1) Software is a set of INSTRUCTINS R C!"UTER "R#R$!S t%at w%en e&ecuted 'ro(ide
desired function and 'erfor)ance*
+) Software is a 'rocess and "R,UCT*
-) T%e INCRE!ENT$. !,E. )et%od is a/so 0nown as t%e iterati(e en%ance)ent )ode/*
4) $n e&terna/ entit1 is re'resented using E2TERN$. ,ESI#N INTER3$CE in a ,3,*
4) T%e software re5uire)ents dea/ wit% t%e RE6UIRE!ENTS of t%e 'ro'osed s1ste)*
7) T%e wea0est cou'/ing t%at is )ost desirab/e is ,$T$ CU".IN#*
8) T%e t%ree i)'ortant /e(e/s of abstraction are "9:SIC$. .E;E.< .#IC$. .E;E. = ;IE>
.E;E. *
?) "*,*.* stands for "R#R$! ,ESI#N .$N#U$#E*
@) BR>SIN# T.S %e/'s to (iew t%e source code*
1A) E2ECUT$B.E C,E too/s %e/' in code creation< debugging and testing*
11) T%e two 0inds of 'rogra) docu)entation are INTERN$. $N, E2TERN$.
1+) Esti)ation )a0es use of an i)'ortant a''roac% ,EC!"SITIN*
1-) "ERT stands for "R#R$! E;$.U$TIN $N, RE;IE> TEC9NI6UE*
II. $rite brie" ansers to the "olloing %uestions:
&) 'e"ine the terms risk mitigation( risk monitoring.
$ns: Ris0 )itigation refers to a(oiding ris0s b1 de(e/o'ing a strateg1 for reducing t%e turn o(er t%ereb1
ado'ting a 'roacti(e a''roac% to ris0s* Ris0 )onitoring refers to )onitoring t%e facts t%at )a1 'ro(ide an
indication of w%et%er t%e ris0 is beco)ing )ore or /ess /i0e/1*
)) *ame the important approa#hes use! in program !ebugging.
$ns: T%ere are t%ree debugging a''roac%es co))on/1 used
- It occurs as a conse5uence of successfu/ testing*
- >%en a test can unco(ers an error< t%en debugging< a 'rocess t%at resu/ts in t%e re)o(a/ of errors occur*
- ,ebugging 'rocess begins wit% t%e e&ecution of test cases*
+) $hat are spe#i"i#ation languages, -i.e an e/ample.
$ns: s'ecification /anguages 'ossess )an1 desired 5ua/ities of an SRS* Un/i0e for)a/ /anguages of SRS
)ust be e&act< wit%out a)biguit1< and 'recise because t%e design s'ecification< state)ent of wor0< and
ot%er 'roject docu)ents are w%at dri(e t%e de(e/o')ent of t%e fina/ 'roduct* E&a)'/e:-
Structured Eng/is%< Regu/ar E&'ression*
PART B
&. a) $hat is so"tare, 0ist out the important #hara#teristi#s o" so"tare.
$ns: Software is a set of instructions of co)'uter 'rogra)s t%at w%en e&ecuted 'ro(ide desired function
and 'erfor)ance* It is bot% a 'rocess and a 'roduct* To gain an understanding of software< it is i)'ortant to
e&a)ine t%e c%aracteristics of software< w%ic% differ considerab/1 fro) t%ose of %ardware*
Software C%aracteristic
1)* Software is de(e/o'ed or engineered< it is not )anufactured*
Un/i0e %ardware< software is /ogica/ rat%er t%an '%1sica/* It %as to be designed we// before 'roducing it* In
s'ite of a(ai/abi/it1 of )an1 auto)ated software de(e/o')ent too/s< it is t%e s0i// of t%e indi(idua/<
creati(it1 of t%e de(e/o'ers and 'ro'er )anage)ent b1 t%e 'roject )anager t%at counts for a good software
'roduct*
+)* Software does not Bwear outC*
T%e %ardware co)'onents start deteriorating D t%e1 are subjected to en(iron)enta/ )a/adies suc% as dust<
(ibration< te)'erature etc* and at so)e 'oint of ti)e t%e1 tend to brea0down* T%e defected co)'onents can
t%en be traced and re'/aced*
-) !ost software is custo)-bui/t< rat%er t%an being asse)b/ed fro) e&isting co)'onents
!ost of t%e engineered 'roducts are first designed before t%e1 are )anufactured* ,esigning inc/udes
identif1ing (arious co)'onents for t%e 'roduct before t%e1 are actua//1 asse)b/ed* 9ere se(era/ 'eo'/e can
wor0 inde'endent/1 on t%ese co)'onents t%us )a0ing t%e )anufacturing s1ste) %ig%/1 f/e&ib/e* In
software < brea0ing a 'rogra) into )odu/es is a difficu/t tas0< since eac% )odu/e is %ig%/1 inter/in0ed wit%
ot%er )odu/es*
b) 1/plain the ater"all mo!el o" so"tare pro#ess. $hat are its limitations,
Ans: It is t%e si)'/est and t%e wide/1 used 'rocess )ode/ for software de(e/o')ent* 9ere t%e '%ases
in(o/(ed in t%e software de(e/o')ent are organiEed in a /inear order*
In a t1'ica/ waterfa// )ode/< a 'roject begins wit% t%e feasibi/it1 ana/1sis* on successfu//1 de)onstrating
t%e feasibi/it1 of a 'roject< t%e re5uire)ents ana/1sis and 'roject '/anning begins* T%e design starts after
co)'/eting t%e re5uire)ents ana/1sis and coding starts after co)'/eting t%e design '%ase*
T%e /i)itations of waterfa// )ode/ are:
T%e )ode/ states t%at t%e entire set of re5uire)ents s%ou/d be froEen before de(e/o')ent begins* T%is is
'ossib/e for s)a// 'rojects< but is difficu/t for /arge 'rojects w%ere t%e e&act re5uire)ents )a1 not be
0nown in ad(ance*
T%e waterfa// )ode/ re5uires for)a/ docu)ents after eac% '%ase* T%is is not 'ossib/e in #UI-based
a''/ications w%ere t%e docu)entation wi// be (er1 e&tensi(e*
T%e custo)er sees t%e software on/1 at t%e end of t%e de(e/o')ent '%ase* $s a resu/t< t%e custo)er
cannot suggest an1 c%anges unti/ t%e 'roduct is de/i(ered*
). a) 'es#ribe the three generi# .ies o" so"tare engineering.
$ns: T%e software engineering as suc% can be categoriEed in to t%ree generic '%ases< regard/ess of
a''/ication area< 'roject siEe or co)'/e&it1*
T%e t%ree generic '%ases of software engineering are:-
T%e definition '%ase
T%e de(e/o')ent '%ase
T%e )aintenance '%ase
T%e definition '%ase de(e/o'er atte)'ts to identif1 w%at infor)ation is to be 'rocessed< w%at function and
'erfor)ance are desired< w%at s1ste) be%a(ior can be e&'ected< w%at interfaces are to be estab/is%ed< w%at
design constraints e&ists< and w%at (a/idation criteria are re5uired to define a successfu/ s1ste)*
T%e de(e/o')ent '%ase atte)'ts to define %ow data are to be structured< %ow function is to be
i)'/e)ented as a software arc%itecture< %ow 'roduces are to be i)'/e)ented< %ow design wi// be
trans/ated< into a 'rogra))ing /anguage< %ow testing wi// be 'erfor)ed*
T%e )aintenance '%ase focus on c%ange t%at is associated wit% t%e software*
Correction: - it is /i0e/1 t%at are custo)ers wi// find errors or defects in t%e software in s'ite of 5ua/it1
assurance acti(ities*
$da'tations: D $s ti)e 'rogress< it is /i0e/1 t%at t%e origina/ en(iron)ent for w%ic% t%e software was
de(e/o'ed is /i0e/1 to c%ange*
En%ance)ent: D as software is used< t%e custo)er wi// recogniEe t%e need for additiona/ functiona/
re5uire)ents t%at wi// benefit %i)*
"re(ention: D co)'uter software deteriorates due to c%ange* So< 're(enti(e )aintenance< often ca//ed
software reengineering )ust be conducted in order to )a0e c%anges to t%e co)'uter software )ore easi/1*
b) 0ist out the important #hara#teristi#s o" goo! 2R2.
$ns: $ good SRS s%ou/d be:
Co)'/ete
Consistent
$ccurate
!odifiab/e
Ran0ed
Testab/e
Traceab/e
Una)biguous
;a/id
+. a) -i.e the outline stru#ture o" 2R2.
$ns: T%e out/ine of SRS structure is:
Introduction
1*1 "ur'ose
1*+ ,ocu)ent con(entions
1*- Intended audience
1*4 $dditiona/ infor)ation 3or)atted: Bu//ets and Nu)bering
1*4 Contact infor)ationFSRS tea) )e)bers
1*7 References
(era// ,escri'tion
+*1 "roduct 'ers'ecti(e
+*+ "roduct functions
+*- User c/asses and c%aracteristics
+*4 'erating en(iron)ent
+*4 User en(iron)ent
+*7 ,esignFi)'/e)entation constraints
+*8 $ssu)'tions and de'endencies
E&terna/ Interface Re5uire)ents
-*1 User interfaces
-*+ 9ardware interfaces
-*- Software interfaces
-*4 Co))unication 'rotoco/s and interfaces
S1ste) 3eatures
4*1 S1ste) feature $
4*1*1 ,escri'tion and 'riorit1
4*1*+ $ctionFresu/t
4*1*- 3unctiona/ re5uire)ents
4*+ S1ste) feature B
t%er Nonfunctiona/ Re5uire)ents
4*1 "erfor)ance re5uire)ents
4*+ Safet1 re5uire)ents
4*- Securit1 re5uire)ents
4*4 Software 5ua/it1 attributes
4*4 "roject docu)entation
4*7 User docu)entation
b) $hy is !esign an important phase in so"tare !e.elopment li"e #y#le, 'es#ribe !esign
pro#ess.
$ns: ,esign is an i)'ortant '%ase in t%e software de(e/o')ent /ife c1c/e because it bridges t%e
re5uire)ents s'ecification and t%e fina/ so/ution for satisf1ing t%e re5uire)ents*
T%e software design is an acti(it1 w%ic% is after t%e re5uire)ents ana/1sis acti(it1* T%is '%ase begins w%en
t%e re5uire)ents docu)ent for t%e s1ste) to de(e/o' is a(ai/ab/e* ,esign is an i)'ortant '%ase in t%e
software de(e/o')ent /ife c1c/e< it bridges t%e re5uire)ents s'ecification and t%e fina/ so/ution for
satisf1ing t%e re5uire)ents*
T%e design 'rocess for t%e software %as two /e(e/s:-
1* S1ste) design or to'-/e(e/ design
+* ,etai/ed design or /ogic design
S1ste) design
Using t%is< t%e )odu/es t%at are needed for t%e s1ste) are decided< t%e s'ecifications of t%ese )odu/es and
%ow t%ese )odu/es need to be connected are a/so decided*
,etai/ed design
using t%is< t%e interna/ design of t%e )odu/es are decided or %ow t%e s'ecifications of t%e )odu/es can be
satisfied are decided* T%is t1'e of design essentia//1 e&'ands t%e s1ste) design to contain )ore detai/ed
descri'tion of t%e 'rocessing /ogic and data structures so t%at t%e designs is sufficient/1 co)'/ete for
coding*
3. 4utline programming gui!elines ith regar! to:
i) Control stru#tures
$ns: !an1 of t%e contro/ structures for a 'rogra) co)'onent are gi(en b1 t%e arc%itecture and design of a
s1ste)* $nd t%e gi(en design is trans/ated in to code* In case of so)e arc%itecture< suc% as i)'/icit
in(ocation and object-oriented design< contro/ is based on t%e s1ste) states and c%anges in (ariab/es*
ii) Algorithms
$ns: T%e 'rogra) design often s'ecifies a c/ass of a/gorit%)s to be used in coding* 3or e&a)'/e< t%e
design )a1 te// t%e 'rogra))er to use binar1 searc% tec%ni5ue* E(en t%oug%< a 'rogra))er %as /ot of
f/e&ibi/it1 in con(erting t%e a/gorit%) to code< it de'ends on t%e constraints of t%e i)'/e)entation /anguage
and %ardware*
iii) 'ata stru#tures
$ns: ,ata structures can inf/uence t%e organiEation and f/ow of a 'rogra)* In so)e cases< it can e(en
inf/uence t%e c%oice of 'rogra))ing /anguage* 3or e&a)'/e< .IS" is a /anguage for /ist 'rocessing* It is so
designed t%at it contains structures t%at )a0e it )uc% easier for %and/ing /ists t%an ot%er /anguages*
An!
i.) -eneral gui!elines
$ns: T%ere are se(era/ strategies t%at are usefu/ in 'reser(ing t%e design 5ua/it1 of a 'rogra):-
.oca/iEation in'ut and out'ut :- t%ose 'arts of a 'rogra) t%at read in'ut or generate out'ut are %ig%/1
s'ecia/iEed and )ust ref/ect c%aracteristics of t%e under/1ing %ardware and software *
"seudo-code can be used for transfor)ing t%e design to code t%roug% a c%osen 'rogra))ing /anguage*
Re(ise t%e design and rewrite t%e code unti/ one is co)'/ete/1 satisfied wit% t%e resu/t*
Reuse code co)'onents if 'ossib/e*
5. a) $hat is so"tare testing , 'es#ribe the to ays o" testing any engineere! so"tare
pro!u#t.
$ns: Software testing is t%e 'rocess of testing t%e functiona/it1 and correctness of software b1 running it*
T%e two wa1s of testing an1 engineered software 'roduct:-
1) >%ite-Bo& Testing
+) B/ac0-Bo& testing
B/ac0-bo& testing
It is a/so 0nown as functiona/ testing* Gnowing t%e s'ecified function t%at t%e 'roduct %as been designed to
'erfor)< tests can be conducted to de)onstrate t%at eac% function is fu//1 o'erationa/
E&a)'/e: - Boundar1 (a/ue ana/1sis*
>%ite Bo& Testing
It is a/so 0nown as structura/ testing* Gnowing t%e interna/ wor0ing of 'roduct< test can be conducted to
ensure t%at a// interna/ o'erations 'erfor) according to s'ecification t%at a// interna/ co)'onents %a(e been
ade5uate/1*
E2$!".E: - basic 'at% testing*
b) $hat is the !i""eren#e beteen .eri"i#ation an! .ali!ation,
$ns: ;erification is a set of acti(ities t%at ensures t%at t%e software correct/1 i)'/e)ents a s'ecified
function w%i/e ;a/idation is a set of acti(ities t%at ensures t%at t%e software t%at %as been bui/t< is traceab/e
to t%e custo)er re5uire)ents*
6. a) 'es#ribe the !i""erent kin!s o" so"tare !e.elopment team stru#ture.
$ns: T%e different 0inds of software de(e/o')ent tea) structure are:
,e)ocratic decentra/iEed tea)
Contro//ed centra/iEed tea)
Contro//ed decentra/iEed tea)
,e)ocratic decentra/iEed tea)
It consists of ten or few nu)ber of 'rogra))ers*
T%e goa/s of t%e grou' are set b1 consensus
E(er1 )e)ber is considered for ta0ing )ajor decision
#rou' /eaders%i' rotates a)ong grou' )e)ber
Contro//ed centra/iEed tea)
It consists of a c%ief 'rogra))er< w%o is res'onsib/e for a// t%e )ajor tec%nica/ decisions of t%e 'roject*
9e a/so does )ost of t%e design acti(ities and a//ocates coding 'art to eac% and e(er1 )e)ber of t%e tea)*
Under %i)< %e %as a bac0u' 'rogra))er< 'rogra) /ibrarian< and 'rogra))ers
T%e bac0u' 'rogra))er %e/'s t%e c%ief in )a0ing decisions and ta0es o(er t%e ro/e of c%ief in absence of
t%e c%ief 'rogra))er*
T%e 'rogra) /ibrarian is res'onsib/e for )aintaining t%e docu)ents and ot%er co))unication re/ated
wor0*
Contro//ed decentra/iEed tea)
It co)bines t%e strengt% of t%e de)ocratic and c%ief 'rogra))er tea)s
It consists of a 'roject /eader w%o %as a grou' of senior 'rogra))ers under %i) and a grou' of junior
'rogra))ers under a senior 'rogra))er*
T%e co))unication between t%e senior and junior 'rogra))ers are /i0e ego-/ess tea)<
T%is structure is best suited for e(er1 si)'/e 'rojects or researc%-t1'e wor0s*
b) $hat is C4C474 mo!el, 1/plain the basi# C4C474 mo!el.
$ns: T%e CC! )ode/ 'redicts t%e effort and duration of a 'roject based on in'uts re/ating to t%e siEe
of t%e resu/ting s1ste) and a nu)ber of Bcost dri(ersC t%at affect 'roducti(it1*
T9E B$SIC CC! !,E.
Basic CC! )ode/ esti)ates t%e software de(e/o')ent effort using on/1 a sing/e 'redictor (ariab/e
and t%ree software de(e/o')ent )odes* Basic CC! is good for 5uic0< ear/1< roug%< order of
)agnitude esti)ates of software costs< but its accurac1 is necessari/1 /i)ited because of its /ac0 of factors
w%ic% %a(e a significant inf/uence on software costs* T%e basic e5uation for t%e CC! )ode/ is about
t%e effort esti)ate in 'ersons D)ont% re5uired de(e/o' a 'roject and t%e G.C< t%e nu)ber of de/i(ered
/ines of code for t%e 'roject*
8. a) 'e"ine the terms: %uality( %uality assuran#e an! %uality #ontrol.
$ns: 9:A0IT;: < Software 5ua/it1 is confor)ance to t%e e&'/icit/1 stated functiona/ and 'erfor)ance
re5uire)ents< e&'/icit/1 docu)ented de(e/o')ent standards< and i)'/icit c%aracteristics t%at are e&'ected
of a// 'rofessiona//1 de(e/o'ed software*
9:A0IT; A22:RA*C1: < 6ua/it1 assurance is an auditing and re'orting function of )anage)ent*
9:A0IT; C4*TR40: < 6ua/it1 contro/ consists of a series of acti(ities /i0e ins'ections< re(iews< and
tests< w%ic% are carried out during t%e entire /ife c1c/e of software< so t%at eac% wor0 'roduct )eets t%e
re5uire)ents< '/aced u'on it*
b) 7ention the ob=e#ti.es o" "ormal te#hni#al re.ie.
$ns: T%is is a software 5ua/it1 assurance acti(it1 t%at is 'erfor)ed b1 software engineers*
BHECTI;ES
To detect t%e errors in functions< /ogic or i)'/e)entation found in software*
To (erif1 t%at t%e software under re(iew )eets its re5uire)ents*
To ensure t%at t%e software %as been re'resented according to 'redefined standards
To ac%ie(e software wit% consistent 5ua/it1 and on ti)e
To )a0e 'rojects )ore )anageab/e*
It acts as a training ground for junior engineers to obser(e different a''roac%es to software ana/1sis<
design< i)'/e)entation
3TR inc/udes wa/0t%roug%s< ins'ections< round-robin re(iews*
>. $rite short notes on:
a) 2o"tare engineering
$ns: Software engineering is a disci'/ine* It uses t%e e&isting too/s and )et%ods of software de(e/o')ent
and s1ste)atiEes t%e entire 'rocess of software de(e/o')ent* T%ere are a nu)ber of for)a/ definitions for
software engineering< gi(en b1 e&'erts in t%e fie/d* 9owe(er for t%e 'ur'ose of understanding< we s%a// see
so)e of t%e)*
BT%e a''/ication of a s1ste)atic< disci'/ined< 5uantifiab/e a''roac% to t%e de(e/o')ent< o'eration< and
)aintenance of software< t%at is< t%e a''/ication of engineering to software B*
b) The spiral mo!el o" so"tare pro#ess
$ns: T%e acti(ities in t%is )ode/ can be organiEed /i0e a s'ira/ t%at %as )an1 c1c/es* T1'ica//1 t%e inner
c1c/es re'resent t%e ear/1 '%ase of re5uire)ent ana/1sis a/ong wit% t%e 'rotot1'ing and t%e outer s'ira/s
re'resent t%e c/assic software /ifec1c/e*
T%is )ode/ %as been di(ided into four 5uadrants< eac% 5uadrant re'resenting a )ajor acti(it1 /i0e '/anning<
ris0 ana/1sis engineering and custo)er e(a/uation* T%e software 'rocess c1c/e begins wit% t%e '/anning
acti(it1 re'resented b1 t%e first 5uadrant
of t%is )ode/* Eac% c1c/e %ere begins wit% t%e identification of objecti(es for t%at c1c/e< t%e a/ternati(es
and constraints associated wit% t%at objecti(e*
#) Programming tools.
$ns: "rogra))ing too/s is used to reduce ti)e s'ent on t%e de(e/o')ent of 'rogra)s*
T%e too/s w%ic% used in 'rogra))ing too/s
1) source-code too/s
- editing too/s< t%ese re/ate to t%e editing of source code
- browsing too/s< %e/'s to (iew t%e source code
T%e source-code beautifiers and te)'/ates not on/1 )a0es a 'rogra) /oo0 consistent but a/so standardiEe
indentation st1/es< a/ign (ariab/e dec/arations and for)at co))ents*
+) E&ecutab/e code too/s:
Too/s t%at are re5uired for wor0ing wit% e&ecutab/e codes* it %e/'s in code creation< debugging and testing
-) code creation %as four )ajor too/s w%ic% %e/' t%e de(e/o'er in con(erting t%e source code into
e&ecutab/e code :
4) ,ebugging too/s %e/' in debugging t%e code*
4) Testing too/s %e/' in tracing t%e code errors*

Вам также может понравиться