问答题

【说明】
某考务处理系统具有以下功能:
(1)输入报名单;
(2)自动编制准考证号;
(3)输出准考证;
(4)输入成绩清单;
(5)输出成绩通知单;
(6)输出成绩分布表;
(7)输入合格标准、输出录取通知单;
(8)试题难度分析,并输出试题难度分析表。
这里给出了实现上述要求的部分不完整的数据流图,其中部分数据流的组成如下所示。
报名单=报名号+姓名+通信地址
考生名册=报名号+准考证号+姓名+通信地址
成绩册=准考证号+(课程号+成绩)(其中W表示W重复多次)
准考证=报名号+姓名+准考证号


【问题1】
指出0层图中可以删去的部分。
【问题2】
在加工1子图中将遗漏的数据流添加在答题纸上。
【问题3】
加工2子图分解成如图所示的4个子加工及相关的文件(即数据存储)。试在此基础上将相关的DFD成份添加在答题纸上,以完成该加工子图。

【参考答案】

【问题1】
成绩册文件可删。
【问题2】
补充后的加工1子图如下所示。

【问题3】
完成后的加工2子图如下所示。
热门 试题

问答题
【说明】 类Queue表示队列,类中的方法如下表所示。 isEmpty() 判断队列是否为空。如果队列不为空,返回true;否则,返回false enqueue(Object newNode) 入队操作 dequeue() 出队操作。如果队列为空,则抛出异常 类Node表示队列中的元素;类EmptyQueueException给出了队列操作中的异常处理操作。 public class TestMain 主类 public static viod main (String args[]) Queue q=new Queue(); q.enqueue( first! ); q.enqueue( second! ); q.enqueue( third! ); (1) while(true) System.out.println(q.dequeue()); catch( (2) ) public class Queue 队列 Node m_FirstNode; public Queue()m_FirstNode=null; public boolean isEmpty() if(m_FirstNode==null)return true; else return false; public viod enqueue(Object newNode) 入队操作 Node next=m_FirstNode; if(next==null)m_FirstNode=new Node(newNode); else while(next.getNext()!=null)next=next.getNext(); next.setNext(new node(newNode)); public Object dequeue() (3) 出队操作 Object node; if (isEempty()) (4) ; 队列为空, 抛出异常 else node=m_FirstNode.getObject(); m_FirstNode=m_FirstNode.getNext(); return node; public class Node 队列中的元素 Object m_Data; Node m_Next; public Node(Object data) m_Data=data; m_Next=null; public Node(Object data, Node next) m_Data=data; m_Next=-next; public void setObject(Object data) m_Data=data; public Object getObject(Object data) return m_data; public void setNext(Node next) m_Next=next; public Node getNext() return m_Next; public class EmptyQueueException extends (5) 异常处理类 public EmptyQueueException() System.out.println( 队列已空! );