成人学院中文字幕,国产午夜麻豆影院在线观看,久久男人免费视频,久久精品美女视频,www.福利视频,蜜桃一本色道久久综合亚洲精品冫,欧美三级视频

專業(yè)軟件設(shè)計師網(wǎng)站|培訓(xùn)機(jī)構(gòu)|服務(wù)商(加客服微信:cnitpm或QQ:800184589進(jìn)軟件設(shè)計師學(xué)霸群)

軟題庫 培訓(xùn)課程
當(dāng)前位置:信管網(wǎng) >> 軟件設(shè)計師 >> 案例分析 >> 文章內(nèi)容
2007年上半年軟件設(shè)計師下午案例分析真題文字版
來源:信管網(wǎng) 2021年05月17日 【所有評論 分享到微信

免費(fèi)下載軟件設(shè)計師歷年真題:http://www.shundajiancai.com/zhenti/rs.html
該套題在線考試:http://www.shundajiancai.com/exam/examam.aspx?t1=2&sid=535681
1、 試題一

閱讀以下說明和圖,回答問題1至問題3。
【說明】
某房屋租賃公司欲建立一個房屋租賃服務(wù)系統(tǒng),統(tǒng)一管理房主和租賃者的信息,從而快速地提供租賃服務(wù)。該系統(tǒng)具有以下功能:
1.登記房主信息。對于每名房主,系統(tǒng)需登記其姓名、住址和聯(lián)系電話,并將這些信息寫入房主信息文件。
2.登記房屋信息。所有在系統(tǒng)中登記的房屋都有一個唯一的識別號(對于新增加的房屋,系統(tǒng)會自動為其分配一個識別號)。除此之外,還需登記該房屋的地址、房型(如平房、帶陽臺的樓房、獨(dú)立式住宅等)、最多能夠容納的房客數(shù)、租金及房屋狀態(tài)(待租賃、已出租)。這些信息都保存在房屋信息文件中。一名房主可以在系統(tǒng)中登記多個待租賃的房屋。
3.登記租賃者信息。所有想通過該系統(tǒng)租賃房屋的租賃者,必須首先在系統(tǒng)中登記個人信息,包括:姓名、住址、電話號碼、出生年月和性別。這些信息都保存在租賃者信息文件中。
4.租賃房屋。已經(jīng)登記在系統(tǒng)中的租賃者,可以得到一份系統(tǒng)提供的待租賃房屋列表。一旦租賃者從中找到合適的房屋,就可以提出看房請求。系統(tǒng)會安排租賃者與房主見面。對于每次看房,系統(tǒng)會生成一條看房記錄并將其寫入看房記錄文件中。
5.收取手續(xù)費(fèi)。房主登記完房屋后,系統(tǒng)會生成一份費(fèi)用單,房主根據(jù)費(fèi)用單交納相應(yīng)的費(fèi)用。
6.變更房屋狀態(tài)。當(dāng)租賃者與房主達(dá)成租房或退房協(xié)議后,房主向系統(tǒng)提交變更房屋狀態(tài)的請求。系統(tǒng)將根據(jù)房主的請求,修改房屋信息文件。
數(shù)據(jù)流圖10-1和圖10-2分別給出了該系統(tǒng)的頂層數(shù)據(jù)流圖和0層數(shù)據(jù)流圖。

【問題1】

使用[說明]中給出的詞匯,將數(shù)據(jù)流圖10-1中(1)~(4)處的數(shù)據(jù)流補(bǔ)充完整。

【問題2】

使用[說明]中給出的詞匯,將數(shù)據(jù)流圖10-2中的(5)~(8)補(bǔ)充完整。

【問題3】

數(shù)據(jù)流程圖10-2中缺失了三條數(shù)據(jù)流,請指出這三條數(shù)據(jù)流的起點(diǎn)、終點(diǎn)和數(shù)據(jù)流名稱。
信管網(wǎng)參考答案:
查看解析:www.shundajiancai.com/st/2455015356.html

