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

下載本文檔

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

文檔簡介

全國計算機等級考試

二級公共基礎知識

鹽城工學院計算機基礎中心軟件工程基礎全國計算機等級考試

二級公共基礎知識

軟件工程基礎學習內容

軟件工程基本概念,軟件生命周期概念,軟件工具與軟件開發(fā)環(huán)境。結構化分析方法,數(shù)據流圖,數(shù)據字典,軟件需求規(guī)格說明書。結構化設計方法,總體設計與詳細設計。軟件測試的方法,白盒測試與黑盒測試,測試用例設計,軟件測試的實施,單元測試、集成測試和系統(tǒng)測試。程序的調試,靜態(tài)調試與動態(tài)調試。學習內容軟件工程基本概念,軟件生命周期概念,軟件工具與軟件第3章軟件工程基礎3.1軟件工程基本概念3.2結構化分析方法3.3結構化設計方法3.4軟件測試3.5軟件調試第3章軟件工程基礎3.1軟件工程基本概念3.1軟件工程基本概念1.軟件工程軟件工程是指應用計算機科學、數(shù)學及管理科學等原理,以工程化的原則和方法來解決軟件問題的工程。其目的是提高軟件生產率、提高軟件質量、降低軟件成本。2.軟件危機早期的軟件主要指程序,采用個體工作方式,缺少相關文檔,質量低,維護困難,這些問題稱為“軟件危機”,軟件工程概念的出現(xiàn)源自于軟件危機。例題3.1軟件工程基本概念1.軟件工程例題3.軟件生命周期將軟件產品從提出、實現(xiàn)、使用維護到停止使用退役的過程稱為軟件生命周期分為軟件定義、軟件開發(fā)及軟件運行維護3個階段。維護是持續(xù)時間最長,花費代價最大的一個階段,軟件工程學的一個目的就是提高軟件的可維護性,降低維護代價6個活動階段可行性研究與計劃制定:確定系統(tǒng)的總體目標。參加人員有用戶、項目負責人和系統(tǒng)分析員,產生文檔有可行性分析報告、項目計劃書等需求分析:確定系統(tǒng)的邏輯模型。參加人員有用戶、項目負責人和系統(tǒng)分析員。產生文檔為需求規(guī)格說明書,其作用:(1)便于用戶、開發(fā)人員進行理解交流;(2)反映用戶問題的結構,可以作為軟件開發(fā)工作的基礎和依據;(3)作為確認測試和驗收的依據。例題3.軟件生命周期例題軟件設計:包括軟件結構設計、數(shù)據設計、接口設計和過程設計。其中結構設計是定義軟件系統(tǒng)各部件之間的關系;數(shù)據設計是將分析時創(chuàng)建的模型轉化為數(shù)據結構的定義;接口設計是描述軟件內部、軟件和操作系統(tǒng)之間及軟件與人之間如何通信;過程設計則是把系統(tǒng)結構部件轉換成軟件的過程性描述。軟件設計分概要設計和詳細設計。參加人員有系統(tǒng)分析員和高級程序員。產生的文檔有設計規(guī)格說明書。編碼:編程。高級程序員和程序員產生源程序清單測試:由另一部門的高級程序員或系統(tǒng)分析員產生軟件測試計劃和軟件測試報告運行維護例題軟件設計:包括軟件結構設計、數(shù)據設計、接口設計和過程設計。其4.軟件工程三要素方法:完成軟件工程項目的技術手段工具:支持軟件的開發(fā)、管理、文檔生成過程:支持軟件開發(fā)的各個環(huán)節(jié)的控制、管理5.軟件工程的理論和技術研究的內容軟件開發(fā)技術和軟件工程管理6.軟件工程的目標在給定的成本、進度的前提下,開發(fā)出具有有效性、可靠性、可理解性、可維護性、可適應性、可移植性、可追蹤性和可互操作性且滿足用戶需求的產品軟件工程鼓勵研制和采用各種先進的軟件開發(fā)方法、工具和環(huán)境例題4.軟件工程三要素例題6軟件工程的目標和與原則(1)軟件工程目標:在給定成本、進度的前提下,開發(fā)出具有有效性、可靠性、可理解性、可維護性、可重用性、可適應性、可移植性、可追蹤性和可互操作性且滿足用戶需求的產品。(2)軟件工程需要達到的基本目標應是:付出較低的開發(fā)成本;達到要求的軟件功能;取得較好的軟件性能;開發(fā)的軟件易于移植;需要較低的維護費用;能按時完成開發(fā),及時交付使用。6軟件工程的目標和與原則

(3)軟件工程原則:抽象、信息隱蔽、模塊化、局部化、確定性、一致性、完備性和可驗證性。1)抽象:抽象是事物最基本的特性和行為,忽略非本質細節(jié),采用分層次抽象,自頂向下,逐層細化的辦法控制軟件開發(fā)過程的復雜性。2)信息隱蔽:采用封裝技術,將程序模塊的實現(xiàn)細節(jié)隱蔽起來,使模塊接口盡量簡單。3)模塊化:模塊是程序中相對獨立的成分,一個獨立的編程單位,應有良好的接口定義。模塊的大小要適中,模塊過大會使模塊內部的復雜性增加,不利于模塊的理解和修改,也不利于模塊的調試和重用;模塊太小會導致整個系統(tǒng)表示過于復雜,不利于控制系統(tǒng)的復雜性。4)局部化:保證模塊間具有松散的耦合關系,模塊內部有較強的內聚性。5)確定性:軟件開發(fā)過程中所有概念的表達應是確定、無歧義且規(guī)范的。6)一致性:程序內外部接口應保持一致,系統(tǒng)規(guī)格說明與系統(tǒng)行為應保持一致。7)完備性:軟件系統(tǒng)不丟失任何重要成分,完全實現(xiàn)系統(tǒng)所需的功能。8)可驗證性:應遵循容易檢查、測評、評審的原則,以確保系統(tǒng)的正確性。

