软件开发型信息项目监理初探(3)
第三阶段:确认阶段。在完成上两阶段的工作之后,就需要对具体的流程细化,对数据进行确认了。根据前两个阶段的工作,承建方应草拟出一份需求分析报告,并提供原型演示系统,和建设方进行进一步的讨论,最终确定一份需求分析报告。
需要指出的是,在系统建设的过程中,特别在采用迭代法的开发模式时,需求分析的工作需一直进行下去,而在后期的需求改进中,工作则基本集中在后两个阶段中。
监理方在这三个阶段的工作,按照内容可以分为两部分:监督和沟通。监督工作包括对需求分析阶段的各种文档的保管监督,对承建方的访谈活动的监督,对需求分析报告、原型演示系统的确认等;沟通工作则表现在当建设方和承建方由于知识背景不同而在访谈过程中沟通不顺畅的时候,监理方应利用自身优势使得双方顺利理解对方。
需求分析阶段,监理方可参考的标准有:GB938588计算机软件需求说明编写指南。
这个阶段监理方应提交:在需求分析进行前提交需求分析阶段监理细则、监理日志、在需求分析结束后提交需求分析阶段总结报告。
4、概要设计阶段
概要设计,即将软件需求转化为数据结构和软件的系统结构,一般包括数据设计和系统结构设计。其中数据设计侧重于数据结构的定义,系统结构设计定义软件系统各主要成份之间的关系。
在承建方进行概要设计的过程中,监理方需要监督以下方面:
⑴、制定规范
在进入软件开发阶段之初,首先应为软件开发组制定在设计时应该共同遵守的标准,以便协调组内各成员的工作。包括:
阅读和理解软件需求说明书,确认用户要求能否实现,明确实现的条件,从而确定设计的目标,以及它们的优先顺序;
根据目标确定最合适的设计方法;
规定设计文档的编制标准;
规定编码的信息形式,与硬件,操作系统的接口规约,命名规则。
⑵、软件系统结构的总体设计
根据需求分析,基于功能层次结构建立系统,其中包括采用某种设计方法,将系统按功能划分成模块的层次结构、确定每个模块的功能、建立与已确定的软件需求的对应关系、确定模块间的调用关系、确定模块间的接口、评估模块划分的质量。
⑶、处理方式设计
处理方式设计要确定为实现系统的功能需求所必需的算法,评估算法的性能;确定为满足系统的性能需求所必需的算法和模块间的控制方式;确定外部信号的接收发送形式。
⑷、数据结构设计
根据需求分析报告进行数据库设计。数据库设计包括确定软件涉及的文件系统的结构以及数据库的模式、子模式,进行数据完整性和安全性的设计;确定输入,输出文件的详细的数据结构;结合算法设计,确定算法所必需的逻辑数据结构及其操作;确定对逻辑数据结构所必需的那些操作的程序模块(软件包);限制和确定各个数据设计决策的影响范围;若需要与操作系统或调度程序接口所必须的控制表等数据时,确定其详细的数据结构和使用规则;数据的保护性设计;数据的一致性设计;冗余性设计等。
⑸、可靠性设计
可靠性设计也叫做质量设计。在运行过程中,为了适应环境的变化和用户新的要求,需经常对软件进行改造和修正。在软件开发的一开始就要确定软件可靠性和其它质量指标,考虑相应措施,以使得软件易于修改和易于维护。
⑹、概要设计阶段的文档
概要设计阶段完成时应编写以下文档:概要设计说明书、数据库设计说明书、用户手册、制定初步的测试计划。
针对上述工作,监理方应按如下标准评定承建方的概要设计:
⑴、可追溯性:确认该设计是否覆盖了所有已确定的软件需求,软件每一成份是否可追溯到某一项需求;
⑵、接口:确认该软件的内部接口与外部接口是否已经明确定义,模块是否满足高内聚和低耦合的要求,模块作用范围是否在其控制范围之内;
⑶、风险:确认该设计在现有技术条件下和预算范围内是否能按时实现;
需要指出的是,在系统建设的过程中,特别在采用迭代法的开发模式时,需求分析的工作需一直进行下去,而在后期的需求改进中,工作则基本集中在后两个阶段中。
监理方在这三个阶段的工作,按照内容可以分为两部分:监督和沟通。监督工作包括对需求分析阶段的各种文档的保管监督,对承建方的访谈活动的监督,对需求分析报告、原型演示系统的确认等;沟通工作则表现在当建设方和承建方由于知识背景不同而在访谈过程中沟通不顺畅的时候,监理方应利用自身优势使得双方顺利理解对方。
需求分析阶段,监理方可参考的标准有:GB938588计算机软件需求说明编写指南。
这个阶段监理方应提交:在需求分析进行前提交需求分析阶段监理细则、监理日志、在需求分析结束后提交需求分析阶段总结报告。
4、概要设计阶段
概要设计,即将软件需求转化为数据结构和软件的系统结构,一般包括数据设计和系统结构设计。其中数据设计侧重于数据结构的定义,系统结构设计定义软件系统各主要成份之间的关系。
在承建方进行概要设计的过程中,监理方需要监督以下方面:
⑴、制定规范
在进入软件开发阶段之初,首先应为软件开发组制定在设计时应该共同遵守的标准,以便协调组内各成员的工作。包括:
阅读和理解软件需求说明书,确认用户要求能否实现,明确实现的条件,从而确定设计的目标,以及它们的优先顺序;
根据目标确定最合适的设计方法;
规定设计文档的编制标准;
规定编码的信息形式,与硬件,操作系统的接口规约,命名规则。
⑵、软件系统结构的总体设计
根据需求分析,基于功能层次结构建立系统,其中包括采用某种设计方法,将系统按功能划分成模块的层次结构、确定每个模块的功能、建立与已确定的软件需求的对应关系、确定模块间的调用关系、确定模块间的接口、评估模块划分的质量。
⑶、处理方式设计
处理方式设计要确定为实现系统的功能需求所必需的算法,评估算法的性能;确定为满足系统的性能需求所必需的算法和模块间的控制方式;确定外部信号的接收发送形式。
⑷、数据结构设计
根据需求分析报告进行数据库设计。数据库设计包括确定软件涉及的文件系统的结构以及数据库的模式、子模式,进行数据完整性和安全性的设计;确定输入,输出文件的详细的数据结构;结合算法设计,确定算法所必需的逻辑数据结构及其操作;确定对逻辑数据结构所必需的那些操作的程序模块(软件包);限制和确定各个数据设计决策的影响范围;若需要与操作系统或调度程序接口所必须的控制表等数据时,确定其详细的数据结构和使用规则;数据的保护性设计;数据的一致性设计;冗余性设计等。
⑸、可靠性设计
可靠性设计也叫做质量设计。在运行过程中,为了适应环境的变化和用户新的要求,需经常对软件进行改造和修正。在软件开发的一开始就要确定软件可靠性和其它质量指标,考虑相应措施,以使得软件易于修改和易于维护。
⑹、概要设计阶段的文档
概要设计阶段完成时应编写以下文档:概要设计说明书、数据库设计说明书、用户手册、制定初步的测试计划。
针对上述工作,监理方应按如下标准评定承建方的概要设计:
⑴、可追溯性:确认该设计是否覆盖了所有已确定的软件需求,软件每一成份是否可追溯到某一项需求;
⑵、接口:确认该软件的内部接口与外部接口是否已经明确定义,模块是否满足高内聚和低耦合的要求,模块作用范围是否在其控制范围之内;
⑶、风险:确认该设计在现有技术条件下和预算范围内是否能按时实现;