中級(jí)軟件設(shè)計(jì)師2017下半年下午試題附答案解析_第1頁
中級(jí)軟件設(shè)計(jì)師2017下半年下午試題附答案解析_第2頁
中級(jí)軟件設(shè)計(jì)師2017下半年下午試題附答案解析_第3頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、試題一(15分)閱讀下列說明和圖,回答問題1至4,將答案填入答題紙的對(duì)應(yīng)欄內(nèi)。【說明】某公司擬開發(fā)一個(gè)共享單車系統(tǒng),采用北斗定位系統(tǒng)進(jìn)行單車定位,提供針對(duì)用戶的APP以及微信小程序,基于Web的管理與監(jiān)控系統(tǒng)。該共享單車系統(tǒng)的主要功能如下。1)用戶注冊(cè)登錄。用戶在APP段端輸入手機(jī)號(hào)并獲取驗(yàn)證碼后進(jìn)行注冊(cè),將用戶信息進(jìn)行存儲(chǔ)。用戶登錄后顯示用戶所在位置周圍的單車。2)使用單車。 掃碼/手動(dòng)開鎖。通過掃描二維碼或手動(dòng)輸入編碼獲取開鎖密碼,系統(tǒng)發(fā)送開鎖指令進(jìn)行開鎖,系統(tǒng)修改單車狀態(tài),新建單車行程。 騎行單車。單車定時(shí)上傳位置,更新行程。 鎖車結(jié)賬。用戶停止使用或手動(dòng)鎖車并結(jié)束行程后,系統(tǒng)根據(jù)已設(shè)置

2、好的計(jì)費(fèi)規(guī)則及使用時(shí)間自動(dòng)結(jié)算,更新本次騎行的費(fèi)用并顯示給用戶,用戶確認(rèn)支付后,記錄行程的支付狀態(tài),系統(tǒng)還將重置單車的開鎖密碼和單車狀態(tài)。3)輔助管理。 查詢。用戶可以查看行程列表和行程詳細(xì)信息。 保修。用戶上報(bào)所在位置或單車位置以及單車故障信息并進(jìn)行記錄。4)管理與監(jiān)控單車管理及計(jì)費(fèi)規(guī)則設(shè)置。商家對(duì)單車基礎(chǔ)信息,狀態(tài)等進(jìn)行管理,對(duì)計(jì)費(fèi)規(guī)則進(jìn)行設(shè)置并存儲(chǔ)。 單車監(jiān)控。對(duì)單車,故障,行程等進(jìn)行查詢統(tǒng)計(jì)。 用戶管理。管理用戶信用與狀態(tài)信息,對(duì)用戶進(jìn)行查詢統(tǒng)計(jì)。現(xiàn)采用結(jié)構(gòu)化方法對(duì)共享單車系統(tǒng)進(jìn)行分析與設(shè)計(jì),獲得如圖1-1所示的上下文數(shù)據(jù)流圖和圖所示的0層數(shù)據(jù)流圖。1-2個(gè)人信恩/確認(rèn)支忖宿息/故障信

3、息臉證碼倔圍隼車MI;下文HriHWIW呻甲柯用.m1r用戶切at*ttftHN琦用.ni-2o叮giF阿J冶戶fem-|_丄_一11*a*T.*-!.rW甲琴說鼻Wp.工忖苗Rr-rLrh上:暉匕匸、;.-7詵A【問題1】(3分)使用說明中的詞語,使用說明中的詞語,給出圖1-1中的實(shí)體E1E3勺名稱?!締栴}2】(5分)使用說明中的詞語,使用說明中的詞語,給出圖1-2中的數(shù)據(jù)存儲(chǔ)D1D5的名稱?!締栴}3】(5分)根據(jù)說明和圖中術(shù)語及符號(hào),補(bǔ)充圖1-2中缺失的數(shù)據(jù)流及其起點(diǎn)和終點(diǎn)【問題4】(2分)根據(jù)說明中術(shù)語,說明使用單車”可以分解為那些子加工?試題二(共15分)閱讀下列說明,回答問題1至問題