2、 試題二
閱讀下列說明,回答問題1至問題3。
【說明】
某醫(yī)院的門診管理系統(tǒng)實現(xiàn)了為患者提供掛號、處方藥品收費(fèi)的功能。具體的需求及設(shè)計如下:
1.醫(yī)院醫(yī)師具有編號,姓名,科室,職稱,出診類型和出診費(fèi)用,其中出診類型分為專家門診和普通門診,與醫(yī)師職稱無關(guān);各個醫(yī)師可以具有不同的出診費(fèi)用,與職稱和出診類型無關(guān)。
2.患者首先在門診掛號處掛號,選擇科室和醫(yī)師,根據(jù)選擇的醫(yī)師繳納掛號費(fèi)(醫(yī)師出診費(fèi))。收銀員為患者生成掛號單,如表10-1所示,其中,就診類型為醫(yī)師的出診類型。
3.患者在醫(yī)師處就診后,憑借掛號單和醫(yī)師手寫處方到門診藥房交費(fèi)買藥。收銀員根據(jù)就診號和醫(yī)師處方中開列的藥品信息,查詢藥品庫(如表10-2所示)并生成門診處方單(如表10-3所示)。

4.由于藥品價格會發(fā)生變化,因此,門診管理系統(tǒng)必須記錄處方單上藥品的單價。
根據(jù)需求階段收集的信息,設(shè)計的實體聯(lián)系圖和關(guān)系模式(不完整)如下所示:

2.關(guān)系模式
掛號單(就診號,病患姓名,醫(yī)師編號,時間,  4  )
收銀員(編號,姓名,級別)
醫(yī)師(編號,姓名,科室,職稱,出診類型,出診費(fèi)用)
門診處方(  5  ,收銀員,時間)
處方明細(xì)(就診號,  6  )
藥品庫(藥品編碼,藥品名稱,  7  )
【問題1】
根據(jù)問題描述,填寫圖10-3實體聯(lián)系圖中(1)~(4)處聯(lián)系的類型。
【問題2】
圖10-3中還缺少幾個聯(lián)系?請指出每個聯(lián)系兩端的實體名,格式如下。
實體1:實體2
例如,收銀員與門診處方之間存在聯(lián)系,表示為:
收銀員:門診處方    或    門診處方:收銀員
【問題3】
根據(jù)實體聯(lián)系圖10-3,填寫掛號單、門診處方、處方明細(xì)和藥品庫關(guān)系模式中的空 (5)~(8)處,并指出掛號單、門診處方和處方明細(xì)關(guān)系模式的主鍵。
信管網(wǎng)參考答案:
查看解析:www.shundajiancai.com/st/2455119993.html

3、 試題三
閱讀下列說明和圖,回答問題1至問題3。
【說明】
某圖書管理系統(tǒng)的主要功能如下:
1.圖書管理系統(tǒng)的資源目錄中記錄著所有可供讀者借閱的資源,每項資源都有一個唯一的索引號。系統(tǒng)需登記每項資源的名稱、出版時間和資源狀態(tài)(可借閱或已借出)。
2.資源可以分為兩類:圖書和唱片。對于圖書,系統(tǒng)還需登記作者和頁數(shù);對于唱片,還需登記演唱者和介質(zhì)類型(cd或者磁帶)。
3.讀者信息保存在圖書管理系統(tǒng)的讀者信息數(shù)據(jù)庫中,記錄的信息包括:讀者的識別碼和讀者姓名。系統(tǒng)為每個讀者創(chuàng)建了一個借書記錄文件,用來保存讀者所借資源的相關(guān)信息。
現(xiàn)采用面向?qū)ο蠓椒ㄩ_發(fā)該圖書管理系統(tǒng)。識別類是面向?qū)ο蠓治龅牡谝徊?。比較常用的識別類的方法是尋找問題描述中的名詞,再根據(jù)相關(guān)規(guī)則從這些名詞中刪除不可能成為類的名詞,最終得到構(gòu)成該系統(tǒng)的類。表10-4給出了[說明]中出現(xiàn)的所有名詞。

通過對表10-4中的名詞進(jìn)行分析,最終得到了圖10-4所示的uml類圖(類的說明如表10-5所示)。

【問題1】
表10-5所給出的類并不完整,根據(jù)[說明]和表10-4,將圖10-4中的(a)~(c)處補(bǔ)充完整。

【問題2】
根據(jù)【說明】中的描述,給出圖10-4中的類catalogitem以及(b)、(c)處所對應(yīng)的類的關(guān)鍵屬性(使用表10-4中給出的詞匯),其中,camlogitem有4個關(guān)鍵屬性;(b)、 (c)處對應(yīng)的類各有兩個關(guān)鍵屬性。
【問題3】
識別關(guān)聯(lián)的多重度是面向?qū)ο蠼_^程中的一個重要步驟。根據(jù)[說明]中給出的描述,完成圖10-4中的(1)~(6)。
信管網(wǎng)參考答案:
查看解析:www.shundajiancai.com/st/2455213422.html

