第3章 軟件工程基礎_第1頁
第3章 軟件工程基礎_第2頁
第3章 軟件工程基礎_第3頁
第3章 軟件工程基礎_第4頁
第3章 軟件工程基礎_第5頁
已閱讀5頁,還剩68頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

全國計算機等級考試二級教程公共基礎知識2010年3月1第3章軟件工程基礎軟件工程基本概念,軟件生命周期概念,軟件工具與軟件開發(fā)環(huán)境。結構化分析方法,數(shù)據(jù)流圖,數(shù)據(jù)字典,軟件需求規(guī)格說明書。結構化設計方法,總體設計與詳細設計。軟件測試的方法,白盒測試與黑盒測試,測試用例設計,軟件測試的實施,單元測試、集成測試和系統(tǒng)測試。程序的調(diào)試,靜態(tài)調(diào)試與動態(tài)調(diào)試。23.1軟件工程基本概念考點1:軟件的定義與軟件特點1、軟件的組成2、軟件的特點3、軟件的分類4、軟件的作用31、軟件的組成軟件由兩部分組成:1)機器可執(zhí)行的程序和數(shù)據(jù)2)機器不可執(zhí)行的,與軟件開發(fā)、運行、維護、使用等有關的文檔。常有以下說法:軟件=程序+文檔42、軟件的特點軟件是一種邏輯實體,具有抽象性軟件沒有明顯的制作過程軟件不存在磨損和消耗問題軟件開發(fā)、運行受計算機系統(tǒng)的限制軟件開發(fā)和維護成本高軟件開發(fā)涉及諸多的社會因素53、軟件的分類軟件可分為應用軟件、系統(tǒng)軟件和支撐軟件三類。4、軟件的作用軟件是用戶與硬件之間的接口,是計算機系統(tǒng)的指揮者。6考點2:

軟件危機與軟件工程軟件生產(chǎn)的發(fā)展經(jīng)歷了程序設計時代、程序系統(tǒng)時代和軟件工程時代。1.軟件危機早期的軟件主要指程序,采用個體工作方式,缺少相關文檔,質(zhì)量低,維護困難,這些問題稱為“軟件危機”,可以將軟件危機歸結為成本、質(zhì)量、生產(chǎn)率等問題。72、軟件工程軟件工程概念的出現(xiàn)源自于軟件危機。軟件工程是指應用計算機科學、數(shù)學及管理科學等原理,以工程化的原則和方法來解決軟件問題的工程。其目的是提高軟件生產(chǎn)率、提高軟件質(zhì)量、降低軟件成本。8軟件工程三要素方法:完成軟件工程項目的技術手段工具:支持軟件的開發(fā)、管理、文檔生成過程:支持軟件開發(fā)的各個環(huán)節(jié)的控制、管理9考點3:軟件工程過程軟件工程過程是把輸入轉(zhuǎn)化為輸出的一組彼此相關的資源和活動。它包含4種基本活動:軟件規(guī)格說明、軟件開發(fā)、軟件確認、軟件演進通常也把用戶的要求轉(zhuǎn)變成軟件產(chǎn)品的過程叫做軟件開發(fā)過程。10考點4:軟件生命周期將軟件產(chǎn)品從提出、實現(xiàn)、使用維護到停止使用退役的過程稱為軟件生命周期分為軟件定義、軟件開發(fā)及軟件運行維護3個階段。維護是持續(xù)時間最長,花費代價最大的一個階段,軟件工程學的一個目的就是提高軟件的可維護性,降低維護代價11軟件生命周期的

