女人久久久www免费人成看片,国内自拍偷拍网,国产一区二区三区免费在线观看,欧美精品三区四区,91久久国产综合久久91,欧美成人精品第一区二区三区 ,美女成人在线观看

專業(yè)軟件設計師網(wǎng)站|培訓機構|服務商(加客服微信:cnitpm或QQ:800184589進軟件設計師學霸群)

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

免費下載軟件設計師歷年真題:http://m.xiexiliangjiufa.com/zhenti/rs.html
該套題在線考試:http://m.xiexiliangjiufa.com/exam/examam.aspx?t1=2&sid=535607
1、 試題一

閱讀下列說明和圖,回答問題1~問題3。
[說明]
某公司的主要業(yè)務是出租圖書和唱碟。由于業(yè)務需求,該公司委托軟件開發(fā)公司a開發(fā)一套信息管理系統(tǒng)。該系統(tǒng)將記錄所有的圖書信息、唱碟信息、用戶信息、用戶租借信息等。a公司決定采用面向對象的分析和設計方法開發(fā)此系統(tǒng)。圖1-1所示為某類圖書或唱碟被借閱時應記錄的信息,圖1-2描述了系統(tǒng)定義的兩個類book和cd,分別表示圖書和唱碟的信息。

[問題1]
經(jīng)過進一步分析,設計人員決定定義一個類items on loan,以表示類book和cd的共有屬性和方法。請采用圖1-2中屬性和方法的名稱給出類items_on_loan應該具有的屬性和方法(注意:不同名稱的屬性和方法表示不同的含義,如cd中的composer與 book甲的author無任何關系)。
[問題2]
為了記錄每種圖書或唱碟租借的歷史記錄,引入類circulationhistory,類中存儲的信息是圖1-1中所表示的內容。請采用uml表示法將下列四個類間的關系表示出來。

[問題3]
現(xiàn)需了解十大最暢銷(借出次數(shù)最多)圖書或唱碟。為此,引入tenpopulate類以存儲所有十大暢銷圖書或cd的名稱及其被借出的次數(shù)。下列順序圖描述了某類圖書或唱碟被借出后成為十大暢銷圖書或唱碟時對象間的消息交互。系統(tǒng)在一次運行過程中,應有  (1)  個tenpopulate實例對象最合適,一個tenpopulate類實例對象最多需要和  (2)  個items_on_loan實例對象交互。

信管網(wǎng)參考答案:
查看解析:m.xiexiliangjiufa.com/st/245295631.html


2、 試題二

閱讀下列說明和圖,回答問題1至問題3。
[說明]
某企業(yè)決定開發(fā)一個企業(yè)倉儲管理系統(tǒng),山李工承擔系統(tǒng)的設計工作。該系統(tǒng)的網(wǎng)絡連接如圖2-1所示。
[圖2-1]

該企業(yè)有多個倉庫,圖2-1所示的中心數(shù)據(jù)庫存儲了各個倉庫中每種貨物的庫存信息。每個倉庫配備一臺前端機,進出貨物均由前端機輔助實現(xiàn)。管理員每天上班時,通過前端機從中心數(shù)據(jù)庫的庫存表中讀取本倉庫各種貨物的庫存數(shù),每個倉庫的當日業(yè)務數(shù)據(jù)也都暫存在前端機,當天業(yè)務結束后,再將前端機中存儲的數(shù)據(jù)傳輸?shù)街鳈C進行存儲與匯總。
每個倉庫可以存放多種貨物,但同一種貨物不能存放在不同的倉庫中。每個倉庫有多個管理員,但每個管理員只管理一個倉庫。貨物出庫/入庫時,由倉庫管理員將貨物的條碼通過閱讀器輸入前端機中,貨物數(shù)量的默認值為1,可以由管理員修改。前端機根據(jù)輸入的貨物信息,打印“出庫/入庫”清單。出庫/入庫單中同一種貨物最多只出現(xiàn)一次,每份出庫/入庫單由流水號唯一標識。圖2-2是一個出庫單的實例。
[圖2-2] 流水號;200408080001300101    時間:2005-10-01 13:22


