上半年軟件設(shè)計(jì)師下午試題及答案_第1頁(yè)
上半年軟件設(shè)計(jì)師下午試題及答案_第2頁(yè)
上半年軟件設(shè)計(jì)師下午試題及答案_第3頁(yè)
上半年軟件設(shè)計(jì)師下午試題及答案_第4頁(yè)
上半年軟件設(shè)計(jì)師下午試題及答案_第5頁(yè)
已閱讀5頁(yè),還剩11頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、試題一(共15分) 閱讀下列說(shuō)明和圖,回答問(wèn)題1至問(wèn)題4,將解答填入答題紙的對(duì)應(yīng)欄內(nèi)。【說(shuō)明】 某學(xué)校開(kāi)發(fā)圖書(shū)管理系統(tǒng),以記錄圖書(shū)館藏圖書(shū)及其借出和歸還情況,提供給借閱者借閱圖書(shū)功能,提供給圖書(shū)館管理員管理和定期更新圖書(shū)表功能。主要功能的具體描述如下:(1)處理借閱。借閱者要借閱圖書(shū)時(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是否合法,若合法,則檢查借閱者在逾期未還圖書(shū)表中是否有逾期未還圖書(shū),以及罰金表中的罰金是否超過(guò)限額。如果沒(méi)有逾期未還圖書(shū)并且罰金未超過(guò)限額,則允許借閱圖書(shū),更新圖書(shū)表,并將借閱的圖書(shū)存入

2、借出圖書(shū)表,借閱者歸還所借圖書(shū)時(shí),先由圖書(shū)館管理員檢查圖書(shū)是否缺失或損壞,若是,則對(duì)借閱者處以相應(yīng)罰金并存入罰金表;然后,檢查所還圖書(shū)是否逾期,若是,執(zhí)行“處理逾期”操作;最后,更新圖書(shū)表,刪除借出圖書(shū)表中的相應(yīng)記錄。 (2)維護(hù)圖書(shū)。圖書(shū)館管理員查詢圖書(shū)信息;在新進(jìn)圖書(shū)時(shí)錄入圖書(shū)信息,存入圖書(shū)表;在圖書(shū)丟失或損壞嚴(yán)重時(shí),從圖書(shū)表中刪除該圖書(shū)記錄。(3)處理逾期。系統(tǒng)在每周一統(tǒng)計(jì)逾期未還圖書(shū),逾期未還的圖書(shū)按規(guī)則計(jì)算罰金,并記入罰金表,并給有逾期未還圖書(shū)的借閱者發(fā)送提醒消息。借閱者在借閱和歸還圖書(shū)時(shí),若罰金超過(guò)限額,管理員收取罰金,并更新罰金表中的罰金額度?,F(xiàn)采用結(jié)構(gòu)化方法對(duì)該圖書(shū)管理系統(tǒng)進(jìn)行

3、分析與設(shè)計(jì),獲得如圖1-1所示的頂層數(shù)據(jù)流圖和圖1.2所示的0層數(shù)據(jù)流圖?!締?wèn)題1】(4分)使用說(shuō)明中的詞語(yǔ),給出圖1-1中的實(shí)體E1-E4的名稱。【問(wèn)題2】(4分)使用說(shuō)明中的詞語(yǔ),給出圖1-2中的數(shù)據(jù)存儲(chǔ)D1D4的名稱?!締?wèn)題3】 (5分)在DFD建模時(shí),需要對(duì)有些復(fù)雜加工(處理)進(jìn)行進(jìn)一步精化,繪制下層數(shù)據(jù)流圖。針對(duì)圖1-2中的加工“處理借閱”,在1層數(shù)據(jù)流圖中應(yīng)分解為哪些加工?(使用說(shuō)明中的術(shù)語(yǔ))【問(wèn)題4】(2分)說(shuō)明【問(wèn)題3】中繪制1層數(shù)據(jù)流圖時(shí)要注意的問(wèn)題。試題二(共15分) 閱讀下列說(shuō)明,回答問(wèn)題1至問(wèn)題3,將解答填入答題紙的對(duì)應(yīng)欄內(nèi)?!菊f(shuō)明】 某醫(yī)院擬開(kāi)發(fā)一套住院病人信息管理系

4、統(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)在一個(gè)病人的一次住院期間,由一名醫(yī)生對(duì)該病人的病情進(jìn)行診斷,并填寫(xiě)一份診斷書(shū),如表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)和類(lèi)型等信息。(3)護(hù)士分為兩類(lèi):病床護(hù)士和手術(shù)室