(3)軟件工程原則:抽象、信息隱蔽、模塊化、局部化、確定性7.軟件工具和軟件開發(fā)環(huán)境軟件工具(CASE):用來輔助軟件開、運行、維護、管理、支持等過程中的活動的軟件軟件開發(fā)環(huán)境:支持軟件產品開發(fā)的軟件系統(tǒng),它由軟件工具集和環(huán)境集成機制構成7.軟件工具和軟件開發(fā)環(huán)境3.2結構化分析方法基本思想將系統(tǒng)分析看成工程項目,有計劃、有步驟地進行工作。開發(fā)策略自頂向下,逐層分解分析結果一套分層的數(shù)據流圖(DFD):用來描述數(shù)據流從輸入到輸出的變換流程一個數(shù)據字典(DD):用來描述DFD中的每個數(shù)據流、文件以及組成數(shù)據流或文件的數(shù)據項一組小說明(加工邏輯說明):用來描述每個基本加工的加工邏輯3.2結構化分析方法基本思想結構化分析方法是結構化程序設計理論在軟件需求分析階段的應用。結構化分析方法的實質:著眼于數(shù)據流,自頂向下,逐層分解,建立系統(tǒng)的處理流程,以數(shù)據流圖和數(shù)據字典為主要工具,建立系統(tǒng)的邏輯模型。結構化分析的常用工具:1)數(shù)據流圖(DFD);2)數(shù)據字典(DD);3)判定樹;4)判定表。

數(shù)據流圖以圖形的方式描繪數(shù)據在系統(tǒng)中流動和處理的過程,它反映了系統(tǒng)必須完成的邏輯功能,是結構化分析方法中用于表示系統(tǒng)邏輯模型的一種工具。例題結構化分析方法是結構化程序設計理論在軟件需求分析階段的應用。加工(轉換):輸入數(shù)據經加工變換產生輸出。數(shù)據流:沿箭頭方向傳送數(shù)據的通道,一般在旁邊標注數(shù)據流名。存儲文件(數(shù)據源):表示處理過程中存放各種數(shù)據的文件。源,潭:表示系統(tǒng)和環(huán)境的接口,屬系統(tǒng)之外的實體。畫數(shù)據流圖的基本步驟:自外向內,自頂向下,逐層細化,完善求精。例題加工(轉換):輸入數(shù)據經加工變換產生輸出。例題數(shù)據字典:對所有與系統(tǒng)相關的數(shù)據元素的一個有組織的列表,以及精確的、嚴格的定義,使得用戶和系統(tǒng)分析員對于輸入、輸出、存儲成分和中間計算結果有共同的理解。*:數(shù)據字典的作用是對數(shù)據流圖中出現(xiàn)的被命名的圖形元素的確切解釋。

*:數(shù)據字典是結構化分析方法的核心。軟件需求規(guī)格說明書(SRS)軟件需求規(guī)格說明書是需求分析階段的最后成果,通過建立完整的信息描述、詳細的功能和行為描述、性能需求和設計約束的說明、合適的驗收標準,給出對目標軟件的各種需求。數(shù)據字典:對所有與系統(tǒng)相關的數(shù)據元素的一個有組織的列表,以及3.3結構化設計方法1、軟件設計的基礎從技術觀點來看,軟件設計包括軟件結構設計、數(shù)據設計、接口設計、過程設計。從工程角度來看,軟件設計分兩步完成,即概要設計和詳細設計。例題3.3結構化設計方法1、軟件設計的基礎例題軟件設計的基本原理包括:抽象、模塊化、信息隱蔽和模塊獨立性。模塊的耦合性和內聚性是衡量軟件的模塊獨立性的兩個定性指標。一個設計良好的軟件系統(tǒng)應具有高內聚、低耦合的特征。在結構化程序設計中,模塊劃分的原則是:模塊內具有高內聚度,模塊間具有低耦合度。例題軟件設計的基本原理包括:抽象、模塊化、信息隱蔽和模塊獨立性。2總體設計(概要設計)設計原則分解—協(xié)調原則自頂向下的原則信息屏蔽、抽象的原則一致性原則明確性原則模塊間的耦合度盡可能小,模塊內部組合盡可能緊湊(內聚性高)模塊的扇入和扇出系數(shù)合理模塊的規(guī)模適當例題2總體設計(概要設計)例題軟件概要設計的基本任務是:1)設計軟件系統(tǒng)結構;2)數(shù)據結構及數(shù)據庫設計;3)編寫概要設計文檔;4)概要設計文檔評審。常用的軟件結構設計工具是結構圖,也稱程序結構圖。程序結構圖的基本圖符:模塊用一個矩形表示,箭頭表示模塊間的調用關系。在結構圖中還可以用帶注釋的箭頭表示模塊調用過程中來回傳遞的信息。還可用帶實心圓的箭頭表示傳遞的是控制信息,空心圓箭心表示傳遞的是數(shù)據信息。