4、 試題四
閱讀以下說明和圖,填補(bǔ)流程圖中的空缺。
【說明】
在一條農(nóng)村公路的一邊稀疏地分布著房子,其分布如圖10-5所示。某電信公司需要在某些位置放置蜂窩電話基站,由于基站的覆蓋范圍是6公里,因此必須使得每棟房子到某個基站的直線距離不超過6公里。為簡化問題,假設(shè)所有房子在同一直線上,并且基站沿該直線放置?,F(xiàn)采用貪心策略實現(xiàn)用盡可能少的基站覆蓋所有的房子。

實現(xiàn)貪心算法的流程如圖10-6所示,請?zhí)畛淦渲锌瞻撞⒂嬎阍撍惴ǖ臅r間復(fù)雜度,其中:
1.d[i](1≤i≤n)表示第i個房子到公路a端的距離,n表示房子的總數(shù),房子的編號按照房子到公路a端的距離從小到大進(jìn)行編號。
2.s[k]表示第k(k≥1)個基站到公路a端的距離,算法結(jié)束后k的值為基站的總數(shù)。
該算法的時間復(fù)雜度為  (5)  。

信管網(wǎng)參考答案:
查看解析:www.shundajiancai.com/st/2455317292.html

5、 試題五
(以下試題五至試題七中任選一題解答)
閱讀以下說明和c語言函數(shù),應(yīng)填入  (n)  處。
【說明】
在一個分布網(wǎng)絡(luò)中,資源(石油、天然氣、電力等)可從生產(chǎn)地送往其他地方。在傳輸過程中,資源會有損耗。例如,天然氣的氣壓會減少,電壓會降低。我們將需要輸送的資源信息稱為信號。在信號從信源地送往消耗地的過程中,僅能容忍一定范圍的信號衰減,稱為容忍值。分布網(wǎng)絡(luò)可表示為一個樹型結(jié)構(gòu),如圖10-9所示。信號源是樹根,樹中的每個節(jié)點(diǎn)(除了根)表示一個可以放置放大器的子節(jié)點(diǎn),其中某些節(jié)點(diǎn)同時也是信號消耗點(diǎn),信號從一個節(jié)點(diǎn)流向其子節(jié)點(diǎn)。
每個節(jié)點(diǎn)有一個d值,表示從其父節(jié)點(diǎn)到該節(jié)點(diǎn)的信號衰減量。例如,在圖10-9中,節(jié)點(diǎn)w、p、q的d值分別為2、1、3,樹根節(jié)點(diǎn)表示信號源,其d值為0。
每個節(jié)點(diǎn)有一個m值,表示從該節(jié)點(diǎn)出發(fā)到其所有葉子的信號衰減量的最大值。顯然,葉子節(jié)點(diǎn)的m值為0。對于非葉子節(jié)點(diǎn)j,m(j)=max{m(k)+d(k)|k是j的孩子節(jié)點(diǎn)}。在此公式中,要計算節(jié)點(diǎn)的m值,必須先算出其所有子節(jié)點(diǎn)的m值。

在計算m值的過程中,對于某個節(jié)點(diǎn)i,其有一個子節(jié)點(diǎn)k滿足d(k)+m(k)大于容忍值,則應(yīng)在k處放置放大器,否則,從節(jié)點(diǎn)i到某葉子節(jié)點(diǎn)的信號衰減量會超過容忍值,使得到達(dá)該葉子節(jié)點(diǎn)時信號不可用,而在節(jié)點(diǎn)i處放置放大器并不能解決到達(dá)葉子節(jié)點(diǎn)的信號衰減問題。
例如,在圖10-9中,從節(jié)點(diǎn)p到其所有葉子節(jié)點(diǎn)的最大衰減值為4。若容忍值為3,則必須在s處放置信號放大器,這樣可使得節(jié)點(diǎn)p的m值為2。同樣,需要在節(jié)點(diǎn)小v處放置信號放大器,如圖10—10陰影節(jié)點(diǎn)所示。若在某節(jié)點(diǎn)放置了信號放大器,則從該節(jié)點(diǎn)輸出的信號與信號源輸出的信號等價。

