中級軟件設(shè)計師2023上半年下午試題_第1頁
中級軟件設(shè)計師2023上半年下午試題_第2頁
中級軟件設(shè)計師2023上半年下午試題_第3頁
中級軟件設(shè)計師2023上半年下午試題_第4頁
中級軟件設(shè)計師2023上半年下午試題_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

本文格式為Word版,下載可任意編輯——中級軟件設(shè)計師2023上半年下午試題

中級軟件設(shè)計師2023上半年下午試題

試題一

閱讀以下說明和圖,回復(fù)問題1至問題4,將解答填入對應(yīng)欄內(nèi)。[說明]

某大型企業(yè)的數(shù)據(jù)中心為了集中管理、控制用戶對數(shù)據(jù)的訪問并支持大量的連接需求,欲構(gòu)建數(shù)據(jù)管理中問件,其主要功能如下:

1數(shù)據(jù)管理員可通過中間件進(jìn)行用戶管理、操作管理和權(quán)限管理。用戶管理維護(hù)用戶信息,用戶信息(用戶名、密碼)存儲在用戶表中;操作管理維護(hù)數(shù)據(jù)實(shí)體的標(biāo)準(zhǔn)操作及其所屬的后端數(shù)據(jù)庫信息,標(biāo)準(zhǔn)操作和后端數(shù)據(jù)庫信息存放在操作表中;權(quán)限管理維護(hù)權(quán)限表,該表存儲用戶可執(zhí)行的操作信息。

2中間件驗(yàn)證前端應(yīng)用提供的用戶信息。若驗(yàn)證不通過,返回非法用戶信息;若驗(yàn)證通過,中間件將等待前端應(yīng)用提交操作請求。

3前端應(yīng)用提交操作請求后,中間件先對請求進(jìn)行格式檢查。假使格式不正確,返回格式錯誤信息;假使格式正確,則進(jìn)行權(quán)限驗(yàn)證(驗(yàn)證用戶是否有權(quán)執(zhí)行請求的操作),若用戶無權(quán)執(zhí)行該操作,則返回權(quán)限不足信息,否則進(jìn)行連接納理。

4連接納理連接相應(yīng)的后臺數(shù)據(jù)庫并提交操作。連接納理先檢查是否存在空閑的數(shù)據(jù)庫連接,假使不存在,新建連接;假使存在,則重用連接。

5后端數(shù)據(jù)庫執(zhí)行操作并將結(jié)果傳給中間件,中間件對收到的操作結(jié)果進(jìn)行處理后,將其返回給前端應(yīng)用。

現(xiàn)采用結(jié)構(gòu)化方法對系統(tǒng)進(jìn)行分析與設(shè)計,獲得如圖1-1所示的頂層數(shù)據(jù)流圖和圖1-2所示的0層數(shù)據(jù)流圖。

1、使用說明中的詞語,給出圖1-1中的實(shí)體E1~E3的名稱。2、使用說明中的詞語,給出圖1-2中的數(shù)據(jù)存儲D1~D3的名稱3、給出圖1-2中加工P的名稱及其輸入、輸出流。名稱起點(diǎn)終點(diǎn)P輸入流P輸出流

除加工P的輸入與輸出流外,圖1-2還缺失了兩條數(shù)據(jù)流,請給出這兩條數(shù)據(jù)流的起點(diǎn)和終點(diǎn)。

起點(diǎn)終點(diǎn)qxD3注:名稱使用說明中的詞匯,起點(diǎn)和終點(diǎn)均使用圖1-2中的符號或詞匯。4、在繪制數(shù)據(jù)流圖時,需要注意加工的繪制。請給出三種在繪制加工的輸入、輸出時可能出現(xiàn)的錯誤。

試題二

閱讀以下說明,回復(fù)問題1至問題3,將解答填入對應(yīng)欄內(nèi)。[說明]

某學(xué)校擬開發(fā)一套試驗(yàn)管理系統(tǒng),對各課程的試驗(yàn)安排狀況進(jìn)行管理。[需求分析]

