免費(fèi)下載軟件設(shè)計(jì)師歷年真題:http://m.xiexiliangjiufa.com/zhenti/rs.html
該套題在線考試:http://m.xiexiliangjiufa.com/exam/examam.aspx?t1=2&sid=810701
1、閱讀下列說明和圖,回答問題1至問題4,將解答填入答題紙的對(duì)應(yīng)欄內(nèi)。
【說明】
某公司欲開發(fā)招聘系統(tǒng)以提高招聘效率,其主要功能如下:
(1)接受申請(qǐng)
驗(yàn)證應(yīng)聘者所提供的自身信息是否完整,是否說明了應(yīng)聘職位,受理驗(yàn)證合格的申請(qǐng),給應(yīng)聘者發(fā)送致謝信息。
(2)評(píng)估應(yīng)聘者
根據(jù)部門經(jīng)理設(shè)置的職位要求,審查已經(jīng)受理的申請(qǐng);對(duì)未被錄用的應(yīng)聘者進(jìn)行謝絕處理,將未被錄用的應(yīng)聘者信息存入未錄用的應(yīng)聘者表,并給其發(fā)送謝絕決策;對(duì)錄用的應(yīng)聘者進(jìn)行職位安排評(píng)價(jià),將評(píng)價(jià)結(jié)果存入評(píng)價(jià)結(jié)果表,并給其發(fā)送錄用決策,發(fā)送錄用職位和錄用者信息給工資系統(tǒng)。
現(xiàn)采用結(jié)構(gòu)化方法對(duì)招聘系統(tǒng)進(jìn)行分析與設(shè)計(jì),獲得如圖1-1所示的頂層數(shù)據(jù)流圖、圖1-2所示0層數(shù)據(jù)流圖和圖1-3所示1層數(shù)據(jù)流圖。

圖1-2 0層數(shù)據(jù)流圖

