中級軟件設(shè)計師2013上半年下午試題_第1頁
中級軟件設(shè)計師2013上半年下午試題_第2頁
中級軟件設(shè)計師2013上半年下午試題_第3頁
中級軟件設(shè)計師2013上半年下午試題_第4頁
中級軟件設(shè)計師2013上半年下午試題_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、中級軟件設(shè)計師2013上半年下午試題試題一某慈善機構(gòu)欲開發(fā)一個募捐系統(tǒng),已跟蹤記錄為事業(yè)或項目向目標(biāo)群體進行募捐而組織的集體性活動。該系統(tǒng)的主要功能如下所述。 1管理志愿者。根據(jù)募捐任務(wù)給志愿者發(fā)送加入邀請、邀請跟進、工作任務(wù);管理志愿者提供的邀請響應(yīng)、志愿者信息、工作時長、工作結(jié)果等。 2確定募捐需求和收集所募捐贈(資金及物品)。根據(jù)需求提出募捐任務(wù)、將活動請求和捐贈請求,獲取所募集的資金和物品。 3組織募捐活動。根據(jù)活動請求,確定活動時間范圍。根據(jù)活動時間,搜索場館,即:想場館發(fā)送場館可用性請求,獲得場館可用性。然后根據(jù)活動時間和地點推廣募捐活動,根據(jù)相應(yīng)的活動信息舉辦活動,從募捐機構(gòu)獲取

2、資金并向其發(fā)放贈品。獲取和處理捐贈,根據(jù)捐贈請求,提供所募集的捐贈;處理與捐贈人之間的交互,即: 錄入捐贈人信息,處理后存入捐贈人信息表;從捐贈人信息表中查詢捐贈人信息,向捐贈人發(fā)送募捐請求,并將已聯(lián)系的捐贈人存入已聯(lián)系的捐贈人表。根據(jù)捐贈請求進行募集,募得捐贈后,將捐贈記錄存入捐贈表;對捐贈記錄進行處理后,存入已處理捐贈表,向捐贈人發(fā)送致謝函,根據(jù)已聯(lián)系的捐贈人和捐贈記錄進行跟蹤,將捐贈跟進情況發(fā)送給捐贈人。 先采用結(jié)構(gòu)化方法對募捐系統(tǒng)進行分析與設(shè)計,獲得如圖1、圖2、和圖3所示分層數(shù)據(jù)流圖。 1、使用說明中的詞語,給出圖1中的實體E1E4的名稱。2、在建模DFD時,需要對有些復(fù)雜加工(處理

3、)進行進一步精化,圖2為圖1中處理3的進一步細化的1層數(shù)據(jù)流圖,圖3為圖2中3.1進一步細化的2層數(shù)據(jù)流圖。補全2中加工P1、P2和P3的名稱和圖2與圖3中缺少的數(shù)據(jù)流。3、使用說明中的詞語,給出圖3中的數(shù)據(jù)存儲D1D4的名稱。試題二某電視臺擬開發(fā)一套信息管理系統(tǒng),以方便對全臺的員工、欄目、廣告和演播廳等進行管理。 需求分析 系統(tǒng)需要維護全臺員工的詳細信息、欄目信息、廣告信息和演播廳信息等。員工的信息主要包括:工號、姓名、性別、出生日期、電話、住址等。欄目信息主要包括:欄目名稱、播出時間、時長的呢過。廣告信息主要包括:廣告編號、價格等。演播廳信息包括:房間號、房間面積等。 電視臺分局調(diào)度單來協(xié)

