构建之法——读书笔记(8)
《构建之法》第十&十一章
主要讲述了在软件设计前期的需求分析问题上的方法和实践经验,分为“典型用户和场景”以及“软件设计与实现”。
其中第十章大部分内容包含:
用户的分类(典型用户可以包括以下内容:
1. 名字(越自然越好)
2. 年龄(不同年龄和收入的用户有不同的需求)
3. 收入
4. 代表的用户在市场上的比例和重要性(比例大不等同于
重要性高,如付费的用户比例较少,但是影响大,所以更重
要
5. 使用这个软件的典型场景
6. 使用本软件/服务的环境(在办公室/家里/沙发/床上/公
共汽车/地铁……)
7. 生活/工作情况
8. 知识层次和能力(教育程度,对电脑、互联网的熟悉程
度)
9. 用户的动机、目的和困难(困难 = 需要解决的问题)
10. 用户的偏好)
这十点已经将用户的种类划分得很详细了,我们也可以有针对性的去编写软件以满足对不同用户的需求问题。
然后就是用户场景分析,在没有听课或者看这本书之前呢这些我是完全想不到的,那时候脑子里只有一个简单的想法——把功能实现了不就得了,哪有那摸多的麻烦事啊!真的是和书上说的一样的那种人,但是看完书后发现是真不行,因为我们的软件是要卖给别人的,不是单单的实现某些所谓的功能的。所以用户场景分析就十分有必要了,这样一来一是可以检测到用户在使用过程中会遇到哪些问题以便我们解决,以及在任何环境下或者用户(外行人)的任何操作都必须让软件看起来是正常的,也就是传说中的换位思考,把自己当场一个不太了解电脑的用户来做软件。
接下来的事情就是写文档了,“什么?!程序员还需要写文档?你不是在逗我吧!没错,不仅仅要写而且还要写的十分的详细,就像,就像电视剧本那样详细,但是用不着写得那样生动”反而呢要做的越简单越容易理解越好,但是不能太枯燥乏味了,这样没人愿意读得好吗!看到这里呢,我又一次感到了巨大的压力感和荣耀感,妈呀原来程序员还是数理文学通吃啊,全能人才啊!!
第十一章主要讲到而“软件设计与实现”,大体分为两个部分第一”设计的方法“,第二"如何实现"
关于设计方法,我会学过一种“图形建模”也就是画用例图等等,还有“表达数据流动”等方法,还是需要我们用时间和精力去学习的。至于如何实现,无非是按照步骤:估计开发时间
快速编写伪代码以快速理解整个程序,撰写文档,与同事交流文档,编写代码,直到项目完成。
文章注重强调了“构建”的重要性,把抽象的构建比作为盖楼是的手脚架 ,貌似不是砌墙或盖楼的一部分但是没有它却是不行的,没有它楼就很难盖起来很难盖得标准和坚固。
书中还提到了关于做基本事情的心态的问题,我觉得经理回答得很好“我还没有见过从天而降的白领或金领。所谓的大拿们都是从蓝领摸爬滚打出来的。换句话说,我眼里没有白领或蓝领,只有“汗领”——就是大家都得出汗干活。”大家都得干活,踏踏实实的干每个人的成长都是一个过程,急于求成是不现实的。
这本书不仅仅带给我的是关于现在该如何学习或者以后进入工作该如何做,更多的我觉得是做人方面的心态和素质的教育。