該系統(tǒng)處理業(yè)務的過程如下。
1.初始化:前端機根據(jù)倉庫號從貨物表中讀取本倉庫中每種貨物的貨物編碼、庫存量、貨物名稱和單價;
2.登記出庫/入庫信息:由前端機存儲每一筆“出庫從庫”記錄:
3.匯總:在每個工作日結束前匯總當日各種貨物的“出庫/入庫”量至日匯總表;
4.更新庫存表:根據(jù)當日的匯總信息更新貨物的庫存。
李工經(jīng)過分析,設計出如圖2-3所示的關系模式。
[圖2-3]
出入庫單(流水號,出入庫標志,管理員號,時間)
出入庫記錄(貨物編碼,數(shù)量,流水號)
日匯總表(日期,貨物編碼,數(shù)量,出入庫標志)
倉庫(倉庫號,倉庫名,倉庫電話)
管理員(管理員號,姓名,倉庫號)
貨物(        (a)        )
注:時間格式為年-月-日時:分;日期格式為年-月-日。
賣體聯(lián)系圖的表示方法如圖2-4所示,其中方框表示實體,菱形表示聯(lián)系,聯(lián)系的類型在實體與聯(lián)系的邊上標出。圖2-5為與該系統(tǒng)對應的實體聯(lián)系圖。

[問題1]
根據(jù)題意,補充圖2-3中(a)處的空缺,即貨物關系模式的屬性。
[問題2]
根據(jù)題意,補充圖2-5中缺失的聯(lián)系和聯(lián)系的類型,使其成為完善的實體聯(lián)系圖。其中,聯(lián)系名分別取名為聯(lián)系1,聯(lián)系2,聯(lián)系3,……。
[問題3]
寫出每種關系模式的主鍵。
信管網(wǎng)參考答案:
查看解析:m.xiexiliangjiufa.com/st/2453019882.html


3、 試題三

閱讀下列說明和圖,回答問題1至問題4,將解答填入答題紙的對應欄內。
[說明]
某公司計劃與客戶通過internet交換電子郵件和數(shù)據(jù)(以下統(tǒng)一稱為“消息”)。為保障安全,在對傳輸?shù)臄?shù)據(jù)進行加密的同時,還要對參與通信的實體進行身份認證。因此,需同時使用對稱與非對稱密鑰體系。圖3-1描述了接收者b使用非對稱密鑰體系對發(fā)送者a進行認證的過程。
[圖3-1]

圖3-2描述了發(fā)送和接收消息的過程,其中的認證過程使用了圖3-1中的方法。圖3—1中的方框a和方框b與圖3-2中的方框a和方框b相同。
[圖3-2]
圖3-2中發(fā)送和接收消息的過程是:
1)發(fā)送者a使用與接收者b共享的對稱密鑰體系的密鑰加密將要發(fā)送的消息。
2)為了實現(xiàn)身份認證,a使用與b共享的摘要算法生成消息摘要,并使用公鑰密碼體系把生成的消息摘要加密后發(fā)送給b(這里假設a和b都能通過安全的方法獲得對方的公鑰)。
3)b使用非對稱密鑰體系解密收到的消息摘要,使用與a共享的對稱密鑰體系的密鑰解密加密后的消息,再使用與a共享的摘要算法針對解密后的消息生成消息摘要。
4)b對比自己生成的消息摘要與接收到的a發(fā)送的消息摘要是否相同,從而驗證發(fā)送者a的身份。

[問題1]
請在下列選項中選擇合適的答案,填入圖3-1、圖3-2的方框a和方框b。
b的公鑰,b的私鑰,摘要算法,a的私鑰,a的公鑰,會話密鑰
[問題2]
請在下列選項中選擇合適的答案,填入圖3-2的方框c至方框f。
b的公鑰,b的私鑰,摘要算法,a的私鑰,a的公鑰,會話密鑰
[問題3]
按照圖3-2中的方法發(fā)送郵件時,使用不同的密碼體制加密消息和消息摘要,請用 150字以內文字簡要說明這樣做的理由。
[問題4]
請從下面關于摘要函數(shù)的說法中選出所有正確的描述。
[a]很容易使不同的輸入數(shù)據(jù)生成相同的輸出數(shù)據(jù)。
[b]根據(jù)輸入數(shù)據(jù)獲取輸出數(shù)據(jù)的時間非常短。
[c]根據(jù)輸入數(shù)據(jù)獲取輸出數(shù)據(jù)的時間非常長。
[d]輸出數(shù)據(jù)的長度比輸入數(shù)據(jù)的長度要長。
[e]根據(jù)輸出數(shù)據(jù)無法還原出輸入數(shù)據(jù)。
信管網(wǎng)參考答案:
查看解析:m.xiexiliangjiufa.com/st/2453128972.html