5、護(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所示?!具壿嫿Y(jié)構(gòu)設(shè)計(jì)】根據(jù)概念模型設(shè)計(jì)階段完成的實(shí)體聯(lián)系圖,得出如下關(guān)系模式(不完整):病床(病床號(hào),病房,病房類(lèi)型,所屬病區(qū))護(hù)士(護(hù)士編號(hào),姓名,類(lèi)型,性別,級(jí)別)病房護(hù)士( (1) )手術(shù)室(手術(shù)室號(hào),樓層,地點(diǎn),類(lèi)型)手術(shù)室護(hù)士( (2) )病人( (3),姓名,性別,地址,身份證號(hào),電話號(hào)碼,入

6、院時(shí)間)醫(yī)生(醫(yī)生編號(hào),姓名,性別,職稱,所屬科室)診斷書(shū)( (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)系的類(lèi)型。【問(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)行修改,畫(huà)出補(bǔ)充后的實(shí)體、實(shí)體間聯(lián)系和聯(lián)系的類(lèi)型。試題三(共15分)閱讀下列說(shuō)明和圖,回答問(wèn)題1至問(wèn)題3,將解

7、答填入答題紙的對(duì)應(yīng)欄內(nèi)?!菊f(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ì)劃以及安排送貨車(chē)輛,系統(tǒng)必須確定訂單量(volume)。除此之外,還必須記錄每種商品的名稱(Name)、造價(jià)(cost price)、售價(jià)(s

8、ale 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)?,F(xiàn)采用面向?qū)ο?/p>

9、方法開(kāi)發(fā)上述系統(tǒng),得到如圖3-1所示的用例圖和圖3-2所示的類(lèi)圖?!締?wèn)題1】 (5分)根據(jù)說(shuō)明中的描述,給出圖3-1中A1A3所對(duì)應(yīng)的參與者名稱和U1U2處所對(duì)應(yīng)的用例名稱?!締?wèn)題2】(7分)根據(jù)說(shuō)明中的描述,給出圖3-2中C1C3所對(duì)應(yīng)的類(lèi)名以及(1)(4)處所對(duì)應(yīng)的多重度(類(lèi)名使用說(shuō)明中給出的英文詞匯)?!締?wèn)題3】(3分)根據(jù)說(shuō)明中的描述,將類(lèi)C2和C3的屬性補(bǔ)充完整(屬性名使用說(shuō)明中給出的英文詞匯)。試題四(共15分)閱讀下列說(shuō)明和C代碼,回答問(wèn)題1至問(wèn)題3,將解答寫(xiě)在答題紙的對(duì)應(yīng)欄內(nèi)。【說(shuō)明】用兩臺(tái)處理機(jī)A和B處理n個(gè)作業(yè)。設(shè)A和B處理第i個(gè)作業(yè)的時(shí)間分別為ai和bi。由于各個(gè)作業(yè)的特

