阅读笔记2
实战中的软件工程
7.2 MSF九项基本原则
·推动信息共享与沟通
·为共同的远景工作
·充分授权和信任
·各司其职,对项目负责
·重视商业价值,提供渐进的价值
·保持敏捷,预期和适应变化(预期变化,不是适应变化)
·投资质量
·学习所有经验
·与顾客合作
7.3MSF团队模型
·测试团队要做的事:发现问题和解决问题
7.4MSF过程模型
·阶段:团队在某段时间集中精力做一件事情,团队的重心随阶段的转移而转移
·里程碑:上一阶段的结束,下一阶段的起始。
7.5实战中的软件工程
·注重与实际结合,而不是盲目跟风
·切忌Cargo Cult,否则最终只会导致失败
7.6联系与讨论
软件工程原则:
·使用分阶段的计划管理流程,强调需求分析和抵制随意改变项目计划
·持续检查认证,在早期发现问题
·坚持规范的产品控制--验证过的程序或文档只有通过规范的流程才能修改
·使用现代的编程方法和工具
·确保团队成员能够分阶段、分模块地产生可以测试、可以复审的结果,并对结果负责
·用少而精的人员,减少交流成本,提高效率
·持续地收集数据和反馈,争取通过多个迭代实现流程的改进和整体软件质量的提高
看完这一章,我认为这本书更适合已经踏入工程领域的人阅读,我目前的阶段虽然还不太适合,但对我接下来的学习仍有重要的指导意义。在任何一个项目中,或大或小,都应该遵守那几个原则,减少代码的出错率,降低维护成本。根据课程安排,下学期我就会与人合作完成一个项目,在一个团队中,制作一个项目要有清晰的计划,项目的完成流程,最重要的是与实际结合,切忌货船效应。在项目开发过程中,必不可少的是与人打交道,学会与人交流,了解彼此的需求,对于项目的开发和后期的维护和更新会有很大的帮助。个人方面,写完一部分代码之后,必须进行测试,减少后期代码修改的成本,同样这也是一个自我检测,毕竟错误越早解决越好。
8需求分析
8.1软件需求
·获取和引导需求
·分析和定义需求
·验证需求
·在软件产品的生命周期中管理需求
软件的需求:①产品功能性需求;②对产品开发过程的需求;③非功能性需求;④综合需求
8.2软件产品的利益相关者
·从软件出发,推演出利益相关者,争取每个人的意见,虽不能让人人满意,但尽可能做到最好。
8.3获取用户需求-用户调研
·焦点小组
·深入面谈
·卡片分类
·用户调查问卷
·用户日志研究
·人类学调查
·眼动跟踪研究
·快速原型调研
·A/B测试
8.4竞争性需求分析的矿建
·NABCD模型:需求、做法、好处、竞争、推广
8.5功能的定位和优先级
·杀手功能/外围功能
·必要需求/辅助需求
8.6计划和评估
·目标、估计、决心
·找出估计后面的假设
·提高估计能力的招数
·影响软件成本的因素:产品、平台、人员、项目
8.7分而治之
·WBS产品:保证所有子节点覆盖全部父节点包含的内容;保证各个子结点不要相互覆盖;叶子节点保证足够小,能在一个里程碑中完成;从结果出发构建WBS,而不是从团队的活动出发。
看完这章之后,对于产品的需求明白更深。一个软件的完成,不仅仅来自客户的需求,还有制作者的理解,更有各户将其投入使用后所能得到的效益。客户的需求非常重要,但有时在交流的过程中,客户也不能准确表达自己的需求,所以在制作的过程中,需要不断与客户交流,降低产品的维护成本;其次是制作者的理解,我们或做过或见过考研默契的互动游戏,但是最懂结果大都不理想,软件的最终成型模样有很大一部分原因取决于制作者的理解。客户将产品投入使用之后获得的效益往往是最重要的,一个软件好不好,并不取决于客户的描述和制作者精彩的制作,而是取决于使用它的普通人,举个例子:我装杀毒软件只装一个火绒,而普通人装杀毒软件恨不得装7个加速球组成小金刚。一对比就出来了,真正的好软件需要“傻瓜”都会用。除此之外,还要考虑软件制作和维护的成本,尽可能地降低成本,是一个项目公司真正缺少的。

浙公网安备 33010602011771号