軟件工程基礎(chǔ)

上傳人:w****2 文檔編號:23987465 上傳時間:2021-06-15 格式:PPT 頁數(shù):32 大?。?04.33KB
收藏 版權(quán)申訴 舉報 下載
軟件工程基礎(chǔ)_第1頁
第1頁 / 共32頁
軟件工程基礎(chǔ)_第2頁
第2頁 / 共32頁
軟件工程基礎(chǔ)_第3頁
第3頁 / 共32頁

下載文檔到電腦,查找使用更方便

9.9 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《軟件工程基礎(chǔ)》由會員分享,可在線閱讀,更多相關(guān)《軟件工程基礎(chǔ)(32頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、 第 3章 軟 件 工 程 基 礎(chǔ) 3.1 軟件工程基本概念1、軟件的相關(guān)概念 計算機軟件是包括程序、數(shù)據(jù)及相關(guān)文檔的完整集合。軟件的特點包括:軟件是一種邏輯實體; 軟件的生產(chǎn)與硬件不同,它沒有明顯的制作過程; 軟件在運行、使用期間不存在磨損、老化問題; 軟件的開發(fā)、運行對計算機系統(tǒng)具有依賴性,受計算機系統(tǒng)的限制,這導致了軟件移植的問題; 軟件復雜性高,成本昂貴; 軟件開發(fā)涉及諸多的社會因素。軟件分類:軟件按功能分為應用軟件、系統(tǒng)軟件、支撐軟件(或工具軟件)。 2、軟件危機與軟件工程 所謂軟件危機是泛指在計算機軟件的開發(fā)和維護過程中所遇到的一系列嚴重問題。軟件危機可以歸結(jié)為成本、質(zhì)量、生產(chǎn)率等

2、問題。軟件工程源自軟件危機。軟件工程是應用于計算機軟件的定義、開發(fā)和維護的一整套方法、工具、文檔、實踐標準和工序。 軟件工程的主要思想是將工程化原則運用到軟件開發(fā)過程,它包括3個要素:方法、工具和過程。軟件工程過程包含4種基本活動:(1)P(Plan)軟件規(guī)格說明。規(guī)定軟件的功能及其運行時的限制。(2)D(Do)軟件開發(fā)。產(chǎn)生滿足規(guī)格說明的軟件。(3)C(Check)軟件確認。確認軟件能夠滿足用戶提出的要求。(4)A(Action)軟件演進。為滿足客戶的變更要求,軟件必須在使用的過程中演進。 軟件生命周期:軟件產(chǎn)品從提出、實現(xiàn)、使用維護到停止使用退役的過程。 軟件生命周期三個階段:軟件定義軟件

3、開發(fā)運行維護3、軟件生命周期 軟 件 生 命 周 期 的 主 要 活 動 階 段如 下 圖 : 可 行 性 研 究初 步 項 目 計 劃需 求 分 析概 要 設 計詳 細 設 計實 現(xiàn)測 試 維 護使 用退 役 定 義階段開 發(fā)階段維 護階段 4、軟件工程的目標和與原則(1)軟件工程目標:在給定成本、進度的前提下,開發(fā)出具有有效性、可靠性、可理解性、可維護性、可重用性、可適應性、可移植性、可追蹤性和可互操作性且滿足用戶需求的產(chǎn)品。(2)軟件工程需要達到的基本目標應是:付出較低的開發(fā)成本;達到要求的軟件功能;取得較好的軟件性能;開發(fā)的軟件易于移植;需要較低的維護費用;能按時完成開發(fā),及時交付使用

4、。(3)軟件工程原則:抽象、信息隱蔽、模塊化、局部化、確定性、一致性、完備性和可驗證性。 5、軟件開發(fā)工具與軟件開發(fā)環(huán)境(1)軟件開發(fā)工具軟件開發(fā)工具的完善和發(fā)展將促使軟件開發(fā)方法的進步和完善,促進軟件開發(fā)的高速度和高質(zhì)量。軟件開發(fā)工具的發(fā)展是從單項工具的開發(fā)逐步向集成工具發(fā)展的,軟件開發(fā)工具為軟件工程方法提供了自動的或半自動的軟件支撐環(huán)境。(2)軟件開發(fā)環(huán)境 軟件開發(fā)環(huán)境(或稱軟件工程環(huán)境)是全面支持軟件開發(fā)全過程的軟件工具的集合。計算機輔助軟件工程(CASE,Computer Aided Software Engineering)將各種軟件工具、開發(fā)機器和一個存放開發(fā)過程信息的中心數(shù)據(jù)庫組

5、合起來,形成軟件工程環(huán)境。它將極大降低軟件開發(fā)的技術(shù)難度并保證軟件開發(fā)的質(zhì)量。 3.2 結(jié)構(gòu)化分析方法 結(jié)構(gòu)化方法的核心和基礎(chǔ)是結(jié)構(gòu)化程序設計理論。 1、需求分析需求分析方法有:(1)結(jié)構(gòu)化需求分析方法;(2)面向?qū)ο蟮姆治龇椒?。需求分析的任務就是導出目標系統(tǒng)的邏輯模型,解決“做什么”的問題。需求分析一般分為需求獲取、需求分析、編寫需求規(guī)格說明書和需求評審四個步驟進行。 2 結(jié)構(gòu)化分析方法 結(jié)構(gòu)化分析方法是結(jié)構(gòu)化程序設計理論在軟件需求分析階段的應用。結(jié)構(gòu)化分析方法的實質(zhì):著眼于數(shù)據(jù)流,自頂向下,逐層分解,建立系統(tǒng)的處理流程,以數(shù)據(jù)流圖和數(shù)據(jù)字典為主要工具,建立系統(tǒng)的邏輯模型。結(jié)構(gòu)化分析的常用工