6個活動階段1)可行性研究與計劃制定:確定系統(tǒng)的總體目標。參加人員有用戶、項目負責人和系統(tǒng)分析員,產(chǎn)生文檔有可行性分析報告、項目計劃書等122)需求分析:確定系統(tǒng)的邏輯模型。參加人員有用戶、項目負責人和系統(tǒng)分析員。產(chǎn)生文檔為需求規(guī)格說明書,其作用:(1)便于用戶、開發(fā)人員進行理解交流(2)反映用戶問題的結構,可以作為軟件開發(fā)工作的基礎和依據(jù)(3)作為確認測試和驗收的依據(jù)。133)軟件設計:軟件設計分概要設計和詳細設計。參加人員有系統(tǒng)分析員和高級程序員。產(chǎn)生的文檔有設計規(guī)格說明書。144)軟件實現(xiàn):編碼,編程。高級程序員和程序員產(chǎn)生源程序清單155)軟件測試:由另一部門的高級程序員或系統(tǒng)分析員產(chǎn)生軟件測試計劃和軟件測試報告166)運行和維護:軟件投入運行,在使用中不斷的維護,根據(jù)新的提出的要求進行必要且可能的擴充和修改17考點5:軟件工程的目標與原則1、軟件工程的目標:在給定的成本、進度的前提下,開發(fā)出具有有效性、可靠性、可理解性、可維護性、可適應性、可移植性、可追蹤性和可互操作性且滿足用戶需求的產(chǎn)品軟件工程鼓勵研制和采用各種先進的軟件開發(fā)方法、工具和環(huán)境18軟件工程研究的主要內(nèi)容:軟件開發(fā)技術和軟件工程管理2、軟件工程的原則: 抽象、信息隱蔽、模塊化、局部化、確定性、一致性、完備性、可驗證性19考點6:軟件開發(fā)工具與軟件開發(fā)環(huán)境軟件工具:用來輔助軟件開、運行、維護、管理、支持等過程中的活動的軟件,它包括需求分析工具、設計工具、編碼工具、測試工具等。20軟件開發(fā)環(huán)境:支持軟件產(chǎn)品開發(fā)的軟件系統(tǒng),它由軟件工具集和環(huán)境集成機制構成213.2結構化分析方法基本思想:將系統(tǒng)分析看成工程項目,有計劃、有步驟地進行工作。開發(fā)策略:自頂向下,逐層分解22可行性研究的目的是用最小的代價在盡可能短的時間內(nèi)確定問題是否能夠解決。它涉及到經(jīng)濟、技術、法律等方面??键c7:可行性研究23考點8:需求分析方法軟件需求是指用戶對目標軟件系統(tǒng)在功能、行為、性能、涉及約束等方面的期望。需求分析的任務是發(fā)現(xiàn)需求、定義需求的過程。需求分析將創(chuàng)建所需的數(shù)據(jù)模型、功能模型和控制模型。24需求分析的工作可以分為4個方面: 需求獲取、需求分析、編寫需求規(guī)格說明書、需求評審。需求分析的方法有:結構化分析方法、面向?qū)ο蠓治龇椒ā?5考點9:結構化分析方法結構化分析方法是面向數(shù)據(jù)流進行需求分析的方法。結果化分析方法以數(shù)據(jù)流圖(DFD)和數(shù)據(jù)字典(DD)為主要工具。此外有判定樹和判定表26考點10:

結構化分析常用工具1、數(shù)據(jù)流圖(DFD)2、數(shù)據(jù)字典(DD)3、判定樹4、判定表271、數(shù)據(jù)流圖的基本符號

加工存儲文件數(shù)據(jù)流數(shù)據(jù)的源點或終點,源,潭含義符號28建立數(shù)據(jù)流圖的步驟:由外向里,自頂向下,逐層分解。29工資計算系統(tǒng)的數(shù)據(jù)流圖

水電扣款表

出勤表

業(yè)績表

人事部門

后勤部門

職工工資

工資

計算302、數(shù)據(jù)字典(DD)數(shù)據(jù)字典是結構化分析方法的核心,它的作用是對數(shù)據(jù)流圖中出現(xiàn)的被命名的圖形元素的確切解釋。31考點11:

結構化方法開發(fā)過程結構化方法將軟件生命周期分為計劃、開發(fā)、運行3個時期計劃期包括可行性研究開發(fā)期包括需求分析、總體設計、詳細設計、編碼、測試運行期主要任務是軟件維護32考點12:軟件需求規(guī)格說明書需求規(guī)格說明書應包括如下主要內(nèi)容。 ①概述

②數(shù)據(jù)描述

③功能描述