4、調(diào)各檔欄目、演播廳和場務(wù)。一銷售檔欄目只會占用一個演播廳,但會使用多名場務(wù)來進行演出協(xié)調(diào)。演播廳和場務(wù)可以被多個欄目循環(huán)使用。 電視臺根據(jù)欄目來插播廣告。每檔欄目可以插播多條廣告,每條廣告也可以在多檔欄目插播。 一檔欄目可以有多個主持人,但一名支持人只能支持一檔欄目。 一名編輯人員可以編輯多條廣告,一條廣告只能由一名編輯人員編輯。 概念模型設(shè)計 根據(jù)需求階段收集的信息設(shè)計的實體聯(lián)系圖(不完整)如圖所示。 邏輯結(jié)構(gòu)設(shè)計 根據(jù)概念模型設(shè)計階段完成的實體聯(lián)系圖,得出如下關(guān)系模式(不完整): 演播廳(房間號,房間面積) 欄目(欄目名稱,播出時間,時長) 廣告(廣告編號,銷售價格,_) 員工(工號,姓名

5、,性別,出生日期,電話,住址) 主持人(主持人工號,_) 插播單(_,播出時間) 調(diào)度單(_)4、補充圖中的聯(lián)系和聯(lián)系的類型。5、根據(jù)圖,將邏輯結(jié)構(gòu)設(shè)計階段生成的關(guān)系模式的空補充完整,并用下劃線指出空所在關(guān)系模式的主鍵。6、現(xiàn)需要記錄廣告商信息,增加廣告商實體。一個廣告商可以提供多條廣告,一條廣告只由一個廣告商提供。請根據(jù)該要求,對圖進行修改,畫出修改后的實體間聯(lián)系和聯(lián)系的類型。試題三某城市擬開發(fā)一個基于Web的城市黃頁,公開發(fā)布該城市重要的組織或機構(gòu)(一下統(tǒng)稱為客戶)的基本信息,方便城市生活。該系統(tǒng)的主要功能描述如下: 7搜索信息:任何使用Internet的網(wǎng)絡(luò)用戶都可以搜索發(fā)布在城市黃頁中

6、的信息,例如客戶的名稱、地址、聯(lián)系電話等。 8認證:客戶若想在城市黃頁上發(fā)布信息,需通過系統(tǒng)的認證。認證成功后,該客戶成為系統(tǒng)授權(quán)用戶。 9更新信息:授權(quán)用戶登錄系統(tǒng)后,可以更改自己在城市黃頁中的相關(guān)信息,例如變更聯(lián)系電話等。 10刪除客戶:對于拒絕繼續(xù)在城市黃頁上發(fā)布信息的客戶,有系統(tǒng)管理員刪除該客戶的相關(guān)信息。 系統(tǒng)采用面向?qū)ο蠓椒ㄟM行開發(fā),在開發(fā)過程中認定出如下表所示的類。系統(tǒng)的用例圖和類圖分別如圖1和圖2所示。 7、根據(jù)說明中的描述,給出圖1中A1和A2出所對應(yīng)的參與者,UC1和UC2所對應(yīng)的用例以及處的關(guān)系。8、根據(jù)說明中的描述,給出圖2中C1C5所對應(yīng)的類名(表中給出出的類名)和空

7、格處所對應(yīng)的多重度。9、認定類是面向?qū)ο蠓治鲋蟹浅jP(guān)鍵的一個步驟。一般首先從問題域中得到候選類集合,在根據(jù)相應(yīng)的原則從該集合中刪除不作為類的,剩余的就是從問題域中認定出來的類。簡要說明選擇候選類的原則,以及對候選類集合進行刪除的原則。試題四設(shè)有m臺完全相同的機器運行n個獨立的任務(wù),運行任務(wù)i所需要的時間為ti,要求確定一個調(diào)度方案是的完成所有任務(wù)所需要的時間最短。 假設(shè)任務(wù)已經(jīng)按照其運行時間從大到小排序,算法基于最長運行時間作業(yè)優(yōu)先的策略;按順序先把每個1務(wù)分配到一臺機器上,然后將剩余的任務(wù)一次放入最先空閑的機器。 C代碼 下面是算法的C語言實現(xiàn)。 10常量和變量說明 m:機器數(shù)。 n:任務(wù)數(shù)

