影音先锋男人资源在线观看,精品国产日韩亚洲一区91,中文字幕日韩国产,2018av男人天堂,青青伊人精品,久久久久久久综合日本亚洲,国产日韩欧美一区二区三区在线

2013年上半年(下午)《軟件設(shè)計(jì)師》真題

上傳人:住在山****ck 文檔編號(hào):81163998 上傳時(shí)間:2022-04-26 格式:DOCX 頁(yè)數(shù):7 大?。?86.24KB
收藏 版權(quán)申訴 舉報(bào) 下載
2013年上半年(下午)《軟件設(shè)計(jì)師》真題_第1頁(yè)
第1頁(yè) / 共7頁(yè)
2013年上半年(下午)《軟件設(shè)計(jì)師》真題_第2頁(yè)
第2頁(yè) / 共7頁(yè)
2013年上半年(下午)《軟件設(shè)計(jì)師》真題_第3頁(yè)
第3頁(yè) / 共7頁(yè)

下載文檔到電腦,查找使用更方便

10 積分

下載資源

還剩頁(yè)未讀,繼續(xù)閱讀

資源描述:

《2013年上半年(下午)《軟件設(shè)計(jì)師》真題》由會(huì)員分享,可在線閱讀,更多相關(guān)《2013年上半年(下午)《軟件設(shè)計(jì)師》真題(7頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、2013年上半年(下午)《軟件設(shè)計(jì)師》真題 注意:圖片可根據(jù)實(shí)際需要調(diào)整大小 卷面總分:6分 答題時(shí)間:240分鐘 試卷題量:6題 練習(xí)次數(shù):0次 問(wèn)答題 (共6題,共6分) 1.某城市擬開(kāi)發(fā)一個(gè)基于Web城市黃頁(yè),公開(kāi)發(fā)布該城市重要的組織或機(jī)構(gòu)(以下統(tǒng)稱為客戶)的基本信息,方便城市生活。該系統(tǒng)的主要功能描述如下: (1)搜索信息:任何使用Internert的網(wǎng)絡(luò)用戶都可以搜索發(fā)布在城市黃頁(yè)中的信息,例如客戶的名稱、地址、聯(lián)系電話等。 (2)認(rèn)證:客戶若想在城市黃頁(yè)上發(fā)布信息,需通過(guò)系統(tǒng)的認(rèn)證。認(rèn)證成

2、功后,該客戶成為系統(tǒng)授權(quán)用戶。 (3)更新信息:授權(quán)用戶登錄系統(tǒng)后,可以更改自己在城市黃頁(yè)中的相關(guān)信息,例如變更聯(lián)系電話等。 (4)刪除客戶:對(duì)于拒絕繼續(xù)在城市黃頁(yè)上發(fā)布信息的客戶,有系統(tǒng)管理員刪除該客戶的相關(guān)信息。 系統(tǒng)采用面向?qū)ο蠓椒ㄟM(jìn)行開(kāi)發(fā),在開(kāi)發(fā)過(guò)程中認(rèn)定出如表3-1所示的類。系統(tǒng)的用例圖和類圖分別如圖3-1和圖3-2所示。 表3-1類列表 【問(wèn)題1】(5分) 根據(jù)說(shuō)明中的描述,給出圖3-1中A1和A2處所對(duì)應(yīng)的參與者,UC1和UC2所對(duì)應(yīng)的用例以及(1)處的關(guān)系。 【問(wèn)題2】(7分) 根據(jù)說(shuō)明中的描述,給出圖3-2中C1~C5所對(duì)應(yīng)的類名(表3-1中給出的

3、類名)和(2)~(5)處所對(duì)應(yīng)的多重度。 【問(wèn)題3】(3分) 認(rèn)定類是面向?qū)ο蠓治鲋蟹浅jP(guān)鍵的一個(gè)步驟。一般首先從問(wèn)題域中得到候選類集合,在根據(jù)相應(yīng)的原則從該集合中刪除不作為類的,剩余的就是從問(wèn)題域中認(rèn)定出來(lái)的類。簡(jiǎn)要說(shuō)明選擇候選類的原則,以及對(duì)候選類集合進(jìn)行刪除的原則。 正確答案: 本題解析: 【問(wèn)題1】 A1網(wǎng)絡(luò)用戶;A2授權(quán)用戶;UC1更新信息;UC2認(rèn)證; (1)<<include>> 【問(wèn)題2】 C1:InternetClient;C2:CustomerList;C3:Admini

4、strator;C4:RegisteredClient C5:Customer; (2)1;(3)0…*;(4)0..1;(5)0..1 【問(wèn)題3】 候選類的選擇運(yùn)用了良性依賴原則“不會(huì)在實(shí)際中造成危害的依賴關(guān)系,都是良性依賴”和接口隔離原則(ISP)。 本題考查面向?qū)ο蠓治鲋械念悎D、用例圖。 【問(wèn)題1】 用例圖中,A1可以搜索信息,A2由A1派生且A2參與了兩個(gè)用例,根據(jù)題中的說(shuō)明(1)和(2),可知A1為網(wǎng)絡(luò)用戶,A2為授權(quán)用戶;由用例UC1和登錄用例之間存在關(guān)系,可知UC1為更新信息,因?yàn)楦滦畔⑶氨仨毜卿?,所以更新信息用例包含登錄用例,它們之間的關(guān)系為include。

