103.什么是软件危机、什么是软件工程、什么是软件项目生命周期?


1.什么是软件危机?

  • 所谓软件危机,就是指软件在开发过程、产品上线、后期维护、安全可靠等方面暴露出的一些问题。
    OS/360 操作系统是上世纪 60 年代最复杂的软件系统之一,也是第一个超大型的软件项目,一共有 1000 名左右的程序员参与了项目的研发,花费了 5000 个人年,最终无法运行。项目负责人佛瑞德·布鲁克斯后来写了一本软件工程的经典书籍《人月神话》,承认在他管理这个项目的时候,犯了很多错误,造成了价值数百万美元的损失。

  • 如果是说 OS/360 还只是造成了经济损失的话,Therac-25 事件就是真的导致了人员死亡。Therac-25 是加拿大原子能有限公司(AECL)所生产的放射线疗法机器,在 1985 年到 1987 年之间,在美国及加拿大,至少有六起和 Therac-25 相关的医疗事故是因为程序 bug,导致部分病患受到比正常剂量高一百倍的辐射,因而造成患者重伤甚至死亡。

  • 当软件的规模越来越大,复杂度不断增加,软件项目开发维护过程中的问题就逐步暴露出来:软件产品质量低劣、软件维护工作量大、成本不断上升、进度不可控、程序人员无限度地增加。所以在 60 年代,“软件危机”的概念被提出来。

2.什么是软件工程?

  • 软件工程就是为了研究和克服软件危机而生
  • 软件工程就是要用工程化方法来开发维护软件。用一定的过程,采用科学的方法,借助工具来开发软件。就是要用工程化方法去规范软件开发,让项目可以按时完成、成本可控、质量有保证。
  • 软件工程=过程+方法+工具

3.软件项目生命周期(阶段)

  • 生命周期:软件开发过程也被分成了几个阶段:需求定义与分析、设计、实现、测试、交付和维护,这也就是我们常说的软件项目生命周期
  • 各个阶段都会有人的参与,于是产生了软件项目里的各种角色:项目经理、产品经理、架构师、程序员、测试工程师、运维工程师。而对这整个过程的管理,我们通常称之为“项目管理”
    参考:极客时间-软件工程之美
发布了91 篇原创文章 · 获赞 92 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_43914604/article/details/105053021
今日推荐