《21世紀高等學校規(guī)劃教材·信息管理與信息系統(tǒng)·信息系統(tǒng)開發(fā):方法、案例與實驗》以整個信息系統(tǒng)開發(fā)生命周期為主線,重點圍繞結構化方法和面向對象開發(fā)方法,詳細闡述系統(tǒng)規(guī)劃、系統(tǒng)分析、系統(tǒng)設計、系統(tǒng)實施以及系統(tǒng)運行與支持等各階段的主要內(nèi)容,并介紹了項目管理工具以及系統(tǒng)分析、設計的case等,使其更具實踐性。在每章之后提供了典型應用案例、思考題和練習題,用以加深理解。本書共分三部分: 第1章至第3章主要介紹信息系統(tǒng)的概念、主要開發(fā)方法以及貫穿項目生命周期的項目管理技術;第4章至第11章講述系統(tǒng)開發(fā)各階段的任務、過程、結構化方法和工具;第12章至第17章講述面向對象需求理解、面向對象分析、面向對象設計和面向對象實現(xiàn)。附錄部分針對教學內(nèi)容提供了10個系統(tǒng)開發(fā)項目,并設計了8個實驗和6套模擬題,以強化讀者的實踐能力。
《21世紀高等學校規(guī)劃教材·信息管理與信息系統(tǒng)·信息系統(tǒng)開發(fā):方法、案例與實驗》內(nèi)容豐富,翔實生動,融合了方法、案例和實驗,便于讀者理論聯(lián)系實際,可作為高等院校管理工程和管理信息系統(tǒng)專業(yè)教材,也可作為計算機和信息系統(tǒng)專業(yè)本科生、研究生的教科書,同時也可供軟件工程、系統(tǒng)分析技術人員參考。
信息化已經(jīng)成為世界經(jīng)濟和社會發(fā)展的大趨勢,信息系統(tǒng)的建設是信息化工作的關鍵環(huán)節(jié),而信息系統(tǒng)開發(fā)成功的關鍵就在于正確的方法論,能否運用科學規(guī)范的系統(tǒng)開發(fā)方法往往影響到信息系統(tǒng)開發(fā)的質量,乃至成敗。只有既掌握管理又掌握信息技術的優(yōu)秀系統(tǒng)分析員,才能夠科學有效地開展系統(tǒng)需求分析和設計,擔負起組織實施的重任。
為了適應社會與技術的發(fā)展,以培養(yǎng)具有現(xiàn)代綜合素質的系統(tǒng)分析員為目標,在教學思想上強化了與國際接軌、互動式教學和培養(yǎng)學生綜合運用理論知識解決問題的技能。我們以精品課建設項目為契機,立足于課程改革要求,在教材建設上盡量突出以下特色:
1. 強調(diào)經(jīng)典與前沿的統(tǒng)一。在內(nèi)容組織上強調(diào)傳統(tǒng)的結構化開發(fā)方法與新的面向對象開發(fā)方法的并重。結構化方法作為經(jīng)典和成熟的開發(fā)方法,具有很強的實用價值。面向對象方法作為業(yè)界較為流行的開發(fā)方法,也被行業(yè)普遍接受。因此,教材內(nèi)容在保留經(jīng)典的同時,也關注前沿的開發(fā)理念和方法,使學生能夠適應社會發(fā)展需求。
2. 注重案例的篩選和講解。針對重點內(nèi)容設計了適合于課堂分析的典型案例,加強學生對基本概念的學以致用和消化理解。
3. 通過實驗環(huán)節(jié)加強學生的實踐操作能力。針對部分需要實踐操作的章節(jié),增加實驗環(huán)節(jié),分別設計了驗證性實驗、設計性實驗和綜合性實驗,強化對開發(fā)工具與方法的綜合運用能力。
4. 針對知識點的鞏固與練習。練習與知識點相配套,在一些重要知識點后設計了練習模塊,并給出具體的解題思路,引導讀者主動思考和解決問題。此外,每章都列出了小結,并配有適量的、經(jīng)過精選的習題,促進讀者對內(nèi)容進行深入學習和思考。
5. 本書融合了一些優(yōu)秀教科書的內(nèi)容,注重融入新的技術和理念,如極限編程、敏捷開發(fā)、面向對象等新方法和新技術,以跟蹤系統(tǒng)分析與設計前沿技術和方法的發(fā)展動態(tài)。
6. 強調(diào)對CASE工具的運用和掌握。使學生了解主流的軟件工具和軟件開發(fā)環(huán)境產(chǎn)品,并借助CASE工具如Visio、PowerDesigner、Rational Rose等提高系統(tǒng)開發(fā)的效率。
7. 各章教學內(nèi)容相對獨立,針對不同知識模塊的案例也相對獨立,在實際授課時,教師可以根據(jù)課時和教學需要,有選擇地安排教學內(nèi)容和實驗環(huán)節(jié)。
本教材由郝曉玲主編,韓冬梅與韓松喬為副主編,負責全書內(nèi)容的編寫。周鑫、徐珊珊、武茂枝、謝姚蕾等同學對書稿進行了校對,并完成書中圖表的修正,在此表示感謝。
本書難免存在疏漏和不足之處,敬請廣大讀者批評指正,編者將不勝感謝。
編 者2010年8月
第1章 信息系統(tǒng)開發(fā)概述
1.1 信息系統(tǒng)的基本概念
1.1.1 信息系統(tǒng)與信息技術
1.1.2 信息系統(tǒng)的結構
1.1.3 信息系統(tǒng)的類型
1.1.4 信息系統(tǒng)的生命周期
1.2 信息系統(tǒng)開發(fā)過程
1.2.1 系統(tǒng)規(guī)劃
1.2.2 系統(tǒng)分析
1.2.3 系統(tǒng)設計
1.2.4 系統(tǒng)實施
1.2.5 系統(tǒng)運行與維護
1.3 信息系統(tǒng)的相關角色
1.3.1 信息系統(tǒng)所有者
1.3.2 信息系統(tǒng)用戶
1.3.3 信息系統(tǒng)設計員
1.3.4 信息系統(tǒng)構造人員
1.3.5 信息系統(tǒng)分析員
1.3.6 項目經(jīng)理
1.3.7 信息系統(tǒng)各種角色比較
1.4 案例分析--校園二手書交易平臺的設計與實現(xiàn)
1.4.1 系統(tǒng)需求分析
1.4.2 系統(tǒng)設計
1.4.3 系統(tǒng)實現(xiàn)
1.4.4 案例思考
本章小結
思考與練習
第2章 信息系統(tǒng)開發(fā)路線、方法與工具
2.1 信息系統(tǒng)開發(fā)路線概述
2.2 模型驅動開發(fā)路線
2.2.1 面向過程方法
2.2.2 面向數(shù)據(jù)方法
2.2.3 面向對象方法
2.3 快速應用開發(fā)路線
2.3.1 迭代式開發(fā)
2.3.2 敏捷式開發(fā)
2.4 商用軟件開發(fā)路線
2.4.1 購買現(xiàn)成商用軟件
2.4.2 現(xiàn)成軟件包二次開發(fā)
2.5 選擇合適的開發(fā)路線與方法
2.6 自動化工具與技術
2.6.1 case定義
2.6.2 case工具分類
2.6.3 基于case的系統(tǒng)開發(fā)過程
2.6.4 case工具的特點
2.7 案例分析--case工具在系統(tǒng)開發(fā)中的應用
2.7.1 采用powerdesigner進行過程建模
2.7.2 采用powerdesigner進行數(shù)據(jù)建模
2.7.3 采用powerdesigner進行對象建模
2.7.4 使用powerdesigner生成信息系統(tǒng)開發(fā)報告
2.7.5 案例思考
本章小結
思考與練習
第3章 信息系統(tǒng)項目管理
3.1 信息系統(tǒng)項目管理生命周期
3.1.1 項目發(fā)起
3.1.2 項目規(guī)劃
3.1.3 項目執(zhí)行
3.1.4 項目終結
3.2 項目組織
3.2.1 單純型項目組織
3.2.2 職能型項目組織
3.2.3 矩陣型項目組織
3.3 項目管理技術
3.3.1 工作分解結構
3.3.2 甘特圖
3.3.3 計劃評審技術
3.4 案例分析--某系統(tǒng)開發(fā)項目管理失敗原因分析
本章小結
思考與練習
第4章 需求獲取
4.1 系統(tǒng)需求概述
4.1.1 需求獲取的重要性
4.1.2 系統(tǒng)需求分類
4.2 需求獲取過程
4.2.1 了解用戶需求
4.2.2 分析用戶需求
4.2.3 編寫需求文檔
4.2.4 評審需求文檔
4.2.5 需求管理
4.3 需求獲取的方法
4.3.1 訪談
4.3.2 名義團體技術
4.3.3 直接觀察用戶
4.3.4 文檔、文件、表格抽樣
4.3.5 聯(lián)合應用設計
4.3.6 在需求獲取中使用原型
4.4 案例分析--客戶關系管理系統(tǒng)的需求獲取
本章小結
思考與練習
第5章 過程建模
5.1 過程建模概述
5.2 數(shù)據(jù)流圖
5.2.1 數(shù)據(jù)流程圖的概念和作用
5.2.2 數(shù)據(jù)流程圖的基本符號
5.2.3 數(shù)據(jù)流圖的繪制
5.2.4 數(shù)據(jù)流圖規(guī)則
5.2.5 數(shù)據(jù)流圖的分解
5.2.6 數(shù)據(jù)流圖的平衡
5.3 過程邏輯
5.3.1 結構化語言
5.3.2 決策表
5.3.3 決策樹
5.3.4 結構化語言、決策表和決策樹的選擇
5.4 數(shù)據(jù)字典
5.4.1 數(shù)據(jù)項
5.4.2 數(shù)據(jù)結構
5.4.3 數(shù)據(jù)流
5.4.4 過程字典
5.4.5 數(shù)據(jù)存儲
5.5 案例分析--百貨商店業(yè)務管理信息系統(tǒng)過程建模
本章小結
思考與練習
第6章 數(shù)據(jù)建模
6.1 數(shù)據(jù)建模相關概念
6.1.1 e-r圖
6.1.2 實體
6.1.3 關系
6.2 邏輯數(shù)據(jù)建模過程
6.2.1 確定基本實體
6.2.2 建立實體間的關聯(lián)
6.2.3 確定主碼和屬性
6.3 規(guī)范化
6.3.1 第一范式
6.3.2 第二范式
6.3.3 第三范式
6.4 數(shù)據(jù)-過程模型映射
6.5 案例分析--某網(wǎng)上商店概念數(shù)據(jù)建模
6.5.1 確定基本實體
6.5.2 確定實體間的關聯(lián)
6.5.3 確定主碼和屬性
本章小結
思考與練習
第7章 應用架構設計
7.1 架構概述
7.1.1 應用架構與框架
7.1.2 架構的邏輯層次
7.2 典型的系統(tǒng)應用架構
7.2.1 基于主機的服務器架構
7.2.2 文件服務器架構
7.2.3 客戶/服務器架構
7.2.4 三層或n層客戶/服務器架構
7.2.5 瀏覽器/服務器架構
7.3 應用架構舉例
7.3.1 mvc架構
7.3.2 架構組成
7.4 應用架構設計內(nèi)容
7.4.1 數(shù)據(jù)架構設計
7.4.2 過程架構設計
7.4.3 網(wǎng)絡架構設計
7.5 案例分析--某服務臺系統(tǒng)架構設計
本章小結
思考與練習
第8章 軟件過程設計
8.1 過程設計主要內(nèi)容
8.1.1 總體設計
8.1.2 詳細設計
8.2 軟件設計的基本原理
8.2.1 模塊化
8.2.2 抽象與信息隱蔽
8.2.3 模塊獨立性
8.3 軟件設計工具
8.3.1 hipo圖
8.3.2 軟件結構圖
8.3.3 詳細設計工具
8.4 軟件結構設計方法
8.4.1 變換分析設計
8.4.2 事務分析設計
8.4.3 綜合數(shù)據(jù)流圖的映射
8.4.4 分層數(shù)據(jù)流圖的映射
8.5 軟件詳細設計
8.5.1 結構化程序設計
8.5.2 程序設計目標
8.5.3 程序設計方法
8.6 案例分析--百貨商店業(yè)務管理信息系統(tǒng)過程設計
本章小結
思考與練習
第9章 數(shù)據(jù)庫設計
9.1 邏輯數(shù)據(jù)模型和物理數(shù)據(jù)模型
9.1.1 數(shù)據(jù)庫設計前提
9.1.2 邏輯數(shù)據(jù)模型到物理數(shù)據(jù)模型的轉換規(guī)則
9.2 關系數(shù)據(jù)庫模型
9.3 將e-r圖轉化成關系
9.3.1 實體轉換
9.3.2 關系轉換
9.3.3 關系合并
9.4 設計字段
9.4.1 選擇數(shù)據(jù)類型
9.4.2 控制數(shù)據(jù)完整性
9.4.3 設計文件的控制策略
9.5 代碼設計
9.5.1 代碼及其作用
9.5.2 代碼種類
9.5.3 代碼設計方法
9.5.4 代碼校驗
本章小結
思考與練習
第10章 輸入輸出與用戶界面設計
10.1 輸出設計
10.1.1 輸出設計目的
10.1.2 輸出設計原則
10.1.3 輸出方式選擇
10.1.4 輸出格式設計
10.1.5 輸出設計過程
10.1.6 輸出設計說明
10.2 輸入設計
10.2.1 輸入設計目的
10.2.2 輸入設計原則
10.2.3 輸入方式選擇
10.2.4 輸入格式設計
10.2.5 輸入控制與校驗
10.2.6 輸入設計過程
10.3 用戶界面設計
10.3.1 用戶界面設計原則
10.3.2 用戶界面設計元素
10.3.3 用戶界面交互方式
10.3.4 用戶界面設計步驟
10.4 輸入輸出界面示例
本章小結
思考與練習
第11章 系統(tǒng)實現(xiàn)與運行
11.1 軟件實現(xiàn)
11.1.1 軟件編程
11.1.2 軟件包安裝與測試
11.2 軟件測試
11.2.1 軟件測試準則與標準
11.2.2 測試步驟
11.3 白盒測試技術
11.3.1 邏輯覆蓋
11.3.2 控制結構測試
11.3.3 循環(huán)測試
11.4 黑盒測試技術
11.4.1 等價類劃分法
11.4.2 邊界值分析法
11.4.3 錯誤推測法
11.5 網(wǎng)絡實現(xiàn)
11.6 數(shù)據(jù)庫實現(xiàn)
11.6.1 定義數(shù)據(jù)庫結構
11.6.2 數(shù)據(jù)裝載
11.6.3 數(shù)據(jù)庫試運行
11.7 系統(tǒng)轉換
11.7.1 直接轉換法
11.7.2 并行轉換法
11.7.3 試點過渡法
11.8 系統(tǒng)運行與支持
11.8.1 系統(tǒng)運行
11.8.2 系統(tǒng)支持與維護
11.9 案例分析--某網(wǎng)站系統(tǒng)測試
11.9.1 測試內(nèi)容概述
11.9.2 程序測試
11.9.3 通用測試內(nèi)容
11.9.4 模塊功能測試
本章小結
思考與練習
第12章 面向對象開發(fā)概述
12.1 面向對象相關概念
12.1.1 實體與對象
12.1.2 類與對象
12.1.3 消息
12.1.4 屬性
12.1.5 操作
12.2 面向對象的特性
12.2.1 封裝
12.2.2 繼承
12.2.3 多態(tài)性
12.3 面向對象開發(fā)的主要方法
12.3.1 booch的ood方法
12.3.2 coad/yourdon的ooa-ood方法
12.3.3 rumbaugh的omt方法
12.3.4 jacoson方法
12.3.5 各種方法的集成
本章小結
思考與練習
第13章 uml
13.1 uml概述
13.1.1 uml的概念和特點
13.1.2 uml的構成
13.2 用例圖
13.2.1 參與者
13.2.2 用例
13.2.3 關聯(lián)
13.2.4 用例之間關系
13.3 類圖和對象圖
13.3.1 類的定義
13.3.2 類之間的關聯(lián)
13.3.3 類的版型
13.3.4 對象圖
13.4 狀態(tài)圖
13.4.1 狀態(tài)
13.4.2 事件
13.5 活動圖
13.5.1 活動
13.5.2 泳道
13.5.3 判定點
13.5.4 并發(fā)路徑
13.5.5 對象流
13.5.6 信號
13.6 順序圖
13.6.1 順序圖符號
13.6.2 對象
13.6.3 消息
13.7 協(xié)作圖
13.7.1 序列化
13.7.2 迭代
13.7.3 控制點條件
13.8 組件圖
13.8.1 組件
13.8.2 依賴關系
13.8.3 接口
13.9 部署圖
13.9.1 節(jié)點
13.9.2 通信關聯(lián)
13.10 包圖
13.10.1 包之間的關系
13.10.2 合并包
本章小結
思考與練習
第14章 面向對象需求理解
14.1 基于uml的系統(tǒng)開發(fā)過程
14.1.1 需求理解
14.1.2 系統(tǒng)分析
14.1.3 系統(tǒng)設計
14.1.4 系統(tǒng)實現(xiàn)
14.2 理解需求
14.2.1 確定業(yè)務參與者
14.2.2 確定用例
14.2.3 構造用例圖
14.2.4 用例說明
14.2.5 用例模型檢查
14.3 案例分析--電子培訓系統(tǒng)的需求理解
14.3.1 分析問題領域
14.3.2 確定abc e-training系統(tǒng)范圍和系統(tǒng)邊界
14.3.3 定義參與者
14.3.4 定義用例
14.3.5 繪制用例圖
14.3.6 用例說明
本章小結
思考與練習
第15章 面向對象分析
15.1 領域建模
15.1.1 發(fā)現(xiàn)類
15.1.2 確定關聯(lián)
15.1.3 確定屬性
15.2 行為建模
15.2.1 狀態(tài)圖
15.2.2 活動圖
15.2.3 順序圖
15.3 案例分析--網(wǎng)上商店客戶訂單處理系統(tǒng)分析
15.3.1 用例圖
15.3.2 活動圖
15.3.3 類模型
15.3.4 順序圖
15.3.5 狀態(tài)圖
本章小結
思考與練習
第16章 面向對象設計
16.1 系統(tǒng)設計與uml
16.1.1 系統(tǒng)設計的主要任務
16.1.2 協(xié)作圖
16.1.3 組件圖
16.1.4 部署圖
16.2 通用職責分配軟件模式
16.2.1 專家模式
16.2.2 創(chuàng)建者模式
16.2.3 控制器模式
16.2.4 低耦合模式
16.2.5 高內(nèi)聚模式
16.3 類的設計
16.3.1 設計類
16.3.2 設計關系
16.3.3 設計類圖
16.4 接口設計
16.4.1 單個對象的接口設計
16.4.2 多個對象的接口設計
16.4.3 層次之間接口設計
16.5 包設計
16.5.1 包設計原則
16.5.2 包設計步驟
16.6 數(shù)據(jù)庫設計
16.6.1 uml類圖映射為庫表的原則
16.6.2 關系約束檢查策略
本章小結
思考與練習
第17章 面向對象實現(xiàn)
17.1 設計映射到代碼
17.1.1 根據(jù)設計類圖創(chuàng)建類的定義
17.1.2 根據(jù)協(xié)作圖創(chuàng)建方法
17.2 面向對象程序設計
17.2.1 可重用原則
17.2.2 可擴充原則
17.2.3 健壯性原則
17.3 面向對象測試策略
17.3.1 單元測試
17.3.2 集成測試
17.3.3 系統(tǒng)測試
17.3.4 回歸測試
17.4 設計測試用例
本章小結
思考與練習
附錄a 課程實驗
a.1 實驗教學的目的
a.2 實驗教學的任務
a.3 實驗內(nèi)容
a.4 實驗要求
a.5 實驗考核標準
a.6 信息系統(tǒng)項目
a.7 信息系統(tǒng)實驗
a.7.1 實驗1--project軟件項目管理
a.7.2 實驗2--利用visio進行需求分析
a.7.3 實驗3--結構化設計
a.7.4 實驗4--系統(tǒng)開發(fā)環(huán)境配置
a.7.5 實驗5--軟件編碼與測試
a.7.6 實驗6--uml與面向對象開發(fā)
a.7.7 實驗7--結構化設計綜合實驗
a.7.8 實驗8--面向對象綜合實驗
附錄b 模擬題
模擬題
模擬題
模擬題
模擬題
模擬題
模擬題