4、 試題四

閱讀下列函數(shù)說明、圖和c代碼,將應填入  (n)  處的字句。
[說明]
散列文件的存儲單位稱為桶(bucket)。假如一個桶能存放m個記錄,當桶中已有 m個同義詞(散列函數(shù)值相同)的記錄時,存放第m+1個同義詞會發(fā)生“溢出”。此時需要將第m+1個同義詞存放到另一個稱為“溢出桶”的桶中。相對地,稱存放前m個同義詞的桶為“基桶”。溢出桶和基桶大小相同,用指針鏈接。查找指定元素記錄時,首先在基桶中查找。若找到,則成功返回,否則沿指針到溢出桶中進行查找。
例如:設散列函數(shù)為hash(key)=key mod 7,記錄的關鍵字序列為15,14,21,87,97,293,35,24,149,19,63,16,103,77,5,153,145,356,51,68,705,453,建立的散列文件內容如圖4-1所示。
[圖4-1]

為簡化起見,散列文件的存儲單位以內存單元表示。
函數(shù)inserttohashtable(int newelemkey)的功能是:將元素neweiemkey插入散列桶中,若插入成功則返回0,否則返回-1。
采用的散列函數(shù)為hash(newelemkey)=newelemkey % p,其中p為設定的基桶數(shù)目。
函數(shù)中使用的預定義符號如下:
#define nullkey  -1           /*散列桶的空閑單元標識*/
#define p   7                 /*散列文件中基桶的數(shù)目*/
#define items  3              /*基桶和溢出桶的容量*/
typedef struct bucketnode{    /*基桶和溢出桶的類型定義*/
int kcydata[items];
struct bucketnode *link;
}bucket;
bucket bucket[p];             /*基桶空間定義*/
[函數(shù)]
int lnserttohashtable(int newelemkey){
/*將元素newelemkey插入散列桶中,若插入成功則返回0,否則返回-1*/
/*設插入第一個元素前基桶的所有keydata[]、link域已分別初始化為nullkey、
null*/
int index;    /*基桶編號*/
int i,k;
bucket *s,*front,*t;
(1)  ;
for(i=0; i<items;i++)/*在基桶查找空閑單元,若找到則將元素存入*/
if(bucket[index].keydata[i]=nullkey){
bucket[index].keydata[i]=newelemkey;  break;
}
if(  (2)  ) return 0;
/*若基桶已滿,則在溢出桶中查找空閑單元,若找不到則申請新的溢出桶*/
(3)  ;        t=bucket[index].link;
if(t!=null)   {/*有溢出桶*/
while (t!=null){
for(k=0; k<items; k++)
if(t->keydata[k]=nullkey){/*在溢出桶鏈表中找到空閑單元*/
t->keydata[k]=newelemkey;   break;
}/*if*/
front=t;
if(  (4)  )t=t->link;
else break;
}/*while*/
}/*if*/
if(  (5)  ) {/*申請新溢出桶并將元素存入*/
s=(bucket*)malloe(sizeof(bucket));
if(!s)  return-1;
s->link=null;
for(k=0; k<items; k++)
s->keydata[k]=nullkey;
s->keydata[0]=newelemkey;
(6)  ;
}/*if*/
return 0;
}/*inserttohashtable*/
信管網(wǎng)參考答案:
查看解析:m.xiexiliangjiufa.com/st/2453217604.html


5、 試題五

