第
1題: 閱讀下列說(shuō)明和圖,回答問(wèn)題1至問(wèn)題4,將解答填入答題紙的對(duì)應(yīng)欄內(nèi)。
【說(shuō)明】
某學(xué)校欲開(kāi)發(fā)圖書管理系統(tǒng),以記錄圖書館藏圖書及其借出和歸還情況,提供給借閱者借閱圖書功能,提供給圖書館管理員管理和定期更新圖書表功能。主要功能的具體描述如下:
(1)處理借閱。借閱者要借閱圖書時(shí),系統(tǒng)必須對(duì)其身份(借閱者ID)進(jìn)行檢查。通過(guò)與教務(wù)處維護(hù)的學(xué)生數(shù)據(jù)庫(kù)、人事處維護(hù)的職工數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行比對(duì),以驗(yàn)證借閱者ID是否合法,若合法,則檢查借閱者在逾期未還圖書表中是否有逾期未還圖書,以及罰金表中的罰金是否超過(guò)限額。如果沒(méi)有逾期未還圖書并且罰金未超過(guò)限額,則允許借閱圖書,更新圖書表,并將借閱的圖書存入借出圖書表,借閱者歸還所借圖書時(shí),先由圖書館管理員檢查圖書是否缺失或損壞,若是,則對(duì)借閱者處以相應(yīng)罰金并存入罰金表;然后,檢查所還圖書是否逾期,若是,執(zhí)行“處理逾期”操作;最后,更新圖書表,刪除借出圖書表中的相應(yīng)記錄。
(2)維護(hù)圖書。圖書館管理員查詢圖書信息;在新進(jìn)圖書時(shí)錄入圖書信息,存入圖書表;在圖書丟失或損壞嚴(yán)重時(shí),從圖書表中刪除該圖書記錄。
(3)處理逾期。系統(tǒng)在每周一統(tǒng)計(jì)逾期未還圖書,逾期未還的圖書按規(guī)則計(jì)算罰金,并記入罰金表,并給有逾期未還圖書的借閱者發(fā)送提醒消息。借閱者在借閱和歸還圖書時(shí),若罰金超過(guò)限額,管理員收取罰金,并更新罰金表中的罰金額度。
現(xiàn)采用結(jié)構(gòu)化方法對(duì)該圖書管理系統(tǒng)進(jìn)行分析與設(shè)計(jì),獲得如圖1-1所示的頂層數(shù)據(jù),流圖和圖1-2所示的0層數(shù)據(jù)流圖。