圖1-3 1層數(shù)據(jù)流圖
【問題1】(3分)
使用說明中的術(shù)語,給出圖中e1~e3所對(duì)應(yīng)的實(shí)體名稱。
【問題2】(2分)
使用說明中的術(shù)語,給出圖中d1~d2所對(duì)應(yīng)的數(shù)據(jù)存儲(chǔ)名稱。
【問題3】(6分)
使用說明和圖中的術(shù)語,給出圖1-3中加工p1~p3的名稱。
【問題4】(4分)
解釋說明圖1-2和圖1-3是否保持平衡,若不平衡請(qǐng)補(bǔ)充圖1-3中數(shù)據(jù)流的名稱以及數(shù)據(jù)流的起點(diǎn)或終點(diǎn),使其平衡(使用說明中的術(shù)語或圖中符號(hào))。
信管網(wǎng)參考答案:
查看解析:
m.xiexiliangjiufa.com/st/3810917434.html
2、閱讀下列說明和圖,回答問題1至問題3,將解答填入答題紙的對(duì)應(yīng)欄內(nèi)。
【說明】
某物流公司為了整合上游供應(yīng)商與下游客戶,縮短物流過程,降低產(chǎn)品庫存,需要構(gòu)建一個(gè)信息系統(tǒng)以方便管理其業(yè)務(wù)運(yùn)作活動(dòng)。
【需求分析結(jié)果】
(1)物流公司包含若干部門,部門信息包括部門號(hào)、部門名稱、經(jīng)理、電話和郵箱。一個(gè)部門可以有多名員工處理部門的日常事務(wù),每名員工只能在一個(gè)部門工作。每個(gè)部門有一名經(jīng)理,只需負(fù)責(zé)管理本部門的事務(wù)和人員。
(2)員工信息包括員工號(hào)、姓名、職位、電話號(hào)碼和工資;其中,職位包括:經(jīng)理、業(yè)務(wù)員等。業(yè)務(wù)員根據(jù)托運(yùn)申請(qǐng)負(fù)責(zé)安排承運(yùn)貨物事宜,例如:裝貨時(shí)間、到達(dá)時(shí)間等。一個(gè)業(yè)務(wù)員可以安排多個(gè)托運(yùn)申請(qǐng),但一個(gè)托運(yùn)申請(qǐng)只由一個(gè)業(yè)務(wù)員處理。
(3)客戶信息包括客戶號(hào)、單位名稱、通信地址、所屬省份、聯(lián)系人、聯(lián)系電話、銀行賬號(hào),其中,客戶號(hào)唯一標(biāo)識(shí)客戶信息的每一個(gè)元組。每當(dāng)客戶要進(jìn)行貨物托運(yùn)時(shí),先要提出貨物托運(yùn)申請(qǐng)。托運(yùn)申請(qǐng)信息包括申請(qǐng)?zhí)枴⒖蛻籼?hào)、貨物名稱、數(shù)量、運(yùn)費(fèi)、出發(fā)地、目的地。其中,一個(gè)申請(qǐng)?zhí)枌?duì)應(yīng)唯一的一個(gè)托運(yùn)申請(qǐng);一個(gè)客戶可以有多個(gè)貨物托運(yùn)申請(qǐng),但一個(gè)托運(yùn)申請(qǐng)對(duì)應(yīng)唯一的一個(gè)客戶號(hào)。
【概念模型設(shè)計(jì)】
根據(jù)需求階段收集的信息,設(shè)計(jì)的實(shí)體聯(lián)系圖和關(guān)系模式(不完整)如圖2-1所示。
【關(guān)系模式設(shè)計(jì)】
部門(部門號(hào),部門名稱,經(jīng)理,電話,郵箱)
員工(員工號(hào),姓名,職位,電話號(hào)碼,工資, (a) )
客戶( (b) ,單位名稱,通信地址,所屬省份,聯(lián)系人,聯(lián)系電話,銀行賬號(hào))
托運(yùn)申請(qǐng)( (c) ,貨物名稱,數(shù)量,運(yùn)費(fèi),出發(fā)地,目的地)
安排承運(yùn)( (d) ,裝貨時(shí)間,到達(dá)時(shí)間,業(yè)務(wù)員)
【問題1】(5分)
根據(jù)問題描述,補(bǔ)充四個(gè)聯(lián)系、聯(lián)系的類型,以及實(shí)體與子實(shí)體的聯(lián)系,完善圖2-1所示的實(shí)體聯(lián)系圖。
【問題2】(8分)
根據(jù)實(shí)體聯(lián)系圖,將關(guān)系模式中的空(a)~(d)補(bǔ)充完整。分別指出部門、員工和安排承運(yùn)關(guān)系模式的主鍵和外鍵。
【問題3】(2分)
若系統(tǒng)新增需求描述如下:
為了數(shù)據(jù)庫信息的安全性,公司要求對(duì)數(shù)據(jù)庫操作設(shè)置權(quán)限管理功能,當(dāng)員工登錄系統(tǒng)時(shí),系統(tǒng)需要檢查員工的權(quán)限。權(quán)限的設(shè)置人是部門經(jīng)理。為滿足上述需要,應(yīng)如何修改(或補(bǔ)充)圖2-1所示的實(shí)體聯(lián)系圖,請(qǐng)給出修改后的實(shí)體聯(lián)系圖和關(guān)系模式。
信管網(wǎng)參考答案:
查看解析:
m.xiexiliangjiufa.com/st/3811014534.html
3、閱讀下列說明和圖,回答問題1至問題3,將解答填入答題紙的對(duì)應(yīng)欄內(nèi)。
【說明】
pay&drive系統(tǒng)(開多少付多少)能夠根據(jù)駕駛里程自動(dòng)計(jì)算應(yīng)付的費(fèi)用。
系統(tǒng)中存儲(chǔ)了特定區(qū)域的道路交通網(wǎng)的信息。道路交通網(wǎng)由若干個(gè)路段(road segment)構(gòu)成,每個(gè)路段由兩個(gè)地理坐標(biāo)點(diǎn)(node)標(biāo)定,其里程數(shù)(distance)是已知的。在某些地理坐標(biāo)點(diǎn)上安裝了訪問控制(access control)設(shè)備,可以自動(dòng)掃描行駛卡(card)。行程(trajectory)由一組連續(xù)的路段構(gòu)成。行程的起點(diǎn)(entry)和終點(diǎn)(exit)都裝有訪問控制設(shè)備。
系統(tǒng)提供了3種行駛卡。常規(guī)卡(regular card)有效期(valid period)為一年,可以在整個(gè)道路交通網(wǎng)內(nèi)使用。季卡(season card)有效期為三個(gè)月,可以在整個(gè)道路交通網(wǎng)內(nèi)使用。單次卡(minitrip card)在指定的行程內(nèi)使用,且只能使用一次。其中,季卡和單次卡都是預(yù)付卡(prepaid card),需要客戶(customer)預(yù)存一定的費(fèi)用。
系統(tǒng)的主要功能有:客戶注冊(cè)、申請(qǐng)行駛卡、使用行駛卡行駛等。
使用常規(guī)卡行駛,在進(jìn)入行程起點(diǎn)時(shí),系統(tǒng)記錄行程起點(diǎn)、進(jìn)入時(shí)間(date of entry)等信息。在到達(dá)行程終點(diǎn)時(shí),系統(tǒng)根據(jù)行駛的里程數(shù)和所持卡的里程單價(jià)(unit price)計(jì)算應(yīng)付費(fèi)用,并打印費(fèi)用單(invoice)。
季卡的使用流程與常規(guī)卡類似,但是不需要打印費(fèi)用單,系統(tǒng)自動(dòng)從卡中扣除應(yīng)付費(fèi)用。
單次卡的使用流程與季卡類似,但還需要在行程的起點(diǎn)和終點(diǎn)上檢查行駛路線是否符合該卡所規(guī)定的行駛路線。
現(xiàn)采用面向?qū)ο蠓椒ㄩ_發(fā)該系統(tǒng),使用uml進(jìn)行建模。構(gòu)建出的用例圖和類圖分別如圖3-1和圖3-2所示。

