軟體工程理論方法與實踐

2022-09-02 21:09:18 字數 2439 閱讀 5371

第一章、 概述  軟體是人類思維的傑作,並成為人類現代生活的催化劑。今天軟體遍布整個世界,在生物工程、現代通訊、宇宙探索、商務處理、工業控制等方面發揮出巨大的威力,並推動了商業、科學和工程領域的跨越式發展,對整個社會的經濟和文化產生了深遠的影響。軟體工程師為了解決開發成本效益和軟體質量的問題而產生的。軟體是電腦程式、規程以及執行計算機系統可能需要的相關文件和資料。軟體分為通用軟體和定製軟體。軟體的特性分別是軟體是複雜的、軟體是不可見的、軟體是不斷變化的、大多數軟體是定製的而不是通過已有構件組裝而成的。軟體工程是將系統性的、規範化的、可定量的方法應用於軟體的開發、執行和維護,即將工程化應用到軟體上。軟體工程的三要素分別是方法、工具和過程。軟體開發的主要挑戰是遺留系統的問題、高可信軟體開發的要求和軟體開發方式的變化。軟體工程人員的職業道德建設:1

、遵紀守法是軟體工程人員應具備的基本素質;

2、服務客戶、造福社會是軟體工程人員必須牢固樹立的觀念;

3、誠實信用是軟體工程人員職業道德的核心所在。

第二章、 軟體工程  軟體工程的目標是在規定的時間和預算內開發出高質量的軟體。軟體工程的基本活動是問題提出、軟體需求規格說明、軟體設計、軟體實現、軟體確認和軟體演化。軟體過程模型有瀑布模型、快速原型模型、增量模型、螺旋模型、形式化方法模型、基於元件的開發模型。

第三章、 軟體專案管理  隨著計算機應用的飛速發展,軟體開發規模和開發隊伍日益龐大,軟體開發不再像過去那樣是由個別開發人員即可以解決的事情,因此,有必要將軟體專案管理引入軟體開發活動中,從而有效的保證軟體專案能夠按照預定的成本、進度、質量要求順利完成。軟體專案的特徵有軟體產品的不可見性、專案的高度不確定性、軟體人員的高流動性。軟體專案管理集中於四個方面:人員、產品、過程、專案。軟體專案的組織有民主式組織結構、主程式設計師式組織結構、技術管理式組織結構。專案溝通活動:規劃專案溝通、建立基礎設施、實施階段性評審、每週組織小組會議。軟體規模估算:**行技術、功能點技術。軟體成本估算:專家判斷、模擬估算、cocomo

第四章、 需求工程  軟體需求是決定軟體開發是否成功的乙個關鍵元素,一旦發生錯誤,將會給整個軟體開發工作帶來極大的損害,並給以後的軟體維護帶來極大的困難。軟體需求分為:業務需求、使用者需求、功能需求和非功能需求、系統需求。需求工程的過程:需求獲取、需求分析、需求規格說明、需求驗證、需求管理。需求獲取技術:面談、需求專題討論會、觀察使用者工作流程、原型化方法、基於用例的方法。

第五章、 軟體工程中的形式化方法  從廣義上講,形式化方法是指將離散數學的方法用於解決軟體工程領域的問題,主要包括建立精確的數學模型以及對模型的分析活動。狹義的講,形式化方法是運用形式化語言,進行形式化的規格描述、模型推理和驗證的方法。將形式化方法運用於軟體工程實踐的過程中主要是為了保證軟體的正確性。

第六章、 物件導向基礎  物件導向技術是軟體工程領域中的重要技術,這種技術比較自然的模擬了人類認識客觀世界的方式,成為當前計算機軟體工程學中的主流方法。物件導向的基本概念有物件、類、封裝、繼承、訊息、關聯聚合、多型性。軟體建模的概念有系統、模型和檢視、軟體建模的重要性。uml

的概念模型有檢視、圖、模型元素、語義法則、公共機制、擴充套件機制。常用的

uml圖有用例圖、類圖、順序圖、狀態圖。

第七章、 物件導向分析  物件導向的分析模型由功能模型、分析物件模型、動態模型組成。識別分析類包括識別邊界類、識別控制類、識別實體類。建立分析類圖:興義關係和屬性、應用分析模式。

第八章、 物件導向設計  物件導向設計階段將集中研究系統的軟體實現問題,包括體系結構設計、詳細設計、使用者介面設計和資料庫設計等。設計的原則有模組化、耦合度和內聚性、復用性。軟體體系結構:倉庫體系結構、分層體系結構、mvc

體系結構、客戶機

/伺服器體系結構、管道和過濾器體系結構、案例:

minilibrary

系統體系結構。系統設計:識別設計元素、資料儲存策略、部署子系統系統設計評審。詳細設計:方法建模、屬性建模、狀態建模、關係建模、詳細設計評審。應用設計模式:

abstract factory

模式、adaptor

模式、bridge

模式、façade模式。使用者介面設計:使用者介面設計原則、web

介面的設計、使用者支援。

第九章、 軟體實現  軟體實現是軟體產品由概念到實體的乙個關鍵過程,它將詳細設計的結果翻譯成用某種程式語言編寫的並且最終可以執行的程式**。軟體編碼規範:檔案命名與組織、帶碼的板式、命名規則、宣告、注釋。

第十章、 軟體測試  驗證與確認:軟體的錯誤、驗證與確認、v&v

的活動。軟體的測試策略:單元測試(模組介面測試、區域性資料結構測試、重要執行路徑測試、錯誤處理測試、邊界條件測試、單元測試方法)、整合測試(自頂向下整合、自底向上整合)、確認測試、系統測試、軟體除錯(簡單的除錯方法、歸納法除錯演繹法除錯、回溯發除錯)。軟體測試方法:靜態測試與動態測試、黑盒測試與白盒測試

第十一章、 軟體演化  軟體維護的概念:軟體維護是指在軟體執行或維護階段對軟體產品所進行的修改,分別有改正性維護、適應性維護、完善性維護。軟體維護的特點:軟體維護手開發過程影響大、軟體維護困難多、軟體維護成本高。軟體再生工程:物件選擇、反向工程、文件重構、**重構、資料重構。

軟體工程 理論 方法與實踐

第一章 概述 軟體是電腦程式 規程以及計算機系統可能需要的相關文件和資料。軟體一般分為通用和定製軟體。軟體的特性 1 軟體是複雜的 2 軟體是不可見的 3 軟體是不斷變化的 4 大多數軟體是定製的,而不是通過已有的構件組裝的。軟體工程師為了經濟的獲得能夠在實際機器上高效執行的可靠軟體而建立和使用的一...

軟體工程 理論 方法與實踐 之 軟體演化

軟體工程 理論 方法與實踐 之 軟體演化 一旦軟體進去使用期,一些暴露出來的軟體問題需要進一步修正和改善,同時新的需求會不斷出現,原有的需求也會隨著業務的變化而發生變化。因此,軟體系統在交付之後仍然在不斷地演化,即進去軟體的執行維護階段,以保證軟體長期處於可用狀態,並能夠適應實際業務的不斷變化。軟體...

軟體工程 理論 方法與實踐 之 軟體測試

軟體工程 理論 方法與實踐 之 軟體測試 軟體危機曾經是軟體界甚至整個計算機界最熱門的話題。為了解決這場危機,軟體從業人員 專家和學者做出了大量的努力。現在人們已經逐步認識到所謂的軟體危機實際上僅是一種狀況,你就是軟體中有錯誤,這是這些錯誤導致了軟體開發在成本 進度和質量上的失控。有錯是軟體的屬性,...