查看全部128種考試
軟件水平考試
 考試動(dòng)態(tài) 報(bào)考指南 歷年真題 模擬試題 復(fù)習(xí)資料 心得技巧 專(zhuān)業(yè)英語(yǔ) 技術(shù)文章 軟考論壇 考試用書(shū)
 程序員 軟件設(shè)計(jì)師 網(wǎng)絡(luò)管理員 網(wǎng)絡(luò)工程師 系統(tǒng)分析師 數(shù)據(jù)庫(kù)系統(tǒng)工程師
1
2
3
4
5
6
7
8
9
10
ak47  
【字體: 軟件設(shè)計(jì)師歷年設(shè)計(jì)題分析及實(shí)例
軟件設(shè)計(jì)師歷年設(shè)計(jì)題分析及實(shí)例
spks.exam8.com 來(lái)源:軟考在線 更新:2005-3-15 1:31:00 軟件水平考試 考試論壇
    根據(jù)軟件水平與資格考試大綱的要求,高級(jí)程序員不僅要具備高水平的程序編制能力,而且要熟練掌握軟件設(shè)計(jì)的方法和技術(shù),具備一定的軟件設(shè)計(jì)能力。軟件設(shè)計(jì)題是下午試題的難點(diǎn),本文針對(duì)軟件設(shè)計(jì)題,給出了解答的一般方法,并且給出了解答實(shí)例,最后對(duì)歷年試題進(jìn)行了分析,希望能夠給廣大考生提供幫助。


    解題的一般方法

  一、軟件設(shè)計(jì)題要點(diǎn)

  綜觀1990年到2004年的高程下午設(shè)計(jì)題,主要包括以下考點(diǎn):

  1. 完善處理流程,或指出處理內(nèi)容,或指出處理結(jié)果。

  2. 指出流程圖中錯(cuò)誤,或?yàn)楸苊忮e(cuò)誤應(yīng)在某處添加處理項(xiàng)目。

  3. 為達(dá)到某目的,需要改動(dòng)哪些處理,或改變處理方法會(huì)引起什么后果。

  4. 指出錯(cuò)誤清單內(nèi)容。

  5. 文件的記錄應(yīng)包含哪些內(nèi)容。

  6. 完成處理需要什么樣的文件,或文件有什么特征,或引入某文件有什么好處。

  7. 文件怎樣分類(lèi),或指出關(guān)鍵字。

  8. 某處理的頻度。

  9. 輸入數(shù)據(jù)的格式。

  10. 題意中的分類(lèi)有何好處。

  11. 為實(shí)現(xiàn)某目的適當(dāng)修改文件的記錄內(nèi)容。

  12. 指出圖中數(shù)據(jù)流名,或指出哪些位置數(shù)據(jù)可增加或刪去。

考點(diǎn)最集中的部分是關(guān)于文件記錄的內(nèi)容,其次是文件的分類(lèi)排序,再次是當(dāng)目的改變應(yīng)該改動(dòng)哪些。

  二、答題注意事項(xiàng)

  事務(wù)處理流程圖一般由若干處理與若干數(shù)據(jù)組成,在評(píng)估流程圖并回答試題的問(wèn)題時(shí),應(yīng)該注意下面一些問(wèn)題。

  從“處理”的角度來(lái)說(shuō),必須注意:

  1. 每個(gè)事務(wù)處理均有一個(gè)特定目標(biāo),這一目標(biāo)往往都是文字說(shuō)明的。與此對(duì)應(yīng)的處理應(yīng)能覆蓋所設(shè)定的目標(biāo)。對(duì)于說(shuō)明處理要求,都應(yīng)從問(wèn)題目標(biāo)進(jìn)行考慮。

  2. 除覆蓋問(wèn)題目標(biāo)的處理外,還有兩類(lèi)處理應(yīng)予考慮:一是為了保證處理的正確性,設(shè)計(jì)一些處理框,以檢查輸入數(shù)據(jù)的數(shù)據(jù)項(xiàng)及數(shù)據(jù)的值域;另一種是檢查數(shù)據(jù)會(huì)合時(shí)數(shù)據(jù)的一致性。二是為了處理的效率,如速度、次數(shù)、減少處理訪問(wèn)等而引進(jìn)了一些處理。

  3. 在一個(gè)流程圖內(nèi),在一條流程上的各個(gè)處理不能有功能上的重復(fù)。如有重復(fù),不是有錯(cuò),就是流程還可優(yōu)化。

  4. 每個(gè)處理都是由“處理的依據(jù)”到“使用數(shù)據(jù)”,以及從“處理結(jié)果”到“產(chǎn)生數(shù)據(jù)”!笆褂脭(shù)據(jù)”或者“產(chǎn)生數(shù)據(jù)”與處理相互匹配是十分重要的。