軟件概要設計的基本任務是:1)設計軟件系統(tǒng)結構;2)數(shù)據結構經常使用的結構圖有四種模塊類型:傳入模塊、傳出模塊、變換模塊和協(xié)調模塊。傳入模塊:從下屬模塊取得數(shù)據,經處理再將其傳送給上級模塊。傳出模塊:從上級模塊取得數(shù)據,經處理再將其傳送給下屬模塊。變換模塊:從上級模塊取得數(shù)據,進行特定的處理,轉換成其他形式,再傳送給上級模塊。協(xié)調模塊:對所有下屬模塊進行協(xié)調和管理的模塊。經常使用的結構圖有四種模塊類型:傳入模塊、傳出模塊、變換模塊深度:表示控制的層數(shù)。上級模塊、從屬模塊:上、下兩層模塊a和b,且有a調用b,則a是上級模塊,b是從屬模塊。寬度:整體控制跨度(最大模塊數(shù)的層)的表示。扇入:調用一個給定模塊的模塊個數(shù)。扇出:一個模塊直接調用的其他模塊數(shù)。原子模塊:樹中位于葉子結點的模塊。深度:表示控制的層數(shù)。3詳細設計根本目標確定應用怎樣具體的實現(xiàn)所要求的系統(tǒng),不是具體的編寫程序,而是要設計程序的“藍圖”此階段的結果基本上決定了最終的程序代碼的質量包括內容:代碼設計輸入設計輸出設計處理過程設計用戶界面設計安全控制設計3詳細設計常用的過程設計(即詳細設計)工具有以下幾種:圖形工具:程序流程圖、N-S(方盒圖)、PAD(問題分析圖)和HIPO(層次圖+輸入/處理/輸出圖)。表格工具:判定表。語言工具:PDL(偽碼)

PDL(偽碼)

:過程設計語言,它是用正文形式表示數(shù)據和處理過程的設計工具。常用的過程設計(即詳細設計)工具有以下幾種:3.4軟件測試1意義目的為了發(fā)現(xiàn)錯誤希望能以最少的人力和時間發(fā)現(xiàn)潛在的各種錯誤和缺陷保證系統(tǒng)質量和可靠性的關鍵步驟2測試方法人工測試機器測試3.4軟件測試1意義目的軟件測試定義:使用人工或自動手段來運行或測定某個系統(tǒng)的過程,其目的在于檢驗它是否滿足規(guī)定的需求或是弄清預期結果與實際結果之間的差別。*:軟件測試的目的:盡可能地多發(fā)現(xiàn)程序中的錯誤,不能也不可能證明程序沒有錯誤。軟件測試的關鍵是設計測試用例

,一個好的測試用例能找到迄今為止尚未發(fā)現(xiàn)的錯誤。

測試用例是指對一項特定的軟件產品進行測試任務的描述,體現(xiàn)測試方案、方法、技術和策略。軟件測試定義:使用人工或自動手段來運行或測定某個系統(tǒng)的過程,軟件測試方法:靜態(tài)測試和動態(tài)測試。靜態(tài)測試:包括代碼檢查、靜態(tài)結構分析、代碼質量度量。不實際運行軟件,主要通過人工進行。動態(tài)測試:是基于計算機的測試,主要包括白盒測試方法和黑盒測試方法。

軟件測試方法:靜態(tài)測試和動態(tài)測試。3白盒測試結構測試將軟件看成透明的白盒,根據程序的內部結構和邏輯結構來設計測試例子,對程序的路徑和過程進行測試,檢查是否滿足設計的要求4黑盒測試功能測試將軟件看成黑盒子,在完全不考慮軟件內部結構和特性的情況下,測試軟件的外部特性5軟件測試的實施單元測試(模塊測試):白盒測試法組裝測試(集成測試)確認測試系統(tǒng)測試例題3白盒測試例題(1)單元測試單元測試是對軟件設計的最小單位——模塊(程序單元)進行正確性檢測的測試,目的是發(fā)現(xiàn)各模塊內部可能存在的各種錯誤。單元測試根據程序的內部結構來設計測試用例,其依據是詳細設計說明書和源程序。單元測試的技術可以采用靜態(tài)分析和動態(tài)測試。對動態(tài)測試通常以白盒測試為主,輔之以黑盒測試。單元測試的內容包括:模塊接口測試、局部數(shù)據結構測試、錯誤處理測試和邊界測試。*:在進行單元測試時,要用一些輔助模塊去模擬與被測模塊相聯(lián)系的其他模塊,即為被測模塊設計和搭建驅動模塊和樁模塊。其中,驅動模塊相當于被測模塊的主程序,它接收測試數(shù)據,并傳給被測模塊,輸出實際測試結果;而樁模塊是模擬其他被調用模塊,不必將子模塊的所有功能帶入。(1)單元測試(2)集成測試集成測試是測試和組裝軟件的過程,它是把模塊在按照設計要求組裝起來的同時進行測試,主要目的是發(fā)現(xiàn)與接口有關的錯誤。集成測試的依據是概要設計說明書。集成測試所涉及的內容包括:軟件單元的接口測試、全局數(shù)據結構測試、邊界條件和非法輸入的測試等。集成測試通常采用兩種方式:非增量方式組裝與增量方式組裝。非增量方式組裝:也稱為一次性組裝方式。首先對每個模塊分別進行模塊測試,然后再把所有模塊組裝在一起進行測試,最終得到要求的軟件系統(tǒng)。增量方式組裝:又稱漸增式集成方式。首先對一個個模塊進行模塊測試,然后將這些模塊逐步組裝成較大的系統(tǒng),在組裝的過程中邊連接邊測試,以發(fā)現(xiàn)連接過程中產生的問題。最后通過增殖逐步組裝成要求的軟件系統(tǒng)。增量方式組裝又包括自頂向下、自底向上、自頂向下與自底向上相結合等三種方式。(2)集成測試(3)確認測試確認測試的任務是驗證軟件的有效性,即驗證軟件的功能和性能及其他特性是否與用戶的要求一致。確認測試的主要依據是軟件需求規(guī)格說明書。確認測試主要運用黑盒測試法。