5、【問(wèn)題2】 本問(wèn)題查考類圖。考查類圖的層次結(jié)構(gòu)和多重度。 首先根據(jù)C2和C5之間存在聚合關(guān)系,滿足要求的類應(yīng)該是客戶與客戶集,又因?yàn)槠渲蠧2為整體,C5為部分,所以C2為客戶集,C5為客戶信息。 又因?yàn)閳D中更有兩個(gè)非常明顯的繼承結(jié)構(gòu),即C3和C4繼承與C1,且C1與C2是多對(duì)一的關(guān)系,根據(jù)C2為客戶集,又因?yàn)檎f(shuō)明(1)中任何網(wǎng)絡(luò)用戶都可以搜索客戶信息,即C1為網(wǎng)絡(luò)用戶,由此很明顯得出C3和C4在授權(quán)用戶和系統(tǒng)管理員中選取。再由C4和C5之間的關(guān)聯(lián)關(guān)系,且C5為客戶信息,通過(guò)題意可以了解到客戶信息是由其成為授權(quán)用戶之后,自己發(fā)布與管理的,而管理員在此并未進(jìn)行職責(zé)描述(管理員對(duì)客戶的刪除,可

6、以通過(guò)其父類對(duì)客戶集進(jìn)行操作),可以不管他。用戶C4顯然就是授權(quán)用戶,由此得出C3為管理員。由此(2)~(5)的多重度就顯而易見(jiàn),(2)為1,(3)為0…*,(4)為1,(5)為1。 【問(wèn)題3】 候選類的選擇運(yùn)用了良性依賴原則“不會(huì)在實(shí)際中造成危害的依賴關(guān)系,都是良性依賴”和接口隔離原則(ISP)。ISP:使用多個(gè)專門的接口比使用單一的總接口要好。一個(gè)類對(duì)另外一個(gè)類的依賴性應(yīng)當(dāng)是建立在最小的接口上的。一個(gè)接口代表一個(gè)角色,不應(yīng)當(dāng)將不同的角色都交給一個(gè)接口。沒(méi)有關(guān)系的接口合并在一起,形成一個(gè)臃腫的大接口,這是對(duì)角色和接口的污染?!安粦?yīng)該強(qiáng)迫客戶依賴于它們不用的方法。接口屬于客戶,不屬于它所在

7、的類層次結(jié)構(gòu)?!边@個(gè)說(shuō)得很明白了,再通俗點(diǎn)說(shuō),不要強(qiáng)迫客戶使用它們不用的方法,如果強(qiáng)迫用戶使用它們不使用的方法,那么這些客戶就會(huì)面臨由于這些不使用的方法的改變所帶來(lái)的改變。 2.現(xiàn)要求實(shí)現(xiàn)一個(gè)能夠自動(dòng)生成求職簡(jiǎn)歷的程序,簡(jiǎn)歷的基本內(nèi)容包括求職者的姓名、性別、年齡及工作經(jīng)歷。希望每份簡(jiǎn)歷中的工作經(jīng)歷有所不同,并盡量減少程序中的重復(fù)代碼。 現(xiàn)采用原型模式(Prototype)來(lái)實(shí)現(xiàn)上述要求,得到如圖5-1所示的類圖。 圖5-1類圖 【C++代碼】 #include<string> using namespace std; class?Cloneabl

8、e{ public: (1); }; class?workExperience:public?Cloneable{//工作經(jīng)歷 private: string?workData; string?company; public: Cloneable*clone(  ){ (2); Obj->workDate=this->workDate; Obj->company=this->company; return Obj; } //其余代碼省略 }; class?Resume:public?Cloneable{//簡(jiǎn)歷 private: string name;

9、 string sex; string age; WorkExperience*work; Resume(WorkExperience*work){ this->work=(3); } public: Resume(string name){/*實(shí)現(xiàn)省略*/} void SetPersonInfo(string sex,string age){/*實(shí)現(xiàn)省略*/} void SetWorkExperience(string workDate,string company){/*實(shí)現(xiàn)省略*/} Cloneable*Clone(  ){ (4); Obj->name=this

10、->name; Obj->sex=this->sex; Obj->age=this->age; return Obj; } }; int?main( ?。﹞ Resume*a=new Resume(“張三”); a->SetPersonInfo(“男”,“29”); a->SetWorkExperience(“1998-2000”,“XXX公司”); Resume*b=(5); b->SetWorkExperience(“2001-2006”,“YYY公司”); return 0; } 正確答案:

11、 本題解析: (1)virtual Cloneable*Clone()=0 (2)WorkExperience*obj=new WorkExperience() (3)(WorkExperience*)work->Clone() (4)Resume*obj=new Resume(this->work) (6)(Resume*)a->Clone() 本題考查原型模型的概念及應(yīng)用。 原型模型的主要思想:先借用已有系統(tǒng)作為原型模型,通過(guò)“樣品”不斷改進(jìn),使得最后的產(chǎn)品就是用戶所需要的。原型模型通過(guò)向用戶提供原型獲取用戶的反饋,使開(kāi)發(fā)出的軟件能夠真正反映用戶的需求。同時(shí)

12、,原型模型采用逐步求精的方法完善原型,使得原型能夠“快速”開(kāi)發(fā),避免了像瀑布模型一樣在冗長(zhǎng)的開(kāi)發(fā)過(guò)程中難以對(duì)用戶的反饋?zhàn)鞒隹焖俚捻憫?yīng)。相對(duì)瀑布模型而言,原型模型更符合人們開(kāi)發(fā)軟件的習(xí)慣,使目前較流行的一種實(shí)用軟件生存期模型。 Prototype模式其實(shí)就是常說(shuō)的“虛擬構(gòu)造函數(shù)”一個(gè)實(shí)現(xiàn),C++的實(shí)現(xiàn)機(jī)制中并沒(méi)有支持這個(gè)特性,但是通過(guò)不同派生類實(shí)現(xiàn)的Clone接口函數(shù)可以完成與“虛擬構(gòu)造函數(shù)”同樣的效果。 題中聲明一個(gè)虛擬基類,所有的原型都是從這個(gè)基類繼承,(1)所代表的就是這個(gè)基類中的純虛函數(shù),需要供繼承者自行實(shí)現(xiàn),即為virtual Cloneable*Clone()=0,(1)聲明一個(gè)

13、抽象基類,并定義clone()函數(shù)為純虛函數(shù)。然后根據(jù)基類實(shí)例化各個(gè)子類,并且實(shí)現(xiàn)賦復(fù)制構(gòu)造函數(shù),并實(shí)現(xiàn)clone()函數(shù),由此可知(2)處為WorkExperience*Obj,(3)處為Work,(4)處為Resume*Obj。在main函數(shù)中實(shí)現(xiàn)Resume*b對(duì)*a的復(fù)制,故根據(jù)C++語(yǔ)法(5)中為a->Clone()。 注:解析部分只是給出思路,沒(méi)有遵循相關(guān)語(yǔ)法。 3.某慈善機(jī)構(gòu)欲開(kāi)發(fā)一個(gè)募捐系統(tǒng),已跟蹤記錄為事業(yè)或項(xiàng)目向目標(biāo)群體進(jìn)行募捐而組織的集體性活動(dòng)。該系統(tǒng)的主要功能如下所述。 (1)管理志愿者。根據(jù)募捐任務(wù)給志愿者發(fā)送加入邀請(qǐng)、邀請(qǐng)跟進(jìn)、工

14、作任務(wù);管理志愿者提供的邀請(qǐng)響應(yīng)、志愿者信息、工作時(shí)長(zhǎng)、工作結(jié)果等。 (2)確定募捐需求和收集所募捐贈(zèng)(資金及物品)。根據(jù)需求提出募捐任務(wù)、活動(dòng)請(qǐng)求和捐贈(zèng)請(qǐng)求,獲取所募集的資金和物品。 (3)組織募捐活動(dòng)。根據(jù)活動(dòng)請(qǐng)求,確定活動(dòng)時(shí)間范圍。根據(jù)活動(dòng)時(shí)間,搜索場(chǎng)館,即:向場(chǎng)館發(fā)送場(chǎng)館可用性請(qǐng)求,獲得場(chǎng)館可用性。然后根據(jù)活動(dòng)時(shí)間和地點(diǎn)推廣募捐活動(dòng),根據(jù)相應(yīng)的活動(dòng)信息舉辦活動(dòng),從募捐機(jī)構(gòu)獲取資金并向其發(fā)放贈(zèng)品。獲取和處理捐贈(zèng),根據(jù)捐贈(zèng)請(qǐng)求,提供所募集的捐贈(zèng);處理與捐贈(zèng)人之間的交互,即: 錄入捐贈(zèng)人信息,處理后存入捐贈(zèng)人信息表;從捐贈(zèng)人信息表中查詢捐贈(zèng)人信息,向捐贈(zèng)人發(fā)送捐贈(zèng)請(qǐng)求,并將已聯(lián)系的捐贈(zèng)