【問題1】(4分)
根據(jù)說明中的描述,給出圖3-1中u1和u2所對(duì)應(yīng)的用例,以及(1)所對(duì)應(yīng)的關(guān)系。
【問題2】(8分)
根據(jù)說明中的描述,給出圖3-2中缺少的c1~c6所對(duì)應(yīng)的類名以及(2)~(3)處所對(duì)應(yīng)的多重度(類名使用說明中給出的英文詞匯)。
【問題3】(3分)
根據(jù)說明中的描述,給出road segment、trajectory和card所對(duì)應(yīng)的類的關(guān)鍵屬性(屬性名使用說明中給出的英文詞匯)。
信管網(wǎng)參考答案:
查看解析:
m.xiexiliangjiufa.com/st/381112738.html
4、閱讀下列說明和c代碼,將應(yīng)填入 (n) 處的字句寫在答題紙的對(duì)應(yīng)欄內(nèi)。
【說明】
設(shè)某一機(jī)器由n個(gè)部件組成,每一個(gè)部件都可以從m個(gè)不同的供應(yīng)商處購得。供應(yīng)商j供應(yīng)的部件i具有重量wij和價(jià)格cij。設(shè)計(jì)一個(gè)算法,求解總價(jià)格不超過上限cc的最小重量的機(jī)器組成。
采用回溯法來求解該問題:
首先定義解空間。解空間由長(zhǎng)度為n的向量組成,其中每個(gè)分量取值來自集合{1,2,…,m},將解空間用樹形結(jié)構(gòu)表示。
接著從根結(jié)點(diǎn)開始,以深度優(yōu)先的方式搜索整個(gè)解空間。從根結(jié)點(diǎn)開始,根結(jié)點(diǎn)成為活結(jié)點(diǎn),同時(shí)也成為當(dāng)前的擴(kuò)展結(jié)點(diǎn)。向縱深方向考慮第一個(gè)部件從第一個(gè)供應(yīng)商處購買,得到一個(gè)新結(jié)點(diǎn)。判斷當(dāng)前的機(jī)器價(jià)格(c11)是否超過上限(cc),重量(w11)是否比當(dāng)前已知的解(最小重量)大,若是,應(yīng)回溯至最近的一個(gè)活結(jié)點(diǎn);若否,則該新結(jié)點(diǎn)成為活結(jié)點(diǎn),同時(shí)也成為當(dāng)前的擴(kuò)展結(jié)點(diǎn),根結(jié)點(diǎn)不再是擴(kuò)展結(jié)點(diǎn)。繼續(xù)向縱深方向考慮第二個(gè)部件從第一個(gè)供應(yīng)商處購買,得到一個(gè)新結(jié)點(diǎn)。同樣判斷當(dāng)前的機(jī)器價(jià)格(c11+c21)是否超過上限(cc),重量(w11+w21)是否比當(dāng)前已知的解(最小重量)大。若是,應(yīng)回溯至最近的一個(gè)活結(jié)點(diǎn);若否,則該新結(jié)點(diǎn)成為活結(jié)點(diǎn),同時(shí)也成為當(dāng)前的擴(kuò)展結(jié)點(diǎn),原來的結(jié)點(diǎn)不再是擴(kuò)展結(jié)點(diǎn)。以這種方式遞歸地在解空間中搜索,直到找到所要求的解或者解空間中已無活結(jié)點(diǎn)為止。
【c代碼】
下面是該算法的c語言實(shí)現(xiàn)。
(1)變量說明
n:機(jī)器的部件數(shù)
m:供應(yīng)商數(shù)
cc:價(jià)格上限
w[][]:二維數(shù)組,w[i][j]表示第j個(gè)供應(yīng)商供應(yīng)的第i個(gè)部件的重量
c[][]:二維數(shù)組,c[i][j]表示第j個(gè)供應(yīng)商供應(yīng)的第i個(gè)部件的價(jià)格
bestw:滿足價(jià)格上限約束條件的最小機(jī)器重量
bestc:最小重量機(jī)器的價(jià)格
bestx[]:最優(yōu)解,一維數(shù)組,bestx[i]表示第i個(gè)部件來自哪個(gè)供應(yīng)商
cw:搜索過程中機(jī)器的重量
cp:搜索過程中機(jī)器的價(jià)格
x[]:搜索過程中產(chǎn)生的解,x[i]表示第i個(gè)部件來自哪個(gè)供應(yīng)商
i:當(dāng)前考慮的部件,從0到n - 1
j:循環(huán)變量
(2)函數(shù)backtrack
int n = 3;
int m = 3;
int cc = 4;
int w[3][3] = {{1,2,3},{3,2,1},{2,2,2}};
int c[3][3] = {{1,2,3},{3,2,1},{2,2,2}};
int bestw = 8;
int bestc = 0;
int bestx[3] = {0,0,0};
int cw = 0;
int cp = 0;
int x[3] = {0,0,0};
int backtrack(int i){
int j = 0;
int found = 0;
if(i > n - 1){ /*得到問題解*/
bestw = cw;
bestc = cp;
for(j = 0; j < n; j++){
(1) ;
}
return 1;
}
if(cp <= cc){ /*有解*/
found = 1;
}
for(j = 0; (2) ; j++){
/*第i個(gè)部件從第j個(gè)供應(yīng)商購買*/
(3) ;
cw = cw + w[i][j];
cp = cp + c[i][j];
if(cp <= cc && (4) ){ /*深度搜索,擴(kuò)展當(dāng)前結(jié)點(diǎn)*/
if(backtrack(i + 1)){ found = 1; }
}
/*回溯*/
cw = cw - w[i][j];
(5) ;
}
return found;
}
信管網(wǎng)參考答案:
查看解析:
m.xiexiliangjiufa.com/st/3811216937.html
5、閱讀下列說明和c++代碼,將應(yīng)填入(n)處的字句寫在答題紙的對(duì)應(yīng)欄內(nèi)。
【說明】
某大型商場(chǎng)內(nèi)安裝了多個(gè)簡(jiǎn)易的紙巾售賣機(jī),自動(dòng)出售2元錢一包的紙巾,且每次僅售出一包紙巾。紙巾售賣機(jī)的狀態(tài)圖如圖5-1所示。

