国产精品久久久久久免费免熟,五月婷婷激情综合网,欧美三级视频网站,一级少妇淫片,国产精品女教师av久久,啪啪免费视频,wwww黄色片

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

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

免費下載軟件設計師歷年真題:http://www.xcpkj.com/zhenti/rs.html
該套題在線考試:http://www.xcpkj.com/exam/examam.aspx?t1=2&sid=810951
1、閱讀下列說明和圖,回答問題1至問題4,將解答填入答題紙的對應欄內。

【說明】
某大學欲開發(fā)一個基于web的課程注冊系統(tǒng)。該系統(tǒng)的主要功能如下:
1、驗證輸入信息
(1)檢查學生信息:檢查學生輸入的所有注冊所需信息。如果信息不合法,返回學生信息不合法提示;如果合法,輸出合法學生信息。
(2)檢查學位考試信息:檢查學生提供的學位考試結果。如果不合法,返回學位考試結果不合法提示;如果合法,檢查該學生注冊資格。
(3)檢查學生資格:根據(jù)合法學生信息和合法學位考試結果,檢查該學生對欲選課程的注冊資格。如果無資格,返回無注冊資格提示;如果有注冊資格,則輸出注冊學生信息(包含選課學生標識)和欲注冊課程信息。
2、處理注冊申請
(1)存儲注冊信息:將注冊學生信息記錄在學生庫。
(2)存儲所注冊課程:將選課學生標識與欲注冊課程進行關聯(lián),然后存入課程庫。
(3)發(fā)送注冊通知:從學生庫中讀取注冊學生信息,從課程庫中讀取所注冊課程信息,給學生發(fā)送接受提示;給教務人員發(fā)送所注冊課程信息和已注冊學生信息。
現(xiàn)采用結構化方法對課程注冊系統(tǒng)進行分析和設計,獲得如圖1-1所示的0層數(shù)據(jù)流圖和圖1-2所示的1層數(shù)據(jù)流圖。

圖1-1 0層數(shù)據(jù)流圖
圖1-2 1層數(shù)據(jù)流圖
【問題1】(2分)
使用說明中的詞語,給出圖1-1中的實體e1和e2的名稱。
【問題2】(2分)
使用說明中的詞語,給出圖1-2中的數(shù)據(jù)存儲d1和d2的名稱。
【問題3】(8分)
根據(jù)說明和圖中術語,補充圖1-2中缺失的數(shù)據(jù)流及其起點和終點。
【問題4】(3分)
根據(jù)補充完整的圖1-1和圖1-2,說明上層的哪些數(shù)據(jù)流是由下層的哪些數(shù)據(jù)流組合而成。
信管網參考答案:
查看解析:www.xcpkj.com/st/3813320302.html


2、閱讀下列說明,回答問題1至問題3,將解答填入答題紙的對應欄內。

【說明】
某快遞公司為了方便管理公司物品運送的各項業(yè)務活動,需要構建一個物品運送信息管理系統(tǒng)。
【需求分析結果】
(1)快遞公司有多個分公司,分公司信息包括分公司編號、名稱、經理、辦公電話和地址。每個分公司可以有多名員工處理分公司的日常業(yè)務,每位員工只能在一個分公司工作。每個分公司由一名經理負責管理分公司的業(yè)務和員工,系統(tǒng)需要記錄每個經理的任職時間。
(2)員工信息包括員工號、姓名、崗位、薪資、手機號和家庭地址。其中,員工號唯一標識員工信息的每一個元組。崗位包括經理、調度員、業(yè)務員等。業(yè)務員根據(jù)客戶提交的快件申請單進行快件受理事宜,一個業(yè)務員可以受理多個客戶的快件申請,一個快件申請只能由一個業(yè)務員受理。調度員根據(jù)已受理的申請單安排快件的承運事宜,例如:執(zhí)行承運的業(yè)務員、運達時間等。一個業(yè)務員可以執(zhí)行調度員安排的多個快件的承運業(yè)務。
(3)客戶信息包括客戶號、單位名稱、通信地址、所屬省份、聯(lián)系人、聯(lián)系電話、銀行賬號。其中,客戶號唯一標識客戶信息的每一個元組。當客戶要寄快件時,先要提交快件申請單,申請?zhí)栍上到y(tǒng)自動生成??旒暾埿畔ㄉ暾?zhí)?、客戶號、發(fā)件人、發(fā)件人電話、快件名稱、運費、發(fā)出地、收件人、收件人電話、收件地址。其中,一個申請?zhí)枌ㄒ坏囊粋€快件申請,一個客戶可以提交多個快件申請,但一個快件申請由唯一的一個客戶提交。
【概念模型設計】
根據(jù)需求階段收集的信息,設計的實體聯(lián)系圖(圖2-1)和關系模型(不完整)如下:

