软件开发过程的监督与管理
软件开发规章制度范本

软件开发规章制度范本全文共四篇示例,供读者参考第一篇示例:软件开发规章制度范本第一章总则第一条为规范软件开发过程,提高软件质量,保障软件项目顺利完成,特制定本规章。
第二条本规章适用于公司软件开发相关部门及开发人员,包括内部开发与外包开发。
第三条开发人员应当严格遵守本规章,并配合公司进行软件项目管理。
第四条如软件开发人员违反本规章造成重大损失的,将按公司规定给予相应的处理。
第五条公司可以根据实际情况对本规章进行调整和修改。
第二章需求分析阶段规定第六条开发人员在需求分析阶段应当与需求方充分沟通,确保对需求的准确理解。
第七条需求分析人员应当严格遵守公司的需求分析规范和流程,编写清晰的需求文档。
第八条需求确认前,需求方应当对需求文档进行确认,并签署确认文件。
第九条需求变更时,需求方应当及时通知开发人员及项目负责人,开发人员应当及时调整计划。
第十条需求方在确认需求后,不得随意更改需求,如确需更改,需经过严格的变更过程。
第三章设计开发阶段规定第十一条设计人员应当根据需求文档编写详细的设计文档,确保开发人员准确理解需求。
第十二条设计人员应当遵守公司的设计规范和流程,确保设计方案合理、可行。
第十三条开发人员应当严格按照设计文档进行开发,不得擅自更改设计方案。
第十四条开发人员应当编写高质量的代码,确保代码结构清晰、易于维护。
第十五条团队协作时,应当及时沟通,共同解决问题,提高开发效率。
第十六条测试人员应当根据测试计划进行测试,确保软件质量符合标准。
第十七条测试人员应当编写详细的测试用例,覆盖各种测试场景。
第十八条测试人员应当及时反馩发现的问题,并准确记录Bug信息,确保问题追溯。
第十九条测试人员应当配合开发人员对Bug进行确认和修复,并重新进行测试。
第二十条测试通过后,需求方应当对软件进行验收,如有问题应当及时沟通解决。
第二十一条软件上线后的维护工作,由维护人员负责,确保软件的正常运行。
第二十二条维护人员应当及时响应用户反馈的问题,并对问题及时进行处理。
软件企业软件开发流程标准化及团队管理方案设计

软件企业软件开发流程标准化及团队管理方案设计第一章:引言 (3)1.1 项目背景 (3)1.2 目标与意义 (3)1.2.1 项目目标 (3)1.2.2 目标分解 (3)1.2.3 项目意义 (4)第二章:软件开发流程标准化 (4)2.1 流程设计与优化 (4)2.1.1 流程设计原则 (4)2.1.2 流程设计内容 (4)2.1.3 流程优化方法 (4)2.2 标准制定与推广 (5)2.2.1 标准制定 (5)2.2.2 标准推广 (5)2.3 流程监控与改进 (5)2.3.1 流程监控 (5)2.3.2 流程改进 (5)第三章:项目管理与实践 (5)3.1 项目策划与立项 (5)3.1.1 需求分析 (6)3.1.2 项目可行性研究 (6)3.1.3 项目立项 (6)3.2 项目进度控制 (6)3.2.1 制定项目进度计划 (6)3.2.2 进度监控与调整 (6)3.2.3 项目沟通与协作 (6)3.3 项目风险管理 (6)3.3.1 风险识别 (7)3.3.2 风险评估 (7)3.3.3 风险应对 (7)3.3.4 风险监控与报告 (7)第四章:需求分析与设计 (7)4.1 需求收集与确认 (7)4.1.1 需求收集 (7)4.1.2 需求确认 (7)4.2 设计原则与方法 (8)4.2.1 设计原则 (8)4.2.2 设计方法 (8)4.3 设计评审与优化 (8)4.3.2 设计优化 (9)第五章:编码与实现 (9)5.1 编码规范与技巧 (9)5.1.1 编码规范 (9)5.1.2 编码技巧 (9)5.2 代码审查与重构 (9)5.2.1 代码审查 (9)5.2.2 代码重构 (10)5.3 测试驱动开发 (10)第六章:软件测试与质量保证 (10)6.1 测试策略与方法 (10)6.1.1 测试策略 (10)6.1.2 测试方法 (11)6.2 测试用例设计与执行 (11)6.2.1 测试用例设计 (11)6.2.2 测试用例执行 (12)6.3 缺陷管理与分析 (12)6.3.1 缺陷管理 (12)6.3.2 缺陷分析 (12)第七章:版本控制与配置管理 (12)7.1 版本控制工具与应用 (13)7.1.1 版本控制概述 (13)7.1.2 版本控制工具 (13)7.1.3 版本控制应用 (13)7.2 配置管理策略与实施 (13)7.2.1 配置管理概述 (13)7.2.2 配置管理策略 (14)7.2.3 配置管理实施 (14)7.3 版本发布与维护 (14)7.3.1 版本发布策略 (14)7.3.2 版本发布流程 (14)7.3.3 版本维护策略 (15)8.1 团队结构与文化 (15)8.1.1 团队结构设计 (15)8.1.2 团队文化建设 (15)8.2 沟通技巧与协作 (15)8.2.1 沟通技巧 (15)8.2.2 团队协作 (16)8.3 团队激励与成长 (16)8.3.1 团队激励 (16)8.3.2 团队成长 (16)第九章:项目管理工具与平台 (16)9.1 项目管理工具选型与实施 (16)9.1.2 选型过程 (17)9.1.3 实施策略 (17)9.2 项目协作平台建设 (17)9.2.1 平台功能 (17)9.2.2 平台建设流程 (18)9.3 数据分析与报表 (18)9.3.1 数据分析目标 (18)9.3.2 数据分析工具 (18)9.3.3 报表制作 (18)第十章:软件企业软件开发流程标准化及团队管理评估与改进 (18)10.1 评估指标与方法 (18)10.2 改进策略与措施 (19)10.3 持续改进与优化 (19)第一章:引言1.1 项目背景信息技术的飞速发展,软件产业已成为推动我国国民经济转型升级的重要力量。
软件项目开发流程管理规范