采用狀態(tài)(state)模式來實(shí)現(xiàn)該紙巾售賣機(jī),得到如圖5-2所示的類圖。其中類state為抽象類,定義了投幣、退幣、出紙巾等方法接口。類soldstate、soldoutstate、noquarterstate和hasquarterstate分別對(duì)應(yīng)圖5-1中紙巾售賣機(jī)的4種狀態(tài):售出紙巾、紙巾售完、沒有投幣、有2元錢。

【c++代碼】
#include <iostream>
using namespace std;
// 以下為類的定義部分
class tissuemachine; // 類的提前引用
class state {
public:
virtual void insertquarter() = 0; //投幣
virtual void ejectquarter() = 0; //退幣
virtual void turncrank()= 0; //按下“出紙巾”按鈕
virtual void dispense() = 0; //出紙巾
};
/* 類soldoutstate、noquarterstate、hasquarterstate、soldstate的定義省略,每個(gè)類中均
定義了私有數(shù)據(jù)成員tissuemachine* tissuemachine; */
class tissuemachine {
private:
(1) *soldoutstate, *noquarterstate, *hasquarterstate,*soldstate, *state ;
int count; //紙巾數(shù)
public:
tissuemachine(int numbers);
void setstate(state* state);
state* gethasquarterstate();
state* getnoquarterstate();
state* getsoldstate();
state* getsoldoutstate();
int getcount();
// 其余代碼省略
};
// 以下為類的實(shí)現(xiàn)部分
void noquarterstate ::insertquarter() {
tissuemachine->setstate( (2) );
}
void hasquarterstate ::ejectquarter() {
tissuemachine->setstate( (3) );
}
void soldstate ::dispense() {
if(tissuemachine->getcount() > 0) {
tissuemachine->setstate( (4) );
}
else {
tissuemachine->setstate( (5) );
}
} // 其余代碼省略
信管網(wǎng)參考答案:
查看解析:
m.xiexiliangjiufa.com/st/3811321878.html
6、閱讀下列說明和java代碼,將應(yīng)填入(n)處的字句寫在答題紙的對(duì)應(yīng)欄內(nèi)。
【說明】
某大型商場(chǎng)內(nèi)安裝了多個(gè)簡(jiǎn)易的紙巾售賣機(jī),自動(dòng)出售2元錢一包的紙巾,且每次僅售出一包紙巾。紙巾售賣機(jī)的狀態(tài)圖如圖6-1所示。

