軟體開發本身有著本質上的問題及困難,軟體工程各種工程層面及管理層面中涉及的技術,便是為了逐步克服與減緩這些軟體與生俱來的複雜性、易變性、隱藏性及一致性等問題,進而透過系統化的軟體流程改善,讓開發團隊能循序漸進地學習如何與這「軟體狼人」共舞。
本書彙整了李允中教授在國立臺灣大學資訊工程學系教授軟體工程這門課的主要內容,共分為十章,分別以軟體流程、需求工程、物件導向軟體開發、軟體設計、軟體專案設計與管理、軟體測試、軟體品質管理與保證、軟體建構管理、軟體正規方法論、軟體流程改善之軟體能力成熟度整合模式等為主題,循序漸進地帶領讀者認識軟體開發的完整過程,並在書末以企業個案為例,幫助讀者將前面各章所學的概念與技術融會貫通,進而完善屬於個人的軟體流程。
目錄
序:軟體工程的新思維與契機
第1章 軟體危機與流程
1.1 軟體危機
1.2 基本的軟體開發活動
1.3 軟體流程模式
第2章 需求工程
2.1 需求的種類
2.2 需求工程流程
2.3 需求管理
第3章 物件導向軟體開發
3.1 物件導向的基本概念
3.2 需求塑模
3.3 物件導向分析
3.4 物件導向設計
3.5 物件導向實作
3.6 目標導向使用案例
第4章 軟體設計
4.1 軟體設計概論
4.2 軟體架構設計與架構樣式
4.3 軟體設計策略與方法
4.4 軟體設計規畫
4.5 進階軟體設計
第5章 軟體專案計畫與管理
5.1 專案執行計畫書
5.2 專案範圍
5.3 專案時間排程
5.4 專案成本管理
5.5 資源管理
5.6 風險管理
5.7 專案監控
5.8 專案其他計畫
第6章 軟體測試
6.1 軟體測試的基本概念
6.2 軟體測試規畫
6.3 軟體靜態分析
6.4 軟體動態測試方法
6.5 軟體動態測試策略
第7章 軟體品質管理與保證
7.1 軟體品質管理
7.2 軟體品質保證
7.3 運用品質模式提升軟體品質
第8章 軟體建構管理
8.1 軟體建構管理計畫書與建構識別
8.2 軟體基準建置
8.3 軟體建構控制
8.4 軟體建構狀態報告
8.5 軟體建構稽核
第9章 軟體正規方法論
9.1 正規方法的基本概念
9.2 正規化規格技術的分類
9.3 軟體工程的數學理論
9.4 正規化規格語言
9.5 正規化與非正規化規格語言之整合
第10章 軟體流程改善
10.1 以模式為基礎的流程改善
10.2 能力成熟度整合模式的歷史演變
10.3 能力成熟度整合模式的組成與表達
10.4 能力成熟度整合模式的流程領域
10.5 從CMMI 2006到CMMI v3.0
10.6 持續整合與部署
附錄 軟體工程個案研究──需求管理
A.1 投票系統簡介
A.2 開發單位開發背景概況
A.3 開發流程的導入
A.4 新投票系統的開發
參考文獻
詞彙說明與索引
作者介紹
作者簡介
李允中
國立臺灣大學資訊工程學系教授。1993年自美國德州農工大學(Texas A&M University)電腦科學系博士畢業,同年受聘回臺任教於國立中央大學資訊工程學系,期間1999~2002年擔任資訊工程學系系主任、2003~2006年擔任軟體研究中心主任、2006~2012年兼任電子計算機中心主任,2012年起任職於國立臺灣大學資訊工程學系迄今。
在學術研究表現方面,曾獲頒2024年國際模糊學會(IFSA)Fellow、2010年IBM聯合大學研究獎、2008年中國電機工程師學會傑出電機工程教授、2006~2012年連續六年中央大學特聘教授;同時,也積極參與國內、外軟體工程領域的學術發展,曾於2024年擔任國際軟體工程研討會(ICSE)議程委員、2021年擔任亞太軟體工程研討會(APSEC)大會主席、2012年受邀擔任馬來西亞國立能源大學(University Tenaga Nasional)軟體工程系外部審查委員、2008~2011年擔任SPIN-Taiwan協會理事長、2008年擔任IEEE International Symposium on Service-Oriented System Engineering(SOSE)大會主席、2005~2011年擔任臺灣軟體工程學會創會理事長、2005年擔任APSEC議程主席、2001~2003年擔任IFSA副主席。
在軟體工程教育方面,曾於2004~2007年擔任教育部顧問室軟體工程聯盟召集人,期間成立跨院校的軟體工程聯盟並為國內大專院校規畫出軟體工程學程與課程教材,致力推動軟體核心能力教育;此外,也於2019年獲得臺灣大學教學優良獎。
在軟體產業貢獻方面,曾於2017~2019年擔任行政院科技會報首席評議專家、2013~2017年擔任經濟部標準檢驗局資訊及通信國家標準技術委員、2013~2015年擔任經濟部技術處科技顧問、2010~2011年擔任經濟部技術處SBIR資通訊領域召集人,在臺灣政府、產業界與學界戮力提倡軟體工程,促進臺灣軟體產業的發展與地位提升,被譽為臺灣軟體工程領域的推手。