【關系模型設計】
分公司(分公司編號,名稱,經理,辦公電話,地址)
員工(員工號,姓名, (a) ,崗位,薪資,手機號,家庭地址)
客戶(客戶號,單位名稱,通信地址,所屬省份,聯(lián)系人,聯(lián)系電話,銀行賬號)
申請單( (b) ,發(fā)件人,發(fā)件人電話,發(fā)件人地址,快件名稱,運費,收件人,收件人電話,收件地址,受理標志,業(yè)務員)
安排承運( (c) ,實際完成時間,調度員)
【問題1】
根據(jù)問題描述,補充五個聯(lián)系,完善圖2-1的實體聯(lián)系圖。聯(lián)系名可用聯(lián)系1、聯(lián)系2、聯(lián)系3、聯(lián)系4和聯(lián)系5代替,聯(lián)系的類型分為1:1、1:n和m:n(或1:1、1:*和*:*)。
【問題2】
(1)根據(jù)實體聯(lián)系圖,將關系模式中的空(a)~(c)補充完整;
(2)給出員工、申請單和安排承運關系模式的主鍵和外鍵。
【問題3】
(1)客戶關系的通信地址可以進一步分為郵編、省、市、街道,那么該屬性是否屬于簡單屬性,為什么?請用100字以內的文字說明。
(2)假設分公司需要增設一位經理的職位,那么分公司與經理之間的聯(lián)系類型應修改為(d),分公司的主鍵應修改為(e)。
信管網參考答案:
查看解析:www.xcpkj.com/st/38134841.html


3、閱讀下列說明和圖,回答問題1至問題3,將解答填入答題紙的對應欄內。

【說明】
某航空公司會員積分系統(tǒng)(cfrequentflyer)的主要功能描述如下:
乘客只要辦理該航空公司的會員卡,即可成為普卡會員(cbasic)。隨著飛行里程數(shù)的積累,可以從普卡會員升級到銀卡會員(csilver)或金卡會員(cgold)。非會員(cnonmember)不能積累里程數(shù)。
每年年末,系統(tǒng)根據(jù)會員在本年度累積的里程數(shù)對下一年會員等級進行調整。
普卡會員在一年內累積的里程數(shù)若滿25000英里但不足50000英里,則自動升級為銀卡會員;若累積的里程數(shù)在50000英里以上,則自動升級為金卡會員。銀卡會員在一年內累積的里程數(shù)若在50000英里以上,則自動升級為金卡會員。
若一年內沒有達到對應級別要求的里程數(shù),則自動降低會員等級。金卡會員一年內累積的里程數(shù)若不足25000英里,則自動降級為普卡會員;若累積的里程數(shù)達到25000英里,但是不足50000英里,則自動降級為銀卡會員。銀卡會員一年內累積的里程數(shù)若不足25000英里,則自動降級為普卡會員。
采用面向對象方法對會員積分系統(tǒng)進行分析與設計,得到如圖3-1所示的狀態(tài)圖和圖3-2所示的類圖。

圖3-1 狀態(tài)圖

圖3-2 的類圖
【問題1】(6分)
根據(jù)說明中的描述,給出圖3-1中s1~s3處所對應的狀態(tài)以及t1~t3處所對應的遷移的名稱。
【問題2】(4分)
根據(jù)說明中的描述,給出圖3-2中c1~c4所對應的類名(類名使用說明中給出的英文詞匯)。
【問題3】(5分)
圖3-2所示的類圖中使用了哪種設計模式?在這種設計模式下,類cfrequentflyer必須具有的屬性是什么?c1~c4中的travel方法應具有什么功能?
信管網參考答案:
查看解析:www.xcpkj.com/st/3813521296.html


4、閱讀下列說明和c代碼,回答問題1至問題3,將解答填入答題紙的對應欄內。

