跳到主要内容

软件工程概述

软件开发生命周期

1. 软件定义时期

包括可行性研究和详细需求分析过程,任务是确定软件开发工程必须完成的总目标,具体可分成问题定义、可行性研究、需求分析等

2. 软件开发时期

就是软件的设计与实现,可分成概要设计、详细设计、编码、测试等。

3. 软件运行和维护

就是把软件产品移交给用户使用

软件系统的文档

软件系统的文档可以分为用户文档和系统文档两类:

  • 用户文档:主要描述系统功能和使用方法,并不关心这些功能是怎样实现的;
  • 系统文档:描述系统设计、实现和测试等各方面的内容

软件工程过程

软件过程是指完成软件产品生产的一组相互关联的活动。有许多不同类型的软件系统,没有适用于所有类型系统的软件工程方法。因此,也没有适用于所有类型系统的软件过程。不同企业使用的过程取决于所开发的软件的类型、软件客户的需求以及开发软件的人的技能。

虽然有许多不同的软件过程,但它们都必须以某种形式包含以下四个活动:

  1. P (Plan)——软件规格说明:规定软件的功能及其运行时的限制。
  2. D (Do)——软件开发:开发出满足规格说明的软件。
  3. C (Check)——软件确认:确认开发的软件能够满足用户的需求。
  4. A (Action)——软件演进:软件在运行过程中不断改进以满足客户新的需求。

这些活动本身也是复杂的活动,还会包含一些复杂的子活动,例如需求确认、体系结构设计、单元测试等。软件过程还包括其它一些活动,例如软件配置管理、项目计划等支持软件生产的活动。

软件系统工具

软件系统工具通常可以按软件过程活动将软件工具分为:

  • 软件开发工具:需求分析工具、设计工具、编码与排错工具、测试工具等。
  • 软件维护工具:版本控制工具、文档分析工具、开发信息库工具、逆向工程工具、再工程工具。
  • 软件管理和软件支持工具:项目管理工具、配置管理工具、软件评价工具、软件开发工具的评价和选择。

软件设计

软件设计四个活动:数据设计、架构(体系结构)设计、人机界面(接口)设计和过程(功能)设计