一個試驗(yàn)室可進(jìn)行多種類型不同的試驗(yàn)。由于試驗(yàn)室和試驗(yàn)員資源有限,需根據(jù)學(xué)生人數(shù)分批次安排試驗(yàn)室和試驗(yàn)員。一門課程可以為多個班級開設(shè),每個班級每學(xué)期可以開設(shè)多門課程。一門課程的一種試驗(yàn)可以根據(jù)人數(shù)、試驗(yàn)室的可容納人數(shù)和試驗(yàn)類型,分批次開設(shè)在多個試驗(yàn)室的不同時問段。一個試驗(yàn)室的一次試驗(yàn)可以分派多個試驗(yàn)員負(fù)責(zé)輔導(dǎo)試驗(yàn),試驗(yàn)員給出學(xué)生的每次試驗(yàn)成績。(1)課程信息包括:課程編號、課程名稱、試驗(yàn)學(xué)時、授課學(xué)期和丌課的班級等信息;試驗(yàn)信息記錄該課程的試驗(yàn)進(jìn)度信息,包括:試驗(yàn)名、試驗(yàn)類型、學(xué)時、安排周次等信息,如表2-1所示。表2-1課程及試驗(yàn)信息課程編號15054037課程名稱數(shù)字電視原刪試驗(yàn)學(xué)時12電0501,信班級授課院系機(jī)械與電氣工程授課學(xué)期第三學(xué)期0501,計序號試驗(yàn)類難度學(xué)時安排周次1505403723音視頻AD-DA試驗(yàn)驗(yàn)證性1011505403725音頻編碼試驗(yàn)驗(yàn)證性2021505403719視頻編碼試驗(yàn)演示性0.503(2)以課程為單位制定試驗(yàn)安排計劃信息,包括:試驗(yàn)地點(diǎn),試驗(yàn)時間、試驗(yàn)員等信息,試驗(yàn)計劃如表2-2所示。表2-2試驗(yàn)安排計劃數(shù)字電視2023年1505403課程編號課程名稱安排學(xué)期總?cè)藬?shù)2207原理秋試驗(yàn)編號試驗(yàn)名試驗(yàn)員試驗(yàn)員地點(diǎn)批次號人數(shù)第3周周試驗(yàn)三樓1505403160音視頻AD-DA丈驗(yàn)盛×,陳×701四晚上310第3周周試驗(yàn)三樓1505403260音視頻AD-DA試驗(yàn)盛×,陳×701四晚上310第3周周試驗(yàn)三樓1505403360音視頻AD-DA試驗(yàn)吳×,劉×701五晚上311第3周周試驗(yàn)三樓1505403440音視頻AD-DA試驗(yàn)吳×701五晚上311第5周周試驗(yàn)四樓1505403170音頻編碼試驗(yàn)盛×,劉×702一下午410(3)由試驗(yàn)員給出每個學(xué)生每次試驗(yàn)的成績,包括:試驗(yàn)名、學(xué)號、姓名、班級、試驗(yàn)成績等信息,試驗(yàn)成績?nèi)绫?-3所示。表2-3試驗(yàn)成績試驗(yàn)員:盛×試驗(yàn)名數(shù)字電視原理音視頻AD-DA試驗(yàn)課程名學(xué)號姓名班級試驗(yàn)成績03050100187陳民信050103050100278劉志信050104050100186張勤計0501(4)學(xué)生的試驗(yàn)課程總成績根據(jù)每次試驗(yàn)的成績以及每次試驗(yàn)的難度來計算。[概念模型設(shè)計]

根據(jù)需求階段收集的信息,設(shè)計的實(shí)體聯(lián)系圖(不完整)如圖2-1所示。

0501試驗(yàn)名

[規(guī)律結(jié)構(gòu)設(shè)計]

根據(jù)概念模型設(shè)計階段完成的實(shí)體聯(lián)系圖,得出如下關(guān)系模式(不完整):課程(課程編號,課程名稱,授課院系,試驗(yàn)學(xué)時)班級(班級號,專業(yè),所屬系)開課狀況((1),授課學(xué)期)

