软件工程导论第六版 第一章 软件工程学概述知识点总结(下)

软件过程

顺口溜:布 原 增 螺 喷 统

瀑布模型

(1) 瀑布模型具有顺序性依赖性
(2) 瀑布模型依赖于文档,是一个文档驱动的模型。(选择题考点)
(3) 推迟实现的观点:往往编码开始得越早,最终完成开发工作所需要的时间反而越长(往往导致大量返工)。清楚地区分逻辑设计与物理设计,尽可能推迟程序的物理实现,是按照瀑布模型开发软件的一条重要的指导思想。
(4) 质量保证的观点。
(5) 在编码阶段占用的人员最多。

(6) 瀑布模型的优点(2016年海南大学软件工程考题)
① 可强迫开发人员采用规范的方法。
② 严格地规定了每个阶段必须提交的文档。
③ 要求每个阶段交出的所有产品都必须经过质量保证小组的仔细验证。
④ 文档是维护软件产品时必不可少的,没有文档的软件几乎是不可能维护的。瀑布模型的文档约束,将使软件维护变得比较容易一些。

(7) 瀑布模型的缺点
① 瀑布模型严格按照文档进行,不能适应用户需求的动态变更
② 开发过程不能逆转否则代价太大。
③ 在可运行的软件产品交付给用户之前,用户只能通过文档来了解产品是什么样的。但是,仅仅通过写在纸上的静态的规格说明,很难全面正确地认识动态的软件产品。

快速原型模型

1、所谓快速原型是快速建立起来的可以在计算机上运行的程序,它所能完成的功能往往是最终产品能完成的功能的一个子集。原型的用途是获知用户的真正需求,一旦需求确定了,原型就会被抛弃。
2、快速原型模型是不带反馈环的,软件产品的开发基本上是线性顺序进行的。
3、项目招标时可以用原型模型作为招标信息。
4、快速原型模型的缺点

① 客户和开发者对原型的理解不同。
② 准确的原型设计比较困难。
③ 快速原型模型和瀑布模型一样,不能应对用户需求的动态变更

增量模型

增量模型也称为渐增模型

1、使用增量模型开发软件时,把软件产品作为一系列的增量构件来设计、编码、集成和测试。每个构件由多个相互作用的模块构成,并且能够完成特定的功能。使用增量模型时,第一个增量构件往往实现软件的基本需求,提供最核心的功能

2、把软件产品分解成增量构件时,应该使构件的规模适中,规模过大或过小都不好。最佳分解方法因软件产品特点和开发人员的习惯而异。分解时唯一必须遵守的约束条件是,当把新构件集成到现有软件中时,所形成的产品必须是可测试的。

3、采用瀑布模型或快速原型模型开发软件时,目标都是一次就把一个满足所有需求的产品提交给用户。增量模型则与之相反,它逐步向用户提交产品,整个软件产品被分解成许多个增量构件。

4、增量模型的优点
① 能在较短时间内向用户提交可完成部分工作的产品。
② 逐步增加产品的功能可以使用户有较充裕的时间学习和适应新产品,从而减少一个全新的软件可能给客户组织带来的冲击。

5、增量模型的缺点
① 可能会出现模块/构件间的接口问题和数据传输问题
② 增加的新构建可能会破坏已经构造好的系统。

螺旋模型

构建原型是一种能使某些类型的风险降至最低的方法。为了降低交付给用户的产品不能满足用户需要的风险,一种行之有效的方法是在需求分析阶段快速地构建一个原型。在后续的阶段中也可以通过构造适当的原型来降低某些技术风险。当然,原型并不能包治百病,对于某些类型的风险(例如聘请不到需要的专业人员或关键的技术人员在项目完成前“跳槽”),原型方法是无能为力的。

螺旋模型的基本思想是,使用原型及其他方法来尽量降低风险。理解这种模型的一个简便方法是 把它看作在每个阶段之前都增加了风险分析过程的快速原型模型

螺旋模型的主要优势在于,它是风险驱动的。但是,这也可能是它的一个弱点。除非软件开发人员具有丰富的风险评估经验和这方面的专门知识,否则将出现真正的风险:当项目实际上正在走向灾难时,开发人员可能还认为一切正常。

螺旋模型的适用场合及原因
螺旋模型主要适用于内部开发的大规模软件项目。事实上,项目越大,风险也越大,因此,进行风险分析的必要性也越大。此外,如果进行风险分析的费用接近整个项目的经费预算,则风险分析是不可行的,只有内部开发的项目,才能在风险过大时方便地中止项目。

喷泉模型

喷泉模型是典型的面向对象的软件过程模型之一。

“喷泉”这个词体现了面向对象软件开发过程迭代无缝的特性。

Rational 统一过程

Rational统一过程(Rational Unified Process,RUP)是由Rational 软件公司推出的一种完整而且完美的软件过程。

敏捷过程和极限编程

为了使软件开发团队具有高效工作和快速响应变化的能力,17位著名的软件专家联合起草了敏捷软件开发宣言。敏捷软件开发宣言由下述4个简单的价值观声明组成。
① 个体和交互胜过过程和工具
② 可以工作的软件胜过面面俱到的文档。软件开发的主要目标是向用户提供可以工作的软件而不是文档。但是,完全没有文档的软件也是一种灾难。开发人员应该把主要精力放在创建可工作的软件上面。
③ 客户合作胜过合同谈判
④ 响应变化胜过遵循计划。软件开发过程中总会有变化,这是客观存在的现实。关键是计划必须有足够的灵活性和可塑性,在形势发生变化时能迅速调整

极限编程(eXtreme Programming,XP)是敏捷过程中最富盛名的一个,广泛应用于需求模糊且经常改变的场合

面向对象方法学

当软件规模庞大或对软件的需求模糊易变时,采用生命周期方法学开发往往不成功,近年来在许多应用领域面向对象方法学已经迅速取代了生命周期方法学。面向对象方法学有4个要点,可以用下列方程式概括:面向对象方法 = 对象+类+继承+用消息通信

简答题

1、重构:所谓代码重构就是在不改变系统行为的前提下,重新调整和优化系统的内部结构,以降低复杂性、消除冗余、增加灵活性和提高性能。但是,在开发过程中不要过分依赖重构,特别是不能轻视设计,对于大中型系统而言,如果推迟设计或者干脆不做设计,将造成一场灾难。

2、构件:所谓构件,就是功能清晰的模块或者子系统。比如学生管理系统包括学生选课、学生退课、学生信息管理等若干个子系统。

本章练习

1、(判断)每一项维护活动都应该准确地记录下来,作为正式的文档资料加以保存。 (√)

2、喷泉模型是唯一面向对象的软件过程模型。(×) (不是唯一的)

3.(2016年真题,填空)一般从动态视角静态视角实践视角来描述过程。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值