軟件工程基礎(chǔ)
1.軟件工程的基本概念
(1)定義:軟件是程序、數(shù)據(jù)與相關(guān)文檔的集合。軟件包括系統(tǒng)軟件和應(yīng)用軟件
(2)軟件工程的基本思想是軟件開發(fā)中,應(yīng)用工程化原則進行軟件開發(fā),并將這個思想貫穿在軟件開發(fā)的整個過程中。
軟件工程的3要素:方法、工具和過程
(3)軟件的生命周期:從軟件定義、開發(fā)、使用、維護到報廢為止的整個過程。
分三階段:設(shè)計階段、開發(fā)階段、維護階段
包括:問題定義、可行性分析、需求分析、總體設(shè)計、詳細設(shè)計、編碼、測試和維護
問題定義:確定開發(fā)的任務(wù)
可行性分析:確定問題的可行性
需求分析:對用戶要求進行分析,明確目標系統(tǒng)要做什么
總體設(shè)計:把軟件功能轉(zhuǎn)化為所需要的體系結(jié)構(gòu),即如何解決問題。
詳細設(shè)計:怎樣具體的解決問題
2.結(jié)構(gòu)化分析方法
(1)結(jié)構(gòu)化分析(SA)是面向數(shù)據(jù)流進行需求分析的方法
SA方法的基本思想正是運用了分解和抽象兩個基本手段,采用:自頂向下,逐步分解的分析思路。
(2)數(shù)據(jù)流圖
基本圖形符號:
在結(jié)構(gòu)化方法中,用數(shù)據(jù)流程圖(DFD)作為描述工具的軟件開發(fā)階段是:需求分析
(3)數(shù)據(jù)字典
在結(jié)構(gòu)化分析的數(shù)據(jù)流圖中,利用數(shù)據(jù)字典對其中的圖形元素進行確切解釋.
3.軟件設(shè)計
(1)概要設(shè)計(總體設(shè)計)
◆包括兩個主要階段:系統(tǒng)設(shè)計(確定具體的實現(xiàn)方案)和結(jié)構(gòu)設(shè)計(確定每個系統(tǒng)的模塊組成及模塊間的關(guān)系)
◆模塊之間聯(lián)系越緊密,其耦合性就越強,模塊的獨立性就越差;
一個模塊內(nèi)個要素聯(lián)系越緊密,則它的內(nèi)聚性就越高。
模塊劃分原則:高內(nèi)聚低耦合
(2)詳細設(shè)計
◆結(jié)構(gòu)化程序設(shè)計的要點:采用自頂向下、逐步求精的程序設(shè)計方法,一個程序只有一個入口和一個出口。
◆詳細設(shè)計的常用工具:程序流程圖、盒圖、PAD和PDL
(3)軟件測試目的
◆軟件測試的目的是盡可能多的發(fā)現(xiàn)程序中的錯誤。
◆軟件測試方法:靜態(tài)測試和動態(tài)測試(黑盒測試法和白盒測試法)
黑盒測試包括:等價分析法、邊值分析法、因果圖法和錯誤推測法
白盒測試法測試的原則之一就是保證所測模塊中的每一個獨立的路徑至少執(zhí)行一次。
(4)程序調(diào)試
分為靜態(tài)調(diào)試和動態(tài)調(diào)試
調(diào)試的目的:改正錯誤
經(jīng)調(diào)試后還必須進行再測試
(5)軟件維護
軟件維護就是在軟件已經(jīng)交付使用以后,為改正錯誤或滿足新的需求而修改軟件的過程。
例題精選:
1. 分析的結(jié)果是產(chǎn)生需求規(guī)格說明書。
2. 軟件詳細設(shè)計的主要任務(wù)是確定每一個模塊的算法和使用的數(shù)據(jù)結(jié)構(gòu)。
3. 進行單元測試時,常用的方法時采用白盒測試,輔以黑盒測試。
4. 軟件工程的出現(xiàn)是由于軟件危機的出現(xiàn),人們提出了軟件工程學的原理設(shè)計軟件。
5. 數(shù)據(jù)字典是各類數(shù)據(jù)描述的集合,通常包括4個部分:數(shù)據(jù)項、數(shù)據(jù)流、數(shù)據(jù)存儲和數(shù)據(jù)加工。
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |