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

下載本文檔

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

文檔簡介

1、軟件工程基礎考核知識點軟件工程的基本概念。軟件生命周期的概念。軟件工具與軟件開發(fā)環(huán)境。結構化分析方法。軟件需求規(guī)格說明。結構化設計方法??傮w設計與詳細設計。模塊的獨立性。軟件測試的方法,軟件測試的目的和準則,軟件測試的實施。程序的調(diào)試、靜態(tài)調(diào)試與動態(tài)調(diào)試。重點考點提示軟件定義與軟件特點,軟件危機與軟件工程。軟件生命周期定義,軟件工程的目標與原則,軟件開發(fā)工具和環(huán)境。需求分析工作與需求分析方法。結構化分析步驟、常用工具(數(shù)據(jù)流圖、數(shù)據(jù)字典、判斷樹、判定表),軟件需求規(guī)格說明書。白盒測試與黑盒測試,測試用例設計,軟件測試的實施。單元測試、集成測試、確認測試、系統(tǒng)測試。程序調(diào)試的基本步驟、原則。程序

2、調(diào)試方法。3.1 軟件工程基本概念考點1 軟件的定義與軟件的特點1、軟件的組成:程序、數(shù)據(jù)和有關文檔。2、軟件的特點:邏輯產(chǎn)品、成本在開發(fā)和研制上、不存在磨損和消耗、軟件依賴計算機系統(tǒng)、開發(fā)維護成本高、軟件開發(fā)涉及到諸多社會因素。3.1 軟件工程基本概念考點2:軟件危機與軟件工程1、軟件的產(chǎn)生和發(fā)展:軟件的生產(chǎn)的發(fā)展經(jīng)歷了程序設計時代、程序系統(tǒng)時代和軟件工程時代。2、軟件危機: (成本、質(zhì)量、生產(chǎn)率)軟件需求的增長的不到滿足;軟件開發(fā)成本和進度無法控制軟件質(zhì)量難以保證軟件不可維護或維護程度非常低軟件成本不斷提高軟件開發(fā)生產(chǎn)效率的提高趕不上硬件的發(fā)展和應用需求的增長。3.1 軟件工程基本概念考點

3、2:軟件危機與軟件工程3、軟件工程的產(chǎn)生1968年和1969年北大西洋公約組織。3個要素:方法、工程和過程。軟件工程包括:軟件開發(fā)技術;軟件工程管理。3.1 軟件工程基本概念考點3:軟件工程過程ISO9000定義:把輸入轉化為輸出的一組彼此相關的資源和活動。4種基本活動“PDCA四個活動”:軟件規(guī)格說明;軟件開發(fā);軟件確認;軟件演進。3.1 軟件工程基本概念考點4:軟件生命周期軟件產(chǎn)品從提出、實現(xiàn)、使用維護到停止使用退役的過程稱為軟件的生命周期。可行性研究初步項目計劃需求分析概要設計維護詳細設計實現(xiàn)測試使用退役軟件生命周期軟件生命周期的瀑布模型計劃需求分析設計實現(xiàn)測試運行-維護定義階段開發(fā)階段

4、維護階段需求規(guī)格說明書概要設計文檔詳細設計文檔測試報告3.1 軟件工程基本概念考點5:軟件工程的目標與原則1、軟件工程的目標軟件開發(fā)技術軟件工程管理2、軟件工程的原則抽象;信息屏蔽;模塊化;局部化;確定性;一致性;完備性;可驗證性。3.1 軟件工程基本概念考點6:軟件開發(fā)工具與軟件開發(fā)環(huán)境軟件開發(fā)工具軟件開發(fā)工具是協(xié)助開發(fā)人員進行軟件開發(fā)活動所使用的軟件或環(huán)境,它包括需求分析工具、設計工具、排錯工具、測試工具等。軟件開發(fā)環(huán)境軟件開發(fā)環(huán)境是指支持軟件產(chǎn)品的軟件系統(tǒng),它由軟件工具集和環(huán)境集成機制構成。3.2 結構化分析方法考點7 可行性分析經(jīng)濟可行性分析;技術可行性分析;法律可行性分析;開發(fā)方案的

