软件工程是什么

子凡 2020-02-29 20:20:49
问答

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

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

软件工程 Software engineering

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

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

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

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

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

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

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

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

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

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

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

评论交流

泪雪默认头像 请「登录」后参与评论
  1. 加载中..

相关推荐

  • 网络钓鱼攻击 Phishing Attack

    网络钓鱼攻击是什么

    网络钓鱼攻击是指攻击者通过欺骗手段诱使用户提供个人信息或执行恶意操作的网络欺诈行为。常见形式包括钓鱼邮件、社交工程等。防范措施包括教育培训、谨慎对待邮件和链接、验证身份、使用安全软件、保持警惕和加强网络安全意识。
  • Kubernetes Lens Mirantis Lens

    Mirantis Lens,针对Kubernetes设计的开发管理工具

    Mirantis Lens是一款针对Kubernetes设计的高效管理工具,提供了直观的可视化界面,支持多集群管理、实时监控与日志查看、资源管理等功能。它简化了Kubernetes的复杂性,使开发者和DevOps工程师能够高效地管理和监控集群。Lens的用户友好设计、强大的功能和跨平台支持使其成为管理Kubernetes环境的理想选择,适合各种规模的项目和团队。
  • SecureCRT

    SecureCRT,跨平台SSH客户端软件

    SecureCRT是一款专业级SSH客户端,提供安全的远程访问功能。它支持多种加密协议和认证方法,确保连接安全。功能强大的会话管理和自动化脚本大大提升工作效率。界面直观,易于上手,且高度可定制。虽为付费软件,但其高级功能和稳定性使其成为系统管理员和网络工程师的理想选择,是远程管理工作的高效工具。
  • Docker

    Docker,简单高效的开源容器化平台

    Docker 是一款开源的容器化平台,通过轻量级的容器技术,实现应用的快速打包、分发和运行。它提供容器管理、镜像创建、网络功能和数据管理等核心功能。Docker 适合需要提高开发效率、简化部署流程及确保环境一致性的用户,特别推荐给初次接触容器技术的开发者和运维工程师。
  • Dell Precision 戴尔移动工作站

    戴尔Precision移动工作站怎么样

    戴尔Precision移动工作站以卓越性能、坚固设计、高分辨率显示屏、多样连接选项、强大安全性、操作系统支持、出色移动性和卓越客户支持而脱颖而出。无论您是专业工程师、设计师还是数据分析师,Precision移动工作站提供多样配置,满足各需求。
  • Dell

    戴尔笔记本电脑哪些适合编程工作

    戴尔提供了多款适合编程工作的笔记本电脑系列,包括XPS、Inspiron、Precision、Latitude和G系列。XPS适合专业用户,Inspiron适合学生和初级程序员,Precision适合专业工程师,Latitude适合商务用户,G系列适合游戏开发者。