中文字幕综合一区,伊人av网,欧美中日韩在线,亚洲国产香蕉视频,黄视频在线免费,天天操天天爱天天爽,狠狠躁天天躁

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

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

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

閱讀以下說明以及數(shù)據(jù)流圖,回答問題1至問題5。
【說明】
某銀行已有一套基于客戶機(jī)/服務(wù)器模式的儲(chǔ)蓄系統(tǒng)a和一套建賬軟件。建賬軟件主要用于將儲(chǔ)蓄所手工處理的原始數(shù)據(jù)轉(zhuǎn)換為系統(tǒng)a所需的數(shù)據(jù)格式。該建賬軟件具有以下功能。
(1)分戶賬錄入:手工辦理業(yè)務(wù)時(shí)建立的每個(gè)分戶賬數(shù)據(jù)均由初錄員和復(fù)錄員分別錄入,以確保數(shù)據(jù)的正確性。
(2)初錄/復(fù)錄比對(duì):將初錄員和復(fù)錄員錄入的數(shù)據(jù)進(jìn)行一一比較,并標(biāo)記兩套數(shù)據(jù)是否一致。
(3)數(shù)據(jù)確認(rèn):當(dāng)上述兩套數(shù)據(jù)完全一致后,將其中任一套作為最終進(jìn)入系統(tǒng)a的原始數(shù)據(jù)。
(4)匯總核對(duì)和打?。簩?duì)經(jīng)過確認(rèn)的數(shù)據(jù)進(jìn)行匯總,并和會(huì)計(jì)賬目中的相關(guān)數(shù)據(jù)進(jìn)行核對(duì),以確保數(shù)據(jù)的整體正確性,并打印輸出經(jīng)過確認(rèn)的數(shù)據(jù),為以后核查可能的錯(cuò)誤提供依據(jù)。
(5)數(shù)據(jù)轉(zhuǎn)換:將經(jīng)過確認(rèn)的數(shù)據(jù)轉(zhuǎn)換為儲(chǔ)蓄系統(tǒng)a需要的中間格式數(shù)據(jù)。
(6)數(shù)據(jù)清除:為加快初錄和復(fù)錄的處理速度,在數(shù)據(jù)確認(rèn)之后,可以有選擇地清除初錄員和復(fù)錄員錄入的數(shù)據(jù)。
該軟件的數(shù)據(jù)流圖如圖10-1至圖10-3所示。圖中部分?jǐn)?shù)據(jù)流數(shù)據(jù)文件的格式如下:
初錄分戶賬=儲(chǔ)蓄所號(hào)+賬號(hào)+戶名+開戶日+開戶金額+當(dāng)前余額+性質(zhì)
復(fù)錄分戶賬=儲(chǔ)蓄所號(hào)+賬號(hào)+戶名+開戶日+開戶金額+當(dāng)前余額+性質(zhì)
初錄數(shù)據(jù)=手工分戶賬+一致性標(biāo)志
復(fù)錄數(shù)據(jù)=手工分戶賬+一致性標(biāo)志
會(huì)計(jì)賬目=儲(chǔ)蓄所號(hào)+總戶數(shù)+總余額
操作結(jié)果=初錄操作結(jié)果+比對(duì)操作結(jié)果+復(fù)錄操作結(jié)果


【問題1】
請(qǐng)采用說明中的詞匯,給出數(shù)據(jù)確認(rèn)處理所需的數(shù)據(jù)流在第1層圖中的全部可選起點(diǎn)(第0層圖和第1層圖中均未給出)。
【問題2】
不考慮數(shù)據(jù)確認(rèn)處理(加工2),請(qǐng)指出數(shù)據(jù)流圖中存在的錯(cuò)誤。
【問題3】
打印分戶賬清單時(shí),必須以下列哪一組數(shù)據(jù)作為關(guān)鍵字進(jìn)行排序,才能滿足需求?請(qǐng)從下面選項(xiàng)中選擇。
①儲(chǔ)蓄所    ②賬號(hào)    ⑧開戶日    ④總戶數(shù)和總余額
【問題4】
加工1(錄入比對(duì)處理)除能夠檢查出初錄數(shù)據(jù)和復(fù)錄數(shù)據(jù)不一致外,還應(yīng)當(dāng)檢測(cè)出下列哪些錯(cuò)誤。
①輸入的無效字符          ②輸入的半個(gè)漢字          ③顯示器無法顯示
④初錄員重復(fù)錄入同一賬戶  ⑤匯總數(shù)據(jù)與會(huì)計(jì)賬目不符  ⑥打印機(jī)卡紙
【問題5】
請(qǐng)使用數(shù)據(jù)字典條目定義形式,給出第0層dfd中的“手工分戶賬”數(shù)據(jù)流和第1層dfd中的“初錄分戶賬”、“復(fù)錄分戶賬”的關(guān)系。
信管網(wǎng)參考答案:
查看解析:www.jazzmuze.com/st/2454313215.html