例題(3)確認測試例題(4)系統(tǒng)測試系統(tǒng)測試的目的在于通過與系統(tǒng)的需求定義進行比較,發(fā)現(xiàn)軟件與系統(tǒng)定義不符合或與之矛盾的地方。系統(tǒng)測試的測試用例應根據需求分析規(guī)格說明來設計,并在實際使用環(huán)境下來運行。系統(tǒng)測試的具體實施一般包括:功能測試、性能測試、操作測試、配置測試、外部接口測試、安全性測試等。(4)系統(tǒng)測試3.5程序調試1任務根據測試時發(fā)現(xiàn)的錯誤,找出原因和具體的位置,進行改正有程序開發(fā)人員來進行,誰開發(fā)的程序就由誰來進行調試方法:強行排錯法回溯法原因排除法(演繹、歸納、二分法)例題3.5程序調試1任務例題2靜態(tài)調試通過人的思維來分析源程序代碼和排錯,是主要的調試手段3動態(tài)調試輔助靜態(tài)調試2靜態(tài)調試例題軟件工程的出現(xiàn)是由于()

A)程序設計方法學的影響B(tài))軟件產業(yè)化的需要C)軟件危機的出現(xiàn) D)計算機的發(fā)展C返回例題軟件工程的出現(xiàn)是由于()