软件项目开发流程管理规范第1章项目立项与准备 (5)1.1 项目背景分析 (5)1.2 项目目标与需求 (5)1.3 项目可行性研究 (5)1.4 项目立项与审批 (5)第2章项目团队组织与管理 (5)2.1 项目团队构建 (5)2.2 角色职责分配 (5)2.3 团队沟通协作 (5)2.4 团队绩效评估 (6)第3章需求分析与管理 (6)3.1 需求收集与整理 (6)3.2 需求分析 (6)3.3 需求规格说明书 (6)3.4 需求变更管理 (6)第4章系统设计与架构 (6)4.1 总体设计 (6)4.2 模块划分与接口设计 (6)4.3 技术选型与评估 (6)4.4 系统架构设计 (6)第5章编码与实现 (6)5.1 编码规范与约定 (6)5.2 代码版本控制 (6)5.3 代码审查与优化 (6)5.4 代码质量保障 (6)第6章测试策略与实施 (6)6.1 测试计划制定 (6)6.2 单元测试 (6)6.3 集成测试 (6)6.4 系统测试与验收 (6)第7章项目进度与风险管理 (6)7.1 项目进度计划与监控 (6)7.2 里程碑管理 (6)7.3 风险识别与评估 (6)7.4 风险应对与控制 (6)第8章软件配置管理 (6)8.1 配置项识别与管理 (6)8.2 配置库管理 (6)8.3 配置变更控制 (7)8.4 配置状态报告 (7)第9章项目质量管理 (7)9.2 质量保证 (7)9.3 质量控制与改进 (7)9.4 质量审计与评估 (7)第10章项目交付与验收 (7)10.1 项目交付物准备 (7)10.2 项目验收流程 (7)10.3 项目成果移交 (7)10.4 客户满意度调查 (7)第11章项目收尾与总结 (7)11.1 项目收尾工作 (7)11.2 项目经验总结 (7)11.3 知识积累与传承 (7)11.4 项目绩效评价 (7)第12章持续改进与优化 (7)12.1 项目过程改进 (7)12.2 敏捷开发与迭代优化 (7)12.3 创新与技术研究 (7)12.4 项目管理成熟度提升 (7)第1章项目立项与准备 (7)1.1 项目背景分析 (7)1.2 项目目标与需求 (7)1.3 项目可行性研究 (8)1.4 项目立项与审批 (8)第2章项目团队组织与管理 (8)2.1 项目团队构建 (8)2.2 角色职责分配 (9)2.3 团队沟通协作 (9)2.4 团队绩效评估 (10)第3章需求分析与管理 (10)3.1 需求收集与整理 (10)3.1.1 需求收集的方法 (10)3.1.2 需求整理 (10)3.2 需求分析 (11)3.2.1 需求分析的方法 (11)3.2.2 需求确认 (11)3.3 需求规格说明书 (11)3.3.1 需求规格说明书的内容 (11)3.3.2 需求规格说明书的编写方法 (11)3.4 需求变更管理 (12)3.4.1 需求变更的原则 (12)3.4.2 需求变更的方法 (12)第4章系统设计与架构 (12)4.1 总体设计 (12)4.1.2 业务逻辑层 (12)4.1.3 表现层 (13)4.2 模块划分与接口设计 (13)4.2.1 模块划分 (13)4.2.2 接口设计 (13)4.3 技术选型与评估 (13)4.3.1 技术选型 (13)4.3.2 技术评估 (14)4.4 系统架构设计 (14)4.4.1 系统架构图 (14)4.4.2 架构说明 (14)第5章编码与实现 (14)5.1 编码规范与约定 (14)5.2 代码版本控制 (15)5.3 代码审查与优化 (15)5.4 代码质量保障 (16)第6章测试策略与实施 (16)6.1 测试计划制定 (16)6.1.1 确定测试目标 (16)6.1.2 确定测试范围 (16)6.1.3 选择测试方法 (17)6.1.4 确定测试资源 (17)6.1.5 制定测试时间表 (17)6.1.6 评估测试风险 (17)6.2 单元测试 (17)6.2.1 单元测试目标 (17)6.2.2 单元测试方法 (17)6.2.3 单元测试工具 (17)6.3 集成测试 (17)6.3.1 集成测试目标 (17)6.3.2 集成测试方法 (17)6.3.3 集成测试层次 (17)6.4 系统测试与验收 (18)6.4.1 系统测试 (18)6.4.2 验收测试 (18)6.4.3 测试报告 (18)第7章项目进度与风险管理 (18)7.1 项目进度计划与监控 (18)7.1.1 项目进度计划 (18)7.1.2 项目进度监控 (18)7.2 里程碑管理 (18)7.2.1 里程碑的定义与设置 (19)7.2.2 里程碑监控 (19)7.3.1 风险识别 (19)7.3.2 风险评估 (19)7.4 风险应对与控制 (19)7.4.1 风险应对 (20)7.4.2 风险控制 (20)第8章软件配置管理 (20)8.1 配置项识别与管理 (20)8.1.1 配置项识别 (20)8.1.2 配置项管理 (20)8.2 配置库管理 (21)8.2.1 配置库的建立 (21)8.2.2 配置库的维护 (21)8.3 配置变更控制 (21)8.3.1 配置变更申请 (21)8.3.2 配置变更实施 (21)8.3.3 配置变更验证 (22)8.4 配置状态报告 (22)8.4.1 配置状态报告编制 (22)8.4.2 配置状态报告内容 (22)第9章项目质量管理 (22)9.1 质量计划与目标 (22)9.1.1 质量方针:明确项目的质量宗旨,为项目质量管理提供总体指导。
软件工程过程方针及通用要求

