省考軟件設計師考試模擬題及答案資格證從業(yè)考試題卷(9)_第1頁
省考軟件設計師考試模擬題及答案資格證從業(yè)考試題卷(9)_第2頁
省考軟件設計師考試模擬題及答案資格證從業(yè)考試題卷(9)_第3頁
省考軟件設計師考試模擬題及答案資格證從業(yè)考試題卷(9)_第4頁
省考軟件設計師考試模擬題及答案資格證從業(yè)考試題卷(9)_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

1、 軟件設計師考試模擬題及答案-試題一某大學欲開發(fā)一個基于Web的課程注冊系統(tǒng),該系統(tǒng)的主要功能如下:1. 驗證輸入信息(1) 檢查學生信息:檢查學生輸入的所有注冊所需信息。如果信息不合法,返回學生信息不合法提示;如果合法,輸出合法學生信息。(2) 檢查學位考試結(jié)果:檢查學生提供的學位考試結(jié)果。如果不合法,返回學位考試結(jié)果不合法提示;如果合法,檢査該學生注冊資格。(3) 檢查學生注冊資格:根據(jù)合法學生信息和合法學位考試結(jié)果,檢查該學生對欲選課程的注冊資格。如果無資格,返回無注冊資格提示;如果有注冊資格,則輸出注冊學生信息(包含選課學生標識)和欲注冊課程信息。2. 處理注冊申請(1) 存儲注冊信息

2、:將注冊學生信息記錄在學生庫。(2) 存儲所注冊課程:將選課學生標識與欲注冊課程進行關聯(lián),然后存入課程庫。(3) 發(fā)送注冊通知:從學生庫中讀取注冊學生信息,從課程庫中讀取所注冊課程信息,給學生發(fā)送接受提示;給教務人員發(fā)送所注冊課程信息和已注冊學生信息?,F(xiàn)采用結(jié)構(gòu)化方法對課程注冊系統(tǒng)進行分析與設計,獲得如圖1-1所示的0層數(shù)據(jù)流圖和圖1-2所示的1層數(shù)據(jù)流圖?!締栴}1】使用說明中的詞語,給出圖1-1中的實體E1和E2的名稱。E1:學生 E2:教務人員本問題考查0層DFD,要求確定外部實體。不難看出,在0層DFD中,系統(tǒng)主要功能“驗證輸入信息”和“處理注冊申請”,涉及與系統(tǒng)交互的外部實體有“學生”

3、提供輸入信息,發(fā)送注冊通知功能給“教務人員”發(fā)送所注冊的課程信息和已注冊的學生信息,從而即可確定E1為“學生”實體,E2為“教務人員”實體?!締栴}2】使用說明中的詞語,給出圖1-2中的數(shù)據(jù)存儲D1和D2的名稱。D1:學生庫 D2:課程庫本問題要求確定1層數(shù)據(jù)流圖中的數(shù)據(jù)存儲。分析說明中和數(shù)據(jù)存儲有關的描述,不難發(fā)現(xiàn),說明2.(1)存儲注冊信息明確說明“將注冊學生信息記錄在學生庫”,可知D1為學生庫;說明2.(2)存儲所注冊課程中明確說明“然后存入課程庫”,可知D2為課程庫?!締栴}3】根據(jù)說明和圖中術(shù)語,補充圖1-2中缺失的數(shù)據(jù)流及其起點和終點。 本問題要求補充缺失的數(shù)據(jù)流及其起點和終點。細心的

4、考生可能會發(fā)現(xiàn),對照圖1-1和圖1-2的輸入數(shù)據(jù)流,數(shù)量和名稱均相同,所以缺失的數(shù)據(jù)流是輸出數(shù)據(jù)流或者處理之間的數(shù)據(jù)流。考查圖1-1中輸出至E1的數(shù)據(jù)流,有“接受提示”和“不合法提示”,而圖1-2中沒有這兩條數(shù)據(jù)流,可以確定缺失的數(shù)據(jù)流包括這兩條或者其分解的數(shù)據(jù)流??疾檎f明1中的3個子功能,1.(1)檢查學生信息完成檢查學生輸入的所有注冊所需信息。如果信息不合法,返回學生信息不合法提示。1.(2)檢查學位考試結(jié)果完成檢查學生提供的學位考試結(jié)果。如果不合法,返回學位考試結(jié)果不合法提示。1.(3)檢查學生注冊資格完成根據(jù)合法學生信息和合法學位考試結(jié)果,檢查該學生對欲選課程的注冊資格。如果無資格,返