4、4,將解答填入答題紙的對(duì)應(yīng)欄內(nèi)?!菊f明】M公司為了便于開展和管理各項(xiàng)業(yè)務(wù)活動(dòng),提高公司的知名度和影響力,擬構(gòu)建一個(gè)基于網(wǎng)絡(luò)的會(huì)議策劃系統(tǒng)。【需求分析結(jié)果】該系統(tǒng)的部分功能及初步需求分析的結(jié)果如下:(1)M公司旗下有業(yè)務(wù)部,策劃部和其它部門。部門信息包括部門號(hào),部門名,主管,聯(lián)系電話和郵箱號(hào)。每個(gè)部門只有一名主管,只負(fù)責(zé)本部門的工作,且主管參照員工關(guān)系的員工號(hào):一個(gè)部門有多名員工,每個(gè)員工屬于且僅屬于一個(gè)部門。(2)員工信息包括員工號(hào),姓名,職位,聯(lián)系方式和薪資。職位包括主管,業(yè)務(wù)員,策劃員等。業(yè)務(wù)員負(fù)責(zé)受理用戶申請(qǐng),設(shè)置受理標(biāo)志。一名業(yè)務(wù)員可以受理多個(gè)用戶申請(qǐng),但一個(gè)用戶申請(qǐng)只能由一個(gè)業(yè)務(wù)員受

5、理。(3)用戶信息包括用戶號(hào),用戶名,銀行賬號(hào),電話,聯(lián)系地址。用戶號(hào)唯一標(biāo)識(shí)用戶信息中的每一個(gè)元組。(4)用戶申請(qǐng)信息包括申請(qǐng)?zhí)?,用戶?hào),會(huì)議日期,天數(shù),參會(huì)人數(shù),地點(diǎn),預(yù)算費(fèi)用和受理標(biāo)志。申請(qǐng)?zhí)栁ㄒ粯?biāo)識(shí)用戶申請(qǐng)信息中的每一個(gè)元組,且一個(gè)用戶可以提交多個(gè)申請(qǐng),但一個(gè)用戶申請(qǐng)只對(duì)應(yīng)一個(gè)用戶號(hào)(5) 策劃部主管為已受理的用戶申請(qǐng)制定會(huì)議策劃任務(wù)。策劃任務(wù)包括申請(qǐng)?zhí)?,任?wù)明細(xì)和要求完成時(shí)間。申請(qǐng)?zhí)栁ㄒ粯?biāo)識(shí)策劃任務(wù)的每一個(gè)元組。一個(gè)策劃任務(wù)只對(duì)應(yīng)一個(gè)已受理的用戶申請(qǐng),但一個(gè)策劃任務(wù)可由多名策劃員參與執(zhí)行,且一名策劃員可以參與執(zhí)行多項(xiàng)策劃任務(wù)。【概念模型設(shè)計(jì)】根據(jù)需求階段收集的信息,設(shè)計(jì)的實(shí)體聯(lián)系圖(

6、不完整)如圖2-1所示【關(guān)系模式設(shè)計(jì)】部門(部門號(hào),部門名,部門主管,聯(lián)系電話,由E箱號(hào))員工(員工號(hào),姓名,(a),聯(lián)系方式,薪資)用戶(用戶名,(b),電話,聯(lián)系地址)用戶申請(qǐng)(申請(qǐng)?zhí)?,用戶?hào),會(huì)議日期,天數(shù),參會(huì)人數(shù),地點(diǎn),受理標(biāo)志,(c)策劃任務(wù)(申請(qǐng)?zhí)?,任?wù)明顯,(d)執(zhí)行(申請(qǐng)?zhí)?,策劃員,實(shí)際完成時(shí)間,用戶評(píng)價(jià))【問題1】(5分)根據(jù)問題描述,補(bǔ)充五個(gè)聯(lián)系,完成圖2-1的實(shí)體聯(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*和*:*)【問題2】(4分)根據(jù)題意,將關(guān)系模式中的空(a)(d)補(bǔ)充完整,并填入答題紙的位置上。

