《面向對象程序設計綜合實踐》是針對那些學習了c++語言并了解面向對象程序設計的基本方法的學習者,鍛煉其使用面向對象的思想和方法對實際問題進行需求分析,根據需求分析結果完成程序的總體設計,在總體設計的基礎上實現詳細設計和編碼調試,并對所設計的程序進行必要的測試。從而達到提高其程序設計的綜合能力和訓練其工程化軟件開發的初級技能的目標。
《面向對象程序設計綜合實踐》第1章介紹了面向對象方法開發系統的基本步驟及每個步驟的大體工作,目的是讓學生在學習完面向對象編程后,從軟件工程角度建立軟件開發的總體印象。第2章和第3章講解了后續實驗用到的一些技術。第4章通過“簡單人事管理系統”的實踐讓學生具體掌握實驗的實現步驟和方法。第5章描述了兩個實驗的要求及其實驗開展建議。第6章和第7章給出了兩個實驗實現的參考解決方案,供學生參考。
《面向對象程序設計綜合實踐》可作為高等院校計算機相關專業的面向對象課程的教材,也可作為希望盡快掌握面向對象開發技術和過程的技術人員的參考書。
第1章 面向對象軟件開發方法
1.1 概述
1.2 軟件生命周期各階段的基本任務
1.3 面向對象分析
1.3.1 確定客戶需要什么
1.3.2 需求階段概述
1.3.3 理解應用域
1.3.4 用例建模
1.4 面向對象設計
1.4.1 有效應用設計模式
1.4.2 類建模
1.4.3 狀態圖建模
1.4.4 順序圖建模
1.4.5 協作圖建模
1.4.6 活動圖建模
1.4.7 用戶界面設計
1.5 面向對象編程
1.5.1 從設計到C++代碼
1.5.2 編程舉例
1.6 面向對象測試
1.6.1 白盒測試技術
1.6.2 黑盒測試技術
1.6.3 測試用例的編寫
第2章 Windows通用控件和對話框編程
2.1 控件概述
2.1.1 控件的添加和移除
2.1.2 控件的屬性
2.2 常用控件
2.2.1 靜態文本框
2.2.2 編輯文本框
2.2.3 按鈕
2.2.4 列表框
2.2.5 組合框
2.2.6 進度條
2.3 通用對話框
2.3.1 添加一個對話框模板
2.3.2 相關對話框類的定義
第3章 學習和使用STL
3.1 STL簡介
3.2 容器類
3.2.1 vector向量容器
3.2.2 list雙向鏈表容器
3.3 迭代器
3.4 泛型算法
第4章 程序設計案例分析舉例——“簡單人事信息管理系統”
4.1 實驗概述
4.2 需求分析
4.3 總體設計
4.3.1 類的靜態設計
4.3.2 類的動態設計
4.3.3 功能事務的實現過程設計
4.4 詳細設計
4.4.1 CDate類
4.4.2 CPerson類
4.4.3 CPersonSet類
4.4.4 CPersonInfIODlg類
4.4.5 CPersonInfSelDlg類
4.4.6 CPersonInfListDlg類
4.4.7 主要功能函數的算法
4.4.8 程序主函數_tmain的算法流程
4.5 系統測試
4.6 系統操作說明
4.6.1 信息添加
4.6.2 信息刪除
4.6.3 信息清空
4.6.4 信息修改
4.6.5 信息排序
4.6.6 信息查詢
4.6.7 信息顯示
4.6.8 退出系統
第5章 實驗題目和實踐要求
5.1 實驗題目
5.1.1 實驗題目:簡單人事信息管理系統
5.1.2 實驗題目:簡單銀行存取管理程序
5.1.3 實驗題目:簡單英漢字典程序
5.2 實驗實施建議
5.3 考核標準(參考)
第6章 “簡單銀行管理系統”參考解決方案
6.1 實驗概述
6.2 需求分析
6.3 總體設計
6.3.1 類的靜態設計
6.3.2 類的動態設計
6.3.3 功能事務的實現過程設計
6.4 詳細設計
6.5 系統測試
6.6 程序操作說明
6.6.1 賬戶創建
6.6.2 賬戶登錄
6.6.3 存款操作
6.6.4 修改賬戶密碼
6.6.5 查詢儲戶名下所有賬戶
6.6.6 退出系統
小結
第7章 “簡單英漢字典程序”參考解決方案
7.1 實驗概述
7.2 需求分析
7.3 總體設計
7.3.1 類的靜態設計
7.3.2 類的動態設計
7.3.3 功能事務的實現過程設計
7.4 詳細設計
7.5 系統測試
7.6 程序操作說明
7.6.1 增加單詞
7.6.2 修改單詞
7.6.3 刪除單詞
7.6.4 查單詞
7.6.5 列出所有單詞
7.6.6 保存數據
7.6.7 退出系統
小結
附錄A 使用Visio輔助建立軟件模型
附錄B string類和CString類的使用
附錄C 算法的偽代碼描述約定
附錄D 使用Turbo C++環境建立面向對象的程序項目
③最后就是需求分析人員和用戶交流中產生誤解。
分析人員和目標系統客戶,一方是計算機專業人員,另一方是系統應用領域專家。雖然彼此都對對方的領域有所了解,但離專業人員還是存在一定的距離,這樣他們在溝通交流中就不可避免地可能會產生誤解。
由于需求分析存在眾多困難,所以對軟件需求分析人員的要求是非常高的。他們通常都是資深的計算機專家,同時具備豐富的業務領域知識和良好的溝通技能。
1.3.2 需求階段概述
需求階段的第一步是理解應用領域,也就是目標系統應用的特定環境,例如銀行、證券公司、學校、政府等。一旦開發團隊充分了解應用領域,就可以實施目標系統的系統建模,一種很主流的建模方法就是使用統一建模語言UML來描述目標系統的業務邏輯。通過模型,開發團隊可以和目標系統的用戶進行充分交流以確定客戶的業務需求,確定客戶的最終需求是一個反復迭代的過程,經過多次溝通、理解、修正才能比較客觀地確定客戶對系統的真實需求。
1.3.3 理解應用域
為了有效地挖掘出客戶的真實需求,技術人員必須熟悉目標系統的應用領域。如果不了解系統的業務領域,很難向客戶提出有意義的問題,所以不可能成功完成系統的需求分析。理解應用域的方法就是親臨目標系統將來應用的真實環境,去了解目標系統將完成哪些業務,這些業務手工完成的流程是怎樣的,目前的業務流程有哪些優點和不足,等等,只有完全弄明白了這些問題,才有可能與客戶進行充分且有效的交流。