5、回無注冊資格提示。對應圖1-1中的處理1驗證輸入信息的輸出數(shù)據(jù)流“不合法提示”,不難發(fā)現(xiàn),在圖1-2中,處理1.1缺少了到實體學生的輸出數(shù)據(jù)流“學生信息不合法提示”;處理1.2缺少了到實體學生的輸出數(shù)據(jù)流“無注冊資格提示”;處理1.3缺少了到實體學生的輸出數(shù)據(jù)流“學位考試結(jié)果不合法提示”。再考查圖1-1中處理2,其輸出數(shù)據(jù)流有三條,而圖1-2中對圖1-1中處理2的分解中,只包含了“所注冊課程信息”和“已注冊學生信息”兩條數(shù)據(jù)流,缺失了“接受提示”。說明2.(3)中發(fā)送注冊通知功能完成從學生庫中讀取注冊學生信息,從課程庫中讀取所注冊課程信息,給學生發(fā)送接受提示;給教務人員發(fā)送所注冊課程信息和己注

6、冊學生信息。所以,缺失的“接受提示”的起點是處理2.3發(fā)送注冊通知,終點是E1學生。【問題4】根據(jù)補充完整的圖1-1和圖1-2,說明上層的哪些數(shù)據(jù)流是由下層的哪些數(shù)據(jù)流組合而成。圖1-1中不合法提示分解為圖1-2中的三條數(shù)據(jù)流的組合:學生信息不合法提示、無注冊資格提示、學位考試結(jié)果不合法提示。圖1-1中注冊學生信息對應圖1-2中注冊學生信息和選課學生標識。本問題考查數(shù)據(jù)流的分解與組合。仔細分析【說明】中的文字并與圖1-1的對照,可以發(fā)現(xiàn)在圖1-1中不合法提示在圖1-2中沒有出現(xiàn)。事實上,從前述【問題3】缺失數(shù)據(jù)流的分析中,己經(jīng)發(fā)現(xiàn),圖1-2中對于說明中的功能出現(xiàn)了“學生信息不合法提示”、“無注

7、冊資格提示”和“學位考試結(jié)果不合法提示”三條數(shù)據(jù)流,說明圖1-1中的數(shù)據(jù)流“不合法提示”是由這三條數(shù)據(jù)流組合而成。同樣,2.(2)存儲所注冊課程將選課學生標識與欲注冊課程進行關聯(lián),然后存入課程庫,圖1-1中注冊學生信息在圖1-2中進一步分出注冊學生信息和選課學生標識,即圖1-1中注冊學生信息是注冊學生信息和選課學生標識的并集。試題二某快遞公司為了方便管理公司物品運送的各項業(yè)務活動,需要構(gòu)建一個物品運送信息管理系統(tǒng)。【需求分析結(jié)果】(1) 快遞公司有多個分公司,分公司信息包括分公司編號、名稱、經(jīng)理、辦公電話和地址。每個分公司可以有多名員工處理分公司的日常業(yè)務,每名員工只能在一個分公司工作。每個分

8、公司由一名經(jīng)理負責管理分公司的業(yè)務和員工,系統(tǒng)需要記錄每個經(jīng)理的任職時間。(2) 員工信息包括員工號、姓名、崗位、薪資、手機號和家庭地址。其中,員工號唯一標識員工信息的每一個元組。崗位包括經(jīng)理、調(diào)度員、業(yè)務員等。業(yè)務員根據(jù)客戶提交的快件申請單進行快件受理事宜,一個業(yè)務員可以受理多個客戶的快件申請,一個快件申請只能由一個業(yè)務員受理。調(diào)度員根據(jù)已受理的申請單安排快件的承運事宜,例如:執(zhí)行承運的業(yè)務員、運達時間等。一個業(yè)務員可以執(zhí)行調(diào)度員安排的多個快件的承運業(yè)務。(3)客戶信息包括客戶號、單位名稱、通信地址、所屬省份、聯(lián)系人、聯(lián)系電話、銀行賬號。其中,客戶號唯一標識客戶信息的每一個元組。當客戶要寄快

