软件工程师必读的好文章---《软件工程思想》全文,可下载。

tmran 2005-05-11 12:05:25
《软件工程思想》全文:http://www.willgo.net/bbs/dispbbs.asp?boardID=12&ID=111&page=1

目 录

第一章 软件工程基本观念

1.1 软件工程的目标与常用模型

1.2 软件开发的基本策略

1.2.1 复用

1.2.2 分而治之

1.2.3 优化——折衷

1.3 一些不正确的观念

1.4 一些有争议的观念

1.5 小结




第二章 程序员与程序经理

2.1 了解程序员

2.2 了解程序经理

2.3 程序员升为经理后是否还要编程

2.4 经理与技术队伍的建设

2.5 向错误与失败学习

2.6 提高综合素责

2.7 小结




第三章 项目计划与质量管理



3.1 项目计划

3.1.1 知己知彼

3.1.2 进度安排

3.2 零缺陷质量管理的观念

3.2.1 高目标

3.2.2 可执行的规范



3.3 软件的质量因素

3.3.1 正确性与精确性

3.3.2 性能与效率

3.3.3 易用性

3.3.4 可理解性与简洁性

3.3.5 可复用性与可扩充性



3.4 质量检查



3.5 小结




第四章 可行性分析与需求分析



4.1可行性分析的要素

4.1.1 经济

一、成本——收益分析




二、短期——长远利益分析




4.1.2 技术

4.1.3 社会环境



4.1.4 人

4.2 可行性分析案例——投资软件公司失败的教训

4.2.1可行性分析案例之一

4.2.2 可行性分析案例之二

4.2.2 可行性分析案例之三

4.3 需求分析为什么困难

4.3.1 客户说不清楚需求

4.3.2 需求自身经常变动

4.3.3 分析人员或客户理解有误

4.4 如何进行需求分析

4.4.1 应该了解什么

4.4.2 通过什么方式去了解



4.5 小结




第五章 系统设计



5.1 体系结构设计

5.1.1 层次结构

一、上下级关系的层次结构

二、顺序相邻关系的层次结构

三、其它的层次结构



5.1.2 Client/Server结构

5.2 模块设计

5.2.1 信息隐藏




5.2.2 内聚与耦合

5.2.3 封闭——开放性



5.3 数据结构与算法设计

5.4 用户界面设计

5.4.1 界面设计中美的需求与导向作用




5.4.2 界面美的内涵



一、界面的合适性

二、界面的风格




三、界面的广义美




5.5 系统设计示例——支持协同工作的交互式三维图形软件开发系统

5.5.1 设计背景

5.5.2 通用交互式三维图形软件开发工具 Intra3D 2.0

5.5.2.1 主要模块和功能




5.5.2.2 用户界面设计

5.5.3 支持协同工作的网络通讯开发系统 CNC 1.0

5.5.3.1 CNC 客户程序的API设计

5.5.3.2 CNC Server的设计

5.5.4 应用示例

5.6 小结




第六章 C++ 面向对象程序设计

6.1 C++面向对象程序设计的重要概念

6.1.1 类与对象

6.1.2 继承与组合

6.1.3 虚函数与多态

6.2 良好的编程风格

6.2.1 命名约定

6.2.2 使用断言

6.2.3 new、delete与指针

6.2.4 使用const

6.2.5 其它建议

6.3 小结




第七章 测试与改错



7.1 对测试的理解

7.1.1 测试的目的

7.1.2 测试的心理要求

7.1.3 测试的真理

7.1.4 测试与质量的关系



7.2 测试人员的选择

7.2.1 Microsoft公司的经验教训

7.2.2 测试人员的分工

7.3 测试的主要内容与常用方法

7.3.1 正确性与精确性测试

7.3.2 容错性测试

7.3.3 性能与效率测试

7.3.4 易用性测试

7.3.5 文档测试



7.4 改错

7.5 小结




第八章 维护与再生工程

8.1 软件维护的常识

8.2 维护的代价及其主要因素

8.3 再生工程

8.3.1 重构

8.3.2 逆向工程

8.3.3 前向工程

8.4 小结

《软件工程思想》全文:http://www.willgo.net/bbs/dispbbs.asp?boardID=12&ID=111&page=1

...全文
201 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
brilliantboy 2005-05-21
  • 打赏
  • 举报
回复
林锐写的 ,是吧,很牛的一个人
ribut9225 2005-05-21
  • 打赏
  • 举报
回复
lixiaoxiao521 2005-05-21
  • 打赏
  • 举报
回复
支持一下楼主了,好东东, 呵呵
joyjjjz 2005-05-21
  • 打赏
  • 举报
回复
hao
tmran 2005-05-20
  • 打赏
  • 举报
回复
支持吧,大家都进步
sz114 2005-05-14
  • 打赏
  • 举报
回复
好东西,谢谢
flowercity 2005-05-11
  • 打赏
  • 举报
回复
up
顺便问一下楼上的constantine(飘遥的安吉儿)
你的QQ是好多?
俺的是13100888
希望能和你联系
我来自成都
constantine 2005-05-11
  • 打赏
  • 举报
