系统分析与设计——HW3
作者:互联网
系统分析与设计——HW3
简述瀑布模型、增量模型、螺旋模型(含原型方法),并分析优缺点
- 从项目特点、风险特征、人力资源利用角度思考
瀑布模型
优点:
(1)瀑布模型的流程符合客观的开发方式;
(2)有利于软件开发方法和工具的研究,从而提高了大型软件项目开发的质量和效率;
(3) 理论上当前一阶段的工作完成,人们只需要关注后续的部分。
缺点:
(1)瀑布模型的各个环节前后相连, 开发过程不能逆转,出现调整时代价过大;
(2)模型要求需求明确,但是往往客户无法给出精确的需求,真正的开发过程也很难完全按照流程进行;
(3) 软件成品要开发结束才可以拿到,期间很难做出即时的反馈,比较考验客户的耐心,难以及时沟通解决问题;
(4)开发的不同阶段里,知识技能的需求不同,人员数量要求不同。
增量模型
优点:
(1)采用增量模型的优点是人员分配灵活,刚开始不用投入大量人力资源;
(2)如果核心产品很受欢迎,则可增加人力实现下一个增量;
(3)可先发布部分功能给客户,对客户起到镇静剂的作用。
缺点:
(1)并行开发构件有可能遇到不能集成的风险,软件必须具备开放式的体系结构;
(2)增量模型的灵活性可以使其适应这种变化的能力大大优于瀑布模型和快速原型模型,但也很容易退化为边做边改模型,从而使软件过程的控制失去整体性。
螺旋模型
优点:
(1)每次交付都能得到用户的反馈,不需十分明确的需求;
(2)项目灵活,便于应对不断变更的需求;
(3)客户始终具有一定的项目参与度,便于开发组与客户之间的沟通;
(4)用小的分段构造大型系统,成本计算相对容易。
缺点:
(1)迭代次数难以控制,存在预算超出的风险;
(2)不适合大团队;
(3)难以确定发布的日期。
原型方法
优点:
(1)可以得到比较良好的需求定义,容易适应需求的变化;
(2)有利于开发与培训的同步;
(3)开发费用低、开发周期短且对用户更友好。
缺点:
(1)客户与开发者对原型理解不同;
(2)准确的原型设计比较困难;
(3)不利于开发人员的创新。
简述统一过程三大特点,与面向对象的方法有什么关系?
三大特点
统一过程是用例驱动的:用例图要求我们站在用户的角度出发,从用户的价值层面考虑问题。同时还可以驱动系统设计、实现和测试的进行,也就是说用例可以驱动开发过程。
统一过程是以架构为中心的:软件系统的构架是从不同的角度描述即将构造的系统,它刻画了系统的整体设计,去掉了细节部分,突出了系统的重要特性。明确和可以进化的架构是用例实现的基础,所以架构必须是实现统一过程的中心。
统一过程是迭代和增量的过程:软件开发是一个复杂的过程,受控的迭代可以用来处理用例,是提高软件开发效率的关键,迭代和增量使软件开发阶段性展开,对于用例的实现做出了控制和协调。
与面向对象方法的关系
RUP (Rational Unified Process) 是一种基于 UML 的、以构架为中心、用例驱动与风险驱动相结合的迭代增量过程。它将软件开发过程要素和软件工件要素整合在统一的软件工程框架中,是一个面向对象的程序开发方法论。
简述统一过程四个阶段的划分准则是什么?每个阶段关键的里程碑是什么?
初始阶段:
准则:为系统建立业务案例 (Business Case) 并确定项目的边界。
里程碑:生命周期目标里程碑,包括一些重要文档,如项目构想 (Vision)、原始用例模型、原始业务风险评估、一个或者多个原型、原始业务案例等 。
细化阶段:
准则:分析问题领域,建立健全的体系结构基础,编制项目计划,完成项目中高风险需求部分的开发 。
里程碑:生命周期体系结构里程碑,包括风险分析文档、软件体系结构基线、项目计划、可执行的进化原型、初始版本的用户手册等。通过评审确定软件体系结构已经稳定、高风险的业务需求和技术机制已经解决、修订的项目计划可行等。
构建阶段 :
准则:完成所有剩余的技术构件和稳定业务需求功能的开发,并集成为产品,详细测试所有功能。
里程碑,包括可以运行的软件产品、用户手册等,它决定了产品是否可以在测试环境中进行部署。此刻,要确定软件、环境、用户是否可以开始系统的运行。
移交阶段:
准则:确保软件对最终用户是可用的。
产品发布 (Product Release) 里程碑,确定最终目标是否实现,是否应该开始产品下一个版本的另一个开发周期。在一些情况下这个里程碑可能与下一个周期的初始阶段相重合。
软件企业为什么能按固定节奏生产、固定周期发布软件产品?它给企业项目管理带来哪些好处?
原因:
因为RUP将开发分割四个阶段,每个阶段里程碑明确,易于评估是否满足。每个迭代过程都有固定的时长和产品生成,进而为企业按固定节奏生产、固定周期发布软件产品提供了依据。RUP是一个风险驱动的生命周期模型,为了有效地控制风险,RUP以渐进的方式进行演进,首先解决高风险的问题,这主要是通过迭代来实现。在软件生命周期中,每个阶段可以划分为多个迭代,每个迭代确定一个内部里程碑。因此,RUP也为固定周期发布软件产品提供了依据。
好处:
根据固定周期的开发任务以及阶段,企业可以更加便利地掌控开发进度以及控制预算, 对产品的质量和生产开发过程都能进行较为精准的把控,方便企业根据实际情况做出调整,规范管理,从而尽可能达到最大的收益。
标签:迭代,模型,系统分析,用例,开发,设计,过程,HW3,里程碑 来源: https://blog.csdn.net/wjnowen/article/details/89288817