什么是软件工程?
(1)将系统化的、规范的、可量化的方法应用于软件的开发、运行和维护,即用工程化的方法应用于软件。
(2)对(1)中所述方法的研究。
软件工程的三要素
软件工程是一个层次化的技术。
支持软件工程的根基在质量关注点,任何工程都要构建在质量承诺的根基上。
过程层
(1)过程是工作产品构建时所执行的一系列活动、动作和任务的集合。是将方法和工具结合起来,达到合理、及时地开发软件过程的方法。过程定义了方法使用的顺序、要求交付的文档资料、以及项目各个阶段的里程碑,但过程不是严格规定,而是一种可适应的调整方法。
(2)过程还定义了若干框架活动,过程框架包含一些适用于整个软件过程的普适应活动。
一般框架包括如下几种活动:
沟通;策划(软件项目计划、任务、工作进度计划等)、建模、构建(编码和测试)、部署。
普适性活动:
软件项目跟踪和控制、风险管理、软件质量保证、技术评审、测量、软件配置管理、可复用管理、工作产品的准备和再生产。
方法
为软件开发提供了“如何做”的技术。方法覆盖面很广,包括沟通,需求分析、设计建模、程序构造、测试和技术支持。
工具
提供了自动的或半自动的软件支撑环境。目前,已经推出了许多软件工具,这些软件工具集成起问来,建立起称之为计算机辅助软件工程(CASE)的软件开发支撑系统。CASE将各种软件工具、开发机器和一个存放开发过程信息的工程数据库组合起答来形成一个软件工程环境。