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

简述瀑布模型、增量模型、螺旋模型(含原型方法)的优缺点

  • 从项目特点、风险特征、人力资源利用角度思考

瀑布模型的优点:有利于大型软件开发过程中人员的组织、管理,有利于软件开发方法和工具的研究,从而提高了大型软件项目开发的质量和效率。
瀑布模型的缺点:(1)开发过程一般不能逆转,否则代价太大;(2)实际的项目开发很难严格按该模型进行;(3)客户往往很难清楚地给出所有的需求,而该模型却要求如此。(4)软件的实际情况必须到项目开发的后期客户才能看到,这要求客户有足够的耐心。 

增量模型的优点:(1)采用增量模型的优点是人员分配灵活,刚开始不用投入大量人力资源;(2)如果核心产品很受欢迎,则可增加人力实现下一个增量;(3)可先发布部分功能给客户,对客户起到镇静剂的作用。
增量模型的缺点:(1)并行开发构件有可能遇到不能集成的风险,软件必须具备开放式的体系结构;(2)增量模型的灵活性可以使其适应这种变化的能力大大优于瀑布模型和快速原型模型,但也很容易退化为边做边改模型,从而是软件过程的控制失去整体性。

螺旋模型的优点:(1)设计上的灵活性,可以在项目的各个阶段进行变更;(2)以小的分段来构建大型系统,使成本计算变得简单容易;(3)客户始终参与每个阶段的开发,保证了项目不偏离正确方向以及项目的可控性;(4) 随着项目推进,客户始终掌握项目的最新信息 , 从而他或她能够和管理层有效地交互。 
螺旋模型的缺点:(1)采用螺旋模型需要具有相当丰富的风险评估经验和专门知识,在风险较大的项目开发中,如果未能够及时标识风险,势必造成重大损失;(2)过多的迭代次数会增加开发成本,延迟提交时间。

简述统一过程三大特点,与面向对象的方法有什么关系?

统一过程三大特点:用例驱动、以构架为中心、迭代和增量的软件过程框架。

1)统一过程是用例驱动的

用户(User):软件系统是为了解决用户的需求的,因此对于一个系统必须首先确定它的用户(User),即参与者。这个User不仅仅指人,也可以是其他系统。即用户是与系统进行交互的事物。

用例(User Case):是用户对系统的业务需求,即用例是能够像用户提供有价值结果的系统中的一种功能。

所有的用户和用例组合在一起就是用例模型,它描述了系统的全部功能。用例图促使我们从系统对用户的价值方面来考虑问题,是站在用户的角度出发,以人为本。并且用例图不仅能确定用户的需求,还可以驱动系统设计、实现和测试的进行,也就是说用例可以驱动开发过程。用例驱动表明开发过程是沿着一个流——一系列从用例得到的工作流前进的:用例被确定、用例被设计、最后用例又称为测试人员构造测试用例的基础

2)统一过程是以构架为中心的

什么是软件构架?

        软件构架的作用与建筑构架所起的作用类似。软件系统的构架是从不同的角度描述即将构造的系统。

注意:软件架构(software architecture),是一系列相关的抽象模式,用于指导大型软件系统各个方面的设计。软件架构是一个系统的草图。它描述的对象是直接构成系统的抽象组件,各个组件之间的连接明确和相对细致地描述组件之间的通讯。在实现阶段,这些抽象组件被细化为实际的组件,在面向对象领域中,组件之间的连接通常用接口来实现。 

        软件构架包含了系统中最重要的静态和动态特征。构架刻画了系统的整体设计,去掉了细节部分,突出了系统的重要特性,然而“究竟什么是重要的”部分依赖于判断,而判断由来自于经验,所以构架的价值也就依赖于执行该任务的人的素质,在构架的过程中可以帮助构架师确定正确的目标。

用例和架构之间是什么关系?

        每一种产品都具有功能和表现形式两个方面,其中功能与用例相对应,表现形式与构架相对应。因此用例在实现时必须适应于构架,然而随着系统的发展,用例也在不断的进化,所以构架必须设计得使系统能够进化,不仅要考虑系统的初始开发,而且要考虑将来的发展。为了能够找到这样的一种表现形式(构架),构架师必须从全面了解系统的主要功能(即主要用例)入手,这些主要的用例构成了系统的核心功能。

