前言:
本篇讲述软件开发过程中的组织和文档技术,包括软件开发的组织结构,人员的配备和团队的管理,软件工程文档的重要性,分类及其作用。
一、人员分配
组织结构
开发组织采用什么形式由软件项目的特点决定,同时也与参加人员的素质有关。通常
有三种组织结构模式:
(1) 按课题组划分的模式:把开发人员按课题组成小组,小组成员自始至终承担课题
的各项任务。该模式适用于规模不大的项目,并且要求小组成员在各方面有技 术专长。
(2) 按职能划分的模式:把开发项目的软件人员按任务的工作阶段划分为若干工作小
组。要开发的软件在每个专业小组完成阶段加工后沿工序流水线向下传递。这 种流水作业的方式适用于多项目并行的情况。
(3) 矩阵形模型:这种模式是以上两种模式的复合。一方面按工作性质成立一些专门
小组,另一方面每一个项目都由它的经理人员负责。每一个软件开发人员属于某 一个专门 小组,参加某一个项目的工作。该模式的优点:一方面参加专门组的 成员可以在组内交流 在各个项目中取得的经验,这更有利于发挥专业人员的作 用;另一方面,各个项目由专门的人员负责,有利于软件项目的完成。这种模式 比较适合于规模比较大的项目。
组织结构的最后一层式程序设计小组的组织形式。常见的小组组织形式有3种,这3种形式可以灵活使用。
(1) 主程序员制小组:相当于组长负责制,小组的核心由一位主程序员,另外配备两
到三位技术员、一位后援工程师组成。这种组织结构突出主程序员的领导,强调主 程序员与其他技术人员的联系。
(2) 民主制小组:在民主制小组中,遇到问题可以在组员之间平等地交换意见,工 作组目标的制定以及决定的做出都由全体人员参加。这种组织形式强调发挥每个 成员的积极性,并要求每个成员发挥主动精神和协作精神。
(3) 层次式小组:在层次式小组中,组内人员分位三级:组长(项目负责人)负责全组 工作,他直接领导两到三名高级程序员,每位高级程序员通过基层小组,管理若干 位程序员。
人员配备
合理地配备人员是成功地完成软件项目的切实保证。所谓合理地配备人员应包括按不
同阶段适时运用人员,恰当掌握用人标准。
团队管理
1.制定与项目相关的规章制度
2.建立明确的共同目标
3.营造积极进取,团结向上的工作氛围
4.通过良好的沟通解决项目实施中的各种复杂问题
5.及时发现并解决团队管理中存在的问题
6.做好团队的稳定工作
二、软件工程文档
工程文档的作用
1.文档本身就是软件产品,没有文档的软件,不成为软件,更谈不到软件产品,软 件文档的编制在软件开发工作中占有突出的地位和相当的工作量。
2.高效率,高质量地开发,分发,管理和维护文档,对于转让,变更,修正,扩充 和使用文档,对于充分发挥软件产品的效益有着重要的意义。
3. 文档在软件开发人员、软件管理人员、维护人员、用户以及计算机之间的多种 桥梁作用。
4.从某种意义上来说,文档是软件开发规范的体现和指南。
编制规范的软件工程文件
(1) 可行性研究报告:说明该软件开发项目的实现在技术上、经济上和社会因素上的
可行性,评述为了合理地达到开发目标可供选择的各种可能实施的方案,说明并论证所选
定实施方案的理由。
(2) 项目开发计划:为软件项目实施方案制定出具体计划,应该包括各部分工作的负
责人员、开发的进度、开发经费的预算、所需的硬件及软件资源等。项目开发计划应提供
给管理部门,并作为开发阶段评审的参考。
(3) 软件需求说明书:也称软件规格说明书,其中对所开发软件的功能、性能、用户
界面及运行环境等做出详细的说明。它是用户与开发人员双方对软件需求取得共同理解基
础上达成的协议,也是实施开发工作的基础。
(4) 数据要求说明书:应给出数据逻辑描述和数据采集的各项要求,为生成和维护系
统数据文卷做好准备。
(5) 概要设计说明书:是概要设计阶段的工作成果,应说明功能分配、模块划分、程
序的总体结构、输入输出以及接口设计、运行设计、数据结构设计和出错处理设计等,为
详细设计奠定基础。
(6) 详细设计说明书:着重描述每一模块是怎样实现的,包括实现算法、逻辑流程等。
(7) 用户手册:详细描述软件的功能、性能和用户界面,使用户了解如何使用该软件。
(8) 操作手册:为操作人员提供该软件各种运行情况的有关知识,特别是操作方法的
具体细节。
(9) 测试计划:为做好组装测试和确认测试,需为如何组织测试制定实施计划。计划应包
括测试的内容、进度、条件、人员、测试用例的选取原则、测试结果允许的偏差范围等。
(10) 测试分析报告:测试工作完成以后,应提交测试计划执行情况的说明。对测试结
果加以分析,并提出测试的结论意见。
(11) 开发进度月报:是软件人员按月向管理部门提交的项目进展情况报告。报告应包
括进度计划与实际执行情况的比较、阶段成果、遇到的问题和解决的办法以及下个月的打
算等。
(12) 项目开发总结报告:软件项目开发完成以后,应与项目实施计划对照,总结实际
执行的情况,如进度、成果、资源利用、成本和投入的人力等。此外还需对开发工作做出
评价,总结出经验和教训。
(13) 维护修改建议:软件产品投入运行以后,发现需对其进行修正和更改,应将存在
的问题、修改的考虑以及修改的影响估计做详细的描述,写成维护修改建议提交审批。