免費(fèi)下載軟件設(shè)計師歷年真題:http://www.xomuzic.com/zhenti/rs.html
該套題在線考試:http://www.xomuzic.com/exam/examam.aspx?t1=2&sid=810754
1、閱讀下列說明和圖,回答問題1至問題3,將解答填入答題紙的對應(yīng)欄內(nèi)。
【說明】
某慈善機(jī)構(gòu)欲開發(fā)一個募捐系統(tǒng),已跟蹤記錄為事業(yè)或項(xiàng)目向目標(biāo)群體進(jìn)行募捐而組織的集體性活動。該系統(tǒng)的主要功能如下所述。
(1)管理志愿者。根據(jù)募捐任務(wù)給志愿者發(fā)送加入邀請、邀請跟進(jìn)、工作任務(wù);管理志愿者提供的邀請響應(yīng)、志愿者信息、工作時長、工作結(jié)果等。
(2)確定募捐需求和收集所募捐贈(資金及物品)。根據(jù)需求提出募捐任務(wù)、將活動請求和捐贈請求,獲取所募集的資金和物品。
(3)組織募捐活動。根據(jù)活動請求,確定活動時間范圍。根據(jù)活動時間,搜索場館,即:向場館發(fā)送場館可用性請求,獲得場館可用性。然后根據(jù)活動時間和地點(diǎn)推廣募捐活動,根據(jù)相應(yīng)的活動信息舉辦活動,從募捐機(jī)構(gòu)獲取資金并向其發(fā)放贈品。獲取和處理捐贈,根據(jù)捐贈請求,提供所募集的捐贈;處理與捐贈人之間的交互,即:
錄入捐贈人西悉尼,處理后存入捐贈人信息表;從捐贈人信息表中查詢捐贈人信息,向捐贈人發(fā)送捐贈請求,并將已聯(lián)系的捐贈人存入已聯(lián)系的捐贈人表。根據(jù)捐贈請求進(jìn)行募集,募得捐贈后,將捐贈記錄存入捐贈表;對捐贈記錄進(jìn)行記錄后,存入已處理捐贈表,向捐贈人發(fā)送致謝函,根據(jù)已聯(lián)系的捐贈人和捐贈記錄進(jìn)行跟蹤,并將捐贈跟進(jìn)情況發(fā)送給捐贈人。
先采用結(jié)構(gòu)化方法對募捐系統(tǒng)進(jìn)行分析和設(shè)計,獲得如圖1-1、圖1-2和圖1-3所示分層數(shù)據(jù)流圖。

【問題1】(4分)
使用說明中的詞語,給出圖1-1中的實(shí)體e1~e4的名稱。
【問題2】(7分)
在建模dfd時,需要對有些復(fù)雜加工(處理)進(jìn)行進(jìn)一步精化,圖1-2為圖1-1中處理3的進(jìn)一步細(xì)化的1層數(shù)據(jù)流圖,圖1-3為圖1-2中3.1進(jìn)一步細(xì)化的2層數(shù)據(jù)流圖。補(bǔ)全1-2中加工p1、p2和p3的名稱和圖1-2與圖1-3中缺少的數(shù)據(jù)流。
【問題3】(4分)
使用說明中的詞語,給出圖1-3中的數(shù)據(jù)存儲d1~d4的名稱。
信管網(wǎng)參考答案:
查看解析:
www.xomuzic.com/st/381278891.html
2、閱讀下列說明,回答問題1至問題3,將解答填入答題紙的對應(yīng)欄內(nèi)。
【說明】
某電視臺擬開發(fā)一套信息管理系統(tǒng),以方便對全臺的員工、欄目、廣告和演播室等進(jìn)行管理。
【需求分析】
(1)系統(tǒng)需要維護(hù)全臺員工的詳細(xì)信息、欄目信息、廣告信息和演播廳信息等。員工的信息主要包括:工號、姓名、性別、出生日期、電話、住址等。欄目信息主要包括:欄目名稱、播出時間、時長等。廣告信息主要包括:廣告編號、價格等。演播廳信息包括:房間號、房間面積等。
(2)電視臺分局調(diào)度單來協(xié)調(diào)各檔欄目、演播廳和場務(wù)。一銷售檔欄目只會占用一個演播廳,但會使用多么場務(wù)來進(jìn)行演出協(xié)調(diào)。演播廳和場務(wù)可以被多個欄目循環(huán)使用。
(3)電視臺根據(jù)欄目來插播廣告。每檔欄目可以插播多條廣告,每條廣告也可以在多的欄目插播。
(4)一檔欄目可以有多個主持人,但一名主持人只能支持一檔節(jié)目。
(5)一名編輯人員可以編輯多條廣告,一條廣告只能由一名編輯人員編輯。
【概念模型設(shè)計】
根據(jù)需求階段收集的信息設(shè)計的實(shí)體聯(lián)系圖(不完整)如圖2-1所示。