例題軟件開發(fā)的結構化生命周期方法將軟件生命周期劃分成()A)定義、開發(fā)、運行維護B)設計階段、編程階段、測試階段C)總體設計、詳細設計、編程調試D)需求分析、功能定義、系統(tǒng)設計A下一題例題軟件開發(fā)的結構化生命周期方法將軟件A下一題例題需求分析階段的任務是確定()A.軟件開發(fā)方法B.軟件開發(fā)工具C.軟件開發(fā)費D.軟件系統(tǒng)功能D返回上一題例題需求分析階段的任務是確定()D返回上例題軟件定義階段包括()制定計劃:確定總目標;可行性研究;探討解決方案;制定開發(fā)計劃。需求分析:對待開發(fā)軟件提出的需求進行分析并給出詳細的定義。制定計劃和需求分析下一題例題軟件定義階段包括(例題軟件開發(fā)階段:軟件設計:分為()兩個部分。軟件實現(xiàn):把軟件設計轉換成計算機可以接受的程序代碼。軟件測試:在設計測試用例的基礎上檢驗軟件的各個組成部分。下一題概要設計和詳細設計上一題例題軟件開發(fā)階段:下一題概要設計和詳細設計上一題例題軟件運行維護階段:軟件投入運行,并在使用中不斷地維護,進行必要的擴充和刪改。軟件生命周期中所花費最多的階段是()。下一題軟件運行維護階段上一題例題軟件運行維護階段:軟件投入運行,并在下一題軟件運行維護階例題軟件需求分析階段的工作,可以分為四個方面:需求獲取、需求分析、編寫需求規(guī)格說明書以及()A.階段性報告B.需求評審C.總結D.都不正確

B上一題返回例題軟件需求分析階段的工作,可以分為B上一題返回例題軟件工程的主要思想是將()原則運用到軟件開發(fā)過程,它包括3個要素:()。下一題工程化方法、工具和過程例題軟件工程的主要思想是將()原例題軟件工程過程是把()轉化為()的一組彼此相關的資源和活動。返回上一題輸出輸入例題軟件工程過程是把()轉化為(例題下列不屬于結構化分析的常用工具的是()A.數(shù)據流圖B.數(shù)據字典C.判定樹D.PAD圖下一題D例題下列不屬于結構化分析的常用工具的是下一題D例題數(shù)據流圖用于抽象描述一個軟件的邏輯模型,數(shù)據流圖由一些特定的圖符構成。下列圖符名標識的圖符不屬于數(shù)據流圖合法圖符的是()A.控制流B.加工C.數(shù)據存儲D.源和潭返回上一題A例題數(shù)據流圖用于抽象描述一個軟件的邏輯返回上一題A例題在數(shù)據流圖(DFD)中,帶有名字的箭頭表示()控制程序的執(zhí)行順序B.模塊之間的調用關系C.數(shù)據的流向D.程序的組成成分返回C例題在數(shù)據流圖(DFD)中,帶有名字的箭頭返回C例題軟件設計包括軟件的結構、數(shù)據接口和過程設計,其中軟件的過程設計是指()A.模塊間的關系B.系統(tǒng)結構部件轉換成軟件的過程描述C.軟件層次結構D.軟件開發(fā)過程返回B例題軟件設計包括軟件的結構、數(shù)據接口和返回B例題信息隱蔽的概念與下述哪一種概念直接相關()A.軟件結構定義B.模塊獨立性C.模塊類型劃分D.模擬耦合度返回B例題信息隱蔽的概念與下述哪一種概念直接返回B例題在結構化方法中,軟件功能分解屬于下列軟件開發(fā)中的階段是()。A.詳細設計B.需求分析C.總體設計D.編程調試返回C例題在結構化方法中,軟件功能分解屬于下列返回C例題白盒測試法的測試用例是根據程序的內部邏輯來設計的,主要用軟件的單元測試,主要方法有邏輯覆蓋、基本路徑測試等。返回例題白盒測試法的測試用例是根據程序的返回例題黑盒測試不關心程序內部的邏輯,只是根據程序的功能說明來設計測試用例,主要方法有等價類劃分法、邊界值分析法、錯誤推測法等,主要用軟件的確認測試。返回例題黑盒測試不關心程序內部的邏輯,只是返回例題在軟件工程中,白箱測試法可用于測試程序的內部結構。此方法將程序看做是()。A.循環(huán)的集合B.地址的集合C.路徑的集合D.目標的集合返回C例題在軟件工程中,白箱測試法可用于測試返回C例題檢查軟件產品是否符合需求定義的過程稱為()。A.確認測試B.集成測試C.驗證測試D.驗收測試返回A例題檢查軟件產品是否符合需求定義的返回A例題軟件調試的目的是()。A.發(fā)現(xiàn)錯誤B.改正錯誤C.改善軟件的性能D.挖掘軟件的潛能下一題B例題軟件調試的目的是()。下一題B例題下列不屬于軟件調試技術的是()。A.強行排錯法B.集成測試法C.回溯法D.原因排除法返回上一題B例題下列不屬于軟件調試技術的是()。返全國計算機等級考試

二級公共基礎知識

鹽城工學院計算機基礎中心軟件工程基礎全國計算機等級考試

二級公共基礎知識

軟件工程基礎學習內容

軟件工程基本概念,軟件生命周期概念,軟件工具與軟件開發(fā)環(huán)境。結構化分析方法,數(shù)據流圖,數(shù)據字典,軟件需求規(guī)格說明書。結構化設計方法,總體設計與詳細設計。軟件測試的方法,白盒測試與黑盒測試,測試用例設計,軟件測試的實施,單元測試、集成測試和系統(tǒng)測試。程序的調試,靜態(tài)調試與動態(tài)調試。學習內容軟件工程基本概念,軟件生命周期概念,軟件工具與軟件第3章軟件工程基礎3.1軟件工程基本概念3.2結構化分析方法3.3結構化設計方法3.4軟件測試3.5軟件調試第3章軟件工程基礎3.1軟件工程基本概念3.1軟件工程基本概念1.軟件工程軟件工程是指應用計算機科學、數(shù)學及管理科學等原理,以工程化的原則和方法來解決軟件問題的工程。其目的是提高軟件生產率、提高軟件質量、降低軟件成本。2.軟件危機早期的軟件主要指程序,采用個體工作方式,缺少相關文檔,質量低,維護困難,這些問題稱為“軟件危機”,軟件工程概念的出現(xiàn)源自于軟件危機。例題3.1軟件工程基本概念1.軟件工程例題3.軟件生命周期將軟件產品從提出、實現(xiàn)、使用維護到停止使用退役的過程稱為軟件生命周期分為軟件定義、軟件開發(fā)及軟件運行維護3個階段。維護是持續(xù)時間最長,花費代價最大的一個階段,軟件工程學的一個目的就是提高軟件的可維護性,降低維護代價6個活動階段可行性研究與計劃制定:確定系統(tǒng)的總體目標。參加人員有用戶、項目負責人和系統(tǒng)分析員,產生文檔有可行性分析報告、項目計劃書等需求分析:確定系統(tǒng)的邏輯模型。參加人員有用戶、項目負責人和系統(tǒng)分析員。產生文檔為需求規(guī)格說明書,其作用:(1)便于用戶、開發(fā)人員進行理解交流;(2)反映用戶問題的結構,可以作為軟件開發(fā)工作的基礎和依據;(3)作為確認測試和驗收的依據。例題3.軟件生命周期例題軟件設計:包括軟件結構設計、數(shù)據設計、接口設計和過程設計。其中結構設計是定義軟件系統(tǒng)各部件之間的關系;數(shù)據設計是將分析時創(chuàng)建的模型轉化為數(shù)據結構的定義;接口設計是描述軟件內部、軟件和操作系統(tǒng)之間及軟件與人之間如何通信;過程設計則是把系統(tǒng)結構部件轉換成軟件的過程性描述。軟件設計分概要設計和詳細設計。參加人員有系統(tǒng)分析員和高級程序員。產生的文檔有設計規(guī)格說明書。編碼:編程。高級程序員和程序員產生源程序清單測試:由另一部門的高級程序員或系統(tǒng)分析員產生軟件測試計劃和軟件測試報告運行維護例題軟件設計:包括軟件結構設計、數(shù)據設計、接口設計和過程設計。其4.軟件工程三要素方法:完成軟件工程項目的技術手段工具:支持軟件的開發(fā)、管理、文檔生成過程:支持軟件開發(fā)的各個環(huán)節(jié)的控制、管理5.軟件工程的理論和技術研究的內容軟件開發(fā)技術和軟件工程管理6.軟件工程的目標在給定的成本、進度的前提下,開發(fā)出具有有效性、可靠性、可理解性、可維護性、可適應性、可移植性、可追蹤性和可互操作性且滿足用戶需求的產品軟件工程鼓勵研制和采用各種先進的軟件開發(fā)方法、工具和環(huán)境例題4.軟件工程三要素例題6軟件工程的目標和與原則(1)軟件工程目標:在給定成本、進度的前提下,開發(fā)出具有有效性、可靠性、可理解性、可維護性、可重用性、可適應性、可移植性、可追蹤性和可互操作性且滿足用戶需求的產品。(2)軟件工程需要達到的基本目標應是:付出較低的開發(fā)成本;達到要求的軟件功能;取得較好的軟件性能;開發(fā)的軟件易于移植;需要較低的維護費用;能按時完成開發(fā),及時交付使用。6軟件工程的目標和與原則

(3)軟件工程原則:抽象、信息隱蔽、模塊化、局部化、確定性、一致性、完備性和可驗證性。1)抽象:抽象是事物最基本的特性和行為,忽略非本質細節(jié),采用分層次抽象,自頂向下,逐層細化的辦法控制軟件開發(fā)過程的復雜性。2)信息隱蔽:采用封裝技術,將程序模塊的實現(xiàn)細節(jié)隱蔽起來,使模塊接口盡量簡單。3)模塊化:模塊是程序中相對獨立的成分,一個獨立的編程單位,應有良好的接口定義。模塊的大小要適中,模塊過大會使模塊內部的復雜性增加,不利于模塊的理解和修改,也不利于模塊的調試和重用;模塊太小會導致整個系統(tǒng)表示過于復雜,不利于控制系統(tǒng)的復雜性。4)局部化:保證模塊間具有松散的耦合關系,模塊內部有較強的內聚性。5)確定性:軟件開發(fā)過程中所有概念的表達應是確定、無歧義且規(guī)范的。6)一致性:程序內外部接口應保持一致,系統(tǒng)規(guī)格說明與系統(tǒng)行為應保持一致。7)完備性:軟件系統(tǒng)不丟失任何重要成分,完全實現(xiàn)系統(tǒng)所需的功能。8)可驗證性:應遵循容易檢查、測評、評審的原則,以確保系統(tǒng)的正確性。