試驗(yàn)((2),試驗(yàn)類型,難度,學(xué)時,安排周次)試驗(yàn)計劃((3),試驗(yàn)時間,人數(shù))試驗(yàn)員((4),級別)

試驗(yàn)室(試驗(yàn)室編號,地點(diǎn),開放時間,可容納人數(shù),試驗(yàn)類型)學(xué)生((5),姓名,年齡,性別)

試驗(yàn)成績((6),試驗(yàn)成績,評分試驗(yàn)員)5、補(bǔ)充圖2-1中的聯(lián)系和聯(lián)系的類型。

根據(jù)圖2-1,將規(guī)律結(jié)構(gòu)設(shè)計階段生成的關(guān)系模式中的空6~7補(bǔ)充完整并用下劃線指出這六個關(guān)系模式的主鍵。

12、假使需要記錄課程的授課教師,新增加“授課教師〞實(shí)體。請對圖2-1進(jìn)行修改,畫出修改后的實(shí)體問聯(lián)系和聯(lián)系的類型。

試題三

閱讀以下說明和圖,回復(fù)問題1至問題3,將解答填入對應(yīng)欄內(nèi)。[說明]

某運(yùn)輸公司決定為新的售票機(jī)開發(fā)車票銷售的控制軟件。圖3-1給出了售票機(jī)的面板示意圖以及相關(guān)的控制部件。

售票機(jī)相關(guān)部件的作用如下所述:

13目的地鍵盤用來輸入行程目的地的代碼(例如,200表示總站)。

14乘客可以通過車票鍵盤選擇車票種類(單程票、屢屢來回票和座席種類)。

15繼續(xù)/取消鍵盤上的取消按鈕用于取消購票過程,繼續(xù)按鈕允許乘客連續(xù)購買多張票。16顯示屏顯示所有的系統(tǒng)輸出和用戶提醒信息。

17插卡口接受MCard(現(xiàn)金卡),硬幣口和紙幣槽接受現(xiàn)金。18打印機(jī)用于輸出車票。

假設(shè)乘客總是支付恰好需要的金額而無需找零,售票機(jī)的維護(hù)工作(取回現(xiàn)金、放入空白車票等)由服務(wù)技術(shù)人員完成。

系統(tǒng)采用面向?qū)ο蠓椒ㄩ_發(fā),使用UML進(jìn)行建模。系統(tǒng)的頂層用例圖和類圖分別如圖3-2和圖3-3所示。

13、根據(jù)說明中的描述,給出圖3-2中A1和A2所對應(yīng)的參與者,U1所對應(yīng)的用例,以及(1)、(2)處所對應(yīng)的關(guān)系。

14、根據(jù)說明中的描述,給出圖3-3中缺少的C1~C4所對應(yīng)的類名以及(3)~(6)處所對應(yīng)的多重度。15、圖3-3中的類圖設(shè)計采用了中介者(Mediator)設(shè)計模式,請說明該模式的內(nèi)涵。

試題四

閱讀以下說明和C代碼,回復(fù)問題1至問題3,將解答寫在對應(yīng)欄內(nèi)。[說明]

對有向圖進(jìn)行拓?fù)渑判虻姆椒ㄊ牵?1)初始時拓?fù)湫蛄袨榭眨?/p>

(2)任意選擇一個入度為0的頂點(diǎn),將其放入拓?fù)湫蛄兄校瑫r從圖中刪除該頂點(diǎn)以及從該頂點(diǎn)出發(fā)的?。?3)重復(fù)(2),直到不存在入度為0的頂點(diǎn)為止(若所有頂點(diǎn)都進(jìn)入拓?fù)湫蛄袆t完成拓?fù)渑判颍駝t由于有向圖中存在回路無法完成拓?fù)渑判?。