?【問(wèn)題1】
使用說(shuō)明中的詞語(yǔ),給出圖1-1中的實(shí)體E1-E4的名稱。
?【問(wèn)題2】
使用說(shuō)明中的詞語(yǔ),給出圖1-2中的數(shù)據(jù)存儲(chǔ)D1~D4的名稱。
?【問(wèn)題3】
在DFD建模時(shí),需要對(duì)有些復(fù)雜加工(處理)進(jìn)行進(jìn)一步精化,繪制下層數(shù)據(jù)流圖。針對(duì)圖1-2中的加工“處理借閱”,在1層數(shù)據(jù)流圖中應(yīng)分解為哪些加工?(使用說(shuō)明中的術(shù)語(yǔ))
?【問(wèn)題4】
說(shuō)明【問(wèn)題3】中繪制1層數(shù)據(jù)流圖時(shí)要注意的問(wèn)題。
答案解析與討論:
m.xiexiliangjiufa.com/st/38115524.html第
2題:
閱讀下列說(shuō)明和圖,回答問(wèn)題1至問(wèn)題3,將解答填入答題紙的對(duì)應(yīng)欄內(nèi)。
【說(shuō)明】
某醫(yī)院擬開(kāi)發(fā)一套住院病人信息管理系統(tǒng),以方便對(duì)住院病人、醫(yī)生、護(hù)士和手術(shù)等信息進(jìn)行管理。
【需求分析】
(1)系統(tǒng)登記每個(gè)病人的住院信息,包括:病案號(hào)、病人的姓名、性別、地址、身份證號(hào)、電話號(hào)碼、入院時(shí)問(wèn)及病床等信息,每個(gè)病床有唯一所屬的病區(qū)及病房,如表2-1所示。其中病案號(hào)唯一標(biāo)識(shí)病人本次住院的信息。
表2-1 住院登記表
病案號(hào) | 071002286 | 姓名 | 張三 | 性別 | 男 |
省份證號(hào) | 0102196701011234 | 入院時(shí)間 | 2011-03-03 | 病床號(hào) | 052401 |
病房 | 0524室 | 病房類型 | 三人間 | 所屬病區(qū) | 05II區(qū) |
(2)在一個(gè)病人的一次住院期間,由一名醫(yī)生對(duì)該病人的病情進(jìn)行診斷,并填寫一份診斷書,如表2-2所示。對(duì)于需要進(jìn)行一次或多次手術(shù)的病人,系統(tǒng)記錄手術(shù)名稱、手術(shù)室、手術(shù)日期、手術(shù)時(shí)間、主刀醫(yī)生及多名協(xié)助醫(yī)生,每名醫(yī)生在手術(shù)中的責(zé)任不同,如表2-3所示,其中手術(shù)室包含手術(shù)室號(hào)、樓層、地點(diǎn)和類型等信息。
表2-2 診斷書
表2-3 手術(shù)安排表
(3)護(hù)士分為兩類:病床護(hù)士和手術(shù)室護(hù)士。每個(gè)病床護(hù)士負(fù)責(zé)護(hù)理一個(gè)病區(qū)內(nèi)的所有病人,每個(gè)病區(qū)由多名護(hù)士負(fù)責(zé)護(hù)理。手術(shù)室護(hù)士負(fù)責(zé)手術(shù)室的護(hù)理工作。每個(gè)手術(shù)室護(hù)士負(fù)責(zé)多個(gè)手術(shù)室,每個(gè)手術(shù)室由多名護(hù)士負(fù)責(zé),每個(gè)護(hù)士在手術(shù)室中有不同的責(zé)任,并由系統(tǒng)記錄其責(zé)任。
【概念模型設(shè)計(jì)】
根據(jù)需求階段收集的信息,設(shè)計(jì)的實(shí)體聯(lián)系圖(不完整)如圖2-1所示。
【邏輯結(jié)構(gòu)設(shè)計(jì)】
根據(jù)概念模型設(shè)計(jì)階段完成的實(shí)體聯(lián)系圖,得出如下關(guān)系模式(不完整):
病床(病床號(hào),病房,病房類型,所屬病區(qū))
護(hù)士(護(hù)士編號(hào),姓名,類型,性別,級(jí)別)
病房護(hù)士( (1) )
手術(shù)室(手術(shù)室號(hào),樓層,地點(diǎn),類型)
手術(shù)室護(hù)士( (2) )
病人( (3),姓名,性別,地址,身份證號(hào),電話號(hào)碼,入院時(shí)間)
醫(yī)生(醫(yī)生編號(hào),姓名,性別,職稱,所屬科室)
診斷書( (4),診斷,診斷時(shí)間)
手術(shù)安排(病案號(hào),手術(shù)室號(hào),手術(shù)時(shí)間,手術(shù)名稱)
手術(shù)醫(yī)生安排( (5) ,醫(yī)生責(zé)任)
【問(wèn)題1】(6分)
補(bǔ)充圖2-1中的聯(lián)系和聯(lián)系的類型。
?【問(wèn)題2】(5分)
根據(jù)圖2-1,將邏輯結(jié)構(gòu)設(shè)計(jì)階段生成的關(guān)系模式中的空(1)~(5)補(bǔ)充完整,并用下劃線指出主鍵。
?【問(wèn)題3】(4分)
如果系統(tǒng)還需要記錄醫(yī)生給病人的用藥情況,即記錄醫(yī)生給病人所開(kāi)處方中藥品的名稱、用量、價(jià)格、藥品的生產(chǎn)廠家等信息。請(qǐng)根據(jù)該要求,對(duì)圖2-1進(jìn)行修改,畫出補(bǔ)充后的實(shí)體、實(shí)體間聯(lián)系和聯(lián)系的類型。
答案解析與討論:
m.xiexiliangjiufa.com/st/3811612462.html第
3題: 閱讀下列說(shuō)明和圖,回答問(wèn)題1至問(wèn)題3,將解答填入答題紙的對(duì)應(yīng)欄內(nèi)。
【說(shuō)明】
某網(wǎng)上購(gòu)物平臺(tái)的主要功能如下:
(1)創(chuàng)建訂單。顧客( Customer)在線創(chuàng)建訂單(Order),主要操作是向訂單中添加項(xiàng)目、從訂單中刪除項(xiàng)目。訂單中應(yīng)列出所訂購(gòu)的商品(Product)及其數(shù)量(quantities)。
(2)提交訂單。訂單通過(guò)網(wǎng)絡(luò)來(lái)提交。在提交訂單時(shí),顧客需要提供其姓名(name)、收貨地址(address)、以及付款方式(form of payment)(預(yù)付卡、信用卡或者現(xiàn)金)。為了制定送貨計(jì)劃以及安排送貨車輛,系統(tǒng)必須確定訂單量(volume)。除此之外,還必須記錄每種商品的名稱(Name)、造價(jià)(cost price)、售價(jià)(sale price)以及單件商品的包裝體積(cubic volume)。
(3)處理訂單。訂單處理人員接收來(lái)自系統(tǒng)的訂單;根據(jù)訂單內(nèi)容,安排配貨,制定送貨計(jì)劃。在送貨計(jì)劃中不僅要指明發(fā)貨日期(delivery date),還要記錄每個(gè)訂單的限時(shí)發(fā)送要求(Delivery Time Window)。
(4)派單。訂單處理人員將己配好貨的訂單轉(zhuǎn)交給派送人員。
(5)送貨/收貨。派送人員將貨物送到顧客指定的收貨地址。當(dāng)顧客收貨時(shí),需要在運(yùn)貨單(delivery slip)上簽收。簽收后的運(yùn)貨單最終需交還給訂單處理人員。
(6)收貨確認(rèn)。當(dāng)訂單處理人員收到簽收過(guò)的運(yùn)貨單后,會(huì)和顧客進(jìn)行一次再確認(rèn)。
現(xiàn)采用面向?qū)ο蠓椒ㄩ_(kāi)發(fā)上述系統(tǒng),得到如圖3-1所示的用例圖和圖3-2所示的類圖。