(3)軟件工程原則:抽象、信息隱蔽、模塊化、局部化、確定性7.軟件工具和軟件開發(fā)環(huán)境軟件工具(CASE):用來輔助軟件開、運行、維護、管理、支持等過程中的活動的軟件軟件開發(fā)環(huán)境:支持軟件產品開發(fā)的軟件系統(tǒng),它由軟件工具集和環(huán)境集成機制構成7.軟件工具和軟件開發(fā)環(huán)境3.2結構化分析方法基本思想將系統(tǒng)分析看成工程項目,有計劃、有步驟地進行工作。開發(fā)策略自頂向下,逐層分解分析結果一套分層的數(shù)據流圖(DFD):用來描述數(shù)據流從輸入到輸出的變換流程一個數(shù)據字典(DD):用來描述DFD中的每個數(shù)據流、文件以及組成數(shù)據流或文件的數(shù)據項一組小說明(加工邏輯說明):用來描述每個基本加工的加工邏輯3.2結構化分析方法基本思想結構化分析方法是結構化程序設計理論在軟件需求分析階段的應用。結構化分析方法的實質:著眼于數(shù)據流,自頂向下,逐層分解,建立系統(tǒng)的處理流程,以數(shù)據流圖和數(shù)據字典為主要工具,建立系統(tǒng)的邏輯模型。結構化分析的常用工具:1)數(shù)據流圖(DFD);2)數(shù)據字典(DD);3)判定樹;4)判定表。

數(shù)據流圖以圖形的方式描繪數(shù)據在系統(tǒng)中流動和處理的過程,它反映了系統(tǒng)必須完成的邏輯功能,是結構化分析方法中用于表示系統(tǒng)邏輯模型的一種工具。例題結構化分析方法是結構化程序設計理論在軟件需求分析階段的應用。加工(轉換):輸入數(shù)據經加工變換產生輸出。數(shù)據流:沿箭頭方向傳送數(shù)據的通道,一般在旁邊標注數(shù)據流名。存儲文件(數(shù)據源):表示處理過程中存放各種數(shù)據的文件。源,潭:表示系統(tǒng)和環(huán)境的接口,屬系統(tǒng)之外的實體。畫數(shù)據流圖的基本步驟:自外向內,自頂向下,逐層細化,完善求精。例題加工(轉換):輸入數(shù)據經加工變換產生輸出。例題數(shù)據字典:對所有與系統(tǒng)相關的數(shù)據元素的一個有組織的列表,以及精確的、嚴格的定義,使得用戶和系統(tǒng)分析員對于輸入、輸出、存儲成分和中間計算結果有共同的理解。*:數(shù)據字典的作用是對數(shù)據流圖中出現(xiàn)的被命名的圖形元素的確切解釋。