8、。 t:輸入數(shù)組,長度為n,其中每個元素表示任務(wù)的運行時間,下標(biāo)從0開始。 s:二維數(shù)組,長度為m*n,下標(biāo)從0開始,其中元素sij表示機器i運行的任務(wù)j的編號。 d:數(shù)組,長度為m其中元素di表示機器i的運行時間,下標(biāo)從0開始。 count:數(shù)組,長度為m,下標(biāo)從0開始,其中元素counti表示機器i運行的任務(wù)數(shù)。 i:循環(huán)變量。 j:循環(huán)變量。 k:臨時變量。 max:完成所有任務(wù)的時間。 min:臨時變量。 11函數(shù)schedule void schedule12 int i,j,k max=0; for(i=0;im;i+) di=0; for(j=0;jn;j+) sij=0; fo

9、r(i=0;im;i+) /分配前m個任務(wù) si0=i; _; counti=1; for(_;in;i+) /分配后n-m個任務(wù) int min=d0; k=0; for(j=1;jn;j+) /確定空閑機器 if(raindj) min=dj; k=j; /機器k空閑 _; countk=countk+1; dk=dk+ti; for(i=0;im;i+) /確定完成所有任務(wù)所需要的時間 if(_) max=di; 10、根據(jù)說明和C代碼,填充C代碼中的空。11、根據(jù)說明和C代碼,該問題采用了_算法設(shè)計策略,時間復(fù)雜度為_(用O符號表示)12、考慮實例m=3(編號02),n=7(編號06)

10、,各任務(wù)的運行時間為16,14,6,5,4,3,2。則在機器0、1和2上運行的任務(wù)分別為_、_和_(給出任務(wù)編號)。從任務(wù)開始運行到完成所需要的時間為_。試題五13、現(xiàn)要求實現(xiàn)一個能夠自動生成求職簡歷的程序,簡歷的基本內(nèi)容包括求職者的姓名、性別、年齡及工作經(jīng)歷。希望每份簡歷中的工作經(jīng)歷有所不同,并盡量減少程序中的重復(fù)代碼。 現(xiàn)采用原型模式(Prototype)來實現(xiàn)上述要求,得到如圖1所示的類圖。 C+代碼 # includestring Using namespace std; Class Clonealole Public: _, Class WorkExperience:public C

11、loneable /經(jīng)歷 Private: String workDate; String company; Public: Cloneable*Clone() _ Obj-workDate=this-workDate; Obj-company=this-company; Return obj; /其余代碼省略 ; Class Resume:public Cloneable /簡歷 Private: String name; string sex; string age; WorkExperience*work; Resume(WorkExperience*work) This-work=_;

12、 Public: Resume(string name) /*實現(xiàn)省略*/ Void SetPersonallnfo(string sex, string age) /*實現(xiàn)省略*/ Void setWorkExperience(string workDate,string company) /*實現(xiàn)省略*/ Cloneable*Clone() _; Obj-name=this-name; Obj-sex=this-sex; Obj-age=this-age; Return obj; ; Int main() Resume*a=new Resrune("張三"); A-Se

13、tPersonalInfo("男", "29"); A-SetWorkExperience("19982000", "XXX公司"); Resume*b=_; B-SetWorkExperience("20012006","YYY公司"); Return 0; 試題六14、現(xiàn)要求實現(xiàn)一個能夠自動生成求職簡歷的程序,簡歷的基本內(nèi)容包括求職者的姓名、性別、年齡及工作經(jīng)歷。希望每份簡歷中的工作經(jīng)歷有所不同,并盡量減少程序中的重復(fù)代碼。 現(xiàn)采用原型模式(Prototype)來實現(xiàn)上述

14、要求,得到如圖所示的類圖。 Java代碼 Class WorkExperience _ Cloneable /工作簡歷 Private String workDate; Private String company; Public Object Clone() _; obj.workDate=this.workDate; Opany-pany; Return obj; Class Resume _ Cloneable /簡歷 Private String name; Private String sex; Private String age; Private WorkExperience w

15、ork ; Public Resume(String name) T=name; work=new WorkExperience(); Private Resume(WorkExperience work) This.woek=_; Public void SetPersonallnfo( String sex , String age) /*代碼略*/ Public void SetWorkExperience(String workDate, String company) /*代碼省略*/ Public Object Clone( ) Resume obj=_; /其余代

