谁应当读这本书
怎样阅读这本书
关于作者
第一部分背 景
第一章 软件开发成功的十戒律
第二章 软件开发总是很困难
软件开发的艰难历史
2000年问题和其他类似问题
很难为成功而建立开发机构
很难正确地制定进度和预算
很难选择合适的语言和开发工具
很难选择合适的OS和硬件平台
很难实现一种产品的首次投入使用
第三章 软件开发定义
软件生存周期概述
程序设计范例
过程化软件
模块化软件
面向对象的软件
分布式和并发式软件
开发环境
系统建模工具
软件结构
第四章 软件开发趋势
通用DBMS
套装ERP软件和它的定制
网络桌面信息处理技术和平台独立
境外开发
理顺信息技术基础结构
第二部分人 员
第五章 建立一支无往而不胜的软件开发队伍
开发人员短缺
软件开发工作描述
软件开发主管
软件结构总设计师
软件开发经理
高级软件工程师
软件工程师Ⅲ
软件工程师Ⅱ
软件工程师I
工具专家
网站管理员
数据库管理员
系统管理员
能力跟踪
C++编程自评样本
Java编程自评样本
行为价值评估面试
价值#1:主动性
价值#2:贡献
价值#3:灵活性
价值#4:尊重
你的软件开发合伙人
第六章 为成功而组织
一家公司的维数
组织结构的重要性
减少官僚作风
组织结构样本
以项目为中心的结构
以部门为中心的结构
矩阵式结构
生产线结构
反复出现的组织话题
建立一个软件方法组
平衡集中的和分散的结构
管理虚拟组
13种组织结构错误
第七章 招募最好的人才
怎样为发展提供人员
内部推荐
校园招聘
代理
报纸和其他媒体
工作招聘会
互联网
寻找什么和怎样去寻找
技术能力
价值观
第八章 留住最好的人才
报酬方法
总报酬战略
基本工资
传统福利
独创性福利
短期激励
长期激励
工作轮换
指导
人力资源问题
第九章 成功转变开发人员
为什么转变开发人员
从大型机到客户/服务器的转变
从大型机到基于Web的转变
从客户/服务器到基于Web的转变
从面向过程到面向对象的转变
语言细节上的转变问题
转变起作用了吗?
第三部分方 法
第十章 软件生存周期
软件的能力成熟模型
级别一:初始级别
级别二:可重复级别
级别三:已定义级别
级别四:被管理级别
级别五:最优化的级别
需求分析和定义
系统结构和设计
测试计划设计
实施
验证和测试
单元测试
子系统测试和系统测试
黑箱测试和白箱测试
A测试和B测试
压力测试
产品验收
第十一章 快速应用开发
为什么需要另外一种方法
战略规划
产品定义
产品设计
产品开发
产品交付
第十二章 软件开发效率.度量标准和质量
代码度量标准
McCabe度量标准
工作环境对效率的影响
开发还是购买
行业知识的价值
标准的重要性
企业级结构标准
代码编写标准
帮助标准
第十三章 基于Web的产品验收
Web的产品验收大事记
Web的产品验收调查表
人格化的交流
内部支持协议(ISA)
角色和职责
互联网工程
安全工程
网络工程
WebTone工程
技术支持
硬件支持
应用系统支持
Web的产品验收方法
信息技术应当提供什么,不应当提供什么
第四部分技 术
第十四章 编程语言特点
C
C++
FORTRAN
Ada
BASIC
Java
COBOL
LISP
脚本语言(Perl.awk.TcI.ksh)
第十五章 软件开发工具
交互式开发工具
BeanMachine
BuilderXcessoryPro
CodeWarriorProfessional
JavaWorkshop
JBuilder
SuperCedeforJava
UIM/X
VisualCafeforJava
VisualAge
VisualJ++
GUI开发工具和库
Chart.J
Jviews
JWave
数据库工具
Blend.J
CocoBase
Developer/2000
GemStone/J
JaguarCTS
NetDynamics
测试工具
JavaScope
Pegasus
WebLoad
Web编辑工具
代码编辑器
编译器
调试
代码分析
性能分析工具
组件工具
CASE工具
版本和基准控制
第十六章 选择你的硬件环境
开发人员的计算机桌面
开发服务器
文件服务器基准测试
编译服务器基准测试
数据库服务器基准测试
Web服务器基准测试
网络基础设施
磁盘存储结构
与通用服务器相对的单一功能
影响软件设计的结构问题
SMP结构
MPP
NUMA
集群处理
高可靠和高容错系统
硬件同OS和编译器设计的关系
第十七章 基于组件的软件开发
组件历史
与面向对象技术相对的组件
组件软件中的可视化编程技术的作用
使用JavaBeans的组件开发
第十八章 性能优化技术
你需要多高的性能
如何识别瓶颈
磁盘瓶颈
CPU瓶颈
内存瓶颈
网络瓶颈
第十九章 多线程编程技术
多线程技术的定义
同步方法
第二十章 为Web而开发
Web浏览器和服务器
代理Web服务器
CGI编程技术
JavaApplets
EnterpriseJavaBeans
其他的Java企业级API
JavaServletAPI
JavaServerPages(JSP)
JavaMessagingService(JMS)API
JavaNamingandDirectory(JNDI)API
第二十一章 具有CORBA.RMI和DCOM的分布式应用系统
使用CORBA的分布式对象
CORBA服务
CORBA工具
CORBA应用对象
一个CORBA客户/服务器的例子
DCOM对象
具有RMI的分布式Java应用系统
第二十二章 Jini技术不为人知的高度
Jini基础结构
DiscoverandJoin
Lookup
分布式编程
租用
分布式事件
分布式事务处理
与Jini相对的Millennium
附录A软件开发中经常问到的问题
综合问题
与人员相关的问题
与方法相关的问题
与技术相关的问题
软件历史和一些小问题
附录BJava编码的标准模板
简介
源文
源文件命名
源文件结构
命名习惯
程序包命名
类/接口命名
域命名
方法命名
语句标号命名
空白的使用方法
空行
空格
缩进
续行
注解
文档注解
块注解
单行注解
类
类的主体结构
接口
接口主体结构
语句
简单语句
复合语句
标号语句
附录C内部支持协议实例
Root授权
服务器可用时间
备份
支持责任
每个服务器的功能
特殊需求
附录D外国人名中英文对照
附录E专业用语中英文对照