軟體開發——建立可靠的系統

《軟體開發——建立可靠的系統》是於2003年12月社會科學文獻出版社出版的一本圖書,作者是(美)馬克·漢密爾頓(MarcHamilton) 徐衛東。

基本介紹

  • 書名:軟體開發——建立可靠的系統
  • 出版社:社會科學文獻出版社
  • 出版時間:2003年12月
內容簡介,讀者對象,作者簡介,本書封底文字,目錄,

內容簡介

全書內容共分4部分,第一部分概括介紹軟體開發概念的背景;第二部分重點介紹軟體開發相關的人員要求問題;第三部分著重介紹軟體開發程式;第四部分詳細介紹軟體開發技術。書中還特別闡釋了軟體開發成功的十戒律,以助軟體開發行業人士走上不敗之路。

讀者對象

專業軟體工程師、軟體結構設計師、軟體工程管理人員和MIS管理人員。

作者簡介

[美]馬克·漢密爾頓從1975年開始開發軟體,後進入UCLA學習計算機科學,畢業後在世界上最大的軟體開發機構之一——美國TRW航空部門從事軟體開發工作。1993年末,加入SunMicrosystems公司的系統工程組,任Sun公司洛杉磯系統項目經理。近5年,他和約100家不同公司的軟體開發部門以及IT部門合作,成為Sun公司的JavaACES組創始人之一,負責完善Java技術和對Sun的系統工程的培訓。

本書封底文字

這是一本向每個人介紹軟體開發巨觀概況的書:是專業軟體工程師、軟體結構設計師、軟體工程管理人員和MIS管理人員必備讀本。

《軟體開發》這本書是通過對人員、程式和技術問題的完美結合.告訴你需要知道的東西。通過這本書,你會了解到成功的企業之成功或失敗的原因。怎樣建立和保留可以勝利的隊伍以及目前最新和最有前途的技術的全面信息。你會在這本書中發現你可以具體運用並保證你開發成功的信息。

雷·托爾博士

加利福尼亞州洛杉磯LoyolaMarymount大學計算機科學教授

軟體開發成功十戒律

●應當從軟體需求開始著手開發
●你應當重視用戶並經常和他們交流
●你應當拒絕無根據的修改要求
●你應當預先在軟體結構上投入
●你不應當把產品和標準混在一起
●你應當發現並保留住自己的頂尖人才
●你應當了解面向對象的技術
●你應當設計基於網路套用系統和可重用組件
●你應當計畫做修改
●你應當執行並堅持一種產品驗收方法

目錄

目錄
前言……………………………………………………………………1
簡介……………………………………………………………………1
誰應當讀這本書…………………………………………………2
怎樣閱讀這本書…………………………………………………3
關於作者…………………………………………………………4
第一部分背 景
第一章 軟體開發成功的十戒律……………………………………3
第二章 軟體開發總是很困難………………………………………18
軟體開發的艱難歷史……………………………………………19
2000年問題和其他類似問題……………………………………20
很難為成功而建立開發機構……………………………………21
很難正確地制定進度和預算……………………………………21
很難選擇合適的語言和開發工具………………………………22
很難選擇合適的Os和硬體平台…………………………………22
很難實現一種產品的首次投入使用……………………………22
第三章 軟體開發定義………………………………………………24
軟體生存周期概述………………………………………………24
程式設計範例……………………………………………………27
過程化軟體………………………………………………………27
模組化軟體………………………………………………………31
面向對象的軟體…………………………………………………33
分散式和並髮式軟體……………………………………………36
開發環境…………………………………………………………36
系統建模工具……………………………………………………37
軟體結構…………………………………………………………39
第四章 軟體開發趨勢………………………………………………43
通用DBMS……………………………………………………………44
套裝ERP軟體和它的定製 …………………………………………46
網路桌面信息處理技術和平台獨立………………………………48
境外開發……………………………………………………………50
理順信息技術基礎結構……………………………………………51
第二部分人 員
第五章 建立一支無往而不勝的軟體開發隊伍……………………55
開發人員短缺……………………………………………………55
軟體開發工作描述………………………………………………57
軟體開發主管……………………………………………………57
軟體結構總設計師………………………………………………59
軟體開發經理 …………………………………………………60
高級軟體工程師…………………………………………………61
軟體工程師Ⅲ……………………………………………………62
軟體工程師Ⅱ……………………………………………………63
軟體工程師I ……………………………………………………63
工具專家…………………………………………………………65
網站管理員………………………………………………………66
資料庫管理員……………………………………………………68
系統管理員………………………………………………………69
能力跟蹤…………………………………………………………70
C++編程自評樣本 ………………………………………………71
Java編程自評樣本………………………………………………72
行為價值評估面試………………………………………………73
價值#1:主動性…………………………………………………74
價值#2:貢獻……………………………………………………74
價值#3:靈活性…………………………………………………75
價值#4:尊重……………………………………………………76
你的軟體開發合伙人……………………………………………76
第六章 為成功而組織………………………………………………78
一家公司的維數…………………………………………………78
組織結構的重要性………………………………………………78
減少官僚作風……………………………………………………79
組織結構樣本……………………………………………………79
以項目為中心的結構……………………………………………80
以部門為中心的結構……………………………………………80
矩陣式結構………………………………………………………80
生產線結構………………………………………………………81
反覆出現的組織話題……………………………………………82
建立一個軟體方法組……………………………………………82
平衡集中的和分散的結構………………………………………82
管理虛擬組………………………………………………………82
13種組織結構錯誤………………………………………………84
第七章 招募最好的人才……………………………………………87
怎樣為發展提供人員……………………………………………87
內部推薦…………………………………………………………88
校園招聘…………………………………………………………88
代理………………………………………………………………89
報紙和其他媒體…………………………………………………89
工作招聘會………………………………………………………89
網際網路……………………………………………………………90
尋找什麼和怎樣去尋找…………………………………………90
技術能力…………………………………………………………90
價值觀……………………………………………………………91
第八章 留住最好的人才……………………………………………92
報酬方法…………………………………………………………92
總報酬戰略………………………………………………………93
基本工資…………………………………………………………93
傳統福利…………………………………………………………93
獨創性福利………………………………………………………93
短期激勵…………………………………………………………94
長期激勵…………………………………………………………94
工作輪換…………………………………………………………95
指導………………………………………………………………97
人力資源問題……………………………………………………98
第九章 成功轉變開發人員…………………………………………99
為什麼轉變開發人員……………………………………………99
從大型機到客戶/伺服器的轉變………………………………101
從大型機到基於Web的轉變 ……………………………………102
從客戶/伺服器到基於Web的轉變 ……………………………102
從面向過程到面向對象的轉變…………………………………103
語言細節上的轉變問題…………………………………………103
轉變起作用了嗎? ………………………………………………104
第三部分方 法
第十章 軟體生存周期………………………………………………109
軟體的能力成熟模型……………………………………………109
級別一:初始級別………………………………………………110
級別二:可重複級別……………………………………………110
級別三:已定義級別……………………………………………111
級別四:被管理級別……………………………………………111
級別五:最最佳化的級別…………………………………………112
需求分析和定義……………………………………………………112
系統結構和設計……………………………………………………113
測試計畫設計………………………………………………………113
實施…………………………………………………………………113
驗證和測試…………………………………………………………114
單元測試 ………………………………………………………115
子系統測試和系統測試…………………………………………115
黑箱測試和白箱測試……………………………………………115
a測試和B測試……………………………………………………115
壓力測試…………………………………………………………116
產品驗收…………………………………………………………116
第十一章 快速套用開發……………………………………………117
為什麼需要另外一種方法………………………………………117
戰略規劃…………………………………………………………119
產品定義…………………………………………………………119
產品設計…………………………………………………………120
產品開發…………………………………………………………120
產品交付…………………………………………………………120
第十二章 軟體開發效率、度量標準和質量………………………122
代碼度量標準………………………………………………………122
McCabe度量標準…………………………………………………123
工作環境對效率的影響…………………………………………125
開發還是購買……………………………………………………126
行業知識的價值…………………………………………………126
標準的重要性……………………………………………………128
企業級結構標準…………………………………………………128
代碼編寫標準……………………………………………………128
幫助標準…………………………………………………………129
第十三章 基於Web的產品驗收 ……………………………………130
Web的產品驗收大事記 ……………………………………………130
Web的產品驗收調查表 ……………………………………………133
人格化的交流………………………………………………………134
內部支持協定(ISA) ………………………………………………135
角色和職責…………………………………………………………136
網際網路工程………………………………………………………136
安全工程…………………………………………………………136
網路工程…………………………………………………………137
WebTone工程 ……………………………………………………137
技術支持…………………………………………………………138
硬體支持…………………………………………………………139
套用系統支持……………………………………………………139
Web的產品驗收方法 ……………………………………………139
信息技術應當提供什麼,不應當提供什麼……………………141
第四部分技 術
第十四章 程式語言特點……………………………………………145
C …………………………………………………………………145
C++ ………………………………………………………………146
FORTRAN …………………………………………………………146
Ada ………………………………………………………………147
BASIC ……………………………………………………………147
Java………………………………………………………………148
COBOL ……………………………………………………………152
LISP………………………………………………………………152
腳本語言(Perl、awk、TcI、ksh) ……………………………153
第十五章 軟體開發工具……………………………………………154
互動式開發工具……………………………………………………155
BeanMachine ……………………………………………………155
Builder Xcessory Pro…………………………………………156
CodeWarrior Professional……………………………………156
Java Workshop …………………………………………………156
JBuilder…………………………………………………………157
Super Cede for Java …………………………………………157
UIM/X……………………………………………………………157
Visual Cafe for Java ………………………………………158
VisualAge ………………………………………………………158
Visual J十十……………………………………………………158
GUI開發工具和庫 …………………………………………………158
Chart.J ………………………………………………………160
Jviews……………………………………………………………160
JWave ……………………………………………………………160
資料庫工具…………………………………………………………161
Blend.J…………………………………………………………162
CocoBase…………………………………………………………162
Developer/2000 ………………………………………………162
GemStone/J ……………………………………………………162
Jaguar CTS………………………………………………………163
NetDynamics ……………………………………………………163
測試工具……………………………………………………………163
JavaScope ………………………………………………………164
Pegasus …………………………………………………………164
WebLoad …………………………………………………………164
Web編輯工具 ………………………………………………………165
代碼編輯器…………………………………………………………165
編譯器………………………………………………………………166
調試…………………………………………………………………167
代碼分析……………………………………………………………167
性能分析工具………………………………………………………168
組件工具……………………………………………………………168
CASE工具……………………………………………………………169
版本和基準控制……………………………………………………169
第十六章 選擇你的硬體環境………………………………………171
開發人員的計算機桌面…………………………………………172
開發伺服器………………………………………………………174
檔案伺服器基準測試……………………………………………174
編譯伺服器基準測試……………………………………………177
資料庫伺服器基準測試…………………………………………178
Web伺服器基準測試 ……………………………………………178
網路基礎設施………………………………………………………180
磁碟存儲結構………………………………………………………180
與通用伺服器相對的單一功能……………………………………184
影響軟體設計的結構問題…………………………………………184
SMP結構 …………………………………………………………185
MPP ………………………………………………………………186
NUMA ……………………………………………………………187
集群處理…………………………………………………………188
高可靠和高容錯系統……………………………………………188
硬體同OS和編譯器設計的關係…………………………………190
第十七章 基於組件的軟體開發……………………………………191
組件歷史……………………………………………………………191
與面向對象技術相對的組件………………………………………192
組件軟體中的可視化編程技術的作用……………………………193
使用JavaBeans的組件開發 ………………………………………193
第十八章 性能最佳化技術……………………………………………195
你需要多高的性能………………………………………………195
如何識別瓶頸……………………………………………………195
磁碟瓶頸…………………………………………………………196
CPU瓶頸 …………………………………………………………197
記憶體瓶頸…………………………………………………………197
網路瓶頸…………………………………………………………197
第十九章 多執行緒編程技術…………………………………………198
多執行緒技術的定義………………………………………………198
同步方法…………………………………………………………201
第二十章 為Web而開發 ……………………………………………206
Web瀏覽器和伺服器 ………………………………………………206
代理Web伺服器 ……………………………………………………208
CGI編程技術 ………………………………………………………209
Java Applets………………………………………………………211
Enterprise JavaBeans……………………………………………211
其他的Java企業級API ……………………………………………213
Java Servlet API………………………………………………213
JavaServer Pages(JSP) ………………………………………213
Java Messaging Service(JMS)API……………………………213
Java Naming and Directory(JNDI)API ……………………213
第二十一章 具有CORBA、RMI和DCOM的分散式套用系統…………215
使用CORBA的分散式對象 ………………………………………216
CORBA服務 ………………………………………………………218
CORBA工具 ………………………………………………………219
CORBA套用對象 ……………………………………………………219
一個CORBA客戶/伺服器的例子 ………………………………219
DCOM對象…………………………………………………………221
具有RMI的分散式Java套用系統 ………………………………222
第二十二章 Jini技術不為人知的高度……………………………224
Jini基礎結構………………………………………………………225
Discover and Join ………………………………………………225
Lookup………………………………………………………………226
分散式編程…………………………………………………………227
租用………………………………………………………………227
分散式事件………………………………………………………227
分散式事務處理…………………………………………………228
與Jini相對的Millennium…………………………………………228
附錄A 軟體開發中經常問到的問題…………………………………229
綜合問題……………………………………………………………229
與人員相關的問題…………………………………………………230
與方法相關的問題…………………………………………………232
與技術相關的問題…………………………………………………234
軟體歷史和一些小問題……………………………………………237
附錄B Java編碼的標準模板…………………………………………239
簡介…………………………………………………………………239
源文…………………………………………………………………239
源檔案命名………………………………………………………240
源檔案結構………………………………………………………240
命名習慣…………………………………………………………241
程式包命名………………………………………………………241
類/接口命名……………………………………………………241
域命名……………………………………………………………241
方法命名……………………………………………………………242
語句標號命名………………………………………………………243
空白的使用方法………………………………………………………243
空行…………………………………………………………………243
空格…………………………………………………………………244
縮進…………………………………………………………………245
續行…………………………………………………………………245
註解……………………………………………………………………246
文檔註解……………………………………………………………246
塊註解………………………………………………………………247
單行註解……………………………………………………………247
類………………………………………………………………………248
類的主體結構………………………………………………………248
接口……………………………………………………………………251
接口主體結構………………………………………………………251
語句……………………………………………………………………251
簡單語句 …………………………………………………………251
複合語句……………………………………………………………252
標號語句……………………………………………………………254
附錄c 內部支持協定實例……………………………………………255
Root授權…………………………………………………………255
伺服器可用時間…………………………………………………255
備份………………………………………………………………256
支持責任…………………………………………………………256
每個伺服器的功能………………………………………………257

相關詞條

熱門詞條

聯絡我們