首页 > web教程 > 正文

软件工程是什么

2024-01-22 09:28:46web教程阅读

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

软件工程 Software engineering

在现代社会中,软件应用于多个方面。典型的软件有电子邮件、嵌入式系统、人机界面、办公套件、操作系统、编译器、数据库、游戏等。同时,各个行业几乎都有计算机软件的应用,如工业、农业、银行、航空、政府部门等。这些应用促进了经济和社会的发展,也提高了工作效率和生活效率 。

软件工程一直以来都缺乏一个统一的定义,很多学者、组织机构都分别给出了自己认可的定义:

BarryBoehm:运用现代科学技术知识来设计并构造计算机程序及为开发、运行和维护这些程序所必需的相关文件资料。

IEEE:在软件工程术语汇编中的定义:软件工程是:将系统化的、严格约束的、可量化的方法应用于软件的开发、运行和维护,即将工程化应用于软件。

FritzBauer:在 NATO 会议上给出的定义:建立并使用完善的工程化原则,以较经济的手段获得能在实际机器上有效运行的可靠软件的一系列方法。

《计算机科学技术百科全书》:软件工程是应用计算机科学、数学、逻辑学及管理科学等原理,开发软件的工程。软件工程借鉴传统工程的原则、方法,以提高质量、降低成本和改进算法。其中,计算机科学、数学用于构建模型与算法,工程科学用于制定规范、设计范型(paradigm)、评估成本及确定权衡,管理科学用于计划、资源、质量、成本等管理。

比较认可的一种定义认为:软件工程是研究和应用如何以系统性的、规范化的、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。

ISO 9000 对软件工程过程的定义是:软件工程过程是输入转化为输出的一组彼此相关的资源和活动。

其它定义:1.运行时,能够提供所要求功能和性能的指令或计算机程序集合。2.程序能够满意地处理信息的数据结构。3.描述程序功能需求以及程序如何操作和使用所要求的文档。以开发语言作为描述语言,可以认为:软件=程序+数据+文档。

软件工程原理、软件工程过程、软件工程方法、软件工程模型、软件工程管理、软件工程度量、软件工程环境、软件工程应用、软件工程开发使用。著名软件工程专家 B.Boehm 综合有关专家和学者的意见并总结了多年来开发软件的经验,于 1983 年在一篇论文中提出了软件工程的七条基本原理:

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

猜你喜欢

  • 如何使用傲梅远程桌面软件

    如何使用傲梅远程桌面软件

    当您想要电脑远程访问另一台电脑时,AnyViewer 更加具有优势。作为远程访问、远程控制和远程支持的综合解决方案,AnyViewer 无需主机名称或 IP 地址即可轻松实现远程控制,并且与多个 Windows 版本兼容,其中包括 Windows 11/10/8.1/8/7 和 Windo

    2024-01-01
  •  
  • 电脑硬盘分区软件哪个好用

    电脑硬盘分区软件哪个好用

    电脑硬盘分区可以提高存储管理的效率和数据组织的灵活性,在选择合适的分区软件时,用户常常面临众多选项。下面推荐五款优秀的电脑硬盘分区软件,并介绍它们的特点和适用情况,帮助用户了解它们的特点和适用情况,以便根据实际需求作出选择。电脑硬

    2023-12-25
  • 硬盘分区软件是什么

    硬盘分区软件是什么

    硬盘分区软件是一款硬盘分区软件及硬盘数据恢复软件,它是在最初的 DOS 版的 DiskMan 基础上开发而成的。常见的硬盘分区软件有:DiskGenius、AOMEI 分区助手。硬盘分区是指将硬盘的整体存储空间划分成多个独立的区域,分别用来安装操作系统、安

    2023-12-25
  •  
  • Anki和其他记忆软件比较优势在哪里

    Anki和其他记忆软件比较优势在哪里

    Anki(暗记)是其中一款备受欢迎的间隔重复记忆软件,但与其他记忆软件相比,它有哪些独特的优势呢?本文将深入探讨 Anki 和其他记忆软件之间的比较,分析 Anki 的优势所在。1. 自定义卡片Anki 允许用户完全自定义学习卡片的内容和格式。这意味着你可

    2023-11-26