?【問(wèn)題1】
根據(jù)說(shuō)明中的描述,給出圖3-1中A1~A3所對(duì)應(yīng)的參與者名稱和U1~U2處所對(duì)應(yīng)的用例名稱。
?【問(wèn)題2】
根據(jù)說(shuō)明中的描述,給出圖3-2中C1~C3所對(duì)應(yīng)的類名以及(1)~(4)處所對(duì)應(yīng)的多重度(類名使用說(shuō)明中給出的英文詞匯)。
?【問(wèn)題3】
根據(jù)說(shuō)明中的描述,將類C2和C3的屬性補(bǔ)充完整(屬性名使用說(shuō)明中給出的英文詞匯)。
答案解析與討論:
m.xiexiliangjiufa.com/st/3811715797.html第
5題: 閱讀下列說(shuō)明和C++代碼,將應(yīng)填入(n)處的字句寫在答題紙的對(duì)應(yīng)欄內(nèi)。
【說(shuō)明】
某咖啡店當(dāng)賣咖啡時(shí),可以根據(jù)顧客的要求在其中加入各種配料,咖啡店會(huì)根據(jù)所加入的配料來(lái)計(jì)算費(fèi)用??Х鹊晁?yīng)的咖啡及配料的種類和價(jià)格如下表所示。
咖啡 | 價(jià)格/杯 | 配 料 | 價(jià)格/份 |
蒸餾咖啡(Espresso) | 25 | 摩卡(Mocha) | 10 |
深度烘焙咖啡(DarkRoast) | 20 | 奶泡(Whip) | 8 |
現(xiàn)采用裝飾器(Decorator)模式來(lái)實(shí)現(xiàn)計(jì)算費(fèi)用的功能,得到如圖5-1所示的類圖

