【软件工程】一、软件危机 & 软件工程

一、软件危机 & 软件工程

1.1软件危机的典型表现:

  1. 对软件开发成本和进度的估计常常很不准确
  2. 用户对“已完成的”软件系统不满意的现象经常发生
  3. 软件产品的质量往往靠不住
  4. 软件常常是不可维护的(维护性差
  5. 软件通常没有适当的文档资料
  6. 软件成本在计算机系统的总成本所占比例逐年上升
  7. 软件开发生产所提高的速度,远远比不上计算计算机应用迅速普及深入的趋势(需求大

1.2软件危机怎么解决

靠软件工程解决

1.3软件工程定义

软件工程是指导计算机软件开发和维护的一门工程学科。
从管理和技术两方面研究如何更好地开发和维护软件的一门学科。

1.4软件工程基本原理

  1. 分阶段的生命周期计划严格管理
  2. 坚持进行阶段评审
  3. 实行严格的产品控制
  4. 采用现代程序设计技术
  5. 结果应该能够清楚地审查
  6. 开发小组的人员应该少而精
  7. 承认不断改进软件工程实践的必要性

1.5软件工程方法学

1.传统方法学:
也称为生命周期方法学或者结构化范型
它采用结构化技术(结构化分析、结构化设计和结构化实现)来完成软件开发的各项任务,并使用适当的软件工具或软件工程环境来支持结构化技术的运用。
按部就班一步一步走,这一步没完成就不走下一步。
开发成功率高,但不灵活。

2.面向对象方法学:
把数据和行为看成是同等重要的,它是一种以数据为主线,把数据和对数据的操作紧密地结合起来的 方法。
开发快速,灵活。

1.6软件生命周期

把软件的开发分为软件定义软件开发运行维护三个时期。
(一个软件从立项起,到废弃不用,统称为软件生命周期。

  • 问题定义 — 问题定义 告
  • 可行性研究 — 可行性研究 告
  • 需求分析 — 需求规格说明书
  • 总体设计(概要设计) — 总体设计说明书
  • 详细设计 —详细设计说明书
  • 编码和单元测试 —程序清单 & 单元测试 告
  • 综合测试
  • 维护

1.7 生命周期模型

1.瀑布模型
优点:强迫开发者规范开发,每个阶段的开发都得到保证
缺点:用户只有开发之后才能拿到软件本体;开发不灵活;依赖文档。

2.快速原型模型
快速做一个能反映客户主要需求的软件(只反映功能,不在意性能和质量)
优点:原型系统已经得到用户验证
缺点:原型系统不好做

3.增量模型(渐增模型)
软件能被拆分成多个原件。先通过正规的开发,把主要的功能交给用户,后续通过更新逐渐把整个软件提交给用户。
优点:用户可以先通过软件完成一些工作;在短时间内可以提交软件;避免突然拿到一个全新的软件造成的冲击。
缺点:如果没有密切监控开发过程,整个工程可能毁于一旦。

4.螺旋模型
也是一种先给局部软件再慢慢更新至完整系统的模型。
不同的点在于每个阶段加了风险分析。
风险分析->开发原型1->风险分析->开发原型2->…
在快速原型的每个阶段前加上风险分析。
优点/缺点:风险驱动

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年9月26日
下一篇 2022年9月26日

相关推荐