3.1 前期准备的重要性


准备工作的中心目标就是降低风险:一个好的项目规划者能够尽可能早地将主要的风险清除掉,以使项目的大部分工作能够尽可能平稳的进行。(感触颇深,感觉没有一个好的规划,写到中后期会有很多严重的逻辑错误)


目前,软件开发中最常见的项目风险是糟糕的需求分析和糟糕的项目计划。


造成准备工作不充分的一个常见原因是,那些分配去做前期准备活动的开发人员并不具备完成这一任务的专业技能。(特别是交叉学科开发的时候,宝宝心里苦啊!)


在实现一个系统之前,你需要理解“这个系统应该做什么”,以及“它该如何做到这些”。作为技术雇员,你的一部分工作就是培训周围的非技术人员,讲解开发过程。


程序员是软件食物链的最后一环。构架师吃掉需求,设计师吃掉构架,而程序员则消化设计。


原则:发现错误的时间要尽可能接近引入该错误的时间。(所以设计阶段其实很总要,书中对食物链的比喻很贴切,错误会随着不断地被告等级的角色吞噬而放大)

在软件开发过程中,上游引入的缺陷通常比那些在下游引入的缺陷具有更广泛的影响力,这也使得早期的缺陷代价更加高昂。(但是其实很多时候这部分东西应该都不值钱而常常被忽略。)


3.2 辨明你所从事的软件的类型


需求稳定是确保超高等级的可靠性的必备条件之一。

经验规则:设计好预先对大约80%的需求做出详细说明,并给稍后再进行详细说明的额外需求分配一定的时间。


相关知识补充:


1. 迭代式开发:在迭代式开发方法中,整个开发工作被组织为一系列的短小的、固定长度(如3周)的小项目,被称为一系列的迭代。每一次迭代都包括了定义、需求分析、设计、实现与测试。采用这种方法,开发工作可以在需求被完整地确定之前启动,并在一次迭代中完成系统的一部分功能或业务逻辑的开发工作。再通过客户的反馈来细化需求,并开始新一轮的迭代。


2.序列式开发方法也叫瀑布模型式是最典型的预见性的方法,严格遵循预先计划的需求、分析、设计、编码、测试的步骤顺序进行。步骤成果作为衡量进度的方法,例如需求规格,设计文档,测试计划和代码审阅等等。
瀑布式的主要的问题是它的严格分级导致的自由度降低,项目早期即作出承诺导致对后期需求的变化难以调整,代价高昂。瀑布式方法在需求不明并且在项目进行过程中可能变化的情况下基本是不可行的。
有论文统计他是造成70%软件开发失败的原因。

《代码大全》读书笔记及随想(day02)相关推荐

  1. JavaScript、jQuery、HTML5、Node.js实例大全-读书笔记3

    技术非常多,样例非常多.仅仅好慢慢学,慢慢实践!!如今学的这本书是[JavaScript实战----JavaScript.jQuery.HTML5.Node.js实例大全] JavaScript.jQ ...

  2. JavaScript、jQuery、HTML5、Node.js实例大全-读书笔记2

    技术很多,例子很多,只好慢慢学,慢慢实践!!现在学的这本书是[JavaScript实战----JavaScript.jQuery.HTML5.Node.js实例大全] JavaScript.jQuer ...

  3. 简单使用Git和Github来管理自己的代码和读书笔记

    简单使用Git和Github来管理自己的代码和读书笔记 以前不知道使用代码管理工具,最后写的一些东西都没有了,由于硬盘坏了或者不小心格式化了之类的,后来使用了Git 和Github来托管自己的代码和读 ...

  4. 第一行代码 Android读书笔记(二)

    第一行代码 Android读书笔记 第三章 软件也要拼脸蛋-UI开发的点点滴滴 常用控件的使用方法 详解4种基本布局 自定义控件 最常用和最难用的控件-ListView 更加强大的滚动控件-Recyc ...

  5. 英语读书笔记-Book Lovers Day02

    英语读书笔记-Book Lovers Day02 Part1 Her eyes dart toward mine. All I need from them is a full credit repo ...

  6. 《第一行代码》读书笔记(七):album爬坑

    <第一行代码>读书笔记(七):album爬坑 权限问题 尽管书中提到4.4系统之前需要声明访问SD卡权限,不过很遗憾,4.4系统之后仍然需要 照片不显示问题 Android10对文件访问权 ...

  7. 《梦断代码》读书笔记——第3、4、5章

    只觉得这段时间事儿太多了,本应该周五就应该写的读书笔记一直拖到今天. 读完这几章,我主要收获了以下几点:计算机编程语言的发展由低级语言到高级语言,高级语言是在低级语言的基础上发展起来的,低级语言不应该 ...

  8. 代码大全阅读笔记02

    第二部分:创建高质量的代码 第一部分主要介绍了开发过程和需求分析,强调了构建的重要性,可以说十介绍了技术层面的一些东西.第二部分把目光放到了更加细节的地方,也开始看到了一些代码.内容十分全面,也写了很 ...

  9. 《梦断代码》读书笔记

    梦断代码,英文名是DREAM IN DODE.梦断代码,原作是美国的Scott Rosenberg,经韩磊翻译而来. 为什么选择读这本书?在图书馆软件工程处翻阅时,被这本书的名字吸引住了,同时之前也听 ...

最新文章

  1. 【CV】Pytorch一小时入门教程-代码详解
  2. 【Java学习笔记之四】java进制转化
  3. java操作xml文件--修改节点
  4. C和汇编---sizeof运算符和strlen函数
  5. 线程创建-结束-回收 教程
  6. 修改HBase的rowkey设计把应用的QPS从5W提升到50W
  7. 字节内部自动化测试培训资料,明年涨薪用得上
  8. 279. Perfect Squares
  9. php后端路由,laravel实现前后台路由分离的方法
  10. 服务注册发现方案需求调研
  11. 【物理/数学】概念的理解 —— pivot、position
  12. Eclipse------新建文件时没有JSP File解决方法
  13. html添加购买按钮,萤火小程序商城给前端和商品组件增加“购买”按钮的方法...
  14. 好用的国产Linux深度操作系统Deepin 20.5发布
  15. java里面怎么生成备注时间_Android studio 创建java文件时 注解显示作者、日期、时间...
  16. Docker容器的数据卷(volumes)
  17. 我自己编写的一个tab
  18. 机器学习工程师 - Udacity 项目:实现一个狗品种识别算法App
  19. 计算机屏幕大小怎么计算,电视机尺寸怎么算 电视机的尺寸换算公式
  20. 立冬了,小伙伴们要注意保暖哦!

热门文章

  1. pyinstaller打包的坑,最重要(多个文件的打包)
  2. 开源oa系统-JEOS办公系统,完全开源免费的OA系统
  3. 链式前向星——最完美图解
  4. 宠物经济:一门千亿级市场的孤独生意
  5. 工艺路线建立:BAPI_ROUTING_CREATE
  6. 基于S7–1500的单部六层电梯教程(三)
  7. 编程练习6:最大公约数
  8. 米家机扫拖机器人说明书_米家扫拖机器人1C评测:“看”得见才能打扫干净
  9. 盘点常见的4大矢量设计工具
  10. yum源配置,亲测可用