根據(jù)軟件水平與資格考試大綱的要求,高級(jí)程序員不僅要具備高水平的程序編制能力,而且要熟練掌握軟件設(shè)計(jì)的方法和技術(shù),具備一定的軟件設(shè)計(jì)能力。軟件設(shè)計(jì)題是下午試題的難點(diǎn),本文針對軟件設(shè)計(jì)題,給出了解答的一般方法,并且給出了解答實(shí)例,最后對歷年試題進(jìn)行了分析,希望能夠給廣大考生提供幫助。
解題的一般方法
一、軟件設(shè)計(jì)題要點(diǎn)
綜觀1990年到2002年的高程下午設(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. 文件怎樣分類,或指出關(guān)鍵字。
8. 某處理的頻度。
9. 輸入數(shù)據(jù)的格式。
10. 題意中的分類有何好處。
11. 為實(shí)現(xiàn)某目的適當(dāng)修改文件的記錄內(nèi)容。
12. 指出圖中數(shù)據(jù)流名,或指出哪些位置數(shù)據(jù)可增加或刪去。
考點(diǎn)最集中的部分是關(guān)于文件記錄的內(nèi)容,其次是文件的分類排序,再次是當(dāng)目的改變應(yīng)該改動(dòng)哪些。
二、答題注意事項(xiàng)
事務(wù)處理流程圖一般由若干處理與若干數(shù)據(jù)組成,在評(píng)估流程圖并回答試題的問題時(shí),應(yīng)該注意下面一些問題。
從“處理”的角度來說,必須注意:
1. 每個(gè)事務(wù)處理均有一個(gè)特定目標(biāo),這一目標(biāo)往往都是文字說明的。與此對應(yīng)的處理應(yīng)能覆蓋所設(shè)定的目標(biāo)。對于說明處理要求,都應(yīng)從問題目標(biāo)進(jìn)行考慮。
2. 除覆蓋問題目標(biāo)的處理外,還有兩類處理應(yīng)予考慮:一是為了保證處理的正確性,設(shè)計(jì)一些處理框,以檢查輸入數(shù)據(jù)的數(shù)據(jù)項(xiàng)及數(shù)據(jù)的值域;另一種是檢查數(shù)據(jù)會(huì)合時(shí)數(shù)據(jù)的一致性。二是為了處理的效率,如速度、次數(shù)、減少處理訪問等而引進(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ù)”的角度來說,必須注意:
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ù),對這些數(shù)據(jù)分析,就能得出各數(shù)據(jù)的存儲(chǔ)要求。
3. 對數(shù)據(jù)按問題要求設(shè)計(jì)數(shù)據(jù)結(jié)構(gòu)。輸入(輸出)數(shù)據(jù)的結(jié)構(gòu)與問題有關(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)系。
我們對高級(jí)程序員軟件設(shè)計(jì)題的解題方法做了分析,現(xiàn)在我們來分析一道例題。
解題的一般方法
一、軟件設(shè)計(jì)題要點(diǎn)
綜觀1990年到2002年的高程下午設(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. 文件怎樣分類,或指出關(guān)鍵字。
8. 某處理的頻度。
9. 輸入數(shù)據(jù)的格式。
10. 題意中的分類有何好處。
11. 為實(shí)現(xiàn)某目的適當(dāng)修改文件的記錄內(nèi)容。
12. 指出圖中數(shù)據(jù)流名,或指出哪些位置數(shù)據(jù)可增加或刪去。
考點(diǎn)最集中的部分是關(guān)于文件記錄的內(nèi)容,其次是文件的分類排序,再次是當(dāng)目的改變應(yīng)該改動(dòng)哪些。
二、答題注意事項(xiàng)
事務(wù)處理流程圖一般由若干處理與若干數(shù)據(jù)組成,在評(píng)估流程圖并回答試題的問題時(shí),應(yīng)該注意下面一些問題。
從“處理”的角度來說,必須注意:
1. 每個(gè)事務(wù)處理均有一個(gè)特定目標(biāo),這一目標(biāo)往往都是文字說明的。與此對應(yīng)的處理應(yīng)能覆蓋所設(shè)定的目標(biāo)。對于說明處理要求,都應(yīng)從問題目標(biāo)進(jìn)行考慮。
2. 除覆蓋問題目標(biāo)的處理外,還有兩類處理應(yīng)予考慮:一是為了保證處理的正確性,設(shè)計(jì)一些處理框,以檢查輸入數(shù)據(jù)的數(shù)據(jù)項(xiàng)及數(shù)據(jù)的值域;另一種是檢查數(shù)據(jù)會(huì)合時(shí)數(shù)據(jù)的一致性。二是為了處理的效率,如速度、次數(shù)、減少處理訪問等而引進(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ù)”的角度來說,必須注意:
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ù),對這些數(shù)據(jù)分析,就能得出各數(shù)據(jù)的存儲(chǔ)要求。
3. 對數(shù)據(jù)按問題要求設(shè)計(jì)數(shù)據(jù)結(jié)構(gòu)。輸入(輸出)數(shù)據(jù)的結(jié)構(gòu)與問題有關(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)系。
我們對高級(jí)程序員軟件設(shè)計(jì)題的解題方法做了分析,現(xiàn)在我們來分析一道例題。