2、 試題二

閱讀以下說明,回答問題1至問題4。
【說明】
某賓館需要建立一個(gè)住房管理系統(tǒng),部分的需求分析結(jié)果如下:
(1)一個(gè)房間有多個(gè)床位,同一房間內(nèi)的床位具有相同的收費(fèi)標(biāo)準(zhǔn),不同房間的床位收費(fèi)標(biāo)準(zhǔn)可能不同;
(2)每個(gè)房間有房間號(hào)(如201、202等)、收費(fèi)標(biāo)準(zhǔn)、床位數(shù)目等信息;
(3)每位客人有身份證號(hào)碼、姓名、性別、出生日期和地址等信息:
(4)對(duì)每位客人的每次住宿,應(yīng)該記錄其入住日期、退房日期和預(yù)付款額信息;
(5)管理系統(tǒng)可查詢出客人所住房間號(hào)。
根據(jù)以上的需求分析結(jié)果,設(shè)計(jì)一種關(guān)系模型如下圖所示:

 

【問題1】

根據(jù)上述說明和實(shí)體-聯(lián)系圖,得到該住房管理系統(tǒng)的關(guān)系模式如下所示,請(qǐng)補(bǔ)充住宿關(guān)系。
房間(房間號(hào),收費(fèi)標(biāo)準(zhǔn),床位數(shù)目)
客人(身份證號(hào),姓名,性別,出生日期,地址)
住宿(  (1)  ,入住日期,退房日期,預(yù)付款額)
【問題2】
請(qǐng)給出問題1中住宿關(guān)系的主鍵和外鍵。
【問題3】
若將上述各關(guān)系直接實(shí)現(xiàn)為對(duì)應(yīng)的物理表,現(xiàn)需查詢?cè)?005年1月1日到2005年 12月31日期間,在該賓館住宿次數(shù)大于5次的客人身份證號(hào),并且按照入住次數(shù)進(jìn)行降序排列。下面是實(shí)現(xiàn)該功能的sql語句,請(qǐng)?zhí)钛a(bǔ)語句中的空缺。
select 住宿.身份證號(hào),count (入住日期)
from 住宿,客人
where 入住日期>='20050101'and入住日期<='20051231'
and 住宿.身份證號(hào)=客人.身份證號(hào)
group by   (2)
(3)   count(入住日期)>5
(4)
【問題4】
為提交sql語句的執(zhí)行效率,可在相應(yīng)的表上創(chuàng)建索引。根據(jù)問題3中的sql語句,除主鍵和外鍵外,還需要在哪個(gè)表的哪些屬性上創(chuàng)建索引,應(yīng)該創(chuàng)建什么類型的索引,請(qǐng)說明原因。
信管網(wǎng)參考答案:
查看解析:www.jazzmuze.com/st/2454419927.html


3、 試題三

閱讀以下說明和圖,回答問題1至問題3。
【說明】
s公司開辦了在線電子商務(wù)網(wǎng)站,主要為各注冊(cè)的商家提供在線商品銷售功能。為更好地吸引用戶,s公司計(jì)劃為注冊(cè)的商家提供商品(commodity)促銷(promotion)功能。商品的分類(category)不同,促銷的方式和內(nèi)容也會(huì)有所不同。
注冊(cè)商家可發(fā)布促銷信息。商家首先要在自己所銷售的商品的分類中,選擇促銷涉及的某一具體分類,然后選出該分類的一個(gè)或多個(gè)商品(一種商品僅僅屬于一種分類),接著制定出一個(gè)比較優(yōu)惠的折扣政策和促銷活動(dòng)的優(yōu)惠時(shí)間,最后由系統(tǒng)生成促銷信息并將該促銷信息公布在網(wǎng)站上。
商家發(fā)布促銷信息后,網(wǎng)站的注冊(cè)用戶便可通過網(wǎng)站購買促銷商品。用戶可選擇參與某一個(gè)促銷活動(dòng),并選擇具體的促銷商品,輸入購買數(shù)量等購買信息。系統(tǒng)生成相應(yīng)的一份促銷訂單(porder)。只要用戶在優(yōu)惠活動(dòng)的時(shí)間范圍內(nèi),通過網(wǎng)站提供的在線支付系統(tǒng),確認(rèn)在線支付該促銷訂單(即完成支付),就可以優(yōu)惠的價(jià)格完成商品的購買活動(dòng),否則該促銷訂單失效。
系統(tǒng)采用面向?qū)ο蠓椒ㄩ_發(fā),系統(tǒng)中的類以及類之間的關(guān)系用uml類圖表示,圖 10-4是該系統(tǒng)類圖中的一部分;系統(tǒng)的動(dòng)態(tài)行為采用uml序列圖表示,圖10-5是發(fā)布促銷的序列圖。

