系统开发过程(第七部分)


 

结构预演是一种预测评价方法,它能有效地减少某些被忽略的或作错的事情。它也给预测者提供一个机会来评价那些业已建议的事情(如系统设计),从而有可能给出一些建设性的建议。预演的目的是给项目组提供有价值的反馈信息,而不是对系统的质量下判决性的结论。 项目组长应考虑何时开始结构预演。通常预演是在系统设计以及系统开发过程中其他一些关键点(如,测试计划、程序描述等)完成之后才进行。

参与结构预演中的人有:若干项目组成员,一个协调员,参加者,一位秘书,或许还包括一位不属双方的"中立的"经理。项目组的某个成员或所有成员扮演"推荐者"的角色,并且解释他们所承担设计的系统的那一部分。协调员负责组织预演和协调"推荐者"与"参加者"之间的相互配合。根据对所提出的课题的知识和兴趣来选择"参加者"。这些人应该是没有直接参与本项目的。秘书将对一些要点作书面记录。通常邀请一个"中立的"经理参加第一次预演。中立经理的出席将促使参与预演的每一个人专心于他的工作(这一点有时是预演的一个问题)。

结构预演的方法是简单的。在进行预演的前几天将需要审查的材料(即系统设计)分发给参加者,协调员负责跟参加预演的所有人联系和通信。在实际的预演期间,推荐者解释系统设计以及有关的资料。这是通过一步一步地预演系统来进行的,有时可能还借助于某种设计工具。参加者提供出讨论的建议,而秘书则记录下来以形成资料。通常一次预演持续的时间不应超过一个半小时。如果超过了这个时间限制,那么一次预演会议将变得没有实际效果。如果必要,可以安排几次会议来完成预演。
项目组评价所有的建议,并且把所有价值的建议并入到系统设计中。预演是有价值的,它使得设计者在系统实现之前获得重要的反馈信息。

(20)选择硬件
如果正在开发的系统要求额外的硬件支持,则需要选择适当的硬件并进行订货。获得硬件的过程通常是信息服务经理的责任。

(21)准备输出格式
在系统开发过程中,到目前这一阶段为止,我们已经提及了输出并描述了其有关的内容,但是程序员需要知道具体的输出形式(即应该怎样在输出设备上出现)。这种详细的输出说明称之为输出格式。项目组产生出显示屏(VDU)格式,这种格式规定了诸如题目、标题、输出形式等项,有时还应包括输入形式。

某些硬拷贝报告和资料要求事先打印好的表格纸,项目组与表格纸厂商的代表合作设计这种事先打印好的表格纸(例如,工资支票和短线)。

项目组还负责设计和满足在系统范围内所有人工产生的报告和资料,同时与受有影响的用户经理相配合进行修改、增加或删除。

(22)描述数据项的说明书

数据项的说明书详细规定了什么数据将输入到系统以及它们怎样被输入到系统中。
(23)准备程序描述

系统开发进展到目前这一步,我们已经对现有的系统作了详尽的分析。它的功能已经并入建议的系统的设计中,我们已经完成了建议的系统及其支持的数据库的设计,并且还准备了所有输入/输出详细的说明书。现在项目组可以着手标列和确定所有的程序,而这些程序是使得建议的信息系统运转所要求的。系统的图形表示(流程图、HIPO图和其他)是标列所要求的程序的初始输入。对每一个程序,项目组编辑下述的资料:

①程序语言的种类(例如,COBOL、BASIC、FORTRAN)
②程序解说词的描述-描述要执行的任务。
③由程序所产生的各种输出的描述和格式
④处理频率(例如,每天、每周、联机等)
⑤界限和限制(例如,输入数据的顺序,容量的限制,响应时间,最大值,最小值等)
⑥详细说明书(例如,排序,编辑的标准,特殊的计算和逻辑操作,各种表格等)。

3.第Ⅲ阶段-程序设计

项目组现在可以着手开始与计算机通信了。这种通信(或与计算机的接口)是采取指令形式来进行的,而这些指令被编进计算机程序中。这些计算机程序包括系统运转所必需的软件。在第Ⅲ阶段-程序设计阶段将开发支持信息系统所要求的全部软件。

