Vish Docment GTU SE

38
8/13/2019 Vish Docment GTU SE http://slidepdf.com/reader/full/vish-docment-gtu-se 1/38 C. K. Pithawalla College of Engineering and Technology  GUJARAT TECHNOLOGCAL UN!ER"T# $.E % &"e'e(ter) *+ Co',-ter Engineering "-/ect) "oftware Engineering Hand(0o-t Text Book : "oftware Engineering A Practitioner1( A,,roach Roger ". Pre(('an * th  Edition2 3e (ite)htt,)44www.'hhe.co'4,re(('an "oftware Engineering * th  Edition2"o''er5ille What is software? 6any ,eo,le e7-ate the ter' software with co',-ter ,rogra'(. n fact2 thi( i( too re(tricti5e a 5iew. "oftware i( not /-(t the ,rogra'( -t al(o all a((ociated doc-'entation and config-ration data which i( needed to 'a8e the(e ,rogra'( o,erate correctly. A (oftware (y(te' -(-ally con(i(t( of a n-'er of (e,arate ,rogra'(2 config-ration file( which are -(ed to (et -, the(e ,rogra'(2 (y(te' doc-'entation which de(crie( the (tr-ct-re of the (y(te' and -(er doc-'entation which e9,lain( how to -(e the (y(te' and2 for (oftware  ,rod-ct(2 we (ite( for -(er( to download recent ,rod-ct infor'ation. "oftware engineer( are concerned with de5elo,ing (oftware ,rod-ct( i.e. (oftware which can e (old to a c-(to'er. There are two ty,e( of (oftware ,rod-ct) :. Generic products: The(e are (tand0alone (y(te'( which are ,rod-ced y a de5elo,'ent organi;ation and (old on the o,en 'ar8et to any c-(to'er who i( ale to -y the'. "o'eti'e( they are referred to a( (hrin80wra,,ed (oftware. E9a',le() dataa(e(2 word ,roce((or(2 drawing ,ac8age( and  ,ro/ect 'anage'ent tool(. <.  Bespoke (or customized) products: :

Transcript of Vish Docment GTU SE

Page 1: Vish Docment GTU SE

8/13/2019 Vish Docment GTU SE

http://slidepdf.com/reader/full/vish-docment-gtu-se 1/38

C. K. Pithawalla College of Engineering and Technology GUJARAT TECHNOLOGCAL UN!ER"T#

$.E % &"e'e(ter) *+

Co',-ter Engineering

"-/ect) "oftware Engineering

