20171006-构建之法:现代软件工程-阅读笔记
第七章-MSF:
MSF【Microsoft Solution Framework】:微软解决方案框架;
MSF基本原则:
1.推动信息共享与沟通--MSF团队模型和MSF过程模型也是建立在“信息共享与沟通”原则上的;
2.为共同的远景而工作--远景-->长远的目标->必须是明确的,无二义性,不为空泛的;
3.充分授权和信任--高效的团队中,所有成员都应该能得到充分的授权,他们有权在职权范围内按照自己的承诺完成任务,同时,他们也充分信任其他同事能实现各自的承诺;
4.各司其职,对项目共同负责--对自己的职责进行负责;
5.交付增量的价值--考虑商业价值,明确的远景;
6.保持敏捷,预期和适应变化--“我们”是预期变化,不是期望变化;
7.投资质量--对质量的重视,引发对质量的投资,引发对人、过程和工具的投资;
8.学习所有的经验--发现错误可以马上研究解决办法,好的做法可以及时得到推广和总结;
9.与顾客合作--项目中的商业价值要由用户说了算,MSF强调产品团队与顾客的交流与合作;
MSF团队模型:
产品经理,项目管理,开发,发布管理,测试,用户体验(交流)--每个角色都被认为是同等重要的,重要的决定都要共同作出;
MSF过程模型:
MSF过程模型是从传统的软件开发瀑布模型和螺旋模型发展而来。MSF过程模型的基本元素是阶段和里程碑;
构思(远景/范围认可)->计划(项目计划认可)->开发(开发完成)->稳定(发布就绪认可)->部署(部署完成);
在Visual Studio TFS中,MSF演化为:MSF敏捷开发模式、MSF CMMI【Capacity Maturity Model Integrated】(能力成熟度模型集成)开发模式;
第八章-需求分析:
软件需求步骤:
1.获取和引导需求;
2.分析和定义需求;
3.验证需求;
4.在软件产品的生命周期中管理需求;
对软件的需求,也可以从不同角度做下面的划分:
1.对产品功能性的需求;
2.对产品开发过程的需求;
3.非功能性需求;
4.综合需求;
软件产品的利益相关者:
软件团队在分析软件需求时,要考虑一些相关者:用户、顾客、市场分析者、监管机构、系统/应用集成商、软件团队、软件工程师;
用户调研方法:
1.焦点小组;
2.深入面谈(软件可用性研究);
3.卡片分类;
4.用户调查问卷(易犯错误:问题定义不准确,用词含糊不清,让用户花额外努力来回答问题,问题带有引导性的倾向,问题涉及用户隐私、机密和细节等);
5.用户日志研究;
6.人类学调查;
7.眼动跟踪研究;
8.快速原型调研;
9.A/B测试;
竞争性需求分析的框架:
NABCD模型:
1.N(Need,需求);
2.A(Approach,做法);
3.B(Benefit,好处);
4.C(Competitors,竞争);
5.D(Delivery,推广);
功能的定位和优先级:
杀手功能、外围功能、必要需求、辅助需求;
五种方法:
1.维持--以最低成本维持此功能;
2.抵消--快速地达到“足够好”、“和竞争对手差不多”;
3.优化--花大力气做到并保持行业最好;
4.差异化--产生同类产品比不了的功能或优势;
5.不做--砍掉一个功能也是一个办法,并不一定要做所有的功能;
计划和估计:
软件项目计划的一个重要环节就是估计项目各类工作(特别是各种功能)所需的时间;
估计:
三个概念:
1.目标:表明一个希望达到的状态;
2.估计:以当前了解的情况和掌握的资源,要花费多少人力物力时间才能实现某事;
3.决心:保证在某个时间之前完成预先规定的功能和质量;