软件工程过程方针及通用要求在软件工程领域,有效的过程方针和通用要求是确保项目成功的关键因素之一。
本文将讨论软件工程过程方针的重要性以及通用要求的具体内容,并提供一些实施这些要求的最佳方法。
一、软件工程过程方针的重要性软件工程过程方针是指在软件开发和维护过程中所遵循的一系列原则和规则。
这些方针旨在提高开发过程的效率和质量,确保软件项目能够按时、按预算、按要求交付。
以下是软件工程过程方针的重要性:1. 规范开发流程:通过制定明确的过程方针,可以规范团队成员在开发过程中的工作流程和责任分工,提高工作效率,减少错误和重复工作的发生。
2. 提高质量控制:过程方针的制定可以确保质量标准得到遵守,减少开发过程中的质量问题和缺陷,提高最终软件产品的质量。
3. 风险管理:合理的过程方针可以帮助项目团队识别、评估和管理项目中的风险。
通过有序的工作流程和明确的沟通渠道,可以及时发现和解决问题,降低项目风险。
4. 提升团队合作:过程方针的制定可以明确各个角色的职责和沟通流程,促进团队成员之间的合作和协调,提升整个团队的绩效。
二、软件工程过程方针的通用要求软件工程过程方针通常包括以下通用要求,这些要求适用于大多数软件开发项目:1. 需求管理:明确识别用户需求,建立并维护准确、完整的需求文档。
确保需求的变更经过规范的流程,并得到适当的评审和批准。
2. 风险管理:在项目计划的早期阶段,进行风险评估和管理。
制定风险应对策略,并及时调整项目计划以减轻风险。
3. 项目计划与管理:建立详细的项目计划,包括工作任务、资源分配、进度计划以及沟通计划。
确保项目进度得到及时监控和管理。
4. 质量保证:制定明确的质量标准和评估方法,确保软件产品的质量符合规范。
进行软件测试和代码审查,修复缺陷并进行验证。
5. 变更管理:确立变更管理流程,包括变更请求的提出、评审、批准和实施。
记录和跟踪变更信息,确保变更的影响得到适当的控制。
6. 配置管理:建立配置项库,记录和控制项目中的相关配置项。
软件工程监理