15、人存入已聯(lián)系的捐贈(zèng)人表。根據(jù)捐贈(zèng)請(qǐng)求進(jìn)行募集,募得捐贈(zèng)后,將捐贈(zèng)記錄存入捐贈(zèng)表;對(duì)捐贈(zèng)記錄進(jìn)行記錄后,存入已處理捐贈(zèng)表,向捐贈(zèng)人發(fā)送致謝函,根據(jù)已聯(lián)系的捐贈(zèng)人和捐贈(zèng)記錄進(jìn)行跟蹤,并將捐贈(zèng)跟進(jìn)情況發(fā)送給捐贈(zèng)人。 先采用結(jié)構(gòu)化方法對(duì)募捐系統(tǒng)進(jìn)行分析和設(shè)計(jì),獲得如圖1-1、圖1-2和圖1-3所示分層數(shù)據(jù)流圖。 【問(wèn)題1】(4分) 使用說(shuō)明中的詞語(yǔ),給出圖1-1中的實(shí)體E1~E4的名稱。 【問(wèn)題2】(7分) 在建模DFD時(shí),需要對(duì)有些復(fù)雜加工(處理)進(jìn)行進(jìn)一步精化,圖1-2為圖1-1中處理3的進(jìn)一步細(xì)化的1層數(shù)據(jù)流圖,圖1-3為圖1-2中3.1進(jìn)一步細(xì)化的2層數(shù)據(jù)流圖。補(bǔ)全1-2

16、中加工P1、P2和P3的名稱和圖1-2與圖1-3中缺少的數(shù)據(jù)流。 【問(wèn)題3】(4分) 使用說(shuō)明中的詞語(yǔ),給出圖1-3中的數(shù)據(jù)存儲(chǔ)D1~D4的名稱。 正確答案: 本題解析: 【問(wèn)題1】 E1:志愿者E2:捐贈(zèng)人E3:募捐機(jī)構(gòu)E4:場(chǎng)館 【問(wèn)題2】 P1:確定活動(dòng)時(shí)間范圍P2:搜索場(chǎng)館P3:推廣募捐活動(dòng) 圖1-2缺少的數(shù)據(jù)流: 名稱:活動(dòng)請(qǐng)求起點(diǎn):2確定募款需求收集所募捐款終點(diǎn):P1 名稱:所募集資金起點(diǎn):3.5舉辦活動(dòng)并募集資金終點(diǎn):2確定募捐需求收集所募捐款 圖1-3缺失的數(shù)據(jù)流:

17、名稱:捐贈(zèng)請(qǐng)求起點(diǎn):2確定募款需求收集所募捐款終點(diǎn):3.1.3募集 名稱:所募集資金起點(diǎn):3.1.3募集終點(diǎn):2確定募款需求收集所募捐款 名稱:所募集物品起點(diǎn):3.1.3募集終點(diǎn):2確定募款需求收集所募捐款 或后兩條數(shù)據(jù)流合并為: 名稱:所募集捐贈(zèng)起點(diǎn):3.1.3募集終點(diǎn):2確定募款需求收集所募捐款 【問(wèn)題3】 D1:捐贈(zèng)人信息表D2:已聯(lián)系的捐贈(zèng)人信息表D3:捐贈(zèng)表D4:已經(jīng)處理的捐贈(zèng)表。 解答這類題目有兩個(gè)原則: 1.第一個(gè)原則是緊扣試題系統(tǒng)說(shuō)明部分,數(shù)據(jù)流圖與系統(tǒng)說(shuō)明有著嚴(yán)格的對(duì)應(yīng)關(guān)系,系統(tǒng)說(shuō)明部分的每一句話都能對(duì)應(yīng)到圖中來(lái),解題時(shí)一句一句的對(duì)照?qǐng)D來(lái)分析。 2.第二個(gè)原

18、則即數(shù)據(jù)平衡原則,這一點(diǎn)在解題過(guò)程中也是至關(guān)重要的。數(shù)據(jù)平衡原則有兩方面的含義,一方面是分層數(shù)據(jù)流圖父子圖之間的數(shù)據(jù)流平衡原則,另一方面是每張數(shù)據(jù)流圖中輸入與輸出數(shù)據(jù)流的平衡原則。 【問(wèn)題1】 根據(jù)0層數(shù)據(jù)流管理志愿者中的募捐任務(wù)給志愿者發(fā)送加入邀請(qǐng),邀請(qǐng)跟進(jìn),工作任務(wù)和管理志愿者提供的邀請(qǐng)響應(yīng)可知E1為志愿者;從錄入捐款人信息,向捐贈(zèng)人發(fā)送募捐請(qǐng)求,;向捐贈(zèng)人發(fā)送致謝函等可知E2為捐贈(zèng)人;從根據(jù)說(shuō)明中從募捐機(jī)構(gòu)獲取資金并向其發(fā)放贈(zèng)品可知E3為募捐機(jī)構(gòu);根據(jù)向場(chǎng)館發(fā)送可用性請(qǐng)求和獲得場(chǎng)所可用性可知E4為場(chǎng)館。 【問(wèn)題2】 根據(jù)1層數(shù)據(jù)流圖中P1的輸出流活動(dòng)時(shí)間再結(jié)合說(shuō)明可知P1為確定活

