软件工程导论学习-软件过程

     软件过程是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。
1.瀑布模型
阶段间具有顺序性和依赖性。
推迟实现的观点。先做设计,再做编程。
质量保证的观点。每个阶段都必须完成规定的文档,每个阶段结束前都要对所完成的文档进行评审,以便尽早发现问题,改正错误。
优点:可强迫开发人员采用规范的方法;严格地规定了每个阶段必须提交的文档;要求每个阶段交出的所有产品都必须经过质量保证小组的仔细验证。
缺点:“瀑布模型是由文档驱动的”。在可运行的软件产品交付给用户之前,用户只能通过文档来了解产品是什么样的。

2.快速原型模型
快速建立起来的可以在计算机上运行的程序,它所能完成的功能往往是最终产品能完成的功能的一个子集。快速建立一个能反映用户主要需求的原型系统。
优点:快速原型模型是不带反馈环的,开发基本上是线性顺序进行的。

3.增量模型
把软件产品作为一系列的增量构建来设计、编码、集成和测试。它分批地逐步向用户提交产品。
优点:能在较短时间内向用户提交可完成部分工作的产品,逐步增加产品功能可以使用户有较充裕的时间学习和适应新产品,从而减少一个全新的软件可能给客户组织带来的冲击。

4.螺旋模型
使用原型及其他方法来尽量降低风险。每个阶段之前都增加了风险分析过程的快速原型模型。每一步从风险角度分析上一步的工作结果,努力排除各种潜在的风险,通常用建造原型的方法来排除风险。如果风险不能排除,则停止开发工作或大幅度地削减项目规模。

5.喷泉模型
体现了面向对象软件开发的过程迭代和无缝的特性。面向对象开发所有其他概念(例如功能、关系、事件等)都是围绕对象组成的,目的是保证分析工作中得到的信息不会丢失或改变。由于各阶段都使用统一的概念和表示符号,因此,整个开发过程都是吻合一致的。

6.Rational统一过程
Rational统一过程(Rational Unified Process, RUP)是由Rational软件公司推出的一种完整而且完美的软件过程。
最佳实践:迭代是开发;管理需求;使用基于构建的体系结构;可视化建模;验证软件质量;控制软件变更。
RUP软件开发生命周期:二维的生命周期模型。工作流,时间。
RUP中有9个核心工作流,其中前6个为核心过程工作流程,后3个为核心支持工作流程。
业务建模;需求;分析与设计;实现;测试;部署;配置与变更管理;项目管理;环境;
工作阶段
RUP把软件生命周期划分成4个连续的阶段
初始阶段:建立业务模型,定义最终产品视图,并且确定项目的范围。
精化阶段:设计并确定系统的体系结构,制订项目计划,确定资源需求。
构建阶段:开发出所有构件和应用程序,把它们集成为客户需要的产品,并且详尽地测试所有功能。
移交阶段:把开发出的产品提交给用户使用。

7.敏捷过程
目的:为了使软件开发团队具有高效工作和快速响应变化的能力。
4个简单的价值观
个体和交互胜过过程和工具:首先致力于构建软件开发团队(包括成员和交互方式等),然后再根据需要为团队配置项目环境(包括过程和工具)。
可以工作的软件胜过面面俱到的文档:开发人员应该把主要精力放在创建可工作的软件上面,仅当迫切需要并且具有重大意义时,才进行文档编制工作,而且所编制的内部文档应该尽量简明扼要、主体突出。
客户合作胜过合同谈判:能够满足客户不断变化的需求的切实可行的途径是,开发团队与客户密切切做。
响应变化胜过遵循计划:计划必须有足够的灵活性和可塑性,在形势发生变化时能迅速调整,以适应业务和技术等方面发生的变化。

8.极限编程
极限编程是敏捷过程中最富盛名的一个,其名称中”极限“二字的含义是指把好的开发实践运用到极致。
极限编程有限的开发实践:
客户作为开发团队的成员。
使用用户素材:用户素材就是正在进行的关于需求的谈话内容的助记符。
短交付周期:每两周完成一次的迭代过程实现了用户的一些需求,获得他们的反馈意见。
验收测试:通过执行客户指定的验收测试来捕获用户素材的细节。
测试驱动开发:在编码之前首先设计好测试方案,然后再编程。
集体所有:小组每个成员都有更改代码的权利,每个成员都对全部代码的质量负责。
持续集成:一天之内多次集成系统,而且随着需求的变更,应该不断地进行回归测试。
可持续的开发速度:以能够长期维持的速度努力工作,避免工作时间太长,降低生产率。
开发的工作空间:全体参与者一起在一个开放的场所中工作。在这个场所中自由地交流和讨论。
及时调整计划:制订出计划之后,可以根据项目进展情况及时进行调整,没有一成不变的计划。
简单的设计:设计时不需要考虑未来的用户素材,不断变更系统设计,使之相对于正在实现的用户素材而言始终处于最优状态。
重构:在开发过程中不要过分依赖重构,不能轻视设计。
使用隐喻:可以将隐喻看做是整个系统联系在一起的全局视图,它描述系统如何运作,以及用何种方式把新功能加入到系统中。

9.微软过程
基本准则:
项目计划应该兼顾未来的不确定因素。
用有效的风险管理来减少不确定因素的影响。
经常生成并快速地测试软件的过渡版本,从而提高产品的稳定性和可预测性。
采用快速循环、递进的开发过程。
用创造性的工作来平衡产品特性和产品成本。
项目进度表应该具有较高稳定性和权威性。
使用小型项目组并发地完成开发工作。
在项目早起把软件配置项基线化,项目后期则冻结产品。
使用原型验证概念,对项目进行早期论证。
把零缺陷作为追求的目标。
里程碑评审会的目的是改进工作,切忌相互指责。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值