书籍详情
不是三维:软件项目的设计、开发与管理
作者:何小朝 著
出版社:电子工业出版社
出版时间:2010-04-01
ISBN:9787121104848
定价:¥39.80
购买这本书可以去
内容简介
《不是三维:软件项目的设计、开发与管理》从软件与三维实物的本质性不同出发研究软件生产方法论。今天,软件生产中许多传统问题并没有得到质的改善,以“爆炸”形容的技术发展的实质究竟是什么?先进管理模式下的管理现状如何?《不是三维:软件项目的设计、开发与管理》首先深入分析以上问题,指出软件的本质及其至今不能实现工业化生产的内在原因;接着,从软件设计,测试与管理三个方面,系统地介绍了作者多年实践中总结出来的有效实用方法;最后从软件本质出发,提出了全新的先进软件生产模式与方法——代码驱动生产(Code Driving Production),并指出这将是适合软件本质的新途径。《不是三维:软件项目的设计、开发与管理》适合于从事软件工程研究的科研人员、管理人员与设计人员阅读,也可作为高等学校与计算机相关专业师生的教学参考读物。
作者简介
何小朝,工学博士,北京大学计算机系博士后,第一届中国软件业十大杰出青年候选人,第十六届世界计算机大会电子商务大会数据管理分会主席,中国青年科技工作者协会第二届会员,中国航空史研究会会员,中小企业创新基金评审专家。作者自1992年起从事软件开发与管理工作,并自2002年起,在北美从事软件系统分析与设计近七年之久。迄今为止,共负责、参与国内外大中型软件项目20多项,涉及网络与分布式系统、数据管理,嵌入式系统及工业设计与生产等领域,历任北京北大青乌信息工程有限责任公司总工程师,北京青鸟华光技术管理部部长、总工程师,青鸟天桥公安事业部副总经理,大唐微电子高级项目经理,北京安德尔国际软件有限公司总经理、董事,北美PPMC技术总监,北京先进数通科技有限公司BI事业部首席架构师等职。在国内外发表科技论文20余篇,多篇获奖,并被美国《工程索引》检索6篇。
目录
第一部分 现状与困惑
第1章 困难与困惑
1.1 软件项目实施的困难
1.1.1 漫长的维护期
1.1.2 什么时候开始编码——生产过程控制.
1.1.3 开发周期的精确估算
1.1.4 需求何时确定
1.1.5 令人头痛的边缘问题
1.1.6 鲁棒性
1.2 飞速发展?——困惑
第2章 技术方法的抉择——软件设计师的困惑
2.1 引言
2.2 软件设计师的理想
2.2.1 什么是软件设计师
2.2.2 技术人员的理想
2.3 似有曙光——方法论
2.3.1 技术进步带来希望
2.3.2 软件技术方法综述
2.4 现实
2.4.1 新技术手段的使用状况
2.4.2 困难没有得到本质解决
2.4.3 许多人这样看
2.4.4 痛一时,利一生
2.5 疑惑——方法的抉择
2.6 方法到底解决了什么
2.6.1 通用函数库、类库与框架的复用
2.6.2 分层体系使生产集中于应用本身
2.6.3 面向对象有机描述客观目标
2.6.4 “平台无关”是以“时间换空间”
2.6.5 其他本质探讨
2.7 常用有效技术方法简介
2.7.1 分析与设计的组织
2.7.2 开发环境的选择
2.7.3 编程
2.7.4 文档的生成
2.7.5 其他环节
2.8 本章小结
第3章 如何有效地服务——技术管理者的烦恼
3.1 软件项目管理现状
3.1.1 管理过多依赖个人经验
3.1.2 管理规则很不成熟
3.1.3 管理组与开发组不协调
3.1.4 无通用规则可循,各有特色
3.1.5 新方法的现实情况
3.2 软件项目管理的几个具体问题
3.2.1 文档的管理问题
3.2.2 设计文档的作用到底是什么
3.2.3 过程控制问题
3.2.4 测试的问题
3.2.5 需求制定的问题
3.3 管理者的希望与困惑——CMM
3.3.1 CMM简介
3.3.2 PSP/TSP
3.3.3 CMM应用现状
3.3.4 CMM的困惑
3.4 究竟怎么回事
3.5 本章小结
第4章 理想与现实——科学与工程的碰撞
4.1 软件工程的理想——生产线与复用
4.2 工程实践——与理想模式的距离
4.2.1 软件是数字化社会的主体
4.2.2 软件生产业的主体是什么
4.2.3 软件生产工程实践现状
4.3 “飞速发展”的本质
4.4 本章小结
第二部分 软件的本质
第5章 不是三维——软件的本质
5.1 三维空间——人类形象思维的局限
5.2 传统产品简析
5.2.1 传统产品——三维实体
5.2.2 传统产品的核心——设计输出
5.2.3 传统产品生产模式——生产线
5.3 软件产品简析
5.3.1 软件是一种特殊的产品
5.3.2 二维可视化设计语言能力分析
5.3.3 软件无法完全可视化表达
5.3.4 软件产品的核心——代码
5.3.5 一个有趣的问题
5.4 软件的本质——不是三维
5.5 本章小结
第三部分 软件生产方法论——实践与研究
第6章 设计与开发
6.1 引言
6.1.1 构件化生产与自动化的探讨
6.1.2 实用技术方法涉及的内容
6.2 应用系统架构设计
6.2.1 什么是架构
6.2.2 几种常见架构模式
6.2.3 实践中的系统架构设计
6.3 系统分析与设计
6.3.1 软件分析与设计的内容
6.3.2 系统整体结构的软件描述
6.3.3 整体代码框架搭建
6.3.4 系统公共库设计
6.3.5 接口设计
6.4 代码编制与调试
6.4.1 程序结构搭建
6.4.2 多线程/多进程程序设计
6.4.3 编辑
6.4.4 编译
6.4.5 调试
6.4.6 类型安全
6.4.7 跨平台程序设计
6.4.8 开源软件代码
6.5 面向对象——正确理解与使用160
6.5.1 何时使用面向对象
6.5.2 如何使用面向对象
6.6 设计的结束与输出
6.6.1 实效的制度化,而非教条的制度化
6.6.2 强化设计结束准则
6.6.3 设计阶段的输出文档
6.7 本章小结
第7章 软件测试——质量保证的重要环节
7.1 测试技术综述
7.1.1 测试的阶段
7.1.2 测试的种类
7.1.3 常用的测试工具
7.1.4 测试步骤
7.2 软件测试中几个实用问题
7.2.1 手工测试
7.2.2 自动化测试
7.2.3 测试用例的制定
7.2.4 关于测试驱动开发
7.2.5 测试时间估算
7.2.6 测试人员的素质
7.3 对测试标准的探讨
7.3.1 软件bug的分布特征
7.3.2 测试标准的制定原则
7.3.3 测试人员的困惑——测试标准如何实施
7.4 软件测试的本质探讨与工业化生产
7.5 本章小结
第8章 软件项目管理方法论
8.1 软件项目管理的产生
8.2 软件项目管理的作用与地位——为研发服务
8.3 软件项目管理的内容
8.4 软件项目管理的实用方法
8.4.1 软件规模划分
8.4.2 软件类型划分
8.4.3 软件项目实施的阶段划分
……
第9章 用软件管理软件
第10章 新一代软件生产方法论探索——代码驱动生产
后记
参考文献
第1章 困难与困惑
1.1 软件项目实施的困难
1.1.1 漫长的维护期
1.1.2 什么时候开始编码——生产过程控制.
1.1.3 开发周期的精确估算
1.1.4 需求何时确定
1.1.5 令人头痛的边缘问题
1.1.6 鲁棒性
1.2 飞速发展?——困惑
第2章 技术方法的抉择——软件设计师的困惑
2.1 引言
2.2 软件设计师的理想
2.2.1 什么是软件设计师
2.2.2 技术人员的理想
2.3 似有曙光——方法论
2.3.1 技术进步带来希望
2.3.2 软件技术方法综述
2.4 现实
2.4.1 新技术手段的使用状况
2.4.2 困难没有得到本质解决
2.4.3 许多人这样看
2.4.4 痛一时,利一生
2.5 疑惑——方法的抉择
2.6 方法到底解决了什么
2.6.1 通用函数库、类库与框架的复用
2.6.2 分层体系使生产集中于应用本身
2.6.3 面向对象有机描述客观目标
2.6.4 “平台无关”是以“时间换空间”
2.6.5 其他本质探讨
2.7 常用有效技术方法简介
2.7.1 分析与设计的组织
2.7.2 开发环境的选择
2.7.3 编程
2.7.4 文档的生成
2.7.5 其他环节
2.8 本章小结
第3章 如何有效地服务——技术管理者的烦恼
3.1 软件项目管理现状
3.1.1 管理过多依赖个人经验
3.1.2 管理规则很不成熟
3.1.3 管理组与开发组不协调
3.1.4 无通用规则可循,各有特色
3.1.5 新方法的现实情况
3.2 软件项目管理的几个具体问题
3.2.1 文档的管理问题
3.2.2 设计文档的作用到底是什么
3.2.3 过程控制问题
3.2.4 测试的问题
3.2.5 需求制定的问题
3.3 管理者的希望与困惑——CMM
3.3.1 CMM简介
3.3.2 PSP/TSP
3.3.3 CMM应用现状
3.3.4 CMM的困惑
3.4 究竟怎么回事
3.5 本章小结
第4章 理想与现实——科学与工程的碰撞
4.1 软件工程的理想——生产线与复用
4.2 工程实践——与理想模式的距离
4.2.1 软件是数字化社会的主体
4.2.2 软件生产业的主体是什么
4.2.3 软件生产工程实践现状
4.3 “飞速发展”的本质
4.4 本章小结
第二部分 软件的本质
第5章 不是三维——软件的本质
5.1 三维空间——人类形象思维的局限
5.2 传统产品简析
5.2.1 传统产品——三维实体
5.2.2 传统产品的核心——设计输出
5.2.3 传统产品生产模式——生产线
5.3 软件产品简析
5.3.1 软件是一种特殊的产品
5.3.2 二维可视化设计语言能力分析
5.3.3 软件无法完全可视化表达
5.3.4 软件产品的核心——代码
5.3.5 一个有趣的问题
5.4 软件的本质——不是三维
5.5 本章小结
第三部分 软件生产方法论——实践与研究
第6章 设计与开发
6.1 引言
6.1.1 构件化生产与自动化的探讨
6.1.2 实用技术方法涉及的内容
6.2 应用系统架构设计
6.2.1 什么是架构
6.2.2 几种常见架构模式
6.2.3 实践中的系统架构设计
6.3 系统分析与设计
6.3.1 软件分析与设计的内容
6.3.2 系统整体结构的软件描述
6.3.3 整体代码框架搭建
6.3.4 系统公共库设计
6.3.5 接口设计
6.4 代码编制与调试
6.4.1 程序结构搭建
6.4.2 多线程/多进程程序设计
6.4.3 编辑
6.4.4 编译
6.4.5 调试
6.4.6 类型安全
6.4.7 跨平台程序设计
6.4.8 开源软件代码
6.5 面向对象——正确理解与使用160
6.5.1 何时使用面向对象
6.5.2 如何使用面向对象
6.6 设计的结束与输出
6.6.1 实效的制度化,而非教条的制度化
6.6.2 强化设计结束准则
6.6.3 设计阶段的输出文档
6.7 本章小结
第7章 软件测试——质量保证的重要环节
7.1 测试技术综述
7.1.1 测试的阶段
7.1.2 测试的种类
7.1.3 常用的测试工具
7.1.4 测试步骤
7.2 软件测试中几个实用问题
7.2.1 手工测试
7.2.2 自动化测试
7.2.3 测试用例的制定
7.2.4 关于测试驱动开发
7.2.5 测试时间估算
7.2.6 测试人员的素质
7.3 对测试标准的探讨
7.3.1 软件bug的分布特征
7.3.2 测试标准的制定原则
7.3.3 测试人员的困惑——测试标准如何实施
7.4 软件测试的本质探讨与工业化生产
7.5 本章小结
第8章 软件项目管理方法论
8.1 软件项目管理的产生
8.2 软件项目管理的作用与地位——为研发服务
8.3 软件项目管理的内容
8.4 软件项目管理的实用方法
8.4.1 软件规模划分
8.4.2 软件类型划分
8.4.3 软件项目实施的阶段划分
……
第9章 用软件管理软件
第10章 新一代软件生产方法论探索——代码驱动生产
后记
参考文献
猜您喜欢