【問題1】
識(shí)別關(guān)聯(lián)的多重度是面向?qū)ο蠼_^程中的一個(gè)重要步驟。根據(jù)說明中給出的描述,完成圖10-4中的(1)~(6)。
【問題2】
請(qǐng)從表10-2中選擇方法,完成圖10-5中的(7)~(10)。

【問題3】
關(guān)聯(lián)(association)和聚集(aggregation)是uml中兩種非常重要的關(guān)系。請(qǐng)說明關(guān)聯(lián)和聚集的關(guān)系,并說明其不同點(diǎn)。
信管網(wǎng)參考答案:
查看解析:www.jazzmuze.com/st/245459592.html


4、 試題四

閱讀以下說明和圖,填補(bǔ)流程圖中的空缺。
【說明】
某汽車制造工廠有兩條裝配線。汽車裝配過程如圖10-6所示,即汽車底盤進(jìn)入裝配線,零件在多個(gè)工位裝配,結(jié)束時(shí)汽車自動(dòng)完成下線工作。

(1)e0和e1表示底盤分別進(jìn)入裝配線0和裝配線1所需要的時(shí)間。
(2)每條裝配線有n個(gè)工位,第一條裝配線的工位為s0,0,s0,1,…,s0,n-0,第二條裝配線的工位為s1,0,s1,1,…,s1,n-1。其中s0,k和s1,k(0≤k≤n-1)完成相同的任務(wù),但所需時(shí)間可能不同。
(3)aij表示在工位sij處的裝配時(shí)間,其中i表示裝配線(i=0或i=1),j表示工位號(hào)(0≤j≤n-1)。
(4)tij表示從sij處裝配完成后轉(zhuǎn)移到另一條裝配線下一個(gè)工位的時(shí)間。
(5)x0和x1表示裝配結(jié)束后,汽車分別從裝配線0和裝配線1下線所需要的時(shí)間。
(6)在同一條裝配線上,底盤從一個(gè)工位轉(zhuǎn)移到其下一個(gè)工位的時(shí)間可以忽略不計(jì)。
圖10-7所示的流程圖描述了求最短裝配時(shí)間的算法,該算法的輸入為;
n:        表示裝配線上的工位數(shù);
e[i]:     表示e1和e2,i取值為0或1:
a[i][j]:  表示ai,j,i的取值為0或1,j的取值范圍為0~n-1;
t[i][j]:  表示ti,j,i的取值為0或1,j的取值范圍為0~n-1;
x[i]:     表示x0和x1,i取值為0或1。
算法的輸出為:
fi:最短的裝配時(shí)間;
li:獲得最短裝配時(shí)間的下線裝配線號(hào)(0或者1)。
算法中使用的f[i][j]表示從開始點(diǎn)到si,j處的最短裝配時(shí)間。

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


5、 試題五

閱讀以下說明、圖和c代碼。
【說明】
一般的樹結(jié)構(gòu)常采用孩子-兄弟表示法表示,即用二叉鏈表作樹的存儲(chǔ)結(jié)構(gòu),鏈表中結(jié)點(diǎn)的兩個(gè)鏈域分別指向該結(jié)點(diǎn)的第一個(gè)孩子結(jié)點(diǎn)和下一個(gè)兄弟結(jié)點(diǎn)。例如,圖10-8(a)所示的樹的孩子-兄弟表示如圖10-8(b)所示。

函數(shù)leveltraverse()的功能是對(duì)給定樹進(jìn)行層序遍歷。例如,對(duì)圖10-1所示的樹進(jìn)行層序遍歷時(shí),結(jié)點(diǎn)的訪問次序?yàn)閐 b a e f p c。
對(duì)樹進(jìn)行層序遍歷時(shí)使用了隊(duì)列結(jié)構(gòu),實(shí)現(xiàn)隊(duì)列基本操作的函數(shù)原型如下表所示:

