软件工程,是什么?

1.工程技术,指的是工程实用技术。工程技术亦称为生产技术,是在工业生产中实际应用的技术。就是说人们应用科学知识或者利用技术发展的研究成果于工业生产过程,以达到改造自然的预订目的的手段和方法。
软件工程,是什么?_第1张图片
工程的历史是人类适应自然,改造自然的历史。人类在征服自然灾害,利用自然资源的过程中逐渐发展,不断进步,为了让生活更方便,更舒适,人们改变了河道,修筑了道路并且利用了自然资源。我国自古以来就取得了很多伟大的工程成就。如:京杭大运河(京杭大运河南起余杭(今杭州),北到涿郡(今北京),途经今浙江、江苏、山东、河北四省及天津、北京两市,贯通海河、黄河、淮河、长江、钱塘江五大水系,全长约1797公里。)
软件工程,是什么?_第2张图片
京杭大运河是世界上最长的古代运河。京杭大运河对中国南北地区之间的经济、文化发展与交流,特别是对沿线地区工农业经济的发展和城镇的兴起均起到了推动作用。2014年6月22日,在多哈举行的第38届世界遗产大会,正式通过中国提交的“大运河”申遗申请,“大运河”作为文化遗产正式列入世界遗产名录。
2.软件工程。
工程是一种很特殊的技术,每个行业都有属于自己独特的行业技术,也称工程技术。作为新世纪新兴的程序员自然也拥有属于自己的专业工程——软件工程。

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

软件工程,是什么?_第3张图片
在现代社会中,软件应用于多个方面。典型的软件比如有电子邮件,嵌入式系统,人机界面,办公套件,操作系统,编译器,数据库,游戏等。同时,各个行业几乎都有计算机软件的应用,比如工业,农业,银行,航空,政府部门等。这些应用促进了经济和社会的发展,使得人们的工作更加高效,同时提高了生活质量。

作为新兴产业,软件工程领域的人自然也拥有一个职称——软件工程师。
软件工程,是什么?_第4张图片
  软件工程师是对应用软件创造软件的人们的统称,软件工程师按照所处的领域不同可以分为系统分析员,软件设计师,系统架构师,程序员,测试员等等。人们也常常用程序员来泛指各种软件工程师。
  软件工程(SoftWare Engineering)的框架可概括为:目标、过程和原则。
  (1)软件工程目标:生产具有正确性、可用性以及开销合宜的产品。正确性指软件产品达到预期功能的程度。可用性指软件基本结构、实现及文档为用户可用的程度。开销合宜是指软件开发、运行的整个开销满足用户要求的程度。这些目标的实现不论在理论上还是在实践中均存在很多待解决的问题,它们形成了对过程、过程模型及工程方法选取的约束。
  (2)软件工程过程:生产一个最终能满足需求且达到工程目标的软件产品所需要的步骤。软件工程过程主要包括开发过程、运作过程、维护过程。它们覆盖了需求、设计、实现、确认以及维护等活动。需求活动包括问题分析和需求分析。问题分析获取需求定义,又称软件需求规约。需求分析生成功能规约。设计活动一般包括概要设计和详细设计。概要设计建立整个软件系统结构,包括子系统、模块以及相关层次的说明、每一模块的接口定义。详细设计产生程序员可用的模块说明,包括每一模块中数据结构说明及加工描述。实现活动把设计结果转换为可执行的程序代码。确认活动贯穿于整个开发过程,实现完成后的确认,保证最终产品满足用户的要求。维护活动包括使用过程中的扩充、修改与完善。伴随以上过程,还有管理过程、支持过程、培训过程等。
  (3)软件工程的原则是指围绕工程设计、工程支持以及工程管理在软件开发过程中必须遵循的原则。
[编辑本段]软件工程的定义
  软件工程一直以来都缺乏一个统一的定义,很多学者、组织机构都分别给出了自己的定义:
  (1)Barry Boehm:运用现代科学技术知识来设计并构造计算机程序及为开发、运行和维护这些程序所必需的相关文件资料。
  (2)IEEE在软件工程术语汇编中的定义:软件工程是:1.将系统化的、严格约束的、可量化的方法应用于软件的开发、运行和维护,即将工程化应用于软件;2.在1中所述方法的研究
  (3)Fritz Bauer在NATO会议上给出的定义:建立并使用完善的工程化原则,以较经济的手段获得能在实际机器上有效运行的可靠软件的一系列方法。
  目前比较认可的一种定义认为:软件工程是研究和应用如何以系统性的、规范化的、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来。
  (4)《计算机科学技术百科全书》中的定义:软件工程是应用计算机科学、数学及管理科学等原理,开发软件的工程。软件工程借鉴传统工程的原则、方法,以提高质量、降低成本。其中,计算机科学、数学用于构建模型与算法,工程科学用于制定规范、设计范型(paradigm)、评估成本及确定权衡,管理科学用于计划、资源、质量、成本等管理。

你可能感兴趣的:(软件工程,是什么?)