下半年軟考軟件設計師試題下午題_第1頁
下半年軟考軟件設計師試題下午題_第2頁
下半年軟考軟件設計師試題下午題_第3頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、全國計算機技術與軟件專業(yè)技術資格水平考試2007年下半年軟件設計師下午試卷考試時間14:00? 16:30共150分鐘請按下述要求正確填寫答題紙1. 在答題紙的指定位置填寫你所在的省、自治區(qū)、直轄市、方案單列市的名稱。2. 在答題紙的指定位置填寫準考證號、出生年月日和姓名。3. 答題紙上除填寫上述內容外只能寫解答。4. 本試卷共7道題,試題一至試題四是必答題,試題五至試題七選答1道。每題15分,總分值75分。5. 解答時字跡務必清楚,字跡不清時,將不評分。6仿照下面例題,將解答寫在答題紙的對應欄內。例題2007年下半年全國計算機技術與軟件專業(yè)技術資格水平考試日期是1月2日。因為正確的解答是“

2、11月3日,故在答題紙的對應欄內寫上“ 1T和“3參看下表。例題解答欄(1)11(2)3某高校欲開發(fā)一個成績管理系統(tǒng),記錄并管理所有選修課程的學生的平時成績和考試成績,其主要功能描述如下:1. 每門課程都有3到6個單元構成,每個單元結束后會進行一次測試,其成績作為這門課程的平時成績。課程結束后進行期末考試,其成績作為這門課程的考試成績。2. 學生的平時成績和考試成績均由每門課程的主講教師上傳給成績管理系統(tǒng)。3. 在記錄學生成績之前,系統(tǒng)需要驗證這些成績是否有效。首先,根據(jù)學生信息文件來確認該學生是否選修這門課程,假設沒有,那么這些成績是無效的;如果他確實選修了這門課程,再根據(jù)課程信息文件和課程

3、單元信息文件來驗證平時成績是否與這門課程所包含的單元相對應,如果是,那么這些成績是有效的,否那么無效。4. 對于有效成績,系統(tǒng)將其保存在課程成績文件中。對于無效成績,系統(tǒng)會單獨將其保存在無效成績文件中,并將詳細情況提交給教務處。在教務處沒有給出具體處理意見之前,系統(tǒng)不會處理這些成績。5. 假設一門課程的所有有效的平時成績和考試成績都已經(jīng)被系統(tǒng)記錄,系統(tǒng)會發(fā)送課程完成通知給教務處,告知該門課程的成績已經(jīng)齊全。教務處根據(jù)需要,請求系統(tǒng)生成相應的成績列表,用來提交考試委員會審查。6. 在生成成績列表之前,系統(tǒng)會生成一份成績報告給主講教師,以便核對是否存在錯誤。主講教師須將核對之后的成績報告返還系統(tǒng)。

4、7. 根據(jù)主講教師核對后的成績報告,系統(tǒng)生成相應的成績列表,遞交考試委員會進行審查??荚囄瘑T會在審查之后,上交一份成績審查結果給系統(tǒng)。對于所有通過審查的成績,系統(tǒng)將會生成最終的成績單,并通知每個選課學生。現(xiàn)采用結構化方法對這個系統(tǒng)進行分析與設計,得到如圖1-1所示的頂層數(shù)據(jù)流圖和圖1-2所示的0層數(shù)據(jù)流圖。圖1-1頂層數(shù)據(jù)流圖D1D3D5D2學生成績E2'V核對后的1成績報告丿丄驗證學生信息無效成績有效成績【問題4生成成績列表成績審查結果成績列表3J己錄無效成績/2J己錄有效成績Zr/kljj5無效成】田壬口宀 課程兀1-k X,Jz績通知*成通知成績單E4生成 成績 列表圖1-2E1

