SIM4307 Object-oriented analysis & design CHP 6 :OO esign Process
!re!ared by "or#ayati Mo#d$%li&'s(t)*+!),
CHP 6 : OO Design Process OBJECTIVES : At the end of this chapter, stdents sho!d "e a"!e to Define and nderstand the o"#ect$oriented design process E%p!ain the o"#ect$oriented design r!es & SIM4307 Object-oriented analysis & design CHP 6 :OO esign Process !re!ared by "or#ayati Mo#d$%li&'s(t)*+!), Introdction 'ain focs of the ana!(sis phase of S) de*e!op+ent ,-hat needs to "e done. O"#ects disco*ered dring ana!(sis ser*e as the fra+e-or/ for design C!ass0s attri"tes, +ethods, and associations identified dring ana!(sis +st "e designed for i+p!e+entation as a data t(pe e%pressed in the i+p!e+entation !angage Dring the design phase, -e e!e*ate the +ode! into !ogica! entities, so+e of -hich +ight re!ate +ore to the co+pter do+ain 1sch as ser interface, or the access !a(er2 than the rea! -or!d or the ph(sica! do+ain 1sch as peop!e or e+p!o(ees23 Start thin/ing ho- to acta!!( i+p!e+ent the pro"!e+ in a progra+3 The goa! to design the c!asses that -e need to i+p!e+ent the s(ste+3 4 SIM4307 Object-oriented analysis & design CHP 6 :OO esign Process !re!ared by "or#ayati Mo#d$%li&'s(t)*+!), Design is a"ot prodcing a so!tion that +eets the re5ire+ents that ha*e "een specified dring ana!(sis3 Ana!(sis Verss Design OO design process in the nified approach are as "e!o-, 6igre & : 7 Ana!(sis : o -oc+s on +nderstanding t#e !roble) o Ideali.ed design o /e#a0ior o Syste) str+ct+re o -+nctional re1+ire)ents o % s)all Design: o -oc+s on +nderstanding t#e sol+tion o O!erations & attrib+tes o !er'or)ance o close to real code o object li'ecycles o non-'+nctional 8efine 9': c!ass diagra+s App!( design a%io+s SIM4307 Object-oriented analysis & design CHP 6 :OO esign Process !re!ared by "or#ayati Mo#d$%li&'s(t)*+!), 6igre & : OO Design : OO Design A%io+s An a%io+ ; is a fnda+enta! trth that a!-a(s is o"ser*ed to "e *a!id and for -hich there is no contere%a+p!e or e%ception3 A theore+ ; is a proposition that +a( not "e se!f$ e*ident "t can "e pro*en fro+ accepted a%io+s3 Therefore, is e5i*a!ent to a !a- or princip!e3 < Contine testing Design c!asses, +ethods, attri"tes, = associations Design *ie- >access !a(ers = protot(pe 9ser satisfaction = sa"i!it( tests "ased on se$ cases SIM4307 Object-oriented analysis & design CHP 6 :OO esign Process !re!ared by "or#ayati Mo#d$%li&'s(t)*+!), A theore+ is *a!id if its referent a%io+s = dedcti*e steps are *a!id3 A coro!!ar( ; is a proposition that fo!!o-s fro+ an a%io+ or another proposition that has "een pro*en Sh0s design a%io+s to OOD : A%io+ & : 2#e inde!endence a3io)3 'aintain the independence of co+ponents A%io+ 4 : 2#e in'or)ation a3io)3 'ini+i?e the infor+ation content of the design3 A%io+ & states that, dring the design process, as -e go fro+ re5ire+ent and se$case to a s(ste+ co+ponent, each co+ponent +st satisf( that re5ire+ent, -ithot affecting other re5ire+ents A%io+ 4 concerned -ith si+p!icit(3 8e!( on a genera! r!e /no-n as Occa)4s ra.or$ @ SIM4307 Object-oriented analysis & design CHP 6 :OO esign Process !re!ared by "or#ayati Mo#d$%li&'s(t)*+!), Occa)4s ra?or r!e of si+p!icit( in OO ter+s : 2#e best designs +s+ally in0ol0e t#e least co)!le3 code b+t not necessarily t#e 'e5est n+)ber o' classes or )et#ods$ Mini)i.ing co)!le3ity s#o+ld be t#e goal* beca+se t#at !rod+ces t#e )ost easily )aintained and en#anced a!!lication$ In an object- oriented syste)* t#e best 5ay to )ini)i.e co)!le3ity is to +se in#eritance and t#e syste)4s b+ilt-in classes and to add as little as !ossible to 5#at already is t#ere$ Coro!!aries 'a( "e ca!!ed Design rules, and a!! are deri*ed fro+ the t-o "asic a%io+s : The origin of co!!aries as sho-n in figre 43 Coro!!aries &,4 and 7 are fro+ "oth a%io+s, -hereas coro!!ar( < is fro+ a%io+ & and coro!!aries @ = 6 are fro+ a%io+ 43 6 SIM4307 Object-oriented analysis & design CHP 6 :OO esign Process !re!ared by "or#ayati Mo#d$%li&'s(t)*+!), 6igre 4 : Origin of coro!!aries3 Corollary 1 : Uncoupled design with less information content3 Hig#ly co#esi0e objects can i)!ro0e co+!ling beca+se only a )ini)al a)o+nt o' essential in'or)ation need be !assed bet5een objects Main goal )a3i)i.e objects co#esi0eness a)ong objects & s5 co)!onents to i)!ro0e co+!ling A Coro!!ar( < A%io+ & A%io+ 4 Coro!!ar( 6 Coro!!ar( @ Coro!!ar( 7 Coro!!ar( 4 Coro!!ar( & SIM4307 Object-oriented analysis & design CHP 6 :OO esign Process !re!ared by "or#ayati Mo#d$%li&'s(t)*+!), Strong co+!ling a)ong objects co)!licates a syste)* since t#e class is #arder to +nderstand or #ig#ly interrelated 5it# ot#er classes$ egree or strengt# o' co+!ling bet5een t5o co)!onents is )eas+red by t#e a)o+nt & co)!le3ity o' in'or)ation trans)itted bet5een t#e) OO design #as 6 ty!es o' co+!ling : Interaction co+!ling and In#eritance co+!ling Interaction co+!ling t#e a)o+nt & co)!le3ity o' )essages bet5een co)!onents$ Desira"!e to ha*e a !itt!e interaction3 'ini+i?e the n+"er of +essages sent = recei*ed "( an o"#ect T(pes of cop!ing a+ong o"#ects or co+ponents , refer figre 7 3 B SIM4307 Object-oriented analysis & design CHP 6 :OO esign Process !re!ared by "or#ayati Mo#d$%li&'s(t)*+!), 6igre 7 : T(pes of Cop!ing Degree of cop!ing Ca+e Description Ver( High Content Cop!ing Connection in*o!*es direct reference to attri"tes or +ethods of another o"#ect High Co++on Cop!ing Connection in*o!*es t-o o"#ects accessing a Dg!o"a! data space0, for "oth to read = -rite 'edi+ Contro! Cop!ing Connection in*o!*es e%p!icit contro! of the processing !ogic of one o"#ect "( another :o- Sta+p cop!ing Connection in*o!*es passing an aggregate data strctre to another o"#ect, -hich ses on!( a portion of the co+ponents of the data strctre Ver( !o- Data cop!ing Connection in*o!*es either si+p!e data ite+s or aggregate strctres a!! of -hose e!e+ents are sed "( the rece*ing o"#ect3 1 this is the goa! of an architectra! design2 E SIM4307 Object-oriented analysis & design CHP 6 :OO esign Process !re!ared by "or#ayati Mo#d$%li&'s(t)*+!), In#eritance co+!ling co+!ling bet5een s+!er- and s+bclasses A s"c!ass is cop!ed to its sperc!ass in ter+s of attri"tes = +ethods High inheritance cop!ing is desira"!e Each specia!i?ation c!ass sho!d not inherit !ots of nre!ated = nneeded +ethods = attri"tes "eed to consider interaction 5it#in a single object or s5 co)!onent Co#esion Cohesion ref!ects the0sing!e$prposeness0 of an o"#ect 1 see coro!!aries 4 = 7 2 'ethod cohesion a +ethod sho!d carr( on!( one fnction3 A +ethod carries +!tip!e fnctions is ndesira"!e &F SIM4307 Object-oriented analysis & design CHP 6 :OO esign Process !re!ared by "or#ayati Mo#d$%li&'s(t)*+!), Corollary 2 : Single purpose3 7ac# class )+st #a0e a !+r!ose & clearly de'ined 7ac# )et#od )+st !ro0ide only one ser0ice Corollary 3 : Large number of simple classes3 8ee!ing t#e classes si)!le allo5s re+sability % class t#at easily can be +nderstood and re+sed 9or in#erited: contrib+tes to t#e o0erall syste) Co)!le3 & !oorly designed class +s+ally cannot be re+sed ;+ideline 2#e s)aller are yo+r classes* t#e better are yo+r c#ances o' re+sing t#e) in ot#er !rojects$ <arge & co)!le3 classes are too s!eciali.ed to be re+sed 2#e e)!#asis OO !laces on enca!s+lation* )od+lari.ation* and !oly)or!#is) s+ggests re+se rat#er t#an b+ilding ane5 Pri)ary bene'it o' s5 re+sability Hig#er !r!d+cti0ity Corollary 4 : Strong mapping3 && SIM4307 Object-oriented analysis & design CHP 6 :OO esign Process !re!ared by "or#ayati Mo#d$%li&'s(t)*+!), 2#ere )+st be a strong association bet5een t#e analysis4s object and design4s object OO% and OO are based on t#e sa)e )odel %s t#e )odel !rogresses 'ro) analysis to i)!le)entation* )ore detailed is added Corollary : Standardi!ation3 Pro)ote standardi.ation by designing interc#angeable co)!onents and re+sing e3isting classes or co)!onents 2#e conce!t o' design !atterns )ig#t !ro0ide a 5ay to ca!t+re t#e design (no5ledge* doc+)ent it* and store it in a re!ository t#at can be s#ared and re+sed in di''erent a!!lications Corollary " : Design with inheritance3 Co))on be#a0ior 9)et#ods: )+st be )o0ed to s+!erclasses$ 2#e s+!erclass-s+bclass str+ct+re )+st )a(e logical sense &4 SIM4307 Object-oriented analysis & design CHP 6 :OO esign Process !re!ared by "or#ayati Mo#d$%li&'s(t)*+!), Design Patterns Pro*ides a sche+e for refining the s"s(ste+s or co+ponents of a s- s(ste+ or the re!ationships a+ong the+ Are de*ices that a!!o- s(ste+s to share /no-!edge a"ot their design, "( descri"ing co++on!( recrring strctres of co++nicating co+ponents that so!*e a genera! design pro"!e+ -ithin a partic!ar conte%t The +ain idea to pro*ide doc+entation to he!p categori?e = co++nicate a"ot so!tions to recrring pro"!e+s The pattern has a na+e to faci!itate discssion and the infor+ation it represents #eferences : /a#ra)i* %$9=>>>:$ Object Oriented Syste)s e0elo!)ent* +sing t#e +ni'ied )odeling lang+age* Mc;ra5-Hill &7 SIM4307 Object-oriented analysis & design CHP 6 :OO esign Process !re!ared by "or#ayati Mo#d$%li&'s(t)*+!), Object Oriented %nalysis and esign +sing ?M<* by @ational So't5are Cor!oration 96006: &<
The One Time Passcode (OTP) Is An Authentication Method For Mobile Devices (Smart Phones and Tablets) - OTP Should Be Used When A Corporate Laptop Is Not