软件工程监理软件工程监理软件工程监理是指在软件工程项目的全过程中,由监理人员对项目的进展、质量和效果进行监督、检查和指导,以确保项目按照规定的要求和标准进行并取得预期的效果。
1. 监理的作用软件工程监理在项目实施过程中发挥着重要的作用。
主要包括以下几个方面:质量控制: 监理人员对软件开发过程进行全程监控,确保代码质量、和版本管理规范执行,减少潜在的技术风险。
项目管理: 监理人员负责协调项目各个阶段的计划和进度,监督合同和规范的执行,确保项目按时、按质量要求完成。
风险管理: 监理人员根据项目的特点和风险点,对项目进行风险评估和控制,及时发现并处理项目中的潜在风险。
问题解决: 监理人员在项目执行过程中,对遇到的问题进行分析和解决,向项目团队提供专业的指导和支持,确保项目顺利进行。
合同管理: 监理人员负责实施合同管理,确保项目的商业流程和法律合规,维护项目双方的合法权益。
软件工程监理一般包括以下几个主要阶段的流程:2.1 前期准备在项目启动前,监理人员需要对项目的背景、目标、限制条件等进行全面了解,并与项目团队进行沟通和协商,明确监理的目标和职责。
2.2 监理计划制定在项目启动后,监理人员需要根据项目的特点和要求,制定详细的监理计划,包括监理的内容、方法、时间安排、资源配置等。
2.3 监理执行监理人员按照监理计划,在项目实施过程中进行监督和检查,与项目团队进行沟通和协调,确保项目按照计划和要求进行。
2.4 监理报告监理人员根据监理执行的情况,编写监理报告,对项目的进展、质量和效果进行评估和,向项目团队提出监理意见和建议。
2.5 后期项目结束后,监理人员需要对整个监理过程进行和评估,分析项目成功和不足之处,为的项目提供经验和借鉴。
3.1 专业知识软件工程监理人员需要具备扎实的软件工程知识和经验,了解软件开发的各个阶段和技术,能够理解并评估项目的技术难点和风险。
3.2 沟通能力软件工程监理人员需要与项目团队、客户和其他利益相关者进行有效沟通,及时传递信息和解决问题,保持良好的合作关系。
软件开发的具体流程与管理制度详解