19、動(dòng)時(shí)間范圍;從加工P2的輸入流活動(dòng)時(shí)間和輸出流場(chǎng)館可用性請(qǐng)求和活動(dòng)時(shí)間和地點(diǎn)可知P2為搜索場(chǎng)館;說(shuō)明中根據(jù)活動(dòng)時(shí)間和地點(diǎn)推廣募捐活動(dòng),根據(jù)相應(yīng)的活動(dòng)信息舉辦活動(dòng),再結(jié)合P3的輸入輸出流可知P3為推廣募捐活動(dòng)。 比較0層和1層中的數(shù)據(jù)流可知,P1加工只有輸出流,故缺少輸出流,根據(jù)說(shuō)明可知需要根據(jù)活動(dòng)請(qǐng)求才能確定P1,故該數(shù)據(jù)流為活動(dòng)請(qǐng)求,在0層數(shù)據(jù)流中活動(dòng)請(qǐng)求的起始加工為確定募款需求收集所募捐贈(zèng),故可知答案。又因?yàn)閷?duì)于加工3.5只有輸入數(shù)據(jù)流資金,沒(méi)有輸出數(shù)據(jù)流,因此缺失數(shù)據(jù)流所募集資金,起點(diǎn)為加工3.5,又因?yàn)榧庸?為確定募捐請(qǐng)求和收集所募捐贈(zèng),所以該數(shù)據(jù)流終點(diǎn)為加工2。 比較1層圖和2層

20、圖的數(shù)據(jù)流可知,2層圖是1層圖中加工3.1的分解,而對(duì)于加工3.1與加工2之間,在父圖中存在3條數(shù)據(jù)流,而子圖中沒(méi)有給出,因此子圖缺失數(shù)據(jù)流:捐贈(zèng)請(qǐng)求,起點(diǎn)為2,終點(diǎn)為3.1.3;所募集物品,起點(diǎn)為3.1.3,終點(diǎn)為2;所募集資金,起點(diǎn)為3.1.3,終點(diǎn)為2。或者將后面兩條數(shù)據(jù)流合并為所募集捐贈(zèng)。 【問(wèn)題3】 根據(jù)最后的說(shuō)明和2層數(shù)據(jù)流可知D1為捐贈(zèng)人信息表,D2為已聯(lián)系的捐贈(zèng)人信息表,D3為捐贈(zèng)表,D4為已經(jīng)處理的捐贈(zèng)表。 4.某電視臺(tái)擬開(kāi)發(fā)一套信息管理系統(tǒng),以方便對(duì)全臺(tái)的員工、欄目、廣告和演播室等進(jìn)行管理。 【需求分析】 (1)系統(tǒng)需要維護(hù)全臺(tái)員工的

21、詳細(xì)信息、欄目信息、廣告信息和演播廳信息等。員工的信息主要包括:工號(hào)、姓名、性別、出生日期、電話、住址等。欄目信息主要包括:欄目名稱、播出時(shí)間、時(shí)長(zhǎng)等。廣告信息主要包括:廣告編號(hào)、價(jià)格等。演播廳信息包括:房間號(hào)、房間面積等。 (2)電視臺(tái)分局調(diào)度單來(lái)協(xié)調(diào)各檔欄目、演播廳和場(chǎng)務(wù)。一銷售檔欄目只會(huì)占用一個(gè)演播廳,但會(huì)使用多名場(chǎng)務(wù)來(lái)進(jìn)行演出協(xié)調(diào)。演播廳和場(chǎng)務(wù)可以被多個(gè)欄目循環(huán)使用。 (3)電視臺(tái)根據(jù)欄目來(lái)插播廣告。每檔欄目可以插播多條廣告,每條廣告也可以在多的欄目插播。 (4)一檔欄目可以有多個(gè)主持人,但一名主持人只能支持一檔欄目。 (5)一名編輯人員可以編輯多條廣告,一條廣告只能由一名編輯

22、人員編輯。 【概念模型設(shè)計(jì)】 根據(jù)需求階段收集的信息設(shè)計(jì)的實(shí)體聯(lián)系圖(不完整)如圖2-1所示。 【邏輯結(jié)構(gòu)設(shè)計(jì)】 根據(jù)概念模式設(shè)計(jì)階段完成的實(shí)體聯(lián)系圖,得出如下關(guān)系模型(不完整): 演播廳(房間號(hào),房間面積) 欄目(欄目名稱,播出時(shí)間,時(shí)長(zhǎng)) 廣告(廣告編號(hào),銷售價(jià)格,(1)) 員工(工號(hào),姓名,性別,出生日期,電話,住址) 主持人(主持人工號(hào),(2)) 插播單((3),播出時(shí)間) 調(diào)度單((4)) 【問(wèn)題1】(7分) 補(bǔ)充圖2-1中的聯(lián)系和聯(lián)系類型。 【問(wèn)題2】(5分) 根據(jù)圖2-1,將邏輯結(jié)構(gòu)設(shè)計(jì)階段生產(chǎn)的關(guān)系模型的空(1)~(4)補(bǔ)充完整,并用下劃線指出