從“數(shù)據(jù)”的角度來(lái)說(shuō),必須注意:

  1. 注意流程圖最初的輸入數(shù)據(jù)與最終輸出數(shù)據(jù),考慮從輸入到輸出之間數(shù)據(jù)演變的情況。根據(jù)數(shù)據(jù)的演變與流程,關(guān)于從輸入到輸出應(yīng)有哪些數(shù)據(jù)就比較清楚了,其作用也可以從演變方面了解。

  2. 考慮數(shù)據(jù)流程中,哪些數(shù)據(jù)應(yīng)作為文件形式出現(xiàn),哪些是中間使用的臨時(shí)數(shù)據(jù)。在數(shù)據(jù)演變中,一些數(shù)據(jù)經(jīng)多個(gè)“處理”加工后得到結(jié)果,每加工一次就產(chǎn)生一個(gè)新數(shù)據(jù),對(duì)這些數(shù)據(jù)分析,就能得出各數(shù)據(jù)的存儲(chǔ)要求。

  3. 對(duì)數(shù)據(jù)按問(wèn)題要求設(shè)計(jì)數(shù)據(jù)結(jié)構(gòu)。輸入(輸出)數(shù)據(jù)的結(jié)構(gòu)與問(wèn)題有關(guān),而中間數(shù)據(jù)的結(jié)構(gòu)除與輸入(輸出)數(shù)據(jù)有關(guān)外,還與處理有關(guān)。

  4. 為減少數(shù)據(jù)冗余,要保證數(shù)據(jù)一致性,數(shù)據(jù)文件設(shè)計(jì)中應(yīng)考慮關(guān)系,亦即各種文件的記錄之間的聯(lián)系。
我們對(duì)高級(jí)程序員軟件設(shè)計(jì)題的解題方法做了分析,現(xiàn)在我們來(lái)分析一道例題。

  ★解答實(shí)例

  2000年試題3:閱讀以下說(shuō)明和流程圖,回答問(wèn)題1和問(wèn)題2。

【說(shuō)明】

  某供銷(xiāo)系統(tǒng)接受顧客的訂貨單。當(dāng)庫(kù)存中某配件的數(shù)量小于訂購(gòu)量或庫(kù)存量低于一定數(shù)量時(shí),向供應(yīng)商發(fā)出采購(gòu)單;當(dāng)某配件的庫(kù)存量大于或等于訂購(gòu)量時(shí),或者收到供應(yīng)商的送貨單并更新了庫(kù)存后,向顧客發(fā)出提貨單。該系統(tǒng)還可隨時(shí)向總經(jīng)理提供銷(xiāo)售和庫(kù)存情況表。該供銷(xiāo)系統(tǒng)的分層數(shù)據(jù)流圖中部分?jǐn)?shù)據(jù)流和文件的組成如下:

文件

  配件庫(kù)存=配件號(hào)+配件名+規(guī)格+數(shù)量+允許的最低率庫(kù)存量

數(shù)據(jù)流

  訂貨單=配件號(hào)+配件名+規(guī)格+數(shù)量+顧客名+地址

  提貨單=訂貨單+金額

  采貨單=配件號(hào)+配件名+規(guī)格+數(shù)量+供應(yīng)商名+地址

  送貨單=配件號(hào)+配件名+規(guī)格+數(shù)量+金額

  假定頂層圖是正確的,“供應(yīng)商”文件已由其他系統(tǒng)生成。

[問(wèn)題1]

