《普通高等教育“十二五”規劃教材·高等學校規劃教材·軟件工程:方法與實踐(第2版)》是在吸取了國內外有關教材的精華,并結合作者多年從事軟件工程教學及軟件開發的實踐經驗、體會的基礎上編寫的。內容注重科學性、先進性,強調實踐性。在介紹軟件工程基礎知識的基礎上,重點介紹面向對象的分析、設計、測試及UML統一建模語言,以及CMM軟件成熟度模型、ERP企業資源規劃等先進管理技術。提供了豐富的軟件開發實例和素材,以及“軟件工程課程網站”。
《普通高等教育“十二五”規劃教材·高等學校規劃教材·軟件工程:方法與實踐(第2版)》可作為高等院校計算機及信息類專業本科生及研究生的“軟件工程”課程的教材,也可作為廣大工程技術人員和科研人員的參考書。
《普通高等教育“十二五”規劃教材·高等學校規劃教材·軟件工程:方法與實踐(第2版)》具有以下幾個特點: 內容豐富,涵蓋了,ACM/IEEE聯合工作組制定的軟件工程教育知識體系,介了CMM、UML、ERP、軟件復用及構件工程等軟件工程領域的最新技術,保證了內容的科學性和先進性。 理論與實踐密切結合,突出實踐教學,給出了綜合性的設計型“軟件工程課程設計”,提出以“項目驅動”的實踐教學改革方法,旨在培養學生的實踐能力及創新能力。 以案例教學為核心,提供了豐富的軟件項目開發案例,及4個采用UML建模的軟件開發實例,典型案例的學習,有利于調動學生學習掌握理論知識的積極性和主動性。 提供了豐富的優質教學資源,構建了“軟件工程”精品課程網站、軟件工程網絡課程及多媒體電子課件等有機結合的立體化教學環境。
第1章 軟件工程概述
1.1 軟件工程的產生和發展
1.1.1 軟件工程的發展過程
1.1.2 軟件危機
1.1.3 軟件工程的定義及基本原則
1.1.4 軟件工程研究的內容
1.2 軟件與軟件過程
1.2.1 軟件的概念和特點
1.2.2 軟件工程過程
1.3 軟件過程模型
1.4 軟件開發方法
1.4.1 結構化開發方法
1.4.2 原型化開發方法
1.4.3 面向對象的開發方法
1.5 軟件工具與軟件開發環境
小結
習題一
第2章 軟件需求工程
2.1 軟件需求的基本概念
2.1.1 軟件需求的任務
2.1.2 功能需求與非功能需求
2.2 需求工程過程
2.3 軟件需求獲取技術
2.4 需求分析與建模
2.4.1 結構化分析(SA)方法
2.4.2 面向對象的分析方法
2.5 軟件需求案例分析
2.5.1 案例1——醫院病房監護系統
2.5.2 案例2——網上拍賣系統
小結
習題二
第3章 軟件設計
3.1 軟件設計概述
3.2 軟件體系結構設計
3.2.1 倉庫模型
3.2.2 分布式結構
3.2.3 其他體系結構
3.3 模塊分解
3.3.1 模塊分解的目的
3.3.2 模塊間的關系
3.3.3 模塊的獨立性
3.3.4 信息隱蔽
3.4 詳細設計描述工具
3.5 面向對象的設計
3.6 用戶界面設計
3.6.1 用戶界面設計的特性與設計任務
3.6.2 用戶界面設計的基本原則
3.6.3 用戶界面的基本類型
3.6.4 信息輸入/輸出界面
3.6.5 MVC模式
小結
習題三
第4章 面向對象方法與UML建模語言
4.1 面向對象方法概述
4.1.1 面向對象方法的特點
4.1.2 幾種典型的面向對象方法
4.2 UML概述
4.2.1 UML的基本概念
4.2.2 UML的圖形表示
4.3 建立用例模型
4.3.1 需求分析與用例建模
4.3.2 確定執行者
4.3.3 確定用例
4.3.4 建立用例之間的關系
4.3.5 用例建模實例
4.4 建立靜態模型
4.4.1 類圖
4.4.2 包圖
4.5 建立動態模型
4.5.1 消息
4.5.2 狀態圖
4.5.3 順序圖
4.5.4 合作圖
4.5.5 活動圖
4.6 建立實現模型
第5章 軟件實現
第6章 軟件復用和組件技術
第7章 軟件測試
第8章 軟件維護
第9章 軟件工具與集成化環境
第10章 軟件項目管理
第11章 軟件能力成熟度模型
第12章 軟件工程課程設計
參考文獻
(4)第四代軟件工程
20世紀90年代起,基于組件(Component)的開發方法取得重要進展,軟件系統的開發可通過使用現存的可復用組件組裝完成,而無須從頭開始構造,以此達到提高效率和質量,降低成本的目的。軟件復用技術及組件技術的發展,對克服軟件危機提供了一條有效途徑,將這一階段稱為組件工程。
1.1.2 軟件危機
1.軟件危機的產生
軟件危機的出現是由于軟件的規模越來越大,復雜度不斷增加,而軟件需求量也不斷增大,生產作坊式的軟件開發模式及技術已不能滿足軟件發展的需要。
軟件開發過程是一種高密集度的腦力勞動,需要投入大量的人力、物力和財力;由于軟件開發的模式及技術不能適應軟件發展的需要,致使大量質量低劣的軟件產品涌向市場,有的甚至在開發過程中就夭折了。國外在開發一些大型軟件系統時,遇到了許多困難,有的系統最終徹底失敗了;有的系統則比原計劃推遲了好多年,而且費用大大超過了預算;或者系統功能不符合用戶的需求;也無法進行修改維護。典型的例子有:
IBM公司的OS/360,共約100萬條指令,花費了5000個人年,經費達數億美元,而結果卻令人沮喪,錯誤多達2000個以上,系統根本無法正常運行。OS/360系統的負責人Brooks這樣描述開發過程的困難和混亂:“像巨獸在泥潭中作垂死掙扎,掙扎得越猛,泥漿就沾得越多,最后沒有一個野獸能夠逃脫淹沒在泥潭中的命運……”。
1967年前蘇聯“聯盟一號”載人宇宙飛船,由于其軟件忽略一個小數點的錯誤,導致返航時打不開降落傘,當進入大氣層時因摩擦力太大而燒毀,造成機毀人亡的巨大損失。
……