6、具:(1)數(shù)據(jù)流圖;(2)數(shù)據(jù)字典;(3)判定樹;(4)判定表。 2 結(jié)構(gòu)化分析方法 數(shù)據(jù)流圖:描述數(shù)據(jù)處理過程的工具,是需求理解的邏輯模型的圖形表示,它直接支持系統(tǒng)功能建模。下圖是數(shù)據(jù)流圖的基本圖形元素: 加工數(shù)據(jù)流存儲文件源、潭 數(shù)據(jù)流圖下圖是一個數(shù)據(jù)流圖的示例: 數(shù)據(jù)字典: 對所有與系統(tǒng)相關(guān)的數(shù)據(jù)元素的一個有組織的列表,以及精確的、嚴格的定義,使得用戶和系統(tǒng)分析員對于輸入、輸出、存儲成分和中間計算結(jié)果有共同的理解。數(shù)據(jù)字典的作用是對數(shù)據(jù)流圖中出現(xiàn)的被命名的圖形元素的確切解釋。數(shù)據(jù)字典是結(jié)構(gòu)化分析方法的核心。 判定樹:從問題定義的文字描述中分清哪些是判定的條件,哪些是判定的結(jié)論,根據(jù)描述材

7、料中的連接詞找出判定條件之間的從屬關(guān)系、并列關(guān)系、選擇關(guān)系,根據(jù)它們構(gòu)造判定樹。判定表:與判定樹相似,當數(shù)據(jù)流圖中的加工要依賴于多個邏輯條件的取值,即完成該加工的一組動作是由于某一組條件取值的組合而引發(fā)的,使用判定表描述比較適宜。 3、 軟 件 需 求 規(guī) 格 說 明 書軟件需求規(guī)格說明書是需求分析階段的最后成果,是軟件開發(fā)中的重要文檔之一。軟件需求規(guī)格說明書的特點:(1)正確性;(2)無歧義性;(3)完整性;(4)可驗證性;(5)一致性;(6)可理解性;(7)可追蹤性。 3.3 結(jié)構(gòu)化設計方法 1、軟件設計的基礎(chǔ)需求分析主要解決“做什么”的問題,而軟件設計主要解決“怎么做”的問題。軟件設計主

8、要內(nèi)容包括:軟件結(jié)構(gòu)設計、數(shù)據(jù)設計、接口設計、過程設計。(按技術(shù)觀點劃分)軟件設計分兩步完成,即概要設計和詳細設計。(按工程管理角度劃分) 3.3 結(jié)構(gòu)化設計方法 1、軟件設計的基礎(chǔ)軟件設計的基本原理包括:抽象、模塊化、信息隱蔽和模塊獨立化。模塊的耦合性和內(nèi)聚性是衡量軟件的模塊獨立性的兩個定性指標。內(nèi)聚性:是一個模塊內(nèi)部各個元素間彼此結(jié)合的緊密程度的度量。耦合性:是模塊間互相連接的緊密程度的度量。一個設計良好的軟件系統(tǒng)應具有高內(nèi)聚、低耦合的特征。 2、總體設計(概要設計)和詳細設計 (1)總體設計(概要設計)軟件概要設計的基本任務是:1)設計軟件系統(tǒng)結(jié)構(gòu);2)數(shù)據(jù)結(jié)構(gòu)及數(shù)據(jù)庫設計;3)編寫概要