bool、status類型定義如下:
typedef enum { false=0,true=1 } bool;
typedef enum { overflow=-2,underflow=-1,error=0,ok=1}status;
樹的二叉鏈表結(jié)點(diǎn)定義如下:
typedef struct node {
char data;
struct node *firstchild,*nextbrother;
} node,*treenode;
【函數(shù)】
status leveltraverse ( treenode root )
{ /*層序遍歷樹,樹采用孩子-兄弟表示法,root是樹根結(jié)點(diǎn)的指針*/
queue tempq;
treenode ptr,brotherptr;
if (! root)
return error;
initqueue(&tempq);
(1)  ;
brotherptr = root -> nextbrother;
while (brotherptr) {
enqueue(&tempq,brotherptr);
(2)  ;
}/*end-while*/
while(  (3)  ){
(4)  ;
printf("%c\t",ptr->data);
if(  (5)  )continue;
(6)  ;
brotherptr = ptr->firstchild->nextbrother;
while (brotherptr) {
enqueue(&tempq,brotherptr);
(7)  ;
}/*end-while*/
}/*end-while*/
return ok;
}/*leveltraverse*/
信管網(wǎng)參考答案:
查看解析:www.jazzmuze.com/st/2454727644.html


6、 試題六

閱讀以下說明和c++代碼。
【說明】
傳輸門是傳輸系統(tǒng)中的重要裝置。傳輸門具有open(打開)、closed(關(guān)閉)、opening (正在打開)、stayopen(保持打開)和closing(正在關(guān)閉)五種狀態(tài)。觸發(fā)傳輸門狀態(tài)轉(zhuǎn)換的事件有click、complete和timeout三種。事件與其相應(yīng)的狀態(tài)轉(zhuǎn)換如下圖所示。

