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