9、設計文檔;4)概要設計文檔評審。常用的軟件結(jié)構(gòu)設計工具是結(jié)構(gòu)圖,也稱程序結(jié)構(gòu)圖。經(jīng)常使用的結(jié)構(gòu)圖有四種模塊類型:傳入模塊、傳出模塊、變換模塊和協(xié)調(diào)模塊。 (1)總體設計(概要設計)程序結(jié)構(gòu)圖的基本圖符:模塊用一個矩形表示,箭頭表示模塊間的調(diào)用關(guān)系。在結(jié)構(gòu)圖中還可以用帶注釋的箭頭表示模塊調(diào)用過程中來回傳遞的信息。還可用帶實心圓的箭頭表示傳遞的是控制信息,空心圓箭心表示傳遞的是數(shù)據(jù)信息。 一般模塊數(shù)據(jù)信息控制信息 程序結(jié)構(gòu)圖的有關(guān)術(shù)語u深度:表示控制的層數(shù)。u上級模塊、從屬模塊:上、下兩層模塊a和b,且有a調(diào)用b,則a是上級模塊,b是從屬模塊。u寬度:整體控制跨度(最大模塊數(shù)的層)的表示。u扇入:

10、調(diào)用一個給定模塊的模塊個數(shù)。u扇出:一個模塊直接調(diào)用的其他模塊數(shù)。u原子模塊:樹中位于葉子結(jié)點的模塊。 結(jié)構(gòu)圖的基本形式:基本形式、順序形式、重復形式、選擇形式。面向數(shù)據(jù)流的設計方法:面向數(shù)據(jù)流的設計就是將數(shù)據(jù)流圖變換成結(jié)構(gòu)圖。典型的數(shù)據(jù)流類型有兩種:變換型和事務型。變換型系統(tǒng)結(jié)構(gòu)圖由輸入、中心變換、輸出三部分組成。事務型數(shù)據(jù)流的特點是:接受一項事務,根據(jù)事務處理的特點和性質(zhì),選擇分派一個適當?shù)奶幚韱卧缓蠼o出結(jié)果。 (2)詳細設計詳細設計是為軟件結(jié)構(gòu)圖中的每一個模塊確定實現(xiàn)算法和局部數(shù)據(jù)結(jié)構(gòu),用某種選定的表達工具表示算法和數(shù)據(jù)結(jié)構(gòu)的細節(jié)。詳細設計的任務是確定實現(xiàn)算法和局部數(shù)據(jù)結(jié)構(gòu),不同于編

11、碼或編程。常用的過程設計(即詳細設計)工具有以下幾種:圖形工具:程序流程圖、N-S(方盒圖)、PAD(問題分析圖)和HIPO(層次圖+輸入/處理/輸出圖)。表格工具:判定表。語言工具:PDL(偽碼):過程設計語言,它是用正文形式表示數(shù)據(jù)和處理過程的設計工具。 3.4 軟件測試1、軟件測試定義:使用人工或自動手段來運行或測定某個系統(tǒng)的過程,其目的在于檢驗它是否滿足規(guī)定的需求或是弄清預期結(jié)果與實際結(jié)果之間的差別。軟件測試的目的:盡可能地多發(fā)現(xiàn)程序中的錯誤,不能也不可能證明程序沒有錯誤。2、軟件測試方法:靜態(tài)測試和動態(tài)測試。靜態(tài)測試包括代碼檢查、靜態(tài)結(jié)構(gòu)分析、代碼質(zhì)量度量。不實際運行軟件,主要通過人

