(4)、《计算机科学技术百科全书》中的定义:软件工程是应用计算机科学、数学及管理科学等原理 , 开发软件的工程 。软件工程借鉴传统工程的原则、方法 , 以提高质量、降低成本 。
其中 , 计算机科学、数学用于构建模型与算法 , 工程科学用于制定规范、设计范型(paradigm)、评估成本及确定权衡 , 管理科学用于计划、资源、质量、成本等管理 。[编辑本段]目标 软件工程的目标是:在给定成本、进度的前提下 , 开发出具有可修改性、有效性、可靠性、可理解性、可维护性、可重用软件工程性、可适应性、可移植性、可追踪性和可互操作性并且满足用户需求的软件产品 。
追求这些目标有助于提高软件产品的质量和开发效率 , 减少维护的困难 。下面分别介绍这些概念 。
(1)可修改性(modifiablity) 。容许对系统进行修改而不增加原系统的复杂性 。
它支持软件的调试与维护 , 是一个难以达到的目标 。(2)有效性(efficiency) 。
软件系统能最有效地利用计算机的时间资源和空间资源 。各种计算机软件无不将系统的时/空开销作为衡量软件质量的一项重要技术指标 。
很多场合 , 在追求时间有效性和空间有效性方面会发生矛盾 , 这时不得不牺牲时间效率换取空间有效性或牺牲空间效率换取时间有效性 。时/空折衷是经常出现的 。
有经验的软件设计人员会巧妙地利用折衷概念 , 在具体的物理环境中实现用户的需求和自己的设计 。(3)可靠性(reliability) 。
能防止因概念、设计和结构等方面的不完善造成的软件系统失效 , 具有挽回因操作不当造成软件系统失效的能力 。对于实时嵌入式计算机系统 , 可靠性是一个非常重要的目标 。
因为软件要实时地控制一个物理过程 , 如宇宙飞船的导航、核电站的运行 , 等等 。如果可靠性得不到保证 , 一旦出现问题可能是灾难性的 , 后果将不堪设想 。
因此在软件开发、编码和测试过程中 , 必须将可靠性放在重要地位 。(4)可理解性(understandability) 。
系统具有清晰的结构 , 能直接反映问题的需求 。可理解性有助于控制软件系统的复杂性 , 并支持软件的维护、移植或重用 。
(5)可维护性(maintainability) 。软件产品交付用户使用后 , 能够对它进行修改 , 以便改正潜伏的错误 , 改进性能和其他属性 , 使软件产品适应环境的变化 , 等等 。
由于软件是逻辑产品 , 只要用户需要 , 它可以无限期的使用下去 , 因此软件维护是不可避免的 。软件维护费用在软件开发费用中占有很大的比重 。
可维护性是软件工程中一项十分重要的目标 。软件的可理解性和可修改性有利于软件的可维护性 。
(6)可重用性(reusebility) 。概念或功能相对独立的一个或一组相关模块定义为一个软部件 。
软部件可以在多种场合应用的程度称为部件的可重用性 。可重用的软部件有的可以不加修改直接使用 , 有的需要修改后再用 。
可重用软部件应具有清晰的结构和注解 , 应具有正确的编码和较低的时/空开销 。各种可重用软部件还可以按照某种规则存放在软部件库中 , 供软件工程师选用 。
可重用性有助于提高软件产品的质量和开发效率、有助于降低软件的开发和维护费用 。从更广泛的意义上理解 , 软件工程的可重用性还应该包括:应用项目的重用 , 规格说明(也称为规约)的重用 , 设计的重用 , 概念和方法的重用 , 等等 。
- 草红花的功效与作用及禁忌
- 红茶减肥一周瘦八斤的方法是什么
- school音标怎么写
- 怎么写儿童的自我介绍
- 金色的鱼钩缩写怎么写
- 和书有关的作文500字作文怎么写
- 4的平方根符号怎么写
- 送男生什么花好 哪些花有特别的含义
- 站着拼音怎么写的
- 水仙花的养殖方法,水培水仙花的方法