7、【問題3】(4分)給出用戶申請(qǐng)”和策劃任務(wù)”關(guān)系模式的主鍵和外鍵?!締栴}4】(2分)請(qǐng)問執(zhí)行”關(guān)系模式的主鍵為全碼的說法正確嗎?為什么?試題三(共15分)閱讀下列說明,回答問題1至問題3,將解答填入答題紙的對(duì)應(yīng)欄內(nèi)?!菊f明】某大學(xué)擬開發(fā)一個(gè)用于管理學(xué)術(shù)出版物(Publication)的數(shù)字圖書館系統(tǒng),用戶可以從該系統(tǒng)查詢或下載已發(fā)表的學(xué)術(shù)出版物。系統(tǒng)的主要功能如下:1登錄系統(tǒng)。系統(tǒng)的用戶(Use)僅限于該大學(xué)的學(xué)生(Studen),教師(Faculty和其它工作人員(Staff)。在訪問系統(tǒng)之前,用戶必須使用其校園賬號(hào)和密碼登錄系統(tǒng)。2. 查詢某位作者(Author)的所有出版物。系統(tǒng)中保存了

8、會(huì)議文章(ConfPape),期刊文章(JournalArticie和校內(nèi)技術(shù)報(bào)告(TechRepo)等學(xué)術(shù)出版物的信息,如題目,作者以及出版年份等。除此之外,系統(tǒng)還存儲(chǔ)了不同類型出版物的一些特有信息;(1)對(duì)于會(huì)議文章,系統(tǒng)還記錄了會(huì)議名稱,召開時(shí)間以及召開地點(diǎn);(2)對(duì)于期刊文章,系統(tǒng)還記錄了期刊名稱,出版月份,期號(hào)以及主辦單位;(3)對(duì)于校內(nèi)技術(shù)報(bào)告,系統(tǒng)還記錄了由學(xué)校分配的唯一ID。3. 查詢制定會(huì)議集(ProceedingS或某個(gè)期刊特定期(Edition)的所有文章。會(huì)議集包含了發(fā)表在該會(huì)議(在某個(gè)特定時(shí)間段,特定地點(diǎn)召開)上的所有文章。期刊的每一期在特定時(shí)間發(fā)行,其中包含若干篇文

9、章。4. 下載出版物。系統(tǒng)記錄每個(gè)出版物被下載的次數(shù)。5. 查詢引用了某篇出版物的所有出版物。在學(xué)術(shù)出版物中引用他人或早期的文獻(xiàn)作為相關(guān)工作或背景資料是很常見的現(xiàn)象。用戶也可以在系統(tǒng)中為某篇出版物注冊(cè)引用通知,若有新的出版物引用該出版物,系統(tǒng)將發(fā)送電子郵件通知該用戶。現(xiàn)在采用面向?qū)ο蠓椒▽?duì)該系統(tǒng)進(jìn)行開發(fā),得到系統(tǒng)的初始設(shè)計(jì)類圖如圖3-1所示。【問題1】(9分)根據(jù)說明中的描述,給出圖3-1中C1CT對(duì)應(yīng)的類名?!締栴}2】(4分)根據(jù)說明中的描述,給出圖3-1中類C6C9的屬性?!締栴}3】(2分)圖3-1中包含了那種設(shè)計(jì)模式?實(shí)現(xiàn)的是該系統(tǒng)的哪個(gè)功能?試題四(共15分)閱讀下列說明和C代碼,回答

10、問題1至問題2,將解答寫在答題紙的對(duì)應(yīng)欄內(nèi)【說明】一個(gè)無向連通圖G上的哈密爾頓(Hamilton)回路是指從圖G上的某個(gè)頂點(diǎn)出發(fā),經(jīng)過圖上所有其他頂點(diǎn)一次且僅一次,最后回到該頂點(diǎn)的路徑。一種求解無向圖上的哈密爾頓回路算法的基本思想如下:假設(shè)圖G存在一個(gè)從頂點(diǎn)U0出發(fā)的哈密爾頓回路uoU1U2U3.UoUn-1U0o算法從頂點(diǎn)Uo出發(fā),訪問該頂點(diǎn)的一個(gè)未被訪問的領(lǐng)接頂點(diǎn)U1,接著從頂點(diǎn)U1出發(fā),訪問U1的一個(gè)未被訪問的領(lǐng)接頂點(diǎn)U2,。對(duì)頂點(diǎn)Ui,重復(fù)進(jìn)行以下操作:訪問Ui的一個(gè)為被訪問的領(lǐng)接頂點(diǎn)U+1;若Ui的所有領(lǐng)接頂點(diǎn)均已被訪問,貝U返回到頂點(diǎn)Ui-1,考慮Ui-1的下一個(gè)未被訪問的領(lǐng)接頂點(diǎn)

