问答题

【说明】 某考务处理系统具有以下功能: (1)输入报名单; (2)自动编制准考证号; (3)输出准考证; (4)输入成绩清单; (5)输出成绩通知单; (6)输出成绩分布表; (7)输入合格标准、输出录取通知单; (8)试题难度分析,并输出试题难度分析表。 这里给出了实现上述要求的部分不完整的数据流图,其中部分数据流的组成如下所示。 报名单=报名号+姓名+通信地址 考生名册=报名号+准考证号+姓名+通信地址 成绩册=准考证号+(课程号+成绩)(其中{W}表示W重复多次) 准考证=报名号+姓名+准考证号
【问题1】 指出0层图中可以删去的部分。 【问题2】 在加工1子图中将遗漏的数据流添加在答题纸上。 【问题3】 加工2子图分解成如图所示的4个子加工及相关的文件(即数据存储)。试在此基础上将相关的DFD成份添加在答题纸上,以完成该加工子图。

【参考答案】

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

(↓↓↓ 点击下方‘点击查看答案’看完整答案 ↓↓↓)
热门 试题

问答题
【说明】 类Queue表示队列,类中的方法如下表所示。isEmpty()判断队列是否为空。如果队列不为空,返回true;否则,返回falseenqueue(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( 队列已空! ); }}