构建之法阅读笔记

第十一章软件设计与实现的学习;

分析和设计方法

典型的开发流程,常见的分析和设计方法:ERD,DFD,UML,开发阶段的一些管理方法:每日构建,小强地狱,构建大师;

分析和设计方法包括以文字为主的文档,以图形为主构造的模型,用数学语言的描述,用类自然语言+代码构造的描述,原代码加注释也能描述;

图形模型和分析方法;1表达实体与实体之间的关系如思维导图,实体关系图,Use Case Diagram。2.表达数据的流动。3.表达控制流。4.统一的表达方式。

其他的设计方法包括形式化的方法,文学化编程。

开发阶段的日产管理包括以下问题:闭门造车,每日构建,构建大师,宽严皆误,小强地狱。

在第十一章开头的时候就说明了我们写软件的目的:我们写软件就是要解决用户的需求。并且分清实体与抽象,就像文中所介绍的”鸡兔同笼“和”果冻搬砖“一样,理解抽象和现实,并且学会构造模型,学会绘制思维导图。而给我印象最深刻的是十六章,在第十六章IT行业的创新中作者提到:统计数据表明,70%的创新者说,他们最成功的创新,是在他们的拿手领域之外发现的。另一个意思就是他们并不是这个领域的专家。而一些计算机专家认为这不是创新,甚至说原理简单,不屑于搞。但事实证明这一创新改变了世界。诺基亚的产品覆盖了木材相关产品、橡胶、电力产品、电脑、军事产品,等等。后来因为经济困难,卖掉所有和通信不相关的产品线,用15的时间成为了世界上最大的手机通信企业。索尼一直做收录机,创始人盛田昭夫推出"单放机"即随身听。取名字为"Walkman",语言专家说不符合语法,盛田坚持自己想法,Walkman吸引了众多消费者,在其生命周期,卖出了2.2亿台。

         这些例子都说明了领域内的专家有时没有领域外的创新者有创意。我想更多的是没有从实际出发考虑顾客和群众的感受,就像有时候我们做题一样,看一遍题知道了它应该用什么公式,用什么原理去解答,然而就是实际动笔去解,真正到了考试,我们碰到同样的问题,也就只能停留在:"这道题我当时碰到过!"却迟迟解不出来。所以创新的前提是实践,不能停留在想法上。

 十二章:用户体验

用户的第一印象:当别人使用你的软件的时候会提出很多的意见跟建议;用户和软件的第一次使用,很大程度上决定了用户对软件的评价。
从用户的角度考虑问题:用户需要什么我们设计什么,是一个好哒产品的出发点。
软件服务始终都要记住用户的选择,只有当用户满意你的作品的时候你的作品才是好的,一切从用户的角度出发;
用户体验设计的步骤和目标
1. 尽快提供可感触的反馈系统状态
2. 系统界面符合用户的现实惯例
3. 用户有控制权
4. 一致性和标准化
5. 适合各种类型的用户
6. 帮助用户识别、诊断并修复错误
7. 有必要的提示和帮助文档

第十三章

对于软件的测试有很多种的方法,根据以下几点进行分类:

1. 各种测试理论和方法。2. 测试工具介绍。3. 实战中的测试
对于码农来说bug并不陌生;Bug是软件的缺陷;
Bug可以分解为:症状、程序错误、根本原因
症状:即从用户的角度看,软件出了什么问题。
程序错误:即从代码的角度看,代码的什么错误导致了软件的问题。
bug是最头疼的一件事情,为了减少bug的出现,需要采用测试的方法来解决bug;
1、单元测试
2、代码覆盖率测试
3、构建验证测试
4、验收测试
5、“探索式”的测试
6、回归测试
7、场景/集成/系统测试
Bug的标题,要能简要说明问题,对于测试可能会有很多我们想象不到的错误出现发生,我们要有虚构的基础知识,看清一些错误,及时纠正;
原文地址:https://www.cnblogs.com/wwbzuiku/p/14206107.html