11、,仍記為Ui;直到找到一個(gè)哈密爾頓回路或者找不到哈密爾頓回路,算法結(jié)束?!綜代碼】下面是算法的C語言實(shí)現(xiàn)。(1)常量和變量說明n:圖G中的頂點(diǎn)數(shù)c:圖G的領(lǐng)接矩陣k:統(tǒng)計(jì)變量,當(dāng)前已經(jīng)訪問的頂點(diǎn)數(shù)為k+1xk:第k個(gè)訪問的頂點(diǎn)編號(hào),從0開始1表示已訪問1表示已訪問visitedxk第k個(gè)頂點(diǎn)的訪問標(biāo)志,0表示未訪問,(2)C程序#include#include#defineMAX4VoidHamilton(intn,intxMAX,intcMAXMAX)inti;intvisitedMAX;intk;/*初始化x數(shù)組和visited數(shù)組*/for(i=o;i0)xk=xk+1;while(xk

12、n)if(&cxk-1xk=1)/*領(lǐng)接頂點(diǎn)xk未被訪問過*/break;elsexk=xk+1;if(xkn&k=n-1&(3)/*找到一條哈密爾頓回路*/for(k=0;kn;k+)printf(-%dxk);/*俞出哈密爾頓回路*/printf(“d,x0);return;elseif(xk&kn-1)/*設(shè)置當(dāng)前頂點(diǎn)的訪問標(biāo)志,繼續(xù)下一個(gè)頂點(diǎn)*/(4) ;k=k+1;else/*沒有未被訪問過的領(lǐng)接頂點(diǎn),回退到上一個(gè)頂點(diǎn)*/xk=0;visitedxk=0;(5) ;【問題1】(10分)根據(jù)題干說明,填充C代碼中的空(1)(5)?!締栴}2】(5分)根據(jù)題干說明和C代碼,算法采用的設(shè)計(jì)策

13、略是(6),該方法在遍歷圖的頂點(diǎn)時(shí),采用的是(7)方法(深度優(yōu)先或廣度優(yōu)先)。試題五(共15分)閱讀下列說明和C+代碼,將應(yīng)填入jnL處的字句寫在答題紙的對(duì)應(yīng)欄內(nèi)?!菊f明】某圖像預(yù)覽程序要求能夠查看BMPJPE(和GIF三種格式的文件,且能夠在Windows和Linux兩種操作系統(tǒng)上運(yùn)行。程序需具有較好的擴(kuò)展性以支持新的文件格式和操作系統(tǒng)。為滿足上述需求并減少所需生成的子類數(shù)目,現(xiàn)采用橋接(Bridge)模式進(jìn)行設(shè)計(jì),得到如圖5.1所示的類圖?!綜+代碼】#include#includeUsingnamespacestd;classmatrix各種格式的文件最終都被轉(zhuǎn)化為像素矩陣/此處代碼省略

14、;classImplementPublic:;/顯示像素矩陣m;classWinlmp:publicImplementorPublic:VoiddoPaint(Matrixm)/*調(diào)用Windows系統(tǒng)的繪制函數(shù)繪制像素矩陣*/;classLinuxImp:publicImplementorpublic:VoiddoPaint(Matrixm)/*調(diào)用Linux系統(tǒng)的繪制函數(shù)繪制像素矩陣*/;classImagpublic:voidsetImp(Implementor*imp)this.imp=imp;virtualvoidparseFile(StringfileName)=O;protect

15、ed:Implenentor*imp;classBMPImage:publiclmage/此處代碼省略;classGIFImage:publiclmagepublic:voidparseFile(StringfileName)/此處解析GIF文件并獲取一個(gè)像素矩陣對(duì)象;/顯示像素矩陣m;classJPEGImage:publicImage/此處代碼省略;intmain()publicstaticvoidmain(Stringargs)/在Linux操作系統(tǒng)上查看demo.gif圖像文件Imagimag=(3);ImplementorimageImp=(4);;image.parseFile(“

16、demo.gif”);試題六共15分)閱讀下列說明和Java代碼,將應(yīng)填入(n)處的字句寫在答題紙的對(duì)應(yīng)欄內(nèi)。【說明】某圖像預(yù)覽程序要求能夠查看BMPJPE(和GIF三種格式的文件,且能夠在Windows和Linux兩種操作系統(tǒng)上運(yùn)行。程序需具有較好的擴(kuò)展性以支持新的文件格式和操作系統(tǒng)。為滿足上述需求并減少所需生成的子類數(shù)目,現(xiàn)采用橋接(Bridge)模式進(jìn)行設(shè)計(jì),得到如圖5.1所示的類圖。【Java代碼】importJavaUtil。*;classmatrix各種格式的文件最終都被轉(zhuǎn)化為像素矩陣/此處代碼省略abstractclassImplementpublic;/顯示像素矩陣m;clas

17、sWinlmp:publicImplementorpublicVoiddoPaint(Matrixm)/*調(diào)用Windows系統(tǒng)的繪制函數(shù)繪制像素矩陣*/;classLinuxImp:publicImplementorpublicVoiddoPaint(Matrixm)/*調(diào)用Linux系統(tǒng)的繪制函數(shù)繪制像素矩陣*/;classImagpublicvoidsetImp(Implementor*imp)this.imp=imp;publicvirtualvoidparseFile(StringfileName)=O;protectedImplenentor*imp;classBMPImage:p

18、ublicImage/此處代碼省略;classGIFImage:publiclmagepublicVoidparseFile(StringfileName)/此處解析GIF文件并獲取一個(gè)像素矩陣對(duì)象(2);/顯示像素矩陣m;classJPEGImage:publiclmage/此處代碼省略;classmain()publicstaticvoidmain(Stringargs)/在Linux操作系統(tǒng)上查看demo.gif圖像文件Imagimag=(3);ImplementorimageImp=(4);_(5)_;image.parseFile(“demo.gif”);試題答案與解析試題一:【問題

19、一】E1:用戶;E2商家;E3:單車【問題二】D1:用戶信息文件;D2:單車信息文件;D3:行程信息文件;D4:計(jì)費(fèi)規(guī)則信息文件:D5:單車故障信息文件【冋題二】起點(diǎn)単點(diǎn)名稱P3E1開鎖密碼F3B1行程/費(fèi)用P3fo2一單車狀態(tài)F3rE3開械指令03rP3行裡信息或使用時(shí)間D2IP3計(jì)費(fèi)規(guī)則)3卩7行裡信息P-1rD2單車吹態(tài)1【問題四】掃碼/手動(dòng)開鎖,騎行單車,鎖車結(jié)賬【試題分析】本題考查面向結(jié)構(gòu)化軟件開發(fā)方法中需求分析階段使用的數(shù)據(jù)流圖(DFD圖)。作答時(shí),建議先看問題,劃出關(guān)鍵詞,然后邊閱讀文字描述邊作答,每閱讀一句都需仔細(xì)分析是否存在對(duì)應(yīng)的數(shù)據(jù)流,檢查相應(yīng)的數(shù)據(jù)流圖是否缺少相應(yīng)的數(shù)據(jù)流

