导读:时过一年,现在再一次对于软件工程进行一个宏观总结,这次发现,我以前没能找到联系和原因的,这回找到了一些,感觉好点了。嘿嘿,知识需要回顾,正所谓:温故而知新。
一、是什么
1983年,IEEE(电气和电子工程师协会):软件工程是开发、运行、维护和修复软件的系统方法。1990年,IEEE更改为:对软件开发、运作、维护的系统化的、有规范的、可定量的方法之应用,即是对软件的工程化的应用。
2004年,IEEE/ACM联合发布的CCSE 2004报告强调了软工新定义:软件工程是以系统的、学科的、定量的途径,把工程应用于软件的开发、运营和维护;同时开展对上述过程中各种方法和途径的研究。
共同点:强调在软件开发过程中应用工程化原则的重要性。目标都是:以较少的投资获取高质量的软件。
二、发展
软件工程经历了4个阶段,这四个阶段说的是软工形成之后又四个阶段。那么软工从无到有则经历了5个阶段,第一个阶段则是“生成作坊”式。但,随着软件危机的出现,1968年在北大夕阳公约组织(NATO)举行的软件可靠性学术会议上第一次提出了“软件工程”的概念。
下面,来看软工的四个发展过程:
软工发展了四代,但我目前为止,接触到的,就是第三代。
三、内容
软件工程的内容,可分为4个方面:方法与技术、工具与环境、管理技术、标准与规范。而这4个方面,我又将其对应于软工的10个知识领域。
注:10个知识领域,是由ACM和IEEE-CS发布的“软件工程知识体系”(SWEBOK)定义的软件工程学科内涵决定的。
四、软件和过程
软件:软件是程序,以及开发、使用和维护程序所需的所有文档。它由应用程序、系统程序、面向用户的文档及面向开发者的文档四部分组成。
过程(工程过程):是指在软件工具的支持下,所进行的一系列软件工程活动,包括4个基本过程:软件规格说明、软件开发、软件确认、软件演进。
注:IEEE计算机学会和ACM联合推出的软件工程知识体系(software EngineeringBody Knowledge,SWEBOK)将其分为6个知识子域:基本概念、过程基础、过程基础设施、过程度量、过程定义、定性分析和过程实施与变更。
附:软件过程的模型:
五、方法
软件工程的内容包括技术和管理两方面,而同样,软件开发方法也可分为两类:面向过程的开发方法和面向对象的开发方法。
六、个人总结
软件工程包括三个要素:方法、工具和过程。方法研究软件开发时“如何做”的;软件工具研究支撑软件开发方法的工具,软件工具的集成环境又称为计算机辅助软件工程;软件工程过程则是为开发高质量软件规定各项任务的工作步骤。
再次回头看这个东西,有一种亲切的感觉。我现在还只是在第一个宏观上,我相信我能做好。