构架应该遵循什么步骤?

        首先,从不是专门针对用例的那部分架构开始,如平台,创建一个粗略的构架轮廓。

        其次,着手处理已经确定重要的用例子集,这些用例代表着即将开发系统的主要功能,详细描述每一个用例,并通过子系统、类和构件来实现。随着用例的描述趋于完善,构架的更多部分便会显现出来,从而也使更多的用例趋于完善。

        最后,迭代这个工程直到确信得到一个稳定的构架为止。

3)统一过程是迭代和增量的过程

软降开发是一项复杂的过程,因此可以将这些项目划分为切实可行并能够产生一个增量的迭代过程。

什么是迭代和增量?

        迭代:工作流中的步骤;

        增量:产品中增加的部分。

迭代的原则是什么?

        为了获得最佳的效果,迭代过程必须是受控的(Controlled),也就是说他们必须按照计划好的步骤有选择地执行。

如何确定迭代过程中要实现的目标呢?

        首先迭代过程就是用来处理一组用例的,这些用例组合起来就能够扩展所开发产品的可用性。其次迭代过程要解决最突出的风险问题。只有这样后续的迭代过程才能建立在前一次迭代过程的基础上。

迭代的过程是什么?

        以选定的构架为向导,用构件来实现设计前期已经标识并详细描述好的有关用例。如果一次迭代达到了目的,就可以进入下一次迭代,如果一次迭代没有带到预期的目标,那么必须重新审核前面的方法,并尝试一种新的方法。

对增量的理解:一个增量不一定是对原有制品的增加,在生命周期初始期,增量是对最初简单设计的完善和改进;而在以后的阶段增量通常是对原有制品的增加。
 

统一过程模型是一种面向对象的开发过程模型,它把复杂系统构造为一组相互联系的功能块,小的功能块相连形成更大的功能块以构造出完整的系统。尽管对于只触及到系统的部分的任何成员来说,整个系统可能是不可理喻的,但是当系统被分成更小的组件时,人们可以理解每个组件提供的服务(即组件的接口)以及这些组件是如何协调工作的。或者可以说,系统被划分为具有较大的功能的子系统,每个子系统又由具有更小的功能块(组件)所实现。

简述统一过程四个阶段的划分准则是什么?每个阶段关键的里程碑是什么?

UP四个阶段的划分准则是初始阶段(Inception)、精化阶段(Elaboration)、构建阶段 (Construction) 和产品交付阶段(Transition)。 每个阶段结束于一个主要的里程碑(Major Milestone),并在阶段结尾执行一次评估以确定这个阶段的目标是否已经满足。 
① 初始阶段的里程碑:生命周期目标(Lifecycle Objective) 里程碑,包括一些重要的文档,如原始业务案例等。需要对这些 文档进行评审,以确定正确理解用例需求、项目风险评估合理、 阶段计划可行等。 
② 精化阶段的里程碑:生命周期体系结构(Lifecycle Architecture) 里程碑。包 括风险分析文档、软件体系结构基线、项目计划、可执行的进化原型、初始版本的用户手册等。通过评审确定软件体系结构 已经稳定、高风险的业务需求和技术机制已经解决、修订的项目计划可行等。 
③ 构建阶段的里程碑:初始运行能力里程碑。 包括可以运行的软件产品、用户手册等,它决定了产品是否可 以在测试环境中进行部署。此刻,要确定软件、环境、用户是 否可以开始系统的运行。 
④ 交付阶段的里程碑:产品发布里程碑。确定最终目标是否实现,是否应该开始产品下一个版本的另一个开发周期。在 一些情况下这个里程碑可能与下一个周期的初始阶段的相重合。

软件企业为什么能按固定节奏生产、固定周期发布软件产品?它给企业项目管理带来哪些好处

因为统一过程模型中,各个阶段的生命周期是有固定长度的, 因此在产品的的迭代开发过程有较为明确的时间限制的。可以让企业能够及时的交付产品,减少耗费的时间金钱,通过迭代开发逐渐地完善产品。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值