函數(shù)int*TopSort(LinkedDigraphG.的功能是對有向圖G中的頂點(diǎn)進(jìn)行拓?fù)渑判?,返回拓?fù)湫蛄兄械捻旤c(diǎn)編號序列,若不能完成拓?fù)渑判?,則返回空指針。其中,圖G中的頂點(diǎn)從1開始依次編號,頂點(diǎn)序列為v1,v2,…,vn,圖G采用鄰接表表示,其數(shù)據(jù)類型定義如下:

#defineMAXVNUM50/*最大頂點(diǎn)數(shù)*/typedefstructArcNode{/*表結(jié)點(diǎn)類型*/intadjvex;/*鄰接頂點(diǎn)編號*/

structArcNode*nextarc;/*指示下一個鄰接頂點(diǎn)*/}ArcNode;

typedefstructAdjList{/*頭結(jié)點(diǎn)類型*/charvdata;/*頂點(diǎn)的數(shù)據(jù)信息*/

ArcNode*fimstarc;/*指向鄰接表的第一個表結(jié)點(diǎn)*/}AdjList;

typedefstructLinkedDigraph{/*圖的類型*/intn;/*圖中頂點(diǎn)個數(shù)*/

AdjListVhead[MAXVNUM];/*所有頂點(diǎn)的頭結(jié)點(diǎn)數(shù)組*/}LinkedDigraph;

例如,某有向圖G如圖4-1所示,其鄰接表如圖4-2所示。

函數(shù)TopSort中用到了隊列結(jié)構(gòu)(Queue的定義省略),實(shí)現(xiàn)隊列基本操作的函數(shù)原型如下表所示:函數(shù)原型voidInitQueue(Queue*Q)說明初始化隊列(構(gòu)造一個卒隊列)判斷隊列是否為空,若是則返回true,boolIsEmpty(QueueQ)否則返回falsevoidEnQueue(Queue*Q,inte)元素入隊列voidDeQueue(Queue*Q,int*p)元素出隊列[C代碼]

int*TopSort(LinkedDigraphG.{

ArcNode*p;/*臨時指針,指示表結(jié)點(diǎn)*/

QueueQ;/*臨時隊列,保存入度為0的頂點(diǎn)編號*/intk=0;/*臨時變量,用作數(shù)組元素的下標(biāo)*/intj=0,w=0;/*臨時變量,用作頂點(diǎn)編號*/int*topOrder,*inDegree;

topOrder=(int*)malloc((G.n+1)*sizeof(int));/*存儲拓?fù)湫蛄兄械捻旤c(diǎn)編號*/

inDegree=(int*)malloc((G.n+1)*sizeof(int));/*存儲圖G中各頂點(diǎn)的入度*/

if(!inDegree||!topOrder)returnNULL;(1);/*構(gòu)造一個空隊列*/

for(j=1;j<=G.n;j++){/*初始化*/topOrder[j]=0;inDegree[j]=0;}

for(j=1;j<=G.n;j++)/*求圖G中各頂點(diǎn)的入度*/for(p=G.Vhead[j].firstarc;P;P=P->nextarc)inDegree[P->adjvex]+=1;

for(j=1;j<=G.n;j++)/*將圖G中入度為0的頂點(diǎn)保存在隊列中*/if(0==inDegree[j])EnQueue(&Q,j);

while(!IsEmpty(Q)){

(2);/*隊頭頂點(diǎn)出隊列并用w保存該頂點(diǎn)的編號*/topOrder[k++]=w;

/*將頂點(diǎn)w的所有鄰接頂點(diǎn)的入度減1(模擬刪除頂點(diǎn)w及從該頂點(diǎn)出發(fā)的弧的操作)*/

for(p=G.Vhead[w].firstarc;P;p=p->nextarc){(3)-=1;

if(0==(4))EnQueue(&Q,P->adjvex);1/{for$/}/*while*/

free(inDegree);if((5))

returnNULL;returntopOrder;}/*TopSort*/

根據(jù)以上說明和C代碼,填充C代碼中的空16~17。

21、對于圖4-1所示的有向圖G,寫出函數(shù)TopSort執(zhí)行后得到的拓?fù)湫蛄?。若將函?shù)TopSort中的隊列改為棧,寫出函數(shù)TopSort執(zhí)行后得到的拓?fù)湫蛄小?/p>

