软件设计师第5部分工作流程和算法流程
●试题1
阅读以下说明和流程图,从供选择的答案中选出应填人流程图(n)处的字句写在答题纸的对应栏内。
【说明】
某游戏的地图区域可分成n×m个方格,如图5.1(a)所示,现在需要确定区域中给定的两个方格的中心点之间的最短前进方案。前进路线只能沿水平或垂直方向,如图5.1(b)中虚线所示。为了避免路线相交,应将有障碍的方格作封锁标记,其他线路不允许穿过被封锁的方格。
设给定地图区域的起始方格a与目的方格b尚未被封锁,求这两个方格问最短前进方案的基本思路是:从起始方格a开始,先考查距离起始方格距离为1的可达方格并用一个路径长度值标记,然后依次考查距离为2、3、…的可达方格,直到距离为k的某一个可达方格就是目标方格b时为止,或者由于不存在从a到b的前进方案而终止。地图区域中的每一个方格与其相邻的上、下、左、右四个方格之间的距离为1,依次沿下、右、上、左这四个方向考查,并用一个队列记录可达方格的位置。表5.1给出了沿这四个方向前进l步时相对于当前方格的相对偏移量。
表5.1
搜索顺序i |
方向 |
行偏移量 |
列偏移量 |
0 |
下 |
1 |
0 |
1 |
右 |
0 |
1 |
2 |
上 |
一1 |
0 |
3 |
左 |
0 |
—1 |
供选择的答案
[a]T=EndPos
[b]Q.insert(T)
表5.2
符号 |
含义 |
Grid |
全局二维数组Grid[N+2,M+2],表示游戏地图方格阵列 |
offset |
一堆数组0ffset[4]:offset[i](0≤i≤3)的分量为r(行 |
StarPos、EndPos、CurPos、T |
分别表示起始方格、目标方格、当前方格和临时方格,其 |
Q.insert(S) |
将方格s的位置信息加入队列 |
Q.delete() |
删除非空队列的队头元素并返回该元素 |
Q.empty() |
若队列Q为空,则返回true;否则返回false |
[d]Grid[T.rOW,T.c01]=-1
[e]T+_Q.delete()
[f]CurPos=EndPos
[ g ] i≥4
[h]CurPos←Q.delete()
[i]Found≠tme
[ i ] Found=true
答案:(1)Grid[T.row,T.c01]=一1
解析:对可扩展结点进行路径长度标记时。对Grid[T.row,T.c01]的标志进行判断。
答案:(2)T=EndPos
解析:判断目标结点是否出现,若是。则Found=true。
答案:(3)Q.insert(T)
解析:当目标结点未出现时。将T结点加入队列。
答案:(4)Found≠true
解析:找到目标方格时的结束条件。
答案:(5)T←Q.delete()
解析:当尚未找到目标位置结点而队列又不为空时,应从队列中取出一个新的结点作为当前结点进行考察和扩展。
●试题2
阅读下列说明和图,回答问题1至问题3,将解答填人答题纸的对应栏内。
【说明】
实现进程的同步与互斥控制的常见方法是信号量,信号量S的P、V操作如下:
P(S):S:=S—l,若s≥0,则执行P操作的进程继续执行;若S<0,则置该进程为阻塞状态,并将其插入阻塞队列。
v(s):s:=S+1,若S>0,则执行V操作的进程继续执行;若S≤0,则从阻塞队列唤醒一个进程,并将其插入就绪队列,然后执行V操作的进程继续执行。
【问题1】
在某并发系统中,有一个发送进程A、一个接收进程B、一个环形缓冲区BUFF、信号量Sl和 S2。发送进程不断地产生消息并写入缓冲区BUFF,接收进程不断地从缓冲区BUFF取消息。假设发送进程和接收进程可以并发地执行,那么,当缓冲区的容量为N时,如何使用P、V操作才能保证系统的正常工作。发送进程A和接收进程B的工作流程如图5.5所示。请在图5.5中的空(1)一(4)处填入正确的内容。
【问题2】
若系统中有多个发送进程和接收进程,进程间的工作流程如图5.6所示,其中空(1)~(4)的 内容与图5.5相同。发送进程产生消息并顺序地写入环形缓冲区BUFF,接收者进程顺序地从 BUFF中取消息,且每条消息只能读取一次。为了保证进程间的正常通讯,增加了信号量Sa和sb。 ①请说明信号量sa和sb的物理意义,并在图5.6中的空(5)和空(6)处填人正确的内容。 ②请从图5.6的(a)~(1)中选择四个位置正确地插入P(Sa)、V(Sa)、P(Sb)、V(Sb)。
【问题3】
设系统中只有进程A和进程B,除了互斥地使用CPU和打印机R外,进程A和B不使用其他 资源。另外,进程8的优先级比A高,而进程A先于8准备好。进程A和B的执行情况如图5.7 所示,其中粗实线表示进程在执行中,细实线表示打印机R在使用中(每个进程具有三种状态:运 行、就绪和阻塞)。
清分别说明进程A和B在图5.7所示的t1、t2、t3、t4时刻所处的状态;若是阻塞状态,请说明 阻塞原因。
【问题1】解答:
A进程在进行P操作之前肯定已经产生一条消息,即(1)处。在向缓冲区中写完数据时,需要 修改缓冲区的当前指针。所以(1)产生一条消息(2)i+←(i+1)mod N。
进程B在读取消息之前需要进行P(s2)操作,在读取消息完后,需要今行V(S2)操作,因此 (3)P(S2)(4)V(S2)。
【问题2】解答:
(5)、(6)均填1,Sa和sb分别表示允许同时对缓冲区进行写操作和读操作的进程数量,此时P
(Sa)、V(Sa)、P(Sb)、V(Sb)应分别插入位置(b)、(f)、(h)、(k)。
Sa和Sb也可以分别表示允许同时对缓冲区进行读操作和写操作的进程数量,此时 P(Sa)、V(Sa)、P(Sb)、V(Sb)应分别插入位置(h)、(k)、(b)、(f)。
【问题3】解答:
对于进程A,在t1并口t2时刻等待R工作结束,处于阻塞状态,原因是等待I/0结束,在t3时刻运行,在t4时刻由于不如B的优先级高,因而进入就绪状态。
对于进程8,在t1时刻处于运行状态,在t2时刻由于要使用临界资源R而进入阻塞状态,原因即是等待R资源,在t3时刻,进程8由于等待R工作结束而进入阻塞状态,原因即是等待I/O结束。在t4时刻,CPU被分配给进程8,所以它处于运行状态。
●试题3
阅读下列说明和图,回答问题1至问题4,将解答填人答题纸的对应栏内。
【说明】
通信双方为保障安全,在对传输的数据进行加密的同时,还要对参与通信的实体进行身份认证。此时需要同时使用对称与非对称密钥体系。图5.9描述了接收者B使用非对称密钥体系对发送者A进行认证的过程。
图5.9描述了发送和接收消息的过程,其中的认证过程使用了图5.8中的方法。图5.8中的方框a和方框b与图5.9中的方框a和方框b相同。
图5.9中发送和接收消息的过程是:
(1)发送者A使用与接收者B共享的对称密钥体系的密钥加密将要发送的消息。
(2)为了实现身份认证,A使用与B共享的摘要算法生成消息摘要,并使用公钥密码体系把生成的消息摘要加密后发送给B(这里假设A和B都通过安全的方法获得对方的公钥)。
(3)B使用非对称密钥体系解密收到的消息摘要,使用与A共享的对称密钥体系的密钥解密 加密后的消息,再使用与A共享的摘要算法针对解密后的消息生成消息摘要。
(4)B对比自已生成的消息摘要与接收到的A发送的消息摘要是否相同,从而验证发送者A 的身份。
【问题1】
请在下列选项中选择合适的答案,填人图5.8、5.9的方框a和方框b。
B的公钥,8的私钥,摘要算法,A的私钥,A的公钥,会话密钥
【问题2】
请在下列选项中选择合适的答案,填入图5.9的方框C至方框f。
B的公钥,8的私钥,摘要算法,A的私钥,A的公钥,会话密钥
【问题3】
按照图5.9中的方法发送邮件时,使用不同的密码体制加密消息和消息摘要,请用150字以内 文字简要说明这样做的理由。
【问题4】
请从下面关于摘要函数的说法中选出所有正确的描述。
[a]很容易使不同的输人数据生成相同的输出数据。
[b]根据输入数据获取输出数据的时间非常短。
[C]根据输入数据获取输出数据的时间非常长。
[d]输出数据的长度比输入数据的长度要长。
[e]根据输出数据无法还原出输人数据。
【问题1、2】解答:
方框a:A的私钥
方框b:A的公钥。
方框c:摘要算法
方框d:会话密钥
方框e:会话密钥
方框f:摘要算法
详细解答见问题3
【问题3】解答:
对称密码体制的特点是算法速度快,密钥较短,加密和解密使用相同的密钥,因而适合通信中 对大量的数据进行加密;公开钥密码体制的特点是算法速度慢,密钥较长,加密和解密使用不同的密钥,因而更加安全,用某用户的私钥加密的密文只能用该用户的公开钥解密,同样用该用户的公开钥加密的密文也只能用该用户的私钥解密。
数字摘要算法也称单向散列运算,其运算结果称为哈希值,或称数字摘要。哈希值有固定的长度,运算是不可逆的,不同的明文其哈希值是不同的,而同样的明文其哈希值是相同并且是惟一的.原文有任何改动,其哈希值就要发生变化。数字签名是用私钥对数字摘要进行加密,用公钥进行解密和验证。
使用对称密码体制加密消息的原因是其运算速度快,能够在短时间内处理大量的消息。使用非对称密码体制即公开钥密码体制加密消息摘要的原因是该体制更安全,可以对发送方的身份加以认证。
【问题4】解答:
关于摘要函数的说法中正确的描述是
[b]根据输入数据获取输出数据的时间非常短。
[e]根据输出数据无法还原出输入数据.
●试题4
阅读下列说明和算法,回答问题1和问题2,将解答填人答题纸的对应栏内。
【说明】
算法2一l可以用来检查某文本文件中的尖括号是否匹配。若文件中存在尖括号没有对应的左括号或者右括号,则给出相应的提示信息,如下所示:
文件提示信息
head>缺少对应左括号:第2行,第5列
< top HREF=”+urlresuh+”>>>缺少对应左括号:第3行,第10列
<<
><
缺少对应右括号:第5行,第2列;第4行,第1列
在算法2—1中,stack为一整数栈。算法中各函数的说明见表5.3。
表5.3
函数名 |
函数功能 |
push(int i) |
将整数i压入栈stack中 |
pop() |
stack的栈顶元素出栈 |
isEmpty() |
判断stack栈是否为空。若为空,函数返回1,否则函数返回0 |
nextChar() |
读取文本文件中的下一个字符,并返回该字符的ASCIl值,将字符所 |
type(char ch) |
判断字符ch是左括号还是右括号,若是左括号,函数返回1,若是 |
【算法2—1】
将栈stack置空,置EOF为false
ch<一nextChar();
while(not EOF)
k<一type(CH);
if(k==(1))
push((2));push((3));
else if(k==(4))
if(not isEmpty()) pop();pop();
else
显示错误信息(缺少对应左括号或右括号);
显示行号low;显示列号col;
endif endif ch<一nextChar();
endwhile
if(not isEmpty())
显示错误信息(缺少对应左括号或右括号);
while(not isEmpty())
row<一pop();col<一pop();
显示行号row;显示列号col;
endwhile
endif
为了识别更多种类的括号,对算法2一1加以改进后得到算法2—2。算法2—2能够识别圆括号、方括号和花括号(不同类型的括号不能互相匹配)。改进后,函数type(chat ch)的参数及其对应的返回值见表5.4。
表5.4
ch |
( |
) |
{ |
} |
[ |
] |
其他 |
返回值 |
l |
2 |
3 |
4 |
5 |
6 |
0 |
【算法2—2】
将栈stack置空,置EOF为false
ch<一nextChar();
while(not EOF) k<一type(ch);
if(k>0)
if(判断条件1)
push((5));push((6));push((7));
elseif(判断条件2and判断条件3)
pop();pop();pop();
else
显示错误信息(缺少对应左括号或右括号);
显示行号row;显示列号col;
endif
endif
ch<一nextChar();
endwhile
if(not isEmpty())
显示错误信息(缺少对应左括号或右括号);
while(not isEmpty())
pop();row←pop();col←pop();
显示行号row;显示列号col;
endwhile
endif
【问题1】
请将【算法2—1】和【算法2—2】中(1)~(7)处补充完整。
【问题2】
请从下面的选项中选择相应的判断逻辑填补【算法2—2】中的“判断条件1”至“判断条件3注意,若“判断条件2”的逻辑判断结果为假,就无需对“判断条件3”进行判断。
(a)字符是括号
(b)字符是左括号
(c)字符是右括号
(d)栈空
(e)栈不空
(f)栈顶元素表示的是与当前字符匹配的左括号
(g)栈顶元素表示的是与当前字符匹配的右括号
【问题1】解答:
(1)1 类型为左括号时入栈。
(2)col 先压入col
(3)row 后压入lOW
(4)2 类型为右括号时出栈。
(5)col 先弹出col
(6)row 后弹出row
(7)k
【问题2】解答:
判断条件l:(b)判断字符是否是左括号
判断条件2:(e)栈是否空
判断条件3 1(f)栈顶元素表示的是否是与当前字符匹配的左括号
●试题5
阅读下列算法说明和流程图1,回答问题1至问题3,将解答填入答题纸的对应栏内。
【算法说明】
某旅馆有N问客房。每间客房的房间号、房间等级、床位数以及占用状态分别存放在数组 ROOM、RANK、NUM和STATUS中。房间等级值为1、2或3。房间的状态值为0(空闲)或1(占用)。客房是以房间(不是床位)为单位出租的。
本算法根据几个散客的要求预订一间空房。程序的输入为:人数M,房间等级要求R(R=0表示任意等级都可以)。程序的输出为:所有可供选择的房间号。
流程图1描述了该算法。
【问题1】
假设当前该旅馆各个房间的情况见下表所示。
表5.5
序号i |
ROOM |
RANK |
NUM |
STAATUS |
1 |
1001 |
3 |
5 |
0 |
2 |
1002 |
3 |
4 |
1 |
3 |
2001 |
2 |
6 |
0 |
4 |
2002 |
2 |
4 |
1 |
5 |
3001 |
1 |
5 |
O |
当输入M=3,R=2时,该算法的输出是什么?
【问题2】
如果等级为r的房间每人每天的住宿费为FEE(r),FEE为数组。为使该算法在输出每个候选的房问号RM(J)后,再输出这批散客每天所需的总住宿费SUM(J),流程图1的b所指框处应增加什么处理?
【问题3】
如果限制该算法最多输出S个可供选择的房问号,则在流程图1的a所指的判断框应改成什么处理?
【流程图l】(如图5.10所示)
【问题1】解答:
算法求满足要求的房间数,根据要求,满足人数为3,等级为2的房间只有4,因此输出2002。
【问题2】解答:
房间的费用是由房间的等级和房间所住客人的数量决定的,所以在b处应该增加: FEE(RANK(1))*M→SUM(j)
【问题3】解答:
只需要增加限制房间的语句即可,a框可改为:I>NI I J>S。
●试题6
阅读以下说明和流程图,回答问题1至问题3,将解答填人答题纸的对应栏内。
【说明】
某电信局受理了许多用户申请在指定电话上开设长话业务。长话包括国内长途和国际长途。电信局保存了长话用户档案和长话业务档案。
长话用户档案的记录格式为
用户编码 |
用户名 |
用户地址 |
长话业务档案的记录格式为
电话号码 |
用户编码 |
国内长途许可标志 |
国际长途许可标志 |
电话用户每次通话的计费数据都自动地记录在电信局程控交换机的磁带上。计费数据的记录格式为
日期 |
电话号码 |
受话号码 |
通话开始时间 |
通话持续时问 |
该电信局为了用计算机自动处理长话收费以提高工作效率,开发了长话计费管理系统。该系统每月能为每个长话用户打印出长话缴费通知单。长话缴费通知单的记录格式为
用户名 |
用户地址 |
国内长途话费 |
国际长途话费 |
话费总额 |
该系统每天对原始的计费数据进行分类排序,并确定每个通话记录的通话类型(市话/国内长途/国际长途),再根据话费单价文件算出每个通话记录应收取的话费。因此,形成的日计费文件中,增加了两个数据项:通话类型和话费。该系统每日对日计费文件进行累计(按电话号码和通话类型,对该类型的话费进行累计,得到该电话号码该通话类型的当月话费总计),形成月计费文件。
月计费文件经过长话出账处理形成长话账单文件。长话账单文件的记录格式为
月份 |
用户编码 |
电话号码 |
国内长途话费 |
国际长途话费 |
话费总额 |
【问题1】
(1)请说明流程图中的文件R0、R1分别是哪个档案文件。
(2)处理l和处理5分别按照哪些数据项进行分类?
【问题2】
处理4能发现哪些错误(不需考虑设备故障错误)?
【问题3】
说明处理6的功能。
【流程图】(如右下图所示)
【问题1】答案:
(1)R0是长话业务档案,R1是长话用户档案。
(2)处理1:电话号码;处理5:用户编码。
解析:R0用作处理4中。用来生成长话账单文件;根据试题说明。月计费文件中含有各种通话类型的话费,所以处理4的功能是将长话话费从月计费文件中分离出来,并进行数据的验证,由此可知,R0是长话业务档案。
R1用作处理6中,用来生成缴费通知单;根据试题说明,用户编码是用户在系统中的唯一标识,所以应该先将长话账单文件按照用户编码进行分类,由此可知。R1是长话用户档案。
【问题2】答案:
处理4可能发现的错误:
(1)在长话业务档案中找不到对应月计费文件中电话号码的用户编码。
(2)某电话号码的月计费文件中有国内长途通话话费,而他的国内长途许可标志却不许可。
(3)某电话号码的月计费文件中有国际长途通话话费,而他的国际长途许可标志却不许可。
【问题3】答案:
处理6完成的功能是:对长话账单文件中的每条记录,根据用户编码查询长途电话用户档案,找到相应的用户名和地址,生成长话缴费通知单。
●试题7
阅读以下说明和流程图3,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
(1)工作流(WorkFlow)的概念起源于生产组织和办公自动化领域,提出的目的是通过将工作分解成定义良好的任务、角色,按照一定的规则和过程来执行这些任务并对它们进行监控,达到提高工作效率、降低生产成本、提高企业生产经营管理水平和企业竞争力的目标。工作流包括两个方面:①由人或程序进行的任务或行为(即工作);②这些任务或行为之间的关系(即流程)。
(2)工作流的基本元素包括:
①工作流对象:在系统中流动的文档、表单、事件或消息。工作流对象有相应的起始点和终止点。工作流对象激发了一个工作流。
②角色:产生行为或接受行为的人或机构/部门。
③路由:在工作流中,工作流对象的起始点,中间点和终止点。工作流对象会在各个角色之问流动。
④规则:决定工作流对象路由的原则或条件。
(3)某公司向客户交付系统产品后,由技术支持部门负责向客户提供技术服务。该技术支持部门的业务流程如下:
①当该技术支持部门接到一个客户问询电话时,由客户服务代表(CSR)接听该电活。客户服务代表根据客户问询内容产生一份服务请求文件,并开始解决客户提出的问题。
②若客户服务代表解决了客户提出的问题,这份服务请求文件被标记为“已解决”。
③如果客户服务代表在2个小时内未能解决这个问题,客户服务代表将服务请求文件转交给技术支持代表(TSR)处理。
④如果技术支持代表也无法解决这个问题,他/她邀请助理工程师(ENGR)来一起处理这个问题。 ⑤若助理工程师解决了这个问题,该服务请求文件被标记为“已解决”。
⑥若技术支持代表和助理工程师认为,是由于系统的错误引起的问题,则告知客户该问题目前无法解决,并把服务请求文件转交给本公司的工程部门处理。
⑦对已经解决的服务请求,每个月底进行一次归档(放入归档数据库)。
【问题1】
为了描述该技术支持部门的业务流程,首先需要确定工作流的各个基本元素。请按表5.6写出工作流对象以及对应的起始点、终止点和该工作流中的所有角色。
表5.6
工作流基本元素 |
描述 |
工作流对象 |
|
起始点 |
|
终止点 |
|
角色 |
(1)清按表5.7写出描述该技术支持部门的工作流的路由和规则。
表5.7
路由 |
规则 |
【问题3】
通常,描述一组活动及其他们之间相互连接关系的模型称为过程模型。如本题描述该技术支持部门的业务流程的模型就是一个过程模型。请说明过程模型与工作流模型的主要区别及应用场合。
【流程图3】(如图5.12所示)
【问题1】答案:
表5.8
工作流基本元素 |
描述 |
工作流对象 |
服务请求文件 |
起始点 |
CSR接到客户电话,产生服务请求文件 |
终止点 |
服务请求文件标记为“已解决” |
角色 |
CSR、TSR、ENGR |
解析:工作流对象:在系统中流动的文档、表单、事件或消息。因此本小题的工作流对象是文档服务请求文件。角色:产生行为或接受行为的人或机构/部门。题目中给出的业务处理流程图是技术支持部门的,因此角色可以不考虑工程部门。
【问题2】答案:
表5.9
路由 |
规则 |
CSR至TSR |
CSR在2个小时内未能解决客户问题 |
TSR至ENGR |
技术支持代表也无法解决客户问题 |
CSR、TSR、ENGR至归档库 |
客户的服务请求已解决,而且到了月底 |
【问题3】答案:
过程模型与工作流模型的区别是:过程模型不要求计算机来执行,而工作流模型目的在于实现业务过程自动化,需要计算机来执行。工作流模型目前主要应用于办公自动化领域,用于业务流程的分析、设计和实现;过程模型广泛地应用于各种应用领域,主要用来进行分析与设计。
●试题8
阅读下列说明和流程图,回答问题1—3,把解答写在答卷的对应栏内。
【说明】
现有一段经过预处理的正文,流程图的功能是对它进行排版输出。
假定:预处理后的正文存放在字符串S中,s由连续的单词组成,单词由连续的英文字母组成。在预处理过程中已产生以下信息:
变量NW存放正文中单词的个数,数组元素SL(1)存放正文中第1个单词在S中的字符位置,SN(1)存放正文中第l个单词的长度。规定s中的字符位置从1开始计数,每个字符占一个位置。字符串s中的某个单词可用如下的子串形式来存取:
S(单词起始位置:单词终止位置)
并规定在对字符串(或子串)赋值时,赋值号两端的字符串(或子串)长度必须相等。 排版输出的要求如下:
(1)每行输出80个字符;
(2)一个单词不能输出在两行中;
(3)除最后一行外,所有输出行既要左对齐又要右对齐。即每行的第一个字符必须是某个单词的第一个字母,最后一个字符必须是某个单词的最后一个字母;
(4)单词之问必须有1个或1个以上的空格;
(5)最后一行只须左对齐,且单词之间均只有一个空格;
(6)使字格尽可能地均匀分布在单词之间,即同一行中相邻的单词间的空格数最多相差1。
假定正文中至少有两个以上单词,每个单词的长度均小于40。此外,流程图中省略了数据的输入部分。图中[w]表示不超过W的最大整数。
【问题1】
填充流程图中的①~⑥,使之成为完整的流程图。
【问题2】
图中的“输出末行”框未经细化。如果将图中的粗线部分复制到“输出末行”框上,那么复制部分应作怎样的修改?可用图中所标的a,b,…,j来回答,例如a改成1→I:删除b。
【问题3】
如将图中开始部分的SN(1)→LN改成0→LN;2→I改成1→I,则修改后的流程图是否正确。
【流程图】
【问题1】答案:
①LN+l+SN(1)→LN
②LNl→LN
③≥④<
⑤K+1+LNW+SN(J)
⑥SN(1)→LN
【问题2】答案:
将图中的粗线部分复制到“输出末行”框上,那么复制部分应作如下修改:
删去f,g,h框,将e改成K+1+SN(J)→K
【问题3】答案:
不能,否则将得到错误的预处理正文。
●试题9
阅读下列说明和流程图,回答问题1至问题3,将解答写在答卷的对应栏内。
【说明】
下面的流程图描述了某市电信公司数据通信专线计费业务管理系统的部分处理流程。
1.凡申请专线者,均需填写专线申请表。系统把申请表存储在专线申请登记文件中,等待分配专线号。
2.系统为申请者指定专线号,并根据通信距离(按地区计算)、通信速率计算初装费和月租费,然后发初装通知单给用户,并产生施工单交有关部门施工。同时产生专线处理文件。专线号是专线的唯一标识。
3.施工结束后,系统更新用户文件。并产生专线计费文件,作为以后收费的依据。
4.一个用户可以租用多条专线,用户可用现金或银行托付两种方式支付租金,但一个用户只能使用一种付款方式。系统每月按用户(而不是专线)为单位计费出帐。
5.流程图中各数据文件及有关单据所含的数据项如下:
专线申请表及专线申请登记文件:
用户名称,付款方式,开户银行代码,帐号,主端名称,主端地址,申请号,对端地址,端所在地 区,通信速率,没备接门,申请日期
专线处理文件:
申请号,专线号,用户名称,付款方式,开户银行代码,帐号,初装费,月租费,完工日期初装费 收据:专线号。初装费,交费日期
施工单:
施工单号,专线号,主端名称,主端地址,对端地址,对端所在地区,通信速率,设备接口,申请 日期,施工期限完工单:施工单号,专线号,完工日期
用户文件:
用户编号,用户名称,付款方式,开户银行代码,帐号
专线计费文件:
专线号,用户编号,月租金,开通目期
【问题1】
专线价目文件由哪些数据项组成。
【问题2】
为了避免在用户尚未支付初装费时就去施工,有人提议将图中从处理2产生施工单改成从处理3产生施工单。试问从处理3能否产生施工单?为什么?
【问题3】
当一个用户租用多条专线时,若允许该用户对其中的一些专线采用现金支付,对另一些专线采用银行托付方式,则在尽量减少数据冗余的前提下,应如何调整有关的数据文件。
【流程图1】
【问题1】答案:
专线价目文件的组成为:对端所在地区,通信速率,初装费,月租费。
【问题2】答案:
不能,因为处理3的输入文件及单据中缺少施工单位所需的主端名称,主端地址,对端地址,对端所在地区,通信速率,设备接口等数据项。
【问题3】答案:
在专线计费文件中加上付款方式数据项,取消用户文件中的付款方式数据项。