*:數(shù)據字典是結構化分析方法的核心。軟件需求規(guī)格說明書(SRS)軟件需求規(guī)格說明書是需求分析階段的最后成果,通過建立完整的信息描述、詳細的功能和行為描述、性能需求和設計約束的說明、合適的驗收標準,給出對目標軟件的各種需求。數(shù)據字典:對所有與系統(tǒng)相關的數(shù)據元素的一個有組織的列表,以及3.3結構化設計方法1、軟件設計的基礎從技術觀點來看,軟件設計包括軟件結構設計、數(shù)據設計、接口設計、過程設計。從工程角度來看,軟件設計分兩步完成,即概要設計和詳細設計。例題3.3結構化設計方法1、軟件設計的基礎例題軟件設計的基本原理包括:抽象、模塊化、信息隱蔽和模塊獨立性。模塊的耦合性和內聚性是衡量軟件的模塊獨立性的兩個定性指標。一個設計良好的軟件系統(tǒng)應具有高內聚、低耦合的特征。在結構化程序設計中,模塊劃分的原則是:模塊內具有高內聚度,模塊間具有低耦合度。例題軟件設計的基本原理包括:抽象、模塊化、信息隱蔽和模塊獨立性。2總體設計(概要設計)設計原則分解—協(xié)調原則自頂向下的原則信息屏蔽、抽象的原則一致性原則明確性原則模塊間的耦合度盡可能小,模塊內部組合盡可能緊湊(內聚性高)模塊的扇入和扇出系數(shù)合理模塊的規(guī)模適當例題2總體設計(概要設計)例題軟件概要設計的基本任務是:1)設計軟件系統(tǒng)結構;2)數(shù)據結構及數(shù)據庫設計;3)編寫概要設計文檔;4)概要設計文檔評審。常用的軟件結構設計工具是結構圖,也稱程序結構圖。程序結構圖的基本圖符:模塊用一個矩形表示,箭頭表示模塊間的調用關系。在結構圖中還可以用帶注釋的箭頭表示模塊調用過程中來回傳遞的信息。還可用帶實心圓的箭頭表示傳遞的是控制信息,空心圓箭心表示傳遞的是數(shù)據信息。

軟件概要設計的基本任務是:1)設計軟件系統(tǒng)結構;2)數(shù)據結構經常使用的結構圖有四種模塊類型:傳入模塊、傳出模塊、變換模塊和協(xié)調模塊。傳入模塊:從下屬模塊取得數(shù)據,經處理再將其傳送給上級模塊。傳出模塊:從上級模塊取得數(shù)據,經處理再將其傳送給下屬模塊。變換模塊:從上級模塊取得數(shù)據,進行特定的處理,轉換成其他形式,再傳送給上級模塊。協(xié)調模塊:對所有下屬模塊進行協(xié)調和管理的模塊。經常使用的結構圖有四種模塊類型:傳入模塊、傳出模塊、變換模塊深度:表示控制的層數(shù)。上級模塊、從屬模塊:上、下兩層模塊a和b,且有a調用b,則a是上級模塊,b是從屬模塊。寬度:整體控制跨度(最大模塊數(shù)的層)的表示。扇入:調用一個給定模塊的模塊個數(shù)。扇出:一個模塊直接調用的其他模塊數(shù)。原子模塊:樹中位于葉子結點的模塊。深度:表示控制的層數(shù)。3詳細設計根本目標確定應用怎樣具體的實現(xiàn)所要求的系統(tǒng),不是具體的編寫程序,而是要設計程序的“藍圖”此階段的結果基本上決定了最終的程序代碼的質量包括內容:代碼設計輸入設計輸出設計處理過程設計用戶界面設計安全控制設計3詳細設計常用的過程設計(即詳細設計)工具有以下幾種:圖形工具:程序流程圖、N-S(方盒圖)、PAD(問題分析圖)和HIPO(層次圖+輸入/處理/輸出圖)。表格工具:判定表。語言工具:PDL(偽碼)

PDL(偽碼)

:過程設計語言,它是用正文形式表示數(shù)據和處理過程的設計工具。常用的過程設計(即詳細設計)工具有以下幾種:3.4軟件測試1意義目的為了發(fā)現(xiàn)錯誤希望能以最少的人力和時間發(fā)現(xiàn)潛在的各種錯誤和缺陷保證系統(tǒng)質量和可靠性的關鍵步驟2測試方法人工測試機器測試3.4軟件測試1意義目的軟件測試定義:使用人工或自動手段來運行或測定某個系統(tǒng)的過程,其目的在于檢驗它是否滿足規(guī)定的需求或是弄清預期結果與實際結果之間的差別。*:軟件測試的目的:盡可能地多發(fā)現(xiàn)程序中的錯誤,不能也不可能證明程序沒有錯誤。軟件測試的關鍵是設計測試用例

,一個好的測試用例能找到迄今為止尚未發(fā)現(xiàn)的錯誤。

測試用例是指對一項特定的軟件產品進行測試任務的描述,體現(xiàn)測試方案、方法、技術和策略。軟件測試定義:使用人工或自動手段來運行或測定某個系統(tǒng)的過程,軟件測試方法:靜態(tài)測試和動態(tài)測試。靜態(tài)測試:包括代碼檢查、靜態(tài)結構分析、代碼質量度量。不實際運行軟件,主要通過人工進行。動態(tài)測試:是基于計算機的測試,主要包括白盒測試方法和黑盒測試方法。

