第
1題: 閱讀下列說明和圖,回答問題1至問題4,將解答填入答題紙的對應欄內。
【說明】
某醫(yī)療器械公司作為復雜醫(yī)療產品的集成商,必須保持高質量部件的及時供應。為了實現(xiàn)這一目標,該公司欲開發(fā)一采購系統(tǒng)。系統(tǒng)的主要功能如下:
1.檢查庫存水平。采購部門每天檢查部件庫存量,當特定部件的庫存量降至其訂貨點時,返回低存量部件及庫存量。
2.下達采購訂單。采購部門針對低存量部件及庫存量提交采購請求,向其供應商(通過供應商文件訪問供應商數據)下達采購訂單,并存儲于采購訂單文件中。
3. 交運部件。當供應商提交提單并交運部件時,運輸和接收(S/R)部門通過執(zhí)行以下三步過程接收貨物:
(1)驗證裝運部件。通過訪問采購訂單并將其與提單進行比較來驗證裝運的部件,并將提單信息發(fā)給 S/R 職員。 如果收貨部件項目出現(xiàn)在采購訂單和提單上,則已驗證的提單和收貨部件項目將被送去檢驗。否則,將S/R職員提交的裝運錯誤信息生成裝運錯誤通知發(fā)送給供應商。
(2) 檢驗部件質量。通過訪問質量標準來檢查裝運部件的質量,并將己驗證的提單發(fā)給檢驗員。如果部件滿足所有質量標準,則將其添加到接受的部件列表用于更新部件庫存。如果部件未通過檢查,則將檢驗員創(chuàng)建的缺陷裝運信息生成缺陷裝運通知發(fā)送給供應商。
(3)更新部件庫存。庫管員根據收到的接受的部件列表添加本次采購數量,與原有庫存量累加來更新庫存部件中的庫存量。標記訂單采購完成。
現(xiàn)采用結構化方法對該采購系統(tǒng)進行分析與設計,獲得如圖1-1 所示的上下文數據流圖和圖 1-2 所示的 0 層數據流圖。
圖1-1上下文數據流圖
圖1-2 0層數據流圖
【問題1】(5分)
使用說明中的詞語,給出圖1-1中的實體E1 ~E5
【問題2】(4分)
使用說明中的詞語,給出圖1-2中的數據存儲D1~D4的名稱。
【問題3】(4分)
根據說明和圖中術語,補充圖1-2中缺失的數據流及其起點和終點。
【問題 4】(2分)
用 200 字以內文字,說明建模圖 1-1 和圖 1-2 時如何保持數據流圖平衡。
答案解析與討論:
m.xiexiliangjiufa.com/st/384197499.html第
2題: 閱讀下列說明,回答問題1至問題3,將解答填入答題紙的對應欄內。
【說明】
某房屋租賃公司擬開發(fā)一個管理系統(tǒng)用于管理其持有的房屋、租客及員工信息。請根據下述需求描述完成系統(tǒng)的數據庫設計。
【需求描述】
1.公司擁有多幢公寓樓,每幢公寓樓有唯一的樓編號和地址。每幢公寓樓中有多套公寓,每套公寓在樓內有唯一的編號(不同公寓樓內的公寓號可相同〉。系統(tǒng)需記錄每套公寓的臥室數和衛(wèi)生間數。
2.員工和租客在系統(tǒng)中有唯一的編號(員工編號和租客編號)。
3.對于每個租客,系統(tǒng)需記錄姓名、多個聯(lián)系電話、一個銀行賬號(方便自動扣房租)、一個緊急聯(lián)系人的姓名及聯(lián)系電話。
4.系統(tǒng)需記錄每個員工的姓名、一個聯(lián)系電話和月工資。員工類別可以是經理或維修工,也可兼任。每個經理可以管理多幢公寓樓。每幢公寓樓必須由一個經理管理。系統(tǒng)需記錄每個維修工的業(yè)務技能,如:水暖維修、電工、木工等。
5. 租客租賃公寓必須和公司簽訂租賃合同。一份租賃合同通常由一個或多個租客(合租)與該公寓樓的經理簽訂,一個租客也可租賃多套公寓。合同內容應包含簽訂日期、開始時間、租期、押金和月租金。
【概念模型設計】
根據需求階段收集的信息,設計的實體聯(lián)系圖(不完整)如圖2-1所示。
【邏輯結構設計】
根據概念摸型設計階段完成的實體聯(lián)系圖,得出如下關系模式(不完整):
聯(lián)系電話(電話號碼,租客編號)
租客(租客編號,姓名,銀行賬號,聯(lián)系人姓名,聯(lián)系人電話)
員工(員工編號,姓名,聯(lián)系電話,類別,月工資, (a) )
公寓樓( (b) ,地址,經理編號)
公寓(樓編號,公寓號,臥室數,衛(wèi)生間數〉
合同(合同編號,租客編號,樓編號,公寓號,經理編號,簽訂日期,起始日期,租期, (c) ,押金)
【問題1】(4.5分)
補充圖2-1中的“簽約”聯(lián)系所關聯(lián)的實體及聯(lián)系類型。
【問題2】(4.5分)
補充邏輯結構設計中的(a)、(b)、(c)三處空缺。
【問題3】(6分)
在租期內,公寓內設施如出現(xiàn)問題,租客可在系統(tǒng)中進行故障登記,填寫故障描述,每項故障由系統(tǒng)自動生成唯一的故障編號,由公司派維修工進行故障維修,系統(tǒng)需記錄每次維修的維修日期和維修內容。請根據此需求,對圖2-1進行補充,并將所補充的ER圖內容轉換為一個關系模式,請給出該關系模式。
答案解析與討論:
m.xiexiliangjiufa.com/st/3842022576.html第
3題: 閱讀下列系統(tǒng)設計說明,回答問題1至問題3,將解答填入答題紙的對應欄內。
【說明】
某玩具公司正在開發(fā)一套電動玩具在線銷售系統(tǒng),用于向注冊會員提供端對端的玩具 定制和銷售服務。在系統(tǒng)設計階段,"創(chuàng)建新訂單 (New Order)" 的設計用例詳細描述如表 3-1 所示,候選設計類分類如表 3-2 所示,并根據該用例設計出部分類圖如圖3-1所示。
表 3-1 創(chuàng)建新訂單 (NewOrder) 設計用例


表3-2 候選設計類分類

在訂單處理的過程中,會員可以點擊“取消訂單"取消該訂單。如果支付失敗,該訂單將被標記為掛起狀態(tài),可后續(xù)重新支付,如果掛起超時30分鐘未支付,系統(tǒng)將自動取消該訂單。訂單支付成功后,系統(tǒng)判斷訂單類型: (1)對于常規(guī)訂單,標記為備貨狀態(tài),訂單信息發(fā)送到貨運部,完成打包后交付快遞發(fā)貨; (2)對于定制訂單,會自動進入定制狀態(tài),定制完成后交付快遞發(fā)貨。會員在系統(tǒng)中點擊”收貨"按鈕變?yōu)槭肇洜顟B(tài),結束整個訂單的處理流程。根據訂單處理過程所設計的狀態(tài)圖如圖3-2所示。
圖3-2 訂單狀態(tài)圖
【問題1】(6分)
根據表3-1中所標記的候選設計類,請按照其類別將編號 C1~C12 分別填入表 3-2 中的(a)、(b)和(c)處。
【問題2】 (4 分)
根據創(chuàng)建新訂單的用例描述,請給出圖3-1中X1~X4處對應類的名稱。
【問題3】 (5分)
根據訂單處理過程的描述,在圖 3-2 中S1~S5處分別填入對應的狀態(tài)名稱。
答案解析與討論:
m.xiexiliangjiufa.com/st/3842121292.html第
5題: 閱讀下列說明和 C++代碼,將應填入(n)處的字句寫在答題紙的對應欄內。
【說明】
某快餐廳主要制作井出售兒童套餐,一般包括主餐(各類比薩)、飲料和玩具,其餐品種類可能不同,但其制作過程相同。前臺服務員(Waiter)調度廚師制作套餐?,F(xiàn)采用生成器(Builder) 模式實現(xiàn)制作過程,得到如圖 5-1 所示的類圖。
圖5-1 類圖
【C++代碼】
#include
#include
using 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 :public 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 Waiter{
Private:
PizzaBuilder* pizzaBuilder;
public:
void setPizzaBuilder(PizzaBuilder* pizzaBuilder) { /*設置構建器*/
( 2 )
}
Pizza* getPizza() { return pizzaBuilder->getPizza(); }
void construct() { /*構建*/
pizzaBuilder->createNewPizza();
( 3 )
}
};
int main(){
Waiter*waiter=new Waiter();
PizzaBuilder*hawaiian pizzabuilder=new HawaiianPizzaBuilder()
( 4 );
( 5 );
cout<< "pizza: "<< waiter->getPizza()->getParts()<< endl;
}
程序的輸出結果為:
pizza: cross + mild + ham&pineapple
答案解析與討論:
m.xiexiliangjiufa.com/st/384239657.html第
6題: 閱讀下列說明和 Java代碼,將應填入 (n) 處的字句寫在答題紙的對應欄內。
【說明】
某快餐廳主要制作并出售兒童套餐,一般包括主餐(各類比薩)、飲料和玩具,其餐品種類可能不同,但其制作過程相同。前臺服務員 (Waiter) 調度廚師制作套餐?,F(xiàn)采用生成器 (Builder) 模式實現(xiàn)制作過程,得到如圖 6-1 所示的類圖。
【Java代碼】
class Pizza {
private String parts;
public void setParts(String parts) { this.parts = parts; }
public String toString() { return this.parts; }
}
abstract class PizzaBuilder {
protected Pizza pizza;
public Pizza getPizza() { return pizza; }
public void createNewPizza() { pizza = new Pizza(); }
public (1) ;
}
class HawaiianPizzaBuilder extends PizzaBuilder {
public void buildParts() { pizza.setParts("cross + mild + ham&pineapp1e”};
}
class SpicyPizzaBuilder extends PizzaBuilder {
public void buildParts() { pizza.setParts("pan baked + hot + pepperoni&salami"); }
}
class Waiter {
private PizzaBuilder pizzaBuilder;
public void setPizzaBuilder(PizzaBuilder pizzaBuilder) { /*設置構建器*/
( 2 ) ;
}
public Pizza getPizza(){ return pizzaBuilder.getPizza(); }
public void construct() { /*構建*/
pizzaBuilder.createNewPizza();
( 3 ) ;
}
}
Class FastFoodOrdering {
public static viod mainSting[]args) {
Waiter waiter = new Waiter();
PizzaBuilder hawaiian_pizzabuilder = new HawaiianPizzaBuilder();
( 4 ) ;
( 5 ) ;
System.out.println("pizza: " + waiter.getPizza());
}
}
程序的輸出結果為:
Pizza:cross + mild + ham&pineapple
答案解析與討論:
m.xiexiliangjiufa.com/st/3842420151.html