④性能描述⑤參考文獻⑥附錄33需求規(guī)格說明書的特點:正確性、無歧義性、完整性等。其中最重要的是無歧義性。該說明書必須要讓用戶看懂,盡量少包含計算機專業(yè)術語。343.3結構化設計方法考點13:軟件設計的基本概念1、軟件設計的基礎軟件設計的基本目標是用比較抽象概括的方式確定目標系統(tǒng)如何完成預定的任務。軟件設計是確定系統(tǒng)的物理模型。軟件設計是開發(fā)階段最重要的步驟,是將需求準確地轉(zhuǎn)化為完整的軟件產(chǎn)品或系統(tǒng)的唯一途徑.35從技術觀點來看,軟件設計包括軟件結構設計、數(shù)據(jù)設計、接口設計、過程設計。結構設計:定義軟件系統(tǒng)各主要部件之間的關系。數(shù)據(jù)設計:將分析時創(chuàng)建的模型轉(zhuǎn)化為數(shù)據(jù)結構的定義。接口設計:描述軟件內(nèi)部,軟件和協(xié)作系統(tǒng)之間以及軟件與人之間如何通信。過程設計:把系統(tǒng)結構部件轉(zhuǎn)換成軟件的過程描述。36從工程管理角度來看:概要設計和詳細設計。軟件設計是一個迭代的過程,先進行高層次的結構設計,后進行低層次的過程設計,穿插進行數(shù)據(jù)設計和接口設計。372、軟件設計的基本原理抽象、模塊化、信息隱藏、模塊獨立性衡量軟件模塊獨立性使用耦合性和內(nèi)聚性兩個定性的度量標準。耦合:模塊間相互連接的緊密程度內(nèi)聚:模塊內(nèi)部各元素間結合的緊密程度在程序結構中各模塊的內(nèi)聚性越強,則耦合性越弱。優(yōu)秀軟件應高內(nèi)聚,低耦合。

38考點14:概要設計任務1、軟件概要設計的基本任務是:

(1)設計軟件系統(tǒng)結構;(2)數(shù)據(jù)結構及數(shù)據(jù)庫設計;

39(3)編寫概要設計文檔;

概要設計說明書,數(shù)據(jù)庫設計說明書,集成測試計劃等。(4)概要設計文檔評審.402、軟件設計工具:程序結構圖(SC)P76結構圖的基本圖符有三種:一般模塊,數(shù)據(jù)信息,控制信息結構圖的基本形式:基本形式,順序形式,重復形式,選擇形式.結構圖有四種模塊類型:傳入模塊,傳出模塊,變換模塊和協(xié)調(diào)模塊41考點15:面向數(shù)據(jù)流的設計方法典型的數(shù)據(jù)流類型有兩種:變換型和事務型。變換型系統(tǒng)結構圖由輸入、中心變換、輸出三部分組成。事務型數(shù)據(jù)流的特點是:接受一項事務,根據(jù)事務處理的特點和性質(zhì),選擇分派一個適當?shù)奶幚韱卧?,然后給出結果。

42考點16:設計準則設計準則包括以下幾點:分解—協(xié)調(diào)原則自頂向下的原則信息屏蔽、抽象的原則一致性原則明確性原則模塊間的耦合度盡可能小,模塊內(nèi)部組合盡可能緊湊(內(nèi)聚性高)模塊的扇入和扇出系數(shù)合理模塊的規(guī)模適當43考點17:詳細設計詳細設計:是為軟件結構圖中的每一個模塊確定實現(xiàn)算法和局部數(shù)據(jù)結構,用某種選定的表達工具表示算法和數(shù)據(jù)結構的細節(jié)。常見的過程設計工具有:圖形工具(程序流程圖(PFD),N-S,PAD,HIPO)表格工具(判定表)語言工具(PDL)。

44程序流程圖的基本圖標:控制流加工步驟邏輯條件453.4軟件的測試定義:使用人工或自動手段來運行或測定某個系統(tǒng)的過程。軟件測試通常占軟件開發(fā)總成本的40%左右。46考點18:軟件測試的目的和準則1、軟件測試的目的:1)發(fā)現(xiàn)錯誤

2)檢驗它是否滿足規(guī)定的需求或是弄清預期結果與實際結果之間的差別

