软件工程第二周

软件工程 续

瀑布模型 续

以质量为基石

瀑布模型特别强调质量。因为每个阶段的输出都会成为下一个阶段的输入,所以前一个阶段的错误会放大到后面的阶段,可能导致项目失败。这就要求每一阶段都不能有遗漏,必须确保产出的文档、代码等都达到了高质量。

里程碑和评审

瀑布模型的里程碑就是一步步通过评审的文档

在瀑布模型中,每个阶段的结束都需要进行评审,确保这一阶段的所有工作都已完成,并满足质量要求。评审不仅仅是检查文档,还包括确保所有的需求都已被考虑、设计是合理的、代码是正确的等。这些评审过程是项目的关键里程碑,确保项目按计划进行。

反馈环

虽然瀑布模型是线性的,但在实际应用中,通常会在每个阶段增加反馈环。也就是说,当某个阶段发现前面阶段的问题时,会返回到那个阶段重新进行。这样可以及时发现和修复问题,但也增加了项目的复杂性。

每一步骤增加反馈环

软件交付后任何的变化需要调整,都放在维护阶段。但即使增加反馈环也不能很好地处理功能、性能的变化。

瀑布模型中,软件的交付被视为项目的结束。但实际上,软件的生命周期远不止此。当软件交付后,任何的变化、新的需求或发现的错误都需要在维护阶段进行。瀑布模型的一个常见批评就是它对变化的处理不够灵活。如果需求在后期发生变化,整个项目可能都需要重头开始。 

快速原型模型

构筑原型给客户看,这个原型不是最终的系统,只是最终系统的一个子集。原型可以有很多方面。目的是导出需求,快速跟客户敲定需求。

使用快速原型代替需求分析部分,快速确定重点需求,快速原型与后文没有反馈环,解决了需求的不确定性。

规格说明:帮助文档详细说明

那么原型模型到底用不用?大型系统建议使用抛弃型,原型就是个子集,整体十分复杂。中小型系统使用渐进型,不需要太复杂的架构。

增量模型

一开始就要把系统分成若干个构件/增量,最后在一起就完成了整个软件。给了开发人员一个缓冲的时间,一次性一次性交付一部分。

先开发最重要的增量,抓住主要矛盾,先可以实现主要功能,再加别的增量。

核心点:设计开放式结构,能够将所有增量聚合在一起。

边做边改的开发方式是不好的。大致了解的一个项目,可以逐步推出项目的完整构建。

螺旋模型

风险评估与分析:确定事情是否能做,如果风险太大就停止进行

很多时候用于内部开发

每个模型都在解决一部分的问题,都是软件危机的方案

文档是必不可少的,敏捷过程建议的文档并不是不写,而是初期重点放在软件实现上

Rational统一过程

Rational统一过程(RUP)和敏捷过程是两种不同的软件开发方法论,每种方法论都有其独特的优点、缺点和应用场景。

  1. 定义: RUP是一种迭代的、以用例驱动的、面向架构的和增量的软件开发过程。
  2. 特点:
    • 以用例驱动:需求、设计和测试都围绕用例进行。
    • 面向架构:鼓励开发者首先定义和建立一个稳定的架构。
    • 迭代和增量:软件是在多次迭代中逐渐开发和完善的。
  3. 四个主要阶段:启动阶段、精化阶段、构造阶段和交付阶段。
  4. 视角:RUP定义了多个视角,如业务建模、需求、设计、实施、测试等。
  5. 适用性:RUP经常用于大型、复杂的项目中,其中结构化的过程和严格的阶段定义可以带来益处。

敏捷过程

  1. 定义:敏捷是一种以人为本、迭代、增量和客户协作为中心的软件开发方法。
  2. 特点:
    • 快速迭代:开发团队在短时间内(例如,两到四周)进行迭代,每次迭代产生一个可工作的产品增量。
    • 响应变化:对需求变更持开放态度。
    • 客户协作:经常与客户进行沟通,确保他们的需求和反馈被考虑。
    • 简洁的文档:相对于详尽的文档,更重视代码和功能的实际完成。
  3. 流行的敏捷方法:Scrum、极限编程 (XP)、Kanban 等。
  4. 适用性:敏捷开发方法特别适合需求不断变化的项目,或者需要快速响应市场变化的项目。

总结:工程化思想,思维过程的培养,一步一步跟着老师的思想。

课后任务:

1.从软件的复杂性,上市效果看Vista

2.Araine 5。怎么才能够发现这个错误

3.第一章阅读材料

4.人月神话

5.职业道德探索

第二章 可行性研究

CHANGE:变更

图形化工具,显示的是控制流。不同的图形符号自带含义。图形的箭头是什么?

在流程图中,箭头的主要含义是表示控制流的方向。它指示在完成一个步骤或决策后下一步要执行哪个动作或步骤。

要按照规范画图,读图的人才能明白图的意义。

延期:目前没有环境条件支持,以后可能会实现。

一、问题定义(WHY)

二、可行性研究

快速的方式判断问题能不能解决,本质就是一个权衡的过程。

技术可行性

现有技术是否能够支持系统开发的全过程?

目前的项目组能否使用所需技术?隐含的问题就有学习、经济成本。

经济可行性

经济效益与开发成本的关系?

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Joy T

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值