【邏輯結(jié)構(gòu)設(shè)計】
根據(jù)概念模式設(shè)計階段完成的實(shí)體聯(lián)系圖,得出如下關(guān)系模型(不完整):
演播廳(房間號,房間面積)
欄目(欄目名稱,播出時間,時長)
廣告(廣告編號,銷售價格, (1) )
員工(工號,姓名,性別,出生日期,電話,住址)
主持人(主持人工號, (2) )
演播單( (3) ,播出時間)
調(diào)度單( (4) )
【問題1】(7分)
補(bǔ)充圖2-1中的聯(lián)系和聯(lián)系類型。
【問題2】(5分)
根據(jù)圖2-1,將邏輯結(jié)構(gòu)設(shè)計階段生產(chǎn)的關(guān)系模型的空(1)~(4)補(bǔ)充完整,并用下劃線指出(1)~(4)所在關(guān)系模型的主鍵。
【問題3】(3分)
現(xiàn)需要記錄廣告商信息,增加廣告商實(shí)體。一個廣告商可以提供多條廣告,一條廣告只由一個廣告商提供。請根據(jù)該要求,對圖2-1進(jìn)行修改,畫出修改后的實(shí)體間聯(lián)系和聯(lián)系的類型。
信管網(wǎng)參考答案:
查看解析:
www.xomuzic.com/st/3812827440.html
3、閱讀下列說明和圖,回答問題1至問題3,將解答填入答題紙的對應(yīng)欄內(nèi)。
【說明】
某城市擬開發(fā)一個基于web城市黃頁,公開發(fā)布該城市重要的組織或機(jī)構(gòu)(以下統(tǒng)稱為客戶)的基本信息,方便城市生活。該系統(tǒng)的主要功能描述如下:
(1)搜索信息:任何使用internert的網(wǎng)絡(luò)用戶都可以搜索發(fā)布在城市黃頁中的信息,例如客戶的名稱、地址、聯(lián)系電話等。
(2)認(rèn)證:客戶若想在城市黃頁上發(fā)布信息,需通過系統(tǒng)的認(rèn)證。認(rèn)證成功后,該客戶成為系統(tǒng)授權(quán)用戶。
(3)更新信息:授權(quán)用戶登錄系統(tǒng)后,可以更改自己在城市黃頁中的相關(guān)信息,例如變更聯(lián)系電話等。
(4)刪除客戶:對于拒絕繼續(xù)在城市黃頁上發(fā)布信息的客戶,有系統(tǒng)管理員刪除該客戶的相關(guān)信息。
系統(tǒng)采用面向?qū)ο蠓椒ㄟM(jìn)行開發(fā),在開發(fā)過程中認(rèn)定出如表3-1所示的類。系統(tǒng)的用例圖和類圖分別如圖3-1和圖3-2所示。

【問題1】(5分)
根據(jù)說明中的描述,給出圖3-1中a1和a2處所對應(yīng)的參與者,uc1和uc2所對應(yīng)的用例以及(1)處的關(guān)系。
【問題2】(7分)
根據(jù)說明中的描述,給出圖3-2中c1~c5所對應(yīng)的類名(表3-1中給出的類名)和(2)~(5)處所對應(yīng)的多重度。
【問題3】(3分)
認(rèn)定類是面向?qū)ο蠓治鲋蟹浅jP(guān)鍵的一個步驟。一般首先從問題域中得到候選類集合,在根據(jù)相應(yīng)的原則從該集合中刪除不作為類的,剩余的就是從問題域中認(rèn)定出來的類。簡要說明選擇候選類的原則,以及對候選類集合進(jìn)行刪除的原則。
信管網(wǎng)參考答案:
查看解析:
www.xomuzic.com/st/3812929056.html
4、 閱讀下列說明和c代碼,回答問題1至問題3,將解答寫在答題紙的對應(yīng)欄內(nèi)。
【說明】
設(shè)有m臺完全相同的機(jī)器運(yùn)行n個獨(dú)立的任務(wù),運(yùn)行任務(wù)i所需的時間為t
i,要求確定一個調(diào)度方案,使得完成所有任務(wù)所需要的時間最短。
假設(shè)任務(wù)已經(jīng)按照其運(yùn)行時間從大到小排序,算法基于最長運(yùn)行時間作業(yè)優(yōu)先的策略,按順序先把每個任務(wù)分配到一臺機(jī)器上,然后將剩余的任務(wù)一次放入最先空閑的機(jī)器。
【c代碼】
下面是算法的c語言實(shí)現(xiàn)。
1.常量和變量說明
m:機(jī)器數(shù)
n:任務(wù)數(shù)
t[]:輸入數(shù)組,長度為n,下標(biāo)從0開始,其中每個元素表示任務(wù)的運(yùn)行時間,下標(biāo)從0開始。
s[][]:二位數(shù)組,長度為m*n,下標(biāo)從0開始,其中元素s[i][j]表示機(jī)器i運(yùn)行的任務(wù)j的編號。
d[]:數(shù)組,長度為m其中元素d[i]表示機(jī)器i的運(yùn)行時間,下標(biāo)從0開始。
count[]:數(shù)組,長度為m,下標(biāo)從0開始,其中元素count[i]表示機(jī)器i運(yùn)行的任務(wù)數(shù)。
i:循環(huán)變量。
j:循環(huán)變量。
k:臨時變量。
max:完成所有任務(wù)的時間。
min:臨時變量。
2.函數(shù)schedule
void schedule(){
int i,j,k,max=0;
for( i=0;i
d[i]=0;
for(j=0;j
s[i][j]=0;
}
}
for(i=0;i
s[i][0]=i;
(1) ;
count[i]=1;
}
for( (2) ;i int min = d[0];
k=0;
for(j=1;j if(min>d[j]){
min = d[j];
k=j; //機(jī)器k空閑
}
}
(3) ;
count[k] = count[k]+1;
d[k] = d[k]+t[i];
}
for(i =0;i if( (4) ){
max=d[i];
}
}
}
【問題1】(8分)
根據(jù)說明和c代碼,填充c代碼中的空(1)~(4)。
【問題2】(2分)
根據(jù)說明和c代碼,該問題采用了 (5) 算法設(shè)計策略,時間復(fù)雜度 (6) (用o符號表示)
【問題3】(5分)
考慮實(shí)例m=3(編號0~2),n=7(編號0~6),各任務(wù)的運(yùn)行時間為{16,14,6,5,4,3,2}。則在機(jī)器0、1和2上運(yùn)行的任務(wù)分別為(7)、(8)和(9)(給出任務(wù)編號)。從任務(wù)開始運(yùn)行到完成所需的時間為(10)。
信管網(wǎng)參考答案:
查看解析:
www.xomuzic.com/st/3813019827.html
5、閱讀下列說明和c++代碼,將應(yīng)填入(n)處的字句寫在答題紙的對應(yīng)欄內(nèi)。
【說明】
現(xiàn)要求實(shí)現(xiàn)一個能夠自動生成求職簡歷的程序,簡歷的基本內(nèi)容包括求職者的姓名、性別、年齡及工作經(jīng)歷。希望每份簡歷中的工作經(jīng)歷有所不同,并盡量減少程序中的重復(fù)代碼。
現(xiàn)采用原型模式(prototype)來實(shí)現(xiàn)上述要求,得到如圖5-1所示的類圖。

