1.3 软件生命周期的过程需求
1.3.1 软件工程过程
工程过程是软件系统、产品的定义、设计、实现以及维护的过程。虽然在ISO12207标准中没有定义一个“工程过程”类别,但可以从其“主要过程”中抽取出属于工程过程的3个子过程,即开发过程、运行过程和维护过程:
-
开发过程(Research & Development, R&D)。定义并开发软件产品的活动过程,包括需求分析、软件设计和编程等。
整个开发过程可以进一步分为4个子过程:
- 软件系统需求分析(requirement analysis)。定义软件系统的功能性需求和非功能性需求,涉及系统的体系结构及其设计,确定如何把系统需求分配给系统中不同的元素,确定哪些需求应该实现、哪些需求可以推迟实现。该过程的成功实施期望带来如下结果:
- 开发出符合客户要求的系统需求,包括符合客户要求的界面。
- 提供有效的解决方案以便确定软件系统中的主要元素。
- 将定义的需求分配给系统中的每个元素,了解软件需求受系统的制约、对操作环境的影响。
- 制定合适的软件版本发布策略,以确定系统或软件需求实现的优先级。
- 确定软件需求,并根据客户需求变化进行必要的更新。
- 软件设计(software design)。设计出满足需求并且可以依据需求对其进行测试或验证的软件组成和接口,包括数据结构设计、应用接口设计、模块设计、算法设计和界面设计等。该过程的成功实施期望带来如下结果:
- 设计和描述主要软件组件的体系结构,这些组件可以满足已定义的软件系统需求。
- 定义各个软件组件内部和外部的接口,包括数据接口、参数接口和应用接口等。
- 通过详细设计来描述软件中可构建和可测试的软件单元或组件。
- 在软件需求与软件设计之间建立可跟踪、可控制的机制,保证它们之间的一致性。
- 编程(coding,programming)。通过一系列编程活动,开发出可运行的软件单元,并检验其是否与软件设计要求一致。该过程的成功实施期望带来如下结果:
- 根据需求制定出所有软件单元或组件的验证标准。
- 实现设计中所定义的所有软件单元或组件。
- 根据设计,完成对软件单元或组件的验证。
- 集成与测试软件系统。集成软件单元,将软件中的组件与其运行的系统环境集成在一起,最终形成符合用户期望(系统需求)的完整系统。该过程的成功实施期望带来如下结果:
- 根据已设计的软件体系结构制定出软件单元的集成策略和集成计划。
- 根据每个单元已分配的需求确定严格的集成验收标准,包括功能性和非功能性的需求验证、操作和维护方面的验证需求。
- 根据所定义的验收标准,测试并验证软件的集成接口和软件系统,记录测试结果,完成系统集成及其验证。
- 对发生必要变更的系统,需要制定回归测试策略,以重新测试等到验证。
- 软件系统需求分析(requirement analysis)。定义软件系统的功能性需求和非功能性需求,涉及系统的体系结构及其设计,确定如何把系统需求分配给系统中不同的元素,确定哪些需求应该实现、哪些需求可以推迟实现。该过程的成功实施期望带来如下结果:
-
软件运行过程(software operation process)。在规定的环境中为其用户提供运行计算机系统服务的活动过程,包括软件部署(software deployment)。
-
软件维护过程(software maintenance process)。提供维护软件产品服务的活动过程,也就是通过软件的修改、变更,使软件系统保持合适的运行状态,这一过程包括软件产品的移植和退役。该过程的成功实施期望带来如下结果:
- 确定组织、操作以及接口对现行系统的影响。
- 对软件进行设计更新、代码修改或系统参数调整、硬件升级等,并进行测试验证。
- 一旦系统或系统组件发生了变更,应及时更新有关的文档,如更新说明书、设计文档及测试计划。
- 移植系统与软件,以满足系统运行环境的要求。
- 尽量减少软件与系统对用户使用的影响。
1.3.2 软件支持过程
-
文档编制过程
- 明确并定义文档开发中所采用的标准、软件过程中所需要的各类文档。
- 详细说明所有文档的内容、目的及相关的输出产品。
- 根据定义的标准与已确定的计划来编写、审查、修改和发布所有文档。
- 按已定义的标准和具体的规则维护文档。
-
配置管理过程
- 软件过程或项目中的配置项(如程序、文件和数据等有关内容)被标识、定义。
- 根据已定义的配置项建立基线,以便对更改与发布进行有效的控制,并控制配置项的存储、处理与分发,确保配置项的完全性与一致性。
- 记录并 告配置项的状态以及已发生变更的需求。
-
质量保证过程
- 针对过程或项目确定质量保证活动、制定出相应的计划与进度表。
- 确定质量保证活动的有关标准、方法、规程与工具。
- 确定进行质量保证活动所需的资源、组织及其组织成员的职责。
- 有足够的能力确保必要的质量保证活动独立于管理者以及过程实际执行者之外进行开展和实施。
- 在与各类相关的计划进度保持一致的前提下,实施所制定的质量保证活动 。
-
验证过程
- 根据需要验证的工作产品所制定的规范(如产品规格说明书)实施必要的检验活动。
- 有效地发现各类阶段性产品所存在的缺陷,并跟踪和消除缺陷。
-
产品确认
- 根据客户实际需求,确认所有工作产品相应的质量准则,并实施必需的确认活动。
- 提供有关证据,以证明开发出的工作产品满足或适合指定的需求。
-
联合评审
- 与客户、供应商以及其他利益相关方(或独立的第三方)对开发的活动和产品进行评估 。
- 为联合评审的实施制定相应的计划与进度,跟踪评审活动,直至结束 。
-
- 判断是否与指定的需求、计划以及合同相一致 。
- 以确定其是否符合特定需求。
-
问题解决
- 提供及时的、有明确职责的以及文档化的方式,以确保所有发现的问题都经过相应的分析并得到解决 。
- 提供一种相应的机制,以识别所发现的问题并根据相应的趋势采取行动 。
1.3.3 软件管理过程
过程的程序和监视测量:

- 项目管理过程是计划、跟踪和协调项目执行及生产所需资源的管理过程。项目管理过程的活动,包括软件基本过程的范围确定、策划、执行和控制、评审和评价等。
- 质量管理过程是对项目产品和服务的质量加以管理,从而获得最大的客户满意度。此过程包括在项目以及组织层次上建立对产品和过程质量管理的关注。
- 风险管理过程在整个项目的生命周期中对风险不断的识别、诊断和分析,回避风险、降低风险或消除风险,并在项目以及组织层次上建立有效的风险管理机制。
- 子合同商管理过程选择合格的子合同商并对其进行管理的过程。
1.3.4 软件组织过程
- 业务规划过程是为组织与项目成员提供对愿景的描述以及企业文化的介绍,从而使项目成员能更有效地工作。
- 定义过程是建立一个可重复使用的过程定义库,从而对其它过程等提供指导、约束和支持。
- 改进过程是为了满足业务变化的需要,提高过程的效率与有效性,而对软件过程进行持续的评估、度量、控制和改善的过程 。
- **人力资源和培训过程,**为项目或其它组织过程提供培训合格的人员所需的活动。
- 基础设施过程是建立生存周期过程基础结构、为其他过程建立和维护所需基础设施的过程。
1.3.5 客户—供应商过程
客户-供应商过程是内部直接影响到客户、外部直接影响开发、向客户交付软件以及软件正确操作与使用的过程,包括软件获得、客户需求管理、提供软件、操作软件以及提供客户服务等5个子过程
-
获取(软件或服务)过程
- 获取过程从确定需要获取的软件系统、产品或服务开始,然后制定和发布标书、选择供方和管理获取过程,直到验收软件系统、产品或服务 。
- 该过程的成功实施会导致最终生成一个明确的合同或条约,清楚地描述出客户与供应方的期望、职责与义务。
-
客户需求管理过程
在整个软件生命周期中,针对不断变化的客户需求加以收集、处理和跟踪,并建立软件需求的基准线,以作为项目中软件开发活动过程和产品度量和变更管理的基础。
-
供应过程
- 准备投标。
- 签订合同。
- 编制计划。
- 实施和控制。
- 评审和评价。
- 交付和完成。
-
软件操作过程
- 确定和管理由于引人并发操作软件而带来的操作上的风险。
- 按要求的步骤和在要求的操作环境中运行软件。
- 提供操作上的技术支持,以便解决操作过程个出现的问题。
- 确保软件(或主机系统)有足够的能力满足用户的需求。
-
客户支持过程
- 基于实施情况,确定客户所需要的支持服务。
- 通过提供适当的服务来满足客户的需求。
- 针对客户对产品本身及其相应的支持服务的满意程度进行持续的评估。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!