20、?!締栴}一】需要填寫外部實(shí)體,外部實(shí)體為不屬于軟件本身但是又與當(dāng)前軟件有交互關(guān)系的外部的人,軟件,硬件,組織結(jié)構(gòu),數(shù)據(jù)庫系統(tǒng)等。在做的是需仔細(xì)的對(duì)每一個(gè)閱讀到的外部實(shí)體(一般為名詞)高度重視。【問題二】考察數(shù)據(jù)存儲(chǔ)文件,還需要對(duì)閱讀到的“文件”或“表”等能夠存儲(chǔ)數(shù)據(jù)的媒介詞匯高度重視?!締栴}三】不僅僅通過閱讀文字描述來作答,同時(shí)也要使用父圖與子圖的數(shù)據(jù)守恒原則進(jìn)行作答。根據(jù)描述“用戶在app端輸入手機(jī)號(hào)并獲取驗(yàn)證碼后進(jìn)行注冊(cè),將用戶信息進(jìn)行存儲(chǔ)”并對(duì)照?qǐng)D1-2中P1加工和E1實(shí)體處可知E1為實(shí)體“用戶”,D1為數(shù)據(jù)存儲(chǔ)文件“用戶信息文件”。根據(jù)描述“通過掃描二維碼或手動(dòng)輸入編碼獲取開鎖密碼,系