下面的c++代碼1與c++代碼2分別用兩種不同的設(shè)計(jì)思路對(duì)傳輸門進(jìn)行狀態(tài)模擬,請(qǐng)?zhí)钛a(bǔ)代碼中的空缺。
【c++代碼1】
const int closed=1;   const int opening=2;
const int open=3;     const int closing=4;
const int stayopen=5;  //定義狀態(tài)變量,用不同整數(shù)表示不同狀態(tài)
class door {
private:
int state;  //傳輸門當(dāng)前狀態(tài)
void setstate(int state){ this->state=state;}  //設(shè)置當(dāng)前狀態(tài)
public:
door():state(closed.{};
void getstate(){    //根據(jù)當(dāng)前狀態(tài)輸出相應(yīng)的字符串
switch(state){
case opening: cout<<"opening"<<endl;    break;
case closed:  cout<<"closed"<<endl;     break;
case open:    cout<<"open"<<endl;       break;
case closing: cout<<"closing"<<endl;    break;
case stayopen:cout<<"stayopen"<<endl;   break;
}
};
void click()  {    //發(fā)生click事件時(shí)進(jìn)行狀態(tài)轉(zhuǎn)換
if (  (1)  )    setstate(opening.;
else if (  (2)  )    setstate(closing.;
else if (  (3)  )    setstate(stayopen);
}
void timeout(){    //發(fā)生timeout事件時(shí)進(jìn)行狀態(tài)轉(zhuǎn)換
if (state == open)  setstate(closing.;
}
void complete(){    //發(fā)生complete事件時(shí)進(jìn)行狀態(tài)轉(zhuǎn)換
if (state == opening.    setstate(open);
else if (state == closing.  setstate(closed.;
}
};
int main(){
door adoor;
adoor.getstate();adoor.click();    adoor.getstate();
adoor.complete();adoor.getstate(); adoor.click();
adoor.getstate();adoor.click();    adoor.getstate();    return 0;
}
【c++代碼2】
class door {
public:
doorstate *closed,*opening,*open,*closing,*stayopen,*state;
door();
virtual~door(){……//釋放申請(qǐng)的內(nèi)存,此處代碼省略);
void setstate(doorstate *state)  { this->state = state;}
void getstate(){
//此處代碼省略,本方法輸出狀態(tài)字符串,
//例如,當(dāng)前狀態(tài)為closed時(shí),輸出字符串為“closed”
};
void click();
void timeout();
void complete();
};
door::door(){
closed = new doorclosed(this);    opening = new dooropening(this);
open = new dooropen(this);        closing = new doorclosing(this);
stayopen = new doorstayopen(this);state = closed;
}
void door :: click() {  (4)  ;)
void door :: timeout() {  (5)  ;)
void door :: complete() {  (6)  ;}
class doorstate//定義一個(gè)抽象的狀態(tài),它是所有狀態(tài)類的基類
{
protected:door *door;
public:
doorstate(door *door) {this->door = door;}
virtual~doorstate(void);
virtual void click()  {}
virtual void complete()  {}
virtual void timeout()  {}
};
class doorclosed :public doorstate{//定義一個(gè)基本的closed狀態(tài)
public:
doorclosed(door *door) :doorstate(door)  {}
virtual ~ doorclosed(){}
void click();
};
void doorclosed :: click() {  (7)  ;}
//其他狀態(tài)類的定義與實(shí)現(xiàn)代碼省略
int main() {
door adoor;
adoor.getstate();adoor.click();adoor.getstate();adoor.complete();
adoor.getstate();adoor.timeout();adoor.getstate();return 0;
}
信管網(wǎng)參考答案:
查看解析:www.jazzmuze.com/st/245488533.html


7、 試題七

閱讀以下說明以及java程序。
【說明】
傳輸門是傳輸系統(tǒng)中的重要裝置。傳輸門具有open(打開)、closed(關(guān)閉)、opening (正在打開)、stayopen(保持打開)和closing(正在關(guān)閉)五種狀態(tài)。觸發(fā)狀態(tài)的轉(zhuǎn)換事件有click、complete和timeout三種。事件與其相應(yīng)的狀態(tài)轉(zhuǎn)換如下圖所示。

下面的java代碼1與java代碼2分別用兩種不同的設(shè)計(jì)思路對(duì)傳輸門進(jìn)行狀態(tài)模擬,請(qǐng)?zhí)钛a(bǔ)代碼中的空缺。
【java代碼1】
public class door {
public static final int closed = 1;    public static final int opening = 2;
public static final int open = 3;  public static final int closing = 4;
public static final int stayopen = 5;  private int state = closed;
//定義狀態(tài)變量,用不同的整數(shù)表示不同狀態(tài)
private void setstate(int state){ this.state = state;}
//設(shè)置傳輸門當(dāng)前狀態(tài)
public void getstate() {
//此處代碼省略,本方法輸出狀態(tài)字符串,
//例如,當(dāng)前狀態(tài)為closed時(shí),輸出字符串為"closed"
}
public void click()  {  //發(fā)生click事件時(shí)進(jìn)行狀態(tài)轉(zhuǎn)換
if (  (1)  ;)    setstate(opening.;
else if (  (2)  ;)  setstate{closing.;
else if (  (3)  ;)    setstate(stayopen);
}
//發(fā)生timeout事件時(shí)進(jìn)行狀態(tài)轉(zhuǎn)換
public void timeout() { if (state == open)    setstate(closing.;}
public void complete() {//發(fā)生complete事件時(shí)進(jìn)行狀態(tài)轉(zhuǎn)換
if (state == opening.    setstate(open);
else if  (state == closing.  setstate(closed.;
}
public static void main(string [] args){
door adoor = new door();
adoor.getstate();adoor.click();adoor.getstate();adoor.complete();
adoor.getstate();adoor.click();adoor.getstate();adoor.click();
adoor.getstate();return;
}
}
【java代碼2】
public class door {
public final doorstate closed = new doorclosed(this);
public final doorstate opening = new dooropening(this);
public final doorstate open = new dooropen(this);
public final doorstate closing = new doorclosing(this);
public final doorstate stayopen = new doorstayopen(this);
private doorstate state = closed;
//設(shè)置傳輸門當(dāng)前狀態(tài)
public void setstate(doorstate state) { this.state=state;}
public void getstate(){ //根據(jù)當(dāng)前狀態(tài)輸出對(duì)應(yīng)的狀態(tài)字符串
system.out.println(state.getclass().getname());
}
public void click(){  (4)  ;}//發(fā)生click事件時(shí)進(jìn)行狀態(tài)轉(zhuǎn)換
public void timeout(){  (5)  ;}//發(fā)生timeout事件時(shí)進(jìn)行狀態(tài)轉(zhuǎn)換
public void complete(){  (6)  ;)//發(fā)生complete事件時(shí)進(jìn)行狀態(tài)轉(zhuǎn)換
public static void main(string[]args){
door adoor = new door();
adoor.getstate();adoor.click();adoor.getstate();adoor.complete();
adoor.getstate();adoor.timeout();adoor.getstate();return;
}
}
public abstract class doorstate { //定義所有狀態(tài)類的基類
protected door door ;
public doorstate(door doer)  { this.door = door;}
public void click() {}
public void complete() {}
public void timeout() {}
}
class doorclosed extends doorstate { //定義一個(gè)基本的closed狀態(tài)
public doorclosed(door door) { super(door);}
public void click() {  (7)  ;)
//該類定義的其余代碼省略
}
//其余代碼省略
信管網(wǎng)參考答案:
查看解析:www.jazzmuze.com/st/245495543.html
掃碼關(guān)注公眾號(hào)

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

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

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

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

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

推薦文章