5、D40層數(shù)據(jù)流圖E31 】4 分2 】3 分3】6分使用說明中的詞語,給出圖使用說明中的詞語,給出圖【問題【問題數(shù)據(jù)流圖1-2缺少了三條數(shù)據(jù)流,根據(jù)說明及數(shù)據(jù)流圖1-1中的外部實體 E1E4的名稱。1-2中的數(shù)據(jù)存儲D1D5的名稱。1-1提供的信息,分別指出這三條數(shù)據(jù)流的起點和終點起點終占八、【問題4】2分數(shù)據(jù)流圖是在系統(tǒng)分析與總體設計階段宏觀地描述系統(tǒng)功能需求的重要圖形化工具,程序流程圖也是軟件開發(fā)過程中比擬常用的圖形化工具。簡要說明程序流程圖的適用場合與作用。某汽車維修站擬開發(fā)一套小型汽車維修管理系統(tǒng),對車輛的維修情況進行管理。1 ?對于新客戶及車輛,汽車維修管理系統(tǒng)首先登記客戶信息,包括

6、:客戶編號、客戶名稱、客戶性質個人、單位、折扣率、聯(lián)系人、聯(lián)系 等信息;還要記錄客戶的車輛信息,包括:車牌號、車型、顏色等信息。一個客戶至少有一臺車。客戶及車輛信息如表2-1所示。表2-1客戶及車輛信息客戶編號GS0051客戶名稱XX公司客戶性質單位折扣率95%聯(lián)系人楊浩東聯(lián)系 82638779車牌號顏色車型車輛類別*0765白色帕薩特微型車2 ?記錄維修車輛的故障信息。包括:維修類型普通、加急、作業(yè)分類大、中、小修、結算方式自付、三包、索賠等信息。維修廠的員工分為:維修員和業(yè)務員。車輛維修首先委托給業(yè)務員。業(yè)務員對車輛進行檢查和故障分析后,與客戶磋商,確定故障現(xiàn)象,生成維修委托書。如表2-2

7、所示。表2-2維修委托書No.20070702003登記日期:2007-07-02車牌號*0765客戶編號GS0051維修類型普通作業(yè)分類中修結算方式自付進廠時間20070702 11:09業(yè)務員張小江業(yè)務員編號012預計完工時間故障描述車頭損壞,水箱漏水3.維修車間根據(jù)維修委托書和車輛的故障現(xiàn)象,在已有的維修工程中選擇并確定一個或多個具體維修工程,安排相關的維修工及工時,生成維修派工單。維修派工單如表2-3所示。表2-3維修派工單No.20070702003維修工程編號維修工程工時維修員編號維修員工種012維修車頭5.00012機修012維修車頭2.00023漆工015水箱焊接補漏1.000

8、06焊工017更換車燈1.00012機修容廣業(yè)務員k-© 員丄 0_維修圖2畀實體聯(lián)系圖【邏輯結構設計】客戶,折扣率,聯(lián)系人,聯(lián)系 車輛車牌號,客戶編號,車型,顏色,車輛類別委托書,維修類型,作業(yè)分類,結算方式,進廠時間,預計完工時間,登記日期,故障描述,總費用維修工程維修工程編號,維修工程,單價派工單_ 7_ ,工時員工 ,工種,員工類型,級別 【問題1】4分根據(jù)問題描述,填寫圖2-1中1? 4處聯(lián)系的類型。聯(lián)系類型分為一對一、一對多和多對多三種,分別使用1:1, 1: n或1: * , m : n或* : *表示?!締栴}2】4分補充圖2-1中的聯(lián)系并指明其聯(lián)系類型。聯(lián)系名可為:聯(lián)

9、系1,聯(lián)系2,?!締栴}3】4分根據(jù)圖2-1和說明,將邏輯結構設計階段生成的關系模式中的空5 ? 8補充完整。【問題4】3分根據(jù)問題描述,寫出客戶、委托書和派工單這三個關系的主鍵。某唱片播放器不僅可以播放唱片,而且可以連接電腦并把電腦中的歌曲刻錄到唱片上同步歌曲。連接電腦的過程中還可自動完成充電。關于唱片,還有以下描述信息:1 ?每首歌曲的描述信息包括:歌曲的名字、譜寫這首歌曲的藝術家以及演奏這首歌曲的藝術家。只有兩首歌曲的這三局部信息完全相同時,才認為它們是同一首歌曲。藝術家可能是一名歌手或一支由2名或2名以上的歌手所組成的樂隊。一名歌手可以不屬于任何樂隊,也可以屬于一個或多個樂隊。2 ?每張