【c++代碼】
#include<string>
using namespace std;
class cloneable{
public:
(1) ;
};
class workexperience:public cloneable{ //工作經(jīng)歷
private:
string workdata;
string company;
public:
cloneable * clone(){
(2) ;
obj->workdate= this->workdate;
obj->company = this->company;
return obj;
}
//其余代碼省略
};
class resume:public cloneable{ //簡歷
private:
string name;
string sex;
string age;
workexperience * work;
resume(workexperience * work){
this->work = (3) ;
}
public:
resume(string name){/*實(shí)現(xiàn)省略*/}
void setpersoninfo(string sex,string age){/*實(shí)現(xiàn)省略*/}
void setworkexperience(string workdate,string company){/*實(shí)現(xiàn)省略*/}
cloneable * clone(){
(4) ;
obj->name = this->name;
obj->sex = this->sex;
obj->age = this->age;
return obj;
}
};
int main(){
resume * a = new resume(“張三”);
a->setpersoninfo(“男”,“29”);
a-> setworkexperience(“1998-2000”,“xxx公司”);
resume * b = (5) ;
b-> setworkexperience(“2001-2006”,“yyy公司”);
return 0;
}
信管網(wǎng)參考答案:
查看解析:
www.xomuzic.com/st/3813114118.html
6、閱讀下列說明和java代碼,將應(yīng)填入(n)處的字句寫在答題紙的對應(yīng)欄內(nèi)。
【說明】
現(xiàn)要求實(shí)現(xiàn)一個能夠自動生成求職簡歷的程序,簡歷的基本內(nèi)容包括求職者的姓名、性別、年齡及工作經(jīng)歷。希望每份簡歷中的工作經(jīng)歷有所不同,并盡量減少程序中的重復(fù)代碼。
現(xiàn)采用原型模式(prototype)來實(shí)現(xiàn)上述要求,得到如圖6-1所示的類圖。

【java代碼】
public class workexperience (1) cloneable{ //工作經(jīng)歷
private string workdate;
private string company;
public object clone(){
(2) ;
obj.workdate= this.workdate;
obj.company = this.company;
return obj;
}
//其余代碼省略
}
public class resume (3) cloneable{ //簡歷
private string name;
private string sex;
private string age;
private workexperience work;
public resume(string name){
this.name = name;
work = new workexperience();
}
private resume(workexperience work){
this.work = (4) ;
}
public void setpersoninfo(string sex,string age){/*實(shí)現(xiàn)省略*/}
public void setworkexperience(string workdate,string company){/*實(shí)現(xiàn)省略*/}
public object clone(){
resume obj = (5) ;
return obj;
}
}
class workresume{
public static void main(){
resume a = new resume(“張三”);
a.setpersoninfo(“男”,“29”);
a.setworkexperience(“1998-2000”,“xxx公司”);
resume b = (6) ;
b. setworkexperience(“2001-2006”,“yyy公司”);
}
}
信管網(wǎng)參考答案:
查看解析:
www.xomuzic.com/st/3813211449.html