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