點擊查看:2015計算機二級考試《Office高級應(yīng)用》匯總
第3章 軟件工程基礎(chǔ)
3.1軟件工程基本概念
1.軟件的定義與特點
(1)定義:軟件是指與計算機系統(tǒng)的操作有關(guān)的計算機程序、規(guī)程、規(guī)則,以及可能有的文件、文檔和數(shù)據(jù)。
(2)特點。
•是邏輯實體,有抽象性。
•生產(chǎn)沒有明顯的制作過程。
•運行使用期間不存在磨損、老化問題。
•開發(fā)、運行對計算機系統(tǒng)有依賴性,受計算機系統(tǒng)的限制,導(dǎo)致了軟件移植問題。
•復(fù)雜性較高,成本昂貴。
•開發(fā)涉及諸多社會因素。
2.軟件的分類
軟件可分應(yīng)用軟件、系統(tǒng)軟件和支撐軟件3類。
(1)應(yīng)用軟件是特定應(yīng)用領(lǐng)域內(nèi)專用的軟件。
(2)系統(tǒng)軟件居于計算機系統(tǒng)中最靠近硬件的一層,是計算機管理自身資源,提高計算機使用效率并為計算機用戶提供各種服務(wù)的軟件。
(3)支撐軟件介于系統(tǒng)軟件和應(yīng)用軟件之間,是支援其它軟件的開發(fā)與維護的軟件。
3.軟件危機與軟件工程
軟件危機指在計算機軟件的開發(fā)和維護中遇到的一系列嚴重問題。軟件工程是應(yīng)用于計算機軟件的定義、開發(fā)和維護的一整套方法、工具、文檔、實踐標準和工序,包括軟件開發(fā)技術(shù)和軟件工程管理。
4.軟件生命周期
軟件產(chǎn)品從提出、實現(xiàn)、使用維護到停止使用的過程稱為軟件生命周期。
在國家標準中,軟件生命周期劃分為8個階段①軟件定義期:包括問題定義、可行性研究和需求分析3個階段。②軟件開發(fā)期:包括概要設(shè)計、詳細設(shè)計、實現(xiàn)和測試4個階段。③運行維護期:即運行維護階段。
5.軟件工程的原則
軟件工程的原則包括:抽象、信息隱蔽、模塊化、局部化、確定性、一致性、完備性和可驗證性。
3.2結(jié)構(gòu)化分析方法
需求分析的任務(wù)是發(fā)現(xiàn)需求、求精、建模和定義需求的過程,可概括為:需求獲取、需求分析、編寫需求規(guī)格說明書和需求評審。
1.常用的分析方法
•結(jié)構(gòu)化分析方法:其實質(zhì)著眼于數(shù)據(jù)流,自頂向下,逐層分解,建立系統(tǒng)的處理流程。
•面向?qū)ο蠓治龇椒ā?/P>
2.結(jié)構(gòu)化分析常用工具
結(jié)構(gòu)化分析常用工具包括數(shù)據(jù)流圖、數(shù)字字典(核心方法)、判斷樹和判斷表。
(1)數(shù)據(jù)流圖:即DFD圖,以圖形的方式描繪數(shù)據(jù)在系統(tǒng)中流動和處理的過程,它只反映系統(tǒng)必須完成的邏輯功能。是一種功能模型。
符號名稱作用:
•箭頭代表數(shù)據(jù)流,沿箭頭方向傳送數(shù)據(jù)的通道
•圓或橢圓代表加工,輸入數(shù)據(jù)經(jīng)加工變換產(chǎn)生輸出
•雙杠代表存儲文件,表示處理過程中存放各種數(shù)據(jù)文件
•方框代表源和潭,表示系統(tǒng)和環(huán)境的接口
(2)數(shù)據(jù)字典:結(jié)構(gòu)化分析方法的核心。數(shù)據(jù)字典是對所有與系統(tǒng)相關(guān)的數(shù)據(jù)元素的一個有組織的列表。以及精確的、嚴格的定義,使得用戶和系統(tǒng)分析員對于輸入、輸出、存儲成分和中間計算結(jié)果有共同的理解。
(3)判定樹:使用判定樹進行描述時,應(yīng)先從問題定義的文字描述中分清判定的條件和判定的結(jié)論,根據(jù)描述材料中的連接詞找出判定條件之問的從屬關(guān)系、并列關(guān)系、選擇關(guān)系,根據(jù)它們構(gòu)造判定樹。
(4)判定表:與判定樹相似,當數(shù)據(jù)流圖中的加工要依賴于多個邏輯條件的取值,即完成該加工的一組動作是由于某一組條件取值的組合引發(fā)的,使用判定表比較適宜。
3.軟件需求規(guī)格說明書
軟件需求規(guī)格說明書是需求分析階段的最后成果,是軟件開發(fā)的重要文檔之一。
(1)軟件需求規(guī)格說明書的作用:①便于用戶、開發(fā)人員進行理解和交流;②反映出用戶問題的結(jié)構(gòu),可以作為軟件開發(fā)工作的基礎(chǔ)和依據(jù);③作為確認測試和驗收的依據(jù)。
(2)軟件需求規(guī)格說明書的內(nèi)容:①概述;②數(shù)據(jù)描述;③功能描述;④性能描述;⑤參考文獻;⑥附錄。
(3)軟件需求規(guī)格說明書的特點:①正確性;②無歧義性;③完整性;④可驗證性;⑤一致性;⑥可理解性;⑦可修改性;⑧可追蹤性。
3.3結(jié)構(gòu)化設(shè)計方法
1.軟件設(shè)計的基本概念和方法
軟件沒計是一個把軟件需求轉(zhuǎn)換為軟件表示的過程。
(1)基本原理:抽象、模塊化、信息隱藏、模塊獨立性(度量標準:耦合性和內(nèi)聚性,高耦合、低內(nèi)聚)。
(2)基本思想:將軟件設(shè)計成由相對獨立、單一功能的模塊組成的結(jié)構(gòu)。
2.概要設(shè)計
(1)4個任務(wù):設(shè)計軟件系統(tǒng)結(jié)構(gòu)、數(shù)據(jù)結(jié)構(gòu)及數(shù)據(jù)庫設(shè)計、編寫概要設(shè)計文檔、概要設(shè)計文檔評審。
(2)面向數(shù)據(jù)流的設(shè)計方法:數(shù)據(jù)流圖的信息分為交換流和事物流,結(jié)構(gòu)形式有交換型和事務(wù)型。
3.詳細設(shè)計的工具
詳細設(shè)計的工具包括:
•圖形工具:程序流程圖、N-S、PAD、HIPO。
•表格工具:判定表。
•語言工具:PDL(偽碼)。
3.4軟件測試
1.目的
為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程。
2.準則
•所有測試應(yīng)追溯到用戶需求。
•嚴格執(zhí)行測試計劃,排除測試的隨意性。
•充分注意測試中的群集現(xiàn)象。
•程序員應(yīng)避免檢查自己的程序。
•窮舉測試不可能。
•妥善保存設(shè)計計劃、測試用例、出錯統(tǒng)計和最終分析報告。
3.軟件測試技術(shù)和方法
軟件測試的方法按是否需要執(zhí)行被測軟件的角度,可分為靜態(tài)測試和動態(tài)測試,按功能分為白盒測試和黑盒測試。
(1)白盒測試:根據(jù)程序的內(nèi)部邏輯設(shè)計測試用例,主要方法有邏輯覆蓋測試、基本路徑測試等。
(2)黑盒測試:根據(jù)規(guī)格說明書的功能來設(shè)計測試用例,主要診斷方法有等價劃分法、邊界值分析法、錯誤推測法、因果圖法等,主要用于軟件確認測試。
4.軟件測試的實施
軟件測試是保證軟件質(zhì)量的重要手段,軟件測試是一個過程,其測試流程是該過程規(guī)定的程序,目的是使軟件測試工作系統(tǒng)化。
軟件測試過程分4個步驟,即單元測試、集成測試、驗收測試和系統(tǒng)測試。
單元測試是對軟件設(shè)計的最小單位——模塊(程序單元)進行正確性檢驗測試。
單元測試的目的是發(fā)現(xiàn)各模塊內(nèi)部可能存在的各種錯誤。
單元測試的依據(jù)是詳細的設(shè)計說明書和源程序。
單元測試的技術(shù)可以采用靜態(tài)分析和動態(tài)測試。
3.5程序的調(diào)試
(1)任務(wù):診斷和改正程序中的錯誤。
(2)調(diào)試方法:強行排錯法、回溯法和原因排除法。
點擊查看:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |