系统分析与设计HW3

简答题

1. 从项目特点、风险特征、人力资源利用角度思考,简述瀑布模型、增量模型、螺旋模型(含原型方法)的优缺点。

瀑布模型

优点:瀑布模型的过程是清晰明确的,每个过程都是有非常明确的目标,因此提高了开发过程的可管理性,有利于人员的管理和组织。另外每一个阶段完成后只需要关注之后的阶段,不需要过多回头考虑之前的开发过程。瀑布模型提供了一个模板,使得分析、设计、编码、测试和支持的方法可以在模板下有共同的指导。

缺点:由于各个阶段都是固定的,因此每个阶段会产生大量的文档,导致工作量增加。当用户需求发生改变时,如果使用瀑布模型,将很难适应需求变化。另外只有在瀑布模型末期才可以看到开发成果,这样增加了开发风险,所以瀑布模型的风险控制能力比较弱。

增量模型

优点:增量模型可以将软件系统模块化,通过分批次提交使用户实时了解项目的进展。且该模型的开发顺序非常灵活,可以随时对开发顺序进行排序,保证每次都可以把优先级最高的开发组件排在前面。所以增量模型的开发风险比较低,如果某个开发周期出现错误并不会影响到整个软件系统的开发。

缺点:因为增量模型的特点是软件系统模块化,所以如果软件系统无法被模块化,那么很难使用增量模型。如果用户需求不断改变,那么增量模型难以适用,无法保证软件系统开发的整体性。

螺旋模型

优点:螺旋模型非常灵活,可以随时发生改变。客户一直参与到项目阶段的开发,这样保证了项目的可控性和正确性,同时用户和项目的管理者可以保持交互,当有需求改变时可以及时做出调整,这有利于项目的开发过程。另外螺旋模型中包括了风险分析,可以最大程度上降低软件开发过程中可能出现的损失。

缺点:螺旋模型的建设周期非常长,在开发过程中很可能出现技术的更新,那么在开发还未完成需求就会发生改变,因此无法时刻满足用户需求。周期长的另一个影响是导致开发成本高,提交时间可能会延迟。另外模型依赖风险评估,如果风险分析过程出现了误差,可能造成非常严重的损失,甚至无法交付产品。

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

  • 用例驱动:用例驱动以用户为中心,使用自然语言,让所有的用户可以理解软件开发过程。开发团队通过开发过程中的代码和测试收集相关的用例,通过用例明确软件需求和服务范围,可以很好地解决软件开发过程中遇到的困难。
  • 以架构为中心:软件架构为软件开发提供了一个有组织的框架,为开发过程中的常见问题创建解决方案,这样可以解决软件项目的主要风险,更好评估软件项目的进度。
  • 迭代式增量开发:针对不同的阶段需要确定不同的风险对象,以风险驱动项目的开发。这样可以确保项目开发按时完成。

与面向对象的关系:统一过程的特点是面向功能编程和设计相关接口,这和面向对象方法的实质相同。所以统一过程广泛用于各种面向对象项目。

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

四个阶段是按照里程碑来划分,每过一个阶段就定一个里程碑,通过里程碑来评估这一个阶段的工作情况,如果没有问题就进入下一个阶段。主要分成下面四个阶段:

  • 初始阶段:生命周期目标里程碑,初始阶段包括用户沟通和计划活动两个方面,强调定义和细化用例,并将其作为主要模型。
  • 细化阶段:生命周期结构里程碑,包括用户沟通和建模活动,重点是创建分析和设计模型,强调类的定义和体系结构的表示。
  • 构造阶段:初始工程里程碑,将设计转化为实现,并进行集成和测试。
  • 交付阶段:产品发布里程碑,将产品发布给用户进行测试评价,并收集用户的意见,之后再次进行迭代修改产品使之完善。

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

统一过程提供了在开发组织中分派任务和责任的纪律化方法。它的目标是在可预见的日程和预算前提下,确保满足最终用户需求的高质量产品。统一过程模型是一种“用例驱动,以体系结构为核心,迭代及增量”的软件过程框架,使用统一过程模型可以把开发过程分成若干个迭代,每个迭代都可以得到部分软件产品,这就可以保证开发过程的稳定性和合理性。

主要好处是可以按照固定的周期发布软件产品,便于及时反馈项目进度和迭代进展。它有利于企业的管理和控制,也有利于提高产品的质量。另外产品开发过程的风险大大降低,企业可以获得更大的收益。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值