9、件時,先要提交快件申請單,申請?zhí)栍上到y(tǒng)自動生成。快件申請信息包括申請?zhí)?、客戶號、發(fā)件人、發(fā)件人電話、快件名稱、運費、發(fā)出地、收件人、收件人電話、收件地址。其中,一個申請?zhí)枌ㄒ坏囊粋€快件申請,一個客戶可以提交多個快件申請,但一個快件申請由唯一的一個客戶提交?!靖拍钅P驮O計】根據(jù)需求階段收集的信息,設計的實體聯(lián)系圖(圖2-1)和關系模式(不完整)如下:【關系模式設計】分公司(分公司編號,名稱,經(jīng)理,辦公電話,地址)員工(員工號,姓名,(a),崗位,薪資,手機號,家庭地址)客戶(客戶號,單位名稱,通信地址,所屬省份,聯(lián)系人,聯(lián)系電話,銀行賬號)申請單( (b) ,發(fā)件人,發(fā)件人電話,發(fā)件人地址,

10、快件名稱,運費,收件人,收件人電話,收件地址,受理標志,業(yè)務員)安排承運( (c) ,實際完成時間,調(diào)度員)【問題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:*和*:*)。圖中的*可表示為m或n,對聯(lián)系名稱可不做要求,但不能出現(xiàn)重名。由“每個分公司有一位經(jīng)理”可知分公司與經(jīng)理之間的管理聯(lián)系類型為1:);由“每個分公司有多名員工處理日常事務,每個員工屬于一個分公司”可知分公司與員工間的所屬聯(lián)系類型為1:*;并且員工是經(jīng)理的超類型,經(jīng)理是員工的子類型。由“一個客戶可以有多個快件申

11、請,但一個快件申請對應唯一的一個客戶”可知,客戶與申請單之間的提交聯(lián)系類型為1:*。由“業(yè)務員根據(jù)客戶提交的快件申請單進行快件受理事宜,一個業(yè)務員可以受理多個客戶的快件申請,一個快件申請只能由一個業(yè)務員受理”可知業(yè)務員與申請單之間的受理聯(lián)系類型為1:*。由“調(diào)度根據(jù)已受理的申請單安排快件的承運事宜,例如:執(zhí)行承運的業(yè)務員、運達時間等;一個業(yè)務員可以執(zhí)行調(diào)度安排的多個快件的承運業(yè)務?!笨芍{(diào)度、業(yè)務員和申請單之間的承運聯(lián)系類型為1:*:*?!締栴}2】(1) 根據(jù)實體聯(lián)系圖,將關系模式中的空(a)(c)補充完整。(2) 給出員工、申請單和安排承運關系模式的主鍵和外鍵。(1) (a)分公司編號(b

12、) 申請?zhí)枺蛻籼?c) 申請?zhí)?,業(yè)務員(1)完整的關系模式如下:分公司(分公司編號,名稱,辦公電話,地址)員工(員工號,姓名,分公_司_編_號,崗位,薪資,手機號,家庭地址)客戶(客戶號,單位名稱,通信地址,所屬省份,聯(lián)系人,聯(lián)系電話,銀行賬號)申請單(申請?zhí)枺头教?,發(fā)件人,發(fā)件人電話,發(fā)件人地址,快件名稱,運費,收件人,收件人電話,收件地址,受理標志,業(yè)務員)安排承運(申請?zhí)?,亞務炅,實際完成時間,調(diào)度員)(2)員工、申請單和安排承運關系模式的主鍵和外鍵的分析如下:在申請單信息中,申請?zhí)栍上到y(tǒng)自動生成,不會重復,可作為申請單的主鍵屬性,外鍵為客戶號,業(yè)務員;在員工信息中,員工號唯一標識員

13、工信息的每一個元組,故為員工關系的主鍵屬性,外鍵為分公司編號;安排承運關系模式的主鍵為申請?zhí)枺怄I為業(yè)務員和調(diào)度員?!締栴}3】(1)客戶關系的通信地址可以進一步分為郵編、省、市、街道,那么該屬性是否屬于簡單屬性,為什么?請用100字以內(nèi)的文字說明。(2)假設分公司需要增設一位經(jīng)理的職位,那么分公司與經(jīng)理之間的聯(lián)系類型應修改為(d) ,分公司的主鍵應修改為 (e) 。(1)該屬性不屬于簡單屬性。因為簡單屬性是原子的、不可再分的,復合屬性是可以細分為更小的部分(即劃分為別的屬性),本題客戶關系的通信地址可以進一步分為郵編、省、市、街道,所以屬于復合屬性。(2) (d)1:n (e)分公司編號,經(jīng)理

