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

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

定义

软件工程一直以来都缺乏一个统一的定义,很多学者、组织机构都

分别给出了自己认可的定义:[1]

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

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

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

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

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

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

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

内涵

一、软件工程过程是指为获得软件产品,在软件工具的支持下由软件工程师完成的一系列软件工程活动,包括以下四个方面:

1、P(Plan)——软件规格说明。规定软件的功能及其运行时的限制。

2、D(DO)——软件开发。开发出满足规格说明的软件。

3、C(Check)——软件确认。确认开发的软件能够满足用户的需求。

4、A(Action)——软件演进。软件在运行过程中不断改进以满足客户新的需求。

二、从软件开发的观点看,它就是使用适当的资源(包括人员,软硬件资源,时间等),为开发软件进行的一组开发活动,在活动结束时输入(即用户的需求)转化为输出(最终符合用户需求的软件产品)。

三个阶段:定义阶段:可行性研究初步项目计划、需求分析;开发阶段:概要设计、详细设计、实现、测试;运行和维护阶段:运行、维护、废弃

原则:1、抽象;2、信息隐蔽;3、模块化;4、局部化;5、确定性;6,一致性;7、完备性;8、可验证性

软件工程软件产品质量要求与评价_软件工程定义相关推荐

  1. 软件工程软件产品质量要求与评价_软件质量保证(Quality Assurance)中常见的活动...

    质量保证QA关注在软件产品生成的整个过程,主要验证软件产品开发过程中相关实施过程的完整性.一致性和有效性,确保开发活动和测试活动等遵循正确的过程,为软件产品达到合适的质量级别提供信心.为了实现过程的可 ...

  2. GBT 25000.51-2010 软件工程 软件产品质量要求与评价(SquaRE)商业现货(COTS)软件产品的质量要求和测试细则...

    概述 GBT 25000.51 中主要包含三部分内容,COTS软件产品需求.测试文档集要求.符合性评价细则. 实施思路 按照该推荐标准的要求,需要在软件设计与开发过程中体现三部分内容,其中, 5.1 ...

  3. 软件产品质量要求与评价_软件质量模型

    关于软件质量特性,前面的文章已经介绍了可靠性.易用性以及测试性,还有哪些质量特性?如何保证完整而不会遗漏?我认为有必要介绍一下GB/T 16260,以便对软件质量特性建立一个系统性的认知,立足整体对于 ...

  4. 软件工程与项目管理的关系_软件工程:软件工程概述13个问题解答?

    1.软件工程为什么要强调规范化和文档化? 软件工程强调规范化和文档化.规范化的目的是使众多的开发者遵守相同的规范,使软件生产摆脱个人生产方式,进入标准化.工程化的生产方式. 文档化是将软件的设计思想. ...

  5. 软件工程面向对象方法画图题_软件工程试题(1)

    一.单选题 1.结构化程序设计主要强调的是(  ) A.程序的规模 B.程序的效率 C.程序设计语言的先进性 D.程序易读性 2.面向对象的分析方法主要是建立三类模型,即(  ) A.系统模型.ER ...

  6. 软件工程毕业论文mysql英文翻译_软件工程(毕业论文)文献翻译中英文对照.doc...

    软件工程(毕业论文)文献翻译中英文对照 学生毕业设计(论文)外文译文 学生姓名: 学号 专业名称:软件工程译文标题(中英文):Qt Creator白皮书(Qt Creator Whitepaper)译 ...

  7. 软件工程 c java的联系_软件工程—WC功能实现 (JAVA)

    软件工程-WC功能实现(JAVA) 项目要求 ​ wc.exe 是一个常见的工具,它能统计文本文件的字符数.单词数和行数.这个项目要求写一个命令行程序,模仿已有wc.exe 的功能,并加以扩充,给出某 ...

  8. 软件工程毕业论文mysql英文翻译_软件工程技术英文文献和中文翻译

    软件工程技术英文文献和中文翻译 时间:2019-09-25 19:14来源:毕业论文 A Brief History of Software Engineering Techniques Histor ...

  9. 软件工程毕业论文mysql英文翻译_软件工程专业毕业设计外文文献翻译

    软件工程专业毕业设计外文文献翻译 (二〇一三 年 六 月本科毕业设计外文文献翻译学校代码: 10128学 号:200920205048英 文 题 目 : Software Database An Ob ...

最新文章

  1. 树莓派怎么安装linux软件源,修改树莓派软件源
  2. python提取文章中的中文数字
  3. 10个舍不得删的高质量公号
  4. 威纶触摸屏与电脑连接_PLC与这7种设备的连接方式,一看就懂!
  5. 最小生成树构造算法--Prim算法,Kruskal算法(C语言)
  6. XTU 1252 Defense Tower
  7. 巧用tab组件实现APP的布局效果
  8. 【图像处理】MATLAB:形态学
  9. SpringMVC静态资源问题
  10. w10 Sentinel的下载和安装
  11. (转) 三袋米的故事
  12. geekbench 3 android,Geekbench列表声称Xperia 3将包含12GB RAM并运行Android 10
  13. 手机上最好用的五笔输入法_手机输入法之争:九宫格和全键盘到底哪个更好用...
  14. matlab做聚类分析瓶面柱状图,MATLAB聚类分析工具箱
  15. 爬虫福利二之妹子图网批量下载MM
  16. python+django+mysql教室实验室预约系统毕业设计毕设开题报告
  17. RBAC权限设计详解
  18. matlab函数sim,MATLAB 中sim函数
  19. 伪装学渣未删减部分_慎重勇者:破坏神和圣哉做了什么?第9话战帝被删减剧情补充...
  20. C/C++实现刮刮乐-刮奖区,刮出一套房

热门文章

  1. JavaScript 电话手机号码正则表达式
  2. JS-数据类型转换-运算符
  3. CSS基础「六」元素的显示与隐藏
  4. 读书笔记--《Understanding LSTM Networks》
  5. 鸿蒙系统对手机性能的提升,鸿蒙OS手机版再爆新特性,流畅度和性能大幅提升,用户评价很高...
  6. php 解析 标记,如何使用PHP-simple-HTML DOM解析器获取标记的属性
  7. 怎样安装android系统版本,Android 12公测版Beta 1现已推出,教你如何安装
  8. 加油卡 格式判断 java_JAVA实验_题目8
  9. java对象布局查看工具_Java 查看对象布局工具 - Java Object Layout
  10. Python数据挖掘-相关性-相关分析