




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、中級軟件設(shè)計(jì)師2013上半年下午試題試題一某慈善機(jī)構(gòu)欲開發(fā)一個(gè)募捐系統(tǒng),已跟蹤記錄為事業(yè)或項(xiàng)目向目標(biāo)群體進(jìn)行募捐而組織的集體性活動(dòng)。該系統(tǒng)的主要功能如下所述。 1管理志愿者。根據(jù)募捐任務(wù)給志愿者發(fā)送加入邀請、邀請跟進(jìn)、工作任務(wù);管理志愿者提供的邀請響應(yīng)、志愿者信息、工作時(shí)長、工作結(jié)果等。 2確定募捐需求和收集所募捐贈(資金及物品)。根據(jù)需求提出募捐任務(wù)、將活動(dòng)請求和捐贈請求,獲取所募集的資金和物品。 3組織募捐活動(dòng)。根據(jù)活動(dòng)請求,確定活動(dòng)時(shí)間范圍。根據(jù)活動(dòng)時(shí)間,搜索場館,即:想場館發(fā)送場館可用性請求,獲得場館可用性。然后根據(jù)活動(dòng)時(shí)間和地點(diǎn)推廣募捐活動(dòng),根據(jù)相應(yīng)的活動(dòng)信息舉辦活動(dòng),從募捐機(jī)構(gòu)獲取
2、資金并向其發(fā)放贈品。獲取和處理捐贈,根據(jù)捐贈請求,提供所募集的捐贈;處理與捐贈人之間的交互,即: 錄入捐贈人信息,處理后存入捐贈人信息表;從捐贈人信息表中查詢捐贈人信息,向捐贈人發(fā)送募捐請求,并將已聯(lián)系的捐贈人存入已聯(lián)系的捐贈人表。根據(jù)捐贈請求進(jìn)行募集,募得捐贈后,將捐贈記錄存入捐贈表;對捐贈記錄進(jìn)行處理后,存入已處理捐贈表,向捐贈人發(fā)送致謝函,根據(jù)已聯(lián)系的捐贈人和捐贈記錄進(jìn)行跟蹤,將捐贈跟進(jìn)情況發(fā)送給捐贈人。 先采用結(jié)構(gòu)化方法對募捐系統(tǒng)進(jìn)行分析與設(shè)計(jì),獲得如圖1、圖2、和圖3所示分層數(shù)據(jù)流圖。 1、使用說明中的詞語,給出圖1中的實(shí)體E1E4的名稱。2、在建模DFD時(shí),需要對有些復(fù)雜加工(處理
3、)進(jìn)行進(jìn)一步精化,圖2為圖1中處理3的進(jìn)一步細(xì)化的1層數(shù)據(jù)流圖,圖3為圖2中3.1進(jìn)一步細(xì)化的2層數(shù)據(jù)流圖。補(bǔ)全2中加工P1、P2和P3的名稱和圖2與圖3中缺少的數(shù)據(jù)流。3、使用說明中的詞語,給出圖3中的數(shù)據(jù)存儲D1D4的名稱。試題二某電視臺擬開發(fā)一套信息管理系統(tǒng),以方便對全臺的員工、欄目、廣告和演播廳等進(jìn)行管理。 需求分析 系統(tǒng)需要維護(hù)全臺員工的詳細(xì)信息、欄目信息、廣告信息和演播廳信息等。員工的信息主要包括:工號、姓名、性別、出生日期、電話、住址等。欄目信息主要包括:欄目名稱、播出時(shí)間、時(shí)長的呢過。廣告信息主要包括:廣告編號、價(jià)格等。演播廳信息包括:房間號、房間面積等。 電視臺分局調(diào)度單來協(xié)
4、調(diào)各檔欄目、演播廳和場務(wù)。一銷售檔欄目只會占用一個(gè)演播廳,但會使用多名場務(wù)來進(jìn)行演出協(xié)調(diào)。演播廳和場務(wù)可以被多個(gè)欄目循環(huán)使用。 電視臺根據(jù)欄目來插播廣告。每檔欄目可以插播多條廣告,每條廣告也可以在多檔欄目插播。 一檔欄目可以有多個(gè)主持人,但一名支持人只能支持一檔欄目。 一名編輯人員可以編輯多條廣告,一條廣告只能由一名編輯人員編輯。 概念模型設(shè)計(jì) 根據(jù)需求階段收集的信息設(shè)計(jì)的實(shí)體聯(lián)系圖(不完整)如圖所示。 邏輯結(jié)構(gòu)設(shè)計(jì) 根據(jù)概念模型設(shè)計(jì)階段完成的實(shí)體聯(lián)系圖,得出如下關(guān)系模式(不完整): 演播廳(房間號,房間面積) 欄目(欄目名稱,播出時(shí)間,時(shí)長) 廣告(廣告編號,銷售價(jià)格,_) 員工(工號,姓名
5、,性別,出生日期,電話,住址) 主持人(主持人工號,_) 插播單(_,播出時(shí)間) 調(diào)度單(_)4、補(bǔ)充圖中的聯(lián)系和聯(lián)系的類型。5、根據(jù)圖,將邏輯結(jié)構(gòu)設(shè)計(jì)階段生成的關(guān)系模式的空補(bǔ)充完整,并用下劃線指出空所在關(guān)系模式的主鍵。6、現(xiàn)需要記錄廣告商信息,增加廣告商實(shí)體。一個(gè)廣告商可以提供多條廣告,一條廣告只由一個(gè)廣告商提供。請根據(jù)該要求,對圖進(jìn)行修改,畫出修改后的實(shí)體間聯(lián)系和聯(lián)系的類型。試題三某城市擬開發(fā)一個(gè)基于Web的城市黃頁,公開發(fā)布該城市重要的組織或機(jī)構(gòu)(一下統(tǒng)稱為客戶)的基本信息,方便城市生活。該系統(tǒng)的主要功能描述如下: 7搜索信息:任何使用Internet的網(wǎng)絡(luò)用戶都可以搜索發(fā)布在城市黃頁中
6、的信息,例如客戶的名稱、地址、聯(lián)系電話等。 8認(rèn)證:客戶若想在城市黃頁上發(fā)布信息,需通過系統(tǒng)的認(rèn)證。認(rèn)證成功后,該客戶成為系統(tǒng)授權(quán)用戶。 9更新信息:授權(quán)用戶登錄系統(tǒng)后,可以更改自己在城市黃頁中的相關(guān)信息,例如變更聯(lián)系電話等。 10刪除客戶:對于拒絕繼續(xù)在城市黃頁上發(fā)布信息的客戶,有系統(tǒng)管理員刪除該客戶的相關(guān)信息。 系統(tǒng)采用面向?qū)ο蠓椒ㄟM(jìn)行開發(fā),在開發(fā)過程中認(rèn)定出如下表所示的類。系統(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、認(rèn)定類是面向?qū)ο蠓治鲋蟹浅jP(guān)鍵的一個(gè)步驟。一般首先從問題域中得到候選類集合,在根據(jù)相應(yīng)的原則從該集合中刪除不作為類的,剩余的就是從問題域中認(rèn)定出來的類。簡要說明選擇候選類的原則,以及對候選類集合進(jìn)行刪除的原則。試題四設(shè)有m臺完全相同的機(jī)器運(yùn)行n個(gè)獨(dú)立的任務(wù),運(yùn)行任務(wù)i所需要的時(shí)間為ti,要求確定一個(gè)調(diào)度方案是的完成所有任務(wù)所需要的時(shí)間最短。 假設(shè)任務(wù)已經(jīng)按照其運(yùn)行時(shí)間從大到小排序,算法基于最長運(yùn)行時(shí)間作業(yè)優(yōu)先的策略;按順序先把每個(gè)1務(wù)分配到一臺機(jī)器上,然后將剩余的任務(wù)一次放入最先空閑的機(jī)器。 C代碼 下面是算法的C語言實(shí)現(xiàn)。 10常量和變量說明 m:機(jī)器數(shù)。 n:任務(wù)數(shù)
8、。 t:輸入數(shù)組,長度為n,其中每個(gè)元素表示任務(wù)的運(yùn)行時(shí)間,下標(biāo)從0開始。 s:二維數(shù)組,長度為m*n,下標(biāo)從0開始,其中元素sij表示機(jī)器i運(yùn)行的任務(wù)j的編號。 d:數(shù)組,長度為m其中元素di表示機(jī)器i的運(yùn)行時(shí)間,下標(biāo)從0開始。 count:數(shù)組,長度為m,下標(biāo)從0開始,其中元素counti表示機(jī)器i運(yùn)行的任務(wù)數(shù)。 i:循環(huán)變量。 j:循環(huán)變量。 k:臨時(shí)變量。 max:完成所有任務(wù)的時(shí)間。 min:臨時(shí)變量。 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個(gè)任務(wù) si0=i; _; counti=1; for(_;in;i+) /分配后n-m個(gè)任務(wù) int min=d0; k=0; for(j=1;jn;j+) /確定空閑機(jī)器 if(raindj) min=dj; k=j; /機(jī)器k空閑 _; countk=countk+1; dk=dk+ti; for(i=0;im;i+) /確定完成所有任務(wù)所需要的時(shí)間 if(_) max=di; 10、根據(jù)說明和C代碼,填充C代碼中的空。11、根據(jù)說明和C代碼,該問題采用了_算法設(shè)計(jì)策略,時(shí)間復(fù)雜度為_(用O符號表示)12、考慮實(shí)例m=3(編號02),n=7(編號06)
10、,各任務(wù)的運(yùn)行時(shí)間為16,14,6,5,4,3,2。則在機(jī)器0、1和2上運(yùn)行的任務(wù)分別為_、_和_(給出任務(wù)編號)。從任務(wù)開始運(yùn)行到完成所需要的時(shí)間為_。試題五13、現(xiàn)要求實(shí)現(xiàn)一個(gè)能夠自動(dòng)生成求職簡歷的程序,簡歷的基本內(nèi)容包括求職者的姓名、性別、年齡及工作經(jīng)歷。希望每份簡歷中的工作經(jīng)歷有所不同,并盡量減少程序中的重復(fù)代碼。 現(xiàn)采用原型模式(Prototype)來實(shí)現(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) /*實(shí)現(xiàn)省略*/ Void SetPersonallnfo(string sex, string age) /*實(shí)現(xiàn)省略*/ Void setWorkExperience(string workDate,string company) /*實(shí)現(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)要求實(shí)現(xiàn)一個(gè)能夠自動(dòng)生成求職簡歷的程序,簡歷的基本內(nèi)容包括求職者的姓名、性別、年齡及工作經(jīng)歷。希望每份簡歷中的工作經(jīng)歷有所不同,并盡量減少程序中的重復(fù)代碼。 現(xiàn)采用原型模式(Prototype)來實(shí)現(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募捐機(jī)構(gòu) E4場館。解析 該題以募捐系統(tǒng)為載體來考核考生對數(shù)據(jù)流圖知識點(diǎn)的掌握程度。從題目的問答形式上來看,和往年相似,要求補(bǔ)充外部實(shí)體、補(bǔ)充缺失數(shù)據(jù)流、找出外部存儲。解答這類問題,有兩個(gè)原則: (1)第一個(gè)原則是緊扣試題系統(tǒng)說明部分,數(shù)據(jù)流圖與系統(tǒng)說明有著嚴(yán)格的對應(yīng)關(guān)系,系統(tǒng)說明部分的每一句話都能對應(yīng)到圖中來,解題時(shí)可以一句一句的對照圖來分析。 (2)第二個(gè)原則即數(shù)據(jù)的平衡原則,這一點(diǎn)在解題過程中也是至關(guān)重要的。數(shù)據(jù)平衡原則有兩方面的含義,一方面是分層數(shù)據(jù)流圖父子圖之間的數(shù)據(jù)流平衡原則,另一方面是每張數(shù)據(jù)流圖中輸入與輸出數(shù)據(jù)流的平衡原則。 根據(jù)0層數(shù)據(jù)流管理志愿者中
18、的募捐任務(wù)給志愿者發(fā)送加入邀請,邀請跟進(jìn),工作任務(wù)和管理志愿者提供的邀請響應(yīng)等可知E1為志愿者;從錄入捐贈人信息,向捐贈人發(fā)送募捐請求,向捐贈人發(fā)送致謝函等可知E2為捐贈人;從根據(jù)說明中從募捐機(jī)構(gòu)獲取資金并向其發(fā)放贈品可知E3為募捐機(jī)構(gòu);根據(jù)向場館發(fā)送可用性清求和獲得場館可用性可知E4為場館。2、P1確定活動(dòng)時(shí)間范圍P2搜索場館P3推廣募捐活動(dòng) 缺少的數(shù)據(jù)流: 名稱:活動(dòng)請求起點(diǎn):確定募款需求收集所募捐贈終點(diǎn):P1解析 根據(jù)1層數(shù)據(jù)流圖中P1的輸出流活動(dòng)時(shí)間再結(jié)合說明可知P1為確定活動(dòng)時(shí)間范圍;從加工P2的輸入流活動(dòng)時(shí)間和輸出流場館可用性請求和活動(dòng)時(shí)間和地點(diǎn)可知P2為搜索場館;說明中根據(jù)活動(dòng)時(shí)
19、間和地點(diǎn)推廣募捐活動(dòng),根據(jù)相應(yīng)的活動(dòng)信息舉辦活動(dòng),在結(jié)合P3的輸入輸出流可知P3為推廣募捐活動(dòng)。比較0層和1層中的數(shù)據(jù)流可知,P1加工只有輸出流,故缺少輸入流,根據(jù)說明可知需要根據(jù)活動(dòng)請求才能確定P1,故該數(shù)據(jù)流為活動(dòng)請求,在0層數(shù)據(jù)流中活動(dòng)請求的起始加工為確定募款需求收集所募捐贈,故可知答案。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è)計(jì),設(shè)計(jì)考點(diǎn)有:數(shù)據(jù)庫的概念結(jié)構(gòu)設(shè)計(jì)和邏輯結(jié)構(gòu)設(shè)計(jì)。 由說明每檔欄
20、目可以插播多條廣告,每條廣告可以在多檔欄目中插播,可知廣告和欄目之間是插播關(guān)系且為多比多;一個(gè)主持人可以主持一個(gè)欄目,一個(gè)欄目可以被多個(gè)主持人所主持,故主持人和欄目之間為多比1的關(guān)系;多名場務(wù)來進(jìn)行欄目的演出協(xié)調(diào),而場務(wù)又可以被多個(gè)欄目循環(huán)使用,故其關(guān)系為多比多。補(bǔ)充聯(lián)系如圖1所示。5、(1)廣告時(shí)長 主鍵:廣告編號 (2)欄目名稱 主鍵:主持人工號 (3)欄目名稱、廣告編號 主鍵:欄目名稱、廣告編號 (4)欄目名稱、房間號、場務(wù)工號主鍵:欄目名稱、場務(wù)工號解析 邏輯結(jié)構(gòu)設(shè)計(jì)中,廣告實(shí)體中缺少廣告時(shí)長,主鍵為廣告編號;主持人實(shí)體與欄目實(shí)體為多比一的關(guān)系,故將欄目中主鍵欄目名稱加入到主持人實(shí)體中
21、,主鍵為主持人工號;捕播單為欄目實(shí)體和廣告實(shí)體這種多對多的關(guān)系所派生出的實(shí)體,其中記錄了欄目和廣告的主鍵信息,故插播單中缺少欄目名稱和廣告編號信息,主鍵為欄目名稱和廣告編號;調(diào)度單為場務(wù)、欄目和演播廳實(shí)體這種多對對的關(guān)系所派生的實(shí)體,故其記錄了欄目名稱,房間號,場務(wù)工號,主鍵為欄目名稱、房間號和場務(wù)工號。6、解析 因?yàn)橐粋€(gè)廣告商可以提供多條廣告,一條廣告只能由一個(gè)廣告商提供,故廣告商和廣告之間的關(guān)系為一比多,其關(guān)系下圖所示。 試題三7、A1網(wǎng)絡(luò)用戶A2授權(quán)用戶UC1認(rèn)證UC2更新信息 (1)extend解析 本題考查面向?qū)ο蠓治鲋械念悎D、用例圖。用例圖描述了一組用例、參與者及他們之間的關(guān)系。包
22、括以下幾個(gè)部分:用例(Case)、參與者(Actor)。用例視圖中的參與者與系統(tǒng)外部的一個(gè)實(shí)體以某種方式參與了用例的執(zhí)行過程;用例是一個(gè)敘述型文檔,用來描述參與使用系統(tǒng)、完成某個(gè)事情時(shí)發(fā)生的順序。 用例圖中,A1可以搜索信息,A2由A1派生目A2參與了兩個(gè)用例,根據(jù)題中的說明(1)和(2),可知Al為網(wǎng)絡(luò)用戶,A2為授權(quán)用戶;由用例UC1和登錄用例之問存在關(guān)系,可知UCI為認(rèn)證用例,因?yàn)橛脩舻卿洷仨毾日J(rèn)證,所以登錄用例是認(rèn)證的擴(kuò)展,所以他們之間的關(guān)系為extend。對于授權(quán)用戶還可以更新信息,故UC2為更新信息用例。8、C1: InternetClieni C2: Customer C3: R
23、egisteredClient C4: Administrator C5: CustomerList 1 0.* 1 0.* 9、候選類的選擇運(yùn)用了良性依賴原則“不會在實(shí)際中造成危害的依賴關(guān)系,都是良性依賴”和接口隔離原則(ISP)。解析 候選類的選擇運(yùn)用了良性依賴原則“不會在實(shí)際中造成危害的依賴關(guān)系,都是良性依賴”。通過分析不難發(fā)現(xiàn),本原則的核心思想是“務(wù)實(shí)”,很好地揭示了極限編程(Extreme Programming)中“簡單設(shè)計(jì)”和“重構(gòu)”的理論基礎(chǔ)。本原則可以幫助我們抵御“面向?qū)ο笤O(shè)計(jì)五大原則”以及設(shè)計(jì)模式的誘惑,以免陷入過度設(shè)計(jì)( Overengineering)的尷尬境地,帶來不必要的復(fù)雜候選類的刪除使用的是接口離原則候選類的刪除運(yùn)用了接口隔離原則(ISP):不應(yīng)該強(qiáng)迫客戶依賴于它們不用的方法。接口屬于客戶,不屬于它所在的類層次結(jié)構(gòu)。這個(gè)說得很明白了,再通俗點(diǎn)說不要強(qiáng)迫客戶使用它們不用的方法,如果強(qiáng)迫用戶使用它們不使用的方法,那么這些客戶就會面臨由于這些不使用的方法的改變所帶來的改變。試題四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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 如何講好線上培訓(xùn)課件
- 小學(xué)生認(rèn)識火箭課件圖片
- 《醫(yī)療護(hù)理禮儀》課件
- 路人王簽約合同協(xié)議
- 《中風(fēng)后康復(fù)之路》課件
- 車間勞務(wù)外包合同協(xié)議
- 轉(zhuǎn)讓押金無合同協(xié)議
- 轉(zhuǎn)讓軟件系統(tǒng)合同協(xié)議
- 養(yǎng)殖小區(qū)種豬供應(yīng)及技術(shù)服務(wù)合同
- it設(shè)備維保協(xié)議
- 中建全套雨季施工方案
- 三位數(shù)加減三位數(shù)豎式計(jì)算題100道及答案
- 北京工業(yè)大學(xué)《計(jì)量經(jīng)濟(jì)學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 江西省會計(jì)師事務(wù)所服務(wù)收費(fèi)標(biāo)準(zhǔn)
- 人工智能應(yīng)用開發(fā)合同
- 與信仰對話 課件-2024年入團(tuán)積極分子培訓(xùn)
- 高三英語一輪復(fù)習(xí)備考實(shí)踐經(jīng)驗(yàn)分享 課件
- 小學(xué)五年級體育教案全冊(人教版)
- 新人教版高中英語必修二 unit 5詞匯默寫本
- 2024至2030年中國節(jié)能服務(wù)產(chǎn)業(yè)市場預(yù)測及投資策略分析報(bào)告
- 六年級《語文下冊》期末試卷及答案【可打印】
評論
0/150
提交評論