10、唱片由多條音軌構成;一條音軌中只包含一首歌曲或為空,一首歌曲可分布在多條音軌上;同一首歌曲在一張唱片中最多只能出現(xiàn)一次。3每條音軌都有一個開始位置和持續(xù)時間。一張唱片上音軌的次序是非常重要的,因此對于任意一條音軌,播放器需要準確地知道,它的下一條音軌和上一條音軌是什么 如果存在的話。根據(jù)上述描述,采用面向對象方法對其進行分析與設計,得到了如表3-1所示的類列表、如圖3-1所示的初始類圖以及如圖3-2所示的描述播放器行為的 UML狀態(tài)圖。表3-1類列表類名說明Artist藝術家Song歌曲Band樂隊Musicia n歌手Track音軌Album唱片編寫0.*A1演奏0.*B圖 3-1 初始類圖

11、充電;1廠同步歌曲選擇歆曲7/苗停二1Jt1I完成拷貝電童館和; *背停趙時I'予安需爭逹電量為Q、按枉意健電量不為0歌曲待遶連撐電腦aHit敢曲被選f充電元成同步完成圖3-2播放器行為UML狀態(tài)圖【問題1】3分根據(jù)說明中的描述,使用表 3-1給出的類的名稱,給出圖 3-1中的AF所對應的類。 【問題 2】6分根據(jù)說明中的描述,給出圖 3-1中16處的多重度?!締栴}3】4分圖3-1中缺少了一條關聯(lián),請指出這條關聯(lián)兩端所對應的類以及每一端的多重度。類多重度【問題4】2分根據(jù)圖3-2所示的播放器行為 UML狀態(tài)圖,給出從“關閉狀態(tài)到“播放狀態(tài)所經(jīng)過的最短事件序列假設電池一開始就是有電的試題

12、四 (共 15 分) 閱讀以下說明和圖,答復以下問題 1 至問題 3,將解答填入答題紙的對應欄內。 【說明】某機器上需要處理n個作業(yè)job 1, job 2,job n,其中:(1) 每個作業(yè)jobi(1 < i w n)的編號為i , job i有一個收益值pi和最后期限值di;(2) 機器在一個時刻只能處理一個作業(yè) ,而且每個作業(yè)需要一個單位時間進行處理 , 一旦作業(yè)開 始就不可中斷,每個作業(yè)的最后期限值為單位時間的正整數(shù)倍;(3) jobi? jobn的收益值呈非遞增順序排列,即p1 > p2?pn;(4) 如果作業(yè)jobi在其期限之內完成,那么獲得收益pi;如果在其期限之后

13、完成,那么沒有收益。為獲得較高的收益,采用貪心策略求解在期限之內完成的作業(yè)序列。圖4-1 是基于貪心策略求解該問題的流程圖。(1) 整型數(shù)組 叩有n個存儲單元,變量k表示在期限之內完成的作業(yè)數(shù),J1.k存儲所有能夠在期限內完成的作業(yè)編號,數(shù)組J1.k里的作業(yè)按其最后期限非遞減排序,即 dJ1 w w dJk。(2) 為了方便于在數(shù)組 J中參加作業(yè),增加一個虛擬作業(yè)job 0,并令d0 = 0 ,J0 = 0 。(3) 算法大致思想:先將作業(yè)job i的編號1放入J1,然后,依次對每個作業(yè)jobi(2 w i w n)進行判定,看其能否插入到數(shù)組J中,假設能,那么將其編號插入到數(shù)組J的適當位置,

14、 并保證 J 中作業(yè)按其最后期限非遞減排列 ,否那么不插入。job i能插入數(shù)組J的充要條件是:job i和數(shù)組J中已有作業(yè)均能在其期限之內完成。(4) 流程圖中的主要變量說明如下:i :循環(huán)控制變量,表示作業(yè)的編號;k :表示在期限內完成的作業(yè)數(shù);r :假設job i能插入數(shù)組J,那么其在數(shù)組J中的位置為 葉1 ;q:循環(huán)控制變量,用于移動數(shù)組J中的元素。幵始處理a Htr輸入作業(yè)數(shù)n和期限數(shù)組ddJr <= di N、&&di > r?d0 = J0 = 0;J1 = 1; k = 1Yi+處理aYq >= r+1?Jq+1 = Jq;Y 才 121輸出可