【說明】
某工程計算中要完成多個矩陣相乘(鏈乘)的計算任務。
兩個矩陣相乘要求第一個矩陣的列數(shù)等于第二個矩陣的行數(shù),計算量主要由進行乘法運算的次數(shù)決定。采用標準的矩陣相乘算法,計算am×n*bn×p,需要m*n*p次乘法運算。
矩陣相乘滿足結合律,多個矩陣相乘,不同的計算順序會產生不同的計算量。以矩陣a110×100,a2100×5,a35×50三個矩陣相乘為例,若按(a1*a2)*a3計算,則需要進行10*100*5+10*5*50=7500次乘法運算;若按a1*(a2*a3)計算,則需要進行100*5*50+10*100*50=75000次乘法運算??梢姴煌挠嬎沩樞驅τ嬎懔坑泻艽蟮挠绊?。
矩陣鏈乘問題可描述為:給定n個矩陣,矩陣ai的維數(shù)為pi-1×pi,其中i = 1,2,….n。確定一種乘法順序,使得這n個矩陣相乘時進行乘法的運算次數(shù)最少。
由于可能的計算順序數(shù)量非常龐大,對較大的n,用蠻力法確定計算順序是不實際的。經過對問題進行分析,發(fā)現(xiàn)矩陣鏈乘問題具有最優(yōu)子結構,即若a1*a2*…*an的一個最優(yōu)計算順序從第k個矩陣處斷開,即分為a1*a2*….ak和ak+1*ak+2*…*an兩個子問題,則該最優(yōu)解應該包含a1*a2*…*ak的一個最優(yōu)計算順序和ak+1*ak+2*…an的一個最優(yōu)計算順序。據(jù)此構造遞歸式,

