跳至主要內容
《极客时间教程 - 软件工程之美》笔记

《极客时间教程 - 软件工程之美》笔记

到底应该怎样理解软件工程?

软件产品危机:软件产品质量低劣、软件维护工作量大、成本不断上升、进度不可控、程序人员无限度地增加。

软件工程,它是为研究和克服软件危机而生。

软件工程的本质:用工程化方法去规范软件开发,让项目可以按时完成、成本可控、质量有保证。

软件工程的核心:是围绕软件项目开发,对开发过程的组织,对方法的运用,对工具的使用。

软件工程 = 过程 + 方法 + 工具。


钝悟...大约 8 分钟笔记软件工程软件工程
软件工程入门指南

软件工程入门指南

软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。它涉及程序设计语言、数据库、软件开发工具、系统平台、标准、设计模式等方面。

软件工程的目标

软件工程的目标是:在给定成本、进度的前提下,开发出具有适用性、有效性、可修改性、可靠性、可理解性、可维护性、可重用性、可移植性、可追踪性、可互操作性和满足用户需求的软件产品。

  • 适用性 - 软件在不同的系统约束条件下,使用户需求得到满足的难易程度。
  • 有效性 - 软件系统能最有效的利用计算机的时间和空间资源。各种软件无不把系统的时/空开销作为衡量软件质量的一项重要技术指标。很多场合,在追求时间有效性和空间有效性时会发生矛盾,这时不得不牺牲时间有效性换取空间有效性或牺牲空间有效性换取时间有效性。时/空折衷是经常采用的技巧。
  • 可修改性 - 允许对系统进行修改而不增加原系统的复杂性。它支持软件的调试和维护,是一个难以达到的目标。
  • 可靠性 - 能防止因概念、设计和结构等方面的不完善造成的软件系统失效,具有挽回因操作不当造成软件系统失效的能力。
  • 可理解性 - 系统具有清晰的结构,能直接反映问题的需求。可理解性有助于控制系统软件复杂性,并支持软件的维护、移植或重用。
  • 可维护性 - 软件交付使用后,能够对它进行修改,以改正潜伏的错误,改进性能和其它属性,使软件产品适应环境的变化等。软件维护费用在软件开发费用中占有很大的比重。可维护性是软件工程中一项十分重要的目标。
  • 可重用性 - 把概念或功能相对独立的一个或一组相关模块定义为一个软部件。可组装在系统的任何位置,降低工作量。
  • 可移植性 - 软件从一个计算机系统或环境搬到另一个计算机系统或环境的难易程度。
  • 可追踪性 - 根据软件需求对软件设计、程序进行正向追踪,或根据软件设计、程序对软件需求的逆向追踪的能力。
  • 可互操作性 - 多个软件元素相互通信并协同完成任务的能力。

钝悟...大约 12 分钟软件工程软件工程管理