【C++代碼】
#include
#include
using namespace std;
const int ESPRESSO_PRICE = 25;
const int DRAKROAST_PRICE = 20;
const int MOCHA_PRICE = 10;
const int WHIP_PRICE = 8;
class Beverage { //飲料
(1) :string description;
public:
(2) ( ){ return description; }
(3) ;
};
class CondimentDecorator : public Beverage { //配料
protected:
(4) ;
};
class Espresso : public Beverage { //蒸餾咖啡
public:
Espresso ( ) {description="Espresso"; }
int cost ( ){return ESPRESSO_PRICE; }
};
class DarkRoast : public Beverage { //深度烘焙咖啡
public:
DarkRoast( ){ description = "DardRoast"; }
int cost( ){ return DRAKROAST_PRICE; }
};
class Mocha : public CondimentDecorator { //摩卡
public:
Mocha(Beverage*beverage){ this->beverage=beverage; }
string getDescription( ){ return beverage->getDescription( )+",Mocha"; }
int cost( ){ return MOCHA_PRICE+beverage->cost( ); }
};
class Whip :public CondimentDecorator { //奶泡
public:
Whip(Beverage*beverage) { this->beverage=beverage; }
string getDescription( ) {return beverage->getDescription( )+",Whip"; }
int cost( ) { return WHIP_PRICE+beverage->cost( ); }
};
int main() {
Beverage* beverage = new DarkRoast( );
beverage=new Mocha( (5) );
beverage=new Whip( (6) );
cout
return 0;
}
編譯運(yùn)行上述程序,其輸出結(jié)果為:
DarkRoast, Mocha, Whip ¥38
答案解析與討論:m.xiexiliangjiufa.com/st/3811911754.html
第6題: 閱讀下列說(shuō)明和Java代碼,將應(yīng)填入(n)處的字句寫在答題紙的對(duì)應(yīng)欄內(nèi)。
【說(shuō)明】
某咖啡店當(dāng)賣咖啡時(shí),可以根據(jù)顧客的要求在其中加入各種配料,咖啡店會(huì)根據(jù)所加入的配料來(lái)計(jì)算費(fèi)用。咖啡店所供應(yīng)的咖啡及配料的種類和價(jià)格如下表所示。
咖啡 | 價(jià)格/杯 | 配 料 | 價(jià)格/份 |
蒸餾咖啡(Espresso) | 25 | 摩卡(Mocha) | 10 |
深度烘焙咖啡(DarkRoast) | 20 | 奶泡(Whip) | 8 |
現(xiàn)采用裝飾器(Decorator)模式來(lái)實(shí)現(xiàn)計(jì)算費(fèi)用的功能,得到如圖6-1所示的類圖

【Java代碼】
import java.util.*;
(1) class Beverage { //飲料
String description = "Unknown Beverage";
public (2) (){return description;}
public (3) ;
}
abstract class CondimentDecorator extends Beverage { //配料
(4) ;
}
class Espresso extends Beverage { //蒸餾咖啡
private final int ESPRESSO_PRICE = 25;
public Espresso() { description="Espresso"; }
public int cost() { return ESPRESSO_PRICE; }
}
class DarkRoast extends Beverage { //深度烘焙咖啡
private finalint DARKROAST_PRICE = 20;
public DarkRoast0 { description = "DarkRoast"; }
public int cost(){ rcturn DARKROAST PRICE; }
}
class Mocha extends CondimentDecorator { //摩卡
private final int MOCHA_PRICE = 10;
public Mocha(Beverage beverage) {
this.beverage = beverage;
}
public String getDescription() {
return beverage.getDescription0 + ", Mocha";
}
public int cost() {
return MOCHA_PRICE + beverage.cost();
}
}
class Whip extends CondimentDecorator { //奶泡
private finalint WHIP_PRICE = 8;
public Whip(Beverage beverage) { this.beverage = beverage; }
public String getDescription() {
return beverage.getDescription()+", Whip";
}
public int cost() { return WHIP_PRICE + beverage.cost(); }
}
public class Coffee {
public static void main(String args[]) {
Beverage beverage = new DarkRoast();
beverage=new Mocha( (5) );
beverage=new Whip ( (6) ) ;
System.out.println(beverage.getDescription0 +"¥" +beverage.cost());
}
}
編譯運(yùn)行上述程序,其輸出結(jié)果為:
DarkRoast, Mocha, Whip ¥38
答案解析與討論:m.xiexiliangjiufa.com/st/381209990.html