閱讀以下說明和c++代碼,將應填入  (n)  處。
[說明]
在一公文處理系統(tǒng)中,開發(fā)者定義了一個公文類officedoc,其中定義了公文具有的屬性和處理公文的相應方法。當公文的內容或狀態(tài)發(fā)生變化時,關注此officedoc類對象的相應的docexplorer對象都要更新其自身的狀態(tài)。一個officedoc對象能夠關聯(lián)一組 docexplorer對象。當officedoc對象的內容或狀態(tài)發(fā)生變化時,所有與之相關聯(lián)的 docexplorcr對象都將得到通知,這種應用被稱為觀察者模式。以下代碼寫在一個c++源文件中,能夠正確編譯通過。
[c++代碼]
#include <iostream>
const obs_maxnum=20;//最多與officedoc對象相關聯(lián)的docexplorer對象的個數(shù)
(1)  ;
class docexplorer{  //關注officedoc公文對象的類
public:
docexplorer(  (2)   *doc);  //構造函數(shù)
(3)   void update(officedoc *doc)=0;//更新自身狀態(tài)的函數(shù)
//其他相關屬性和方法省略
};
class officedoc{  //公文類
private:
docexplorer *myobs[obs_maxnum];
//關注此公文類的docexplorer類對象指針數(shù)組
int index; //與officedoc對象關聯(lián)的docexplorer對象的個數(shù)
public:
officedoe()
index=0;
}
void  attach(docexplorer *o){
//將一doeexplorer對象與officedoe對象相關聯(lián)
if(index >=obs_maxnum ||o=null)return;
for(int loop=0; loop<index; loop++)
if(myobs[loop]==o) return;
myobs[index]=o;
index++;
}
void  detaeh(docexplorer *o){
//接觸某doeexplorer對象與officedoc對象的關聯(lián)
if(0==null) return;
for(int loop=0; loop<index; loop++){
if(myobs[loop]==o){
if(loop<=index-2)myobs[loop]=myobs[index-1];
myobs[index-1]=null;
index--;
break;
}
}
}
private:
void notifyobs(){   //通知所有的docexplorer對象更改自身狀態(tài)
for(int loop=0; loop<index; loop++){
myobs[loop]->  (4)  ;    //docexplorer對象更新自身狀態(tài)
}
}
//其他公文類的相關屬性和方法
};
docexplorer::docexplorer(officedoc *doc){//docexplorer 類對象的構造函數(shù)
doc->  (5)  ;  //將此docexplorer對象與doc對象相關聯(lián)
}
信管網(wǎng)參考答案:
查看解析:m.xiexiliangjiufa.com/st/2453319636.html


6、 試題六

閱讀以下說明和java代碼,將應填入  (n)  處。
[說明]
在一公文處理系統(tǒng)中,開發(fā)者定義了一個公文類officedoc,其中定義了公文具有的屬性和處理公文的相應方法。當公文的內容或狀態(tài)發(fā)生變化時,關注此officedoc類對象的相應的docexplorer對象都要更新其自身的狀態(tài)。一個officedoc對象能夠關聯(lián)一組 docexplorer對象。當officedoc對象的內容或狀態(tài)發(fā)生變化時,所有與之相關聯(lián)的 docexplorer對象都將得到通知,這種應用被稱為觀察者模式。以下代碼采用java語言實現(xiàn),能夠正確編譯通過。
[java代碼]
//subject.java 文件
public interface subject {
public void attach(observer docexplorer);
public void detach(observer docexplorer);
void notifyobservers();
}
//observer.java 文件
public interface observer{
void update(  (1)  );
}
//officedoc.java 文件
import java.util.*;
public class officedoc implements subject(//officedoc 類實現(xiàn) subject 接口
private vector observerveetor=new java.util.vector();
//存儲與officedoc相關聯(lián)的docexplorer 對象
public void attach(observer  observer){
//將某 docexplorer 對象與officedoc 相關聯(lián)
observervector.addelement(observer);
}
public void detach(observer observer){
//解除某docexplorer 對象與officedoc的關聯(lián)關系
observervector.removeelement(observer);
}
public void notifyobservers(){
//當officedoc對象狀態(tài)已發(fā)生變化時,通知所有的docexplorer對象
enumeration enumeration=  (2)  ;
while (enumeration.hasmoreelements()){
((observer)enumeration.nextelement()).  (3)  ;
}
}
public enumeration observers(){
return  observervector.elements();
}
//其他公文類的屬性和方法省略
}
//doeexplorer.java 文件
public class docexplorer implements   (4)  {
public void update(  (5)  ){
//更新docexplorer自身的狀態(tài),代碼省略
}
}
信管網(wǎng)參考答案:
查看解析:m.xiexiliangjiufa.com/st/2453419400.html