采用狀態(tài)(state)模式來實(shí)現(xiàn)該紙巾售賣機(jī),得到如圖6-2所示的類圖。其中類state為抽象類,定義了投幣、退幣、出紙巾等方法接口。類soldstate、soldoutstate、noquarterstate和hasquarterstate分別對(duì)應(yīng)圖6-1中紙巾售賣機(jī)的4種狀態(tài):售出紙巾、紙巾售完、沒有投幣、有2元錢。

【java代碼】
import java.util.*;
interface state {
public void insertquarter(); //投幣
public void ejectquarter(); //退幣
public void turncrank(); //按下“出紙巾”按鈕
public void dispense(); //出紙巾
}
class tissuemachine {
(1) soldoutstate, noquarterstate, hasquarterstate, soldstate, state;
state = soldoutstate;
int count = 0; //紙巾數(shù)
public tissuemachine(int numbers) { /* 實(shí)現(xiàn)代碼省略 */ }
public state gethasquarterstate() { return hasquarterstate; }
public state getnoquarterstate() { return noquarterstate; }
public state getsoldstate() { return soldstate; }
public state getsoldoutstate() { return soldoutstate; }
public int getcount() { return count; }
// 其余代碼省略
}
class noquarterstate implements state {
tissuemachine tissuemachine;
public void insertquarter() {
tissuemachine.setstate( (2) );
}
//構(gòu)造方法以及其余代碼省略
}
class hasquarterstate implements state {
tissuemachine tissuemachine;
public void ejectquarter() {
tissuemachine.setstate( (3) );
}
//構(gòu)造方法以及其余代碼省略
}
class soldstate implements state {
tissuemachine tissuemachine;
public void dispense() {
if(tissuemachine.getcount() > 0) {
tissuemachine.setstate( (4) );
} else {
tissuemachine.setstate( (5) ); }
}
}
信管網(wǎng)參考答案:
查看解析:
m.xiexiliangjiufa.com/st/3811419264.html