設(shè)某有向無環(huán)圖的頂點(diǎn)個數(shù)為n、弧數(shù)為e,那么用鄰接表存儲該圖時,實(shí)現(xiàn)上述拓?fù)渑判蛩惴ǖ暮瘮?shù)TopSort的時間繁雜度是22。

若有向圖采用鄰接矩陣表示(例如,圖4-1所示有向圖的鄰接矩陣如圖4-3所示),且將函數(shù)TopSort中有關(guān)鄰接表的操作修改為針對鄰接矩陣的操作,那么對于有n個頂點(diǎn)、e條弧的有向無環(huán)圖,實(shí)現(xiàn)上述拓?fù)渑判蛩惴ǖ臅r間繁雜度是23。

試題五

閱讀以下說明和C++弋碼,將應(yīng)填入(n)處的字句寫在對應(yīng)欄內(nèi)。[說明]

某軟件公司現(xiàn)欲開發(fā)一款飛機(jī)飛行模擬系統(tǒng),該系統(tǒng)主要模擬不同種類飛機(jī)的飛行特征與起飛特征。需要模擬的飛機(jī)種類及其特征如表5-1所示。

表5-1飛機(jī)種類起飛特征飛行特征垂直起飛亞音速飛行直升機(jī)(Helicopter)(VerticalTakeOff)(SubSonicFly)長距離起飛亞音速飛行客機(jī)(AirPlane)(LongDistanceTakeOf(SubSonicFly)f)長距離起飛超音速飛行殲擊機(jī)(Fighter)(LongDistanceTakeOf(SuperSonicFly)f)垂直起飛超音速飛行鷂式戰(zhàn)斗機(jī)(Harrier)(VerticalTakeOff)(SuperSonicFly)為支持將來模擬更多種類的飛機(jī),采用策略設(shè)計模式(strategy)設(shè)計的類圖如圖5-1所示。圖5-1中,AirCraft為抽象類,描述了抽象的飛機(jī),而類Helicopter、AirPlane、Fighter和Harrier分別描述具體的飛機(jī)種類,方法fly31和takeOff31分別表示不同飛機(jī)都具有飛行特征和起飛特征;類FlyBehavior與TakeOffBehavior為抽象類,分別用于表示抽象的飛行行為與起飛行為;類SubSonicFly與SuperSonicFly分別描述亞音速飛行和超音速飛行的行為;類VerticalTakeOff與LongDistanceTakeOff分別描述垂直起飛與長距離起飛的行為。

[C++代碼]

#include<iostream>usingnamespacestd;classFlyBehaVior{

public:virtualvoidfly31=0;};

classSubSonicFly:publicFlyBehaVior{

public:voidfly31{cout<<\亞音速飛行!\<<endl;)

};

classSupersonicFly:publicFlyBehaVior{

public:voidfly31{cout<<\超音速飛行!\<<endl;)};

classTakeOffBehavior{

publie:virtualvoidtakeOff31=0;};