23、(1)~(4)所在關(guān)系模型的主鍵。 【問(wèn)題3】(3分) 現(xiàn)需要記錄廣告商信息,增加廣告商實(shí)體。一個(gè)廣告商可以提供多條廣告,一條廣告只由一個(gè)廣告商提供。請(qǐng)根據(jù)該要求,對(duì)圖2-1進(jìn)行修改,畫(huà)出修改后的實(shí)體間聯(lián)系和聯(lián)系的類型。 正確答案: 本題解析: 【問(wèn)題1】 【問(wèn)題2】 (1)編輯人員工號(hào)主鍵:廣告編號(hào) (2)欄目名稱主鍵:主持人工號(hào) (3)欄目名稱、廣告編號(hào)主鍵:欄目名稱、廣告編號(hào) (4)欄目名稱、房間號(hào)、場(chǎng)務(wù)工號(hào)主鍵:欄目名稱、房間號(hào)、場(chǎng)務(wù)工號(hào) 【問(wèn)題3】 本題考查數(shù)據(jù)庫(kù)設(shè)計(jì)

24、,設(shè)計(jì)考點(diǎn)有:數(shù)據(jù)庫(kù)的概念結(jié)構(gòu)設(shè)計(jì)和邏輯結(jié)構(gòu)設(shè)計(jì)。 【問(wèn)題1】 由說(shuō)明每檔欄目可以插播多條廣告,每條廣告可以在多檔欄目中插播,可知廣告和欄目之間是插播關(guān)系且為多比多;一個(gè)主持人可以主持一個(gè)欄目,一個(gè)欄目可以有多個(gè)主持人,故主持人和欄目之間是多比一的關(guān)系;一銷售檔欄目只會(huì)占用一個(gè)演播廳,但會(huì)使用多名場(chǎng)務(wù)來(lái)進(jìn)行演出協(xié)調(diào),故三者之間存在三元聯(lián)系,其中場(chǎng)務(wù)為多du。補(bǔ)充關(guān)系如圖1所示。 【問(wèn)題2】 邏輯結(jié)構(gòu)設(shè)計(jì)中,廣告實(shí)體中缺少編輯人員工號(hào),主鍵為廣告編號(hào);主持人實(shí)體與欄目實(shí)體為多對(duì)一的關(guān)系,故將欄目中主鍵欄目名稱加入到主持人實(shí)體中,主鍵為主持人工號(hào);插播單為欄目實(shí)體和廣告實(shí)體這種多對(duì)多的關(guān)系

25、所派生出的實(shí)體,其中記錄了欄目和廣告的主鍵信息,故插播單中缺少欄目名稱和廣告編號(hào)信息,又因?yàn)轭}干說(shuō)明電視臺(tái)根據(jù)欄目來(lái)插播廣告,因此主鍵為欄目名稱和廣告編號(hào);調(diào)度單為場(chǎng)務(wù)、欄目和演播廳實(shí)體這種多對(duì)多的關(guān)系所派生的實(shí)體,故其記錄了欄目名稱,房間號(hào),場(chǎng)務(wù)工號(hào),主鍵為欄目名稱、房間號(hào)和場(chǎng)務(wù)工號(hào)。 【問(wèn)題3】 因?yàn)橐粋€(gè)廣告商可以提供多條廣告,一條廣告只能由一個(gè)廣告商提供,故廣告商和廣告之間的關(guān)系為一對(duì)多,其關(guān)系如圖所示。 5.現(xiàn)要求實(shí)現(xiàn)一個(gè)能夠自動(dòng)生成求職簡(jiǎn)歷的程序,簡(jiǎn)歷的基本內(nèi)容包括求職者的姓名、性別、年齡及工作經(jīng)歷。希望每份簡(jiǎn)歷中的工作經(jīng)歷有所不同,并盡量減少程序

