4、概要设计阶段
概要设计,即将软件需求转化为数据结构和软件的系统结构,一般包括数据设计和系统结构设计。其中数据设计侧重于数据结构的定义,系统结构设计定义软件系统各主要成份之间的关系。
在承建方进行概要设计的过程中,监理方需要监督以下方面:
⑴、制定规范
在进入软件开发阶段之初,首先应为软件开发组制定在设计时应该共同遵守的标准,以便协调组内各成员的工作。包括:
阅读和理解软件需求说明书,确认用户要求能否实现,明确实现的条件,从而确定设计的目标,以及它们的优先顺序;
根据目标确定最合适的设计方法;
规定设计文档的编制标准;
规定编码的信息形式,与硬件,操作系统的接口规约,命名规则。
⑵、软件系统结构的总体设计
根据需求分析,基于功能层次结构建立系统,其中包括采用某种设计方法,将系统按功能划分成模块的层次结构、确定每个模块的功能、建立与已确定的软件需求的对应关系、确定模块间的调用关系、确定模块间的接口、评估模块划分的质量。
⑶、处理方式设计
处理方式设计要确定为实现系统的功能需求所必需的算法,评估算法的性能;确定为满足系统的性能需求所必需的算法和模块间的控制方式;确定外部信号的接收发送形式。
⑷、数据结构设计
根据需求分析报告进行数据库设计。数据库设计包括确定软件涉及的文件系统的结构以及数据库的模式、子模式,进行数据完整性和安全性的设计;确定输入,输出文件的详细的数据结构;结合算法设计,确定算法所必需的逻辑数据结构及其操作;确定对逻辑数据结构所必需的那些操作的程序模块(软件包);限制和确定各个数据设计决策的影响范围;若需要与操作系统或调度程序接口所必须的控制表等数据时,确定其详细的数据结构和使用规则;数据的保护性设计;数据的一致性设计;冗余性设计等。
⑸、可靠性设计
可靠性设计也叫做质量设计。在运行过程中,为了适应环境的变化和用户新的要求,需经常对软件进行改造和修正。在软件开发的一开始就要确定软件可靠性和其它质量指标,考虑相应措施,以使得软件易于修改和易于维护。
⑹、概要设计阶段的文档
概要设计阶段完成时应编写以下文档:概要设计说明书、数据库设计说明书、用户手册、制定初步的测试计划。
针对上述工作,监理方应按如下标准评定承建方的概要设计:
⑴、可追溯性:确认该设计是否覆盖了所有已确定的软件需求,软件每一成份是否可追溯到某一项需求;
⑵、接口:确认该软件的内部接口与外部接口是否已经明确定义,模块是否满足高内聚和低耦合的要求,模块作用范围是否在其控制范围之内;
⑶、风险:确认该设计在现有技术条件下和预算范围内是否能按时实现;
⑷、实用性:确认该设计对于需求的解决方案是否实用;
⑸、技术清晰度:确认该设计是否以一种易于翻译成代码的形式表达;
⑹、可维护性:确认该设计是否考虑了方便未来的维护;
⑺、质量:确认该设计是否表现出良好的质量特征;
⑻、各种选择方案:看是否考虑过其它方案,比较各种选择方案的标准是什么;
⑼、限制:评估对该软件的限制是否现实,是否与需求一致;
⑽、其它具体问题:对于文档、可测试性、设计过程等进行评估。
这个阶段监理方应提交:在概要设计进行前提交总体设计阶段监理细则、监理周记、在概要设计完成后提交概要设计监理报告。
5、详细设计阶段
详细设计阶段的直接目标是编写详细设计说明书,为此,承建方应做如下工作:
⑴、确定每个模块的算法,用工具表达算法的过程,写出模块的详细过程性描述;
⑵、确定每一模块的数据结构;
⑶、确定模块接口细节。
监理方在这个阶段主要是在进度上进行控制,主要手段是定期与承建方沟通,检查文档。
这个阶段监理方应提交:在详细设计进行前提交详细设计阶段监理细则、监理周记、在详细设计完成后提交详细设计说明书的确认报告。
6、编码及测试阶段
编码是将详细设计阶段的设计思想用某种计算机语言实现的过程。监理方应从结构化程序设计原则来进行编码工作的监理:
⑴、使用语言中的顺序、选择、重复等有限的基本控制结构表示程序逻辑;
⑵、选用的控制结构只准许有一个入口和一个出口;
⑶、程序语句组成容易识别的块,每块只有一个入口和一个出口;
⑷、复杂结构应该用基本控制结构进行组合嵌套来实现;
⑸、语言中没有的控制结构,可用一段等价的程序段模拟,但要求该程序段在整个系统中应前后一致;
通常测试是伴随着编码而同时进行的。广义上软件测试并非只在这个阶段才有,而是贯穿软件需求分析、概要设计、详细设计等阶段的。本处的测试,则指代码测试。在测试阶段,监理方应依据测试原则对承建方的测试进行监督:
⑴、应尽早的和不断的进行软件测试;
⑵、测试用例应由测试输入数据和对应的预期输出结果这两部分组成;
⑶、程序员应避免检查自己的程序;
⑷、在设计测试用例时,应包括合理的输入条件和不合理的输入条件;
⑸、充分注意测试中的群集现象,即一般测试后程序中残存的错误数目与该程序中已发现的错误数目成正比;
⑹、严格执行测试计划,排除测试的随意性;
⑺、应当对每一个测试结果做全面检查。
⑻、妥善保存测试计划,测试用例,出错统计和最终分析报告,为维护提供方便。
在编码及测试阶段监理方可参考的标准有:GB938688计算机软件测试文件编制规范、GB/T1250490计算机软件质量标准保证计划规范、GB/T1250590计算机软件配置管理计划规范、GB/T1553295计算机软件单元测试等。
7、系统试运行阶段
由于信息化软件一般都是比较大型的软件,因此在完成了系统测试后还需要经过一段时间的试运行。系统试运行实际是测试的延续,检查系统的稳定性、适用性等。监理方在这个阶段的主要工作有:
⑴、审核竣工文档资料的完整性、可读性及其与工程实际的一致性;
⑵、审核操作系统、应用系统等软件配置与设计方案的符合性;
⑶、检测验证系统功能性能与合同的符合性;
⑷、检查人员培训计划落实情况;
⑸、出具验收报告;
⑹、帮助用户制定系统运行管理规章制度;
⑺、在保修期内定期或不定期对项目进行质量检查、督促承建方按合同要求进行维护。
责任编辑:小草