其中,cost[i][j]表示ai+1*ai+2*...aj+1的最優(yōu)計算的計算代價。最終需要求解cost[0][n-1]。
【c代碼】
算法實現(xiàn)采用自底向上的計算過程。首先計算兩個矩陣相乘的計算量,然后依次計算3個矩陣、4個矩陣、…、n個矩陣相乘的最小計算量及最優(yōu)計算順序。下面是算法的c語言實現(xiàn)。
(1)主要變量說明
n:矩陣數(shù)
seq[]:矩陣維數(shù)序列
cost[][]:二維數(shù)組,長度為n*n,其中元素cost[i][j]表示ai+1*ai+2*…aj+1的最優(yōu)計算的計算代價
trace[][]:二維數(shù)組,長度為n*n,其中元素trace[i][j]表示ai+1*ai+2*aj+1的最優(yōu)計算對應的劃分位置,即k
(2)函數(shù)cmm
#define  n  100
int cost[n][n];
int trace[n][n];
int cmm(int n,int seq[]){
int tempcost;
int temptrace;
int i,j,k,p;
int temp;
for( i=0;i for(p=1;p for(i=0;  (1) ;i++){
(2)  ;
tempcost = -1;
for(k = i;k temp=  (3)  ;
if(tempcost==-1||tempcost>temp){
tempcost = temp;
(4)  ;
}
}
cost[i][j] = tempcost;
trace[i][j] = temptrace;
}
}
return cost[0][n-1];
}
【問題1】(8分)
根據(jù)以上說明和c代碼,填充c代碼中的空(1)~(4)。
【問題2】(4分)
根據(jù)以上說明和c代碼,該問題采用了 (5) 算法設計策略,時間復雜度 (6) 。(用o符號表示)
【問題3】(3分)
考慮實例n=6,各個矩陣的維數(shù):a1為5*10,a2為10*3,a3為3*12,a4為12*5,a5為5*50,a6為50*6,即維數(shù)序列為5,10,3,12,5,50,6。則根據(jù)上述c代碼得到的一個最優(yōu)計算順序為 (7) (用加括號方式表示計算順序),所需要的乘法運算次數(shù)為 (8) 。
信管網參考答案:
查看解析:www.xcpkj.com/st/3813627375.html


5、閱讀下列說明和c++代碼,將應填入(n)處的字句寫在答題紙的對應欄內。

【說明】
欲開發(fā)一個繪圖軟件,要求使用不同的繪圖程序繪制不同的圖形。以繪制直線和圓形為例,對應的繪圖程序如表5-1所示。

該繪圖軟件的擴展性要求,將不斷擴充新的圖形和新的繪圖程序。為了避免出現(xiàn)類爆炸的情況,現(xiàn)采用橋接(bridge)模式來實現(xiàn)上述要求,得到如圖5-1所示的類圖。

圖5-1 類圖
【c++代碼】
class  dp1{
public:
static void draw_a_line(double  x1,double  y1,double  x2,double  y2){/*代碼省略*/}
static void draw_a_circle(double  x,double  y,double  r){ /*代碼省略*/}
};
class  dp2{
public:
static void drawline(double x1,double x2,double y1,double y2){/*代碼省略*/}
static void drawcircle(double x,double y,double r){/*代碼省略*/}
};
class  drawing{
public:
(1)    ;
(2)    ;
};
class v1drawing:public drawing{
public:
void drawline(double  x1,double  y1,double  x2,  double  y2){/*代碼省略*/}
void drawcircle(double  x, double  y, double  r){    (3)    ;}
};

class v2drawing:public  drawing{
public:
void drawline(double  x1,double  y1,double  x2,  double  y2){/*代碼省略*/}
void drawcircle(double  x, double   y, double  r){    (4)    ;}
};
class   shape{
public:
(5)   ;
shape(drawing  * dp){ _dp = dp;}
void drawline(double  x1, double  y1,double  x2, double y2){_dp->drawline(x1,y1,x2,y2);}
void drawcircle(double  x, double  y, double   r){_dp->drawcircle(x,y,r);}
private:  drawing * _dp;
};
class  rectangle:public  shape{
public:
void draw(){/*代碼省略*/}
//其余代碼省略
};
class circle:public shape{
private:  double _x,_y,_r;
public:
circle(drawing  * dp, double   x, double  y, double   r):    (6)    {_x = x; _y = y; _r = r;}
void draw(){ drawcircle(_x, _y, _r);}
};
信管網參考答案:
查看解析:www.xcpkj.com/st/3813723129.html


6、閱讀下列說明和java代碼,將應填入(n)處的字句寫在答題紙的對應欄內。

【說明】
欲開發(fā)一個繪圖軟件,要求使用不同的繪圖程序繪制不同的圖形。以繪制直線和圓形為例,對應的繪圖程序如表6-1所示。

該繪圖軟件的擴展性要求,將不斷擴充新的圖形和新的繪圖程序。為了避免出現(xiàn)類爆炸的情況,現(xiàn)采用橋接(bridge)模式來實現(xiàn)上述要求,得到如圖6-1所示的類圖。

圖6-1 類圖
【java代碼】
(1)   drawing{
(2)  ;
(3)  ;
}
class dp1{
static public void draw_a_line(double x1, double y1, double x2, double y2) {/*代碼省略*/}
static public void draw_a_circle(double x, double y, double r) {/*代碼省略*/}
}
class dp2{
static public void drawline(double x1, double y1, double x2 ,double y2){/*代碼省略*/}
static public void drawcircle (double x, double y, double r){/*代碼省略*/}
}
class v1drawing implements drawing{
public void drawline(double x1, double y1, double x2 ,double y2){/*代碼省略*/}
public void drawcircle(double x, double y, double r){  (4)  ;}
}
class v2drawing implements drawing{
public void drawline(double x1, double y1, double x2 ,double y2){/*代碼省略*/}
public void drawcircle (double x, double y, double r){  (5)  ;}
}
abstract class shape{
private drawing _dp;
(6)  ;
shape(drawing dp) {_dp=dp;}
public void drawline(double x1, double y1, double x2 ,double y2){_dp.drawline(x1,y1,x2,y2); }
public void drawcircle (double x, double y, double r){ _dp.drawcircle(x,y,r);}
}
class rectangle extends shape{
private double _x1,_x2,_y1,_y2;
public rectangle(drawing dp,double x1, double y1, double x2 ,double y2)   {/*代碼省略*/}
public void draw(){/*代碼省略*/}
}
class circle extends shape{
private double _x, _y, _r;
public circle(drawing dp,double x, double y, double r) {/*代碼省略*/}
public void draw(){drawcircle(_x,_y,_r);}
}
信管網參考答案:
查看解析:www.xcpkj.com/st/3813815424.html
掃碼關注公眾號

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

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

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

相關內容

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

推薦文章