26、中的重復(fù)代碼。 現(xiàn)采用原型模式(Prototype)來(lái)實(shí)現(xiàn)上述要求,得到如圖6-1所示的類圖。 圖6-1類圖 【Java代碼】 public class WorkExperience(1)Cloneable{//工作經(jīng)歷 private String workDate; private String company; public Object clone( ?。﹞ (2); Obj.workDate=this.workDate; Opany=pany; return Obj; } //其余代碼省略 } public class Resume(3)Clonea

27、ble{//簡(jiǎn)歷 private String name; private String sex; private String age; private WorkExperience work; public Resume(string name){ this.name=name; work=new WorkExperience( ?。? } private Resume(WorkExperience work){ this.work=(4); } public void?SetPersonInfo(string sex,string age){/*實(shí)現(xiàn)省略*/}

28、public void?SetWorkExperience(string workDate,string company){/*實(shí)現(xiàn)省略*/} public Object clone( ?。﹞ Resume Obj=(5); return Obj; } } Class WorkResume{ public static void?main( ?。﹞ Resume?a=new Resume(“張三”); a.SetPersonInfo(“男”,“29”); a.SetWorkExperience(“1998-2000”,“XXX公司”); Resume?b=(6); b.

29、SetWorkExperience(“2001-2006”,“YYY公司”); } } 正確答案: 本題解析: (1)implements (2)WorkExperience obj=new Workexperience() (3)implements (4)(WorkExperience)work.Clone() (5)new Resume(this.work) (6)(Resume)a.Clone() 本題考查原型模型的概念及應(yīng)用。 原型模型的主要思想:先借用已有系統(tǒng)作為原型模型,

30、通過(guò)“樣品”不斷改進(jìn),使得最后的產(chǎn)品就是用戶所需要的。原型模型通過(guò)向用戶提供原型獲取用戶的反饋,使開(kāi)發(fā)出的軟件能夠真正反映用戶的需求。同時(shí),原型模型采用逐步求精的方法完善原型,使得原型能夠“快速”開(kāi)發(fā),避免了像瀑布模型一樣在冗長(zhǎng)的開(kāi)發(fā)過(guò)程中難以對(duì)用戶的反饋?zhàn)鞒隹焖俚捻憫?yīng)。相對(duì)瀑布模型而言,原型模型更符合人們開(kāi)發(fā)軟件的習(xí)慣,使目前較流行的一種實(shí)用軟件生存期模型。 所有java類都繼承自java.lang.Object,而object類提供一個(gè)clone()方法,可以將一個(gè)java對(duì)象復(fù)制一份。因此在java中可以直接使用Object提供的clone()方法來(lái)實(shí)現(xiàn)對(duì)象的克隆。能夠?qū)崿F(xiàn)克隆的jav

31、a類必須實(shí)現(xiàn)一個(gè)標(biāo)識(shí)接口Cloneable,表示這個(gè)java支持復(fù)制。 題中WorkExperience類和Resume類需要實(shí)現(xiàn)Cloneable接口,故(1)和(3)為implements,WorkExperience中需要實(shí)現(xiàn)Clone()方法,并將自身復(fù)制一份,有下面代碼可知(2)為WorkExperience obj=new WorkExperience()。Resume類中的私有構(gòu)造方法實(shí)現(xiàn)WorkExperience深復(fù)制,故(4)中為(WorkExperience)work.clone(),而Resume類中Clone方法實(shí)現(xiàn)自身的復(fù)制,故(5)中為new Resume(th

32、is.work)。 在main中實(shí)現(xiàn)Resume b對(duì)a的復(fù)制,故(6)中為(Resume)a.Clone()。 6.設(shè)有m臺(tái)完全相同的機(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í)間從大到小排序,算法基于最長(zhǎng)運(yùn)行時(shí)間作業(yè)優(yōu)先的策略,按順序先把每個(gè)任務(wù)分配到一臺(tái)機(jī)器上,然后將剩余的任務(wù)依次放入最先空閑的機(jī)器。 【C代碼】 下面是算法的C語(yǔ)言實(shí)現(xiàn)。 1.常量和變量說(shuō)明 m:機(jī)器數(shù) n:任務(wù)數(shù) t[]:輸入數(shù)組,長(zhǎng)度為n,下標(biāo)從0開(kāi)始,其中每個(gè)元素表示任務(wù)的運(yùn)行時(shí)

33、間,下標(biāo)從0開(kāi)始。 s[][]:二維數(shù)組,長(zhǎng)度為m*n,下標(biāo)從0開(kāi)始,其中元素s[i][j]表示機(jī)器i運(yùn)行的任務(wù)j的編號(hào)。 d[]:數(shù)組,長(zhǎng)度為m其中元素d[i]表示機(jī)器i的運(yùn)行時(shí)間,下標(biāo)從0開(kāi)始。 count[]:數(shù)組,長(zhǎng)度為m,下標(biāo)從0開(kāi)始,其中元素count[i]表示機(jī)器i運(yùn)行的任務(wù)數(shù)。 i:循環(huán)變量。 j:循環(huán)變量。 k:臨時(shí)變量。 max:完成所有任務(wù)的時(shí)間。 min:臨時(shí)變量。 2.函數(shù)schedule void schedule( ?。﹞ int i,j,k,max=0; for(i=0;i<m;i++){ d[i]=0; for(j=0;j<n;j+

34、+){ s[i][j]=0; } } for(i=0;i<m;i++){//分配前m個(gè)任務(wù) s[i][0]=i; (1); count[i]=1; } for((2);i<n;i++){//分配后n-m個(gè)任務(wù) int min=d[0]; k=0; for(j=1;j<m;j++){//確定空閑時(shí)間 if(min>d[j]){ min=d[j]; k=j;//機(jī)器k空閑 } } (3); count[k]=count[k]+1; d[k]=d[k]+t[i]; } for(i=0;i<m;i++){//確定完成所有任務(wù)所需要的時(shí)間 if((4)){

35、 max=d[i]; } } } 【問(wèn)題1】(8分) 根據(jù)說(shuō)明和C代碼,填充C代碼中的空(1)~(4)。 【問(wèn)題2】(2分) 根據(jù)說(shuō)明和C代碼,該問(wèn)題采用了(5)算法設(shè)計(jì)策略,時(shí)間復(fù)雜度(6)(用O符號(hào)表示) 【問(wèn)題3】(5分) 考慮實(shí)例m=3(編號(hào)0~2),n=7(編號(hào)0~6),各任務(wù)的運(yùn)行時(shí)間為{16,14,6,5,4,3,2}。則在機(jī)器0、1和2上運(yùn)行的任務(wù)分別為(7)、(8)和(9)(給出任務(wù)編號(hào))。從任務(wù)開(kāi)始運(yùn)行到完成所需的時(shí)間為(10)。 正確答案: 本題解析: 【問(wèn)題1】

