02333 软件工程(七)——软件生存周期过程与管理
- 按过程主体,软件生存周期分为:基本过程,支持过程,组织过程。
- 软件基本过程:获取过程,供应过程,开发过程,运行过程,维护过程。
- 软件验证过程的任务:需求验证,设计验证,代码验证,集成验证,文档验证。
- 简述软件验证过程中,过程实现的任务:【背】
(1)确定项目是否需要一项验证工作以及独立程度。
(2)如果项目承担验证工作,则应为验证软件产品建立相应的验证过程。
(3)如果项目需要独立的验证工作,则应选择一个有资格的组织负责进行验证。
(4)基于以上有关范围、粒度、复杂性和至关重要性分析,确定需要验证的生存周期活动和软件产品,并应为所选择的生存周期活动和软件产品选择适当的验证活动和任务以及执行这些任务相关的方法、技术和工具。
(5)基于所确定的验证任务,开发验证计划并建立相应的文档。
(6)实现验证计划。 - 什么是验证和确认,以及它们的区别?【背】
(1)验证就是证实一个过程或项目的每一软件工作产品/服务是否正确地反映了所规约的需求。;(1分)
(2)确认就是证实所期望使用的软件工作产品是否满足其需求;(1分)
(3)区别:验证是通过提供的客观证据、证实规约的需求是否得以满足;确认是通过提供的客观证据,证实有关特定期望的使用或应用的需求是否得以满足。(3分) - 软件生存周期过程分为5个基本过程,8个支持过程,4个组织过程。
- 软件生存周期的七个过程组:
需求分析过程:意图是建立系统软件部分需求。
软件确认过程:证实期望使用的软件产品是否满足其需求。 - 增量模型:快速构建第一版产品的好方法;适合在项目一开始增加一两个需求,可减少需求变更。
- 螺旋模型:适合开发风险大需求不确定的项目;引入风险分析。
- 喷泉模型:支持面向对象技术。
- 瀑布模型:适合开发小组非常熟悉项目需求;有自上而下相互衔接的固定顺序。
- 简述演化模型及其适用场合:【背】
(1)演化模型是在用户提出待开发系统的核心需求的基础上,开发人员按照这一需求,首先开发一个核心系统投入运行,根据用户反馈,实施迭代,每次迭代均由需求、设计、编码、测试、集成等阶段组成,通过增加或修正,产生软件产品的增量,最终完成软件产品的开发。
(2)一定程度上可减少软件开发活动盲目性;
(3)该模型主要针对事先不能完整定义需求的软件开发。 - 简述瀑布模型各阶段:【背】
(1)系统需求;(1分)
(2)软件需求;(1分)
(3)需求分析;(1分)
(4)设计;(1分)
(5)编码;(1分)
(6)测试;(1分)
(7)运行。(1分) - 简述瀑布模型概念及其主要问题:
定义:瀑布模型将软件生存周期的各项活动规定为按固定顺序而连接的若干阶段工作,形如瀑布流水,最终得到产品。(1分)
问题:
(1)要求客户能够完整、正确和清晰地表达他们的需求;并要求开发人员一开始就要理解这一应用。(1分)
(2)由于需求的不稳定性,使设计、编码和测试阶段都可能发生延期;并且当项目接近结束时,出现了大量的集成和测试工作。(1分)
(3)在开始的阶段中,很难评估真正的进度状态;并且直到项目结束之前都不能演示系统的能力。(1分)
(4)在一个项目的早期阶段,过分地强调了基线和里程碑处的文档;并可能需要花费更多的时间用于建立一些用处不大的文档。(1分) - 简述螺旋模型概念及其特点:
(1)螺旋模型是瀑布模型与演化模型的基础上加入两者所忽略的风险分析所建立的一种软件开发模型。(2分)
(2)螺旋模型关注解决问题的基本步骤,即标识问题,标识一些可选方案,选择一个最佳方案,遵循动作步骤并实施后续工作。一个突出特征是,在开发的迭代中实际上只有一个迭代过程真正开发了可交付的软件。(3分) - 项目管理计划的主体是过程管理计划。
- 支持生存周期过程具有重要作用的计划:软件工程管理计划,软件配置管理计划,软件质量保证计划,软件验证和确认计划,软件度量计划。
- 简述选择一个合适项目的生存周期模型的步骤:【背】
(1)标识开发项目可用的SLCM(软件生命周期管理)。
(2)在所期望的最终系统和开发环境中,识那些会影响SLCM选择的属性。
(3)标识为选择生存周期模型所需要的任何约束,包括外部的或是内部的。
(4)基于以往的经验和组织能力,评估第一步所选择的那几个SLCM。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 珍珠巧克力!
评论
GitalkValine