指出哪張圖中的哪些文件可不必畫(huà)出。
[問(wèn)題2]
指出在哪些圖中遺漏了哪些數(shù)據(jù)流;卮饡r(shí)用如下形式之一。
(1) X X 圖中遺漏了 X X 加工 (或文件) 流向 X X 加工 (或文件) 的 x x 數(shù)據(jù)流;
(2) X X 圖中 X X 加工遺漏了 X X 輸入 (或輸出) 數(shù)據(jù)流。


  在頂層圖中,供銷(xiāo)系統(tǒng)的3個(gè)輸入數(shù)據(jù)流(訂貨單、送貨單與銷(xiāo)售及庫(kù)存情況)和5個(gè)輸出數(shù)據(jù)流(不合法的訂貨單、不合法的送貨單、提貨單、采購(gòu)單與銷(xiāo)售及庫(kù)存情況表)在0層圖中都得到反映?疾0層圖中所有的輸入數(shù)據(jù)流和輸出數(shù)據(jù)流,是否有遺漏的加工呢?在頂層圖中總經(jīng)理的查詢(xún)是單獨(dú)的加工,但在0層圖中卻給包括到加工1中去了,成為加工1.3,其輸入或輸出數(shù)據(jù)流也都包括在該加工中?疾榧庸1子圖,加工1.3包含在加工1中是科學(xué)的,因?yàn)樵摷庸ば枰獊?lái)自加工1數(shù)據(jù)支持,且事務(wù)簡(jiǎn)單,包含在加工1中可以大大減小系統(tǒng)分析和設(shè)計(jì)的復(fù)雜程度。因此不能說(shuō)0層圖遺漏了加工。至于文件,在0層圖中凡是需要文件的地方都是從文件輸入的,未發(fā)生遺漏現(xiàn)象。

  仔細(xì)研究0層圖,大體上確定加工1有3個(gè)輸入數(shù)據(jù)流(訂貨單、到貨通知和查詢(xún)銷(xiāo)售及庫(kù)存情況),加工1子圖中只有訂貨單與查詢(xún)銷(xiāo)售及庫(kù)存情況兩個(gè)數(shù)據(jù)流,顯然遺漏了輸入數(shù)據(jù)到貨通知,該數(shù)據(jù)流應(yīng)該從哪個(gè)子加工輸入呢?看試題中的說(shuō)明“收到供應(yīng)商的送貨單并更新了庫(kù)存后,向顧客發(fā)出了提貨單”。據(jù)此至少可以判定輸入數(shù)據(jù)流到貨通知是子加工1.4更新庫(kù)存的前提條件,沒(méi)有到貨通知,就無(wú)法更新庫(kù)存。是直接輸入加工1.4嗎?再看子加工1.4與其他子加工的關(guān)系。子加工1.5輸出數(shù)據(jù)流的去向是子加工1.4。而子加工1.5需要到貨通知的支持,但從子加工1.4到子加工1.5卻沒(méi)有數(shù)據(jù)流。綜合以上分析,應(yīng)該在子加工1.5處輸入數(shù)據(jù)流到貨通知。

  首先看配件庫(kù)存文件。在加工1子圖(圖3)中,配件庫(kù)存文件經(jīng)過(guò)加工1.4更新庫(kù)存而修改,然后還要為加工1.1和加工1.2提供數(shù)據(jù)支持,在加工1.1中,通過(guò)檢查訂貨單中訂購(gòu)的配件在配件庫(kù)存中是否有記錄,來(lái)確定該配件是否屬于經(jīng)銷(xiāo)范圍,然后以此來(lái)確定訂貨單是否合法。其次,還要在加工1.2中比較合法訂貨單的數(shù)量與庫(kù)存數(shù)量,以此確定是否需要發(fā)出采購(gòu)請(qǐng)求。再次,在發(fā)出提貨單后,如果庫(kù)存量低于允許的最低庫(kù)存量,也要發(fā)出采購(gòu)單?梢钥闯觯谠摷庸D中,未發(fā)現(xiàn)對(duì)配件庫(kù)存文件的不適當(dāng)?shù)氖褂谩?/P>

  在加工2子圖(圖4)中,在加工2.4核對(duì)送貨單后要更新庫(kù)存文件然后加工2.3計(jì)算增量提供數(shù)據(jù)支持,計(jì)算出需要采購(gòu)的配件的數(shù)量。應(yīng)該說(shuō)這里對(duì)配件庫(kù)存文件的使用是正確的。因此我們可以確定配件庫(kù)存文件在加工1和加工2中都有應(yīng)用,畫(huà)在0層圖中是合適的。

  缺貨訂單文件在試題說(shuō)明中沒(méi)有提到,具體的應(yīng)用需要我們自己分析。0層圖中顯示該文件被加工1和加工2使用,F(xiàn)在的任務(wù)就是確定兩個(gè)加工中對(duì)該文件的使用是正確的。在加工1中缺貨訂單的數(shù)據(jù)來(lái)自加工1.2和加工1.4,在加工1.2中,接受合法的訂貨單后,如果訂貨單上數(shù)量大于配件庫(kù)存文件的數(shù)量,將產(chǎn)生缺貨訂單文件。在加工1.4中,在有貨訂單送達(dá)后,需要交出提貨單,然后更新庫(kù)存。如果庫(kù)存量低于允許的最低庫(kù)存量,應(yīng)該將缺貨信息反映到缺貨訂單中。在加工2中,缺貨訂單為加工2.3提供部分?jǐn)?shù)據(jù)支持,在計(jì)算配件增量以明確需要增加的配件的清單時(shí),需要參照缺貨訂單。結(jié)合以上對(duì)使用缺貨訂單文件的分析,可以認(rèn)為,因此將該文件畫(huà)在0層圖中是有必要的。