函數(shù)placeboosters(treenode*root)的功能是:對于給定樹型分布網(wǎng)絡(luò)中各個節(jié)點(diǎn),計算其信號衰減量的最大值,并確定應(yīng)在樹中的哪些節(jié)點(diǎn)放置信號放大器。
全局變量tolerance保存信號衰減容忍值。
樹的節(jié)點(diǎn)類型定義如下:
typedef struct treenode{
int id;                      /*當(dāng)前節(jié)點(diǎn)的識別號*/
int childnum;                /*當(dāng)前節(jié)點(diǎn)的子節(jié)點(diǎn)數(shù)目*/
int d;                       /*父節(jié)點(diǎn)到當(dāng)前節(jié)點(diǎn)的信號衰減值*/
struct treenode **childptr;  /*向量,存放當(dāng)前節(jié)點(diǎn)到其所有子節(jié)點(diǎn)的指針*/
int m;                       /*當(dāng)前節(jié)點(diǎn)到其所有子節(jié)點(diǎn)的信號衰減值中的最大值*/
bool boost;                  /*是否在當(dāng)前節(jié)點(diǎn)放置信號放大器的標(biāo)志*/
}treenode;
【c語言函數(shù)】
void placeboosters(treenode *root)
{                               /*  計算root所指節(jié)點(diǎn)處的衰減量,如果衰減量超出了容忍值,則放置放大器*/
treenode *p;
int i,degradation;
if(  (1)  ){
degradation = 0;root->m = 0;
i = 0;
if  (i>=root->childnum)
return;
p=  (2)  ;
for(;i<root->childnum  &&  p; i++,p =  (3)  ){
p->m = 0;
(4)  ;
if  (p->d+p->m>tolerance)  {  /*在p所指節(jié)點(diǎn)中放置信號放大器*/
p->boost=true;
p->m = 0;
}
if  (p->d + p->m > degradation)
degradation = p->d + p->m;
}
root->m =   (5)  ;
}
}
信管網(wǎng)參考答案:
查看解析:www.shundajiancai.com/st/2455416424.html

6、 試題六
閱讀下列說明和c++代碼,應(yīng)填入  (n)  處。
【說明】
某游戲公司現(xiàn)欲開發(fā)一款面向兒童的模擬游戲,該游戲主要模擬現(xiàn)實世界中各種鴨子的發(fā)聲特征、飛行特征和外觀特征。游戲需要模擬的鴨子種類及其特征如表10-6所示:

為支持將來能夠模擬更多種類鴨子的特征,采用策略設(shè)計模式(strategy)設(shè)計的類圖如圖10-11所示:
其中,duck為抽象類,描述了抽象的鴨子,而類rubberduck、mallardduck、 cottonduck和redheadduck分別描述具體的鴨子種類,方法fly()、quack()和display()分別表示不同種類的鴨子都具有飛行特征、發(fā)聲特征和外觀特征;類flybehavior與 quackbehavior為抽象類,分別用于表示抽象的飛行行為與發(fā)聲行為:類flynoway與 flywithwings分別描述不能飛行的行為和用翅膀飛行的行為;類quack、squeak與 quacknoway分別描述發(fā)出“嘎嘎”聲的行為、發(fā)出橡皮與空氣摩擦聲的行為與不發(fā)聲的行為。請?zhí)钛a(bǔ)以下代碼中的空缺。
【c++代碼】
#include<iostream>
using namespace  (1)  ;    class flybehavior{
public:  (2)   fly()=0;
};
class quackbehavior{
public:  (3)   quack() = 0;
};
class flywithwings:public flybehavior{
public:void fly(){  cout<< “使用翅膀飛行 ! ”  <<endl;  }
};
class flynoway:public flybehavior{
public:void fly(){  cout<< “不能飛行!”<<endl;}
};
class quack:public quackbehavior{
public:void quack(){  cout<<“發(fā)出\‘嘎嘎\’聲  !”<<endl;  }
};
class squeak:public quackbehavior{
public:void quack(){cout<<“發(fā)出空氣與橡皮摩擦聲!”<<endl;   }
};
class quacknoway:public quackbehavior{
public:void quack  (){  cout<<“不能發(fā)聲  !”<<endl;  }
};
class duck{
protected:
flybehavior*  (4)  ;
quackbehavior*  (5)  ;
public:
void fly(){  (6)  ;  }
void quack(){  (7)  ;);
virtual void display()=0;
};
class rubberduck:public duck{
public:
rubberduck(){
flybehavior=new   (8)  ;
quackbehavior=new  (9)  ;
}
~rubberduck(){
if(!flybehavior)delete flybehavior;
if(!quackbehavior)  delete quackbehavior;
}
void display(){/*此處省略顯示橡皮鴨的代碼*/   }
};
//其他代碼省略
信管網(wǎng)參考答案:
查看解析:www.shundajiancai.com/st/245551202.html