5、選擇性研究;3.2 結構化分析方法考點8 需求分析方法1、需求分析:用戶對目標軟件系統(tǒng)功能、行為、性能、設計約束等方面的期望。2、需求分析方法:結構化分析方法(JSD):Jackson方法,面向數(shù)據(jù)結構的結構的結構化數(shù)據(jù)系統(tǒng)開發(fā)方法。面向?qū)ο蟮姆治龇椒ǎ∣OA):從需求分析建立的模型特性來分,靜態(tài)/動態(tài)分析方法。3.2 結構化分析方法考點9 :結構化分析方法 著眼于數(shù)據(jù)流、自頂向下、逐層分解,建立系統(tǒng)流程。步驟:獲得集體模型;抽象邏輯模型;建立模型;寫出說明;評審??键c10 :結構化分析常用工具(1)數(shù)據(jù)流圖(DFD)數(shù)據(jù)流加工存儲文件源考點10 :結構化分析常用工具銀行取款業(yè)務數(shù)據(jù)流圖(DF

6、D圖)考點10 :結構化分析常用工具(2)數(shù)據(jù)字典(DD) 數(shù)據(jù)字典是對所有與系統(tǒng)相關的數(shù)據(jù)元素的一個有組織的列表,以精確的定義,使得用戶和系統(tǒng)分析員對于輸入、輸出、存儲成分和中間計算結果有共同的理解??键c10 :結構化分析常用工具數(shù)據(jù)字典定義中出現(xiàn)的符號(圖)實例:“存折”的DD定義如下考點10 :結構化分析常用工具(3)判定樹 依據(jù)判定條件之間關系(從屬、并列、選擇),構造判定樹??键c10 :結構化分析常用工具“檢查發(fā)貨單”判定樹(圖) 考點10 :結構化分析常用工具(4)判定表 判定表與判定樹相似,是樹的表的表現(xiàn)形式有四個部分組成。 1234基本條件基本動作條件項動作項考點10 :結構化

7、分析常用工具“檢查發(fā)貨單”判定表(圖) 3.2.3 軟件需求規(guī)格說明書軟件需求規(guī)格說明書(SRS)是需求分析階段的最后成果。(見開發(fā)文檔)軟件需求規(guī)格說明書的作用便于用戶、開發(fā)人員進行理解和交流反映出用戶問題的結構,可以作為軟件開發(fā)工作的基礎和依據(jù)。作為確認測試和驗收的依據(jù)軟件需求規(guī)格說明書的特點: (1)正確性;(2)無岐義性;(3)完整性; (4)可驗證性;(5)一致性;(6)可理解性; (7)可追蹤性。 3.3 結構化設計方法3.3.1:軟件設計的基本概念軟件設計的基本目標是用比較抽象概括的方式確定目標系統(tǒng)如何完成預定的任務,軟件設計是確定系統(tǒng)的物理模型。軟件設計是開發(fā)階段最重要的步驟,

8、是將需求準確地轉化為完整的軟件產(chǎn)品或系統(tǒng)的唯一途徑。簡單講:確定“如何做”的問題。從技術觀點來看,軟件設計包括軟件結構設計、數(shù)據(jù)設計、接口設計、過程設計。 軟件設計包括結構設計:定義軟件系統(tǒng)各主要部件之間的關系。數(shù)據(jù)設計:將分析時創(chuàng)建的模型轉化為數(shù)據(jù)結構的定義。接口設計:描述軟件內(nèi)部、軟件和協(xié)作系統(tǒng)之間以及軟件與人之間如何通信。過程設計:把系統(tǒng)結構部件轉換成軟件的過程描述。軟件設計的一般過程從工程管理角度來看:概要設計和詳細設計。軟件設計的一般過程:軟件設計是一個迭代的過程;先進行高層次的結構設計;后進行低層次的過程設計;穿插進行數(shù)據(jù)設計和接口設計。*重要性和地位包括:開發(fā)階段是質(zhì)量的關鍵;設

9、計階段是最重要的步驟;設計最終影響成?。辉O計是軟件工程和維護的基礎。3.3. 2 軟件設計的基本原理抽象:提取特征模塊化:分解信息隱蔽:信息對于其他模塊不能訪問模塊獨立性: 聯(lián)系少且功能簡單。(詳解見下一頁)模塊獨立性:衡量軟件模塊獨立性使用耦合性和內(nèi)聚性兩個定性的度量標準。內(nèi)聚性:一個模塊內(nèi)部各個元素之間彼此結合的緊密程度的度量。(偶然內(nèi)聚最弱、功能內(nèi)聚最強)耦合性:模塊之間互相連接的緊密程度的度量。(非直接耦合最弱、內(nèi)容耦合最強)在程序結構中各模塊的內(nèi)聚性越強,則耦合性越弱。優(yōu)秀軟件應高內(nèi)聚,低耦合。 3.3.3結構化設計方法*概要設計任務軟件概要設計的基本任務是: (1)設計軟件系統(tǒng)結構