用户的介入集中在系统开发的过程前段(第Ⅱ阶段)和后段(第Ⅳ和Ⅴ阶段)。如果正确地完成了第Ⅱ阶段而且用户与项目组的协作是有"成效"的,那么用户将很少介入程序设计阶段,甚至完全不用介入。用户介入最多的情况将反复出现在系统设计需要澄清的时候,有时也出现为第Ⅳ阶段(转换与实现),作一些初始计划的时候。

不幸的是,有时用户管理人员也较深地卷进了程序设计阶段。这是第Ⅱ阶段进行得很糟糕,而且当开始程序设计时还没完成的一种标志。这种情况是经常发生的,特别是在时间紧迫时,项目组常常收到一些强制性的命令要求产生尚未完成的产品。由于系统开发过程的最终产品是软件,所以有时过早地开始程序设计。这种系统开发方式必然导致产生质量低劣的系统。这种系统并不能满足用户的要求,而且维护的代价很高。这种系统整个寿命期的成本可能是一个高质量的系统的两到三倍。

(24)指定程序员组长

通常项目组长是一个系统分析员或是一个用户,他并不直接参与程序设计工作。管理程序设计工作的人应该是程序设计工作实际的参加者,因此,对于要求两个人以上的程序设计工作,将由信息服务经理指定一个程序员组长。当然,项目组长仍然对整个项目负有责任。 程序员组长有时也称作为主程序员。他(或她)可能只花10%的时间在产品的程序设计上。如果只需要管理一个下属程序员,那么主程序员可能花80%的时间在产品的程序设计上。 (25)安排顺序和分配程序
一个信息系统的软件包,可能要求几百个程序。并不需要按照这些程序最终执行的顺序来编写它们,在建立程序开发进度表时,必须考虑到许多变化的因素。在安排程序编制顺序时,主程序员应考虑如下问题:

①建立和维护测试文件的需要
②程序的依赖性(此处一个程序依赖于另一个程序的部分或全部的输出)
③程序的长度和复杂性

根据程序员专业知识的水平、工作效率以及对系统熟悉的程序分配程序。由于经常将程序员分配到其他项目组,从而对专业知识和经验的要求非常广泛,所以使程序员与程序相匹配并非易事。

(26)安排准备程序的进度

主程序员可以利用程序进度表(表20.9.17)来安排和监督下属程序员的活动以及任一给定程序的状态。由于程序开发有一个基本的模式,所以一种类似于用来监督项目进度的技术(表20.9.8和4.9.9)可以用来监督完成一个特定程序的进度。表20.9.16绘出的甘特表是程序进度表(表20.9.17)的一种图形表示,而且它是在公告板上可以看到的一种通用的管理工具。几乎所有的主程序员和项目组长都经常使用这种公告板。

(27)编制、测试程序和编写程序资料。

通常一个程序员在一给定的时间里将同时编制2~5个程序。开发任一给定的程序的一般的方法本质上是相同的。它们是:

图20.9.16 程序的甘特进度表

①准备一般的程序逻辑框图
②准备详细的程序逻辑框图
③编写程序(写程序语句)
④测试和调试程序
⑤编写程序的资料

4.第Ⅳ阶段--转换和实现

第Ⅳ阶段的目标(转换和实现)是把在第Ⅰ、Ⅱ和Ⅲ阶段的工作结合成一个整体,并将信息系统实现到业务领域。项目组和受影响的用户部门大量地介入第Ⅳ阶段的全过程中(见图20.9.17)。

表20.9.17 程序进度表

报告标题 程序进度表 日期
系统标题 材料要求 标识MR
程序标题 标记 程序号 时间百分比
一般逻辑 详细逻辑 编写程序 测试和调试
形成资料 估计的开始时间 实际的开始时间 提前或推迟天数
估计的完成时间 实际的完成时间 提前或推迟的天数
每日更新程序 007MR Lois james 50 × × × × ×
9.15 9.20 5B 10.30 11.30 21B
管理程序 006MR Phil Morrison 100 × × × × ×
9.15 9.15 0T 11.15 11.1 10A
调度程序 008MR John Speer 80 10.1 1.1
库存状态程序 042MR Marylou Cummings 40 × × /
10.15 10.20 4B 11.1
材料清单程序 102MR Lois James 20 × × 11.
3 11.15 10B 1.15
日审计程序 001MR Jim Jones 100 12.1 3
周审计程序 002MR John Speer 20 12.10