freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

面向?qū)ο蠓治雠c設(shè)計開發(fā)文檔(編輯修改稿)

2024-07-15 03:01 本頁面
 

【文章內(nèi)容簡介】 耦合。一般較優(yōu)秀的軟件設(shè)計,應(yīng)盡量做到高內(nèi)聚,低耦合,即減弱模塊之間的耦合性和提高模塊內(nèi)的內(nèi)聚性,有利于提高模塊的獨立性。模塊獨立性指每個模塊只完成系統(tǒng)要求的獨立子功能,并且與其他模塊的聯(lián)系最少且接口簡單,兩個定性的度量標(biāo)準(zhǔn)――耦合性和內(nèi)聚性。 耦合性也稱塊間聯(lián)系。指軟件系統(tǒng)結(jié)構(gòu)中各模塊間相互聯(lián)系緊密程度的一種度量。模塊之間聯(lián)系越緊密,其耦合性就越強,模塊的獨立性則越差。模塊間耦合高低取決于模塊間接口的復(fù)雜性、調(diào)用的方式及傳遞的信息。 無直接耦合。數(shù)據(jù)耦合。標(biāo)記耦合??刂岂詈?。公共耦合。 內(nèi)容耦合(低――高)。 1無直接耦合;2數(shù)據(jù)耦合指兩個模塊之間有調(diào)用關(guān)系,傳遞的是簡單的數(shù)據(jù)值,相當(dāng)于高級語言的值傳遞。3標(biāo)記耦合指兩個模塊之間傳遞的是數(shù)據(jù)結(jié)構(gòu),如高級語言中的數(shù)組名、記錄名、文件名等這些名字即標(biāo)記,其實傳遞的是這個數(shù)據(jù)結(jié)構(gòu)的地址。 4控制耦合指一個模塊調(diào)用另一個模塊時,傳遞的是控制變量(如開關(guān)、標(biāo)志等),被調(diào)模塊通過該控制變量的值有選擇地執(zhí)行塊內(nèi)某一功能。 5公共耦合指通過一個公共數(shù)據(jù)環(huán)境相互作用的那些模塊間的耦合。公共耦合的復(fù)雜程序隨耦合模塊的個數(shù)增加而增加。6內(nèi)容耦合:這是最高程度的耦合,也是最差的耦合。 當(dāng)一個模塊直接使用另一個模塊的內(nèi)部數(shù)據(jù),或通過非正常入口而轉(zhuǎn)入另一個模塊內(nèi)部。 內(nèi)聚性又稱塊內(nèi)聯(lián)系。指模塊的功能強度的度量,即一個模塊內(nèi)部各個元素彼此結(jié)合的緊密程度的度量。若一個模塊內(nèi)各元素(語名之間、程序段之間)聯(lián)系的越緊密,則它的內(nèi)聚性就越高。 偶然內(nèi)聚。邏輯內(nèi)聚。時間內(nèi)聚。通信內(nèi)聚。順序內(nèi)聚。 功能內(nèi)聚(低――高)1偶然內(nèi)聚指一個模塊內(nèi)的各處理元素之間沒有任何聯(lián)系。 2邏輯內(nèi)聚指模塊內(nèi)執(zhí)行幾個邏輯上相似的功能,通過參數(shù)確定該模塊完成哪一個功能。3時間內(nèi)聚:把需要同時執(zhí)行的動作組合在一起形成的模塊為時間內(nèi)聚模塊。4通信內(nèi)聚指模塊內(nèi)所有處理元素都在同一個數(shù)據(jù)結(jié)構(gòu)上操作(有時稱之為信息內(nèi)聚),或者指各處理使用相同的輸入數(shù)據(jù)或者產(chǎn)生相同的輸出數(shù)據(jù)。5順序內(nèi)聚指一個模塊中各個處理元素都密切相關(guān)于同一功能且必須順序執(zhí)行,前一功能元素輸出就是下一功能元素的輸入。6功能內(nèi)聚:這是最強的內(nèi)聚,指模塊內(nèi)所有元素共同完成一個功能,缺一不可。與其他模塊的耦合是最弱的。耦合性與內(nèi)聚性是模塊獨立性的兩個定性標(biāo)準(zhǔn),將軟件系統(tǒng)劃分模塊時,盡量做到高內(nèi)聚低耦合,提高模塊的獨立性,為設(shè)計高質(zhì)量的軟件結(jié)構(gòu)奠定基礎(chǔ)根據(jù)上述原則,對“訂餐”用例這項活動所對應(yīng)的動作 進(jìn)行分塊。整體分為兩個部分:。對第二部分繼續(xù)進(jìn)行分塊,分成對用戶身份驗證部分和選菜部分。選菜部分包括:交互式選菜過程、系統(tǒng)生成訂單、將訂單通知給員工和顧客。這樣的劃分方式,形成了對選菜的一種劃分方案。第一方案:將整個選菜,生成訂單,通知顧客與餐廳員工作為一個整體??紤]:是否對方案1中的選菜過程和生成訂單這一模塊再繼續(xù)劃分?方案二:將選菜過程分成一部分,生成訂單與通知顧客和餐廳員工分為一部分。增加新對象顧客訂單,對兩部分進(jìn)行耦合。方案三:將選菜過程分成一部分,生成訂單分為一個部分,通知顧客和餐廳員工分為一部分。新對象訂單對確認(rèn)訂單與通知顧客和餐廳員工兩部分進(jìn)行耦合。方案3,通過活動的分塊,使得各個模塊內(nèi)聚性強,模塊之間耦合性松散,提高了模塊的獨立性。所以優(yōu)先方案3。方案3的選擇也符合面向?qū)ο笾袑Ψ椒ǖ囊螅悍椒ㄒ词腔卮鹨粋€問題,要么是執(zhí)行一個過程操作,不能兩者兼是。也即,返回值要么是數(shù)據(jù)對象,要么是空。5. 基本用例敘述: “顧客訂餐”用例的基本用例敘述用例名:Ordering Meals參與者:Customer, Sealer類型基本前提條件與工資系統(tǒng)的連接后置條件訂單已生成,訂單與顧客關(guān)聯(lián)起來,訂單與餐廳員工關(guān)聯(lián)起來。特殊需求顧客在提交數(shù)據(jù)后,系統(tǒng)3秒內(nèi)給予響應(yīng)事件流描述(處理過程交互的描述) 參與者操作系統(tǒng)響應(yīng)1當(dāng)顧客準(zhǔn)備訂餐時用例開始。2顧客請求系統(tǒng)提供顯示菜單服務(wù)3系統(tǒng)顯示菜單。系統(tǒng)顯示今日特價4顧客請求系統(tǒng)提供選菜服務(wù)5系統(tǒng)生成顧客訂單6顧客請求系統(tǒng)提供訂餐服務(wù)7系統(tǒng)生成訂單8用例結(jié)束候選事件流(異常)參與者操作系統(tǒng)響應(yīng)1顧客無法登錄系統(tǒng)1指示錯誤,未注冊用戶,返回事件流中第4步。6. 系統(tǒng)時序圖:系統(tǒng)時序圖也稱為系統(tǒng)消息序圖,是一個不完整的消息序列圖,它的作用是將系統(tǒng)邊界外 事件的發(fā)起者使用系統(tǒng)的功能,以消息的形式請求系統(tǒng)處理,但系統(tǒng)內(nèi)部如何處理,現(xiàn)在還沒有分析。因此,系統(tǒng)時序圖是一個不完整的消息序列圖。 7. 系統(tǒng)操作約定:系統(tǒng)操作約定用于描述當(dāng)系統(tǒng)接受外部參與者的消息請求時,對每個消息如何響應(yīng),也即,當(dāng)系統(tǒng)接收到外部參與者的消息時,系統(tǒng)應(yīng)該做些什么響應(yīng),做些什么事情,或者應(yīng)該通知其他的哪個對象去做什么事情?!邦櫩陀啿汀庇美幕居美龜⑹鍪录髅枋觯ㄌ幚磉^程交互的描述) 參與者操作系統(tǒng)響應(yīng)系統(tǒng)操作約定1當(dāng)顧客準(zhǔn)備訂餐時用例開始。系統(tǒng)其他對象2顧客請求系統(tǒng)提供顯示菜單服務(wù)3系統(tǒng)顯示菜單。系統(tǒng)顯示今日特價系統(tǒng)顯示菜單和今日特價。?提供顯示菜單和今日特價的服務(wù)。4顧客請求系統(tǒng)提供選菜服務(wù)5系統(tǒng)生成顧客訂單系統(tǒng)核實顧客身份;?提供核實顧客身份信息的服務(wù)。系統(tǒng)生成顧客訂單?提供選菜服務(wù),生成顧客訂單。6顧客請求系統(tǒng)提供訂餐服務(wù)7系統(tǒng)生成訂單系統(tǒng)生成訂單?提供訂餐服務(wù),生成訂單。系統(tǒng)分發(fā)訂單通知?提供訂單分發(fā)服務(wù)。8用例結(jié)束問題回答:“顧客訂餐”用例的基本用例敘述事件流描述(處理過程交互的描述) 參與者操作系統(tǒng)響應(yīng)系統(tǒng)操作約定1當(dāng)顧客準(zhǔn)備訂餐時用例開始。系統(tǒng)其他對象2顧客請求系統(tǒng)提供顯示菜單服務(wù)3系統(tǒng)顯示菜單。系統(tǒng)顯示今日特價系統(tǒng)顯示菜單和今日特價。菜譜提供顯示菜單和今日特價的服務(wù)。4顧客請求系統(tǒng)提供選菜服務(wù)5系統(tǒng)生成顧客訂單系統(tǒng)核實顧客身份;顧客信息表提供核實顧客身份信息的服務(wù)。系統(tǒng)生成顧客訂單選菜控制器提供選菜服務(wù),生成顧客訂單。6顧客請求系統(tǒng)提供訂餐服務(wù)7系統(tǒng)生成訂單系統(tǒng)生成訂單訂單控制器提供訂餐服務(wù),生成訂單。系統(tǒng)分發(fā)訂單通知訂單控制器提供訂單分發(fā)服務(wù)。8用例結(jié)束8. 創(chuàng)建域模型:如圖是Jackson的面向?qū)ο蠓治龇椒ㄖ校瑒?chuàng)建問題域模型在整個系統(tǒng)分析過程中所處的位置圖示。域模型用于描述問題域中的對象模型,包括,問題域中的實體對象,以及對實體對象的信息描述的業(yè)務(wù)實體對象,以及發(fā)生在問題域中的過程,過程也被視為一個對象來看待。域模型是一個真實的客觀的問題域中對象,以及對象與對象之間的關(guān)系的反映。在域模型中,用不同的符號表示不同種類的對象,如:實體對象、業(yè)務(wù)實體對象、過程類對象,都需要分別用不同的符號來表示。這樣才能充分展現(xiàn)客觀現(xiàn)實對象的多樣性,達(dá)到了對問題域所涉及的各類對象的真實反映的效果。在常用的建模工具Rational Rose中,關(guān)于域模型中對象的種類非常豐富,有Actor, Boundary, Business Actor, Business Entity, Business Event, Business Goal, Business Worker, Control, Domain, entity, Interface, Table, View等。種類圖示種類圖示ActorBusiness EntityBoundaryBusiness EventBusiness ActorBusiness GoalBusiness WorkerDomainControlentityInterfaceTableView在建模工具JUDE中,關(guān)于域模型中對象的種類也非常多,有:Boundary, Control, Entity, Business Entity等。種類圖示種類圖示ActorEntityBoundaryBusiness Entity這些種類的不同符號都能夠直觀地反映出現(xiàn)實世界對象的多樣性,幫助系統(tǒng)分析人員更真實地認(rèn)識問題域中對象的存在形式。依據(jù)系統(tǒng)操作響應(yīng)中找出的對象以及問題域的客觀對象,可以得到如下“顧客訂餐”用例的域?qū)ο?,如下表所示。“顧客訂餐”用例的域?qū)ο?實體對象菜譜1顧客信息表3顧客訂單4訂單52過程對象選菜控制器2訂單控制器63事件對象繪制其域模型圖如下:9. 一個顛覆常規(guī)的域模型案例案例:敏捷軟件開發(fā)P190頁思考:10. 對象消息序列圖:根據(jù)域模型中的對象,以及對象之間的關(guān)系,結(jié)合系統(tǒng)時序圖,系統(tǒng)操作約定,得到如下對象消息序列圖。第三部分 系統(tǒng)設(shè)計方案1:控制臺應(yīng)用程序+無數(shù)據(jù)庫1. 系統(tǒng)總體結(jié)構(gòu)設(shè)計由于系統(tǒng)總體結(jié)構(gòu)采用控制臺顯示,并且無數(shù)據(jù)庫支持,因此,系統(tǒng)總體設(shè)計僅體現(xiàn)在業(yè)務(wù)層的設(shè)計上。(1) 業(yè)務(wù)層設(shè)計設(shè)計系統(tǒng)總體類圖:第一層次做圖:根據(jù)對象消息序列圖映射類及類的方法。依據(jù)向服務(wù)器端發(fā)送的消息就轉(zhuǎn)化為服務(wù)器端的方法進(jìn)行映射。第二層次做圖:依據(jù)域模型類與類之間的關(guān)系增加了選菜與顧客、與菜譜的關(guān)系,訂單與餐廳員工的關(guān)系。并同時增加關(guān)聯(lián)的關(guān)聯(lián)項及關(guān)聯(lián)的數(shù)目第三層次做圖:依據(jù)域模型,增加聚合關(guān)系。增加了顧客信息類。第四層次做圖:對比域模型,合并相關(guān)類(顧客與顧客信息,一個問題的兩個方面,進(jìn)行合并)第五層次:檢查域模型中是否還存在實體,用業(yè)務(wù)實體表示。餐廳員工,用餐廳員工信息來表示。第六層次:繼續(xù)檢查域模型中是否還存在實體,用業(yè)務(wù)實體表示。餐廳員工信息表,用餐廳員工信息表來表示。增加了一個業(yè)務(wù)處理類訂單控制器,業(yè)務(wù)層最終的類圖如下:2. 詳細(xì)設(shè)計:(1) 業(yè)務(wù)層定義1 類聲明:依據(jù)類圖確定類名、類的屬性名、類的方法名;確定類的屬性的數(shù)據(jù)類型;確定類的方法的輸入?yún)?shù)對象和輸出參數(shù)對象;依據(jù)對象消息時序圖確定方法的實現(xiàn)說明。類名系統(tǒng)(COS)類的屬性類的方法1:顯示菜單服務(wù)showMenu()Void showMenu(aMenu Menu)。Void showMenu(aMenu Menu){ // 顯示菜單和今日特價服務(wù)()。}2:請求選菜choose()CustOrder choose(aCustomer Customer, aMenu Menu)。CustOrder choose(aCustomer Customer, aMenu Menu){// If((aCustomer)。){// Return( (aCustomer Customer, aMenu Menu))。}3:請求訂餐confirmOrder()Order confirmOrder(aCustOrder CustOrder)。Order confirmOrder(aCustOrder CustOrder){ // 提供買單服務(wù)(aCustOrder)。}菜信息(MenuInfo)類的屬性菜信息ididstring菜名namestrng菜價格pricefloat類的方法Set/get方法菜譜(Menu)類的屬性菜項信息menuItemListMenuInfo類的方法顯示菜單與今日特價Show ()Void show()。Void show(){ 顯示ListMenuInfo。 }顧客信息(Customer)類的屬性顧客ididstring顧客名namestring密碼pwdpassword類的方法Set/get方法顧客信息表(CustomerInfo)全局性質(zhì)類的屬性顧客信息CustInfoListCustomer類的方法核實顧客身份Check ( )Bool check ( aCustomer Customer)。選菜控制器(ChooseCtrl)全局性質(zhì)類的屬性類的方法選菜Choose()CustOrder choose(aCustomer Customer, aMenu Menu)。CustOrder choose(aCustomer Customer, aMenu Menu){// CustOrder aCustOrder=new CustOrder()。 =?。//分配訂單號 =。//設(shè)置顧客id =? 。//設(shè)置服務(wù)員工id new OrderItem。//增加訂單項 return aCustOrder。 }顧客訂單(CustOrder)類的屬性訂單idOrd
點擊復(fù)制文檔內(nèi)容
高考資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1