出版時間:2012-6 出版社:電子工業(yè)出版社 作者:陳文宇 等編著 頁數(shù):404 字?jǐn)?shù):741000
內(nèi)容概要
本書內(nèi)容涉及面向?qū)ο蟮乃枷?、方法和技術(shù)及兩門著名的面向?qū)ο蟪绦蛟O(shè)計語言——C++語言和Java語言,分為兩部分,共12章。第一部分介紹面向?qū)ο蠹夹g(shù),包括:軟件工程概述、軟件維護(hù)、軟件工具與集成化環(huán)境、面向?qū)ο蠓椒?、統(tǒng)一建模語言UML、軟件測試;第二部分介紹面向?qū)ο蟪绦蛟O(shè)計語言,包括:面向?qū)ο蟪绦蛟O(shè)計語言的核心概念、C++語言實現(xiàn)數(shù)據(jù)封裝、C++語言實現(xiàn)多態(tài)性、C++語言實現(xiàn)繼承性、Java語言基礎(chǔ)、Java語言程序設(shè)計。本書提供配套電子課件。
書籍目錄
第1章 軟件工程概述
1.1 軟件工程的產(chǎn)生和發(fā)展
1.1.1 軟件工程的發(fā)展過程
1.1.2 軟件危機(jī)
1.1.3 軟件工程研究的內(nèi)容
1.2 軟件與軟件工程過程
1.2.1 軟件的概念和特點
1.2.2 軟件工程過程
1.3 軟件過程模型
1.3.1 瀑布模型
1.3.2 增量模型
1.3.3 螺旋模型
1.3.4 噴泉模型
1.3.5 智能模型
1.4 軟件開發(fā)方法
1.4.1 結(jié)構(gòu)化開發(fā)方法
1.4.2 原型化開發(fā)方法
1.4.3 面向?qū)ο蟮能浖_發(fā)方法
1.5 軟件工具與軟件開發(fā)環(huán)境
習(xí)題1
第2章 軟件維護(hù)
2.1 軟件維護(hù)的基本概念
2.1.1 軟件維護(hù)的目的
2.1.2 軟件維護(hù)的類型
2.1.3 軟件維護(hù)的特性
2.1.4 軟件維護(hù)的代價
2.2 軟件維護(hù)的過程
2.3 軟件維護(hù)技術(shù)
2.4 軟件可維護(hù)性
2.4.1 軟件可維護(hù)性的定義
2.4.2 提高可維護(hù)性的方法
2.5 逆向工程和再工程
習(xí)題2
第3章 軟件工具與集成化環(huán)境
3.1 軟件工具
3.1.1 軟件開發(fā)工具
3.1.2 軟件維護(hù)工具
3.1.3 軟件管理與支持工具
3.2 集成化CASE環(huán)境
3.2.1 概述
3.2.2 集成化的CASE開發(fā)環(huán)境
的要求
3.2.3 集成化的CASE開發(fā)環(huán)境的
體系結(jié)構(gòu)
3.3 軟件開發(fā)工具Rational Rose
3.3.1 Rose工具簡介
3.3.2 業(yè)務(wù)用例圖
3.3.3 用例圖
3.3.4 類圖
3.3.5 協(xié)作圖與時序圖
3.3.6 活動圖
3.3.7 狀態(tài)圖
3.3.8 構(gòu)件圖和部署圖
習(xí)題3
第4章 面向?qū)ο蠓椒?br /> 4.1 面向?qū)ο蠓椒ǜ攀?br /> 4.1.1 什么是面向?qū)ο蠓椒?br /> 4.1.2 面向?qū)ο蠓椒ǖ闹饕攸c
4.2 面向?qū)ο蟮幕靖拍?br /> 4.2.1 對象與類
4.2.2 繼承
4.2.3 多態(tài)性
4.2.4 消息
4.3 面向?qū)ο蟮姆治?br /> 4.3.1 需求分析中的問題
4.3.2 OOA的特點
4.3.3 OOA的基本任務(wù)與分析過程
4.4 面向?qū)ο蟮脑O(shè)計
4.4.1 OOD的準(zhǔn)則
4.4.2 OOD的基本任務(wù)
4.5 典型的面向?qū)ο蠓椒?br /> 4.5.1 Booch方法
4.5.2 Coad/Yourdon方法
4.5.3 對象模型技術(shù)(OMT)
4.5.4 OOSE方法
習(xí)題4
第5章 統(tǒng)一建模語言(UML)
5.1 UML概述
5.1.1 UML的形成
5.1.2 UML的特點
5.1.3 UML建模及其構(gòu)成
5.1.4 UML的圖形表示
5.1.5 通用模型元素
5.2 建立用例模型
5.2.1 需求分析與用例建模
5.2.2 確定執(zhí)行者
5.2.3 確定用例
5.2.4 建立用例之間的關(guān)系
5.2.5 用例建模實例
5.3 建立靜態(tài)模型
5.3.1 類圖
5.3.2 包圖
5.4 建立動態(tài)模型
5.4.1 消息
5.4.2 狀態(tài)圖
5.4.3 順序圖
5.4.4 合作圖
5.4.5 活動圖
5.5 建立實現(xiàn)模型
5.5.1 構(gòu)件圖
5.5.2 配置圖
5.6 統(tǒng)一過程及其應(yīng)用
5.6.1 UML與RUP
5.6.2 RUP的特點
5.6.3 RUP的二維開發(fā)模型
5.6.4 RUP的迭代開發(fā)模式
習(xí)題5
第6章 軟件測試
6.1 軟件測試概述
6.1.1 軟件測試的基本概念
6.1.2 軟件測試的特點和基本原則
6.1.3 軟件測試過程
6.1.4 靜態(tài)分析與動態(tài)測試
6.2 軟件測試的策略
6.2.1 單元測試
6.2.2 集成測試
6.2.3 確認(rèn)測試
6.2.4 系統(tǒng)測試
6.2.5 測試和β測試
6.2.6 綜合測試策略
6.3 軟件調(diào)試
6.3.1 軟件調(diào)試過程
6.3.2 軟件調(diào)試策略
6.4 面向?qū)ο蟮臏y試
6.4.1 面向?qū)ο鬁y試的特點
6.4.2 面向?qū)ο鬁y試的類型
6.4.3 分析模型測試
6.4.4 面向?qū)ο蟮臏y試用例
習(xí)題6
第7章 面向?qū)ο蟪绦蛟O(shè)計語言的核心概念
7.1 面向?qū)ο蟮哪繕?biāo)
7.2 面向?qū)ο蟮暮诵母拍?br /> 7.2.1 數(shù)據(jù)封裝
7.2.2 繼承
7.2.3 多態(tài)性
7.3 按對象方式思維
7.4 面向?qū)ο蟮乃枷牒头椒?br /> 7.4.1 面向?qū)ο笫且环N認(rèn)知方法學(xué)
7.4.2 面向?qū)ο笈c軟件IC
7.4.3 面向?qū)ο蠓椒ㄅc結(jié)構(gòu)化程序設(shè)計方法
7.4.4 對象是抽象數(shù)據(jù)類型的實現(xiàn)
7.5 面向?qū)ο蟮某绦蛟O(shè)計語言
第8章 C++語言實現(xiàn)數(shù)據(jù)封裝
8.1 類的定義
8.2 類的成員
8.2.1 數(shù)據(jù)成員
8.2.2 成員函數(shù)
8.2.3 靜態(tài)成員
8.2.4 類外訪問成員的方法
8.3 C++語言的類
8.4 數(shù)據(jù)封裝和信息隱蔽的意義
8.5 構(gòu)造函數(shù)
8.5.1 構(gòu)造函數(shù)的作用
8.5.2 構(gòu)造函數(shù)的定義
8.5.3 重載構(gòu)造函數(shù)
8.6 復(fù)制構(gòu)造函數(shù)
8.7 析構(gòu)函數(shù)
8.8 對象的創(chuàng)建、釋放和初始化
8.9 對象和指針
8.9.1 this指針
8.9.2 指向類對象的指針
8.9.3 指向類的成員的指針
8.10 友元關(guān)系
8.10.1 友元函數(shù)
8.10.2 友元類
8.10.3 友元關(guān)系的總結(jié)
8.11 與類和對象相關(guān)的問題
8.11.1 類類型作為參數(shù)類型
8.11.2 一個類的對象作為另一個類的成員
8.11.3 臨時對象
習(xí)題8
第9章 C++語言實現(xiàn)多態(tài)性
9.1 重載運(yùn)算符
9.1.1 運(yùn)算符重載的語法形式
9.1.2 重載運(yùn)算符規(guī)則
9.1.3 一元運(yùn)算符和二元運(yùn)算符
9.1.4 重載“++”和“”的前綴和后綴方式
9.1.5 重載賦值運(yùn)算符
9.1.6 重載運(yùn)算符“( )”和“[ ]”
9.1.7 重載輸入運(yùn)算符和輸出運(yùn)算符
9.1.8 指針懸掛問題
9.2 C++語言的類型轉(zhuǎn)換
9.2.1 標(biāo)準(zhǔn)類型轉(zhuǎn)換為類類型
9.2.2 類類型轉(zhuǎn)換函數(shù)
9.3 實例——復(fù)數(shù)類重載運(yùn)算符
習(xí)題9
第10章 C++語言實現(xiàn)繼承性
10.1 繼承和派生
10.1.1 為什么要使用繼承
10.1.2 派生類的聲明和繼承方式
10.1.3 基類對象的初始化
10.2 多繼承
10.2.1 多繼承的概念
10.2.2 虛基類
10.3 繼承的意義
10.3.1 模塊的觀點
10.3.2 類型的觀點
10.4 虛函數(shù)
10.4.1 靜態(tài)多態(tài)性
10.4.2 基類和派生類的指針與對象的關(guān)系
10.4.3 虛函數(shù)與多態(tài)性
10.5 純虛函數(shù)和抽象類
10.6 虛函數(shù)實例——Figure類
10.7 類屬
10.7.1 無約束類屬機(jī)制
10.7.2 約束類屬機(jī)制
10.8 模板的概念
10.8.1 函數(shù)模板與模板函數(shù)
10.8.2 類模板與模板類
10.9 實例——一維數(shù)組
10.10 堆棧、隊列的應(yīng)用
習(xí)題10
第11章 Java語言基礎(chǔ)
11.1 Java語言的發(fā)展歷程
11.2 Java語言的特點
11.2.1 簡捷性
11.2.2 面向?qū)ο?br /> 11.2.3 動態(tài)性
11.2.4 安全性
11.2.5 平臺無關(guān)性和可移植性
11.2.6 高性能
11.2.7 多線程
11.2.8 分布式
11.2.9 健壯性
11.3 Java語言的開發(fā)工具包
11.3.1 JDK的下載、安裝和設(shè)置
11.3.2 JDK的簡介
11.4 Java程序的基本結(jié)構(gòu)
11.5 Java程序開發(fā)實例
11.5.1 一個簡單的Java
……
第12章 Java語言程序設(shè)計
參考文獻(xiàn)
章節(jié)摘錄
版權(quán)頁: 插圖: (2)文檔管理工具 文檔也是軟件開發(fā)過程中的重要產(chǎn)品。在許多軟件的開發(fā)過程中,都要花費大量的人力和物力來開發(fā)和組織文檔,通常,軟件開發(fā)組織要花20%~30%的工作量來完成軟件文檔的編寫。因此對軟件開發(fā)過程中產(chǎn)生的文檔進(jìn)行管理和維護(hù)對提高軟件開發(fā)的質(zhì)量和效率具有重大的意義。文檔管理工具用于對軟件開發(fā)過程中產(chǎn)生的文檔進(jìn)行分析、組織、維護(hù)和管理。例如,基于數(shù)據(jù)流圖的需求文檔管理工具在對數(shù)據(jù)流圖中的某些成分進(jìn)行分析時,可以確定該成分的影響范圍和被影響范圍,以幫助開發(fā)成員在對該成分進(jìn)行修改時,確定其影響范圍內(nèi)的其他成分是否也需要進(jìn)行相應(yīng)的變更。而針對源程序文檔的文檔管理工具可以幫助編碼人員確定其中的全局變量或數(shù)據(jù)結(jié)構(gòu)的作用范圍。 (3)開發(fā)信息庫工具 開發(fā)信息是指在軟件系統(tǒng)的開發(fā)過程中,用來維護(hù)軟件項目開發(fā)的相關(guān)信息,例如,程序中的對象、模塊等內(nèi)容。開發(fā)信息庫工具可以用于記錄每個對象的開發(fā)與修改信息;維護(hù)對象與相關(guān)信息之間的關(guān)系,包括記錄對象的開發(fā)人員、新版本對象中發(fā)生的改動、對象中存在的錯誤、對該對象進(jìn)行測試時使用的測試用例、測試結(jié)果之間的關(guān)系等內(nèi)容;還可記錄用來生成此軟件產(chǎn)品的所有開發(fā)工具的版本信息、所采用的程序設(shè)計語言和應(yīng)用程序開發(fā)接口。 (4)逆向工程工具 軟件的逆向工程是指對已有的程序進(jìn)行分析,以獲得比源代碼更高級的表現(xiàn)形式,是一個設(shè)計恢復(fù)的過程。逆向工程工具可以幫助軟件維護(hù)人員從已存在的程序中提取出數(shù)據(jù)結(jié)構(gòu)、體系結(jié)構(gòu)、程序總體設(shè)計等各種有用的軟件開發(fā)信息。諸如反匯編工具、反編譯工具等早期的逆向工程工具,用于將機(jī)器代碼轉(zhuǎn)換成匯編語言或高級程序語言的代碼,以方便開發(fā)人員對代碼的閱讀、理解和修改?,F(xiàn)在的逆向工程工具能夠分析高級程序設(shè)計語言的源程序,恢復(fù)程序的控制結(jié)構(gòu)、流程圖、PAD圖等更高級的抽象信息,為軟件的理解和維護(hù)提供方便。 (5)再工程工具 軟件系統(tǒng)的再工程是指在獲得軟件設(shè)計信息的同時,利用這些信息修改或重構(gòu)軟件系統(tǒng)的工作。根據(jù)用戶的需求,軟件開發(fā)人員可利用再工程重新實現(xiàn)已有的軟件系統(tǒng),同時增加新的功能和改進(jìn)性能。 再工程工具可以用來輔助軟件開發(fā)人員重構(gòu)一個功能和性能更為完善的軟件系統(tǒng)。目前,再工程工具的使用主要集中在代碼重構(gòu)、程序結(jié)構(gòu)重構(gòu)和數(shù)據(jù)結(jié)構(gòu)重構(gòu)等方面。數(shù)據(jù)結(jié)構(gòu)重構(gòu)是指通過對數(shù)據(jù)描述的分析,重新構(gòu)造出新的數(shù)據(jù)結(jié)構(gòu);程序結(jié)構(gòu)重構(gòu)是指將一個非結(jié)構(gòu)化或結(jié)構(gòu)化程度比較低的源程序改造為一個等價的高度結(jié)構(gòu)化的程序;代碼重構(gòu)是指把一種程序語言書寫的程序轉(zhuǎn)換成功能等價、但由另一種程序語言書寫的或適用于不同硬件平臺的程序,例如,將由C語言書寫的程序轉(zhuǎn)換為用Java語言書寫的功能等價的應(yīng)用程序。
編輯推薦
《軟件工程系列規(guī)劃教材:面向?qū)ο蠹夹g(shù)與工具(第2版)》可作為高等學(xué)校軟件工程、計算機(jī)等相關(guān)專業(yè)研究生和高年級本科生的教材,也可作為廣大工程技術(shù)人員和科研人員的參考書。
圖書封面
評論、評分、閱讀與下載