


版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、試題一( 15 分)閱讀下列說明和圖,回答問題 1 至問題 4 。 某醫療器械公司作為復雜醫療產品的集成商, 必須保持高質量部件的及時供應。 為了實 現這一目標,該公司欲開發一采購系統。系統的主要功能如下 :1. 檢查庫存水平。 采購部門每天檢查部件庫存量, 當特定部件的庫存量降至其訂貨點時, 返回低存量部件及庫存量。2. 下達采購訂單。采購部門針對低存量部件及庫存量提交采購請求,向其供應商 ( 通過 供應商文件訪問供應商數據 ) 下達采購訂單,并存儲于采購訂單文件中。3. 交運部件。 當供應商提交提單并交運部件時, 運輸和接收 (S/R) 部門通過執行以下三 步過程接收貨物:(1)驗證裝運部
2、件。通過訪問采購訂單并將其與提單進行比較來驗證裝運的部件,并將 提單信息發給 S/R 職員。如果收貨部件項目出現在采購訂單和提單上,則已驗證的提單和 收貨部件項目將被送去檢驗。否則,將 S/R 職員提交的裝運錯誤信息生成裝運錯誤通知發 送給供應商。(2)檢驗部件質量。 通過訪問質量標準來檢查裝運部件的質量, 并將己驗證的提單發給 檢驗員。 如果部件滿足所有質量標準, 則將其添加到接受的部件列表用于更新部件庫存。 如 果部件未通過檢查,則將檢驗員創建的缺陷裝運信息生成缺陷裝運通知發送給供應商。(3)更新部件庫存。庫管員根據收到的接受的部件列表添加本次采購數量,與原有庫存 量累加來更新庫存部件中的
3、庫存量。標記訂單采購完成?,F采用結構化方法對該采購系統進行分析與設計,獲得如圖 1-1 所示的上下文數據流 圖和圖 1-2 所示的 0 層數據流圖。1-1 上下文數據流圖1-2 0 層數據流圖1 使用說明中的詞語,給出圖 1-1 中的實體 E1E5( 5 分)2 使用說明中的詞語,給出圖 1-2 中的數據存儲 D1D4 的名稱。( 4 分)3 根據說明和圖中術語,補充圖 1-2 中缺失的數據流及其起點和終點。( 4 分) 4用 200 字以內文字,說明建模圖 1-1 和圖 1-2 時如何保持數據流圖( 2分) 試題二( 15)1 至問題 3, 將解答填入答題紙的對應欄內。 某房屋租賃公司擬開發
4、一個管理系統用于管理其持有的房屋、租客及員工信息。請根據 下述需求描述完成系統的數據庫設計?!拘枨竺枋觥?、公司擁有多幢公寓樓,每幢公寓樓有唯一的樓編號和地址。每幢公寓樓中有 (不同公寓樓內的公寓號可相同)。系統需記錄每套公寓的臥室數和衛生間數。2、員工和租客在系統中有唯一的編號 ( 員工編號和租客編號 ) 。3、對于每個租客,系統需記錄姓名、多個聯系電話、一個銀行賬號(方便自動扣房租) 、一個緊急聯系人的姓名及聯系電話。4、系統需記錄每個員工的姓名、一個聯系電話和月工資。員工類別可以是經理或維修工, 也可兼任。 每個經理可以管理多幢公寓樓。 每幢公寓樓必須由一個經理管理。 系統需記錄每 個維
5、修工的業務技能,比如:水暖維修,電工,木工等。5 、租客租賃公寓必須和公司簽訂租賃合同。一份租賃合同通常由一個或多個租客(合租) 與該公寓樓的經理簽訂, 一個租客也可租賃多套公寓。 合同內容應包含簽訂日期, 開始時間, 租期,押金和月租金?!靖拍钅P驮O計】根據需求階段收集的信息,設計的實體聯系圖(不完整)如圖2-1所示?!具壿嫿Y構設計】根據概念模型設計階段完成的實體聯系圖,得出如下關系模式(不完整):聯系電話(電話號碼,租客編號)租客(租客編號,姓名,銀行賬戶,聯系人姓名,聯系人電話)員工(員工編號,姓名,聯系電話,類別,月工資,(a)公寓樓(b),地址,經理編號)公寓(樓編號,公寓號,臥室數
6、,衛生間數)合同(合同編號,租客編號,樓編號,公寓號,經理編號,簽訂日期,起始日期,(c),押金)1補充圖2-1中的“簽約”聯系所關聯的實體及聯系類型。(分)2補充邏輯結構設計中的(a)、( b)、( c)三處空缺。(分)3在租期內,公寓內設施如出現問題,租客可在系統中進行故障登記,填寫故障描述,每項故障由系統自動生成唯一的故障編號, 由公司派維修工進行故障維修, 系統需記錄每次維修 的維修日期和維修內容。根據此需求,對圖 2-1進行補充,并將所補充的 ER圖內容轉換為 一個關系模式,請給出該關系模式。試題三 (15分)1至問題3,將解答填入答題紙的對應欄內。某玩具公司正在開發一套電動玩具在線
7、銷售系統,用于向注冊會員提供端到端的玩具定制和銷售服務。在系統設計階段, ”創建新訂單(New Order)"的設計用例詳細描述如表 3-1所示,候選設計類分類如表 3-2所示,并根據該用例設計出部分類圖如圖 3-1所示。表3-1創建新訂單(NewOrder)設計用例用例名稱創建新訂單New Order用例編號ETM-R002參與者會員前提條件會員已經注冊并成功登錄系統典型事件流1.會員(C1)點擊“新的訂單”按鈕;2.系統列出所有正在銷售的電動玩具清單 及價格(C2)3. 會員點擊復選框選擇所需電動玩具并輸 入對應數量,點擊“結算”按鈕;4. 系統自動計算總價(C3),顯示銷售清
8、單和會員預先設置個人資料的收貨地址和支 付方式(C4);5. 會員點擊“確認支付”按鈕;6. 系統自動調用支付系統(C5)接口支付 該賬單;7. 若支付系統返回成功標識,系統生成完整訂單信C6)中;8. 系統將以表格形式顯示完整訂單信息(。7),同(C8)至會員預先配置的郵C9)。3a(1)會員點擊“定制”按鈕;(2)系統以列表形式顯示所有可 以定制的電動玩具清單和定制屬性(如尺寸、顏色等)(C10);(3)會員點擊單選按鈕選擇所需 要定制的電動點擊“結算”4)回到步驟4。候選事件流7a(1)若支付系統返回失敗標識, 系統顯示會員當前默認支付方式(C11)讓會員確認;(2)若會員點擊“修改付款
9、”按 鈕,調用“修改付款”用例,可以 新增并存儲為默認支付方式 C12), 回到步驟4;(3若會員點擊“取消訂單”,則 該用例終止執3-2候選設計類分類In terface,負責系統與用戶之間的(a)Co ntrol,負責業務邏輯的處理)(b)En tity,負責持久化數據的存儲)(c)在訂單處理的過程中,會員可以點擊“取消訂單”取消該訂單。如果支付失敗,該訂單將被標記為掛起狀態,可后續重新支付,如果掛起超時30分鐘未支付,系統將自動取消該訂單。訂單支付成功后,系統判斷訂單類型 :(1) 對于常規訂單,標記為備貨狀態,訂單信息發送到貨運部,完成打包后交付;快遞發貨(2) 對于定制訂單,會自動進
10、入定制狀態, 定制完成后交付快遞發貨。會員在系統中點擊” 收貨"按鈕變為收貨狀態,結束整個訂單的處理流程。根據訂單處理過程所設計的狀態圖如圖3-2所示。1根據表3-1中所標記的候選設計類,請按照其類別將編號 C1C12分別填入3-2中的(a)、(b)和(c)處。(6 分)2根據創建新訂單的用例描述,請給出圖3-1中X1X4處對應類的名稱。(4分)3根據訂單處理過程的描述,在圖3-2中S1S5處分別填入對應的狀態名稱。(5分)試題四:C代碼,回答問題1至問題3,將解答寫在答題紙的對應欄內。假幣問題n枚硬幣,其中有一枚是假幣,己知假幣的重量較輕?,F現只有一個天平,要求用盡量少的比較次數找
11、出這枚假幣?!痉治鰡栴}】 將n枚硬幣分成相等的兩部分:(1)當n為偶數時,將前后兩部分,即1.n/2和n/2+1 n,放在天平的兩端,較輕的一端里有假幣,繼續在較輕的這部分硬幣中用同樣的方法找出假幣:(2)當n為奇數時,將前后兩部分,即1.(n -1)/2 和(n+1)/2+1.n,放在天平的兩端,較輕的一端里有假幣,繼續在較輕的這部分硬幣中用同樣的方法找出假幣:若兩端重 量相等,則中間的硬幣,即第 (n+1)/2 枚硬幣是假幣?!綜代碼】下面是算法的 C 語言實現,其中 : coins: 硬幣數組 first , last: 當前考慮的硬幣數組中的第一個和最后一個下標 #include &l
12、t;>int getCounterfeitCoin(int coins, int first , int last)int firstSum = 0 , lastSum = 0;int i;if(first=last-1) /* 只剩兩枚硬幣 */ if(coinsfirst < coinslast) return first;return last;if(last - first + 1) % 2 =0) /* 偶數枚硬幣 */ for(i = first;i < ( 1) ; i+) firstSum+= coinsi;for(i=first + (last-first)
13、 / 2 + 1;i < last +1;i+) lastSum += coinsi;if ( ( 2 )Return getCounterfeitCoin(coins,first,first+(last-first)/2;) elseReturn getCounterfeitCoin(coins,first+(last-first)/2+1,last;) else /* 奇數枚硬幣 */ for(i=first;i<first+(last-first)/2;i+) firstSum+=coinsi; for(i=first+(last-first)/2+1;i<last+1
14、;i+) lastSum+=coinsi;if(firstSum<lastSum)return getCounterfeitCoin(coins,first,first+(last-first)/2-1); else if(firstSum>lastSum)return getCounterfeitCoin(coins,first+(last-first)/2-1,last); elsereturn ( 3 )1根據題干說明,填充C代碼中的空(1) - (3)2 根據題干說明和 C 代碼,算法采用了()設計策略。函數 getCounterfeitCoin 的時間復雜度為()(用 O
15、 表示)。3 若輸入的硬幣數為 30,則最少的比較次數為(),最多的比較次數為()。試題五 (共 15 分) ( 請從試題五、試題六中選答一題 )閱讀下列說明和C+代碼,將應填入(n)處的字句寫在答題紙的對應欄內。某快餐廳主要制作并出售兒童套餐, 一般包括主餐 ( 各類比薩 ) 、飲料和玩具, 其餐品種 類可能不同,但其制作過程相同。前臺服務員 (Waiter) 調度廚師制作套餐。現采用生成器 (Builder) 模式實現制作過程,得到如圖 5-1 所示的類圖。圖 5-1 l 類圖【C+弋碼】#include<iostream>#include <string>usin
16、g namespace std;class Pizza private: string parts;public:void setParts(string parts) this->parts=parts; string getParts() return parts; ;class PizzaBuilder protected:Pizza* pizza;public:Pizza* getPizza() retum pizza; void createNewPizza() pizza = new Pizza(); ( 1 );class HawaiianPizzaBuilder :pub
17、lic PizzaBuilder public:void buildParts() pizza->setParts("cross +mild + ham&pineapple");class SpicyPizzaBuider: public PizzaBuilder public:void buildParts() pizza->setParts("pan baked +hot + ham&pineapple");Class WaiterPrivate:PizzaBuilder* pizzaBuilder;public:void
18、 setPizzaBuilder(PizzaBuilder* pizzaBuilder) /*設置構建器 */( 2 )Pizza* getPizza() return pizzaBuilder->getPizza(); void construct() /*構建 */pizzaBuilder->createNewPizza();( 3 );int main()Waiter*waiter=new Waiter();PizzaBuilder*hawaiian pizzabuilder=newHawaiianPizzaBuilder()( 4 );( 5 );cout<<
19、"pizza: "<< waiter->getPizza()->getParts()<< endl;程序的輸出結果為 :pizza: cross + mild + ham&pineapple試題六 ( 共 15 分 )閱讀下列說明和 Java 代碼,將應填入 (n) 處的字句寫在答題紙的對應欄內。某快餐廳主要制作并出售兒童套餐,一般包括主餐( 各類比薩 ) 、飲料和玩具,其餐品種類可能不同,但其制作過程相同。前臺服務員 (Waiter) 調度廚師制作套餐?,F采 用生成器 (Builder) 模式實現制作過程,得到如圖 6-1 所示
20、的類圖。6-1 類圖【 Java 代碼】class Pizza private String parts;public void setParts(String parts) = parts;public String toString() return ;abstract class PizzaBuilder protected Pizza pizza;public Pizza getPizza() return pizza; public void createNewPizza() pizza = new Pizza(); public ( 1 ) ;class HawaiianPizza
21、Builder extends PizzaBuilder public void buildParts() );("cross + mild + ham&pineapp1e class SpicyPizzaBuilder extends PizzaBuilder public void buildParts() ("pan baked + hot +pepperoni&salami");class Waiter private PizzaBuilder pizzaBuilder;public void setPizzaBuilder(PizzaBu
22、ilder pizzaBuilder) /* 設置構建器 */ ( 2 ) ;public Pizza getPizza() return (); public void construct() /*構建 */();( 3 ) ;Class FastFoodOrdering public static viod mainStingargs) Waiter waiter = new Waiter();PizzaBuilder hawaiian_pizzabuilder = new HawaiianPizzaBuilder(); ( 4 ) ;( 5 ) ;"pizza: "
23、+ (); 程序的輸出結果為:Pizza:cross + mild + ham&pineapple試題一答案解析:1:E1 供應商 E2 采購部門 E3 檢驗員 E4 庫管員 E5 職員2:D1庫存表 D2 采購訂單表D3 質量標準表 D4供應商表3:P3(驗證裝運部件) E1(客戶)P4 (校驗部件質量)-E1 (客戶)P3(驗證裝運部件) P4(校驗部件質量)P1 (檢杳庫存水平)D1 (庫存表)4:父圖中某個加工的輸入輸出數據流必須與其子圖的輸入輸出數據流在數量上和內容 上保持一致,即數據不會憑空產生,也不能憑空消失。父圖的一個輸入(或輸出)數據 流應對應子圖中幾個輸入(或輸出)
24、數據流,而子圖中組成的這些數據流的數據項全體 正好是父圖中的這個數據流。試題二答案解析:12 a)業務技能b )樓編號c )月租金3新增維修關系,維修工維修公寓,關系模式為維修情況維修情況(故障編號,員工編號,樓編號,公寓號,維修日期,維修內容) 試題三答案解析:a): C4、 C5、C7、C8、 C10、C11b): C3c): C1、 C2、C6、C9、 C12一、實體類 實體類是用于對必須存儲的信息和相關行為建模的類。 實體對象(實體類的實例)用 于保存和更新一些現象的有關信息, 例如: 事件、 人員或者一些現實生活中的對象。 實 體類通常都是永久性的, 它們所具有的屬性和關系是長期需要
25、的, 有時甚至在系統的整個 生存期都需要。二、邊界類邊界類是系統內部與系統外部的業務主角之間進行交互建模的類。邊界類依賴于系統外部的環境, 比如業務主角的操作習慣、 外部的條件的限制等。 它或者是系統為業務主 角操作提供的一個 GUI , 或者系統與其他的系統之間進行一個交互的接口,所以當外部的 GUI 變化時,或者是通信協議有變化時,只需要修改邊界類就可以了, 不用再去修改控制 類和實體類。 業務主角通過它來與控制對象交互,實現用例的任務。邊界類調用用例內的 控制類對象,進行相關的操作。一個系統可能會有多種邊界類: 用戶界面類 - 幫助與系統用戶進行通信的類 系統接口類 - 幫助與其他系統進行通信的類 設備接口類 - 為用來監測外部事件的設備(如傳感器)提供接口的類三、控制類控制類用于對一個或幾個用例所特有的控制行為進行建模,它描述的用例的業務邏輯的實現, 控制類的設計與用例實現有著很大的關系。 在有些情況下, 一個用例可能對應 多個控制類對象, 或在一個控制類對象中對應著對個用例。它們之間沒有固定的對應關系,而是根據具體情況進行分析判斷, 控制類有效將業務邏輯獨立于實體數據和邊界控制, 專 注于處理業務邏輯, 控制類會將特有的操作和實體類分離, 者有利于實體類的統一化和提 高復用性。 當業務主角通過邊界類來執行用例的時候, 產生
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 2878.1-2025液壓傳動連接普通螺紋斜油口和螺柱端第1部分:斜油口
- 銀行從業資格證考試的關鍵思維強化與試題與答案
- 2025年度工程項目承包合同協議
- 注冊會計師考試常見題型切入思路試題及答案
- 個體門窗安裝協議案例
- 個人借款協議范本
- 微生物環境監測的重要性試題及答案
- 建設高效社團組織架構計劃
- 有效的項目知識管理體系構建試題及答案
- 證券從業資格證考試基礎理論試題及答案
- 廣東省廣州市海珠區2022-2023學年四年級下學期第二次月考語文試題
- 廣東省深圳市羅湖區2022-2023學年六年級下學期期中數學試卷
- 150型鉆機使用說明書3
- 未來趨勢與職業前景智慧樹知到期末考試答案章節答案2024年聯盟推+薦
- 2024年福建省泉州市中考二模物理試題
- 水生產企業(自來水公司)安全生產風險分級管控和隱患排查治理雙體系方案全套資料(2021-2022版)
- (正式版)JBT 14449-2024 起重機械焊接工藝評定
- 2020混凝土結構加固修復用聚合物水泥砂漿施工及驗收規程
- 化妝培訓課件版
- 營地指導員基礎教程
- 初級電工證考試試題庫電工證考試題庫
評論
0/150
提交評論