Hand(0o-t

• Text Book :

• "oftware Engineering A Practitioner1( A,,roach Roger ". Pre(('an *th Edition2

3e (ite)htt,)44www.'hhe.co'4,re(('an

• "oftware Engineering *th Edition2"o''er5ille

What is software?

6any ,eo,le e7-ate the ter' software with co',-ter ,rogra'(. n fact2 thi( i(

too re(tricti5e a 5iew.

"oftware i( not /-(t the ,rogra'( -t al(o all a((ociated doc-'entation and

config-ration data which i( needed to 'a8e the(e ,rogra'( o,erate correctly.

A (oftware (y(te' -(-ally con(i(t( of a n-'er of (e,arate ,rogra'(2

config-ration file( which are -(ed to (et -, the(e ,rogra'(2 (y(te'

doc-'entation which de(crie( the (tr-ct-re of the (y(te' and -(erdoc-'entation which e9,lain( how to -(e the (y(te' and2 for (oftware

 ,rod-ct(2 we (ite( for -(er( to download recent ,rod-ct infor'ation.

"oftware engineer( are concerned with de5elo,ing (oftware ,rod-ct( i.e.

(oftware which can e (old to a c-(to'er.

There are two ty,e( of (oftware ,rod-ct)

:. Generic products:

The(e are (tand0alone (y(te'( which are ,rod-ced y a

de5elo,'ent organi;ation and (old on the o,en 'ar8et to any

c-(to'er who i( ale to -y the'.

"o'eti'e( they are referred to a( (hrin80wra,,ed (oftware.

E9a',le() dataa(e(2 word ,roce((or(2 drawing ,ac8age( and

 ,ro/ect 'anage'ent tool(.

<.  Bespoke (or customized) products: 

:

Page 2: Vish Docment GTU SE

8/13/2019 Vish Docment GTU SE

http://slidepdf.com/reader/full/vish-docment-gtu-se 2/38

The(e are (y(te'( which are co''i((ioned y a ,artic-lar

c-(to'er.

The (oftware i( de5elo,ed (,ecially for that c-(to'er y a

(oftware contractor.

E9a',le() control (y(te'( for electronic de5ice(2 (y(te'(

written to (-,,ort a ,artic-lar -(ine(( ,roce(( and air traffic

control (y(te'(.

An i',ortant difference etween the(e different ty,e( of (oftware i( that2 in generic

 ,rod-ct(2 the organi;ation which de5elo,( the (oftware control( the (oftware

(,ecification. =or c-(to' ,rod-ct(2 the (,ecification i( -(-ally de5elo,ed and

controlled y the organi;ation who i( -ying the (oftware. The (oftware de5elo,er(

'-(t wor8 to that (,ecification.

What is software engineering?

"oftware engineering i( an engineering di(ci,line which i( concerned with all

a(,ect( of (oftware ,rod-ction fro' the early (tage( of (y(te' (,ecification

thro-gh to 'aintaining the (y(te' after it ha( gone into -(e.

n thi( definition2 there are two 8ey ,hra(e()

:. >Engineering discipline1

Engineer( 'a8e thing( wor8.

They a,,ly theorie(2 'ethod( and tool( where the(e area,,ro,riate -t they -(e the' (electi5ely and alway( try to

di(co5er (ol-tion( to ,role'( e5en when there are no

a,,licale theorie( and 'ethod( to (-,,ort the'.

Engineer( al(o recogni;e that they '-(t wor8 to organi;ational

and financial con(traint( (o they loo8 for (ol-tion( within the(e

con(traint(.

<. >all aspects of software production1

"oftware engineering i( not /-(t concerned with the technical ,roce((e( of (oftware de5elo,'ent -t al(o with acti5itie( (-ch

a( (oftware ,ro/ect 'anage'ent and with the de5elo,'ent of

tool(2 'ethod( and theorie( to (-,,ort (oftware ,rod-ction.

n general2 (oftware engineer( ado,t a (y(te'atic and organi;ed

a,,roach to their wor8 a( thi( i( often the 'o(t effecti5e way to

 ,rod-ce high07-ality (oftware.

<

Page 3: Vish Docment GTU SE

8/13/2019 Vish Docment GTU SE

http://slidepdf.com/reader/full/vish-docment-gtu-se 3/38

Howe5er2 engineering i( all ao-t (electing the 'o(t a,,ro,riate 'ethod for a (et of

circ-'(tance( and a 'ore creati5e2 infor'al a,,roach to de5elo,'ent 'ay e

effecti5e in (o'e circ-'(tance(. nfor'al de5elo,'ent i( ,artic-larly a,,ro,riate

for the de5elo,'ent of we0a(ed e0co''erce (y(te'( which re7-ire( a lend of

(oftware and gra,hical de(ign (8ill(.

What’s the difference between software engineering and computer

science?

E((entially2 co',-ter (cience i( concerned ao-t theorie( and 'ethod( which

-nderlie co',-ter( and (oftware (y(te'( wherea( (oftware engineering i(

concerned with the ,ractical ,role'( of ,rod-cing (oftware.

"o'e 8nowledge of co',-ter (cience i( e((ential for (oftware engineer( in

the (a'e way that (o'e 8nowledge of ,hy(ic( i( e((ential for electricalengineer(.

deally2 all of (oftware engineering (ho-ld e -nder,inned y theorie( of

co',-ter (cience -t in reality thi( i( not the ca(e.

"oftware engineer( '-(t often -(e ad hoc a,,roache( to de5elo, the (oftware.

Elegant theorie( of co',-ter (cience are cannot alway( e a,,lied to real2

co',le9 ,role'( which re7-ire a (oftware (ol-tion.

What is the difference between software engineering and systemengineering?

"y(te' engineering or2 'ore ,reci(ely2 co',-ter0a(ed (y(te' engineering i(

concerned with all a(,ect( of the de5elo,'ent and e5ol-tion of co',le9

(y(te'( where (oftware ,lay( a 'a/or role.

"y(te' engineering i( therefore concerned with hardware de5elo,'ent2 ,olicy

and ,roce(( de(ign and (y(te' de,loy'ent a( well a( (oftware engineering.

"y(te' engineer( are in5ol5ed in (,ecifying the (y(te'2 defining it( o5erall

architect-re and then integrating the different ,art( to create the fini(hed

(y(te'.

They are le(( concerned with the engineering of the (y(te' co',onent(

&hardware2 (oftware2 etc.+.

"y(te' engineering i( an older di(ci,line than (oftware engineering.

?

Page 4: Vish Docment GTU SE

8/13/2019 Vish Docment GTU SE

http://slidepdf.com/reader/full/vish-docment-gtu-se 4/38

Peo,le ha5e een (,ecifying and a((e'ling co',le9 ind-(trial (y(te'( (-ch

a( aircraft and che'ical ,lant( for 'ore than :@@ year(.

Howe5er2 a( the ,ercentage of (oftware in (y(te'( ha( increa(ed2 (oftware

engineering techni7-e( (-ch a( -(e0ca(e 'odeling2 config-ration

'anage'ent2 etc. are eing -(ed in the (y(te'( engineering ,roce((.

What are the attributes of good software?

A( well a( the (er5ice( which it ,ro5ide(2 (oftware ,rod-ct( ha5e a n-'er of

other a((ociated attri-te( which reflect the 7-ality of that (oftware.

The(e attri-te( are not directly concerned with what the (oftware doe(2

rather2 they reflect it( eha5ior while it i( e9ec-ting and the (tr-ct-re and

organi;ation of the (o-rce ,rogra' and a((ociated doc-'entation.

E9a',le( of the(e attri-te( &(o'eti'e( called non0f-nctional attri-te(+ are

the (oftware1( re(,on(e ti'e to a -(er 7-ery and the -nder(tandaility of the

 ,rogra' code.

The (,ecific (et of attri-te( which yo- 'ight e9,ect fro' a (oftware (y(te'

o5io-(ly de,end( on it( a,,lication.

E9a',le) a an8ing (y(te' '-(t e (ec-re2 an interacti5e ga'e '-(t e

re(,on(i5e2 a tele,hone (witching (y(te' '-(t e reliale2 etc.

Product characteristic escription6aintainaility "oftware (ho-ld e written in (-ch a way that it 'ay

e5ol5e to 'eet the changing need( of c-(to'er(. Thi( i( a

critical attri-te eca-(e (oftware change i( an ine5itale

con(e7-ence of a changing -(ine(( en5iron'ent.

e,endaility "oftware de,endaility incl-de( a range of characteri(tic(

incl-ding reliaility2 (ec-rity and (afety. e,endale

(oftware (ho-ld not ca-(e ,hy(ical or econo'ic da'age

in the e5ent of (y(te' fail-re.

Efficiency "oftware (ho-ld not 'a8e wa(tef-l -(e of (y(te're(o-rce( (-ch a( 'e'ory and ,roce((or cycle(.

Efficiency therefore incl-de( re(,on(i5ene((2 ,roce((ing

ti'e2 'e'ory -tili;ation2 etc.

U(aility "oftware '-(t e -(ale2 witho-t -nd-e effort2 y the

ty,e of -(er( for which it i( de(igned. Thi( 'ean( that it

(ho-ld ha5e an a,,ro,riate -(er interface and ade7-ate

doc-'entation.

B

Page 5: Vish Docment GTU SE

8/13/2019 Vish Docment GTU SE

http://slidepdf.com/reader/full/vish-docment-gtu-se 5/38

!hapter ":

#e$uirement %nalysis and Engineering

-ic8 Loo8 )

• 3hat i( itD

Hel,( (4w engineer( to etter -nder(tand the ,role' they will wor8 to

(ol5ed.

t enco',a((e( the (et of ta(8( that lead to an -nder(tanding of what the

 -(ine(( i',act of the (4w will e2 what the c-(to'er want( and how end0

-(er( will interact with the (4w.

• 3ho doe( itD

(4w engineer(&(y(te' engg4analy(t+

 ,ro/ect (ta8eholder(&'anager(2 c-(to'er( and end0-(er(+

• 3hy i( it i',ortantD

e(igning and -ilding an elegant co',-ter that (ol5e( the wrong ,role'

(er5e( no one1( need(.

• 3hat are the (te,(D nce,tion % (co,e and nat-re of the ,role' to e (ol5ed

Elicitation %hel,( the c-(to'er to defined what i( re7-ired

Elaoration % where a(ic re7-ire'ent( are refined and 'odified

 Negotiation % what are the ,rioritie(2 what i( e((ential(2 when i( it re7-ired

=inally2 the ,role' i( (,ecified2 re5iewed or 5alidated to en(-re that yo-r

-nder(tanding of the ,role' and c-(to'er -nder(tand( of the ,role' i( coincide

• 3hat i( the wor8 ,rod-ctD All ,artie( with a written -nder(tanding of the ,role'

3or8 ,rod-ct( )

• U(er "cenario(2

• =-nction( and =eat-re( li(t(2

• Analy(i( 'odel(2

• ",ecification

Page 6: Vish Docment GTU SE

8/13/2019 Vish Docment GTU SE

http://slidepdf.com/reader/full/vish-docment-gtu-se 6/38

• How do en(-re that ha5e done it rightD

o 3or8 ,rod-ct( are re5iewed with the c-(to'er and end0-(er( to en(-re that

what yo- ha5e learned i( what they really 'eant.

&ntroduction:

o The (te, we generally 8now a( analy(i( i( al(o 8nown a( "oftware Re7-ire'ent(

Engineering. t i( a (y(te'atic and di(ci,lined a,,roach to deal with re7-ire'ent(.

o The (oftware engineer and c-(to'er ,lay an acti5e role in thi( acti5ity and the

(oftware engineer act( a( interrogator2 con(-ltant2 ,role' (ol5er and negotiator.

o The acti5ity 'ay a,,ear to e (i',le -t it i( not (ince the co''-nication content

i( 5ery high.

o RE i( an (4w engg action that egin( d-ring the co''-nication acti5ity andcontin-e( into the 'odeling acti5ity.

o Thi( acti5ity ridge( the ga, etween "y(te' Engineering and (oftware de(ign.

Bridge to esign and !onstruction

%rgues: :. =eet of ,ro/ect (ta8eholder(  <. $roader (y(te' definition2 where (4w i( one co',onent of large (y(te'

efinition:

:. Allowing a (4w tea' to e9a'ine the conte9t of the (4w wor8 to e ,erfor'ed

<. The (,ecific need that de(ign and con(tr-ction '-(t addre((

?. The ,rioritie( that g-ide the order in which wor8 i( to e co',leted.

B. The infor'ation2 f-nction( and eha5ior( that will ha5e a ,rofo-nd i',act on the

re(-ltant de(ign.

Types of #e$uirements

:. =-nctional re7-ire'ent(

• "tate'ent( of (er5ice( the (y(te' (ho-ld ,ro5ide

• How the (y(te' (ho-ld react to ,artic-lar in,-t( and

*

Page 7: Vish Docment GTU SE

8/13/2019 Vish Docment GTU SE

http://slidepdf.com/reader/full/vish-docment-gtu-se 7/38

• How the (y(te' (ho-ld eha5e in ,artic-lar (it-ation(.

• n (o'e ca(e(2 it 'ay e9,licitly (tate that what the (y(te' (ho-ld not do.

<. Non0f-nctional re7-ire'ent(

• Con(traint( on the (er5ice( or f-nction( offered y the (y(te' (-ch a( ti'ing

con(traint(2 con(traint( on the de5elo,'ent ,roce((2 (tandard(2 etc.

?. o'ain re7-ire'ent(

Re7-ire'ent( that co'e fro' the a,,lication do'ain of the (y(te' and that reflectcharacteri(tic( of that do'ain.

• They 'ay e f-nctional or non0f-nctional re7-ire'ent(.

'( )unctional #e$uirements

• e(crie f-nctionality or (y(te' (er5ice(

• e,end on the ty,e of (oftware2 e9,ected -(er( and the ty,e of (y(te' where the

(oftware i( -(ed

•=-nctional -(er re7-ire'ent( 'ay e high0le5el (tate'ent( of what the (y(te'(ho-ld do -t f-nctional (y(te' re7-ire'ent( (ho-ld de(crie the (y(te' (er5ice(

in detail

• U(er re7-ire'ent( ,oint of 5iew) it( in,-t(2 o-t,-t( and e9ce,tion( etc.

• Examples : Uni5er(ity Lirary "y(te' for (t-dent( and fac-lty to order oo8( and

doc-'ent( fro' other lirarie(

o The -(er (hall e ale to (earch either all of the initial (et of dataa(e( or

(elect a (-(et fro' it.

o

The (y(te' (hall ,ro5ide a,,ro,riate 5iewer( for the -(er to read doc-'ent(in the doc-'ent (tore.

o E5ery order (hall e allocated a -ni7-e identifier &ORERF+ which the

-(er (hall e ale to co,y to the acco-nt1( ,er'anent (torage area.

• #e$uirements imprecision*ambiguity+

o Prole'( ari(e when re7-ire'ent( are not ,reci(ely (tated

o A'ig-o-( re7-ire'ent( 'ay e inter,reted in different way( y de5elo,er(

and -(er(

o n Ao5e E9a',le) Con(ider the ter' >a,,ro,riate 5iewer(1

U(er intention 0 (,ecial ,-r,o(e 5iewer for each different doc-'ent ty,e

e5elo,er inter,retation 0 Pro5ide a te9t 5iewer that (how( the content(

of the doc-'ent

• #e$uirements completeness and consistency

o n ,rinci,le re7-ire'ent( (ho-ld e oth co',lete and con(i(tent

o Co',letene((

Page 8: Vish Docment GTU SE

8/13/2019 Vish Docment GTU SE

http://slidepdf.com/reader/full/vish-docment-gtu-se 8/38

They (ho-ld incl-de de(cri,tion( of all facilitie( re7-ired y -(er(.

o Con(i(tent

There (ho-ld e no conflict( or contradiction( in the de(cri,tion( of

the (y(te' facilitie(

o n ,ractice2 it i( i',o((ile to ,rod-ce a co',lete and con(i(tent

re7-ire'ent( doc-'ent

"( ,on-functional re$uirements

• 3hich are not directly concerned with the (,ecific f-nction( deli5ered y the

(y(te'

• efine (y(te' ,ro,ertie() reliaility2 re(,on(e ti'e and (torage re7-ire'ent(.

• efine Con(traint() 4O de5ice ca,aility2 data re,re(entation( -(ed in (y(te'

interface(2 etc.

• Proce(( re7-ire'ent( 'ay al(o e (,ecified 'andating a ,artic-lar CA"E (y(te'

 ,rogra''ing lang-age or de5elo,'ent 'ethod

•  Non0f-nctional re7-ire'ent( 'ay e 'ore critical than f-nctional re7-ire'ent(. f

the(e are not 'et2 the (y(te' i( -(ele((.

• t ari(e( thro-gh -(er need()

o  -dget con(traint(2

o organi;ational ,olicie(2

o the need for intero,eraility with other (oftware or hardware (y(te'(2

o E9ternal factor( (-ch a( (afety2 ,ri5acy etc.

,on-functional classificationso Prod-ct re7-ire'ent(

Re7-ire'ent( which (,ecify that the deli5ered ,rod-ct '-(t

 eha5e in a ,artic-lar way

e.g. ,erfor'ance&e9ec-tion (,eed+2 'e'ory re7-ired2 reliaility

 ,ortaility etc.

o Organi(ational re7-ire'ent(

Re7-ire'ent( which are a con(e7-ence of organi(ational ,olicie(

and ,roced-re(

e.g. ,roce(( (tandard( -(ed2 i',le'entation

re7-ire'ent(&,rogra''ing lang-age(2 de(ign 'ethod+2 etc.

o E9ternal re7-ire'ent(

Re7-ire'ent( which ari(e fro' factor( which are e9ternal to the

(y(te' and it( de5elo,'ent ,roce((

e.g. intero,eraility re7-ire'ent(2 legi(lati5e

re7-ire'ent(&o,erate( within the law and ethical re7-ire'ent(+

etc.

I

Page 9: Vish Docment GTU SE

8/13/2019 Vish Docment GTU SE

http://slidepdf.com/reader/full/vish-docment-gtu-se 9/38

• ,on-functional re$uirement types

Performancerequirements

Spacerequirements

Usabilityrequirements

Efficiencyrequirements

Reliabilityrequirements

Portabilityrequirements

Interoperabilityrequirements

Ethicalrequirements

Legislativerequirements

Implementationrequirements

Standardsrequirements

Deliveryrequirements

Safetyrequirements

Privacyrequirements

Productrequirements

Organizationalrequirements

Externalrequirements

Non-functionalrequirements

• .oals and re$uirements*Problem with non-functional re$uirements+

o  Non0f-nctional re7-ire'ent( 'ay e 5ery diffic-lt to (tate ,reci(ely and

i',reci(e re7-ire'ent( 'ay e diffic-lt to 5erify.

o Goal

A general intention of the -(er (-ch a( ea(e of -(e

o !erifiale non0f-nctional re7-ire'ent

A (tate'ent -(ing (o'e 'ea(-re that can e o/ecti5ely te(ted

o Goal( are hel,f-l to de5elo,er( a( they con5ey the intention( of the (y(te'

-(er(

/( omain re$uirements

• eri5ed fro' the a,,lication do'ain and de(crie (y(te' characteri(tic( and

feat-re( that reflect the do'ain

Page 10: Vish Docment GTU SE

8/13/2019 Vish Docment GTU SE

http://slidepdf.com/reader/full/vish-docment-gtu-se 10/38

• 6ay e new f-nctional re7-ire'ent(2 con(traint( on e9i(ting re7-ire'ent( or

define (,ecific co',-tation(

• f do'ain re7-ire'ent( are not (ati(fied2 the (y(te' 'ay e -nwor8ale

E9a',le ) Lirary (y(te' do'ain re7-ire'ent(

There (hall e a (tandard -(er interface to all dataa(e( which (hall e a(ed on the?.@ (tandard.

• $eca-(e of co,yright re(triction(2 (o'e doc-'ent( '-(t e deleted i''ediately on

arri5al. e,ending on the -(er1( re7-ire'ent(2 the(e doc-'ent( will either e

 ,rinted locally on the (y(te' (er5er for 'an-ally forwarding to the -(er or ro-ted

to a networ8 ,rinter.

o'ain re7-ire'ent( ,role'(

Under(tandaility

o Re7-ire'ent( are e9,re((ed in the lang-age of the a,,lication do'ain

o Thi( i( often not -nder(tood y (oftware engineer( de5elo,ing the (y(te'

',licitne((

o o'ain (,eciali(t( -nder(tand the area (o well that they do not thin8 of

'a8ing the do'ain re7-ire'ent( e9,licit

0oftware Engineering Process

• The ,roce((e( -(ed for RE 5ary widely de,ending on the a,,lication do'ain2 the

 ,eo,le in5ol5ed and the organi(ation de5elo,ing the re7-ire'ent(

• Howe5er2 there are fo-r generic2 high le5el re7-ire'ent( engineering ,roce((

acti5itie(

o Re7-ire'ent( elicitation

o Re7-ire'ent( analy(i(

o Re7-ire'ent( 5alidation

o Re7-ire'ent( 'anage'ent

• Re7-ire'ent( 'anage'ent i( an additional re7-ire'ent( engineering acti5ity which i(

concerned with 'anaging re7-ire'ent( change.

• "o'e ,eo,le con(ider RE to e the ,roce(( of a,,lying a (tr-ct-red 'ethod2(-ch a(

OO Analy(i(.

• Thi( in5ol5e( analy;ing the (y(te' and de5elo,ing a (et of gra,hical 'odel( which

then act a( a (y(te' (,ecification.

• The (et of 'odel( de(crie the eha5ior of the (y(te'.

:@

Page 11: Vish Docment GTU SE

8/13/2019 Vish Docment GTU SE

http://slidepdf.com/reader/full/vish-docment-gtu-se 11/38

Feasibilitystudy

Requirementselicitation and

analysisRequirementsspecification

Requirementsvalidation

Feasibilityreport

Systemmodels

User and systemrequirements

Requirements

document

#e$uirement Engineering Tasks

3hat the c-(to'er want(

Analy;ing need

A((e((ing fea(iility

 Negotiating a rea(onale (ol-tion

",ecifying the (ol-tion -na'ig-o-(ly

!alidating the (,ecification

6anaging the re7-ire'ent( a( they are tran(for'ed into an o,erational

(y(te'.

• The (oftware re7-ire'ent( acti5ity i( acco',li(hed thro-gh the e9ec-tion of following

(e5en di(tinct f-nction()

:. nce,tion

<. Elicitation

?. Elaoration

B. Negotiation

. ",ecification

*. !alidation. 6anage'ent

:.  nce,tion ) &"tart2 eginning+.

• How doe( a (oftware ,ro/ect get (tartedD

::

Page 12: Vish Docment GTU SE

8/13/2019 Vish Docment GTU SE

http://slidepdf.com/reader/full/vish-docment-gtu-se 12/38

• "o'eti'e( a ca(-al di(c-((ion re(-lt( into a 'a/or (oftware de5elo,'ent

 ,ro/ect.

• $-t2 in 'o(t of the ca(e( the (oftware de5elo,'ent ,ro/ect( egin when a

 -(ine(( need i( identified or a ,otential new 'ar8et or (er5ice i( di(co5ered.

• "ta8eholder( fro' -(ine(( co''-nity define( -(ine(( ca(e for the idea2 try to

identify the reath and de,th of the 'ar8et2 do a ro-gh fea(iility analy(i( and

identify a wor8ing de(cri,tion of the ,ro/ect1( (co,e• n thi( 2(4w engineer a(8 a (et of conte9t0free 7-e(tion( with the intention

i. To e(tali(h a a(ic -nder(tanding of the ,role'

ii. The ,eo,le who want( the (ol-tion

iii. The nat-re of the (ol-tion that i( de(ired

i5. Effecti5e ,reli'inary co''-nication

5. Collaoration etween c-(to'er and de5elo,er 

<.  Elicitation ) &drawing o-t2 e9tracting2 otaining+

• Re7-ire'ent( elicitation i( the ,roce(( of getting re7-ire'ent( fro' the

c-(to'er.

• t a,,ear( to e (i',le and ea(y -t it i( not.

• To o5erco'e elow ,role'( Re7-ire'ent( Gathering Acti5ity will e

organi;ed.

• iffic-ltie( faced are

i. Prole'( of (co,e

o  o-ndary of (y(te' i( ill0defined

o c-(to'er( gi5e -nnece((ary detail( that 'ay conf-(e rather than

clarify2 o5erall (y(te' o/ecti5e(

ii. Prole'( of -nder(tanding

o C-(to'er(4-(er( are not co',letely (-re of what i( needed

o C-(to'er( ha5e ,oor ca,aility of co',-ting en5iron'ent

o Ha5ing ,role' in co''-nicating2

o on1t ha5e a f-ll -nder(tanding of the ,role' do'ain

o O'it infor'ation that i( o5io-(

o Gi5e conflicting re7-ire'ent(

o ",ecify a'ig-o-( re7-ire'ent(

iii. ,role'( of 5olatility

o Re7-ire'ent( change o5er ti'e

?.  Elaoration ) &E9,an(ion2 a',lification2 e9,lanation+

• The infor'ation otained fro' the c-(to'er d-ring ince,tion and elicitation i(

e9,anded and refined d-ring elaoration.

:<

Page 13: Vish Docment GTU SE

8/13/2019 Vish Docment GTU SE

http://slidepdf.com/reader/full/vish-docment-gtu-se 13/38

• t foc-(e( on de5elo,ing a refined technical 'odel of (oftware f-nction(2

feat-re( and con(traint(.

• t i( a(ically an analy(i( 'odeling action i.e. yo- 'a8e analy(i( 'odel( li8e

ER2 =2 "T.

• The end re(-lt of elaoration i( an analy(i( 'odel that define( the

infor'ational2 f-nctional and eha5ioral do'ain of the ,role'.

"cenario0cla((e(0Relation(hi, etween cla((e(0"er5ice( y cla((e(

:?

Page 14: Vish Docment GTU SE

8/13/2019 Vish Docment GTU SE

http://slidepdf.com/reader/full/vish-docment-gtu-se 14/38

B.  Negotiation )

• Lot of ti'e( c-(to'er( 4 end -(er( a(8 for 'ore than what can e gi5en with the

re(o-rce( a5ailale &ti'e2 'oney2 'an,ower+.

• There 'ay e conflicting re7-ire'ent( fro' different -(er( al(o.

There i( a need for the negotiation ,roce(( in (-ch ca(e( to reconcile &re(ol5e2(ettle+ the conflict(.

• U(ing an iterati5e ,roce(( the re7-ire'ent( are eli'inated2 co'ined2 and 4 or

'odified (o that each ,arty achie5e( (o'e 'ea(-re of (ati(faction.

.  ",ecification )

• 3hate5er re7-ire'ent( the re7-ire'ent engineer ha( elicited2 elaorated and

finali;ed after negotiation( (o far ha5e to e ,-t in a for' which can e -(ed y

other( to ta8e the wor8 ahead.

• That ,roce(( i( called specification process.

• The o-t,-t of that ,roce(( i( called ",ecification.

•  t can e a written doc-'ent2 a (et of gra,hical 'odel(2 a for'al 'athe'atical

'odel2 a collection of -(age (cenario(2 a ,rototy,e or any co'ination of the(e.

• =or large (y(te'(2 it i( a written doc-'ent co'ining nat-ral lang-age

de(cri,tion( and gra,hical 'odel(.

• The (,ecification i( the final wor8 ,rod-ct ,rod-ced y the Re7-ire'ent

Engineer.

t (er5e( the fo-ndation for (-(e7-ent "E acti5itie( li8e de(ign2 de5elo,'ent2te(ting etc.

*.  !alidation ) &Confir'ation+

• Lot of wor8 ,rod-ct( are ,rod-ced a( a con(e7-ence of re7-ire'ent(

engineering.

• t i( nece((ary to a((e(( the 7-ality of the(e wor8 ,rod-ct(

• Their 7-ality i( a((e((ed thro-gh the (te, of 5alidation.

t e9a'ine( the (,ecification to en(-re that all re7-ire'ent( ha5e een (tated-na'ig-o-(ly &clearly+2 that incon(i(tencie(2 error( and o'i((ion( are detected

and re(ol5ed2 and that wor8 ,rod-ct( confor' to the (tandard(.

• !alidation i( done thro-gh =TR &for'al technical re5iew+.

.  Re7-ire'ent 6anage'ent )

:B

Page 15: Vish Docment GTU SE

8/13/2019 Vish Docment GTU SE

http://slidepdf.com/reader/full/vish-docment-gtu-se 15/38

• t i( a (et of acti5itie( that hel, the ,ro/ect tea' identify2 control and trac8

re7-ire'ent( and change( to re7-ire'ent( at any ti'e a( the ,ro/ect ,roceed(.

• J-(t li8e 'anaging change( in (oftware thro-gh "C6 &"oftware config-ration

'anage'ent+ we need to 'anage the original re7-ire'ent( al(o.

• $a(ically we ha5e to carry o-t 'o(t of the acti5itie( that we carry o-t d-ring

"C6.

#o- ha5e to identify  each re7-ire'ent -ni7-ely a( Mre7-ire'entty,eMre7-ire'ent where Ty,e can e

i. = for f-nctional2

ii. for data

iii. $ for eha5ioral

i5. for interface

5. P for o-t,-t

• Then ,re,are traceaility tale( that relate each re7-ire'ent to one or 'ore

a(,ect of the (y(te'.

A(,ect(

Re7-ire'ent A@: A@< A@? A@B A@

R@: #

R@< # #

R@? # #

• "o'e of the ,o((ile traceaility tale( are

:. =eat-re( traceaility tale) relate( re7-ire'ent to a (y(te' feat-re.

<. "o-rce traceaility tale) relate( re7-ire'ent to a (o-rce.?. e,endency traceaility tale ) indicate( how they are related to one

another 

B. "-(y(te' traceaility tale) categori;e( re7-ire'ent( y (-(y(te'.

. nterface traceaility (how( how re7-ire'ent( relate to oth internal and

e9ternal (y(te' interface(.

• n different tale( the a(,ect( can e feat-re(2 (o-rce(2 (-(y(te'( etc.

• The(e tale( can e 'aintained a( a ,art of re7-ire'ent( dataa(e (o that it i(

ea(y to (earch how a change in one re7-ire'ent affect( the other a(,ect(.

:

Page 16: Vish Docment GTU SE

8/13/2019 Vish Docment GTU SE

http://slidepdf.com/reader/full/vish-docment-gtu-se 16/38

&nitiating the re$uirements engineering process

o "tarting the re7-ire'ent( engineering ,roce(( and (-cce((f-lly co',leting it i(

5ery diffic-lt.

o n an ideal (etting2 c-(to'er( and (oftware engineer( wor8 together on the (a'e

tea'.

o n (-ch ca(e(2 re7-ire'ent( engineering i( (i',ly a 'atter of cond-cting'eaningf-l con5er(ation( with colleag-e( who are well08nown 'e'er( of the

tea'.

o $-t reality i( often 7-ite different.

o C-(to'er( 'ay e located in a different city or co-ntry2 'ay ha5e only a 5ag-e

&-nclear+ idea of what i( re7-ired2 'ay ha5e conflicting o,inion( ao-t the (y(te'

to e -ilt2 'ay ha5e li'ited technical 8nowledge and li'ited ti'e to interact with

the re7-ire'ent( engineer.

o  None of the(e thing( are de(irale -t they do e9i(t and the engineer ha( to deal

with it.o How do yo- (tart the ,roce(( in (-ch a (it-ationD

dentify the (ta8eholder(

• Anyone who enefit( in a direct or indirect way fro' the (y(te'.

• Kee, e9,anding thi( li(t and en(-re that yo- get contri-tion fro' all

of the' (ince all of the' will ha5e different 5iew( and re7-ire'ent(.

Recogni;e 6-lti,le 5iew ,oint( .

The '-lti,le 5iew,oint( in lot of ca(e( will e conflicting with eachother.

• "o categori;e the(e conflicting2 '-lti,le 5iew ,oint( to arri5e at (o'e

deci(ion.

• E9a',le) The 'ar8eting gro-,(2 -(ine(( 'anager(2 (-,,ort

engineer(2 end0-(er( etc.

3or8ing toward collaoration .

• Try to wor8 a( a tea'.

•A tea' trie( to achie5e the 'ain o/ecti5e y following the

 ,hilo(o,hy of gi5e and ta8e rather than in(i(ting on (tic8ing to one1(

own idea(.

• Try to find area of co''onality2 area of conflict or incon(i(tency

A(8ing the =ir(t -e(tion

• =ir(t2 (tart with conte9t0free 7-e(tion( to rea8 the ice.

:*

Page 17: Vish Docment GTU SE

8/13/2019 Vish Docment GTU SE

http://slidepdf.com/reader/full/vish-docment-gtu-se 17/38

• The(e 7-e(tion( will lead to a(ic -nder(tanding of the ,role'2 the

 ,eo,le who want a (ol-tion2 the nat-re of (ol-tion that i( de(ired and

the effecti5ene(( of the fir(t enco-nter it(elf.

• "o'e of the(e 7-e(tion( co-ld e

o 3ho i( ehind the re7-e(t for thi( wor8D

o 3ho will -(e the (ol-tionD

o

3hat will e the econo'ic enefitDo ( there another (o-rce for the (ol-tion yo- needD

o 3hat ,role' will thi( (ol-tion addre((D

o Can yo- (how or de(crie the en5iron'ent in which the

(ol-tion will e -(edD

o 3ill (,ecial ,erfor'ance i((-e( or con(traint( affect the way

(ol-tion i( a,,roachedD

o Are yo- the right ,er(on to an(wer the(e 7-e(tion(D Are yo-r

an(wer( officialD

o

Are 'y 7-e(tion( rele5ant to the ,role' yo- ha5eDo A' a(8ing too 'any 7-e(tion(D

o Can anyone el(e ,ro5ide additional infor'ationD

o "ho-ld e a(8ing yo- anything el(eD

Eliciting #e$uirements

o The (tyle of collecting infor'ation di(c-((ed ao5e i( not 5ery effecti5e. There i(

alway( a feeling of -( and the' in thi( 8ind of 'eeting(.

o "o thi( techni7-e i( OK for the fir(t 'eeting -t then one can go for tea' orienteda,,roach called Collaorati5e Re7-ire'ent( Gathering.

o n thi( a,,roach a /oint tea' of c-(to'er( and de5elo,er( i( for'ed to identify the

 ,role'2 ,ro,o(e ele'ent( of the (ol-tion2 negotiate different a,,roache( and

(,ecify a ,reli'inary (et of (ol-tion re7-ire'ent(.

o Thi( 'ethod i( different fro' other 'ethod( in following way()

Cond-cted at a ne-tral (ite.

R-le( for ,re,aration and ,artici,ation are e(tali(hed.

Agenda i( (-gge(ted that i( for'al eno-gh to co5er all i',ortant ,oint( -t

infor'al eno-gh to enco-rage the free flow of idea(. A facilitator &a c-(to'er2 a de5elo,er or an o-t(ider+ control( the 'eeting.

A definition 'echani(' i( -(ed.&wor8 (heet(2 fli, chart( etc+

o 3hat (ho-ld ha,,en and how it (ho-ld ha,,en efore and d-ring a 'eeting i( al(o

decided. Earlier ter' =A"T.

o Before a meeting

:

Page 18: Vish Docment GTU SE

8/13/2019 Vish Docment GTU SE

http://slidepdf.com/reader/full/vish-docment-gtu-se 18/38

:. A 'eeting ,lace2 ti'e and date are (elected and a facilitator i( cho(en.

<. Attendee( fro' the de5elo,'ent tea' and c-(to'er organi;ation( are

in5ited to attend and the ,rod-ct re7-e(t i( di(tri-ted to all attendee(

 efore the 'eeting date.

?. Each attendee i( re7-e(ted to 'a8e a li(t of o/ect(2 (er5ice(2 con(traint(

and ,erfor'ance criteria.

• O/ect()

• That i( ,art of the en5iron'ent in which the (y(te' o,erate(2 that

are to e ,rod-ced and that are -(ed y the (y(te'.

• "er5ice()

• Proce((e( or f-nction( that interact with the o/ect(.

• Con(traint( )

• Co(t2 (i;e2 -(ine(( r-le(.

• Perfor'ance )

• ",eed2 acc-racy etc.

o Example : 10afe home2 home security system

O/ect() "'o8e detector2 window and door (en(or(2 'otion detector(

an alar'2 an e5ent &a (en(or ha( een acti5ated+2 a control ,anel2 a

di(,lay2 tele,hone n-'er(2 tele,hone call etc.

"er5ice() (etting the alar'2 'onitoring the (en(or(2 dialing the ,hone2

 ,rogra''ing the control ,anel etc.

Con(traint() 6-(t co(t le(( than R(. I@@@2 '-(t e -(er friendly2 'ay

 e a re(triction on (i;e of the control ,anel.

Perfor'ance) "en(or e5ent (ho-ld e recogni;ed within one (econd

e5ent ,riority (che'e (ho-ld e i',le'ented.

o uring meeting

• =ir(t ,oint i( need and /-(tification of the ,rod-ct.

• Each ,artici,ant ,re(ent( hi(4her li(t for di(c-((ion.

• Criti7-e and deate are (trictly ,rohiited at thi( (tage.

• A co'ined li(t i( created &no deletion i( allowed+.

• i(c-((ion (tart( and a con(en(-( li(t( &for o/ect(2 (er5ice(

con(traint(2 ,erfor'ance+ are created.

• Tea' i( di5ided into ('aller (-tea'( and each wor8( to de5elo,

'ini0(,ecification( for each ite' on the con(en(-( li(t.

:I

Page 19: Vish Docment GTU SE

8/13/2019 Vish Docment GTU SE

http://slidepdf.com/reader/full/vish-docment-gtu-se 19/38

• 6ini0(,ec( are then ,re(ented to the whole tea' and di(c-((ed.

• A li(t of 5alidation criteria i( ,re,ared.

• One or 'ore ,er(on i( a((igned to write the co',lete draft

(,ecification -(ing all in,-t( fro' 'eeting.

o %fter the meeting

o One can do 3uality )unction eployment *3)+  forre7-ire'ent(.

o t i( a 3uality management techni$ue.

o t concentrate( on 'a9i'i;ing c-(to'er (ati(faction fro' the

(oftware engineering ,roce((.

o t e',ha(i;e( an -nder(tanding of what i( 5al-ale to the

c-(to'er.

o = identifie( ? ty,e( of re7-ire'ent(

:. Nor'al re7-ire'ent()

o E9,licitly (tated re7-ire'ent(.

o Reflect o/ecti5e( and goal( (tated for a ,rod-ct

o E9a',le ) Gra,hical i(,lay2 (,ecific f-nction(2 le5el

of ,erfor'ance

<. E9,ected re7-ire'ent()

o ',licit re7-ire'ent(.

o A(ence will e ca-(e for di((ati(faction.

o E9a',le ) Reliaility2 ea(e of in(tallation

?. E9citing re7-ire'ent()

o They go eyond the c-(to'er1( e9,ectation( and

 ,ro5e to e 5ery (ati(fying.

o E9a',le )N-'er of ,age layo-t( in word

:

Page 20: Vish Docment GTU SE

8/13/2019 Vish Docment GTU SE

http://slidepdf.com/reader/full/vish-docment-gtu-se 20/38

)unction deployment :

deter'ine( the 5al-e &a( ,ercei5ed y the c-(to'er+ of each

f-nction re7-ired of the (y(te'

&nformation deployment

dentifie( data o/ect( and e5ent( that (y(te' '-(t con(-'e and

 ,rod-ce. Task deployment

E9a'ine( the eha5ior of the (y(te' with conte9t of en5iron'ent

4alue analysis

deter'ine( the relati5e ,riority of re7-ire'ent( d-ring each of the

de,loy'ent

o Elicitation work products

o At the end of the elicitation (te, there will e few wor8 ,rod-ct(

de,ending on the (i;e of the ,ro/ect.

o "o'e of the(e wor8 ,rod-ct( are)

A (tate'ent of need and fea(iility

A o-nded (tate'ent of (co,e for the (y(te' &how 'any g-e(t(

how 'any ite'( and what ty,e of (er5iceD+

A li(t of c-(to'er(2 -(er( and other (ta8eholder( who ,artici,ated

in re7-ire'ent( elicitation.

A de(cri,tion of (y(te'1( technical en5iron'ent

A li(t of re7-ire'ent( and con(traint( that a,,ly to each

A (et of -(age (cenario( &withdrawal of 'oney fro' AT6

o,ening of a new "$ acco-nt etc+

Any ,rototy,e( de5elo,ed to etter define re7-ire'ent(

 

#e$uirement 0pecification

o =inal o-t,-t of re7-ire'ent( ta(8 i( the "R"

o 3hy are =(2 OO 'odel(2 etc not "R"D

:. "R" foc-(e( on e9ternal eha5ior2 while 'odeling foc-(e( on ,role'

(tr-ct-re

<. U etc. not 'odeled2 -t ha5e to e in "R"

?. Error handling2 con(traint( etc. al(o needed in "R"

o Tran(ition fro' analy(i( to (,ecification i( not (traight forward

<@

Page 21: Vish Docment GTU SE

8/13/2019 Vish Docment GTU SE

http://slidepdf.com/reader/full/vish-docment-gtu-se 21/38

o 8nowledge ao-t the (y(te' ac7-ired in analy(i( -(ed in (,ecification

o !haracteristics of an 0#0

:. Correct

<. Co',lete

?. Una'ig-o-(

B. Con(i(tent

. !erifiale

*. Traceale

. 6odifiale

I. Ran8ed for i',ortance and4or (taility

'( !orrectness

o Each re7-ire'ent acc-rately re,re(ent( (o'e de(ired feat-re in

the final (y(te'

"( !ompletenesso All de(ired feat-re(4characteri(tic( (,ecified

o Harde(t to (ati(fy

o Co',letene(( and correctne(( (trongly related

/( 5nambiguous

o Each re7-ire'ent ha( e9actly one 'eaning

o 3itho-t thi( error( will cree, in

o ',ortant a( nat-ral lang-age( often -(ed

6( 4erifiability

o There '-(t e9i(t a co(t effecti5e way of chec8ing if (oftware(ati(fie( re7-ire'ent(

7( !onsistent

o two re7-ire'ent( don1t contradict each other 

8( Traceable

o The origin of the re7-ire'ent2 and how the re7-ire'ent relate(

to (oftware ele'ent( can e deter'ined

9( #anked for importancestability

o  Needed for ,rioriti;ing in con(tr-ction

o To red-ce ri(8( d-e to changing re7-ire'ent(

o !omponents of an 0#0

:. 3hat (ho-ld an "R" containD

:. Clarifying thi( will hel, en(-re co',letene((

<. An "R" '-(t (,ecify re7-ire'ent( on

:. =-nctionality

<:

Page 22: Vish Docment GTU SE

8/13/2019 Vish Docment GTU SE

http://slidepdf.com/reader/full/vish-docment-gtu-se 22/38

<. Perfor'ance

?. e(ign con(traint(

B. E9ternal interface(

'( )unctional #e$uirements

o Heart of the "R" doc-'entQ thi( for'( the -l8 of the (,ec(

o ",ecifie( all the f-nctionality that the (y(te' (ho-ld (-,,ort

o O-t,-t( for the gi5en in,-t( and the relation(hi, etween the'

o All o,eration( the (y(te' i( to do

o 6-(t (,ecify eha5ior for in5alid in,-t( too

"( Performance #e$uirements

o All the ,erfor'ance con(traint( on the (oftware (y(te'

o Generally on re(,on(e ti'e 2 thro-gh,-t etc dyna'ic

o Ca,acity re7-ire'ent( (tatic

o 6-(t e in 'ea(-rale ter'( &5erifiaility+

o E9a',le) re(,on(e ti'e (ho-ld e 99 @S of the ti'e

/( esign !onstraints

o =actor( in the client en5iron'ent that re(trict the choice(

o "o'e (-ch re(triction(

o "tandard co',liance and co',atiility with other (y(te'(

o Hardware Li'itation(

o Reliaility2 fa-lt tolerance2 ac8-, re7.

o "ec-rity

6( External &nterface

o All interaction( of the (oftware with ,eo,le2 hardware2 and (w

o U(er interface 'o(t i',ortant

o General re7-ire'ent( of friendline(( (ho-ld e a5oided

o The(e (ho-ld al(o e 5erifiale

o 0pecification ;anguage

• Lang-age (ho-ld (-,,ort de(ired char of the "R"

• =or'al lang-age( are ,reci(e and -na'ig-o-( -t hard

•  Nat-ral lang-age( 'o(tly -(ed2 with (o'e (tr-ct-re for the doc-'ent

<<

Page 23: Vish Docment GTU SE

8/13/2019 Vish Docment GTU SE

http://slidepdf.com/reader/full/vish-docment-gtu-se 23/38

• =or'al lang-age( -(ed for (,ecial feat-re( or in highly critical

(y(te'(

o 0tructure of an 0#0

:. ntrod-ction

:. P-r,o(e 2 the a(ic o/ecti5e of the (y(te'

<. "co,e of what the (y(te' i( to do 2 not to do

?. O5er5iew

<. O5erall de(cri,tion

:. Prod-ct ,er(,ecti5e

<. Prod-ct f-nction(

?. U(er characteri(tic(

B. A((-',tion(

. Con(traint(

?. ",ecific re7-ire'ent(

:. E9ternal interface(

<. =-nctional re7-ire'ent(?. Perfor'ance re7-ire'ent(

B. e(ign con(traint(

. Acce,tale criteria

de(irale to (,ecify thi( -, front.

Thi( (tandardi;ation of the "R" wa( done y EEE.o

=-nctional ",ecification with -(e ca(e(

Re7-ire'ent Analy(i(

<?

Page 24: Vish Docment GTU SE

8/13/2019 Vish Docment GTU SE

http://slidepdf.com/reader/full/vish-docment-gtu-se 24/38

$-ilding the Analy(i( 6odel Cha,ter I

The (oftware re7-ire'ent(2 once elicited and negotiated2 ha5e to e co''-nicated to a n-'er of intere(ted

 ,artie( li8e c-(to'er(2 technical ,eer(2 and other (ta8e holder(. One of the o,tion( for doing thi( i( written

word. The written word i( a wonderf-l 5ehicle for co''-nication2 -t it i( not nece((arily the e(t way tore,re(ent the re7-ire'ent( for co',-ter (oftware. =or that we -(e analy(i( 'odeling. The analy(i( 'odeling

-(e( a co'ination of te9t and diagra''atic for'( to de,ict re7-ire'ent( for data2 f-nction and eha5ior

&ER2 =2 "T+ in a way that i( relati5ely ea(y to -nder(tand2 and 'ore i',ortant2 (traight forward to re5iew

for correctne((2 co',letene(( and con(i(tency.

The analy(i( 'odel i( the fir(t technical re,re(entation of a (y(te'. t i( -ilt y a (oftware engineer2 (o'eti'e(called an analy(t. The ,ri'ary foc-( at analy(i( 'odeling (tage i( on what i( to e done and not how. The

How ,art will co'e d-ring the de(ign (tage. The analy(i( 'odeling i( an iterati5e acti5ity. One ha( to 8ee,

on 'odifying the analy(i( 'odel a( 'ore and 'ore ,rogre(( i( 'ade in the ,ro/ect.

o'ain Analy(i(

There are n-'er of a,,lication( that can e de5elo,ed in a do'ain li8e an8ing2 a5ionic(2 '-lti'edia 5ideoga'e(2 and 'edical de5ice( etc. There wo-ld e lot of f-nction( which will e co''on to 'o(t of the

a,,lication( in a ,artic-lar do'ain and which can e re-(ed once they are de5elo,ed. 3hen one (t-die( a ,artic-lar do'ain to identify (-ch co''on f-nction( it i( called do'ain analy(i(.

Analy(i( 6odeling A,,roache(

A large n-'er of analy(i( 'odeling 'ethod( ha5e een ,ro,o(ed o5er the year(. The two 'ore do'inant one(

are (tr-ct-red analy(i( and o/ect oriented analy(i(. n thi( cha,ter we con(ider (tr-ct-red analy(i(.

"tr-ct-red analy(i( i( a 'odel -ilding acti5ity. Here we a,,ly the analy(i( ,rinci,le( and create data

f-nctional and eha5ioral 'odel( and ,artition the'.

The analy(i( 'odel ha( 'a/or ,art(.

:. ata dictionary . t i( at the core of the analy(i( 'odel. t i( a re,o(itory that contain( de(cri,tion( of all data

ite'( con(-'ed or ,rod-ced y the (oftware.

<. ER or Entity relation(hi, diagra' de,ict( relation(hi,( etween data o/ect(. ER i( the notation -(ed tocond-ct the data 'odeling acti5ity. ata 'odel i( the fir(t 'odel in the (et of 'odel( re7-ired for co',lete

analy(i( 'odel.

?. ata o/ect de(cri,tion ha( the attri-te( of each data o/ect.

B. ata flow diagra' &=+ i( the notation -(ed to cond-ct f-nctional 'odeling % the (econd 'odel. t (er5e(

two ,-r,o(e(&a+ To ,ro5ide an indication of how data are tran(for'ed a( they 'o5e thro-gh the (y(te' and

&+To de,ict the f-nction( that tran(for' the data flow.

. Proce(( ",ecification &P"PEC+ ha( the de(cri,tion of each f-nction ,re(ented in the =.

*. "tate Tran(ition iagra' &"T+ indicate( how the (y(te' eha5e(. t i( the notation -(ed to cond-ct eha5ioral 'odeling % the third 'odel. The "T re,re(ent( the 5ario-( 'ode( &(tate(+ of eha5ior of the

(y(te' and the 'anner in which tran(ition( are 'ade fro' (tate to (tate.

. Control ",ecification &C"PEC+ ha( the infor'ation ao-t the control a(,ect(.

<B

Page 25: Vish Docment GTU SE

8/13/2019 Vish Docment GTU SE

http://slidepdf.com/reader/full/vish-docment-gtu-se 25/38

ata 6odeling

E5ery (oftware ,rod-ct ,roce((e( data and e5ent(. "o it i( 5ery i',ortant to 8now lot of thing( ao-t data. ata

'odeling acti5ity an(wer( a (et of (,ecific 7-e(tion( that hel, yo- in -nder(tanding data.

-e(tion( li8e)

• 3hat are ,ri'ary data o/ect( to e ,roce((edD

• 3hat i( the co',o(ition of each o/ect and what are it( attri-te(D

• 3hat are the relation(hi,( etween different o/ect(D

• 3hat are the relation(hi,( etween the o/ect( and the ,roce((e( that tran(for' the'D

3hat 'ethod doe( data 'odeling -(e to an(wer the(e 7-e(tion(D t -(e( ER which enale( a (oftwareengineer to identify data o/ect( and their relation(hi,( -(ing a gra,hical notation. ER define( all data that are

entered2 (tored2 tran(for'ed and ,rod-ced. ER foc-(e( only on data. t con(ider( data inde,endent of

 ,roce((ing &in ER we are not loo8ing at the ,roce((ing ,art.+

$-t efore we ,re,are ER &i.e. create data 'odel+ and -nder(tand ao-t data we need to e clear ao-t

following ter'inology and conce,t( -(ed in ER)

ata o/ect(.

t i( a re,re(entation of al'o(t any co',o(ite infor'ation &(o'ething which ha( a n-'er of differen

attri-te(+ that '-(t e -nder(tood y the (oftware. 3idth i( not a data o/ect -t di'en(ion &width2 length and

 readth+ i( an o/ect.

A data o/ect can e an e9ternal entity &one that ,rod-ce( or con(-'e( infor'ation+2 a thing &re,ort2 di(,lay+2 an

occ-rrence &tele,hone call+2 an e5ent &alar'+2 a role &(ale(,er(on+2 an organi;ational -nit &Acco-nting de,t.+2 a

 ,lace &wareho-(e+ or a (tr-ct-re &file+.

ata o/ect( are related to one another. "t-dent attend( lect-re( in cla((roo'( gi5en y fac-lty 'e'er(

a,,ear( in e9a' and -(e( an(wer (heet(2 ,re,are( ter' wor8 etc.

ER &and data 'odeling+ foc-(e( only on data i.e. it enca,(-late( only data &which i( different fro' o/ect

oriented analy(i( where an o/ect enca,(-late( data a( well a( algorith'( that wor8 on that data or theo,eration( that we carry o-t on that data.+ "ince there i( no ,roce((ing (,ecified in the data o/ect it can e

re,re(ented a( a tale. The heading( in the tale &'a8e2 'odel2 n-'er2 colo-r2 owner+ reflect attri-te( of

the o/ect. The ody &record(+ re,re(ent( (,ecific in(tance(. ata o/ect CAR. n(tance( 6ar-ti E(tee'2 "antro2

Honda City etc.

Attri-te(

Attri-te( define the ,ro,ertie( of data o/ect(. They can ta8e one of ? characteri(tic(

:. Na'e an in(tance &'a8e2 'odel2 for car+

<. e(crie the in(tance & colo-r2 ody ty,e2 (eating ca,acity+?. 6a8e reference to another in(tance in another tale &owner+

<

Page 26: Vish Docment GTU SE

8/13/2019 Vish Docment GTU SE

http://slidepdf.com/reader/full/vish-docment-gtu-se 26/38

One or 'ore of the attri-te( are defined a( 8ey or identifier to -ni7-ely identify an in(tance. 3hether

(o'ething i( an attri-te or not of a gi5en data o/ect i( deter'ined thro-gh the ,role' conte9t. ata o/ect"t-dent wo-ld ha5e different attri-te( for AE"C" and GU.

Relation(hi,(

ata o/ect( are connected to one another. There are n-'er of different way( in which two (-/ect( can e

connected or there are n-'er of different relation(hi,(. A a(ic connection etween two data o/ect( can e

(hown a( follow()

Relation(hi,( etween two o/ect( can e (hown a( follow(

 

The hori;ontal line( can (how relation(hi,( li8e di(,lay(2 order(2 (toc8(2 (ell(2 ret-rn( etc. The relation(hi, ,air(

are i0directional.

Cardinality

"o far we ha5e defined data o/ect(2 (een their attri-te( and relation(hi,( etween two data o/ect( in general

$-t we al(o need to -nder(tand and re,re(ent how 'any occ-rrence( of one o/ect are related to how 'any

occ-rrence( of another o/ect. Thi( i( called cardinality. t define( the 'a9i'-' n-'er of o/ect( that can ,artici,ate in a relation(hi,. t i( -(-ally e9,re((ed a( one or 'any. Two o/ect( can e related in ? way()

• One0to0one ) An occ-rrence of one o/ect can relate to one and only one occ-rrence of another o/ect. "tate % Chief 6ini(ter2 Co-ntry % Head of co-ntry&P62 Pre(ident2 King2 -een2 dictator+

• One0to0'any ) One occ-rrence of one o/ect can relate to one or 'any occ-rrence( of another o/ect -t an

occ-rrence of (econd o/ect can relate to only one occ-rrence of fir(t o/ect. One college can ha5e 'any

(t-dent( -t one ,artic-lar (t-dent can elong to only one college. 6other % child.

• 6any0to0'any ) An occ-rrence of one o/ect can relate to one4'ore occ-rrence( of another o/ect while an

occ-rrence of the (econd o/ect can al(o relate to one4'ore occ-rrence( of the fir(t o/ect. "t-dent 0 (-/ectUncle 0 Ne,hew.

6odality

Cardinality define( the 'a9i'-' n-'er of occ-rrence( that can ta8e ,art in a relation(hi,. Howe5er e5ery

occ-rrence of one o/ect doe( not ha5e to co',-l(orily relate with an occ-rrence of another o/ect in (,ite ofha5ing relation(hi,. The conce,t that i',le'ent( thi( idea i( called 'odality. 6odality i( : if relation(hi, i(

'andatory. 6odality i( @ if the relation(hi, i( o,tional. "t-dent % Hel, in a (-/ect.

f hel, i( re7-ired there '-(t e a (t-dent. "o 'odality on (t-dent (ide i( one. $-t (o'e (t-dent 'ay not re7-irehel,. "o 'odality on hel, (ide i( ;ero for that (t-dent.

<*

Page 27: Vish Docment GTU SE

8/13/2019 Vish Docment GTU SE

http://slidepdf.com/reader/full/vish-docment-gtu-se 27/38

Entity relation(hi, diagra' &ER+

ata o/ect( and relation(hi,( etween data o/ect( can e gra,hically re,re(ented -(ing Entity relation(hi,

diagra'. Pri'ary co',onent( of ER are data o/ect(2 attri-te(2 relation(hi,( and ty,e indicator(. Thenotation i( a( follow()

ata o/ect( ) Laeled rectangle(.

Relation(hi,( ) Laeled line( connecting o/ect( or dia'ond(.

Ty,e indicator( ) !ertical ar(2 three ,ronged for82 circle for 'odality and cardinality.

=low Oriented 6odeling

$a(ically a co',-ter a(ed (y(te' con5ert( &or tran(for'(+ data into -(ef-l o-t,-t y doing (o'e ,roce((ing

on it. ER hel,( in 'odeling of data that i( getting tran(for'ed. $-t2 we ha5e to do 'odeling of f-nctionality

of the (oftware al(o &what ty,e of ,roce((ing i( done or what ty,e of tran(for'ation ta8e( ,lace or whatf-nction doe( (oftware ,erfor'+. The diagra' that hel,( in doing f-nctional 'odeling i( called ata =low

iagra' &al(o 8nown a( data flow gra,h or -le chart+. t i( a gra,hical re,re(entation that de,ict(

infor'ation flow and ,roce((e( &tran(for'(+ that are a,,lied a( data 'o5e( fro' in,-t to o-t,-t.

Li8e ER = al(o -(e( gra,hical (y'ol(.

A rectangle i( -(ed to re,re(ent an e9ternal entity &e9ternal for (oftware 0 which co-ld e one of the (y(te'ele'ent( li8e hardware2 a ,er(on or another ,rogra' 0 or another (y(te'+ that ,rod-ce( infor'ation for

tran(for'ation or recei5e( infor'ation ,rod-ced y the (oftware.

A circle &(o'eti'e( called -le+ re,re(ent( a ,roce(( or tran(for' that i( a,,lied to data and change( it in

(o'e way &what f-nction the (oftware ,erfor'(+.

An arrow re,re(ent( one or 'ore data ite'( &data ite'( are flowing hence they are arrow(+.

o-le line (how( a data (tore.

= doe( not (-,,ly e9,licit &clear0c-t2 (,ecific+ indication of the (e7-ence of ,roce((ing or conditional logic.

t 'ay e i',licit &-n(aid2 -nder(tood+ -t e9,licit detail( are ta8en care of at the ti'e of de(ign. = i( not a

flowchart. "e7-ence of ,roce((ing will not eco'e clear y loo8ing at =. = ta8e( care of what ty,e of ,roce((ing i( done not when &(e7-ence+ and how &logic+.

= 'ay e -(ed to re,re(ent a (y(te' or (oftware at any le5el of a(traction &generality+ 'eaning there will e n-'er of different le5el( of =. The to, le5el 8nown a( ;ero le5el = &or conte9t 'odel2 f-nda'ental

(y(te' 'odel+ re,re(ent( the entire (oftware ele'ent a( a (ingle -le with in,-t and o-t,-t data indicated y

inco'ing and o-tgoing arrow(2 re(,ecti5ely. =ig-re I. ,age <<.

Additional ,roce((e( &-le(+ and infor'ation flow ,ath( are re,re(ented a( the le5el @ = i( ,artitioned. A

le5el : = 'ay ha5e 0* -le( with interconnecting arrow( &arrow( are data ite'( which flow etween

 ,roce((e(+. =ig-re I.:@ ,age <<I and (lide no :?:A. Each of the -le( in each le5el 'ay e refined to get'ore detail(. $-t the infor'ation flow contin-ity '-(t e 'aintained. n,-t and o-t,-t to each refine'ent '-(t

re'ain (a'e. Thi( i( called alancing.

The ,roce(( ",ecification. &P"PEC+

<

Page 28: Vish Docment GTU SE

8/13/2019 Vish Docment GTU SE

http://slidepdf.com/reader/full/vish-docment-gtu-se 28/38

A -le in a = gra,hically (how( only what ,roce((ing i( done y that ,artic-lar f-nction in general. 3e

need to a-g'ent &enlarge2 e9,and2 add to2 'agnify2 e9tend+ it y gi5ing 5eral de(cri,tion. A ,roce(((,ecification &P"PEC+ can e -(ed to (,ecify the ,roce((ing detail( i',lied y a -le within =. The

P"PEC de(crie( the in,-t to a f-nction2 the algorith' that i( a,,lied to tran(for' the in,-t2 and the o-t,-t that

i( ,rod-ced. t al(o indicate( re(triction( and li'itation( i',o(ed on the ,roce(( &f-nction+2 ,erfor'ancecharacteri(tic( that are rele5ant to the ,roce(( and de(ign con(traint( that infl-ence the way in which the ,roce((

'ay e i',le'ented.

A ,roce(( (,ecification &P"PEC+ can e -(ed to (,ecify the ,roce((ing detail( i',lied y a -le within =at the final le5el of refine'ent. t( content can incl-de narrati5e te9t2 a ,rogra' de(ign lang-age &PL+

de(cri,tion of the ,roce(( algorith'2 'athe'atical e7-ation(2 tale(2 diagra'( and chart(. P"PEC hel,( in

 ,re,aring "R" and (er5e( a( a g-ide for de(ign of the (oftware co',onent. Page <?<. Proce(( P3.

Creating a control flow 'odel

6any (oftware a,,lication( are ti'e de,endent and ,roce(( a( '-ch or 'ore control0oriented infor'ation a(

data. Control oriented infor'ation 'ean( e5ent( &alar' that ,re((-re ha( gone ao5e the (,ecified li'it

o,erator ha( ,re((ed (tart 4 (to, -tton on a co,ier2 the ,a,er tray i( e',ty2 ,a,er ha( /a''ed2 (o'eone ha(o,ened a window+. Real ti'e (y(te'( ha5e to interact with the real world in a ti'e fra'e dictated y the real

world. "o the in,-t 'ay co'e contin-o-(ly and o-t,-t al(o 'ay e generated contin-o-(ly. The nor'anotation -(ed for analy(i( of (oftware (y(te'( doe( not ta8e care of re7-ire'ent( of (-ch (y(te'( &contin-o-(

flow and control+. "o there are e9ten(ion( to thi( notation.

n con5entional = data flow i( (hown y (olid arrow. n thi( e9ten(ion we contin-e with that con5ention -t

the control flow i( (hown y da(hed arrow(. Thi( i( called control flow 'odel.

J-(t li8e P"PEC de(criing the ,roce((ing that ta8e( ,lace on data there i( C"PEC which de(crie( how

control( are eing ,roce((ed.

C"PEC i( -(ed to indicate &:+ how the (oftware eha5e( when an e5ent or control (ignal i( (en(ed and &<+ which

 ,roce((e( are in5o8ed a( a con(e7-ence of the occ-rrence of the e5ent.

$eha5ioral 6odeling

The third 'odel &fir(t two are data and f-nctional+ that i( re7-ired to co',lete the analy(i( 'odel i( called eha5ioral 'odel. Here we try to de,ict the eha5ior of the (y(te' &i.e. how it 'o5e( fro' one (tate to another

(tate+ in gra,hical for'. 3e -(e (tate tran(ition diagra' &"T+ to re,re(ent the eha5ior of the (y(te' i.e

which are all the different (tate( in which the (y(te' can e and which e5ent( ca-(e (y(te' to change it( (tate(.t al(o indicate( what action( are ta8en a( a con(e7-ence of a ,artic-lar e5ent.

Rectangle( re,re(ent (y(te' (tate(. Arrow( re,re(ent tran(ition( etween (tate(. Each arrow i( laeled. The to,

5al-e indicate( the e5ent that ca-(e( the tran(ition to occ-r. The otto' 5al-e indicate( the action that occ-r( a(a con(e7-ence of the e5ent. "tate( do not nece((arily corre(,ond to ,roce((e( on one0to0one a(i(. =or e9a',le

when a ,hotoco,ier i( in the (tate 6a8ing co,ie( act-ally two ,roce((e( &'anage co,ying and ,rod-ce -(er

di(,lay+ are going on. One ,roce(( 8ee,( trac8 of how 'any co,ie( are 'ade and the other ,roce(( interact(with the di(,lay to let the -(er 8now ao-t the ,rogre((. "lide :?BA.

<I

Page 29: Vish Docment GTU SE

8/13/2019 Vish Docment GTU SE

http://slidepdf.com/reader/full/vish-docment-gtu-se 29/38

<

Page 30: Vish Docment GTU SE

8/13/2019 Vish Docment GTU SE

http://slidepdf.com/reader/full/vish-docment-gtu-se 30/38

!hapter <:

esign Engineering

• Once the (te, of analy(i( i( co',leted &i.e. re7-ire'ent( engineering i( done+ we

ha5e to ,erfor' the de(ign acti5ity.

• e(ign i( a 'eaningf-l engineering re,re(entation of (o'ething that i( to e -ilt.

 

• t i( the ,lace where creati5ity r-le(. t i( where c-(to'er re7-ire'ent(2 -(ine((

need( and technical con(ideration( all co'e together in the for'-lation of a

 ,rod-ct or a (y(te'.

• e(ign al(o create( a re,re(entation or 'odel of the (oftware2 -t -nli8e the

analy(i( 'odel that foc-(e( on de(criing re7-ired data &ER+2 f-nction &=+

and eha5ior &"T+2 the de(ign 'odel ,ro5ide( detail ao-t data (tr-ct-re(&dataa(e+2 architect-re2 interface( and co',onent( &,rogra'(+ that are nece((ary

to i',le'ent the (y(te'.

• ER &analy(i( 'odel+ i( nearer to re7-ire'ent( wherea( dataa(e &de(ign 'odel+

i( nearer to i',le'entation.

• There are two 'a/or ,ha(e( of de(ign ,roce((.

• i=ersification i( the ac7-i(ition of the raw 'aterial( of de(ign e.g. de(ign

of 7-e(tion ,a,er &all ,o((ile 7-e(tion(+2 de(ign of ho-(e &-ilding

'aterial2 fi9t-re(+ etc.

• !on=ergence i( the grad-al eli'ination of all -t one config-ration of

co',onent(.

• There are n-'er of de(ign 'ethod( a5ailale -t 'ore or le(( (a'e ,rinci,le( and

conce,t( are a,,licale in all.

?@

Page 31: Vish Docment GTU SE

8/13/2019 Vish Docment GTU SE

http://slidepdf.com/reader/full/vish-docment-gtu-se 31/38

0oftware esign within the context of software Engineering

• e(ign i( the fir(t technical acti5ity &other two are coding and te(ting+ re7-ired to

 -ild and 5erify the (oftware.

• t (it( at the technical 8ernel of (oftware engineering.

• Each of the ele'ent( of the analy(i( 'odel ,ro5ide( infor'ation that i( nece((ary

to create the fo-r de(ign 'odel( re7-ired for a co',lete (,ecification of de(ign.

• The fo-r de(ign 'odel( are data2 architect-re2 interface and co',onent.

• nfor'ation flow( fro' different ele'ent( of analy(i( 'odel to different 'odel( ofde(ign.

• The flow of infor'ation i( a( follow( )

• ATA E"GN)

• The data de(ign tran(for'( the infor'ation do'ain 'odel created

d-ring analy(i( into the data (tr-ct-re( that will e re7-ired to

i',le'ent the (oftware.

?:

Page 32: Vish Docment GTU SE

8/13/2019 Vish Docment GTU SE

http://slidepdf.com/reader/full/vish-docment-gtu-se 32/38

• ER and data dictionary ,ro5ide the a(i( for data de(ign.

• ARCHTECTURAL E"GN )

• The architect-ral de(ign define( the relation(hi, etween 'a/or

(tr-ct-ral ele'ent( of the (oftware.

• t can e deri5ed fro' the (y(te' (,ecification2 the analy(i( 'odel

and the interaction of (-(y(te'( defined within the analy(i( 'odel.

• NTER=ACE E"GN )

• The nterface de(ign de(crie( how the (oftware co''-nicate( within

it(elf2 with (y(te'( that intero,erate with it2 and with h-'an( who -(e

it.

• nterface i( re7-ired when (o'ething flow(.

• Hence2 = and C= ,ro5ide '-ch of the infor'ation re7-ired for

interface de(ign.

• CO6PONENT LE!EL E"GN)

• The co',onent le5el de(ign tran(for'( (tr-ct-ral ele'ent( of the

(oftware architect-re into ,roced-ral de(cri,tion of (oftware

co',onent(.

• P"PEC2 C"PEC and "T ,ro5ide infor'ation for co',onent de(ign.

?<

Page 33: Vish Docment GTU SE

8/13/2019 Vish Docment GTU SE

http://slidepdf.com/reader/full/vish-docment-gtu-se 33/38

esign Process and esign 3uality

• e(ign acti5ity i( e9tre'ely i',ortant in (oftware engineering a( the 7-ality of

(oftware &and hence -lti'ately c-(to'er (ati(faction+ de,end( to a large e9tent on

thi( acti5ity.

f 7-ality of de(ign i( good then the 7-ality of (oftware will e good.• "oftware de(ign i( an iterati5e ,roce((.

• nitially the de(ign i( re,re(ented at a high le5el of a(traction &generali;ation

conce,t2 idea+.

• A( de(ign iteration( occ-r2 (-(e7-ent refine'ent lead( to lower le5el of

a(traction.

• "ince de(ign ha( direct i',act on 7-ality of the final (oftware we ha5e to

contin-o-(ly a((e(( the 7-ality thro-gh =TR( or wal8thro-gh(.

• 3e need (o'e g-ideline( or characteri(tic( to e5al-ate the de(ign.

• The characteristics yo- can loo8 for e5al-ation are)• 3hether the de(ign ta8e( care of all e9,licit and i',licit re7-ire'ent( or

not.

• 3hether it i( readale and -nder(tandale to tho(e who are going to generate

code a(ed on thi(2 te(t the (oftware and (-,,ort the (oftware.

• 3hether it gi5e( co',lete ,ict-re of the (oftware &i.e. addre((e( data

f-nctional and eha5ioral do'ain(+ fro' an i',le'entation ,oint of 5iew.

• 3uality %ttributes

• #o- can al(o chec8 the de(ign 'odel for following attri-te( (-gge(ted y

Hewlett Pac8ard to e5al-ate the 7-ality of the de(ign 'odel.

• They are 8nown y their acrony' =URP".

• )unctionality) e5al-ating the feat-re( (et and ca,ailitie( of the

 ,rogra'

• 5sability) h-'an factor(2 o5erall con(i(tency2 doc-'entation

• #eliability: 'ea(-ring the fre7-ency and (e5erity of fail-re2 the

acc-racy of o-t,-t re(-lt(

Performance) (,eed2 re(,on(e ti'e2 re(o-rce con(-',tionthro-gh,-t2 efficiency

• 0upportability) aility to e9tend the ,rogra'&e9ten(iility

ada,taility2'aintainaility+

esign concepts

??

Page 34: Vish Docment GTU SE

8/13/2019 Vish Docment GTU SE

http://slidepdf.com/reader/full/vish-docment-gtu-se 34/38

A(traction2 architect-re2 'od-larity2 infor'ation hiding2 f-nctional inde,endence

refine'ent2 refactoring

:. %bstraction&idea2 tho-ght2 generality+

• A(traction i( one of the f-nda'ental way( that we a( h-'an( co,e -, with

co',le9ity.•  t i( the idea of loo8ing at a ,role' and the (ol-tion at the highe(t le5el

-(ing general ter'inology and then 'o5ing down (lowly toward( the

i',le'entation detail(.

• The different le5el( at which we (ee the ,role' and (ol-tion are called

different le5el( of a(traction(.

• 3e go to different le5el( of a(traction y the ,roce(( of refine'ent.

• A( we 'o5e thro-gh different le5el( of a(traction we wor8 to create

 ,roced-ral and data a(traction(.

•A procedural abstraction  i( a na'ed (e7-ence of in(tr-ction( that ha( a(,ecific and li'ited f-nction.

• =or example Calc-late (alary can e refined into get attendance data

calc-late net a(ic2 calc-late net A2 calc-late net HRA2 calc-late

gro((2 calc-late P=2 calc-late ,rofe((ional ta92 calc-late loan

ded-ction2 calc-late total ded-ction2 calc-late net (alary etc. to get a

lower le5el of a(traction.

• Then each of the' can &for e9a',le how to calc-late net a(ic+ e

refined f-rther to get one 'ore lower le5el of a(traction.

ata abstraction i( a na'ed collection of data that de(crie( a data o/ect$y refining the data o/ect we get to the lower le5el of data a(traction.

• =or example when yo- refine a data o/ect called door yo- get it(

attri-te( li8e door ty,e2 (wing direction2 weight2 di'en(ion( etc. i.e

yo- are going to lower le5el of a(traction.

"( #efinement

• Refine'ent i( the ,roce(( that gi5e( yo- different le5el( of a(traction(.

t i( act-ally a ,roce(( of elaoration &e9,lanation+. &Elaorate e9,lain2(,ecify2 de5elo,2 i',ro5e+.

• Refine'ent ca-(e( the de(igner to elaorate on the original (tate'ent

 ,ro5iding 'ore and 'ore detail( a( each (-cce((i5e refine'ent occ-r(.

• A(traction and refine'ent are co',le'entary ,roce((e(.

/( >odularity

?B

Page 35: Vish Docment GTU SE

8/13/2019 Vish Docment GTU SE

http://slidepdf.com/reader/full/vish-docment-gtu-se 35/38

• 6od-larity i( the conce,t of rea8ing -, a ,role' into (e,arately na'ed

and addre((ale co',onent( &'od-le(+ that can e integrated to (ati(fy the

 ,role' re7-ire'ent.

• t i( alway( ea(ier to (ol5e ('aller co',onent( of a ,role' and then

integrate the co',onent( to get the (ol-tion to the ,role'.

• f there are two ,role'( ,: and ,< with co',le9ity of ,: greater than that

of ,< i.e. c&,:+ c&,<+ then the effort re7-ired to (ol5e the ,role' ,: will e 'ore than that of ,< i.e. E&,:+ E&,<+.

• f the(e two ,role'( are co'ined to 'a8e one ,role' ,: V ,< then

 ,eo,le feel that the co',le9ity of co'ined ,role' i( 'ore than the (-'

of indi5id-al co',le9itie( i.e. c&,: V ,<+ c&,:+ V c&,<+.

• Hence the (a'e r-le i( a,,lied for effort re7-ire'ent. E&,: V ,<+ E&,:+ V

E&,<+.

• "o ,eo,le li8e to di5ide the ,role' and then con7-er it.

• $-t how '-ch di5i(ion (ho-ld e thereD

•$rea8ing -, the ,role' into ('aller and ('aller ,art( will 'a8e the effortre7-ired for e5ery ,art 5ery ('all -t the effort re7-ired to integrate the

 ,art( will (tart increa(ing a( n-'er of ,art( grow(.

• There i( a total co(t or effort c-r5e that can hel, -( in deciding the ideal

n-'er of 'od-le(.

6( %rchitecture

• t i( the hierarchical (tr-ct-re of ,rogra' co',onent( &'od-le(+2 the 'anner

in which the(e co',onent( interact and the (tr-ct-re of data that are -(ed y

the co',onent(.

7( &nformation iding

?

Page 36: Vish Docment GTU SE

8/13/2019 Vish Docment GTU SE

http://slidepdf.com/reader/full/vish-docment-gtu-se 36/38

• 6ean( 'od-le( (ho-ld e (,ecified and de(igned (o that infor'ation

&,roced-re and data+ contained within one 'od-le i( inacce((ile &not

acce((ile2 not a5ailale2 hidden fro'+ to other 'od-le( that ha5e no need

for (-ch infor'ation.

• f yo- -(e the ,rinci,le of infor'ation hiding then the ,ro,agation of (ide

effect( of change( 4 error( will e le(( and yo-r (oftware 7-ality will e

 etter.• &Partitioning of oo8( in the lirary (ho-ld e (-ch that oo8( re7-ired for

only $CA are hidden fro' the 5iew of 6CA (t-dent( and 5ice 5er(a.+

8( )unctional &ndependence

• E5eryody -nder(tand( the i',ortance of 'od-larity in general and hence

trie( to (ol5e e5ery ,role' y rea8ing it -, into n-'er of 'od-le(.

• A 'od-lar de(ign red-ce( co',le9ity2 facilitate( change and re(-lt( in

ea(ier i',le'entation y enco-raging ,arallel de5elo,'ent of different

 ,art( of the (y(te'.

• 3hen a (y(te' i( 'od-lari;ed the 'od-le( (ho-ld e f-nctionally

inde,endent.

• Thi( f-nctional inde,endence can e achie5ed y de5elo,ing 'od-le( with

(ingle 'inded f-nction and a5er(ion &di(li8e+ to e9ce((i5e interaction

with other 'od-le(.

• n other word( each 'od-le (ho-ld addre(( a (,ecific (-f-nction of

re7-ire'ent( and (ho-ld ha5e a (i',le interface &'eaning flow of

infor'ation (ho-ld e le((+.

• nde,endent 'od-le( are ea(ier to de5elo,4'aintain4te(t and error

 ,ro,agation i( red-ced.

• =-nctional inde,endence i( a 8ey to good de(ign and de(ign i( the 8ey to

(oftware 7-ality.

• How do yo- 'ea(-re f-nctional inde,endenceD There are two 7-alitati5e

criteria cohe(ion and co-,ling.

• Cohe(ion i( a 'ea(-re of relati5e f-nctional (trength of a 'od-le.

• Co-,ling i( a 'ea(-re of the relati5e interde,endence a'ong 'od-le(.

Cohe(ion

Cohe(ion &-nity2 hanging together+ i( a nat-ral e9ten(ion of the infor'ation hiding conce,t. A

cohe(i5e 'od-le ,erfor'( a (ingle ta(8 within a (oftware ,roced-re2 re7-iring little interaction

with ,roced-re( eing ,erfor'ed in other ,art( of a ,rogra'. A cohe(i5e 'od-le (ho-ld ideally

do /-(t one thing.

?*

Page 37: Vish Docment GTU SE

8/13/2019 Vish Docment GTU SE

http://slidepdf.com/reader/full/vish-docment-gtu-se 37/38

&Teaching tea' for 6CA (ho-ld e cohe(i5e i.e. (ho-ld not teach $CA (-/ect( or teach at

other in(tit-tion( or do (o'ething el(e. 6CA teaching tea' i( hidden fro' $CA (t-dent(.+

Co-,ling

Co-,ling i( a 'ea(-re of interconnection a'ong 'od-le( in a (oftware (tr-ct-re. n (oftware

de(ign we try for lowe(t ,o((ile co-,ling. "i',le connecti5ity a'ong 'od-le( re(-lt( in

(oftware that i( ea(ier to -nder(tand and le(( ,rone to a ri,,le effect2 ca-(ed when error(occ-r at one location and ,ro,agate thro-gh a (y(te'.

Refactoring

t i( a reorgani;ation techni7-e that (i',lifie( the de(ign &or code+ of a co',onent witho-t

changing it( f-nction or eha5ior. Another definition i( refactoring i( the ,roce(( of changing a

(oftware (y(te' in (-ch a way that it doe( not alter the e9ternal eha5ior of the co',onent yet

i',ro5e( it( internal wor8ing. $rea8ing -, of a non0cohe(i5e co',onent into < or ? cohe(i5e

 ,art(.

The e(ign 'odel

The de(ign 'odel i( (hown a( a ,yra'id which i( an e9tre'ely (tale o/ect with wide a(e

and a low centre of gra5ity. At the a(e we ha5e data de(ign and in the 'iddle we ha5e

architect-ral de(ign and interface de(ign. At the to, we ha5e co',onent0le5el de(ign. "o we

(ho-ld (tart with (olid data de(ign (-,,orted y good architect-ral de(ign and interface de(ign

(o that 'inor change( to the a(e or 'iddle do not ha5e a 5ery ad5er(e effect on the (oftware. f

the a(e i( (trong the (tr-ct-re i( le(( li8ely to to,,le.

e(ign oc-'entation &Not in (ylla-(+

The la(t (te, in de(ign acti5ity i( the ,re,aration of de(ign (,ecification.

t( content( are a( follow()

3e (tart with the "co,e of the de(ign effort. The infor'ation i( deri5ed fro' (y(te'

(,ecification and "R" &"y(te' re7-ire'ent (,ecification+.

 Ne9t i( data de(ign where dataa(e (tr-ct-re2 any e9ternal file (tr-ct-re( and internal data

(tr-ct-re( are defined.

Architect-ral de(ign indicate( how the ,rogra' architect-re ha( een deri5ed. t al(o contain(

(tr-ct-re chart( to (how 'od-lar hierarchy.

?

Page 38: Vish Docment GTU SE

8/13/2019 Vish Docment GTU SE

http://slidepdf.com/reader/full/vish-docment-gtu-se 38/38

The de(ign of internal and e9ternal ,rogra' interface( i( re,re(ented and a detailed de(ign of

the h-'an 4 'achine interface i( de(cried.

Co',onent( % (e,arately addre((ale ele'ent( of (oftware (-ch a( (-ro-tine(2 f-nction( or

 ,roced-re( % are initially de(cried with an Engli(h li8e ,roce((ing narrati5e.

The de(ign (,ecification contain( a re7-ire'ent( cro((0 reference. There are two ,-r,o(e( % &:+

to e(tali(h that all re7-ire'ent( are (ati(fied and &<+ to indicate that which co',onent( arecritical to the i',le'entation of (,ecific re7-ire'ent(.

The fir(t (tage in the de5elo,'ent of te(t doc-'entation i( al(o contained in the de(ign

doc-'ent. f detailed (,ecification of te(t ,roced-re( occ-r( in ,arallel then thi( (ection i(

deleted fro' the de(ign (,ecification.

Thi( (ection will al(o contain the a,,roach that will e -(ed to tran(fer (oftware to c-(to'er

(ite.

The final (ection contain( (-,,le'entary data. Algorith' de(cri,tion(2 alternati5e ,roced-re(2

ta-lar data2 e9cer,t( fro' other doc-'ent( etc. are ,re(ented a( a (,ecial note. t 'ay e

ad5i(ale to de5elo, ,reli'inary o,eration(4 in(tallation 'an-al and incl-de it a( an a,,endi9

to the de(ign doc-'ent.