10、; (2)數(shù)據(jù)結構及數(shù)據(jù)庫設計; (3)編寫概要設計文檔; (4)概要設計文檔評審。 常用結構設計工具結構圖(SC),也叫程序結構圖。 模塊用一個矩形表示,箭頭表示模塊間的調(diào)用關系。在結構圖中還可以用帶注釋的箭頭表示模塊調(diào)用過程中來回傳遞的信息。還可用帶實心圓的箭頭表示傳遞的是控制信息,空心圓箭心表示傳遞的是數(shù)據(jù)。 一般模塊數(shù)據(jù)信息控制信息結構圖的基本形式一般模塊數(shù)據(jù)信息控制信息基本圖符ABABABCDABD基本形式重復形式順序形式選擇形式結構圖有四種模塊類型結構圖有四種模塊類型:傳入模塊、傳出模塊、變換模塊和協(xié)調(diào)模塊。下至上上至下上至上下至下3.3.2-2 面向數(shù)據(jù)流的設計方法典型的數(shù)據(jù)流類

11、型有兩種:變換型和事務型。 變換型系統(tǒng)結構圖由輸入、中心變換、輸出三部分組成。 事務型數(shù)據(jù)流的特點是:接受一項事務,根據(jù)事務處理的特點和性質(zhì),選擇分派一個適當?shù)奶幚韱卧缓蠼o出結果。變換型映射成程序結構圖,稱為變換分析。圖3.14將事務型映射成程序結構圖,又稱為事務分析。圖3.16提高模塊獨立性模塊規(guī)模適中深度、寬度、扇出(管理)、扇入(共享)適度。使模塊的作用域在管理域之內(nèi)減少模塊接口和界面的復雜性設計單入口、單出口模塊設計功能可預測模塊軟件結構設計的優(yōu)化準則(設計準則)3.3.3 詳細設計1) 詳細設計的基本任務是為軟件結構圖中的每一個模塊確定實現(xiàn)算法和局部數(shù)據(jù)結構,用某種選定的表達工具

12、表示算法和數(shù)據(jù)結構的細節(jié)。P672) 常見設計工具:程序流程圖(PFD)、方框圖(N-S)、問題分析圖(PAD)、PDL(結構化英語和偽碼)程序流程圖(PFD)(控制流,加工步驟,邏輯條件)程序流程圖(PFD)(實例)(控制流,加工步驟,邏輯條件)方框圖N-S任務1任務2任務3條件ELSETHEN條件=1 =2 =nA1 A2 An循環(huán)體循環(huán)條件循環(huán)條件循環(huán)體順序型選擇型多分支型UNTIL重復型WHILE重復型方框圖(N-S)(實例)問題分析圖PAD(5種基本控制結構)ABAB條件A1條件A2A3AnWHILEAUNTILA順序型選擇型多分支型UNTIL重復型WHILE重復型問題分析圖(PAD

13、):實例PDL(結構化英語和偽碼) PDL表示基本控制結構的常用詞匯順序:條件:IF/THEN/ELSE/ENDIF循環(huán):DO WHILE/ENDDO循環(huán):REPEAT UNTIL/ENDREPEAT分支:CASE_OF/WHEN/SELECT/WHEN /SELECT/ENDCASE3.4 軟件的測試軟件測試定義:使用人工或自動手段來運行或測定某個系統(tǒng)的過程,其目的在于檢驗它是否滿足規(guī)定的需求或是弄清預期結果與實際結果之間的差別。 測試的目的:盡可能多地發(fā)現(xiàn)軟件產(chǎn)品中的錯誤和缺陷。測試的準則:(詳見后)測試技術與方法按是否執(zhí)行:靜態(tài)測試和動態(tài)測試。 (詳見后) 按功能劃分:白盒測試和黑盒測試

14、: (詳見后)測試的準則所有測試都應回溯到需求嚴格執(zhí)行計劃,排除隨意性充分注意測試中的群集現(xiàn)象程序員應避免檢查自己的程序窮舉測試不可能保存測試資料靜態(tài)測試和動態(tài)測試靜態(tài)測試包括代碼檢查、靜態(tài)結構分析、代碼質(zhì)量度量。不實際運行軟件,主要通過人工進行。動態(tài)測試:是基于計算機的測試,主要包括白盒測試方法和黑盒測試方法。P72測試用例是為了進行動態(tài)測試而設計的數(shù)據(jù),由測試用的輸入數(shù)據(jù)和對應的輸出結果組成。白盒測試和黑盒測試白盒測試:在程序內(nèi)部進行,主要用于完成軟件內(nèi)部操作的驗證。主要方法有邏輯覆蓋、基本路徑測試。P72白盒測試的局限性:書P72 是窮舉路徑測試,不能查出:程序違反設計規(guī)范;程序中遺漏的