15、完成的 作業(yè)序列結束圖4-1貪心策略流程圖【問題1 9分請?zhí)畛鋱D4-1中的空缺1、2和 處?!締栴}2 4分假設有6個作業(yè)job 1, job 2,job 6;完成作業(yè)的收益數(shù)組p=p1,p2,p3,p4,p5,p6= 90,80,50,30,20,10每個作業(yè)的處理期限數(shù)組d=d1,d2,d3,d4,d5,d6 = 1,2,1,3,4,3請應用試題中描述的貪心策略算法,給出在期限之內處理的作業(yè)編號序列按作業(yè)處理的順序給出,得到的總收益為?!締栴}3 2分對于此題的作業(yè)處理問題,用圖4-1的貪心算法策略,能否求得最高收益?(7)用貪心算法求解任意給定問題時,是否一定能得到最優(yōu)解?從以下3道試題試題

16、五至試題七中任選1道解答。如果解答的試題數(shù)超過 1道,那么題號小的1道解答有效。試題五共15分閱讀以下說明和 C代碼,將應填入n處的字句寫在答題紙的對應欄內【說明】在一個簡化的繪圖程序中,支持的圖形種類有點point和圓circle,在設計過程中采用面向對象思想,認為所有的點和圓都是一種圖形shape,并定義了類型shape_t point_t和circle分別表示根本圖形、點和圓,并且點和圓具有根本圖形的所有特征。C代碼typedef enum poin t,circle shape_type;/*程序中的兩種圖形:點和圓*/typedef struct shape_type type; /

