內容簡介
《高級編程技術》以現代軟體高級編程的主流技術為主線,以提升學習者開發興趣為先導,將幾個典型的軟體項目濃縮成課程設計的形式,採用實戰探索式理念,鼓勵學生們在團隊協作中,自己動手、動腦、動口,通過親自參與,自然克服害怕編程的心理,進而逐步過渡到喜歡動手寫程式,並懂得自覺遵循編程習慣與軟體開發標準的益處所在,最終達到編程能力鍛鍊及提高的目的。
《高級編程技術》結合項目實例,詳細剖析了基於可伸縮矢量圖形SVG的WebGIS系統的設計與實現、J2EE核心技術框架Struts、對象持久化存儲技術Hibernate、面向服務計算SOC、面向Agent、面向智慧型工作流的編程新技術,可作為高校電子信息類計算機、通信、電信、自動化、電氣等專業本科的教學及課程設計教材,也可作為有關工程技術人員的科研參考書。
圖書目錄
第1章 緒論
1.1 從網路複雜套用軟體需求劇增談起
1.2 從個性化獨立設計到團隊高效協作
1.2.1 多方支持、關係和諧
1.2.2 用戶、開發者真誠合作
1.2.3 工作有序、階段推進
1.2.4 網路溝通、流程開放
1.2.5 系統漸進、功能漸用
1.2.6 按需辦事、技術適用
1.3 系統開發策略
1.3.1 最小系統
1.3.2 原型系統
1.3.3 進化系統
1.4 理順軟體開發與系統維護的關係
1.5 軟體編程開發流程的標準化之路
1.5.1 軟體模組的組件、構件化之趨勢
1.5.2 基於網路構件的智慧型軟體體系結構
1.5.3 構件模型及其運行機制的研究
1.5.4 基於遞階協調聯盟框架的反射式動態配置機制
1.5.5 用戶需求驅動的動態演化意圖的構造與實現
小結
思考與練習
第2章 計算模式與編程技術共同演進之趨勢
2.1 從集中式計算到分散式計算的演進
2.2 從C/S 到B/S軟體體系結構的演進
2.2.1 客戶機/伺服器計算模式
2.2.2 瀏覽器/伺服器計算模式
2.3 從兩層到多層的Web套用系統設計
2.4 中間件的湧現
小結
思考與練習
第3章 Web 伺服器配置與運行管理
3.1 Web伺服器概述
3.1.1 WWW簡介
3.1.2 WWW的發展和特點
3.2 Windows 環境下的Internet信息伺服器
3.2.1 IIS的安裝
3.2.2 管理視窗與基本管理
3.2.3 設定IP位址和連線埠
3.2.4 設定默認文檔
3.2.5 設定主目錄
3.2.6 設定訪問安全
3.2.7 虛擬站點
3.2.8 虛擬目錄
3.2.9 Web站點遠程管理
3.2.10 網站的維護與更新
3.3 基於Java的Web伺服器Tomcat
3.3.1 Tomcat的工作模式
3.3.2 Tomcat與Apache整合配置
小結
思考與練習
第4章 超文本置標語言HTML
4.1 HTML的基本結構
4.1.1 HTML的標記
4.1.2 HTML幾個部分
4.2 段落和文字標記
4.2.1 標題文字標記〈Hn〉〈/Hn〉
4.2.2 段落標記
、〈p〉、〈div〉
4.2.3 水平線〈Hr〉
4.2.4 文字標記
4.3 超級連結和列表
4.3.1 超級連結
4.3.2 無序號列表和序號列表
4.4 表格與框架
4.4.1 表格的基本結構
4.4.2 框架
4.5 多媒體元素
4.5.1 插入圖形
4.5.2 背景音樂
4.5.3 插入視頻
4.6 頁面布局與樣式控制
4.6.1 CSS的基礎概念
4.6.2 CSS的基本語法
4.6.3 CSS樣式的使用方法
4.6.4 使用CSS濾鏡屬性
4.6.5 CSS套用實例
小結
思考與練習
第5章 可擴展置標語言XML
5.1 XML的特點
5.1.1 XML與HTML的不同點
5.1.2 XML的優勢所在
5.2 XML文檔組成
5.2.1 XML語法
5.2.2 文檔類型定義
5.3 XML Schema概述
5.3.1 XML Schema文檔示例
5.3.2 XSD - 〈schema〉 元素
5.3.3 XSD簡易元素
5.3.4 XSD限定/Facets
5.3.5 XSD複合元素
5.4 XML解析器
5.5 XML與資料庫
5.5.1 XML和資料庫之聯繫
5.5.2 基於XML的資料庫中間件
5.5.3 支持XML的資料庫系統
5.5.4 原始的XML資料庫
5.5.5 XML伺服器
5.5.6 XML套用伺服器
5.5.7 內容管理系統
5.5.8 可持久化的DOM實現
小結
思考與練習
第6章 可伸縮矢量圖形SVG
6.1 SVG技術概述
6.1.1 什麼是SVG
6.1.2 SVG的特點
6.1.3 SVG的歷史
6.2 SVG主要對象
6.3 SVG的圖形對象
6.3.1 SVG文檔格式
6.3.2 SVG基本圖形元素
6.3.3 路徑
6.3.4 文本
6.3.5 樣式
6.3.6 漸變和濾鏡
6.3.7 動畫
6.4 腳本與互動
6.4.1 SVG對事件的回響
6.4.2 JavaScript的套用
6.5 SVG發展趨勢
6.6 基於SVG的Web套用可視化展示
6.6.1 放大縮小功能
6.6.2 移動功能
6.6.3 單擊事件功能
6.6.4 JSP顯示功能
6.6.5 基於SVG的B/S體系的WebGIS系統結構
6.7 基於SVG的交通智慧型調度系統
6.7.1 交通線路的繪製
6.7.2 城區底板的繪製
6.7.3 道路站點的繪製及圖表的引用
6.7.4 站點單擊的超連結功能
6.7.5 總體效果
6.7.6 交通流量分析與展示
小結
思考與練習
第7章 Web動態編程技術JSP及Servlet
7.1 JSP基本工作原理
7.1.1 JSP的執行過程
7.1.2 JSP與Servlet之關係
7.1.3 JSP運行實例剖析
7.2 JSP頁面基本元素
7.2.1 JSP指令元素
7.2.2 JSP腳本元素
7.2.3 JSP動作元素
7.3 JSP隱藏對象
7.3.1 Request對象
7.3.2 Response對象
7.3.3 PageContext對象
7.3.4 Session對象
7.3.5 Application對象
7.3.6 Out對象
7.3.7 Config對象
7.3.8 Exception對象
7.3.9 Cookie對象
7.4 JSP 2.0新特性
7.4.1 運行環境特性變化
7.4.2 引入表達式語言
7.4.3 SimpleTag
7.4.4 使用JSP fragment特性
小結
思考與練習
第8章 基於.NET實現電子黑板:教學集成環境系統
8.1 教學集成環境系統需求
8.1.1 教學集成環境系統功能列表
8.1.2 具體系統功能操作流程
8.2 教學集成環境系統架構設計
8.2.1 邏輯層USTBJXGL_BT核心函式
8.2.2 用戶界面層USTBJXGL_UI
8.2.3 數據層USTBJXGL_DA
8.2.4 系統主要類圖
小結
思考與練習
第9章 基於J2EE的核心技術框架Struts
9.1 Web開發框架MVC
9.1.1 MVC概述
9.1.2 MVC優點
9.2 Struts 體系架構
9.2.1 Struts概述
9.2.2 Struts核心組件
9.2.3 Struts配置檔案
9.3 從Struts 1到Struts 2的過渡
9.3.1 從Struts 1到Struts 2
9.3.2 基於MVC架構的Struts 2
9.3.3 Struts 2請求處理流程
9.3.4 Struts 2.0新特性
9.3.5 從多角度看Struts 1與Struts 2之不同
小結
思考與練習
第10章 對象持久化存儲技術
10.1 ORM組件技術
10.1.1 對象持久化概念
10.1.2 對象關係映射技術
10.2 Hibernate工作原理
10.2.1 Hibernate 技術概述
10.2.2 Hibernate體系結構
10.2.3 Hibernate接口
10.3 SessionFactory配置
10.4 持久化類
10.4.1 持久化對象與POJO的區別
10.4.2 持久化對象與簡單值對象
10.5 對象和關係映射基礎
10.5.1 Doctype
10.5.2 hibernate-mapping
10.5.3 Class
10.5.4 id
10.6 Hibernate查詢語言
10.6.1 from子句
10.6.2 join連線子句
10.6.3 select子句
10.6.4 統計函式
10.6.5 多態
10.6.6 where子句
小結
思考與練習
第11章 面向服務計算的編程技術
11.1 SOA基礎
11.1.1 SOA的定義
11.1.2 SOA的特徵
11.1.3 SOA的標準
11.1.4 SOA的設計原則
11.1.5 SOA與Web Services之關係
11.2 SOA的體系結構
11.2.1 SOA的體系結構概述
11.2.2 SOA的生命周期
11.3 基於Web Services實現SOA
11.3.1 Web Services概述
11.3.2 Web Services模型
11.3.3 Web Services協定棧
11.4 SOA核心實現技術
11.4.1 面向SOA構建企業服務匯流排
11.4.2 面向SOA的模型驅動的開發方法
11.4.3 簡單對象訪問協定
11.4.4 Web服務描述語言
11.4.5 統一描述、發現和集成
11.5 SOA的安全標準
11.5.1 XML數字簽名
11.5.2 XML加密
11.5.3 WS-Security
11.5.4 安全聲明置標語言
11.5.5 可擴展訪問控制置標語言
11.5.6 XML密鑰管理規範XKMS
11.5.7 聯合身份框架ID-FF
11.5.8 WS-Trust
11.6 商業流程執行語言
11.6.1 商業流程執行語言概述
11.6.2 BPEL語言結構
11.6.3 組合Web Services的方式
小結
思考與練習
第12章 面向Agent的軟體編程技術
12.1 Agent技術概述
12.1.1 Agent的定義
12.1.2 Agent的基本屬性
12.1.3 Agent分類
12.1.4 單Agent系統和多Agent系統
12.2 Agent的典型開發平台Zeus
12.2.1 Zeus概述
12.2.2 Zeus的幾個核心概念
12.2.3 Zeus工具包分析
12.2.4 Zeus開發方法
12.3 基於Zeus的電子商務系統ECS的總體設計
12.3.1 選擇角色模型
12.3.2 Agent職責分配
12.3.3 領域知識模型構建
12.4 基於Zeus的電子商務系統ECS實現
12.4.1 Ontology創建
12.4.2 任務Agent創建
12.4.3 效用Agent配置
12.4.4 任務Agent配置
12.4.5 代碼的產生和實現
12.4.6 商品交易市場系統展示
小結
思考與練習
第13章 面向協調智慧型工作流的編程技術
13.1 基本概念
13.1.1 協調智慧型調度工作流
13.1.2 參考模型
13.2 協調智慧型工作流構建
13.2.1 智慧型運算元與智慧型操作
13.2.2 智慧型操作模型的基本組織方式
13.2.3 廣義運算元模型
13.2.4 多重廣義運算元模型
13.3 工作流模型的設計
13.3.1 工作流模型設計原則
13.3.2 工作流模型設計
13.3.3 工作流相關數據模型
13.4 協調智慧型工作流引擎設計與實現
13.4.1 基本功能
13.4.2 關鍵問題
13.4.3 總體設計
13.4.4 實現
13.5 典型套用模型舉例
13.5.1 系統管理
13.5.2 業務管理
13.5.3 項目管理
13.5.4 任務管理
小結
思考與練習
第14章 基於SVG的USTB-WebGIS
14.1 系統概述
14.2 系統設計
14.2.1 總體架構
14.2.2 地理數據組織編碼方法
14.2.3 SVG地圖的製作
14.2.4 資料庫設計
14.3 基本功能實現
14.3.1 中心縮放功能實現
14.3.2 漫遊功能實現
14.3.3 拉框放大功能實現
14.3.4 圖層控制功能實現
14.4 高級功能實現
14.4.1 測距尺功能實現
14.4.2 滑鼠提示框功能實現
14.4.3 數據標註功能實現
14.4.4 鷹眼漫遊功能實現
14.4.5 地圖復位功能實現
14.4.6 使用鍵盤進行地圖漫遊
14.4.7 動畫效果
14.4.8 覆蓋在地圖上的提示
14.5 USTB-WebGIS系統總體效果
小結
思考與練習
第15章 大型建設項目的資源契約管理系統的研發
15.1 系統需求分析
15.1.1 功能需求
15.1.2 可行性分析
15.2 資料庫設計
15.2.1 資料庫設計圖
15.2.2 主要庫表的結構
15.3 系統概要設計
15.3.1 系統開發及運行環境
15.3.2 系統用例分析
15.3.3 系統模組劃分
15.3.4 系統模組簡介
15.4 系統表示層實現
15.4.1 Struts視圖層實現
15.4.2 Struts標籤庫
15.4.3 Sitemesh框架搭建
15.5 業務邏輯層實現
15.5.1 業務邏輯層的框架實現
15.5.2 業務邏輯層的實現結果
15.6 數據持久層實現
15.6.1 DAO模式介紹
15.6.2 持久層的Hibernate實現
15.6.3 Struts和MySQL中文亂碼處理問題
小結
思考與練習
參考文獻