21、統(tǒng)發(fā)送開鎖指令進(jìn)行開鎖,系統(tǒng)修改單車狀態(tài),新建單車行程”并對(duì)照?qǐng)D1-2的加工P3處可知缺少一條從P3至實(shí)體E3的數(shù)據(jù)了“開鎖指令”,且缺少一條從P3至D2的數(shù)據(jù)流“單車狀態(tài)”;根據(jù)P4流入D2的數(shù)據(jù)流“單車基礎(chǔ)信息”容易知道D2為“單車信息文件”;根據(jù)P3流入D3的數(shù)據(jù)流名稱“單車行程/費(fèi)用”可知D3為“行程信息文件”;根據(jù)描述“用戶停止使用或手動(dòng)鎖車并結(jié)束行程后,系統(tǒng)根據(jù)已設(shè)置好的計(jì)費(fèi)規(guī)則及使用時(shí)間自動(dòng)結(jié)算,更新本次騎行的費(fèi)用并顯示給用戶,用戶確認(rèn)支付后,記錄行程的支付狀態(tài)。系統(tǒng)還將重置單車的開鎖密碼和單車狀態(tài)。”并對(duì)比P3加工處可知缺少一條由D3流向加工P3的數(shù)據(jù)流“計(jì)費(fèi)規(guī)則”和D3流向P

22、4的數(shù)據(jù)流“使用時(shí)間”以便P3計(jì)算行程費(fèi)用,同時(shí)缺少一條由P3流向?qū)嶓wE1的數(shù)據(jù)流“行程及費(fèi)用”。根據(jù)描述“查詢。用戶可以查看行程列表和行程詳細(xì)信息?!辈?duì)比加工P4處可知D5為“單車故障信息文件”;根據(jù)描述“商家對(duì)單車基礎(chǔ)信息,狀態(tài)等進(jìn)行管理,對(duì)計(jì)費(fèi)規(guī)則進(jìn)行設(shè)置并存儲(chǔ)?!辈?duì)比加工P4周邊處可知E2為“商家”,且缺少一條從P4流向D2的數(shù)據(jù)流“狀態(tài)信息”;根據(jù)“單車監(jiān)控。對(duì)單車,故障,行程等進(jìn)行查詢統(tǒng)計(jì)?!敝等鄙僖粭l由D3流向加工P7的數(shù)據(jù)流“行程信息”。最后根據(jù)圖1-1以及圖1-2的對(duì)比,即子圖和父圖數(shù)據(jù)守恒原則,知圖1-2中還缺少一條由加工P3流向E1的數(shù)據(jù)流“開鎖密碼”。根據(jù)“2)使用

23、單車”下方的描述,使用單車可以分解為“掃碼/手動(dòng)開鎖,騎行單車,鎖車結(jié)賬”三個(gè)子加工。試題二:【問題一】其中粗線部分是答案?!締栴}二】(a)部門號(hào),職位(b)用戶號(hào),銀行賬號(hào)(c)預(yù)算費(fèi)用,業(yè)務(wù)員(d)要求完成時(shí)間,主管【問題三】“用戶申請(qǐng)”關(guān)系模式主鍵:申請(qǐng)?zhí)?,外鍵:申請(qǐng)?zhí)?,業(yè)務(wù)員,用戶號(hào);“策劃任務(wù)”關(guān)系模式主鍵:申請(qǐng)?zhí)?,外鍵:主管,申請(qǐng)?zhí)枴締栴}四】“執(zhí)行”關(guān)系模式的主鍵為全碼是錯(cuò)誤的,因?yàn)椤吧暾?qǐng)?zhí)枴迸c“策劃員”的組合(申請(qǐng)?zhí)?,策劃員)即使唯一確定執(zhí)行關(guān)系中的一個(gè)元組數(shù)據(jù)?!驹囶}解析】此類題先閱讀問題,畫出關(guān)鍵字,再一邊仔細(xì)閱讀文字描述,一邊看圖,一邊看關(guān)系模式一邊作答。根據(jù)文字描述“每個(gè)

24、部門只有一名主管,只負(fù)責(zé)本部門的工作,且主管參照員工關(guān)系的員工號(hào)”可知圖2-1(后統(tǒng)稱E-R圖)中實(shí)體“部門”與“主管”之間應(yīng)補(bǔ)充1:1的聯(lián)系;根據(jù)“一個(gè)部門有多名員工,每名員工屬于且僅屬于一個(gè)部門”可知E-R中實(shí)體“部門”和“員工”之間缺少1:*的聯(lián)系,且關(guān)系模式“員工”中空(a)處填寫“部門號(hào)”字段作為外鍵以實(shí)現(xiàn)兩表的參照完整性。根據(jù)描述“員工信息包括員工號(hào),姓名,職位,聯(lián)系方式和薪資?!笨芍╝)處還缺“職位”字段。根據(jù)“一名業(yè)務(wù)員可以受理多名用戶申請(qǐng),但一個(gè)用戶申請(qǐng)只能由一個(gè)業(yè)務(wù)員受理?!笨芍狤-R圖中“業(yè)務(wù)員”與“用戶申請(qǐng)”之間缺少1:*的聯(lián)系,且應(yīng)將“T端(業(yè)務(wù)端)的主鍵(業(yè)務(wù)員)