classVerticalTakeOff:publicTakeOffBehavior{

public:voidtakeOff31{cout<<\垂直起飛!\<<endl'}};

classLongDistanceTakeOff:publicTakeOffBehavior{public:voidtakeOff31{cout<<\長距離起飛!\<<endl;}};

classAirCraft{protected:24;25;public:

voidfly31{26;}

voidtakeoff31{27;};};

classHelicopter:publicAirCraft{public:

Helicopter31{

flyBehavior=new28;takeoffBehavior=new29;}

30{if(!flyBehaVior)deleteflyBehaVior;

if(!takeoffBehavior)deletetakeoffBehaVior;}};

//其他代碼省略

試題六

閱讀以下說明和Java代碼,將應(yīng)填入(n)處的字句寫在對應(yīng)欄內(nèi)。[說明]

某軟件公司現(xiàn)欲開發(fā)一款飛機(jī)飛行模擬系統(tǒng),該系統(tǒng)主要模擬不同種類飛機(jī)的飛行特征與起飛特征。需要模擬的飛機(jī)種類及其特征如表6-1所示。

表6-1飛機(jī)種類起飛特征飛行特征垂直起飛亞音速飛行直升機(jī)(Helicopter)(VerticalTakeOff)(SubSonicFly)長距離起飛亞音速飛行客機(jī)(AirPlane)(LongDistanceTakeOf(SubSonicFly)f)長距離起飛超音速飛行殲擊機(jī)(Fighter)(LongDistanceTakeOf(SuperSonicFly)f)垂直起飛超音速飛行鷂式戰(zhàn)斗機(jī)(Harrier)(VerticalTakeOff)(SuperSonicFly)為支持將來模擬更多種類的飛機(jī),采用策略設(shè)計模式(Strategy)設(shè)計的類圖如圖6-1所示。圖6-1中,AirCraft為抽象類,描述了抽象的飛機(jī),而類Helicopter、AirPlane、Fighter和Harrier分別描述具體的飛機(jī)種類,方法fly38和takeOff38分別表示不同飛機(jī)都具有飛行特征和起飛特征;類FlyBehavior與TakeOffBehavior為抽象類,分別用于表示抽象的飛行行為與起飛行為;類SubSonicFly與SuperSonicFly分別描述亞音速飛行和超音速飛行的行為;類VerticalTakeOff與LongDistanceTakeOff分別描述垂直起飛與長距離起飛的行為。

]

[Java代碼]

interfaceFlyBehavior{publicvoidfly38;};

classSubSonicFlyimplementsFlyBehavior{

publicvoidfly38(System.out.println(\業(yè)音速飛行!\};

classSuperSonicFlyimplementsFlyBehavior{

publicvoidfly38{System.out.println(\超音速飛行!\};

interfaceTakeOffBehavior{publicvoidtakeOff38;};

classVerticalTakeOffimplementsTakeOffBehavior{

publicvoidtakeOff38{System.out.println(\垂直起飛!\};

classLongDistanceTakeOffimplementsTakeOffBehavior{

publicvoidtakeOff38{System.out.println(\長距離起飛!\};

abstractclassAirCraft{protected31;protected32;

publicvoidfly38{33;}

publicvoidtakeOff38{34;};};

classHelicopter35AirCraft{publicHelicopter38{flyBehavior=new36;takeOffBehavior=new37;}};

//其他代碼省略

答案:

試題一

1、E1:前端應(yīng)用E2:數(shù)據(jù)管理員E3:后端數(shù)據(jù)庫

本問題考察頂層DFD。頂層DFD一般用來確定系統(tǒng)邊界,將待開發(fā)系統(tǒng)看作一個加工,因此圖中只有唯一的一個加工和一些外部實(shí)體,以及這兩者之間的輸入輸出數(shù)據(jù)流。題目要求根據(jù)描述確定圖中的外部實(shí)體。分析題目中的描述,并結(jié)合已經(jīng)在頂層數(shù)據(jù)流圖中給出的數(shù)據(jù)流進(jìn)行分析。題目中有信息描述:數(shù)據(jù)管理員可通過中間件進(jìn)行用戶管理、操作管理和權(quán)限管理;前端應(yīng)用提交操作請求;連接納理連接相應(yīng)的后臺數(shù)據(jù)庫并提交操作。由此可知該中間件系統(tǒng)有數(shù)據(jù)管理員、前端應(yīng)用和后端數(shù)據(jù)庫三個外部實(shí)體。從圖1-1中數(shù)據(jù)流和實(shí)體的對應(yīng)關(guān)系可知,E1為前端應(yīng)用,E2為數(shù)據(jù)管理員,E3為后端數(shù)據(jù)庫。

2、D1:用戶表D2:操作表D3:權(quán)限表

本問題考察0層DFD中數(shù)據(jù)存儲的確定。說明中描述:用戶信息(用戶名、密碼)存儲在用戶表中;標(biāo)準(zhǔn)操作和后端數(shù)據(jù)庫信息存放在操作表中;權(quán)限管理維護(hù)信息存放在權(quán)限表中。因此數(shù)據(jù)存儲為用戶表、操作表以及權(quán)限表。再根據(jù)圖1-2可知D1的輸入數(shù)據(jù)流從用戶管理來,D2的輸入數(shù)據(jù)流從操作管理來,D3的輸入數(shù)據(jù)流從權(quán)限管理來,所以D1為用戶表,D2為操作表,D3為權(quán)限表。3、P的名稱:操作結(jié)果處理名稱起點(diǎn)終點(diǎn)E3P輸入流操作結(jié)果E1輸出流處理后的操作結(jié)果P缺少的數(shù)據(jù)流:起點(diǎn)終點(diǎn)D2權(quán)限驗(yàn)證D3權(quán)限驗(yàn)證

本問題考察0層DFD中缺失的加工和數(shù)據(jù)流。比較圖1-1和圖1-2,可知頂層DFD中的操作結(jié)果和處理后的操作結(jié)果沒有在0層DFD中表達(dá)。再根據(jù)描述“后端數(shù)據(jù)庫執(zhí)行操作并將結(jié)果傳給中問件,中間件對收到的操作結(jié)果進(jìn)行處理后,將其返回給前端應(yīng)用〞可知,需要有操作結(jié)果處理,因此P為操作結(jié)果處理,其輸入流為從后端數(shù)據(jù)庫E3來的操作結(jié)果,輸出結(jié)果為處理后的操作結(jié)果,并返回給前端應(yīng)用E1。

考察完P(guān)及其輸入輸出流之后,對圖1-2的內(nèi)部數(shù)據(jù)流進(jìn)行考察,以找出缺失的另外2條數(shù)據(jù)流。從圖中可以看出D2和D3只有輸入流沒有輸出流,這是常見DFD設(shè)計時的錯誤,所以首先考察D2和D3的輸出流。描述中有“權(quán)限驗(yàn)證是驗(yàn)證用戶是否有權(quán)執(zhí)行請求的操作,若用戶有權(quán)執(zhí)行該操作,進(jìn)行連接納理;連接納理連接相應(yīng)的后臺數(shù)據(jù)庫并提交操作;權(quán)限表存儲用戶可執(zhí)行的操作信息〞。因此,權(quán)限驗(yàn)證有從權(quán)限表D3來的輸入數(shù)據(jù)流。而要連接后端數(shù)據(jù)庫,需要數(shù)據(jù)庫信息,從權(quán)限驗(yàn)證的輸出流中包含有數(shù)據(jù)庫信息可知,權(quán)限驗(yàn)證需要獲取到數(shù)據(jù)庫信息,所以還需從操作表D2來的輸入流。

4、在繪制數(shù)據(jù)流圖的加工時,可能出現(xiàn)的輸入、輸出錯誤:只有輸入而無輸出或者黑洞只有輸出而無輸入或者奇跡

輸入的數(shù)據(jù)流無法通過加工產(chǎn)生輸出流或者灰洞輸入的數(shù)據(jù)流與輸出的數(shù)據(jù)流名稱一致

本問題考察在繪制數(shù)據(jù)流圖中加工繪制時的本卷須知。繪制加工時可能出現(xiàn)的錯誤有:加工的輸入、輸出時可能出現(xiàn)只有輸入而無輸出、只有輸出而無輸入、輸入的數(shù)據(jù)流無法通過加工產(chǎn)生輸出流以及輸入的數(shù)據(jù)流與輸出的數(shù)據(jù)流名稱一致等錯誤。試題二5、

根據(jù)題意,由“一門含試驗(yàn)的課程可以開設(shè)給多個班級,每個班級每學(xué)期可以開設(shè)多門含試驗(yàn)的課程〞可知課程和班級之間的開設(shè)關(guān)系為m:n聯(lián)系。由“一個試驗(yàn)室的一次試驗(yàn)可以分派多個試驗(yàn)員負(fù)責(zé)輔導(dǎo)試驗(yàn)〞可知試驗(yàn)、試驗(yàn)室與試驗(yàn)員之問的安排關(guān)系為k:n:m聯(lián)系。由“試驗(yàn)員給出學(xué)生的每次試驗(yàn)成績〞可知試驗(yàn)、學(xué)生與試驗(yàn)員之間的成績關(guān)系為k:n:m聯(lián)系。班級和學(xué)生之問的包含關(guān)系為1:n聯(lián)系。6、課程編號,班級號7、試驗(yàn)編號,課程編號8、試驗(yàn)編號,批次號,安排學(xué)期,試驗(yàn)室編號,試驗(yàn)員編號9、試驗(yàn)員編號,試驗(yàn)員姓名10、學(xué)號,班級號11、試驗(yàn)編號,學(xué)號其他關(guān)系模式主鍵:

課程(課程編號,課程名稱,授課院系,試驗(yàn)學(xué)時)班級(班級號,專業(yè),所屬系)

試驗(yàn)室(試驗(yàn)室編號,地點(diǎn),開放時間,可容納人數(shù),試驗(yàn)課類型)

根據(jù)題意可知課程編號是課程的主鍵,班級號是班級的主鍵。從表2-1可知,開課狀況是表達(dá)課程與班級問的m:n聯(lián)系,因此開課狀況關(guān)系模式應(yīng)當(dāng)包含課程編號和班級號,并共同作為主鍵。一門課程包含屢屢試驗(yàn),試驗(yàn)與課程之間是m:1關(guān)系,因此,根據(jù)表2-1,試驗(yàn)關(guān)系模式應(yīng)包含試驗(yàn)編號和課程編號,并且以試驗(yàn)編號為主鍵,以課程編號為外鍵。在制定試驗(yàn)計劃時,每個班的每次試驗(yàn)可能按試驗(yàn)室被分成多個批次,每個批次的試驗(yàn)會有若干名試驗(yàn)員來輔導(dǎo)學(xué)生試驗(yàn)并打分。試驗(yàn)員關(guān)系模式應(yīng)當(dāng)記錄試驗(yàn)員編號和試驗(yàn)員姓名,并以試驗(yàn)員編號為主鍵。試驗(yàn)室編號是試驗(yàn)室的主鍵。從表2-2可見,試驗(yàn)計劃關(guān)系模式應(yīng)記錄試驗(yàn)編號、批次號和授課學(xué)期,并且共同作為主鍵。從表2-3可見,試驗(yàn)成績關(guān)系模式記錄每個學(xué)生的每次試驗(yàn)成績,應(yīng)包含學(xué)號和試驗(yàn)編號,并共同作為主鍵。

12、

由于授課教師負(fù)責(zé)給若干個班級開設(shè)若干門課程,因此,課程、班級和授課教師之問的開設(shè)關(guān)系是k:n:m聯(lián)系。試題三

13、A1:乘客A2:服務(wù)技術(shù)人員

U1:支付(1)<<include>>(2)<<include>>

本問題考察用例圖。用例圖用于確定系統(tǒng)邊界,識別與系統(tǒng)交互的參與者,通過判斷參與者發(fā)起的用例,建立和參與者之間的關(guān)聯(lián),然后再確認(rèn)用例之間的關(guān)系。

此題中對售票機(jī)的描述為“乘客可以通過車票鍵盤選擇車票種類(單程票、屢屢來回票和座席種類);售票機(jī)的維護(hù)工作(取回現(xiàn)金、放入空白車票等)由服務(wù)技術(shù)人員完成〞。由此可知,圖3-1中A1為乘客,A2為服務(wù)技術(shù)人員。

對購票用例,要選擇目的地和車票類型、通過插卡口進(jìn)行支付才可完成購票。因此U2為支付。在考察用例之間的關(guān)系時,購票過程可以取消,也允許乘客連續(xù)購買多張票,因此,購票時可以包含屢屢選擇目的地和車票

溫馨提示

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

最新文檔

評論

0/150

提交評論