17、* 根本的圖形類型 */ 圖形 void (*destroy)(); void (*draW*();種類標識:點或者圓銷 shape;/*毀圖形操作的函數(shù)指針typedef struct shape_t com monf* 繪制A圖形操作的函i數(shù)指針*/*/*/*定義點類型,x、y為點坐標*/void destroyPo in t(po int_t* this) free(this); prin tf("Po int destoryed!n"); /*銷毀點對象*/void drawPoint(point_t* this) printf("P(%d,%d)&quo

18、t;, this->x, this->y); /*繪制點對象*/shape_t* createPoi nt(va_list* ap) /* 創(chuàng)立點對象,并設置其屬性*/poin t_t* p_po int;if( (p_poi nt = (poi nt_t*)malloc(sizeof(poi nt_t) = NULL ) return NULL;p_po in t->com mon. type = point;p_po in t->com mon. destroy = destroyPo int;p_po in t->com mon. draw = drawPo

19、 int; p_po in t->x = va_arg(*ap, i nt);p_po in t->y = va_arg(*ap, i nt);return (shape_t*)p_po int;/*設置點的橫坐標*/*設置點的縱坐標*/*返回點對象指針*/typedef struct /* 定義圓類型 */ shape_t com mon;point_t*center;/* 圓心點 */int radius; /* 圓半徑 */ circle_t;void destroyCircle(circle_t* this)free( (_1_);free(this);prin tf(&q

20、uot;Circle destoryed!n");void drawCircle(circle_t* this) prin tf("C(");(2).draw( this->ce nter );prin tf(",%d)", this->radius);shape_t* createCircle(vaist* ap) circle* p_circle;/*繪制圓心*/*創(chuàng)立一個圓,并設置其屬性*/if( (p_circle = (circle_t*)malloc(sizeof(circle_t) = NULL ) return NU

21、LL; p_circle->com mon .type = circle;p_circle->com mon. destroy = destroyCircle;p_circle->com mon .draw = drawCircle;(3)= createPoint(ap);/* 設置圓心 */p_circle->radius = va_arg(*ap, i nt); /* 設置圓半徑 */ return p_circle;shape_t* createShape(shape_type st,.) /*創(chuàng)立某一種具體的圖形*/va_listap;/*可變參數(shù)列表*/sh

22、apejt* p_shape =:NULL;(4)(ap, st);if( st =poi nt )p_shape=createPo int( &ap);/*創(chuàng)立點對象*/if( st =circle )p_shape=createCircle(&ap);/*創(chuàng)立圓對象*/va_e n d(=p);retur n p_shape;int main( ) int i;/*循環(huán)控制變量,用于循環(huán)計數(shù)*/*/shape_t* shapes2; /*圖形指針數(shù)組,存儲圖形的地址/*橫坐標為2,縱坐標為3 */shapes0 = createShape( point, 2, 3);sha

23、pes1 = createShape( circle, 20, 40, 10);for(i=0; i<2; i+) shapesi->draw(shapesi);for( i = 1; i >= 0; i- ) shapesi->destroy(shapesi); return 0;/*圓心坐標(20,40),半徑為10 */ prin tf("n"); /*繪制數(shù)組中圖形/*銷毀數(shù)組中圖形*/*/運行結果P(2,3)Circle destoryed!Point destoryed!某企業(yè)的采購審批是分級進行的,即根據(jù)采購金額的不同由不同層次的主管人

24、員來審批,主任可以審批5萬元以下不包括 5萬元的采購單,副董事長可以審批 5萬元 至10萬元不包括10萬元的采購單,董事長可以審批10萬元至50萬元不包括 50萬元的采購單,50萬元及以上的采購單就需要開會討論決定。采用責任鏈設計模式Chai n of Resp on sibility對上述過程進行設計后得到的類圖如圖6-1所示。PurchaseRequestApprover+Am ount: Float +Number: In teger +Purpose: String-successor: Approver采購單C+代碼+SetSuccessor(aSuccesssor: Approve

25、r)+ProcessRequest(aRequest:PurchaseRequest)批準者廠UlZlDirectorVicePreside ntPreside ntCongress主任飛J副董事長董事長圖6-1設計類圖#in clude <stri ng>#in clude <iostream>using n amespace std; class PurchaseRequest public:double Amoun t; intNumber;stri ng Purpose;class Approver / 一個采購的金額/采購單編號/采購目的/審批者類public

26、:Approver()successor = NULL; virtual void ProcessRequest(PurchaseRequest aRequest)if (successor != NULL) successor- ( 1);void SetSuccessor(Approver *aSuccesssor) successor = aSuccesssor; private:(2) successor;;class Con gress : public Approver public:決定*/ void ProcessRequest(PurchaseRequest aRequest

27、) if(aRequest.Am ount >= 500000) /*else(3)ProcessRequest(aRequest);class Director : public Approver public:void ProcessRequest(PurchaseRequest aRequest) /*此處代碼省略*/ ;class Preside nt : public Approver public:void ProcessRequest(PurchaseRequest aRequest) /*此處代碼省略*/;class VicePreside nt : public App

28、rover public:void ProcessRequest(PurchaseRequest aRequest) /*此處代碼省略*/是否審批的代碼省略;void mai n()Con gress Meet ing; VicePreside nt Sam; Director Larry ; Preside nt Tammy;/構造責任鏈Meet in g.SetSuccessor(NULL);Sam.SetSuccessor( (4);Tammy.SetSuccessor( £5);Larry.SetSuccessor( X6);構造一采購審批請求PurchaseRequest

29、aRequest; /cin >> aRequest.Am ount;/輸入采購請求的金額(7) .ProcessRequest(aRequest); / 開始審批return ;某企業(yè)的采購審批是分級進行的,即根據(jù)采購金額的不同由不同層次的主管人員來審批,主任可以審批 5萬元以下不包括 5萬元的采購單,副董事長可以審批5萬元 至10萬元不包括10萬元的采購單,董事長可以審批10萬元至50萬元不包括 50萬元的采購單,50萬元及以上的采購單就需要開會討論決定。采用責任鏈設計模式Cha in of Resp on sibility 對上述過程進行設計后得到的類圖如圖7-1所示。Pur

30、chaseRequestApprover+Am ount: Float +Number: In teger +Purpose: String-successor: Approver +SetSuccessor(aSuccesssor: Approver)+ProcessRequest(aRequest:PurchaseRequest)批準者采購單廠 LJZLDirectorVicePreside ntPreside ntZLCon gress主任飛J副董事長董事長圖7-1設計類圖Java 代碼class PurchaseRequest publicdouble Amou nt;/ 一個采購的金額publicint Number;/ 采購單編號public Stri ng Purpose; /采購目的;class Approver /審批者類public Approver() successor = n ull; public void ProcessRequest(PurchaseRequest aRequest) if (successor != nu ll) successor.(1)public void SetSuccessor(Approver aSuccesssor) successor = aSuccesssor; privatesuccessor

溫馨提示

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

評論

0/150

提交評論