《軟件工程10》由會員分享,可在線閱讀,更多相關(guān)《軟件工程10(36頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、單擊此處編輯母版標題樣式,單擊此處編輯母版文本樣式,第二級,第三級,第四級,第五級,*,第十章 面向?qū)ο蠓治?(Object-Oriented Analysis),1.基本過程:,Requirement statement,Rapid prototype Models,其中model 有三個:,Object model:最重要,開發(fā)任何系統(tǒng)都需要;,Dynamic model:對于開發(fā)交互式系統(tǒng) (interactive system),很重要;,Function model:對于開發(fā)大運算量問題(如科學(xué)計算、編譯系統(tǒng)等)很重要。,Category主題,Class-&-Object,Struc
2、ture,1+,1+,Attribute,Method,1.,基本過程,Objectmodel由五個層次組,成,成(Coad&Yourdon,1991),相當(dāng)于把五張,透,透明膠片,(transparencies)疊在一起,每,一,一層顯示更多,的,的細節(jié)。,2.需求陳,述,述,第三章中已介,紹,紹過,需求陳,述,述的內(nèi)容包括,:,:,問題范圍、功,能,能需求、性能,要,要求、應(yīng)用環(huán),境,境、假設(shè)條件,等,等等。陳述方,式,式可繁可簡,,說,說明What而不是How。,例:教材p.226-227,對Automated Teller Machine(ATM),的,的需求陳述。,3.建立Objec
3、tModel,1、確定Class-&-Object,:,:,第1步:列出,所,所有候選對象(candidates),,,,它們可能是,物理實體人或組織要處理的事件對象間的活動抽象概念,等,等等,非正式分析:,從,從需求陳述中,挑,挑出,名詞,Class-&-Object,形容詞,Attribute,動詞 Method,3.建立ObjectModel,第2步:去粗,取,取精,例:從ATM,需,需求分析中提,出,出的名詞集合,銀行、ATM,、,、系統(tǒng)、中央,計,計算機、分行,計,計算機、,柜員終端、網(wǎng),絡(luò),絡(luò)、總行、分,行,行、軟件、成,本,本、市、,街道、營業(yè)廳,、,、儲蓄所、柜,員,員、儲戶、
4、現(xiàn),金,金、支票、賬,戶,戶、事務(wù)、現(xiàn),金,金兌換卡、余,額,額、磁卡、分,行,行代碼、卡號,、,、用戶、副本,、,、信息、密碼,、,、類型、取款,額,額、賬單、訪,問,問,篩選時依下列,標,標準刪除:,、通信鏈路、,事,事務(wù)日志,冗余,無關(guān),籠統(tǒng),屬性,操作既可為名詞又,可,可為動詞的詞,,,,應(yīng)慎重考慮,。,。,實現(xiàn),3.建立ObjectModel,2、確定關(guān)聯(lián),結(jié)構(gòu)層,第1步:收集,需求陳述,中,中涉及objets,的動詞短語:,分行計算機維護賬戶,柜員終端與分行計算機通信,柜員輸入針對賬戶的事務(wù),ATM與中央計算機交換關(guān)于事務(wù)的信息,中央計算機確定事務(wù)與分行的對應(yīng)關(guān)系,ATM讀現(xiàn)金兌換
5、卡,ATM與用戶交互,ATM吐出現(xiàn)金,ATM打印賬單,系統(tǒng)處理并發(fā)的訪問,ATM、中央計算機、分行計算機及柜員終端組成網(wǎng)絡(luò),總行擁有多臺ATM,ATM設(shè)在主要街道上,分行提供分行計算機和柜員終端,柜員終端設(shè)在分行營業(yè)廳及儲蓄所內(nèi),分行分攤軟件開發(fā)成本,儲戶擁有賬戶,分行計算機處理針對賬戶的事務(wù),需,需求,陳,陳述,中,中隱,含,含的,關(guān),關(guān)聯(lián),總,總行,由,由各,個,個分,行,行組,成,成,系,系,統(tǒng),統(tǒng)維,護,護事,務(wù),務(wù)日,志,志,分,分行,保,保管,賬,賬戶,系,系統(tǒng),提,提供,必,必要,的,的安,全,全性,總,總行,擁,擁有,中,中央,計,計算,機,機,儲,儲,戶,戶擁,有,有現(xiàn),金,
6、金兌,換,換卡,3.建,立,立ObjectModel,根,根據(jù),問,問題,域,域知,識,識得,出,出的,關(guān),關(guān)聯(lián),現(xiàn),現(xiàn)金,兌,兌換,卡,卡訪,問,問賬,戶,戶,分,分行,雇,雇用,柜,柜員,第2,步,步:,篩,篩選,刪,刪除,3.建,立,立ObjectModel,與,與已,刪,刪去,的,的object,有關(guān),的,的關(guān),聯(lián),聯(lián),與,與問,題,題無,關(guān),關(guān)的,或,或應(yīng),在,在實,現(xiàn),現(xiàn)階,段,段考,慮,慮的,關(guān),關(guān)聯(lián),ATM、,中央計算機、分行計算機及柜員終端組成網(wǎng)絡(luò),總行擁有多臺ATM,ATM設(shè)在主要街道上,分行提供分行計算機和柜員終端,柜員終端設(shè)在分行營業(yè)廳及儲蓄所內(nèi),分行分攤軟件開發(fā)成本,
7、儲戶擁有賬戶,總行由各個分行組成,分行計算機處理針對賬戶的事務(wù),分行計算機維護賬戶,柜員終端與分行計算機通信,柜員輸入針對賬戶的事務(wù),ATM與中央計算機交換關(guān)于事務(wù)的信息,中央計算機確定事務(wù)與分行的對應(yīng)關(guān)系,ATM讀現(xiàn)金兌換卡,ATM與用戶交互,ATM吐出現(xiàn)金,ATM打印賬單,系統(tǒng)處理并發(fā)的訪問,現(xiàn)金兌換卡訪問賬戶 系統(tǒng)維護事務(wù)日志,分行保管賬戶 系統(tǒng)提供必要的安全性,總行擁有中央計算機 儲戶擁有現(xiàn)金兌換卡,分行雇用柜員,3.建,立,立ObjectModel,瞬,時,時事,件,件:,注,注意,關(guān),關(guān)聯(lián),描,描述,靜,靜態(tài),結(jié),結(jié)構(gòu),ATM、,中央計算機、分行計算機及柜員終端組成網(wǎng)絡(luò),總行擁有多
8、臺ATM,ATM設(shè)在主要街道上,分行提供分行計算機和柜員終端,柜員終端設(shè)在分行營業(yè)廳及儲蓄所內(nèi),分行分攤軟件開發(fā)成本,儲戶擁有賬戶,總行由各個分行組成,分行計算機處理針對賬戶的事務(wù),分行計算機維護賬戶,柜員終端與分行計算機通信,柜員輸入針對賬戶的事務(wù),ATM與中央計算機交換關(guān)于事務(wù)的信息,中央計算機確定事務(wù)與分行的對應(yīng)關(guān)系,ATM讀現(xiàn)金兌換卡,ATM與用戶交互,ATM吐出現(xiàn)金,ATM打印賬單,系統(tǒng)處理并發(fā)的訪問,現(xiàn)金兌換卡訪問賬戶 系統(tǒng)維護事務(wù)日志,分行保管賬戶 系統(tǒng)提供必要的安全性,總行擁有中央計算機 儲戶擁有現(xiàn)金兌換卡,分行雇用柜員,3.建,立,立ObjectModel,三,元,元關(guān),聯(lián),
9、聯(lián):,分,分解,為,為二,元,元關(guān),聯(lián),聯(lián)或,限,限定,關(guān),關(guān)聯(lián),柜,柜員,輸,輸入,針,針對,賬,賬戶,的,的事,務(wù),務(wù),=,柜,柜員,輸,輸入,事,事務(wù)+,事,事,務(wù),務(wù)修,改,改賬,戶,戶,分,分行,計,計算,機,機處,理,理針,對,對賬,戶,戶的,事,事務(wù),=,分,分行,計,計算,機,機處,理,理事,務(wù),務(wù)+,事,事務(wù),修,修改,賬,賬戶,ATM與,中,中央,計,計算,機,機交,換,換關(guān),于,于事,務(wù),務(wù)的,信,信息,=ATM與,中,中央,計,計算,機,機通,信,信+,在,在ATM,上,上輸,入,入事,務(wù),務(wù),注:識別,鏈,鏈屬,性,性,某,某,實,實體,僅,僅用,于,于描,述,述另,
10、兩,兩個,實,實體,的,的關(guān),系,系,,且,且該,實,實體,本,本身,不,不包,含,含屬,性,性。,例,例如,“,“公,司,司付,給,給員,工,工工,資,資”,可,可分,解,解為,“,“公,司,司雇,用,用員,工,工”,,,,附,鏈,鏈屬,性,性“,工,工資,”,”。,3.建,立,立ObjectModel,派,生,生關(guān),聯(lián),聯(lián):,即,即可,用,用其,它,它關(guān),聯(lián),聯(lián)定,義,義的,冗,冗余,關(guān),關(guān)聯(lián),總行擁有多臺ATM,分行提供分行計算機和柜員終端,儲戶擁有賬戶,總行由各個分行組成,分行保管賬戶,總行擁有中央計算機,現(xiàn)金兌換卡訪問賬戶,儲戶擁有現(xiàn)金兌換卡,分行雇用柜員,分行計算機處理事務(wù),分行計
11、算機維護賬戶,柜員終端與分行計算機通信,柜員輸入事務(wù),事務(wù)修改賬戶,ATM與中央計算機通信,在ATM上輸入事務(wù),中央計算機確定事務(wù)與分行的對應(yīng)關(guān)系,3.建,立,立ObjectModel,第3,步,步:,完,完善,正,正名,:,:分,行,行提,供,供分,行,行計,算,算機,和,和柜,員,員終,端,端,=,分,分行,擁,擁有,分,分行,計,計算,機,機+,分,分行,擁,擁有,柜,柜員,終,終端,分解,:,:適,當(dāng),當(dāng)分,解,解前,面,面確,定,定的class-&-objects,使,其,其適,用,用于,不,不同,的,的關(guān),聯(lián),聯(lián),事務(wù)=,遠,遠,程,程事,務(wù),務(wù)+,柜,柜員,事,事務(wù),補,充,充,
12、柜,柜員,輸,輸入,柜,柜員,事,事務(wù),在,在ATM,上,上輸,入,入遠,程,程事,務(wù),務(wù),柜,柜員,事,事務(wù),輸,輸進,柜,柜員,終,終端,遠,遠程,事,事務(wù),由,由現(xiàn),金,金兌,換,換卡,授,授權(quán),標,明,明階,數(shù),數(shù)(,可,可能,經(jīng),經(jīng)常,變,變動,,,,不,要,要花,太,太多,時,時間,),),中央計算機,分行計算機,現(xiàn)金兌換卡,總 行,分 行,擁有,分行,代碼,組成,通信,1+,通信,擁有,柜員終端,柜員事務(wù),分行員工,通信,1+,1+,擁有,1+,雇用,輸入,1+,1+,輸入,賬 戶,修改,1+,儲 戶,保管,1+,擁有,1+,遠程事務(wù),ATM,擁有,1+,1+,1+,訪問,1+,
13、1+,修改,授權(quán),1+,輸入,1+,3.建,立,立ObjectModel,1,2,3,3、,劃,劃分,主,主題,注,注,意,意:,按,問,問題,域,域而,不,不是,按,按功,能,能分,解,解,主,題,題間,的,的依,賴,賴和,交,交互,盡,盡可,能,能少,1.,總,總,行,行,2.,分,分,行,行,3.,ATM,3.建,立,立ObjectModel,4、,確,確立,屬,屬性,注意,:,:Attribute,不表,示,示objects,之,之間,的,的關(guān),系,系,,只,只表,示,示其,本,本質(zhì),性,性質(zhì),,,,不,要,要與,鏈,鏈屬,性,性、,限,限定,詞,詞混,淆,淆。,暫,暫不,考,考慮,純
14、,純用,于,于實,現(xiàn),現(xiàn)的attributes(,即,即單,純,純的,內(nèi),內(nèi)部,狀,狀態(tài),),)。,需,需求,陳,陳述,中,中與,已,已確,定,定的objects,有,有,關(guān),關(guān)的,名,名詞,、,、形,容,容詞,可,可能,是,是選,擇,擇的,線,線索,。,。,5、,識,識別,繼,繼承,關(guān),關(guān)系,及,及其,它,它修,改,改,Bottom-up:,將,將具,有,有相,同,同屬,性,性的classes向,上,上歸,納,納出,父,父類,。,。,Top-down,:,:,將,將現(xiàn),有,有classes,向,向下,細,細化,出,出子,類,類(,但,但分,析,析階,段,段避,免,免過,度,度細,化,化).,
15、3.建,立,立ObjectModel,若,若某class中,具,具有,幾,幾個,獨,獨立,的,的功,能,能,,則,則考,慮,慮分,為,為幾,個,個classes,。,。,對,對于,某,某class,中,中具,有,有自,己,己特,有,有屬,性,性的,部,部分,,,,可,考,考慮,將,將之,列,列為,獨,獨立,存,存在,的,的class,,,,且,是,是原,有,有class,的,的組,成,成。,合,合并,無,無須,分,分別,考,考慮,的,的若,干,干classes,。,。,賬 戶,余額,限額,類型,現(xiàn)金兌換卡,分行代碼,卡號,儲 戶,姓名,地址,輸入站,事 務(wù),日期,柜員事務(wù),遠程事務(wù),柜 員,姓
16、名,卡權(quán)限,密碼,限額,更 新,金額,類型,總 行,總行名,分 行,分行名,ATM,現(xiàn)有金額,付出金額,柜員終端,分,行,代,碼,組成,站號,站號,賬號,雇員號,卡號,輸入,1+,擁有,1+,保管,擁有,擁有,雇用,發(fā)放,擁有,1+,1+,標識,1+,1+,訪問,1+,啟動,1+,1+,輸入,1+,組成,修改,歸,納,納,組,成,成,分,解,解,合,并,并,3.,建,建立ObjectModel,4.,建,建立,動態(tài),模,模型,(,(,DynamicModel),動態(tài),模,模型,,,,表,示,示系,統(tǒng),統(tǒng)瞬,時,時的,控,控制,性,性質(zhì),,,,反,映,映系,統(tǒng),統(tǒng)的,交,交互,行,行為,。,。,三要,素,素:,事,事件(event):,引,引發(fā)Object,狀,狀態(tài),改,改變,的,的控,制,制信,息,息(,瞬,瞬時,),),狀態(tài)(status):Object,的,的 attributes 所處,的,的情形(,可,可持續(xù)),行為(action):Object,要,要達到,某,某種 status 所做,的,的操作(,耗,耗時),動態(tài)模型,圖,圖形:,1、事件,跟,跟蹤圖(ETD,event