Subject: Software Engineering Subject Code: BSIT - 44: Assignment: TB (Compulsory) Part - A
This document provides an assignment on software engineering topics. It includes fill-in-the-blank questions with terms related to software development processes and concepts. It also includes short answer questions defining terms like risk mitigation and monitoring, and describing software design phases and life cycles. An outline is provided for a typical software requirements specification document.
Download as DOC, PDF, TXT or read online on Scribd
Download as doc, pdf, or txt
0 ratings0% found this document useful (0 votes)
46 views8 pages
Subject: Software Engineering Subject Code: BSIT - 44: Assignment: TB (Compulsory) Part - A
This document provides an assignment on software engineering topics. It includes fill-in-the-blank questions with terms related to software development processes and concepts. It also includes short answer questions defining terms like risk mitigation and monitoring, and describing software design phases and life cycles. An outline is provided for a typical software requirements specification document.
Download as DOC, PDF, TXT or read online on Scribd
Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 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*