472、軟件測試的準則:所有測試都應追溯到需求嚴格執(zhí)行測試計劃,排除測試的隨意性充分注意測試中的群集現(xiàn)象程序員應避免檢查自己的程序窮舉測試不可能妥善保存測試計劃、測試用例、出錯統(tǒng)計和最終分析報告,為維護提供方便48從被測軟件是否要被執(zhí)行來看分為靜態(tài)測試和動態(tài)測試按照功能劃分分為白盒測試和黑盒測試考點19:軟件測試技術與方法491、靜態(tài)測試和動態(tài)測試靜態(tài)測試:人工評審軟件文檔或程序,包括代碼檢查,靜態(tài)結構分析,代碼質(zhì)量度量。不實際運行軟件,主要通過人工進行。動態(tài)測試:上機測試。測試能否發(fā)現(xiàn)錯誤取決于測試實例的設計。設計高效、合理的測試用例是動態(tài)測試的關鍵,測試用例由測試輸入數(shù)據(jù)和預期輸出結果兩部分組成。50動態(tài)設計主要包括白盒測試方法和黑盒測試方法.2、白盒測試和黑盒測試1)白盒測試:在程序內(nèi)部進行,主要用于完成軟件內(nèi)部操作的驗證。白盒測試是窮舉路徑測試,驗證所有內(nèi)部數(shù)據(jù)結構的有效性。51此方法是將測試對象比作一個打開的盒子,它允許測試人員利用程序內(nèi)部的邏輯結構和相關信息來設計或選擇測試用例,對穿過軟件的邏輯路徑進行測試,可以在不同點檢查程序的狀態(tài),以確定實際狀態(tài)與預期狀態(tài)是否一致。52主要方法有邏輯覆蓋,基本基路徑測試。邏輯覆蓋包括語句覆蓋、路徑覆蓋、判定覆蓋、條件覆蓋、判斷-條件覆蓋。

532)黑盒測試:主要診斷功能錯誤或遺漏,界面錯誤,數(shù)據(jù)結構或外部數(shù)據(jù)庫訪問錯誤,性能錯誤,初始化和終止條件錯,用于軟件確認。黑盒測試又稱功能測試和數(shù)據(jù)驅(qū)動測試;它在軟件接口處進行,進行功能驗證。

543、黑盒測試方法與測試用例設計主要方法有等價類劃分法,邊界值分析法,錯誤推測法,因果圖等。等價分類法是一種黑盒測試技術。它的基本思想是把輸入數(shù)據(jù)劃分成若干個等價類,在每個等價類中選取一組作為該等價類的測試用例。55考點20:軟件測試的實施軟件測試過程一般按4個步驟進行:單元測試,集成測試,驗收測試(確認測試)和系統(tǒng)測試。561、單元測試:對軟件中模塊進行正確性檢驗的測試;它的目的是發(fā)現(xiàn)模塊內(nèi)部可能存在的各種錯誤。單元測試的依據(jù)是詳細設計說明書和源程序572、集成測試:是測試和組裝軟件的過程,目的是發(fā)現(xiàn)與接口有關的錯誤;它的依據(jù)是概要設計說明書。集成測試涉及的內(nèi)容有:單元接口測試,全局數(shù)據(jù)結構測試,邊界條件和非法輸入測試583、確認測試:驗證軟件的功能和性能是否滿足需求,以及軟件配置是否正確。確認測試首先運用黑盒測試方法。594、系統(tǒng)測試:在真實的系統(tǒng)工作環(huán)境下檢驗軟件是否能與系統(tǒng)正確連接、發(fā)現(xiàn)軟件與系統(tǒng)需求不一致的地方。系統(tǒng)測試的措施包括:功能測試,性能測試,操作測試,配置測試,外部接口測試,安全測試等。603.5程序的調(diào)試考點21:程序調(diào)試的概念:程序調(diào)試的任務是診斷和改正程序中的錯誤,主要在開發(fā)階段進行。

程序調(diào)試的基本步驟有:

(1)錯誤定位;(2)修改設計和代碼,以排除錯誤;(3)進行回歸測試,防止引進新的錯誤.

61程序調(diào)試的原則:見教材97~98頁62考點22:程序調(diào)試的方法軟件調(diào)試可分表靜態(tài)調(diào)試和動態(tài)調(diào)試.靜態(tài)調(diào)試主要是指通過人的思維來分析源程序代碼和排錯,是主要的設計手段,而動態(tài)調(diào)試是輔助靜態(tài)調(diào)試.程序調(diào)試的主要方法有:

(1)強行排錯法;(2)回溯法;(3)原因排除法.63習題講解64數(shù)據(jù)流圖用于抽象描述一個軟件的邏輯模型,數(shù)據(jù)流圖由一些特定的圖符構成。下列圖符名標識的圖符不屬于數(shù)據(jù)流圖合法圖符的是

A)控制流B)加工

C)數(shù)據(jù)存儲D)源和潭A65在數(shù)據(jù)流圖(DFD)中,帶有名字的箭頭表示

A)模塊之間的調(diào)用

溫馨提示

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

評論

0/150

提交評論