16、碼省略 Return obj; Class WorkResume Public static void main(String args) Resume a=new Resume("張三"); a.SetPersonallnfo("男", "29"); a.SetWorkExperience("19982000","XXX公司"); Resume b=_; b.SetWorkExperience("20012006","YYY公司"); 答案:試題一1、E

17、1志愿者 E2捐贈人 E3募捐機構(gòu) E4場館。解析 該題以募捐系統(tǒng)為載體來考核考生對數(shù)據(jù)流圖知識點的掌握程度。從題目的問答形式上來看,和往年相似,要求補充外部實體、補充缺失數(shù)據(jù)流、找出外部存儲。解答這類問題,有兩個原則: (1)第一個原則是緊扣試題系統(tǒng)說明部分,數(shù)據(jù)流圖與系統(tǒng)說明有著嚴格的對應(yīng)關(guān)系,系統(tǒng)說明部分的每一句話都能對應(yīng)到圖中來,解題時可以一句一句的對照圖來分析。 (2)第二個原則即數(shù)據(jù)的平衡原則,這一點在解題過程中也是至關(guān)重要的。數(shù)據(jù)平衡原則有兩方面的含義,一方面是分層數(shù)據(jù)流圖父子圖之間的數(shù)據(jù)流平衡原則,另一方面是每張數(shù)據(jù)流圖中輸入與輸出數(shù)據(jù)流的平衡原則。 根據(jù)0層數(shù)據(jù)流管理志愿者中

18、的募捐任務(wù)給志愿者發(fā)送加入邀請,邀請跟進,工作任務(wù)和管理志愿者提供的邀請響應(yīng)等可知E1為志愿者;從錄入捐贈人信息,向捐贈人發(fā)送募捐請求,向捐贈人發(fā)送致謝函等可知E2為捐贈人;從根據(jù)說明中從募捐機構(gòu)獲取資金并向其發(fā)放贈品可知E3為募捐機構(gòu);根據(jù)向場館發(fā)送可用性清求和獲得場館可用性可知E4為場館。2、P1確定活動時間范圍P2搜索場館P3推廣募捐活動 缺少的數(shù)據(jù)流: 名稱:活動請求起點:確定募款需求收集所募捐贈終點:P1解析 根據(jù)1層數(shù)據(jù)流圖中P1的輸出流活動時間再結(jié)合說明可知P1為確定活動時間范圍;從加工P2的輸入流活動時間和輸出流場館可用性請求和活動時間和地點可知P2為搜索場館;說明中根據(jù)活動時

19、間和地點推廣募捐活動,根據(jù)相應(yīng)的活動信息舉辦活動,在結(jié)合P3的輸入輸出流可知P3為推廣募捐活動。比較0層和1層中的數(shù)據(jù)流可知,P1加工只有輸出流,故缺少輸入流,根據(jù)說明可知需要根據(jù)活動請求才能確定P1,故該數(shù)據(jù)流為活動請求,在0層數(shù)據(jù)流中活動請求的起始加工為確定募款需求收集所募捐贈,故可知答案。3、D1:捐贈人信息表 D2:已聯(lián)系的捐贈人信息表D3:捐贈表D4:已經(jīng)處理的捐贈表解析 根據(jù)最后的說明和2層數(shù)據(jù)流可知D1為捐贈人信息表,D2為已聯(lián)系的捐贈人信息表,D3為捐贈表,D4為已經(jīng)處理的捐贈表。試題二4、解析 本題考查數(shù)據(jù)庫設(shè)計,設(shè)計考點有:數(shù)據(jù)庫的概念結(jié)構(gòu)設(shè)計和邏輯結(jié)構(gòu)設(shè)計。 由說明每檔欄