14、(1) 客戶的通信地址屬性不屬于簡單屬性。因為根據(jù)題意,客戶關系的通信地址可以進一步分為郵編、省、市、街道,而簡單屬性是原子的、不可再分的,復合屬性可以細分為更小的部分(即劃分為別的屬性)。由于客戶的通信地址可以進一步分為郵編、省、市、街道,故屬于復合屬性。(2) 根據(jù)題意,分公司需要增設一位經(jīng)理的職位,那么分公司與經(jīng)理之間的聯(lián)系類型應修改為l:n,分公司的主鍵應修改為分公司編號,經(jīng)理。試題三某航空公司會員積分系統(tǒng)(CFequentFlyer)的主要功能描述如下:乘客只要辦理該航空公司的會員卡,即可成為普卡會員(CBasic)。隨著飛行里程數(shù)的積累,可以從普卡會員升級到銀卡會員(CSilver

15、)或金卡會員(CGold)。非會員(CNonMember)不能累積里程數(shù).每年年末,系統(tǒng)根據(jù)會員在本年度累積的里程數(shù)對下一年會員等級進行調(diào)整。普卡會員在一年內(nèi)累積的里程數(shù)若滿25,000英里但不足50,000英里,則自動升級為銀卡會員;若累積的里程數(shù)在50,000英里以上,則自動升級為金卡會員。銀卡會員在一年內(nèi)累積的里程數(shù)若在50,000英里以上,則自動升級為金卡會員。若一年內(nèi)沒有達到對應級別要求的里程數(shù),則自動降低會員等級。金卡會員一年內(nèi)累積的里程數(shù)若不足25,000英里,則自動降級為普卡會員;若累積的里程數(shù)達到25,000英里,但是不足50,000英里,則自動降級為銀卡會員。銀卡會員一年內(nèi)

16、累積的里程數(shù)若不足25,000英里,則自動降級為普卡會員。采用面向?qū)ο蠓椒▽T積分系統(tǒng)進行分析與設計,得到如圖3-1所示的狀態(tài)圖和圖3-2所示的類圖?!締栴}1】根據(jù)說明中的描述,給出圖3-1中S1S3處所對應的狀態(tài)以及T1T3處所對應的遷移的名稱。S1:普卡、普卡會員S2:銀卡、銀卡會員S3:金卡、金卡會員T1:25000=里程數(shù)=50000 T3:里程數(shù)=50000UML中的狀態(tài)圖主要用于描述一個對象在其生存期間的動態(tài)行為,表現(xiàn)一個對象所經(jīng)歷的裝填序列,引起狀態(tài)轉(zhuǎn)移的事件以及因狀態(tài)轉(zhuǎn)移而伴隨的動作。圖中給出的是會員的狀態(tài)圖。圖中要求填充SI、S2、S3這三個狀態(tài)以及它們之間的變遷關系。本題

17、中會員有三種狀態(tài):普卡、金卡和銀卡。根據(jù)說明,辦理會員卡之后即可成為普卡會員,所以S1可以判定為普卡會員。當“里程數(shù)滿25,000英里但不足50,000英里,則自動升級為銀卡會員”,所以S2應為銀卡會員,那么S3就應該是金卡會員。T1、T2就是S2和S3之間的轉(zhuǎn)換原則。T3是S1-S2的轉(zhuǎn)換原則。由說明可知,S2-S3(T2):里程數(shù)在50,000英里以上;S3-S3(T1):里程數(shù)達到25,000英里,但是不足50,000英里;S1-S3(T3):累積的里程數(shù)在50,000英里以上?!締栴}2】根據(jù)說明中的描述,給出圖3-2中C1C4所對應的類名(類名使用說明中給出的英文詞匯)。Cl:CNon

18、MemberC2:CBasicC3:CSilverC4:CGold(C1C4的次序可以互換)由圖3-2可知,需要補充的是繼承結(jié)構(gòu)中的子類。根據(jù)題目說明,能夠具有一般/特殊關系的只有不同級別的會員。所以C1C4依次應該是:CNonMember、CBasic,CSilver,CGold。【問題3】圖3-2所示的類圖中使用了哪種設計模式?在這種設計模式下,類CFrecuentFlyer必須具有的屬性是什么?C1C4中的travel方法應具有什么功能?使用了State模式(狀態(tài)模式)。類CFrequentFlyer必須具有的屬性:CLevel的對象。travel方法的功能:計算飛行里程數(shù),根據(jù)里程數(shù)判