25、加入到“*”端(用戶申請(qǐng)端)中,為了方便理解,加入的字段為“業(yè)務(wù)員”作為外鍵使用,故空(c)處應(yīng)包括“業(yè)務(wù)員”。根據(jù)“用戶信息包括用戶號(hào),用戶名,銀行賬號(hào),電話,聯(lián)系地址。用戶號(hào)唯一標(biāo)識(shí)用戶信息中的每一個(gè)元組。”可知(b)處應(yīng)填“用戶號(hào)”和“銀行賬號(hào)”,且“用戶號(hào)”是主鍵。根據(jù)“用戶申請(qǐng)信息包括申請(qǐng)?zhí)?,用戶?hào),會(huì)議日期,天數(shù),參會(huì)人數(shù),地點(diǎn),預(yù)算費(fèi)用和受理標(biāo)志。申請(qǐng)?zhí)栁ㄒ粯?biāo)識(shí)用戶申請(qǐng)信息中的每一個(gè)元組,且一個(gè)用戶可以提供多個(gè)申請(qǐng),但一個(gè)用戶申請(qǐng)只對(duì)應(yīng)一個(gè)用戶號(hào)?!笨芍狤-R圖中“用戶”與“用戶申請(qǐng)”之間缺1:*的聯(lián)系,且空(c)處為“預(yù)算費(fèi)用”,該表主鍵為“申請(qǐng)?zhí)枴?。根?jù)“申請(qǐng)?zhí)枴?。根?jù)“策劃

26、任務(wù)包括申請(qǐng)?zhí)枺蝿?wù)明顯和要求完成時(shí)間。申請(qǐng)?zhí)栁ㄒ粯?biāo)識(shí)策劃任務(wù)的每一個(gè)元組?!笨芍吧暾?qǐng)?zhí)枴睘椤安邉澣蝿?wù)”的主鍵。根據(jù)“一個(gè)策劃任務(wù)只對(duì)應(yīng)一個(gè)已受理的用戶申請(qǐng),但一個(gè)策劃任務(wù)可由多名策劃員參與執(zhí)行,且一名策劃員可以參與執(zhí)行多項(xiàng)策劃任務(wù)?!笨芍狤-Rffl中的“策劃員”與“策劃任務(wù)”之間缺少*:*的聯(lián)系,此聯(lián)系其實(shí)就對(duì)應(yīng)關(guān)系模式“執(zhí)行”。在作答時(shí),要注意概念模型(E-R圖)與邏輯模型(關(guān)系模式)的對(duì)應(yīng)關(guān)系,在E-Rffl中的部門,員工,策劃任務(wù),用戶,用戶申請(qǐng),策劃員與策劃任務(wù)之間的聯(lián)系都有對(duì)應(yīng)的關(guān)系模式(E-Rffl中的子實(shí)體就對(duì)應(yīng)父實(shí)體的關(guān)系模式),而聯(lián)系“制定”未轉(zhuǎn)換為關(guān)系模式,那么主管與

27、策劃任務(wù)之間的參照關(guān)系需要將主管(“T端)的主鍵“員工號(hào)”加入到策劃任務(wù)(*端)中作為外鍵,為了方便識(shí)別,更名為“主管編號(hào)”或“主管”。由于主管已經(jīng)與策劃任務(wù)之間建立了參照關(guān)系,而策劃任務(wù)與用戶申請(qǐng)又是1對(duì)1的聯(lián)系,故主管與用戶申請(qǐng)之間的參照關(guān)系可通過主管與策劃任務(wù)之間的參照關(guān)系間接體現(xiàn),故用戶申請(qǐng)中無須加入主管的主鍵字段?!皥?zhí)行”關(guān)系模式的主鍵為全碼是錯(cuò)誤的,因?yàn)椤吧暾?qǐng)?zhí)枴迸c“策劃員”的組合即能唯一確定關(guān)系中的一個(gè)元組數(shù)據(jù)。試題二【問題一】C1用戶;C2系統(tǒng)用戶或Use;C3學(xué)生或StudentC4教師或FactualC5其他工作人員或Staf;C6出版物或Publication;C7會(huì)議文

