




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、.軟件工程基礎(chǔ)部分知識點總結(jié)知識點一軟件工程的基本概念1、軟件定義:是計算機系統(tǒng)中與硬件相互依存的另一部分,是包括程序、數(shù)據(jù)以及相關(guān)文檔的完整集合。1)程序是軟件開發(fā)人員根據(jù)用戶需求開發(fā)的、用程序設(shè)計語言描述的、適合計算機執(zhí)行的指令(語句)序列。2)數(shù)據(jù)是使程序能夠正常操作信息的數(shù)據(jù)結(jié)構(gòu)。3)文檔是與程序開發(fā)、維護和使用有關(guān)的圖文資料。國標(gb)計算機軟件的定義:與計算機系統(tǒng)的操作相關(guān)的計算機程序、規(guī)程、規(guī)則以及可能有的文件、文檔及數(shù)據(jù)。2、軟件特點:,1)軟件是一種邏輯實體,而不是物理實體,具有抽象性是計算機的無形部分;2)軟件的生產(chǎn)與硬件不同,它沒有明顯的制作過程;3)軟件在運行、使用期
2、間不存在磨損、老化問題;4)軟件的開發(fā)、運行對計算機系統(tǒng)具有依賴性,受計算機系統(tǒng)的限制,這導(dǎo)致了軟件移植的問題;5)軟件復(fù)雜性高,成本昂貴;6)軟件開發(fā)涉及諸多的社會因素3、軟件的分類:按照功能可以分為:應(yīng)用軟件、系統(tǒng)軟件、支撐軟件(或工具軟件).1)應(yīng)用軟件是為解決特定領(lǐng)域的應(yīng)用而開發(fā)的軟件。2)系統(tǒng)軟件是計算機管理自身資源,提高計算機使用效率并為計算機用戶提供各種服務(wù)的軟件。3)支撐軟件是介于系統(tǒng)軟件和應(yīng)用軟件之間,協(xié)助用戶開發(fā)軟件的工具軟件。4、軟件危機:是指在軟件的開發(fā)和維護過程中所遇到的一系列嚴重問題。軟件危機主要體現(xiàn)在以下幾個方面:軟件開發(fā)的實際成本和進度估計不準確開發(fā)出來的軟件常
3、常不能使用戶滿意軟件產(chǎn)品的質(zhì)量不高,存在漏洞,需要經(jīng)常打補丁大量已有的軟件難以維護軟件缺少有關(guān)的文檔資料開發(fā)和維護成本不斷提高,直接威脅計算機應(yīng)用的擴大軟件生產(chǎn)技術(shù)進步緩慢,跟不上硬件的發(fā)展和人們需求增長5、軟件工程:此概念的出現(xiàn)源自軟件危機。軟件工程是指應(yīng)用計算機科學(xué)、數(shù)學(xué)及管理科學(xué)等原理,以工程化的原則和方法來開發(fā)與維護軟件的學(xué)科。1)研究軟件工程的主要目的就是在規(guī)定的時間、規(guī)定的開發(fā)費用內(nèi)開發(fā)出滿足用戶需求的高質(zhì)量的軟件系統(tǒng)(高質(zhì)量是指錯誤率低、好用、易用、可移植、易維護等)。2)軟件工程的三個要素:方法、工具和過程。方法:完成軟件工程項目的技術(shù)手段;.工具:支持軟件的開發(fā)、管理、文檔生
4、成;過程:支持軟件開發(fā)的各個環(huán)節(jié)的控制、管理。3)軟件工程的核心思想:把軟件產(chǎn)品看作是一個工程產(chǎn)品來處理。知識點二軟件的生命周期1、軟件生命周期概念:將軟件產(chǎn)品從提出、實現(xiàn)、使用維護到停止使用退役的過程稱為軟件生命周期。2、軟件生命周期一般劃分為定義、開發(fā)和維護3個階段:1)定義階段:可行性研究、需求分析2個階段;軟件定義階段:包括制定計劃和需求分析。制定計劃:確定總目標;可行性研究;探討解決方案;制定開發(fā)計劃。需求分析:對待開發(fā)軟件提出的需求進行分析并給出詳細的定義。方法:1)結(jié)構(gòu)化需求分析方法;2)面向?qū)ο蟮姆治龇椒āH蝿?wù):導(dǎo)出目標系統(tǒng)的邏輯模型,解決“做什么”的問題。步驟:需求分析一般分
5、為需求獲取、需求分析、編寫需求規(guī)格說明書和需求評審四個步驟進行。2)開發(fā)階段:概要設(shè)計、詳細設(shè)計、編碼實現(xiàn)和測試4個階段;軟件設(shè)計:分為概要設(shè)計和詳細設(shè)計兩個部分。軟件實現(xiàn):把軟件設(shè)計轉(zhuǎn)換成計算機可以接受的程序代碼。軟件測試:在設(shè)計測試用例的基礎(chǔ)上檢驗軟件的各個組成部分。.3)維護階段:使用、維護、退役階段。軟件運行維護階段:軟件投入運行,并在使用中不斷地維護,進行必要的擴充和刪改。軟件生命周期中所花費最多的階段是軟件運維護階段。4)軟件工程原則:抽象、信息隱蔽、模塊化、局部化、確定性、一致性、完備性和可驗證性。5)軟件工具就是幫助開發(fā)軟件的軟件。它們對提高軟件生產(chǎn)率,促進軟件生產(chǎn)的自動化都有
6、重要的作用。6)軟件開發(fā)環(huán)境(或稱軟件工程環(huán)境)是全面支持軟件開發(fā)全過程的軟件工具的集合,這些軟件工具按照一定的方法和模式組合起來,共同支持軟件生命周期內(nèi)的各個階段和各項任務(wù)的完成。知識點三軟件設(shè)計基本概念1、軟件工程過程:問題定義可行性研究需求分析軟件設(shè)計軟件編碼軟件測試軟件維護2、軟件設(shè)計分為總體設(shè)計和詳細設(shè)計1)總體設(shè)計目的:要解決的問題是“怎樣實現(xiàn)目標系統(tǒng)”任務(wù):確定軟件的總體結(jié)構(gòu),進行模塊劃分,確定每個模塊的功能、接口及模塊之間的調(diào)用關(guān)系,并對全局數(shù)據(jù)結(jié)構(gòu)進行設(shè)計,同時產(chǎn)生.概要設(shè)計說明書2)詳細設(shè)計目的:要解決的問題是“應(yīng)該怎樣具體實現(xiàn)目標系統(tǒng)”任務(wù):在概要設(shè)計的基礎(chǔ)上,設(shè)計每個模
7、塊實現(xiàn)的細節(jié)及對局部數(shù)據(jù)進行設(shè)計(包括模塊的數(shù)據(jù)結(jié)構(gòu)和所需的算法),同時產(chǎn)生詳細設(shè)計說明書3、軟件編碼目的:產(chǎn)生能在計算機上執(zhí)行的程序任務(wù):根據(jù)系統(tǒng)的要求和開發(fā)環(huán)境,選用合適的程序設(shè)計語言,把詳細設(shè)計的結(jié)果翻譯成用該程序設(shè)計語言編寫的程序代碼(源程序)4、軟件測試是為了發(fā)現(xiàn)程序中的錯誤而執(zhí)行程序的過程目的和任務(wù):通過在計算機上執(zhí)行程序來盡可能多地發(fā)現(xiàn)軟件產(chǎn)品中的錯誤和缺陷,并改正程序中的錯誤,以保證程序的可靠運行5、軟件維護階段是長期的過程,因為,經(jīng)過測試的軟件還可能有錯,用戶的要求還會發(fā)生變化,軟件運行的環(huán)境也可能變化等等。因此,交付使用的軟件仍然需要繼續(xù)排錯、修改和擴充,這就是軟件維護。軟
8、件維護的目的是滿足用戶對已開發(fā)產(chǎn)品的性能與運行環(huán)境不斷提高的需要,進而達到延長軟件的壽命軟件維護就是在軟件交付使用之后,為了改正錯誤或滿足新的需要而修改軟件的過程。軟件維護的類型有如下幾種:1)改正性維護:診斷和改進錯誤的過程。.2)適應(yīng)性維護:為與變化的環(huán)境適當(dāng)配合而進行的修改軟件的活動。3)完善性維護:為了滿足用戶提出的增加新功能或修改已有功能的建議而進行維護。4)預(yù)防性維護:為了改進未來的可維護性和可靠性。軟件開發(fā)時期要完成設(shè)計和實現(xiàn)兩大任務(wù),其中設(shè)計任務(wù)用需求分析和軟件設(shè)計兩個階段完成,實現(xiàn)任務(wù)用編碼和測試兩個階段完成。開發(fā)任務(wù)完成的好與壞,關(guān)系到軟件產(chǎn)品的質(zhì)量,完成開發(fā)任務(wù)的關(guān)鍵是選
9、擇好的軟件開發(fā)方法。目前,軟件開發(fā)方法主要有結(jié)構(gòu)化開發(fā)方法和面向?qū)ο箝_發(fā)方法知識點4軟件設(shè)計的基本原理軟件設(shè)計的基本原理包括:抽象、模塊化、信息隱蔽和模塊獨立性。1、模塊化:指解決問題時自頂向下的方法逐層把軟件系統(tǒng)劃分成若干個模塊的過程2、抽象:認識復(fù)雜過程中使用的思維工具,即抽出事務(wù)的本質(zhì)的共同的特性而暫不考慮它的細節(jié)和其他因素。3、信息隱蔽:旨在設(shè)計和確定模塊式的時候,是的一個模塊內(nèi)包含的信息,對于不需要這些信息的其他模塊來說不可訪問4、模塊獨立性:指每個模塊只完成系統(tǒng)要求的獨立的功能,并且與其他模塊聯(lián)系最少且接口簡單模塊的耦合性和內(nèi)聚性是衡量軟件的模塊獨立性的兩個定性指標。.1)內(nèi)聚性:
10、是對模塊功能強度的度量,即對一個模塊內(nèi)部各個元素(語句之間、程序段)間彼此結(jié)合的緊密程度的度量。2)耦合性:是模塊間互相連接的緊密程度的度量。模塊之間聯(lián)系越緊密,其耦合性就越強,模塊的獨立性則越差。一個設(shè)計良好的軟件系統(tǒng)應(yīng)具有高內(nèi)聚、低耦合的特征。在結(jié)構(gòu)化程序設(shè)計中,模塊劃分的原則是:模塊內(nèi)具有高內(nèi)聚度,模塊間具有低耦合度。軟件設(shè)計有兩個步驟:(1)概要設(shè)計(又稱結(jié)構(gòu)設(shè)計)是將軟件需求轉(zhuǎn)化為軟件體系結(jié)構(gòu)、確定系統(tǒng)級接口、全局數(shù)據(jù)結(jié)構(gòu)或數(shù)據(jù)庫模式;(2)詳細設(shè)計是確定每個模塊的實現(xiàn)算法和局部數(shù)據(jù)結(jié)構(gòu),通過對結(jié)構(gòu)表示進行細化,得到軟件的詳細數(shù)據(jù)結(jié)構(gòu)和算法。知識點5結(jié)構(gòu)化分析方法結(jié)構(gòu)化方法的軟件開發(fā)
11、過程軟件計劃后編碼并測試結(jié)構(gòu)化分析結(jié)構(gòu)化設(shè)計結(jié)構(gòu)化程序設(shè)計面向?qū)ο蠓椒ǖ能浖_發(fā)過程軟件計劃后面向?qū)ο蠓置嫦驅(qū)ο笤O(shè)計面向?qū)ο缶幊誊浖y試析1、結(jié)構(gòu)化分析(簡稱sa)方法是面向數(shù)據(jù)流進行需求分析的方法。.2、結(jié)構(gòu)化分析方法的常用工具:數(shù)據(jù)流圖、數(shù)據(jù)字典、結(jié)構(gòu)化語言、判定樹、判定表3、sa的基本步驟如下:自頂向下對系統(tǒng)進行功能分解,畫出分層的數(shù)據(jù)流圖由后向前定義系統(tǒng)的數(shù)據(jù)和加工,編制數(shù)據(jù)字典和加工說明寫出需求規(guī)格說明書(srs)4、數(shù)據(jù)流圖是以圖形的方式描繪數(shù)據(jù)在軟件系統(tǒng)中流動和處理的過程,由于它只反映系統(tǒng)必須完成的邏輯功能,所以它是一種功能模型。數(shù)據(jù)流圖由數(shù)據(jù)流、加工(又稱數(shù)據(jù)處理)、數(shù)據(jù)存儲(
12、又稱文件)、數(shù)據(jù)源點或終點四種基本成分組成。數(shù)據(jù)流圖(簡稱dfd)圖形元素:數(shù)據(jù)流:是數(shù)據(jù)在系統(tǒng)內(nèi)傳播的路徑。使用箭頭代表數(shù)據(jù)的流向,數(shù)據(jù)名稱標在箭頭的邊上加工:輸入數(shù)據(jù)經(jīng)過加工變換產(chǎn)生輸出。使用圓框代表加工數(shù)據(jù)存儲:指處理過程中存放各種數(shù)據(jù)。使用雙杠(或單杠)表示數(shù)據(jù)文件或數(shù)據(jù)庫。文件與加工之間用箭頭線連接,單向表示只讀或只寫,雙向表示可讀可寫.數(shù)據(jù)源點或終點:指軟件系統(tǒng)外部環(huán)境中的實體(包括人員、組織或其他軟件系統(tǒng),統(tǒng)稱為外部實體)。使用方框表示數(shù)據(jù)的源點和終點5、建立數(shù)據(jù)流圖的步驟:第一步:由外向里:先畫系統(tǒng)的輸入輸出,然后畫系統(tǒng)的內(nèi)部。第二步:自頂向下:順序完成頂層、中間層、底層數(shù)據(jù)流
13、圖。第三步:逐層分解。6、dfd圖的數(shù)據(jù)流可分為兩種類型:變換流和事務(wù)流變換流:信息沿著輸入通路進入系統(tǒng),同時將信息的外部形式轉(zhuǎn)換成內(nèi)部形式,通過變換中心處理之后,再沿著輸出通路轉(zhuǎn)換成外部形式輸出事務(wù)流:信息沿著輸入通路到達一個事務(wù)中心,事務(wù)中心根據(jù)輸入信息的類型在若干個動作序列中選擇一個來執(zhí)行,這種信息流稱為事務(wù)流7、數(shù)據(jù)字典就是用來定義數(shù)據(jù)流圖中的各個成分的具體含義和詳細的描述。它和數(shù)據(jù)流圖共同構(gòu)成了系統(tǒng)的邏輯模型,是需求規(guī)格說明書的主要組成部分。是結(jié)構(gòu)化分析方法的核心。數(shù)據(jù)字典是為分析人員查找數(shù)據(jù)流圖中有關(guān)名字的詳細定義而服務(wù)的。數(shù)據(jù)字典有四類條目:數(shù)據(jù)流、數(shù)據(jù)項、數(shù)據(jù)存儲和基本加工。8
14、、sd方法的中心任務(wù)就是把用dfd圖表示的系統(tǒng)分析模型方便地轉(zhuǎn)換為軟件結(jié)構(gòu)的設(shè)計模型。.識點6軟件測試的目的和準則1、軟件測試是保證軟件質(zhì)量的重要手段,其主要過程涵蓋了整個軟件生命周期的過程,包括需求定義階段的需求測試、編碼階段的單元測試、集成測試以及后期的確認測試、系統(tǒng)測試、驗證軟件是否合格、能否交付給用戶使用。軟件測試就是使用人工或自動手段來運行或測定某個系統(tǒng)的過程,其目的在于檢驗它是否滿足規(guī)定的需求或是弄清預(yù)期結(jié)果與實際結(jié)果之間的差別。2、軟件測試的原則:1)所有測試都應(yīng)追溯到需求2)嚴格執(zhí)行測試計劃,排除測試的隨意性3)避免由軟件開發(fā)人員測試自己的程序4)充分注意測試中的群集性現(xiàn)象5)
15、除了很小的程序外,“徹底”的窮舉測試是不可能的6)妥善保存測試計劃、測試用例、出錯統(tǒng)計和最終的分析報告,為維護提供方便軟件測試的每一次測試都需要準備好一些測試數(shù)據(jù),與被測程序一起輸入到計算機中執(zhí)行;知識點7軟件測試的方法和實施.1、測試是對軟件規(guī)格說明、設(shè)計和編碼的最后的復(fù)審,所以軟件測試貫穿在整個軟件開發(fā)期的全過程。對于軟件測試方法和技術(shù),可以從不同的角度加以分類。從是否需要執(zhí)行被測軟件的角度,軟件測試分為靜態(tài)分析和動態(tài)測試按照功能劃分,動態(tài)測試又分為白盒測試和黑盒測試2、靜態(tài)測試一般是指人工評審軟件文檔或程序,借以發(fā)現(xiàn)其中的錯誤,由于被評審的文檔或程序不必運行,所以稱為靜態(tài)的。靜態(tài)測試包括
16、代碼檢查、靜態(tài)結(jié)構(gòu)分析、代碼質(zhì)量度量等。3、動態(tài)測試是指通過運行軟件來檢查軟件中的動態(tài)行為和運行結(jié)果的正確性,也就是常說的上機測試。動態(tài)測試一般包括兩個基本要素:被測程序和測試數(shù)據(jù)4、測試能否發(fā)現(xiàn)錯誤取決于測試用例的設(shè)計。動態(tài)測試的設(shè)計測試用例的方法一般分為黑盒測試和白盒測試。白盒測試也稱結(jié)構(gòu)測試,它與程序內(nèi)部結(jié)構(gòu)相關(guān),要利用程序結(jié)構(gòu)的實現(xiàn)細節(jié)設(shè)計測試用例,它涉及程序風(fēng)格、控制方法、源程序、數(shù)據(jù)庫設(shè)計和編碼細節(jié)。黑盒測試是測試者已經(jīng)知道被測程序的功能,而對程序內(nèi)部的邏輯結(jié)構(gòu)和處理過程完全不用考慮,只是對它的每一個功能進行測試,將測試后的結(jié)果與期望的結(jié)果進行分析比較,檢查程序的功能是否符合規(guī)格說
17、明書的要求。黑盒測試是在程序接口進行的測試.5、測試用例是由測試數(shù)據(jù)和期望結(jié)果組成。設(shè)計測試用例的目的就是用盡可能少的測試數(shù)據(jù),達到盡可能大的程序覆蓋面,發(fā)現(xiàn)盡可能多的軟件錯誤和問題6、用白盒法設(shè)計測試用例常用以下幾種技術(shù):語句覆蓋判定覆蓋條件覆蓋判定條件覆蓋條件組合覆蓋路徑覆蓋7、用黑盒法設(shè)計測試用例常用以下幾種技術(shù):等價類劃分法邊界值分析法錯誤推測法因果圖法8、軟件測試的實施單元測試:是對每一個編制好的模塊進行測試,其目的在于發(fā)現(xiàn)和排除各模塊內(nèi)部可能存在的差錯及詳細設(shè)計中產(chǎn)生的錯誤。進行單元測試時,根據(jù)程序的內(nèi)部結(jié)構(gòu)設(shè)計測試用例,主要采用白盒測試法集成測試。是在單元測試的基礎(chǔ)上,將所有模塊
18、按照設(shè)計要求組裝成為系統(tǒng)而進行的測試,它的任務(wù)是檢查模塊間的接口和通信、各子功能的組合能否達到預(yù)期要求的功能、全程數(shù)據(jù)結(jié)構(gòu)是否有問題等。集成測試主要發(fā)現(xiàn)設(shè)計階段產(chǎn)生的錯誤,通常采用黑盒測試法。集成測試時,將各個模塊組裝成系統(tǒng)的方法有:非增量組裝方式是先分別對每個模塊進行單元測試,再把所有模塊按設(shè)計要求組裝在一起進行測試,最終得到所要求的軟件增量組裝方式是把下一個要測試的模塊同已經(jīng)測試好的那些模塊結(jié)合起.來進行測試,測試完以后再把下一個應(yīng)該測試的模塊結(jié)合進來測試確認測試。確認測試是在集成測試通過后,在用戶的參與下進行確認測試。這時通常使用實際數(shù)據(jù)進行測試,以驗證系統(tǒng)是否能滿足用戶的實際需要。它的任務(wù)就是以需求規(guī)格說明書作為依據(jù)來驗證軟件的性能、功能及其他特征是否與用戶的要求一致,通常采用黑盒測試系統(tǒng)測試。系統(tǒng)測試是在更大范圍內(nèi)進行的測試。系統(tǒng)測試是把通過確認測試后
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 給水工程維修協(xié)議書范本
- 汽車質(zhì)押貸款信用評估協(xié)議
- 車庫租賃合同及車位分配管理協(xié)議
- 車位買賣合同補充協(xié)議(含車位租賃期限約定)
- 咖啡館門面房租賃管理服務(wù)合同
- 高端酒店客房管理承包經(jīng)營合同范本
- 廚房安全工作協(xié)議書范本
- 生態(tài)旅游項目投資建設(shè)合同
- 房屋裝修保修協(xié)議書范本
- 沿街商鋪租賃合同參考范本
- 中學(xué)生日常行為習(xí)慣養(yǎng)成課題計劃2
- 供應(yīng)商綠色環(huán)保環(huán)境管理體系評估表
- GB∕T 11344-2021 無損檢測 超聲測厚
- 滬教牛津版小學(xué)一至六年級英語單詞匯總(最新)
- 《云南省建筑工程資料管理規(guī)程應(yīng)用指南)(上下冊)
- 數(shù)列求和中常見放縮方法和技巧(含答案)
- 寶興縣中藥材生產(chǎn)現(xiàn)狀及發(fā)展思路
- 臺州市幼兒園教師考核表.
- 小兒霧化吸入課件.ppt
- TM92成品鞋彎折測試
- 鎖骨骨折幻燈片
評論
0/150
提交評論