1he followlng flgure shows Lhe ob[ecL orlenLed process model lL ls slmllar Lo Lhe convenLlonal sofLware englneerlng model buL lL ls ln conLexL of ob[ecL orlenLed concepLs
1he CC process moves Lhrough an evoluLlonary splral LhaL sLarLs wlLh cusLomer communlcaLlon 1he problem domaln ls dened and LhaL baslc problem classes are ldenLled lannlng and rlsk analysls esLabllsh a foundaLlon for Lhe CC pro[ecL plan 1he Lechnlcal work assoclaLed wlLh CC sofLware englneerlng follows Lhe lLeraLlve paLh shown ln Lhe shaded box CC sofLware englneerlng emphaslzes reuse 1herefore classes are looked up" ln a llbrary (of exlsLlng CC classes) before Lhey are bullL When a class cannoL be found ln Lhe llbrary Lhe sofLware englneer applles ob[ecLorlenLed analysls (CCA) ob[ecLorlenLed deslgn (CCu) ob[ecLorlenLed programmlng (CC) and ob[ecLorlenLed LesLlng (CC1) Lo creaLe Lhe class and Lhe ob[ecLs derlved from Lhe class 1he new class ls Lhen puL lnLo Lhe llbrary so LhaL lL may be reused ln Lhe fuLure
Ub|ect oriented concepts ln Lhls we have Lo be famlllar wlLh Lhe followlng concepLs 1 lass 2 Cb[ecLs 3 ALLrlbuLes 4 MeLhods servlces operaLlons 3 Messages 6 lnherlLance olymorphlsm LncapsulaLlon
dentifying tbe elements in of an ob|ect model 1he elemenLs of Lhe ob[ecL model are classes and ob[ecLs aLLrlbuLes operaLlons and messages 1he problem ls Lo ldenLlfy Lhese elemenLs acLual problem . dentifying classes and ob|ects: We can begln Lo ldenLlfy ob[ecLs by examlnlng Lhe problem sLaLemenL or by performlng a grammaLlcal parse on Lhe processlng narraLlve for Lhe sysLem Lo be bullL Cb[ecLs are deLermlned by underllnlng each noun or noun clause and enLerlng lL ln a slmple Lable Synonyms should be noLed lf Lhe ob[ecL ls requlred Lo lmplemenL a soluLlon Lhen lL ls parL of Lhe soluLlon space oLherwlse lf an ob[ecL ls necessary only Lo descrlbe a soluLlon lL ls parL of Lhe problem space
As shown ln flgure ob[ecL can be - xterno/ entities (eg oLher sysLems devlces people) LhaL produce or consume lnformaLlon Lo be used by a compuLerbased sysLem - @inqs (eg reporLs dlsplays leLLers slgnals) LhaL are parL of Lhe lnformaLlon domaln for Lhe problem - nnrrennes or events (eg a properLy Lransfer or Lhe compleLlon of a serles of roboL movemenLs) LhaL occur wlLhln Lhe conLexL of sysLem operaLlon - /es (eg manager englneer salesperson) played by people who lnLeracL wlLh Lhe sysLem - rqonitotino/ nits (eg dlvlslon group Leam) LhaL are relevanL Lo an appllcaLlon - 9/ones (eg manufacLurlng oor or loadlng dock) LhaL esLabllsh Lhe conLexL of Lhe problem and Lhe overall funcLlon of Lhe sysLem - trntres (eg sensors fourwheeled vehlcles or compuLers) LhaL dene a class of ob[ecLs or ln Lhe exLreme relaLed classes of ob[ecLs
onslder Lhe sofe bome secotlty system example
$,10420 soflvaio onalIos lho honoovnoi lo configuio lho socuiily syslon vhon il is inslaIIod, nonilois aII sonsois connoclod lo lho socuiily syslon, and inloiacls vilh lho honoovnoi lhiough a koypad and funclion koys conlainod in lho $,10420 conlioI panoI Duiing inslaIIalion, lho $,10420 conlioI panoI is usod lo "piogian" and conhguio lho syslon. Lach sonsoi is assignod a nunloi and lypo, a nasloi passvoid is piogiannod foi aining and disaining lho syslon, and loIophono nunloi(s) aio inpul foi diaIing vhon a sonsoi ovonl occuis. Whon a sonsoi ovonl is sonsod ly lho soflvaio, il iings an audilIo aIain allachod lo lho syslon. Afloi a doIay lino lhal is spocihod ly lho honoovnoi duiing syslon conhguialion aclivilios, lho soflvaio diaIs a loIophono nunloi of a noniloiing soivico, piovidos infoinalion aloul lho Iocalion, iopoiling and lho naluio of lho ovonl lhal has loon doloclod. Thonunloi viII lo iodiaIod ovoiy 2O soconds unliI loIophono connoclion is ollainod. AII inloiaclion vilh $,10420is nanagod ly a usoi-inloiaclion sulsyslon lhal ioads inpul piovidod lhiough lho koypad and funclion koys, dispIays pionpling nossagos on lho LCD dispIay, dispIays syslon slalus infoinalion on lho LCD dispIay. Koyloaid inloiaclion lakos lho foIIoving foin . . .
LxLracLlng Lhe nouns we can propose a number of poLenLlal ob[ecLs
1hese poLenLlal ob[ecLs may or may noL be lnclude ln analysls lollowlng selecLlon crlLerla can be used for lncluslon/excluslon of poLenLlal ob[ecL ln analysls model keta|ned |nformat|on 1he poLenLlal ob[ecL wlll be useful durlng analysls only lf lnformaLlon abouL lL musL be remembered so LhaL Lhe sysLem can funcLlon 2 Needed serv|ces 1he poLenLlal ob[ecL musL have a seL of ldenLlable operaLlons LhaL can change Lhe value of lLs aLLrlbuLes ln some way 3 Mu|t|p|e attr|butes uurlng requlremenL analysls Lhe focus should be on ma[or lnformaLlon an ob[ecL wlLh a slngle aLLrlbuLe may ln facL be useful durlng deslgn buL ls probably beLLer represenLed as an aLLrlbuLe of anoLher ob[ecL durlng Lhe analysls acLlvlLy 4 Common attr|butes A seL of aLLrlbuLes can be dened for Lhe poLenLlal ob[ecL and Lhese aLLrlbuLes apply Lo all occurrences of Lhe ob[ecL S Common operat|ons A seL of operaLlons can be dened for Lhe poLenLlal ob[ecL and Lhese operaLlons apply Lo all occurrences of Lhe ob[ecL 6 Lssent|a| requ|rements LxLernal enLlLles LhaL appear ln Lhe problem space and produce or consume lnformaLlon essenLlal Lo Lhe operaLlon of any soluLlon for Lhe sysLem wlll almosL always be dened as ob[ecLs ln Lhe requlremenLs model
1o be consldered a leglLlmaLe ob[ecL for lncluslon ln Lhe requlremenLs model a poLenLlal ob[ecL should saLlsfy all (or almosL all) of Lhese characLerlsLlcs 1he llsL of poLenLlal sofebome ob[ecLs are
. Specifying Attributes ALLrlbuLes descrlbe an ob[ecL LhaL has been selecLed for lncluslon ln Lhe analysls model ln essence lL ls Lhe aLLrlbuLes LhaL dene Lhe ob[ecLLhaL clarlfy whaL ls meanL by Lhe ob[ecL ln Lhe conLexL of Lhe problem space lor example lf we were Lo bulld a sysLem LhaL Lracks baseball sLaLlsLlcs for professlonal baseball players Lhe aLLrlbuLes of Lhe ob[ecL player would be qulLe dlfferenL Lhan Lhe aLLrlbuLes of Lhe same ob[ecL when lL ls used ln Lhe conLexL of Lhe professlonal baseball penslon sysLem ln Lhe former aLLrlbuLes such as name poslLlon baLLlng average eldlng percenLage years played and games played mlghL be relevanL lor Lhe laLLer some of Lhese aLLrlbuLes would be meanlngfulbuL oLhers would be replaced (or augmenLed) by aLLrlbuLes llke average salary credlL Loward full vesLlng penslon plan opLlons chosen malllng address and Lhe llke 1o develop a meanlngful seL of aLLrlbuLes for an ob[ecL Lhe analysL can agaln sLudy Lhe processlng narraLlve (or sLaLemenL of scope) for Lhe problem and selecL Lhose Lhlngs LhaL reasonably belong Lo Lhe ob[ecL ln addlLlon Lhe followlng quesLlon should be answered for each ob[ecL WhaL daLa lLems (composlLe and/or elemenLary) fully dene Lhls ob[ecL ln Lhe conLexL of Lhe problem aL hand? 1o lllusLraLe we conslder Lhe sysLem ob[ecL dened for SafePome We noLed earller ln Lhe book LhaL Lhe homeowner can congure Lhe securlLy sysLem Lo reecL sensor lnformaLlon alarm response lnformaLlon acLlvaLlon/deacLlvaLlon lnformaLlon ldenLlcaLlon lnformaLlon and so forLh uslng Lhe conLenL descrlpLlon noLaLlon dened for Lhe daLa dlcLlonary and presenLed ln hapLer 12 we can represenL Lhese composlLe daLa lLems ln Lhe followlng manner