软件开发的具体流程与管理制度详解软件开发管理制度第⼀节总则第⼀条为规范⾃有软件研发以及外包软件的管理⼯作,特制定本制度。
本制度适⽤于公司总公司软件研发与管理,分公司参照执⾏。
第⼆条本制度中软件开发指新系统开发和现有系统重⼤改造。
第三条本制度中⾃⾏开发是指主要依赖公司⾃⾝的管理、业务和技术⼒量进⾏系统设计、软件开发、集成和相关的技术⽀持⼯作,⼀般仅向外购置有关的硬件设备和⽀撑软件平台;合作开发是公司与专业IT公司(合作商)共同协作完成IT应⽤的项⽬实施和技术⽀持⼯作,⼀般形式是公司负责提供业务框架,合作商提供技术框架,双⽅组成开发团队进⾏项⽬实施,IT系统的⽇常⽀持由研发部和合作商共同承担,研发负责内部⽀持,合作商负责外部⽀持;外包开发是指将IT应⽤项⽬的设计、开发、集成、培训等任务承包给某家专业公司(可以是专业的IT公司或咨询公司等),由该公司(承包商)负责应⽤项⽬的实施。
第四条软件开发遵循项⽬管理和软件⼯程的基本原则。
项⽬管理涉及⽴项管理、项⽬计划和监控、配置管理、合作开发管理和结项管理。
软件⼯程涉及需求管理、系统设计、系统实现、系统测试、⽤户接受测试、试运⾏、系统验收、系统上线和数据迁移。
第五条除特别指定,本制度中项⽬组包括业务组(营销部、运维部)、IT组(研发部和合作开发商)。
第⼆节⽴项管理第六条提出开发需求的营销部、运维部等业务部门参与公司层⾯⽴项,研发部进⾏⽴项的技术可⾏性分析,共同编写《⽴项分析报告》(附件⼀),开展前期筹备⼯作。
《⽴项分析报告》应明确项⽬的范围和边界。
第七条应⽤系统主要使⽤部门将《⽴项分析报告》上交公司进⾏⽴项审批,以保证系统项⽬与公司整体策略相⼀致。
第⼋条《⽴项分析报告》得到批准后,成⽴项⽬组(如果是外包开发,则成⽴外包商项⽬组;如果是合作开发,则与外包商共同成⽴合作开发项⽬组,以下统称“项⽬组”),项⽬组应包括业务组(由公司相关业务部门组成)和IT组(⾃⾏开发为研发部;外包开发为外包商成员;合作开发为研发部和外包商成员)。
软件开发项目管理规章制度(8篇范文参考)

软件开发项目管理规章制度(8篇范文参考)软件开发项目管理规章制度篇11、作为正版软件资产的管理,财务部门应建立健全正版软件资产的明细台账。
2、应增强保护正版软件知识产权意识,必须严格执行软件正版化的规定,全面采购,使用正版软件,从源头上杜绝盗版侵权软件使用的不良行为。
3、更新、购置软件时应从满足实际工作需要出发,坚持勤俭节约,从严控制,合理配置。
应在全面掌握本部门软件自唱情况,工作人员人数,配备种类计算机数以及需要更换和采购的软件数的基础上,区分操作系统软件、办公软件和杀毒软件以及国内企业软件和国外企业软件,细化软件配置需求,科学合理地确定软件配置计划,并将软件采购经费纳入预算管理。
4、单位采购的商业软件应严格按照采购合同的约定,重点加强对软件授权证书或许可协议等核心资料的管理工作,并应在购置合同中约定不得侵犯第三方版权,切实维护采购软件版权的合法性。
5、单位采购软件应当对软件互相兼容、授权方式、信息安全、升级等售后服务提出具体要求,维护软件市场公平竞争秩序。
同时,应注意加强软件采购的.衔接,确保采购的计算机设备符合预装正版操作系统软件要求。
6、资产管理部门去的软件时,需向供应商索取软件授权证书和随附物品等,并予以核实,所有能够证明软件和发行的证书及文件,应由单位资产管理部门集中存放和保管。
7、软件资产处置应当严格履行审批手续,坚持优先整合利用。
对于确实无法整合利用的,应由单位使用部门提出申请,经技术管理部门专业技术鉴定,资产管理部门会同财务部门出具书面意见后,严格按照规定的权限和固定资产,并及时调整台账。
8、以授权形式购置的软件资产到期后,应当停止使用,并及时办理处理手续。
9、主要负责同志作为本单位使用正版软件的第一责任人,应落实监督责任,保证本单位软件使用正版化。
10、应当每年结合单位固定资产盘点,对软件资产情况进行清查,确保使用的全部软件均为合法软件并登记入账。
做到账账相符,账实相符。
11、正版软件执行技术保养规定和维护保养制度,确保设备的完好,清洁、安全使用。
软件开发过程