15、路徑;與數(shù)據(jù)相關錯誤。白盒測試之邏輯覆蓋測試語句覆蓋:使被測試程序的每個語句至少執(zhí)行一次。路徑覆蓋:程序中的每個可能執(zhí)行到的路徑至少經(jīng)過一次。判定覆蓋:測試用例使得每個判定的所有可能結果至少出現(xiàn)一次。條件覆蓋:測試用例使得判定中的每一個條件的所有可能結果至少出現(xiàn)一次。判定/條件覆蓋:測試用例使得判定中的每個條件和每個判定本身的所有可能結果至少出現(xiàn)一次。1、語句覆蓋2、路徑覆蓋3、判定覆蓋每個條件至少執(zhí)行一次4、條件附蓋5、判斷-條件覆蓋白盒測試之基本路徑測試基本路徑測試:測試用例對每一條獨立執(zhí)行路徑進行測試。2.黑盒測試:主要診斷功能不對或遺漏、界面錯誤、數(shù)據(jù)結構或外部數(shù)據(jù)庫訪問錯誤、性能錯誤

16、、初始化和終止條件錯,用于軟件確認。 主要方法有: 等價類劃分法、 邊界值分析法、 錯誤推測法、 因果圖等。.黑盒測試3.4.4 軟件測試的實施步驟任務和目的測試對象方法依據(jù)單元測試發(fā)現(xiàn)模塊錯誤模塊靜態(tài)和白盒動態(tài)詳細設計說明書及程序集成測試發(fā)現(xiàn)接口錯誤接口、全局數(shù)據(jù)結構、邊界輸入黑盒測試概要設計說明書確認測試驗證性能與功能整個軟件黑盒測試需求規(guī)格說明書系統(tǒng)測試真實環(huán)境性能功能整個系統(tǒng)包括軟硬多種需求規(guī)格說明書單元測試/集成測試單元測試需要驅(qū)動模塊和樁模塊。集成測試中如果采用自頂向下則需要樁模塊、采用自底向上則需要驅(qū)動模塊。單元測試集成測試集成測試3.5 調(diào)試1、任務 診斷和改正程序中的錯誤,主

17、要在開發(fā)階段進行。2、基本步驟錯誤定位。即確定程序中可疑錯誤的確切性質(zhì)和位置修改設計和代碼,排除錯誤進行回歸測試,防止引進新的錯誤。3.5 調(diào)試軟件調(diào)試可分為:靜態(tài)調(diào)試和動態(tài)調(diào)試。3、靜態(tài)調(diào)試指通過人的思維來分析源程序代碼和排錯,是主要的調(diào)試手段。4、動態(tài)調(diào)試動態(tài)調(diào)試是輔助靜態(tài)調(diào)試,主要調(diào)試方法有: 強行排錯法 / 回溯法 / 原因排除法調(diào)試中采用“補丁程序”和再次測試調(diào)試的成果是排錯,為了修改程序中的錯誤,往往會采用“補丁程序”來實現(xiàn),但這么做會降低整個程序的質(zhì)量。調(diào)試修改后的程序必須進行再次測試??偨Y: (1)軟件工程概述1、軟件由程序數(shù)據(jù)、文檔兩部分組成。2、軟件規(guī)模做大之后,出現(xiàn)了成本、質(zhì)量、生產(chǎn)率等問題,這就是軟件危機。3、軟件工程就是采用工程、數(shù)學等方法來解決軟件危機的問題。4、軟件工程三要素:方法、工具、過程。5、軟件工程的目標:低成本、高效率地開發(fā)出高質(zhì)量的軟件產(chǎn)品。6、軟件工程學由軟件開發(fā)技術、軟件工程管理組成。(2)軟件工程過程軟件工程過程:把輸入轉換為輸出的一組資源和活動。分為:PDCA四個活動(p52)。從軟件生命的角度來講,它由可行性研究與計劃制定、需求分析、軟件設計、軟件實現(xiàn)、軟件

溫馨提示

  • 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

提交評論