这周的构建之法学习了第14章和第15章。
第14章
这一章主要学习了质量保障。软件=程序+软件工程。软件质量=程序质量+软件工程质量。
由此,可以知道软件的质量包括程序的质量和软件工程的质量。程序的质量体现在软件外在功能的质量。软件工程的质量主要体现在:1.软件开发过程的可见性 2.软件开发过程的风险控制 3.软件内部模块,项目中间阶段的交付质量,项目管理工具的因素 4.软件开发成本的控制 5.内部质量指标的完成情况。
软件工程的质量可以通过CMMI来衡量。质量的成本的组成部分:预防、评审、内部故障、外部故障以及流程分析改进和投资改进等。另外,软件的质量保障工作也是非常重要的,这是软件团队为了让软件达到事先定义的质量标准而进行的所有活动,包括测试工作。软件团队中应该有独立的测试角色。独立专业的测试等同于代表客户对产品进行认证。分工是社会和行业进化的结果。开发和测试其实是软件工程的两个分支。不同的软件和服务需要不同方式和程度的测试。
第15章
这一章主要学习了软件的稳定和发布阶段。一个团队经历了计划、设计、开发等阶段,达成代码完成这一目标后,最后阶段往往才是最考验团队的。为了推出优秀软件,需要成立会诊小组,对于每一个漏洞,都需要进行详细缜密的分析。对于复杂项目的会诊,有这样几个步骤:1.开发者提交参加会诊的bug和修改方法 2.会议决定是否同意修改方案 3.执行。招数有许多种:1.设计变更 2.ZBB 3.最后回归测试 4.砍掉功能 5.修复BUG的门槛逐渐提高 5.逐步冻结。
对于软件的发布,一个产品根据不同的目标用户用不同的频率来决定发布的情况。每一级的用户群都主要专门的快速渠道给软件的工程师反馈,如果通过了基本测试,那这个版本就能推向更大的用户群。一层一层的推进,没有问题的话就能推广给更大一级的用户群。
发布之后,需要对软件的整个流程进行回顾,总结在整个过程学到的东西,需要改进的方面等,这样对以后的软件开发也会很有帮助。