软件开发过程CMMI着重于软件项目的质量管理,强调过程控制,确保产品在软件开发的每一个阶段的质量都要达到客户的要求,这里我们就按项目的开发阶段详细讲述CMMI是如何在项目中监控并把握项目质量的。
(按照软件工程理论,项目一般划分为立项阶段、需求分析阶段、概要设计阶段、详细设计阶段、编码阶段、集成测试阶段、产品形成&验收测试阶段)。
1项目立项阶段项目立项阶段CMMI主要管理工作有:1、建立项目组:同时为了确保项目能够如期完成,在立项阶段,将由高层管理者(总经理室成员)召开正式的项目启动会议,共同商讨确定项目组成员,主要包括项目经理、产品管理、程序管理、开发人员、技术支持人员;为了确保项目的质量,还要确定相关独立于项目组之外的成员(其活动不受项目组约束,便于监督项目质量),主要包括独立测试人员、SQA(质量保证人员)、SCCB配置管理委员会成员,这些组织成员将按照CMMI要求形成正式项目文档(立项书),立项书将向所有项目组相关人员及客户公布。
2、制定SOW :已经和客户签定了合同,为了确保客户的利益,CMMI要求项目组建立SOW(目标范围定义说明书),确定客户的需要什么,不需要什么,以及需要的技术目标和业务目标(比如项目工期、成本、功能需求等等),客户有权利和项目组技术管理委员会一起评审SOW。
3、项目初期计划制定:项目经理确定后,根据CMMI软件项目策划要求,项目经理将根据合同需求、合同工期等内容采用科学的计算方法(目前采用国际上知名的Delphi法)估计项目的规模、工作量、进度、风险、关键计算机资源,并依据集团本身的历史项目数据计算生产率,根据以上数据计算项目的进度及人员安排,最后才制定出符合项目实际情况的计划。
所有的这些规程,在CMMI软件项目策划中有明确规范的定义。
4、项目跟踪及监督计划制定:为了确保制定的项目计划能够反映项目的实际情况,CMMI要求项目经理有责任制定项目的跟踪监督计划,根据本计划,项目所有活动都能够得到合理的监控,及时发现项目组出现的各类偏差。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
前言: 对软件开发的各个阶段进行管理,增强对软件开发的控制能力,提高软件开发质量,这是软件项目管理的根本目的。
软件的质量高低取决于其是否符合包括功能性、可靠性、易用性、效率、可维护性、可移植性等在内的六个方面的要求。而要达到这六个方面质量要求,就必须对软件开发过程中各个环节进行全过程的项目管理,从需求分析、设计、编码、测试到上线验收进行控制。根据软件工程的生命周期,软件项目可分为项目立项、启动、需求分析、系统设计、系统开发、系统测试、系统上线、项目验收和上线后评估等9个阶段进行。加强软件项目管理,就是以软件工程的各个环节为管理主线,将动态项目管理贯穿其中,通过对软件开发的项目范围、项目进度、项目质量、项目沟通、人力资源、项目成本六大核心要素的集成管理,实现软件开发管理效能的最大化,从而大大提高软件的开发质量。
准确把握软件需求 : 软件开发项目的提出,应由迫切的业务需求来驱动。很多不成功的软件项目,往往是由信息技术部门提出,按照技术人员的思路主导开发,并理所当然地被认为能够在业务部门取得良好的应用效果。这样的项目由于得不到业务部门的理解和支持,脱离业务需求,多数面临失败或半途而废的命运。因此软件项目业务需求的迫切性、技术实现的成熟性、经济效益的可行性等方面的因素,都是考虑的要素,将对项目的成败产生直接影响。
正确的做法应该是,由软件的需求单位根据自身业务需要,向信息技术管理部门提出软件项目的立项建议,对立项的目的、业务需求范围、技术经济指标、开发周期要求等方面做简要概述,再由信息技术管理部门组织业务专家和信息技术专家组成联合专家组,进行项目立项的可行性论证。通过专家组论证审核后,项目提出单位需要进行开题设计,进一步明确软件开发范围、技术路线、进度安排、经费预算、研究人员组成、合作队伍,并以此为基础编制完成开题设计书。信息技术管理部门组织专家组对开题设计进行论证,只有业务需求合理、技术路线可行、开发队伍落实的项目,才能通过专家组审核,进入项目启动阶段。
软件开发过程的监督和管理 软件开发项目具有建设范围难界定、技术含量高、人员流动快、协作性强、开发成功率低等特点。目前国内对软件项目的监理制度尚不规范,对软件开发仍然缺乏有效控制。因此由企业的信息技术管理部门设立软件监督岗位,加强对软件项目的开发过程管理,就显得非常必要。 软件监督的主要职责是在项目的进行过程中,协调业务需求部门和软件开发方的关系,监控软件开发任务的执行情况,给开发人员和管理层提供反映软件过程质量的信息和数据,提高项目透明度,从而保证项目按照计划实施,实现预期目标。软件监督应具备以下几方面的基本素质:
(1) 具有较强的工作责任感和良好的沟通能力; (2) 熟悉业务管理流程,掌握软件开发流程、开发规范以及相关标准; (3) 具有软件开发项目的建设和管理经验,掌握项目管理知识; (4) 软件监督的工作任务主要有: (5) 确保软件按照业务需求方确认的范围进行开发。 (6) 保证软件开发进度符合双方确认的计划指标。 (7) 保证软件开发过程中存在的不符合要求的问题能够及时得到沟通和处理,必要时需要将问题反映给管理层。 (8) 确保项目组中软件开发人员队伍相对稳定。 (9) 保证软件开发过程和开发出来的软件符合相应标准和规范。 (10) 收集软件开发过程中的成功经验,为企业提供软件开发过程的有效控制方法和规范。
1.监督管理的范围: 《需求分析说明书》是对软件开发范围的书面表达依据。由于《需求分析说明书》往往是采用软件设计的术语编写,因此常常令计算机背景知识较少的业务需求方难以理解,也就很难发现需求报告中与实际需求不符之处,更难提出建设性的意见。
软件监督要对软件开发范围进行管理,首先要确定双方都能认可的《需求分析说明书》。如要求软件开发方对《需求分析说明书》做出进一步更详细的解释,编制业务模型,以便用户方准确地理解《需求分析说明书》的内容,能及早地发现需求与实际的偏差。这也是对需求分析工作的总结与确认。
在项目需求分析阶段,双方必须全面地、尽可能细致地讨论项目的应用背景、功能要求、性能要求、操作界面要求、与其他软件的接口要求,以及对项目进行评估的各种评价标准。
《需求分析说明书》完成后,软件监督应组织项目组与业务需求方共同讨论,听取业务需求方的意见和建议,并进行相应的修改完善。各方确认《需求分析说明书》内容后,需在说明书上签字确认。
在软件开发过程中,双方应严格按照签字确认的《需求分析说明书》中规定的业务范围进行开发。有些需求可能在项目初期很难确定,在开发过程中需要不断地加以修正,项目软件监督要及时与用户充分沟通,建立可以直接联系的渠道,共同进行需求确认,保证项目范围可控。
2.进度管理: 为确保项目按时、按量、保质完成,必须控制任务和跟踪里程碑。按照软件项目的开发规律,将软件开发过程分为几个重要阶段,对这几个阶段的关键事件设立里程碑进行跟踪管理。项目进度管理可以通过以下方式完成:
(1) 制定项目里程碑管理运行表(里程碑管理表的主要内容见表1)。 (2) 表 项目里程碑管理运行表 (3) 定期举行项目状态会议,由软件开发方报告进度和问题,用户方提出意见。 (4) 比较各项任务的实际开始日期与计划开始日期是否吻合。 (5) 确定正式的项目里程碑是否在预期完成。
从软件项目实施的过程来看,很少有一个项目是完全按照实施计划来进行的,因为再好的计划也不能完全预见所有的问题,并事先制订出对策。计划可以调整,但是调整必须合理,并得到业务需求方和管理层的批准。当有问题发生时,其直接的表现就是实施结果偏离了原来的计划和目标,在这种情况下,软件监督就要及时发现这种偏离,并分析这种原因,如果是因为原来的计划和目标制订的不合理,或者发生了预料之外的情况而又无法克服,这样就必须调整计划和目标。
3.沟通管理: 信息系统本身就是沟通的产物。软件开发过程实际上就是将手工作业转化成计算机程序的过程。软件开发的原料和产品就是信息,中间过程传递的也是信息,而信息的产生、收集、传播、保存正是沟通管理的内容。可见沟通不仅仅是软件项目管理的必要手段,更重要的,沟通是软件生产的手段和生产过程中必不可少的工序。
软件开发的柔性标准需要沟通来弥补。软件开发不像加工螺钉、螺母,有具体的标准和检验方法。软件的标准柔性很大,比如在用户的心里好用是软件成功的标准,而这个标准在软件开发前很难确切地、完整地表达出来。因此,开发过程项目组和用户的沟通互动是解决这一现实问题的惟一办法。
软件监督要有效地安排开发方软件人员与需求方使用人员的交流,保证有畅通的交流渠道。制定完善的项目汇报制度,明确沟通时间、频率和渠道。按照项目汇报制度定期组织项目组向业务需求方和管理层汇报,包括项目进度计划、已完成工作、与计划的比较、存在的问题、措施和建议以及下一步工作计划等。 4.软件版本管理 目前的软件开发是团队开发的时代,软件开发技术更新迅速,开发人员流动频繁,因此对软件版本的管理就显得尤其重要。在软件开发的过程中,在多人共同开发一个软件时,会出现多人同时修改软件的情况,这是不可避免的,由于部分功能模块版本可能要进行不断地升级完善,而老的软件版本又没有即使更新,随着时间的推移,开发人员对自己机器上的不同版本间的差异就会模糊不清。另外由于软件开发工期的压力,开发人员只将注意力集中在设计和编码上,未将文档纳入到版本控制中。为了解决这些问题,软件监督就要注意跟踪记录整个软件的开发过程,包括软件本身及其相关文档,重视代码的一致性。这一工作可以通过应用软件版本管理的工具软件实现,如Microsoft公司的Visual SourceSafe等对源代码和整个项目进行管理,从而建立正常的软件版本管理机制,
把握正确的验收方法 软件项目验收是对软件项目成果的检验和确认,也是对软件项目范围的再确认。软件验收应是一个过程的概念,包括验收前的系统测试、数据移植、系统上线和正式验收四个阶段。
4.1. 系统测试: 系统测试是对系统进行全面的测试,应在测试环境中进行,以确保系统的功能和技术设计满足企业的业务需求,并能正常运行。系统测试阶段应包括以下主要流程和工作内容:
(1)制订测试计划,包括编制测试用例,建立测试环境。 (2)测试。在测试环境中,项目组根据需要,对系统依次进行单元测试、集成测试、压力测试和用户接受测试,记录测试结果并由相关测试人签字确认,编制相应的测试报告。对于未通过测试的内容,项目组应查找失败的原因,并修改相应程序或设置,重新进行测试。除了进行充分的系统功能测试,测试应包含与内部控制相关的测试内容,如系统认证和授权、交易完整性及数据真实、完整性的有关功能。
(3)提交测试报告、用户确认签字。项目组撰写测试报告,将测试报告提交给各相关用户,用户应在测试报告上签字确认。
4.2. 数据移植: 新系统上线时如需要将原始数据移植到新系统,则应完成以下主要工作内容: (1)制订数据移植/转换计划。除了要定义数据收集的格式、范围、进度外,还要考虑系统接口的影响,并建立了数据移植完整性和准确性测试方法以及意外事件处理程序。
(2)数据收集。如果项目实施涉及到数据收集,应由数据收集小组根据数据收集格式,对数据进行收集,数据收集小组在收集数据时应培训业务部门的数据提供人员,以确保数据提供人员了解和掌握对数据收集的各项规定和要求。
(3)数据移植前的测试。在测试环境中对数据移植方法进行测试,书面记录测试结果,解决测试中发现的问题,进行问题记录并归档。
(4)数据导入并核查结果。 项目组成员将数据导入系统,并在导入后按照事先制定的数据移植完整性和准确性测试方法对系统中的数据做进一步的核查,确保导入数据的质量。如有意外,按照事先制定的意外事件处理程序处理,并留下记录。数据移植完成之后,用户应对数据移植结果签字确认。
(5) 数据移植后要进行适当时间的试运行,确认数据移植的真实性和完整性。试运行时间视具体系统的规模、影响程度而定。对影响较大的系统,至少应试运行三个完整的月结周期。
4.3. 系统上线: 系统上线阶段应包括以下的主要流程和工作内容:
(1) 上线前准备工作。在上线前,软件开发方应制定系统上线计划,包括上线检查清单、上线支持人员、退回机制等,并提交《上线申请表》。系统上线计划和《上线申请表》应经过信息技术部门和业务部门管理层的正式批准,并通知各相关部门。
(2)系统上线。所有的上线准备工作做好之后,由软件监督人员确认上线系统版本正确性后,与用户确认系统上线时间,下达上线指令。系统上线操作人员将最后版本的系统程序移植到生产环境。
4.4. 正式验收 : 正式验收前,软件开发方应向信息技术管理部门提交软件开发过程中各阶段性文档,包括需求分析说明书、概要设计说明书、详细设计说明书、数据库设计说明书、源程序代码、可供安装使用的系统安装程序、系统管理员手册、用户使用手册、测试计划、测试报告、用户报告、数据移植计划及报告、系统上线计划及报告、用户意见书、验收申请等。