20、目可以插播多條廣告,每條廣告可以在多檔欄目中插播,可知廣告和欄目之間是插播關(guān)系且為多比多;一個主持人可以主持一個欄目,一個欄目可以被多個主持人所主持,故主持人和欄目之間為多比1的關(guān)系;多名場務(wù)來進行欄目的演出協(xié)調(diào),而場務(wù)又可以被多個欄目循環(huán)使用,故其關(guān)系為多比多。補充聯(lián)系如圖1所示。5、(1)廣告時長 主鍵:廣告編號 (2)欄目名稱 主鍵:主持人工號 (3)欄目名稱、廣告編號 主鍵:欄目名稱、廣告編號 (4)欄目名稱、房間號、場務(wù)工號主鍵:欄目名稱、場務(wù)工號解析 邏輯結(jié)構(gòu)設(shè)計中,廣告實體中缺少廣告時長,主鍵為廣告編號;主持人實體與欄目實體為多比一的關(guān)系,故將欄目中主鍵欄目名稱加入到主持人實體中

21、,主鍵為主持人工號;捕播單為欄目實體和廣告實體這種多對多的關(guān)系所派生出的實體,其中記錄了欄目和廣告的主鍵信息,故插播單中缺少欄目名稱和廣告編號信息,主鍵為欄目名稱和廣告編號;調(diào)度單為場務(wù)、欄目和演播廳實體這種多對對的關(guān)系所派生的實體,故其記錄了欄目名稱,房間號,場務(wù)工號,主鍵為欄目名稱、房間號和場務(wù)工號。6、解析 因為一個廣告商可以提供多條廣告,一條廣告只能由一個廣告商提供,故廣告商和廣告之間的關(guān)系為一比多,其關(guān)系下圖所示。 試題三7、A1網(wǎng)絡(luò)用戶A2授權(quán)用戶UC1認證UC2更新信息 (1)extend解析 本題考查面向?qū)ο蠓治鲋械念悎D、用例圖。用例圖描述了一組用例、參與者及他們之間的關(guān)系。包

22、括以下幾個部分:用例(Case)、參與者(Actor)。用例視圖中的參與者與系統(tǒng)外部的一個實體以某種方式參與了用例的執(zhí)行過程;用例是一個敘述型文檔,用來描述參與使用系統(tǒng)、完成某個事情時發(fā)生的順序。 用例圖中,A1可以搜索信息,A2由A1派生目A2參與了兩個用例,根據(jù)題中的說明(1)和(2),可知Al為網(wǎng)絡(luò)用戶,A2為授權(quán)用戶;由用例UC1和登錄用例之問存在關(guān)系,可知UCI為認證用例,因為用戶登錄必須先認證,所以登錄用例是認證的擴展,所以他們之間的關(guān)系為extend。對于授權(quán)用戶還可以更新信息,故UC2為更新信息用例。8、C1: InternetClieni C2: Customer C3: R

23、egisteredClient C4: Administrator C5: CustomerList 1 0.* 1 0.* 9、候選類的選擇運用了良性依賴原則“不會在實際中造成危害的依賴關(guān)系,都是良性依賴”和接口隔離原則(ISP)。解析 候選類的選擇運用了良性依賴原則“不會在實際中造成危害的依賴關(guān)系,都是良性依賴”。通過分析不難發(fā)現(xiàn),本原則的核心思想是“務(wù)實”,很好地揭示了極限編程(Extreme Programming)中“簡單設(shè)計”和“重構(gòu)”的理論基礎(chǔ)。本原則可以幫助我們抵御“面向?qū)ο笤O(shè)計五大原則”以及設(shè)計模式的誘惑,以免陷入過度設(shè)計( Overengineering)的尷尬境地,帶來不必要的復(fù)雜候選類的刪除使用的是接口離原則候選類的刪除運用了接口隔離原則(ISP):不應(yīng)該強迫客戶依賴于它們不用的方法。接口屬于客戶,不屬于它所在的類層次結(jié)構(gòu)。這個說得很明白了,再通俗點說不要強迫客戶使用它們不用的方法,如果強迫用戶使用它們不使用的方法,那么這些客戶就會面臨由于這些不使用的方法的改變所帶來的改變。試題四10、di=di

溫馨提示

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

評論

0/150

提交評論