




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、中級軟件設計師2013上半年下午試題試題一某慈善機構欲開發(fā)一個募捐系統(tǒng),已跟蹤記錄為事業(yè)或項目向目標群體進行募捐而組織的集體性活動。該系統(tǒng)的主要功能如下所述。 1管理志愿者。根據募捐任務給志愿者發(fā)送加入邀請、邀請跟進、工作任務;管理志愿者提供的邀請響應、志愿者信息、工作時長、工作結果等。 2確定募捐需求和收集所募捐贈(資金及物品)。根據需求提出募捐任務、將活動請求和捐贈請求,獲取所募集的資金和物品。 3組織募捐活動。根據活動請求,確定活動時間范圍。根據活動時間,搜索場館,即:想場館發(fā)送場館可用性請求,獲得場館可用性。然后根據活動時間和地點推廣募捐活動,根據相應的活動信息舉辦活動,從募捐機構獲取
2、資金并向其發(fā)放贈品。獲取和處理捐贈,根據捐贈請求,提供所募集的捐贈;處理與捐贈人之間的交互,即: 錄入捐贈人信息,處理后存入捐贈人信息表;從捐贈人信息表中查詢捐贈人信息,向捐贈人發(fā)送募捐請求,并將已聯(lián)系的捐贈人存入已聯(lián)系的捐贈人表。根據捐贈請求進行募集,募得捐贈后,將捐贈記錄存入捐贈表;對捐贈記錄進行處理后,存入已處理捐贈表,向捐贈人發(fā)送致謝函,根據已聯(lián)系的捐贈人和捐贈記錄進行跟蹤,將捐贈跟進情況發(fā)送給捐贈人。 先采用結構化方法對募捐系統(tǒng)進行分析與設計,獲得如圖1、圖2、和圖3所示分層數(shù)據流圖。 1、使用說明中的詞語,給出圖1中的實體E1E4的名稱。2、在建模DFD時,需要對有些復雜加工(處理
3、)進行進一步精化,圖2為圖1中處理3的進一步細化的1層數(shù)據流圖,圖3為圖2中3.1進一步細化的2層數(shù)據流圖。補全2中加工P1、P2和P3的名稱和圖2與圖3中缺少的數(shù)據流。3、使用說明中的詞語,給出圖3中的數(shù)據存儲D1D4的名稱。試題二某電視臺擬開發(fā)一套信息管理系統(tǒng),以方便對全臺的員工、欄目、廣告和演播廳等進行管理。 需求分析 系統(tǒng)需要維護全臺員工的詳細信息、欄目信息、廣告信息和演播廳信息等。員工的信息主要包括:工號、姓名、性別、出生日期、電話、住址等。欄目信息主要包括:欄目名稱、播出時間、時長的呢過。廣告信息主要包括:廣告編號、價格等。演播廳信息包括:房間號、房間面積等。 電視臺分局調度單來協(xié)
4、調各檔欄目、演播廳和場務。一銷售檔欄目只會占用一個演播廳,但會使用多名場務來進行演出協(xié)調。演播廳和場務可以被多個欄目循環(huán)使用。 電視臺根據欄目來插播廣告。每檔欄目可以插播多條廣告,每條廣告也可以在多檔欄目插播。 一檔欄目可以有多個主持人,但一名支持人只能支持一檔欄目。 一名編輯人員可以編輯多條廣告,一條廣告只能由一名編輯人員編輯。 概念模型設計 根據需求階段收集的信息設計的實體聯(lián)系圖(不完整)如圖所示。 邏輯結構設計 根據概念模型設計階段完成的實體聯(lián)系圖,得出如下關系模式(不完整): 演播廳(房間號,房間面積) 欄目(欄目名稱,播出時間,時長) 廣告(廣告編號,銷售價格,_) 員工(工號,姓名
5、,性別,出生日期,電話,住址) 主持人(主持人工號,_) 插播單(_,播出時間) 調度單(_)4、補充圖中的聯(lián)系和聯(lián)系的類型。5、根據圖,將邏輯結構設計階段生成的關系模式的空補充完整,并用下劃線指出空所在關系模式的主鍵。6、現(xiàn)需要記錄廣告商信息,增加廣告商實體。一個廣告商可以提供多條廣告,一條廣告只由一個廣告商提供。請根據該要求,對圖進行修改,畫出修改后的實體間聯(lián)系和聯(lián)系的類型。試題三某城市擬開發(fā)一個基于Web的城市黃頁,公開發(fā)布該城市重要的組織或機構(一下統(tǒng)稱為客戶)的基本信息,方便城市生活。該系統(tǒng)的主要功能描述如下: 7搜索信息:任何使用Internet的網絡用戶都可以搜索發(fā)布在城市黃頁中
6、的信息,例如客戶的名稱、地址、聯(lián)系電話等。 8認證:客戶若想在城市黃頁上發(fā)布信息,需通過系統(tǒng)的認證。認證成功后,該客戶成為系統(tǒng)授權用戶。 9更新信息:授權用戶登錄系統(tǒng)后,可以更改自己在城市黃頁中的相關信息,例如變更聯(lián)系電話等。 10刪除客戶:對于拒絕繼續(xù)在城市黃頁上發(fā)布信息的客戶,有系統(tǒng)管理員刪除該客戶的相關信息。 系統(tǒng)采用面向對象方法進行開發(fā),在開發(fā)過程中認定出如下表所示的類。系統(tǒng)的用例圖和類圖分別如圖1和圖2所示。 7、根據說明中的描述,給出圖1中A1和A2出所對應的參與者,UC1和UC2所對應的用例以及處的關系。8、根據說明中的描述,給出圖2中C1C5所對應的類名(表中給出出的類名)和空
7、格處所對應的多重度。9、認定類是面向對象分析中非常關鍵的一個步驟。一般首先從問題域中得到候選類集合,在根據相應的原則從該集合中刪除不作為類的,剩余的就是從問題域中認定出來的類。簡要說明選擇候選類的原則,以及對候選類集合進行刪除的原則。試題四設有m臺完全相同的機器運行n個獨立的任務,運行任務i所需要的時間為ti,要求確定一個調度方案是的完成所有任務所需要的時間最短。 假設任務已經按照其運行時間從大到小排序,算法基于最長運行時間作業(yè)優(yōu)先的策略;按順序先把每個1務分配到一臺機器上,然后將剩余的任務一次放入最先空閑的機器。 C代碼 下面是算法的C語言實現(xiàn)。 10常量和變量說明 m:機器數(shù)。 n:任務數(shù)
8、。 t:輸入數(shù)組,長度為n,其中每個元素表示任務的運行時間,下標從0開始。 s:二維數(shù)組,長度為m*n,下標從0開始,其中元素sij表示機器i運行的任務j的編號。 d:數(shù)組,長度為m其中元素di表示機器i的運行時間,下標從0開始。 count:數(shù)組,長度為m,下標從0開始,其中元素counti表示機器i運行的任務數(shù)。 i:循環(huán)變量。 j:循環(huán)變量。 k:臨時變量。 max:完成所有任務的時間。 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個任務 si0=i; _; counti=1; for(_;in;i+) /分配后n-m個任務 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+) /確定完成所有任務所需要的時間 if(_) max=di; 10、根據說明和C代碼,填充C代碼中的空。11、根據說明和C代碼,該問題采用了_算法設計策略,時間復雜度為_(用O符號表示)12、考慮實例m=3(編號02),n=7(編號06)
10、,各任務的運行時間為16,14,6,5,4,3,2。則在機器0、1和2上運行的任務分別為_、_和_(給出任務編號)。從任務開始運行到完成所需要的時間為_。試題五13、現(xiàn)要求實現(xiàn)一個能夠自動生成求職簡歷的程序,簡歷的基本內容包括求職者的姓名、性別、年齡及工作經歷。希望每份簡歷中的工作經歷有所不同,并盡量減少程序中的重復代碼。 現(xiàn)采用原型模式(Prototype)來實現(xiàn)上述要求,得到如圖1所示的類圖。 C+代碼 # includestring Using namespace std; Class Clonealole Public: _, Class WorkExperience:public C
11、loneable /經歷 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)一個能夠自動生成求職簡歷的程序,簡歷的基本內容包括求職者的姓名、性別、年齡及工作經歷。希望每份簡歷中的工作經歷有所不同,并盡量減少程序中的重復代碼。 現(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募捐機構 E4場館。解析 該題以募捐系統(tǒng)為載體來考核考生對數(shù)據流圖知識點的掌握程度。從題目的問答形式上來看,和往年相似,要求補充外部實體、補充缺失數(shù)據流、找出外部存儲。解答這類問題,有兩個原則: (1)第一個原則是緊扣試題系統(tǒng)說明部分,數(shù)據流圖與系統(tǒng)說明有著嚴格的對應關系,系統(tǒng)說明部分的每一句話都能對應到圖中來,解題時可以一句一句的對照圖來分析。 (2)第二個原則即數(shù)據的平衡原則,這一點在解題過程中也是至關重要的。數(shù)據平衡原則有兩方面的含義,一方面是分層數(shù)據流圖父子圖之間的數(shù)據流平衡原則,另一方面是每張數(shù)據流圖中輸入與輸出數(shù)據流的平衡原則。 根據0層數(shù)據流管理志愿者中
18、的募捐任務給志愿者發(fā)送加入邀請,邀請跟進,工作任務和管理志愿者提供的邀請響應等可知E1為志愿者;從錄入捐贈人信息,向捐贈人發(fā)送募捐請求,向捐贈人發(fā)送致謝函等可知E2為捐贈人;從根據說明中從募捐機構獲取資金并向其發(fā)放贈品可知E3為募捐機構;根據向場館發(fā)送可用性清求和獲得場館可用性可知E4為場館。2、P1確定活動時間范圍P2搜索場館P3推廣募捐活動 缺少的數(shù)據流: 名稱:活動請求起點:確定募款需求收集所募捐贈終點:P1解析 根據1層數(shù)據流圖中P1的輸出流活動時間再結合說明可知P1為確定活動時間范圍;從加工P2的輸入流活動時間和輸出流場館可用性請求和活動時間和地點可知P2為搜索場館;說明中根據活動時
19、間和地點推廣募捐活動,根據相應的活動信息舉辦活動,在結合P3的輸入輸出流可知P3為推廣募捐活動。比較0層和1層中的數(shù)據流可知,P1加工只有輸出流,故缺少輸入流,根據說明可知需要根據活動請求才能確定P1,故該數(shù)據流為活動請求,在0層數(shù)據流中活動請求的起始加工為確定募款需求收集所募捐贈,故可知答案。3、D1:捐贈人信息表 D2:已聯(lián)系的捐贈人信息表D3:捐贈表D4:已經處理的捐贈表解析 根據最后的說明和2層數(shù)據流可知D1為捐贈人信息表,D2為已聯(lián)系的捐贈人信息表,D3為捐贈表,D4為已經處理的捐贈表。試題二4、解析 本題考查數(shù)據庫設計,設計考點有:數(shù)據庫的概念結構設計和邏輯結構設計。 由說明每檔欄
20、目可以插播多條廣告,每條廣告可以在多檔欄目中插播,可知廣告和欄目之間是插播關系且為多比多;一個主持人可以主持一個欄目,一個欄目可以被多個主持人所主持,故主持人和欄目之間為多比1的關系;多名場務來進行欄目的演出協(xié)調,而場務又可以被多個欄目循環(huán)使用,故其關系為多比多。補充聯(lián)系如圖1所示。5、(1)廣告時長 主鍵:廣告編號 (2)欄目名稱 主鍵:主持人工號 (3)欄目名稱、廣告編號 主鍵:欄目名稱、廣告編號 (4)欄目名稱、房間號、場務工號主鍵:欄目名稱、場務工號解析 邏輯結構設計中,廣告實體中缺少廣告時長,主鍵為廣告編號;主持人實體與欄目實體為多比一的關系,故將欄目中主鍵欄目名稱加入到主持人實體中
21、,主鍵為主持人工號;捕播單為欄目實體和廣告實體這種多對多的關系所派生出的實體,其中記錄了欄目和廣告的主鍵信息,故插播單中缺少欄目名稱和廣告編號信息,主鍵為欄目名稱和廣告編號;調度單為場務、欄目和演播廳實體這種多對對的關系所派生的實體,故其記錄了欄目名稱,房間號,場務工號,主鍵為欄目名稱、房間號和場務工號。6、解析 因為一個廣告商可以提供多條廣告,一條廣告只能由一個廣告商提供,故廣告商和廣告之間的關系為一比多,其關系下圖所示。 試題三7、A1網絡用戶A2授權用戶UC1認證UC2更新信息 (1)extend解析 本題考查面向對象分析中的類圖、用例圖。用例圖描述了一組用例、參與者及他們之間的關系。包
22、括以下幾個部分:用例(Case)、參與者(Actor)。用例視圖中的參與者與系統(tǒng)外部的一個實體以某種方式參與了用例的執(zhí)行過程;用例是一個敘述型文檔,用來描述參與使用系統(tǒng)、完成某個事情時發(fā)生的順序。 用例圖中,A1可以搜索信息,A2由A1派生目A2參與了兩個用例,根據題中的說明(1)和(2),可知Al為網絡用戶,A2為授權用戶;由用例UC1和登錄用例之問存在關系,可知UCI為認證用例,因為用戶登錄必須先認證,所以登錄用例是認證的擴展,所以他們之間的關系為extend。對于授權用戶還可以更新信息,故UC2為更新信息用例。8、C1: InternetClieni C2: Customer C3: R
23、egisteredClient C4: Administrator C5: CustomerList 1 0.* 1 0.* 9、候選類的選擇運用了良性依賴原則“不會在實際中造成危害的依賴關系,都是良性依賴”和接口隔離原則(ISP)。解析 候選類的選擇運用了良性依賴原則“不會在實際中造成危害的依賴關系,都是良性依賴”。通過分析不難發(fā)現(xiàn),本原則的核心思想是“務實”,很好地揭示了極限編程(Extreme Programming)中“簡單設計”和“重構”的理論基礎。本原則可以幫助我們抵御“面向對象設計五大原則”以及設計模式的誘惑,以免陷入過度設計( Overengineering)的尷尬境地,帶來不必要的復雜候選類的刪除使用的是接口離原則候選類的刪除運用了接口隔離原則(ISP):不應該強迫客戶依賴于它們不用的方法。接口屬于客戶,不屬于它所在的類層次結構。這個說得很明白了,再通俗點說不要強迫客戶使用它們不用的方法,如果強迫用戶使用它們不使用的方法,那么這些客戶就會面臨由于這些不使用的方法的改變所帶來的改變。試題四10、di=di
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 新疆第二醫(yī)學院《基礎老撾語一》2023-2024學年第一學期期末試卷
- 2025年中國無人化打包系統(tǒng)市場調查研究報告
- 2025年中國斜紋縐市場調查研究報告
- 2025年中國數(shù)字式電腦吊桿控制臺數(shù)據監(jiān)測報告
- 2025至2031年中國織物水洗酶行業(yè)投資前景及策略咨詢研究報告
- 2025-2030年中國丁苯透明抗沖樹脂(K膠)產量預測及發(fā)展趨勢研究報告
- 2025至2031年中國翅片式散熱器行業(yè)投資前景及策略咨詢研究報告
- 2025-2030干手器產業(yè)規(guī)劃專項研究報告
- 2025至2030年中國阻燃液市場分析及競爭策略研究報告
- 新疆生產建設兵團一師高級中學2025屆高三下學期第6周考試生物試題含解析
- 高等數(shù)學試題(下)
- 手術患者轉運交接課件
- 《結構健康監(jiān)測系統(tǒng)運行維護與管理標準》
- 手術室信息安全管理制度
- 《沉積礦床》課件
- 內部審計管理制度模版(2篇)
- 動態(tài)心電監(jiān)測設備行業(yè)發(fā)展趨勢預測及戰(zhàn)略布局建議報告
- 《供應商審核講義》課件
- 電化學儲能電站檢修規(guī)程知識培訓
- 猩紅熱課件完整版本
- 肌肉骨骼康復學學習通超星期末考試答案章節(jié)答案2024年
評論
0/150
提交評論