软件危机

软件开发的特性

  • 难以描述性

  • 缺乏可见性

  • 复杂性

  • 变化性

  • 风险性

  • 强合作性

软件危机

在软件开发过程中所存在的周期长、成本高、质量低等问题

  • 缺乏计划性
  • 软件需求获取不充分,不准确
  • 缺乏团队开发的合作、协调能力
  • 缺乏良好的软件质量评测手段
  • 可维护性差
  • 可复用性差
  • 开发过程不规范
  • 缺乏自动化的工具来协助开发
  • 缺乏变更管理措施
  • 缺乏风险管理手段

软件工程的概念

软件工程是以质量为核心,为了经济地开发满足客户需求的软件而研究、建立和应用的系统化的、有规则的、可度量的和可控制的工程原则、方法,设计软件过程、项目管理、开发方法、开发工具,甚至企业文化等各个方面。

由此可以拆分为

  1. 以质量为中心
  2. 经济性
  3. 满足客户需求
  4. 研究、建立和应用
  5. 系统化
  6. 有规则
  7. 可度量
  8. 可控制
  9. 软件过程
  10. 项目管理
  11. 开发方法
  12. 开发工具
  13. 企业文化