軟件已經(jīng)成為驅(qū)動(dòng)我們這個(gè)社會(huì)發(fā)展的重要力量。軟件工程作為一門研究系統(tǒng)、規(guī)范、合理化軟件開發(fā)的學(xué)科,已經(jīng)成為計(jì)算機(jī)專業(yè)、軟件工程專業(yè)的核心課程,也是其它專業(yè)可能選修的課程。目前已經(jīng)有許多的軟件工程教科書,不少教科書還是這個(gè)領(lǐng)域的經(jīng)典。顯然,這些教科書在解釋軟件工程的相關(guān)理論、技術(shù)方面均有自己的獨(dú)特之處。然而,軟件工程不是一門單純理論性的課程,學(xué)生在學(xué)習(xí)時(shí)除了完成一些作業(yè)外,必須能夠進(jìn)行軟件工程的實(shí)踐,而且這種實(shí)踐不是個(gè)別環(huán)節(jié)、個(gè)別技術(shù)的。因此,以小組為單位讓學(xué)生能夠真實(shí)地以軟件工程方法為指導(dǎo)完整地開發(fā)一個(gè)軟件就非常有必要了。目前,許多學(xué)校在教這一門課程時(shí),也確實(shí)要求學(xué)生進(jìn)行小組項(xiàng)目的開發(fā)。然而,在這個(gè)過程中,軟件工程的教科書由于講解知識(shí)點(diǎn)為主,往往并未給以明確的實(shí)踐指導(dǎo)。
上海交通大學(xué)教授,
研究方向:1. 服務(wù)計(jì)算2. 網(wǎng)絡(luò)計(jì)算3. 智能數(shù)據(jù)分析
教授課程:(1)軟件工程 (本科)
(2)信息系統(tǒng)建模(博士生)
(3)IT項(xiàng)目管理 (碩士生)
(4)金融服務(wù)計(jì)算 (研究生實(shí)踐課)
第一篇 指南篇
第1章 軟件工程概論
1.1 軟件工程的發(fā)展歷史
1.1.1 第一臺(tái)計(jì)算機(jī)和第一位程序員
1.1.2 軟件的發(fā)展和軟件危機(jī)
1.1.3 軟件工程的提出
1.2 軟件工程基本思想
1.2.1 抽象
1.2.2 分解
1.2.3 復(fù)用
1.3 傳統(tǒng)軟件工程
1.4 面向?qū)ο蠓椒▽W(xué)
1.4.1 面向?qū)ο蠓椒▽W(xué)的起源
1.4.2 面向?qū)ο蠓椒▽W(xué)的核心概念
1.4.3 面向?qū)ο蟮奶匦?br />
1.4.4 類之間的關(guān)系
1.4.5 面向?qū)ο蟮膬?yōu)點(diǎn)
第2章 面向?qū)ο筌浖^程
2.1 面向?qū)ο蠓椒ǖ陌l(fā)展
2.2 面向?qū)ο蠓治、設(shè)計(jì)與實(shí)現(xiàn)
2.2.1 面向?qū)ο蠓治?br />
2.2.2 面向?qū)ο笤O(shè)計(jì)
2.2.3 面向?qū)ο髮?shí)現(xiàn)
2.3 面向?qū)ο筌浖_發(fā)流程
2.4 統(tǒng)一開發(fā)過程——RUP
第3章 統(tǒng)一建模語言
3.1 UML簡介
3.1.1 UML產(chǎn)生與發(fā)展
3.1.2 UML是什么
3.2 UML與軟件體系結(jié)構(gòu)
3.2.1 軟件體系結(jié)構(gòu)
3.2.2 UML五大視圖
3.3 UML的構(gòu)成
3.3.1 UML模型元素
3.3.2 UML模型圖
3.3.3 公共機(jī)制
3.4 UML建模規(guī)則
3.5 靜態(tài)建模機(jī)制模型圖
3.5.1 用例圖(use case diagram)
3.5.2 類圖(class diagram)
3.5.3 包圖(package diagram)
3.5.4 對(duì)象圖(object diagram)
3.5.5 組件圖(component diagram)
3.5.6 部署圖(deployment diagram)
3.6 動(dòng)態(tài)建模機(jī)制模型圖
3.6.1 狀態(tài)圖(statechart diagram)
3.6.2 活動(dòng)圖(activity diagram)
3.6.3 順序圖(sequence diagram)
3.6.4 通信圖(communication diagram)
3.6.5 其他圖
3.7 典型的UML建模工具
3.7.1 Sybase PowerDesigner
3.7.2 Microsoft Visio
3.7.3 Rational Rose
3.7.4 StarUML
第4章 計(jì)劃階段
4.1 計(jì)劃階段的主要內(nèi)容
4.2 可行性研究
4.2.1 進(jìn)行可行性研究的目的與方法
4.2.2 可行性研究報(bào)告的編寫方法
4.3 項(xiàng)目開發(fā)計(jì)劃
4.3.1 項(xiàng)目開發(fā)計(jì)劃的目的與主要內(nèi)容
4.3.2 項(xiàng)目開發(fā)計(jì)劃的編寫方法
4.4 風(fēng)險(xiǎn)分析
4.4.1 風(fēng)險(xiǎn)管理
4.4.2 風(fēng)險(xiǎn)列袁的編寫方法
第5章 需求定義階段
5.1 需求定義階段的主要內(nèi)容
5.2 功能需求的表達(dá)
5.2.1 基于用例的功能需求獲取
5.2.2 用例的編寫方法
5.2.3 fj例模型與用例圖
5.2.4 用例建模流程與注意點(diǎn)
5.3 非功能需求和設(shè)計(jì)約束
5.3.1 可用性
5.3.2 可靠性
5.3.3 性能
5.3.4 可支持性
5.3.5 設(shè)計(jì)約束
5.4 軟件需求規(guī)格說明的編寫
5.4.1 目前系統(tǒng)
5.4.2 建議的系統(tǒng)
5.4.3 系統(tǒng)模型
5.5 詞匯表的編寫
第6章 分析階段
6.1 分析階段的主要內(nèi)容
6.2 對(duì)象模型的創(chuàng)建
6.2.1 類的識(shí)別
6.2.2 對(duì)象模型的表達(dá)
6.3 動(dòng)態(tài)模型的創(chuàng)建
6.3.1 交互圖
6.3.2 狀態(tài)圖
6.4 軟件需求規(guī)格說明的修改
第7章 設(shè)計(jì)階段
7.1 設(shè)計(jì)階段的主要內(nèi)容
7.2 軟件設(shè)計(jì)的原則
7.3 從可重用軟件單元到可重用設(shè)計(jì)知識(shí)
7.3.1 類庫
7.3.2 軟件框架
7.3.3 中間件
7.3.4 設(shè)計(jì)模式
7.4 系統(tǒng)設(shè)計(jì)
7.4.1 系統(tǒng)設(shè)計(jì)中的概念
7.4.2 確定系統(tǒng)設(shè)計(jì)目標(biāo)
7.4.3 子系統(tǒng)的識(shí)別
7.5 對(duì)象設(shè)計(jì)
7.5.1 對(duì)象設(shè)計(jì)的相關(guān)概念
7.5.2 對(duì)象設(shè)計(jì)的工具與過程
7.5.3 對(duì)象識(shí)別和定義
7.6 運(yùn)行設(shè)計(jì)
7.7 實(shí)現(xiàn)設(shè)計(jì)
7.8 軟硬件部署設(shè)計(jì)
7.9 數(shù)據(jù)管理設(shè)計(jì)
7.10 其他設(shè)計(jì)
7.11 設(shè)計(jì)階段交付物
7.11.1 設(shè)計(jì)模型
7.11.2 軟件架構(gòu)文檔
第8章 構(gòu)造階段
8.1 構(gòu)造階段的主要內(nèi)容
8.2 正向工程與逆向工程
8.2.1 正向工程與模型驅(qū)動(dòng)的體系架構(gòu)
8.2.2 逆向工程
8.3 單元測試與測試驅(qū)動(dòng)開發(fā)
8.4 軟件重構(gòu)
8.5 從設(shè)計(jì)模型生成代碼
8.6 構(gòu)造過程中的優(yōu)化
8.7 類與關(guān)系數(shù)據(jù)庫表的映射
8.8 構(gòu)造階段交付物
8.8.1 代碼與模塊
8.8.2 模塊開發(fā)卷宗
第9章 軟件測試
9.1 軟件測試的主要內(nèi)容
9.1.1 測試計(jì)劃的制訂
9.1.2 測試用例和測試流程的設(shè)計(jì)
9.1.3 測試的準(zhǔn)備
9.1.4 執(zhí)行測試
9.1.5 測試評(píng)估
9.2 測試類型
9.2.1 按照測試階段劃分
9.2.2 按測試手段劃分
9.3 軟件測試工具
9.4 測試階段交付物
9.4.1 軟件測試計(jì)劃
9.4.2 軟件測試總結(jié)報(bào)告
第10章 交付階段
10.1 交付階段的主要內(nèi)容
10.2 交付確認(rèn)
10.3 系統(tǒng)上線
10.4 交付階段文檔編寫
10.4.1 交付清單的編寫
10.4.2 用戶手冊(cè)的編寫
10.4.3 軟件驗(yàn)收?qǐng)?bào)告的編寫
第11章 總結(jié)階段
11.1 總結(jié)的主要內(nèi)容
11.2 項(xiàng)目總結(jié)報(bào)告的編寫
第二篇 案例篇
第12章 校園二手商品交易市場項(xiàng)目
12.1 計(jì)劃階段
12.1.1 可行性分析報(bào)告
12.1.2 項(xiàng)目開發(fā)計(jì)劃
12.1.3 風(fēng)險(xiǎn)列表
12.2 需求獲取和分析階段
12.2.1 詞匯表
12.2.2 軟件需求規(guī)約
12.3 設(shè)計(jì)階段
12.3.1 軟件架構(gòu)設(shè)計(jì)
12.3.2 軟件設(shè)計(jì)模型
12.4 開發(fā)階段
12.4.1 模塊開發(fā)卷宗
12.5 測試階段
12.5.1 軟件測試計(jì)劃
12.5.2 軟件測試總結(jié)報(bào)告
12.6 總結(jié)和交付階段
12.6.1 交付清單
12.6.2 軟件項(xiàng)目總結(jié)報(bào)告
12.6.3 軟件驗(yàn)收?qǐng)?bào)告
12.6.4 用戶手冊(cè)
參考文獻(xiàn)