7、 試題七
閱讀下列說明和java代碼,應(yīng)填入  (n)  處。
【說明】
某游戲公司現(xiàn)欲開發(fā)一款面向兒童的模擬游戲,該游戲主要模擬現(xiàn)實世界中各種鴨子的發(fā)聲特征、飛行特征和外觀特征。游戲需要模擬的鴨子種類及其特征如表10-7所示:

為支持將來能夠模擬更多種類鴨子的特征,采用策略設(shè)計模式(strategy)設(shè)計的類圖如圖10-12所示:

其中,duck為抽象類,描述了抽象的鴨子,而類rubberduck、mallardduck、 cottonduck 和 redheadduck分別描述具體的鴨子種類,方法fly()、quack()和display()分別表示不同種類的鴨子都具有飛行特征、發(fā)聲特征和外觀特征;接口flybehavior與 quackbehavior分別用于表示抽象的飛行行為與發(fā)聲行為;類flynoway與flywithwings分別描述不能飛行的行為和用翅膀飛行的行為;類quack、squeak與quacknoway分別描述發(fā)出“嘎嘎”聲的行為、發(fā)出橡皮與空氣摩擦聲的行為與不發(fā)聲的行為。請?zhí)钛a(bǔ)以下代碼中的空缺。
【java代碼】
(1)   flybehavior{
public void fly();
};
(2)  quackbehavior{
public void quack();
};
class flywithwings implements flybehavior{
public void fly(){system.out.println(“使用翅膀飛行!”);}
};
class flynoway implements flybehavior{
public void fly(){system.out.println(“不能飛行!”);}
};
class quack implements quackbehavior{
public void quack(){system.out.println(“發(fā)出\‘嘎嘎\’聲!”); }
};
class squeak implements quackbehavior{
public void quack(){system.out.println(“發(fā)出空氣與橡皮摩擦聲 !”);
}
};
class quacknoway implements quackbehavior{
public void quack(){system.out.println(“不能發(fā)聲!”);}
};
abstract class duck{
protected  flybehavior  (3)  ;
protected  quackbehavior  (4)  ;
public void fly(){  (5)  ;  }
public void quack()  {  (6)  ;};
public   (7)  void display();
};
class rubberduck extends duck{
public rubberduck(){
flybehavior=new  (8)  ;
quackbehavior=new  (9)  ;
}
public void display(){/*此處省略顯示橡皮鴨的代碼*/  }
};
//其他代碼省略
信管網(wǎng)參考答案:
查看解析:www.shundajiancai.com/st/2455614600.html

掃碼關(guān)注公眾號

溫馨提示:因考試政策、內(nèi)容不斷變化與調(diào)整,信管網(wǎng)網(wǎng)站提供的以上信息僅供參考,如有異議,請以權(quán)威部門公布的內(nèi)容為準(zhǔn)!

信管網(wǎng)致力于為廣大信管從業(yè)人員、愛好者、大學(xué)生提供專業(yè)、高質(zhì)量的課程和服務(wù),解決其考試證書、技能提升和就業(yè)的需求。

信管網(wǎng)軟考課程由信管網(wǎng)依托10年專業(yè)軟考教研傾力打造,官方教材參編作者和資深講師坐鎮(zhèn),通過深研歷年考試出題規(guī)律與考試大綱,深挖核心知識與高頻考點(diǎn),為學(xué)員考試保駕護(hù)航。面授、直播&錄播,多種班型靈活學(xué)習(xí),滿足不同學(xué)員考證需求,降低課程學(xué)習(xí)難度,使學(xué)習(xí)效果事半功倍。

相關(guān)內(nèi)容

發(fā)表評論  查看完整評論  

推薦文章