系统分析与设计第三周作业

一、简答题

  • 简述瀑布模型、增量模型、螺旋模型(含原型方法),并分析优缺点(从项目特点、风险特征、人力资源利用角度思考)
    • 瀑布模型:本阶段活动的工作对象来自于上一项活动的输出,这些输出一般是代表本阶段活动结束的里程碑式的文档。(提出来里程碑的概念)           
      • 优点:减低软件开发的复杂程度,提高软件开发的可管理性,以项目的阶段评审和文档控制为手段有效地对整个开发过程进行指导,保证了阶段之间的正确衔接,能够及时发现并纠正开
        发过程中存在的缺陷,使产品达到预期的质量要求
      • 缺点:强调过程活动的线性顺序,缺乏灵活性,风险控制能力较弱,管理人员如果仅仅以文档的完成情况来评估项目完成进度,往往会产生错误的结论。
    • 螺旋模型:螺旋模型主要针对大型软件项目的开发。螺旋模型是风险驱动的迭代过程,强调可选方案和约束条件从
      而支持软件的重用,有助于将软件质量作为特殊目标融入产品开发之中。螺旋模型结合了瀑布模型和快速原型方法,将瀑布模型的多个阶段转化到多个迭代过程中,以降低项目的风险。螺旋模型的每一次迭代都包含了以下六个步骤:
      1. 决定目标、替代方案和约束条件;
      2. 识别和解决项目的风险;
      3. 评估技术方案和替代方案;
      4. 开发本次迭代的交付物,并验证迭代产出的正确性;
      5. 计划下一次迭代;
      6. 提交下一次迭代的步骤和方案。
      • 优点:有助于增进软件开发人员和用户对系统服务需求的理解,减少两者之间的误解;易于确定系统的性能,确认各项主要系统服务的可应用性,确认系统设计的可行性,确认系统作为产品的结果;软件原型版本有的可以原封不动地成为产品,有的略加修
        改就可以成为目标系统的一个组成部分,有利于最终系统
        的建成。
      • 缺点:大型系统难以进行直接的原型模拟,只能经过系统分析得到系统的整体结构;原型方法难以构造处理运算量大、逻辑性较强的程序模块的原型; 在用户需求的业务流程、信息流程混乱的情况下,原型的构造与评价有一定的困难;批处理系统的大部分活动是内部处理的,应用原型方法会有一定的困难;此外原型方法还存在容易忽略文档工作、建立原型带来资源浪费、项目规划和管理困难等问题。
    • 增量模型:增量模型首先对系统最核心或最清晰的需求进行分析、设计、实现、测试并集成到系统中,再按优先级逐步实现后续需求。
      • 优点:增强客户对系统的信心;降低系统失败风险;提高系统可靠性;提高系统的稳定性和可维护性
      • 缺点:建立初始模型时,作为增量基础的基本业务服务的确定有一定难度;增量粒度难以选择
  • 简述统一过程三大特点,与面向对象的方法有什么关系?
    • 统一过程三大特点:
      • 用例驱动:开发团队使用通过代码和测试收集需求的用例
      • 以架构为中心:为整个项目建立架构,包括商业建模、需求分析与设计、具体实现以及测试与维护的各个模块
      • 受控的迭代式的增量开发(风险驱动):允许用不完整的,不完善的知识开始开发,并在开发的过程中不断改善
    • 与面向对象方法的关系:RUP与UML一起合作即为面向对象方法。(UML (Unified Modeling Language, 统一建模语言) 是面向对象技术领域内占主导地位的标准建模语言,支持从需求分析开始的软件开发的全过程。)
  • 简述统一过程四个阶段的划分准则是什么?每个阶段关键的里程碑是什么?
    • 统一过程四个阶段的划分准则:
      • 初始阶段:为系统建立业务案例 (Business Case) 并确定项目的边界。业务案例包括项目的验收规范、风险评估、所需资源估计、阶段计划等。确定项目边界需要识别所有与系统交互的外部实体,并在较高层次上定义外部实体与系统交互的特性,主要包括识别外部角色 (Actor)、识别所有用例并详细描述一些重要的用例。
      • 精化阶段:分析问题领域,建立健全的体系结构基础,编制项目计划,完成项目中高风险需求部分的开发。
      • 构建阶段:完成所有剩余的技术构件和稳定业务需求功能的开发,并集成为产品,详细测试所有功能。构建阶段只是一个制造过程,其重点放在管理资源及控制开发过程以优化成本、进度和质量。
      • 产品化阶段/移交阶段:确保软件对最终用户是可用的。产品化阶段可以跨越几次迭代,包括为发布做准备的产品测试,基于用户反馈的少量调整。
    • 每个阶段关键的里程碑:
      • 初始阶段:生命周期目标 (Lifecycle Objective) 里程碑,包括一些重要的文档,如:项目构想 (Vision)、原始用例模型、原始业务风险评估、一个或者多个原型、原始业务案例等。通过对文档的评审确定用例需求理解正确、项目风险评估合理、阶段计划可行等。
      • 精化阶段:生命周期体系结构 (Lifecycle Architecture) 里程碑,包括风险分析文档、软件体系结构基线、项目计划、可执行的进化原型、初始版本的用户手册等。通过评审确定软件体系结构已经稳定、高风险的业务需求和技术机制已经解决、修订的项目计划可行等。
      • 构建阶段:初始运行能力 (Initial Operational Capability) 里程碑,包括可以运行的软件产品、用户手册等,它决定了产品是否可以在测试环境中进行部署。此刻,要确定软件、环境、用户是否可以开始系统的运行。
      • 产品化阶段/移交阶段:产品发布 (Product Release) 里程碑,确定最终目标是否实现,是否应该开始产品下一个版本的另一个开发周期。在一些情况下这个里程碑可能与下一个周期的初始阶段相重合。
  • 软件企业为什么能按固定节奏生产、固定周期发布软件产品?它给企业项目管理带来哪些好处?

因为软件企业使用RUP开发模型,而RUP开发模型中的每一个阶段都可以分解成一次迭代,每个迭代都是瀑布的工作流程,每个迭代产品在增量(制品是可运行的),利于及时交付使用并反馈,迭代周期固定,利于量化团队/个人生产率。利用软件产品范围的弹性,合理规划范围(20%业务决定80%满意度),使得软件生产按 固定节奏 运行,固定迭代周期、固定开发周期、固定升级周期。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值