1、 软件系统开发和管理规范 5月26日 目 录 1、. 软件系统管理概述 3 2. 软件系统管理过程 3 3. 软件系统管理内容 3 3.1. 需求阶段管理 3 3.2. 设计阶段管理 3 3.3. 开发阶段管理 3 3.4. 测试阶段管理 3 3.5. 维护阶段管理 3 3.6. 工具管理 3 3.7. 软件系统估算和进度管理 3 3.7.1. 软件系统估算 3 3.7.2. 进度安排 3
2、1. 软件系统管理概述 软件系统管理是软件工程和系统管理交叉学科,软件系统管理概念涵盖了管理软件产品开发所必需知识、技术及工具。依据美国系统管理协会PMI对系统管理定义能够将软件系统管理定义为:在软件系统活动中利用一系列知识、技能、工具和技术,以满足软件需求方整体要求。 软件系统管理是为了使软件系统能够根据预定成本、进度、质量顺利完成,而对成本、人员、进度、质量、风险等进行分析和管理活动。实际上,软件系统管理意义不仅仅如此,进行软件系统管理有利于将开发人员个人开发能力转化成企业开发能力,企业软件开发能力越高,表明这个企业软件生产越趋向于成熟,企业越能够稳定发展。 软件生存周期包含可行性分
3、析和系统开发计划、需求分析、设计(概要设计和具体设计)、编码、测试、维护等活动,全部这些活动全部必需进行管理,在每个阶段全部存在着权限角色控制、文档管理、版本控制、管理工具等,软件系统管理贯穿于软件生命演化过程之中。 2. 软件系统管理过程 为确保软件系统取得成功,必需对软件开发系统工作范围、要完成任务、需要资源、需要工作量、进度安排、可能碰到风险等做到心中有数。软件系统管理工作开始于技术工作开始之前,在软件从概念到实现过程中连续进行,最终终止于软件开发工作结束。 依据企业实际情况,结合软件工程及软件过程标准等,特制订我企业软件系统管理步骤以下: 注:带书名号《》为系统开发过程中需
4、提交文档。 系统管理过程分为以下多个步骤: (1) 开启软件系统 开启软件系统是指必需明确系统目标和范围、考虑可能处理方案和技术和管理上要求等,这些信息是软件系统运行和管理基础。 (2) 制订系统计划 系统计划在系统开始时候制订,并伴随系统进展不停发展,系统计划为管理者提供了依据计划定时评审和跟踪系统进展基础。计划制订以下面活动为依据: Ø 估算系统所需要工作量 Ø 估算系统所需要资源 Ø 依据工作量制订进度计划,继而进行资源分配 Ø 做出配置管理计划 (3) 跟踪及控制系统计划 在软件系统进行过程中,严格遵守系统计划,对于部分不可避免变更,要进行合适控制和调整,但要
5、确保计划完整性和一致性。 (4) 评审系统计划 对系统计划完成程序进行评审,并对系统实施情况进行评价。 (5) 编写管理文档 系统管理人员依据软件协议确定软件系统是否完成。系统一旦完成,则检验系统完成结果和中间统计文档,并把全部结果统计下来形成文档而保留。 3. 软件系统管理内容 3.1. 需求阶段管理 需求分析是软件生命周期中相当关键一个阶段,是软件设计基础,也是用户和软件工程人员之间桥梁。简单地说,软件需求就是确定系统需要做什么,严格意义上,软件需求是系统或软件必需达成目标和能力。 l 目标 需求管理是一个获取、组织并统计软件需求系统化方案,同时也是一个使用户和系统开发组
6、对不停变更软件需求达成并保持一致过程。在需求管理中,软件工程组工作是采取合适方法来确保分配需求,即要将分配需求文档化,控制需求改变,负责系统实施过程中需求实现情况。需求管理目标是在用户和处理用户需求软件系统组之间建立对用户需求共同了解。需求管理目标有两个: Ø 使软件需求受控,并建立供软件工程和管理使用需求基线。 Ø 使软件计划、产品和活动和软件需求保持一致。 在需求管理过程中,为实现第一个目标,必需控制需求基线变动,根据变更控制标准和规范过程进行需求变更控制和版本控制;为实现第二个目标,必需就变更和软件系统各小组达成共识,对软件系统计划做出调整,其中包含人员安排、用户沟通、成本调整、进
7、度调整等。 需求管理是一个对系统需求变更了解和控制过程,它贯穿于整个软件系统过程,在软件系统进行过程中,不管正处于哪个阶段,一旦有需求错误出现或任何相关需求变更出现,全部需要需求管理活动来处理,提交《需求变更控制汇报》。 l 标准 为进行有效需求管理,通常要遵照以下五条标准: Ø 需求一定要分类管理 Ø 需求必需分优先级 Ø 需求必需文档化 Ø 需求一旦改变,就必需对需求变更影响进行评定 Ø 需求管理必需和需求工程其它活动紧密整合 l 关键工作 需求阶段分为系统需求和系统分析两个阶段。 系统需求阶段关键工作是: Ø 调研用户需求及用户环境 Ø 论证系统可行性 Ø 制
8、订系统初步计划 系统分析阶段关键工作是: Ø 确定系统运行环境 Ø 建立系统逻辑模型 Ø 确定系统功效及性能要求 Ø 编写需求规格说明、测试计划 Ø 确定系统开发计划 l 完成文档 需求规格说明书、系统开发计划、测试计划 3.2. 设计阶段管理 l 关键工作 软件设计阶段可分为概要设计和具体设计两个阶段。 概要设计关键工作: Ø 建立系统总体结构,划分功效模块 Ø 定义各功效模块接口 Ø 数据库设计(假如需要) 具体设计关键工作: Ø 设计各模块具体实现算法 Ø 确定模块间具体接口 l 完成文档 概要设计完成文档 Ø 概要设计说明书 Ø 数据库设计说
9、明书(假如有) 具体设计完成文档: Ø 具体设计说明书 3.3. 开发阶段管理 l 关键工作 Ø 编写程序源代码 Ø 进行模块测试和调试 Ø 编写测试方案 Ø 编写测试用例 Ø 编写用户手册 l 完成文档 Ø 系统源程序清单 Ø 测试用例 Ø 测试方案 3.4. 测试阶段管理 l 关键工作 Ø 实施测试 Ø 测试整个软件系统(健壮性测试) Ø 完善用户手册 Ø 编写开发总结汇报 l 完成文档 Ø 测试汇报 Ø 用户手册 Ø 开发工作总结 3.5. 维护阶段管理 l 关键工作 Ø 为纠正错误,完善应用而进行修改 Ø 对修改善行配置管理 Ø
10、编写故障汇报和修改汇报 Ø 修订用户手册 l 完成文档 Ø 故障汇报 Ø 修改汇报 3.6. 工具管理 l 开发工具管理 Microsoft Visual Studio /开发环境 VSS版本管理 l 测试工具管理 XX缺点管理工具(暂定bugfree) Loadrunner8.1性能测试工具 3.7. 软件系统估算和进度管理 3.7.1. 软件系统估算 软件系统估算包含工作量估算和成本估算两个方面。软件估算作为软件系统管理一项关键内容,是确保软件系统成功关键原因。估算是指经过估计结构软件系统所需要工作量过程。初步估算用于确定软件系统可行性,具体估算用于指导系统计划
11、制订。 3.7.1.1. 软件规模 对软件系统进行估算碰到第一个问题就是软件规模,即软件程序量。软件规模是软件工作量关键影响原因。软件系统设计有一个分层结构,这一分层结构就对应着工作分解结构(WBS,Work Breakdown Structure),它将软件过程和软件产品结构联络起来。下图是一个经典WBS结构: 系统 子系统 子系统 子系统 模块 模块 模块 模块 模块 模块 模块 模块 模块 模块 有了工作分解结构以后,必需定义度量标准用以对软件规模进行估量。常见软件规模度量标准有两种:代码行LOC(Lines Of C
12、ode)和功效点FP(Function Points)。 l 代码行 代码行LOC是常见源代码程序长度度量标准,指源代码总行数。源代码中除了可实施语句外,还有帮助了解注释语句。 l 功效点 功效点度量是在需求分析阶段基于系统功效一个规模估量方法,该方法经过已经初始应用需求来确定多种输入、输出、查询、外部文件和内部文件数目,从而确定功效点数量。 3.7.1.2. 成本估算 成本估算是对完成软件系统所需费用估量和计划,是软件系统计划中一个关键组成部分。 3.7.2. 进度安排 在确定了系统资源(总成本、人员、时间等),把其分配到各个系统开发阶段中,即确定系统进度。进度合理安排是准期完成软件系统关键确保,也是合理分配资源关键依据,提议进度安排使用Gantt图(甘特图)。 系统整体进度安排过程以下: 1) 依据系统总体进度目标,编制人员计划。 2) 将各阶段所需要资源和能够取得资源进行比较,确定各阶段初步进度,然后确定整个系统初步进度。 3) 对初步进度计划进行评审,确保该计划满足要求,不然就反复上面步骤。 进度安排具体程度取决于对应工作分解结构具体程度,而工作分解结构又取决于系统目前所处阶段和历史经验,进度安排计划伴随系统进展而动态调整,逐步趋于愈加具体正确。 在软件系统进行过程中,要立即更新系统进度,以使管理者立即了解系统进展情况。