回复
3s
cczlp 2005-05-11
  • 打赏
  • 举报
回复
这里更好,直接下载:
http://book.httpcn.com/show.asp?id=984#2
cczlp 2005-05-11
  • 打赏
  • 举报
回复
谢谢!
pinjun 2005-05-11
  • 打赏
  • 举报
回复
顶,谢谢!
icebilly 2005-05-11
  • 打赏
  • 举报
回复
正在下载中
谢谢
MapReduce是一个编程模型,也是一个处理和生成超大数据集的算法模型的相关实现。用户首先创建 一个Map函数处理一个基于key/value pair的数据集合,输出中间的基于key/value pair的数据集合;然 后再创建一个Reduce函数用来合并所有的具有相同中间key值的中间value值。现实世界中有很多满足 上述处理模型的例子,本论文将详细描述这个模型。 MapReduce架构的程序能够在大量的普通配置的计算机上实现并行化处理。这个系统在运行时只关 心:如何分割输入数据,在大量计算机组成的集群上的调度,集群中计算机的错误处理,管理集群中计 算机之间必要的通信。采用MapReduce架构可以使那些没有并行计算和分布式处理系统开发经验的程 序员有效利用分布式系统的丰富资源。 我们的MapReduce实现运行在规模可以灵活调整的由普通机器组成的集群上:一个典型 的MapReduce计算往往由几千台机器组成、处理以TB计算的数据。程序员发现这个系统非常好用:已 经实现了数以百计的MapReduce程序,在Google的集群上,每天都有1000多个MapReduce程序在执 行。 1、介绍 在过去的5年里,包括本文作者在内的Google的很多程序员,为了处理海量的原始数据,已经实现了数 以百计的、专用的计算方法。这些计算方法用来处理大量的原始数据,比如,文档抓取(类似网络爬虫 的程序)、Web请求日志等等;也为了计算处理各种类型的衍生数据,比如倒排索引、Web文档的图 结构的各种表示形势、每台主机上网络爬虫抓取的页面数量的汇总、每天被请求的最多的查询的集合等 等。大多数这样的数据处理运算在概念上很容易理解。然而由于输入的数据量巨大,因此要想在可接受 的时间内完成运算,只有将这些计算分布在成百上千的主机上。如何处理并行计算、如何分发数据、如 何处理错误?所有这些问题综合在一起,需要大量的代码处理,因此也使得原本简单的运算变得难以处 理。 为了解决上述复杂的问题,我们设计一个新的抽象模型,使用这个抽象模型,我们只要表述我们想要执 行的简单运算即可,而不必关心并行计算、容错、数据分布、负载均衡等复杂的细节,这些问题都被封 装在了一个库里面。设计这个抽象模型的灵感来自Lisp和许多其他函数式语言的Map和Reduce的原 语。我们意识到我们大多数的运算都包含这样的操作:在输入数据的“逻辑”记录上应用Map操作得出一 个中间key/value pair集合,然后在所有具有相同key值的value值上应用Reduce操作,从而达到合并中 间的数据,得到一个想要的结果的目的。使用MapReduce模型,再结合用户实现的Map和Reduce函 数,我们就可以非常容易的实现大规模并行化计算;通过MapReduce模型自带的“再次执行”(re- execution)功能,也提供了初级的容灾实现方案。 Google MapReduce中文版 编辑推荐 热点文章 ·理解REST软件架构 ·eBay的架构 ·如何成为一个好的系统分析员 ·什么是系统分析 ·怎样做一个优秀的系统分析师 ·优秀的系统分析师必读——需求分析20条原则 相关主题 最新文章 ·Google MapReduce中文版 ·Google的系统工程师(SA)如何工作 ·The Google File System中文版 ·无挑战,不工作之 -系统分析师招聘答案 ·五年Skype架构师之路的感言 ·深入分析IBM的云计算解决方案 PuzzleGames.alot.com Google 提供的广告 Google 提供的广告 Google Google推广 Google代理 C# Mapreduce Google优化 Google 提供的广告 Google AD Word Get on Google Google優化 Google广告 Download Google Analytics Gain traffic and optimize your site with Google Analytics. Free! www.google.com/analyticsGoogle MapReduce中文版-系统架构 http://www.kuqin.com/system-analysis/20100915/88059.html[2010-11-2 17:19:20] 这个工作(实现一个MapReduce框架模型)的主要贡献是通过简单的接口来实现自动的并行化和大规模 的分布式计算,通过使用MapReduce模型接口实现在大量普通的PC机上高性能计算。 第二部分描述基本的编程模型和一些使用案例。第三部分描述了一个经过裁剪的、适合我们的基于集群 的计算环境的MapReduce实现。第四部分描述我们认为在MapReduce编程模型中一些实用的技巧。第 五部分对于各种不同的任务,测量我们MapReduce实现的性能。第六部分揭示了在Google内部如何使 用MapReduce作为基础重写我们的索引系统产品,包括其它一些使用MapReduce的经验。第七部分讨 论相关的和未来的工作。

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