本書為“十二五”普通高等教育本科國家級規(guī)劃教材。本書是一本自主創(chuàng)新的軟件工程實踐教材,其內(nèi)容包括:軟件開發(fā)與管理全過程,數(shù)據(jù)庫設(shè)計的最新理論與模式,PowerDesigner數(shù)據(jù)庫建模實踐指南,最新CASE工具ProcessOn在線建模實踐指南,需求分析與UML建模,軟件設(shè)計與UML建模,以及軟件項目的立項、需求、設(shè)計、實現(xiàn)、測試、運行。本書偏重軟件工程實戰(zhàn)訓(xùn)練,強調(diào)培養(yǎng)動手能力,要求讀者掌握建模理論,學(xué)會CASE工具操作,將建模理論與CASE工具相結(jié)合,從而對開發(fā)軟件項目逐漸做到得心應(yīng)手。本書提供電子課件、文檔制作參考模板、思考題參考答案和軟件項目的程序源代碼。本書是軟件工程和計算機相關(guān)專業(yè)本科生“軟件工程實踐”課程的教材,也適合研究生和IT企業(yè)軟件開發(fā)人員作為參考書使用。
趙池龍,男,北京師范大學(xué)教授,長期在IT企業(yè)從事軟件開發(fā)與軟件管理,在軟件工程方法論領(lǐng)域中,率先提出了“面向元數(shù)據(jù)的方法”,該方法與“面向過程的方法、面向?qū)ο蟮姆椒ā碧柗Q軟件工程中的三大開發(fā)方法。在軟件工程實踐領(lǐng)域中,率先提出了“五個面向的實施理論”,即“面向流程分析、面向元數(shù)據(jù)設(shè)計、面向?qū)ο髮崿F(xiàn)、面向功能測試、面向過程管理”,并編著了“實用軟件工程(國家十一五規(guī)劃教材)”和“軟件工程實踐教程”兩本大學(xué)教材。在軟件公司,曾經(jīng)先后完成多個軟件項目和軟件產(chǎn)品的設(shè)計與實現(xiàn)。
目 錄
第1章 軟件開發(fā)與管理全過程 1
1.1 軟件開發(fā)模型 2
1.2 軟件開發(fā)方法 5
1.3 軟件工程實踐論 7
1.4 三個模型和三層結(jié)構(gòu) 9
1.5 軟件開發(fā)全過程 11
1.6 軟件開發(fā)所需的基本知識 15
1.7 軟件管理全過程 16
思考題1 18
第2章 數(shù)據(jù)庫設(shè)計理論與設(shè)計模式 19
2.1 設(shè)計模式基本概念 20
2.2 數(shù)據(jù)庫中的四種表 21
2.3 原始單據(jù)與實體之間的聯(lián)系 24
2.4 原始E-R圖和現(xiàn)代E-R圖 25
2.5 數(shù)據(jù)庫設(shè)計的內(nèi)容與步驟 27
2.6 “四個原子化”理論 28
2.7 “四個原子化”理論與范式理論的比較 34
2.8 數(shù)據(jù)庫設(shè)計模式 36
2.8.1 主從模式 37
2.8.2 弱實體插足模式 39
2.8.3 強實體插足模式 45
2.8.4 列變行模式 48
2.8.5 西瓜模式 51
2.9 設(shè)計模式綜合練習(xí) 55
2.10 數(shù)據(jù)庫設(shè)計模式總結(jié) 57
思考題2 60
第3章 PowerDesigner建模實踐指南 62
3.1 數(shù)據(jù)庫設(shè)計工具概述 63
3.2 PowerDesigner的安裝和啟動 64
3.3 數(shù)據(jù)庫業(yè)務(wù)模型設(shè)計 66
3.4 數(shù)據(jù)庫概念模型設(shè)計 71
3.4.1 創(chuàng)建概念數(shù)據(jù)模型 71
3.4.2 創(chuàng)建實體 72
3.4.3 建立實體之間的關(guān)系 74
3.4.4 定義域 76
3.4.5 定義業(yè)務(wù)規(guī)則 78
3.4.6 定義概念數(shù)據(jù)模型的屬性 79
3.5 數(shù)據(jù)庫物理模型設(shè)計 79
3.5.1 創(chuàng)建物理數(shù)據(jù)模型 80
3.5.2 創(chuàng)建表 81
3.5.3 創(chuàng)建列 81
3.5.4 創(chuàng)建索引 83
3.5.5 創(chuàng)建視圖 84
3.5.6 創(chuàng)建觸發(fā)器 85
3.5.7 創(chuàng)建存儲過程和函數(shù) 87
3.5.8 通過CDM生成PDM 88
3.6 面向?qū)ο竽P驮O(shè)計 91
思考題3 96
第4章 軟件開發(fā)和UML建模 97
4.1 需求分析和UML建模 98
4.2 軟件設(shè)計和UML建模 103
思考題4 114
第5章 ProcessOn建模實踐指南 115
5.1 ProcessOn概述 116
5.1.1 初識ProcessOn 116
5.1.2 啟動ProcessOn 117
5.1.3 ProcessOn的使用 118
5.2 用ProcessOn設(shè)計用例模型 120
5.2.1 理解用例模型中的元素 120
5.2.2 網(wǎng)上求職招聘系統(tǒng)用例建模案例分析 123
5.3 用ProcessOn設(shè)計領(lǐng)域模型 127
5.3.1 理解領(lǐng)域模型 127
5.3.2 使用ProcessOn建立領(lǐng)域模型 127
5.3.3 網(wǎng)上求職招聘系統(tǒng)的領(lǐng)域模型案例分析 128
5.4 用ProcessOn設(shè)計類模型和包圖 129
5.4.1 類建模 129
5.4.2 設(shè)計包圖 130
5.4.3 網(wǎng)上求職招聘系統(tǒng)類圖和包圖案例分析 132
5.5 用ProcessOn設(shè)計系統(tǒng)動態(tài)模型 133
5.5.1 時序圖建模 133
5.5.2 協(xié)作圖建模 134
5.5.3 狀態(tài)圖建模 136
5.5.4 活動圖建模 137
5.6 用ProcessOn進(jìn)行數(shù)據(jù)建模 138
5.7 ProcessOn的其他功能 139
思考題5 143
第6章 網(wǎng)上論壇實戰(zhàn) 144
6.1 系統(tǒng)立項背景 145
6.2 系統(tǒng)需求分析 146
6.2.1 需求分析任務(wù) 146
6.2.2 需求分析文檔 147
6.3 系統(tǒng)設(shè)計 155
6.3.1 開發(fā)環(huán)境和運行環(huán)境 155
6.3.2 整體架構(gòu)設(shè)計 156
6.3.3 數(shù)據(jù)庫設(shè)計 158
6.3.4 設(shè)計文檔 162
6.4 代碼實現(xiàn) 169
6.4.1 系統(tǒng)目錄結(jié)構(gòu) 169
6.4.2 數(shù)據(jù)庫連接實現(xiàn) 169
6.4.3 用戶注冊和登錄功能的實現(xiàn) 170
6.4.4 版塊管理子系統(tǒng)實現(xiàn) 186
6.5 系統(tǒng)部署 201
6.6 結(jié)束語 201
附錄A 本書教學(xué)資源 206
后記 207
參考文獻(xiàn) 208