36、 (1)d[i]=t[i](2)i=m(3)s[k][count[k]]=i(4)max<d[i] 【問(wèn)題2】 (5)貪心(6)O(mn) 【問(wèn)題3】 (7)0(8)1、5(9)2、3、4、6(10)17 本題考查算法的設(shè)計(jì)和分析技術(shù)中的貪心算法。 貪婪算法(Greedy algorithm)是一種對(duì)某些求最優(yōu)解問(wèn)題的更簡(jiǎn)單、更迅速的設(shè)計(jì)技術(shù)。用貪婪法設(shè)計(jì)算法的特點(diǎn)是一步一步地進(jìn)行,常以當(dāng)前情況為基礎(chǔ)根據(jù)某個(gè)優(yōu)化測(cè)度作最優(yōu)選擇,而不考慮各種可能的整體情況,它省去了為找最優(yōu)解要窮盡所有可能而必須耗費(fèi)的大量時(shí)間,它采用自頂向下,以迭代的方法做出相繼的貪心選擇,每做一次貪心選擇就將所求

37、問(wèn)題簡(jiǎn)化為一個(gè)規(guī)模更小的子問(wèn)題,通過(guò)每一步貪心選擇,可得到問(wèn)題的一個(gè)最優(yōu)解,雖然每一步上都要保證能獲得局部最優(yōu)解,但由此產(chǎn)生的全局解有時(shí)不一定是最優(yōu)的,所以貪婪法不要回溯。 【問(wèn)題1】 根據(jù)上述思想和題中的說(shuō)明,首先將s[][]和d[]數(shù)組初始化為0,然后要做的就是按要求“算法基于最長(zhǎng)運(yùn)行時(shí)間作業(yè)優(yōu)先的策略,按順序先把每個(gè)任務(wù)分配到一臺(tái)機(jī)器上”,可以推斷(1)處為d[i]=t[i],此后需將剩下的n-m個(gè)任務(wù)按順序分配給空閑的機(jī)器,故(2)處將i初始化為以m為起始的任務(wù),即i=m,(3)處所在的位置是分配后n-m個(gè)任務(wù),在這個(gè)過(guò)程中,必須要對(duì)s矩陣的內(nèi)容進(jìn)行修改,但目前已經(jīng)出的代碼沒(méi)有這個(gè)

38、內(nèi)容,所以此處必然是對(duì)s的修改。從對(duì)s矩陣的注釋可以了解到,s[i][j]表示機(jī)器i運(yùn)行的任務(wù)j的編號(hào),此時(shí)涉及任務(wù)的機(jī)器號(hào)為k,而待分配的任務(wù)i是機(jī)器的第count[k]個(gè)任務(wù),即s[k][count[k]]=i,(4)處已經(jīng)完成了任務(wù)的運(yùn)行,此處需要統(tǒng)計(jì)所有機(jī)器所運(yùn)行任務(wù)的最長(zhǎng)時(shí)間,對(duì)于每個(gè)機(jī)器i的運(yùn)行時(shí)間為d[i],存在d[i]大于當(dāng)前的最大時(shí)間Max,就將當(dāng)前機(jī)器的運(yùn)行時(shí)間d[i]賦給Max,即Max<d[i]。 【問(wèn)題2】 根據(jù)以上分析,(5)處采用了貪心算法的策略,而時(shí)間復(fù)雜度由算法中的兩個(gè)嵌套for循環(huán)和兩個(gè)非嵌套for循環(huán)確定,即為O(mn)。 【問(wèn)題3】 根據(jù)題中算法的思想將任務(wù)的前三個(gè)任務(wù)分給三個(gè)機(jī)器,再將接下來(lái)的任務(wù)分給最先空閑的機(jī)器,故可知機(jī)器0運(yùn)行任務(wù)0,機(jī)器1運(yùn)行任務(wù)1、5,機(jī)器3運(yùn)行任務(wù)2、3、4、6;且運(yùn)行的最長(zhǎng)時(shí)間為17。

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

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!