我們分析了配件庫(kù)存文件和缺貨訂單文件,再來(lái)看采購(gòu)清單。

  0層圖顯示該文件只應(yīng)用于加工2。采購(gòu)清單如果只應(yīng)用在加工1中,最有可能的地方是加工1.2及其后的采購(gòu)請(qǐng)求數(shù)據(jù)流,但在這里采購(gòu)清單是有必要的嗎?從加工2中可以看出,采購(gòu)清單是按供應(yīng)商對(duì)采購(gòu)單進(jìn)行匯總來(lái)產(chǎn)生的,對(duì)采購(gòu)單進(jìn)行匯總,顯然已經(jīng)屬于加工2的工作,不應(yīng)在加工1中予以反映。由此可以斷定在加工1中不應(yīng)該有采購(gòu)單文件。所以在0層圖中畫(huà)采購(gòu)清單是不合適的。

  以上考查了0層圖、加工1子圖和加工2子圖中缺貨訂單、配件庫(kù)存及采購(gòu)清單的使用,下面研究加工1中的銷(xiāo)售歷史文件。如果沒(méi)有該文件支持,加工1.3是無(wú)法制作銷(xiāo)售及庫(kù)存情況表的;而且該文件由加工1.4更新庫(kù)存產(chǎn)生,其輸入數(shù)據(jù)流和輸出數(shù)據(jù)流均在加工1中,在加工1中使用該文件是合適的。

  問(wèn)題2要求指出哪些圖中遺漏了哪些元素。一般來(lái)說(shuō),這類(lèi)題目的解答首先要考慮各層次圖的數(shù)據(jù)平衡,其次要考慮加工的輸入數(shù)據(jù)流和輸出數(shù)據(jù)流要平衡,即保證加工的輸出數(shù)據(jù)流都有其對(duì)應(yīng)的輸入數(shù)據(jù)流。所謂數(shù)據(jù)平衡,就是在多層次數(shù)據(jù)流程圖中,父圖和子圖之間的數(shù)據(jù)流必須保持一致,比如說(shuō)在父圖中某加工有2個(gè)輸入數(shù)據(jù)流和一個(gè)輸出數(shù)據(jù)流,那么在該加工的子圖中的輸入(輸出)數(shù)據(jù)流必須在數(shù)目上和內(nèi)容上與父圖保持一致。

    考查0層圖,加工1有不合格訂貨單、銷(xiāo)售及庫(kù)存情況表、提貨單與采購(gòu)請(qǐng)求4個(gè)輸出數(shù)據(jù)流。但在加工1子圖中,卻沒(méi)有輸出數(shù)據(jù)流提貨單,這顯然是不符合數(shù)據(jù)平衡原則的。但該數(shù)據(jù)流應(yīng)從何處輸出呢?根據(jù)試題說(shuō)明,在更新庫(kù)存后應(yīng)向顧客發(fā)出提貨單。顯然這里合適的位置是子加工1.4。

轉(zhuǎn)帖于:軟件水平考試_考試吧
文章搜索  
看了本文的網(wǎng)友還看了:
軟件水平考試權(quán)威輔導(dǎo)教材: 訂書(shū)電話:010-62168566  更多>>>
網(wǎng)友評(píng)論
昵 稱(chēng): *  評(píng) 分: 1分 2分 3分 4分 5分
標(biāo)題:   匿名發(fā)表    (共有條評(píng)論)查看全部評(píng)論>>
版權(quán)聲明 -------------------------------------------------------------------------------------
  如果軟件水平考試網(wǎng)所轉(zhuǎn)載內(nèi)容不慎侵犯了您的權(quán)益,請(qǐng)與我們聯(lián)系,我們將會(huì)及時(shí)處理。如轉(zhuǎn)載本軟件水平考試網(wǎng)內(nèi)容,請(qǐng)注明出處。
關(guān)于本站  網(wǎng)站聲明  廣告服務(wù)  聯(lián)系方式  付款方式  站內(nèi)導(dǎo)航  客服中心  友情鏈接  考試論壇  網(wǎng)站地圖
Copyright © 2004-2008 考試吧軟件水平考試網(wǎng) All Rights Reserved    
中國(guó)科學(xué)院研究生院權(quán)威支持(北京) 電 話:010-62168566 傳 真:010-62192699
百度大聯(lián)盟黃金認(rèn)證  十佳網(wǎng)絡(luò)教育機(jī)構(gòu)  經(jīng)營(yíng)許可證號(hào):京ICP060677