软件工程概述
软件工程定义
软件工程指的是应用计算机科学、数学及管理学等原理,以工程化
的原则和方法来解决软件问题的工程,目的是提高软件生产效率
、提高软件质量
、降低软件成本
。
软件开发生命周期
- 软件定义时期:包括
可行性研究
和详细需求分析
过程,任务是确定软件开发工程必须完成的总目标,具体可分成问题定义
、可行性研究
、需求分析
等。 - 软件开发时期:软件的
设计与实现
,可分为概要设计
、详细设计
、编码
、测试
等。 - 软件运行与维护:把软件产品
移交给用户使用
。
软件工程文档
- 系统文档:描述
系统设计
、实现
、测试
等各方面的内容。 - 用户文档:描述
系统功能
和使用方法
。
软件工程过程
软件工程过程是指为获得软件产品,在软件工具的支持下由软件工程师完成的一系列软件工程活动,包括以下4个方面:
- P(Plan):
软件规格说明
,规定软件的功能及其运行的限制。 - D(Do):
软件开发
,开发出满足规格说明的软件。 - C(Check):
软件确认
,确认开发的软件能够满足用户的需求。 - A(Action):
软件演进
,软件在运行过程中不断改进以满足用户新的需求。
软件设计
软件设计包括四个既独立又相互联系的活动,分别是:
- 数据设计
- 架构(体系结构)设计
- 人机界面设计
- 过程设计
软件系统工具
- 软件开发工具:需求分析工具、设计工具、编码与排错工具、测试工具。
- 软件维护工具:版本控制工具、文档分析工具、开发信息库工具、逆向工程工具、再工程工具。
- 软件管理和软件支持工具:项目管理工具、配置管理工具、软件评价工具、软件开发工具的评价和选择。