28、章或ConfPape;C8期刊文章或JournalArticleC9校內(nèi)技術(shù)報(bào)告或TechReport(注意:C3C4,C5可交換)【問題二】C6的屬性:題目,作者,出版年份,下載次數(shù);C7會(huì)議名稱,召開時(shí)間,召開地點(diǎn);C8的屬性:期刊名稱,出版月份,期號(hào),主辦單位;C9的屬性:ID【問題三】使用了觀察者設(shè)計(jì)模式(又稱“發(fā)布-訂閱”模式),定義了一種一對(duì)多的依賴關(guān)系,在題中,某出版物是觀察者,當(dāng)被觀察者(引用某出版物的其他出版物)出現(xiàn)時(shí),則出版物會(huì)收到其被引用的通知,從而系統(tǒng)發(fā)送郵件給相應(yīng)的作者?!驹囶}解析】根據(jù)描述“系統(tǒng)的用戶(Use)僅限于該大學(xué)的學(xué)生(Studenl,教師(Faculty

29、和其他工作人員(Staf)?!笨芍脩簦║se)應(yīng)為父類型,而學(xué)生,教師,其他工作人員都是子類型,它們之間是一種“is-a”的泛化關(guān)系,這四個(gè)類可對(duì)應(yīng)到類圖中C2為父類,C3,C4以及C5為子類處,C2為“系統(tǒng)用戶”,C3C4,C5依次“學(xué)生”,“教師”,“其他工作人員”。根據(jù)描述“查詢某個(gè)作者(Author)的所有出版物。系統(tǒng)中保存了會(huì)議文章(ConfPape),期刊文章(JournalArticI和校內(nèi)技術(shù)報(bào)告(TechReport等學(xué)術(shù)出版物的信息”可知“會(huì)議文章”,“校內(nèi)技術(shù)報(bào)告”都是“出版物”的子類型,對(duì)應(yīng)到類圖中,C6應(yīng)為“出版物”,C7與會(huì)議集(Proceedings有聚合關(guān)系,

30、故C7為“會(huì)議文章”,同理C8應(yīng)為“期刊文章”,C9為“校內(nèi)技術(shù)報(bào)告”??v觀整個(gè)類圖,C偽C2(系統(tǒng)用戶(User)和Author的父類型,故C1填寫“用戶”,其中包括了學(xué)生,教師,其它工作人員,作者的共同屬性如登錄信息等。根據(jù)描述“查詢某位作者(Author)的所有出版物等學(xué)術(shù)出版物的信息,如題目,作者以及出版年份等?!奔啊跋螺d出版物。系統(tǒng)記錄每個(gè)出版物被下載的次數(shù)?!笨芍狢6中應(yīng)包含屬性“題目”,“作者”,“出版年份”,“下載次數(shù)”,這些信息都是每個(gè)派生類型所共用的,故抽象到共同的父類型中,派生類繼承使用即可;派生類C7C8以C9除了擁有從父類型繼承下來的屬性外,還擁有自己特定的屬性。根據(jù)題目文字描述C7應(yīng)該定義的特殊屬性為“會(huì)議名稱”,“召開時(shí)間”,“召開地點(diǎn)”,C8應(yīng)該自己定義的特殊屬性為“期刊名稱”,“出版月份”,“期號(hào)”,“主辦單位”,C9勺是“ID”。使用了觀察者設(shè)計(jì)模式,定義了一種一對(duì)多的依賴關(guān)系,讓多個(gè)觀察者對(duì)象同時(shí)監(jiān)聽某個(gè)主題對(duì)象。這個(gè)主題對(duì)象在狀態(tài)發(fā)生變化時(shí),會(huì)通知所有觀察者對(duì)象,是它們能夠自動(dòng)更新自己。在本題中,某出版物是觀察者,當(dāng)被觀察者(引用某出版物的其他出版物)出現(xiàn)時(shí),則出版物會(huì)收到其被引用的通知,從而系統(tǒng)發(fā)送郵件給相應(yīng)的作者。試題四(1)visited0=1(2)visitedxk=0(3)cxk0=1(4)visitedxk=1(5)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論