10、點(diǎn)和機(jī)器性能的關(guān)系,對(duì)某些作業(yè),在A上處理時(shí)間長(zhǎng),而對(duì)某些作業(yè)在B上處理時(shí)間長(zhǎng)。一臺(tái)處理機(jī)在某個(gè)時(shí)刻只能處理一個(gè)作業(yè),而且作業(yè)處理是不可中斷的,每個(gè)作業(yè)只能被處理一次?,F(xiàn)要找出一個(gè)最優(yōu)調(diào)度方案,使得n個(gè)作業(yè)被這兩臺(tái)處理機(jī)處理完畢的時(shí)間(所有作業(yè)被處理的時(shí)間之和)最少。算法步驟:(1)確定候選解上界為R短的單臺(tái)處理機(jī)處理所有作業(yè)的完成時(shí)間m,(2)用p(x,y,k)=1表示前k個(gè)作業(yè)可以在A用時(shí)不超過(guò)x且在B用時(shí)不超過(guò)y時(shí)間 內(nèi)處理完成,則p(x,y,k)=p(x-ak,y,k-1)|p(x,y-bk,k-1)(|表示邏輯或操作)。(3)得到最短處理時(shí)問(wèn)為min(max(x,y)?!綜代碼】下面

11、是該算法的C語(yǔ)言實(shí)現(xiàn)。(1)常量和變量說(shuō)明n: 作業(yè)數(shù)m: 候選解上界a: 數(shù)組,長(zhǎng)度為n,記錄n個(gè)作業(yè)在A上的處理時(shí)間,下標(biāo)從0開(kāi)始b: 數(shù)組,長(zhǎng)度為n,記錄n個(gè)作業(yè)在B上的處理時(shí)間,下標(biāo)從0開(kāi)始k: 循環(huán)變量p: 三維數(shù)組,長(zhǎng)度為(m+1)*(m+1)*(n+1)temp: 臨時(shí)變量max: 最短處理時(shí)間(2)C代碼#include<stdio.h>int n, m;int a60, b60, p10010060;void read() /*輸入n、a、b,求出m,代碼略*/void schedule() /*求解過(guò)程*/int x,y,k;for(x=0;x<=m;x+

12、)for(y=0;y<m;y+)(1)for(k=1;k<n;k+)pxyk=0;for(k=1;k<n;k+)for(x=0;x<=m;x+)for(y=0;y<=m;y+)if(x - ak-1>=0) (2) ;if( (3) )pxyk=(pxyk |pxy-bk-1k-1);void write() /*確定最優(yōu)解并輸出*/int x,y,temp,max=m;for(x=0;x<=m;x+)for(y=0;y<=m;y+)if( (4) )temp=(5) ;if(temp< max)max = temp;printf(&quo

13、t;n%dn",max),void main()read();schedule();write();【問(wèn)題1】 (9分)根據(jù)以上說(shuō)明和C代碼,填充C代碼中的空(1)(5)。【問(wèn)題2】(2分)根據(jù)以上C代碼,算法的時(shí)間復(fù)雜度為(6)(用O符號(hào)表示)?!締?wèn)題3】(4分)考慮6個(gè)作業(yè)的實(shí)例,各個(gè)作業(yè)在兩臺(tái)處理機(jī)上的處理時(shí)間如表4-1所示。該實(shí)例的最優(yōu)解為(7),最優(yōu)解的值(即最短處理時(shí)間)為(8)。最優(yōu)解用(x1,x2,x3,x4,x5,x6)表示,其中若第i個(gè)作業(yè)在A上赴理,則xi=l,否則xi=2。如(1,1,1,1,2,2)表示作業(yè)1,2,3和4在A上處理,作業(yè)5和6在B上處理。試題

14、五(共15分,在試題五和試題六中任選1題解答,如果兩題都解答,則視試題五的解答有效。) 閱讀下列說(shuō)明和C+代碼,將應(yīng)填入(n)處的字句寫(xiě)在答題紙的對(duì)應(yīng)欄內(nèi)。【說(shuō)明】某咖啡店當(dāng)賣(mài)咖啡時(shí),可以根據(jù)顧客的要求在其中加入各種配料,咖啡店會(huì)根據(jù)所加入的配料來(lái)計(jì)算費(fèi)用??Х鹊晁?yīng)的咖啡及配料的種類(lèi)和價(jià)格如下表所示?!綜+代碼】#include <iostream>#include <string>using namespace std;const int ESPRESSO_PRICE = 25;const int DRAKROAST_PRICE = 20;const int MO

15、CHA_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_PR

16、ICE; ;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()

17、+",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();

18、 ;int main() Beverage* beverage = new DarkRoast();beverage=new Mocha( (5) );beverage=new Whip( (6) );cout<<beverage->getDescription()<<"¥"<<beverage->cost() endl;return 0;編譯運(yùn)行上述程序,其輸出結(jié)果為:DarkRoast, Mocha, Whip ¥38 試題六(共15分) 閱讀下列說(shuō)明和Java代碼,將應(yīng)填入(n)處的字句寫(xiě)在答題紙的對(duì)應(yīng)欄內(nèi)。【說(shuō)明】某咖

19、啡店當(dāng)賣(mài)咖啡時(shí),可以根據(jù)顧客的要求在其中加入各種配料,咖啡店會(huì)根據(jù)所加入的配料來(lái)計(jì)算費(fèi)用??Х鹊晁?yīng)的咖啡及配料的種類(lèi)和價(jià)格如下表所示?!綣ava代碼】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 Beverag

20、e /蒸餾咖啡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 DarkRoast() description = "DarkRoast" public int cost() rcturn DARKROAST PRICE; class Mocha extends CondimentDecorator /摩卡private final int MOCHA_PRICE = 10;public Mocha(Beverage beverage) this.bevera

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論