19、斷是否需要調(diào)整會員級別(跳轉(zhuǎn)到不同的狀態(tài))。本題在設計類時使用到了狀態(tài)模式。狀態(tài)模式允許對象在內(nèi)部狀態(tài)變化時,變更其行為,并且修改其類。狀態(tài)模式的類圖如下所示。其中:環(huán)境類(Context):定義客戶感興趣的接口。維護一個ConcreteState子類的實例,這個實例定義當前狀態(tài)。抽象狀態(tài)類(State):定義一個接口以封裝與Context的一個特定狀態(tài)相關的行為。具體狀態(tài)類(ConcreteState):每一子類實現(xiàn)一與Context的一個狀態(tài)相關的行為。圖3-2中的類CFrequentFlyer對應上圖中的環(huán)境類,因此類CFrequentFlyer應該有一個CLevel類的對象。trave

20、l方法的功能:計算飛行里程數(shù),根據(jù)里程數(shù)判斷是否需要調(diào)整會員級別(跳轉(zhuǎn)到不同的狀態(tài))。試題四某工程計算中要完成多個矩陣相乘(鏈乘)的計算任務。兩個矩陣相乘要求第一個矩陣的列數(shù)等于第二個矩陣的行數(shù),計算量主要由進行乘法運算的次數(shù)決定。采用標準的矩陣相乘算法,計算Amn*Bnp,需要m*n*p次乘法運算。矩陣相乘滿足結(jié)合律,多個矩陣相乘,不同的計算順序會產(chǎn)生不同的計算量。以矩陣A110100,A2100 x5,A35x50三個矩陣相乘為例,若按(A1*A2)*A3計算,則需要進行10*100*5+10*5*50=7500次乘法運算;若按Al*(A2*A3)計算,則需要進行100*5*50+10*1

21、00*50=75000次乘法運算??梢姴煌挠嬎沩樞?qū)τ嬎懔坑泻艽蟮挠绊?。矩陣鏈乘問題可描述為:給定n個矩陣,矩陣Ai的維數(shù)為pMXPi,其中i=1,2,,n。確定一種乘法順序,使得這n個矩陣相乘時進行乘法的運算次數(shù)最少。由于可能的計算順序數(shù)量非常龐大,對較大的n,用蠻力法確定計算順序是不實際的。經(jīng)過對問題進行分析,發(fā)現(xiàn)矩陣鏈乘問題具有最優(yōu)子結(jié)構(gòu),即若A1*A2*An的一個最優(yōu)計算順序從第k個矩陣處斷開,即分為Al*A2*“,*Ak和Ak+1*Ak-2*“,*An兩個子問題,則該最優(yōu)解應該包含Al*A2*-,*Ak的一個最優(yōu)計算順序和Ak+PAk+St-*An的一個最優(yōu)計算順序。據(jù)此構(gòu)造遞歸式

22、,其中,costij表示Ai+1*Ai+2*Aj+l的最優(yōu)計算的計算代價。最終需要求解cost0n-1?!綜代碼】算法實現(xiàn)采用自底向上的計算過程。首先計算兩個矩陣相乘的計算量,然后依次計算3個矩陣、4個矩陣n個矩陣相乘的最小計算量及最優(yōu)計算順序。下面是該算法的C語言實現(xiàn)。(1)主要變量說明n:矩陣數(shù)seq:矩陣維數(shù)序列cost:二維數(shù)組,長度為n*n,其中元素costiU表示Ai+1*Ai+2* *Aj+1的最優(yōu)計算的計算代價trace:二維數(shù)組,長度為n*n,其中元素traceij表示Ai+1*Ai+2*,*Aj+1的最優(yōu)計算對應的劃分位置,即k(2)函數(shù)cmm【問題1】根據(jù)以上說明和C代碼

23、,填充C代碼中的空(1)(4)。 (1) in-p(2) j=i+p(3) costik+costk+lj+seqi*seqk+1*seqj+1(4) tempTrace=k本問題考查算法的實現(xiàn)。C程序中主要部分是三重循環(huán),循環(huán)變量p定義了求解問題的規(guī)模,因為是自底向上,因此,p的值應該是從1到n-1,即從規(guī)模為1的問題一直到規(guī)模為n-1的問題。循環(huán)變量i是要求解的子問題的起始,從0開始,最大為n-p-1,故(1)處應填n-p。確定了i和p之后,下來就要確定j了,顯然,空(2)處為j=i+p。循環(huán)變量k是問題Ai*Ai+1*_,*Aj的劃分位置,對每一個k,都要計算需要的計算成本,可以根據(jù)遞歸式來填寫,空(3)處為costik+cos

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論