7、 試題七

閱讀以下說明和c代碼,將應填入  (n)  處。
[說明]
在一公文處理系統(tǒng)中,開發(fā)者定義了一個公文結構officedoc,其中定義了公文應該具有的屬性(字段)。當公文的內容或狀態(tài)發(fā)生變化時,與之相關聯(lián)的docexplorer結構的值都需要發(fā)生改變。一個officedoc結構能夠關聯(lián)一組docexplorer結構。當officedoc結構的內容或狀態(tài)發(fā)生變化時,所有與之相關聯(lián)的docexplorer結構都將被更新,這種應用被稱為觀察者模式。以下代碼采用c語言實現(xiàn),能夠正確編譯通過。
[c代碼]
#include <stdio.h>
#define obs_maxnum 20  /*一個officedoc變量最多能夠關聯(lián)的*/
/*doeexplorer變量的個數(shù)*/
typedef void(  (1)  )(struct officedoc*,street docexplorer*);
struct docexplorer{
func update;/* docexplorer結構采用的更新函數(shù)*/
/*其他的結構字段省略*/
};
struct officedoc{
(2)  myobs[obs_maxnum];
/*存儲所有與officedoc相關聯(lián)的doeexplorer結構指針*/
int index;/*與officedoc結構變量相關聯(lián)的docexplorer結構變量的個數(shù)*/
};
void  attach(struet officedoc *doc, struet docexplorer *ob){
/*關聯(lián)obersver結構ob與officedoe結構doc*/
int loop=0;
if(doc->index >=obs_maxnum || ob==null) return;
for(loop=0; loop <doc->index; loop++)
if(doc->myobs[loop]==ob)return;
doc->myobs[doe->index]=ob;
doc->index++;
)
void  detach(struct officedoc *doc, struct docexplorer *ob){
/*解除doc結構與ob結構間的關系*/
int loop;
if(ob==null)return;
for(loop=0; loop <doc->index; loop6++){
if(doc->myobs[loop]==ob){
if(loop<=doc->index-2)
doe->myobs[loop]=doc->myobs[  (3)  ];
doc->myobs[doe->indox-1]=null;
doe->index--;
break;
}
}
}
void updatel(struct officedoc *doc,struct docexplorer *ob){
/*更新ob結構的值,更新代碼省略*/
}
void update2(stmct officedoc *doc, struct docexplorer *ob){
/*更新ob結構的值,更新代碼省略*/
}
void notifyobs(struet officedoc *doc){
/*當doc結構的值發(fā)生變化時,通知與之關聯(lián)的所有docexplorer結構變量*/
int loop;
for(loop=0; loop <doc->index; loop++){
(doc->myobs[loop])->update(  (4)  );
}
}
void main(){
stmct officedoc doc;/*定義一officedoc變量*/
struct docexplorer explorer1, explorer2;/*定義兩個docexplorer變量*/
/*初始化與officedoc變量相關的docexplorer變量個數(shù)為0*/
doc.index=0;
explorer1.update=update1;/*設置explorer1變量的更新函數(shù)*/
explorer2.update=update2;/*設置explorer2變量的更新函數(shù)*/
attaeh(&doc,&explorer1);/*關聯(lián)explorer1與doc對象*/
attach(&doc,&explorer2);/*關聯(lián)explorer2與doc對象*/
/*其他代碼省略*/
(5)  ;/*通知與officedoc相關的所有docexplorer變量*/
return;
}
信管網(wǎng)參考答案:
查看解析:m.xiexiliangjiufa.com/st/245356842.html
掃碼關注公眾號

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

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

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

相關內容

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

推薦文章