12、工進行。動態(tài)測試:是基于計算機的測試,主要包括白盒測試方法和黑盒測試方法。 (1)白盒測試白盒測試方法也稱為結(jié)構(gòu)測試或邏輯驅(qū)動測試。它是根據(jù)軟件產(chǎn)品的內(nèi)部工作過程,檢查內(nèi)部成分,以確認每種內(nèi)部操作符合設計規(guī)格要求。白盒測試的基本原則:保證所測模塊中每一獨立路徑至少執(zhí)行一次;保證所測模塊所有判斷的每一分支至少執(zhí)行一次;保證所測模塊每一循環(huán)都在邊界條件和一般條件下至少各執(zhí)行一次;驗證所有內(nèi)部數(shù)據(jù)結(jié)構(gòu)的有效性。白盒測試法的測試用例是根據(jù)程序的內(nèi)部邏輯來設計的,主要用軟件的單元測試,主要方法有邏輯覆蓋、基本路徑測試等。 (2)黑盒測試黑盒測試方法也稱為功能測試或數(shù)據(jù)驅(qū)動測試。黑盒測試是對軟件已經(jīng)實現(xiàn)的

13、功能是否滿足需求進行測試和驗證。黑盒測試主要診斷功能不對或遺漏、接口錯誤、數(shù)據(jù)結(jié)構(gòu)或外部數(shù)據(jù)庫訪問錯誤、性能錯誤、初始化和終止條件錯誤。主要方法有等價類劃分法、邊界值分析法、錯誤推測法等。黑盒測試是程序功能的測試,主要用軟件的確認測試。 3、軟件測試過程軟件測試過程一般按4個步驟進行:單元測試集成測試驗收測試(確認測試)系統(tǒng)測試(1)單元測試單元測試是對軟件設計的最小單位模塊(程序單元)進行正確性檢測的測試。單元測試的目的是發(fā)現(xiàn)各模塊內(nèi)部可能存在的各種錯誤。 (1)單元測試單元測試的依據(jù)是詳細設計說明書和源程序。單元測試的技術(shù)可以采用靜態(tài)分析和動態(tài)測試。對動態(tài)測試通常以白盒測試為主,輔之以黑盒

14、測試。在進行單元測試時,要用一些輔助模塊去模擬與被測模塊相聯(lián)系的其他模塊,即為被測模塊設計和搭建驅(qū)動模塊和樁模塊。驅(qū)動模塊相當于被測模塊的主程序,它接收測試數(shù)據(jù),并傳給被測模塊,輸出實際測試結(jié)果;樁模塊是模擬其他被調(diào)用模塊,不必將子模塊的所有功能帶入。 (2)集成測試集成測試是測試和組裝軟件的過程。它是把模塊在按照設計要求組裝起來的同時進行測試,主要目的是發(fā)現(xiàn)與接口有關(guān)的錯誤。集成測試的依據(jù)是總體設計說明書。集成測試所涉及的內(nèi)容包括:軟件單元的接口測試全局數(shù)據(jù)結(jié)構(gòu)測試邊界條件和非法輸入的測試等 (3)確認測試確認測試的任務是驗證軟件的功能和性能及其他特性是否滿足需求規(guī)格說明中確定的各種需求,以

15、及軟件配置是否完全、正確。(4)系統(tǒng)測試系統(tǒng)測試是將通過確認測試的軟件,作為整個基于計算機系統(tǒng)的一個元素,與計算機硬件、外設、支持軟件、數(shù)據(jù)和人員等其他系統(tǒng)元素組合在一起,在實際運行(使用)環(huán)境下對計算機系統(tǒng)進行一系列的集成測試和確認測試。 3.5 程序的調(diào)試程序調(diào)試的任務是診斷和改正程序中的錯誤,主要在開發(fā)階段進行。(注意與軟件測試區(qū)分)程序調(diào)試的基本步驟:(1)錯誤定位;(2)修改設計和代碼,以排除錯誤;(3)進行回歸測試,防止引進新的錯誤。軟件調(diào)試可分為靜態(tài)調(diào)試和動態(tài)調(diào)試。靜態(tài)調(diào)試主要是指通過人的思維來分析源程序代碼和排錯,是主要的調(diào)試手段,而動態(tài)調(diào)試是輔助靜態(tài)調(diào)試。對軟件主要的調(diào)試方法可以采用:(1)強行排錯法;(2)回溯法;(3)原因排除法。

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

相關(guān)資源

更多
正為您匹配相似的精品文檔

相關(guān)搜索

關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!