軟件測試方法:靜態(tài)測試和動態(tài)測試。3白盒測試結構測試將軟件看成透明的白盒,根據程序的內部結構和邏輯結構來設計測試例子,對程序的路徑和過程進行測試,檢查是否滿足設計的要求4黑盒測試功能測試將軟件看成黑盒子,在完全不考慮軟件內部結構和特性的情況下,測試軟件的外部特性5軟件測試的實施單元測試(模塊測試):白盒測試法組裝測試(集成測試)確認測試系統(tǒng)測試例題3白盒測試例題(1)單元測試單元測試是對軟件設計的最小單位——模塊(程序單元)進行正確性檢測的測試,目的是發(fā)現(xiàn)各模塊內部可能存在的各種錯誤。單元測試根據程序的內部結構來設計測試用例,其依據是詳細設計說明書和源程序。單元測試的技術可以采用靜態(tài)分析和動態(tài)測試。對動態(tài)測試通常以白盒測試為主,輔之以黑盒測試。單元測試的內容包括:模塊接口測試、局部數(shù)據結構測試、錯誤處理測試和邊界測試。*:在進行單元測試時,要用一些輔助模塊去模擬與被測模塊相聯(lián)系的其他模塊,即為被測模塊設計和搭建驅動模塊和樁模塊。其中,驅動模塊相當于被測模塊的主程序,它接收測試數(shù)據,并傳給被測模塊,輸出實際測試結果;而樁模塊是模擬其他被調用模塊,不必將子模塊的所有功能帶入。(1)單元測試(2)集成測試集成測試是測試和組裝軟件的過程,它是把模塊在按照設計要求組裝起來的同時進行測試,主要目的是發(fā)現(xiàn)與接口有關的錯誤。集成測試的依據是概要設計說明書。集成測試所涉及的內容包括:軟件單元的接口測試、全局數(shù)據結構測試、邊界條件和非法輸入的測試等。集成測試通常采用兩種方式:非增量方式組裝與增量方式組裝。非增量方式組裝:也稱為一次性組裝方式。首先對每個模塊分別進行模塊測試,然后再把所有模塊組裝在一起進行測試,最終得到要求的軟件系統(tǒng)。增量方式組裝:又稱漸增式集成方式。首先對一個個模塊進行模塊測試,然后將這些模塊逐步組裝成較大的系統(tǒng),在組裝的過程中邊連接邊測試,以發(fā)現(xiàn)連接過程中產生的問題。最后通過增殖逐步組裝成要求的軟件系統(tǒng)。增量方式組裝又包括自頂向下、自底向上、自頂向下與自底向上相結合等三種方式。(2)集成測試(3)確認測試確認測試的任務是驗證軟件的有效性,即驗證軟件的功能和性能及其他特性是否與用戶的要求一致。確認測試的主要依據是軟件需求規(guī)格說明書。確認測試主要運用黑盒測試法。

例題(3)確認測試例題(4)系統(tǒng)測試系統(tǒng)測試的目的在于通過與系統(tǒng)的需求定義進行比較,發(fā)現(xiàn)軟件與系統(tǒng)定義不符合或與之矛盾的地方。系統(tǒng)測試的測試用例應根據需求分析規(guī)格說明來設計,并在實際使用環(huán)境下來運行。系統(tǒng)測試的具體實施一般包括:功能測試、性能測試、操作測試、配置測試、外部接口測試、安全性測試等。(4)系統(tǒng)測試3.5程序調試1任務根據測試時發(fā)現(xiàn)的錯誤,找出原因和具體的位置,進行改正有程序開發(fā)人員來進行,誰開發(fā)的程序就由誰來進行調試方法:強行排錯法回溯法原因排除法(演繹、歸納、二分法)例題3.5程序調試1任務例題2靜態(tài)調試通過人的思維來分析源程序代碼和排錯,是主要的調試手段3動態(tài)調試輔助靜態(tài)調試2靜態(tài)調試例題軟件工程的出現(xiàn)是由于()

A)程序設計方法學的影響B(tài))軟件產業(yè)化的需要C)軟件危機的出現(xiàn) D)計算機的發(fā)展C返回例題軟件工程的出現(xiàn)是由于()

例題軟件開發(fā)的結構化生命周期方法將軟件生命周期劃分成()A)定義、開發(fā)、運行維護B)設計階段、編程階段、測試階段C)總體設計、詳細設計、編程調試D)需求分析、功能定義、系統(tǒng)設計A下一題例題軟件開發(fā)的結構化生命周期方法將軟件A下一題例題需求分析階段的任務是確定()A.軟件開發(fā)方法B.軟件開發(fā)工具C.軟件開發(fā)費D.軟件系統(tǒng)功能D返回上一題例題需求分析階段的任務是確定()D返回上例題軟件定義階段包括()制定計劃:確定總目標;可行性研究;探討解決方案;制定開發(fā)計劃。需求分析:對待開發(fā)軟件提出的需求進行分析并給出詳細的定義。制定計劃和需求分析下一題例題軟件定義階段包括(例題軟件開發(fā)階段:軟件設計:分為()兩個部分。軟件實現(xiàn):把軟件設計轉換成計算機可以接受的程序代碼。軟件測試:在設計測試用例的基礎上檢驗軟件的各個組成部分。下一題概要設計和詳細設計上一題例題軟件開發(fā)階段:下一題概要設計和詳細設計上一題例題軟件運行維護階段:軟件投入運行,并在使用中不斷地維護,進行必要的擴充和刪改。軟件生命周期中所花費最多的階段是()。下一題軟件運行維護階段上一題例題軟件運行維護階段:軟件投入運行,并在下一題軟件運行維護階例題軟件需求分析階段的工作,可以分為四個方面:需求獲取、需求分析、編寫需求規(guī)格說明書以及()A.階段性報告B.需求評審

溫馨提示

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

評論

0/150

提交評論