中学生作文 语文教案 高考作文 文言文翻译 新课程改革 说课稿 诗歌散文欣赏 中考高考应考对策 语文教学论文之二 语文教学论文之三
语文教学论文之四 小学语文论文 小学语教案文 小学语文试题 小学生园地 文学欣赏 小学教师园地 小学语文课件 语文试题 数学试题
化学试题
物理试题 历史试题 政治试题 英语试题 生物试题 地理试题 其它教案 语文教案 数学教案 化学教案 物理教案
历史教案 政治教案 英语教案 生物教案 地理教案

HomeArticle        > 软件设计师(高程)      

> 轻松应对高程软件设计题


  文章内容
 

轻松应对高程软件设计题


 
 


  根据软件水平与资格考试大纲的要求,高级程序员不仅要具备高水平的程序编制能力,而且要熟练掌握软件设计的方法和技术,具备一定的软件设计能力。软件设计题是下午试题的难点,本文针对软件设计题,给出了解答的一般方法,并且给出了解答实例,最后对历年试题进行了分析,希望能够给广大考生提供帮助。


  解题的一般方法


  一、软件设计题要点

  综观1990年到2002年的高程下午设计题,主要包括以下考点:

  1. 完善处理流程,或指出处理内容,或指出处理结果。

  2. 指出流程图中错误,或为避免错误应在某处添加处理项目。

  3. 为达到某目的,需要改动哪些处理,或改变处理方法会引起什么后果。

  4. 指出错误清单内容。

  5. 文件的记录应包含哪些内容。

  6. 完成处理需要什么样的文件,或文件有什么特征,或引入某文件有什么好处。

  7. 文件怎样分类,或指出关键字。

  8. 某处理的频度。

  9. 输入数据的格式。

  10. 题意中的分类有何好处。

  11. 为实现某目的适当修改文件的记录内容。

  12. 指出图中数据流名,或指出哪些位置数据可增加或删去。

  考点最集中的部分是关于文件记录的内容,其次是文件的分类排序,再次是当目的改变应该改动哪些。

  二、答题注意事项

  事务处理流程图一般由若干处理与若干数据组成,在评估流程图并回答试题的问题时,应该注意下面一些问题。

  从“处理”的角度来说,必须注意:

  1. 每个事务处理均有一个特定目标,这一目标往往都是文字说明的。与此对应的处理应能覆盖所设定的目标。对于说明处理要求,都应从问题目标进行考虑。

  2. 除覆盖问题目标的处理外,还有两类处理应予考虑:一是为了保证处理的正确性,设计一些处理框,以检查输入数据的数据项及数据的值域;另一种是检查数据会合时数据的一致性。二是为了处理的效率,如速度、次数、减少处理访问等而引进了一些处理。

  3. 在一个流程图内,在一条流程上的各个处理不能有功能上的重复。如有重复,不是有错,就是流程还可优化。

  4. 每个处理都是由“处理的依据”到“使用数据”,以及从“处理结果”到“产生数据”。“使用数据”或者“产生数据”与处理相互匹配是十分重要的。

  从“数据”的角度来说,必须注意:

  1. 注意流程图最初的输入数据与最终输出数据,考虑从输入到输出之间数据演变的情况。根据数据的演变与流程,关于从输入到输出应有哪些数据就比较清楚了,其作用也可以从演变方面了解。

  2. 考虑数据流程中,哪些数据应作为文件形式出现,哪些是中间使用的临时数据。在数据演变中,一些数据经多个“处理”加工后得到结果,每加工一次就产生一个新数据,对这些数据分析,就能得出各数据的存储要求。

  3. 对数据按问题要求设计数据结构。输入(输出)数据的结构与问题有关,而中间数据的结构除与输入(输出)数据有关外,还与处理有关。

  4. 为减少数据冗余,要保证数据一致性,数据文件设计中应考虑关系,亦即各种文件的记录之间的联系。

  ★解答实例


  2000年试题3:阅读以下说明和流程图(如图1~图4所示),回答问题1和问题2。


  【说明】


  某供销系统接受顾客的订货单。当库存中某配件的数量小于订购量或库存量低于一定数量时,向供应商发出采购单;当某配件的库存量大于或等于订购量时,或者收到供应商的送货单并更新了库存后,向顾客发出提货单。该系统还可随时向总经理提供销售和库存情况表。该供销系统的分层数据流图中部分数据流和文件的组成如下:


  文件


  配件库存=配件号+配件名+规格+数量+允许的最低率库存量


  数据流


  订货单=配件号+配件名+规格+数量+顾客名+地址

  提货单=订货单+金额

  采货单=配件号+配件名+规格+数量+供应商名+地址

  送货单=配件号+配件名+规格+数量+金额

  假定顶层图是正确的,“供应商”文件已由其他系统生成。

  问题1:指出哪张图中的哪些文件可不必画出。


  图1 顶层图

  问题2:指出哪些图中遗漏了哪些数据流。

  回答时用如下形式之一:

  1. 图中遗漏了××加工(或文件)流向××加工(或文件)的××数据流;

  2. 图中××加工遗漏了××输入(或输出)数据流。


  【解析】


  首先阅读试题说明,明确供销系统的基本结构。基本结构如顶层图(图1)所示,供销系统与顾客、供应商和总经理之间交换数据。供销系统接受顾客的订货单,反馈不合法的订货单,并在适当的时机向顾客发出提货单;供销系统向供应商发出采购单,接受送货单,并反馈不合法的送货单;在以上购销操作的基础上,该系统接受总经理的查询并返回销售及库存情况表。

  问题1要求指出哪张图中的哪些文件是不必画出的。这是一个难度较高的要求。首先,它要求仔细研究每一张图,确认每张图中每个文件是否必须画出;其次所谓“不必画出”,其含义是该文件画出也不会导致该流程图发生错误,但不画出该文件将使整个流程图的层次结构更科学、更清晰。一般来说,如果一个元素(文件如数据流等)只用于一个加工,那么它就不必在其上层流程图中画出。但试题说明中只假定了顶层图的正确性,对于其他流程图,我们首先要确定它们是否完整、是否正确。


  图2 0层图

  顶层图简单明了,甚至没有涉及任何文件,因此我们可以跳过顶层图不予考虑,直接研究0层图(图2)。0层图涉及3个文件,即配件库存、缺货订单和采购清单。这里缺货订单和配件库存都在销售和采购两个加工中使用,而采购清单只用于采购加工,似乎应该判断采购清单是不必画的,但在各个加工子图中,有可能发生文件、数据流、加工的遗漏或错画,影响我们在此处的判断。因此,只有通过仔细研究以上3个文件在各个加工子图中的应用来印证我们的判断。

  首先看配件库存文件。在加工1子图(图3)中,配件库存文件经过加工1.4更新库存而修改,然后还要为加工1.1和加工1.2提供数据支持,在加工1.1中,通过检查订货单中订购的配件在配件库存中是否有记录,来确定该配件是否属于经销范围,然后以此来确定订货单是否合法。其次,还要在加工1.2中比较合法订货单的数量与库存数量,以此确定是否需要发出采购请求。再次,在发出提货单后,如果库存量低于允许的最低库存量,也要发出采购单。可以看出,在该加工图中,未发现对配件库存文件的不适当的使用。


  图3 加工1子图


  图4 加工2子图

  在加工2子图(图4)中,在加工2.4核对送货单后要更新库存文件然后加工2.3计算增量提供数据支持,计算出需要采购的配件的数量。应该说这里对配件库存文件的使用是正确的。因此我们可以确定配件库存文件在加工1和加工2中都有应用,画在0层图中是合适的。

  缺货订单文件在试题说明中没有提到,具体的应用需要我们自己分析。0层图中显示该文件被加工1和加工2使用。现在的任务就是确定两个加工中对该文件的使用是正确的。在加工1中缺货订单的数据来自加工1.2和加工1.4,在加工1.2中,接受合法的订货单后,如果订货单上数量大于配件库存文件的数量,将产生缺货订单文件。在加工1.4中,在有货订单送达后,需要交出提货单,然后更新库存。如果库存量低于允许的最低库存量,应该将缺货信息反映到缺货订单中。在加工2中,缺货订单为加工2.3提供部分数据支持,在计算配件增量以明确需要增加的配件的清单时,需要参照缺货订单。结合以上对使用缺货订单文件的分析,可以认为,因此将该文件画在0层图中是有必要的。

  上期我们分析了配件库存文件和缺货订单文件,再来看采购清单。

  0层图显示该文件只应用于加工2。采购清单如果只应用在加工1中,最有可能的地方是加工1.2及其后的采购请求数据流,但在这里采购清单是有必要的吗?从加工2中可以看出,采购清单是按供应商对采购单进行汇总来产生的,对采购单进行汇总,显然已经属于加工2的工作,不应在加工1中予以反映。由此可以断定在加工1中不应该有采购单文件。所以在0层图中画采购清单是不合适的。

  以上考查了0层图、加工1子图和加工2子图中缺货订单、配件库存及采购清单的使用,下面研究加工1中的销售历史文件。如果没有该文件支持,加工1.3是无法制作销售及库存情况表的;而且该文件由加工1.4更新库存产生,其输入数据流和输出数据流均在加工1中,在加工1中使用该文件是合适的。

  问题2要求指出哪些图中遗漏了哪些元素。一般来说,这类题目的解答首先要考虑各层次图的数据平衡,其次要考虑加工的输入数据流和输出数据流要平衡,即保证加工的输出数据流都有其对应的输入数据流。所谓数据平衡,就是在多层次数据流程图中,父图和子图之间的数据流必须保持一致,比如说在父图中某加工有2个输入数据流和一个输出数据流,那么在该加工的子图中的输入(输出)数据流必须在数目上和内容上与父图保持一致。

  在顶层图中,供销系统的3个输入数据流(订货单、送货单与销售及库存情况)和5个输出数据流(不合法的订货单、不合法的送货单、提货单、采购单与销售及库存情况表)在0层图中都得到反映。考查0层图中所有的输入数据流和输出数据流,是否有遗漏的加工呢?在顶层图中总经理的查询是单独的加工,但在0层图中却给包括到加工1中去了,成为加工1.3,其输入或输出数据流也都包括在该加工中。考查加工1子图,加工1.3包含在加工1中是科学的,因为该加工需要来自加工1数据支持,且事务简单,包含在加工1中可以大大减小系统分析和设计的复杂程度。因此不能说0层图遗漏了加工。至于文件,在0层图中凡是需要文件的地方都是从文件输入的,未发生遗漏现象。

  仔细研究0层图,大体上确定加工1有3个输入数据流(订货单、到货通知和查询销售及库存情况),加工1子图中只有订货单与查询销售及库存情况两个数据流,显然遗漏了输入数据到货通知,该数据流应该从哪个子加工输入呢?看试题中的说明“收到供应商的送货单并更新了库存后,向顾客发出了提货单”。据此至少可以判定输入数据流到货通知是子加工1.4更新库存的前提条件,没有到货通知,就无法更新库存。是直接输入加工1.4吗?再看子加工1.4与其他子加工的关系。子加工1.5输出数据流的去向是子加工1.4。而子加工1.5需要到货通知的支持,但从子加工1.4到子加工1.5却没有数据流。综合以上分析,应该在子加工1.5处输入数据流到货通知。

  考查0层图,加工1有不合格订货单、销售及库存情况表、提货单与采购请求4个输出数据流。但在加工1子图中,却没有输出数据流提货单,这显然是不符合数据平衡原则的。但该数据流应从何处输出呢?根据试题说明,在更新库存后应向顾客发出提货单。显然这里合适的位置是子加工1.4。

  在0层图中加工2有3个输出数据流,分别是采购单、不合格送货单与到货通知。在加工2子图中这3个输出数据流都有反映,因此可以确定在加工2子图中没有遗漏输出数据流。在0层中,加工2有两个输入数据流(送货单与采购请求),显然加工2子图中遗漏了输入数据流采购请求,问题是该数据流从哪个子加工输入。

  子加工2.4的任务是核对送货单,显然采购请求不应该在这里输入;那么在子加工2.1、子加工2.2和子加工2.3中,究竟应该在何处输入采购请求数据流呢?如果在子加工2.2中输入,则由子加工2.1到子加工2.2数据流按配件清单必将是不完全的,因为这样只计算了缺货订单上需要的配件数量。所以,只能从子加工2.3输入采购请求。

  接着看加工1子图和加工2子图中的各个子加工,看它们的输入数据流和输出数据流是否平衡。子加工1.1、1.2、1.4、1.5和子加工2.1、2.2、2.3、2.4都没有问题,只有子加工1.3,其输出是销售及库存情况表,但在图中该子加工只从文件销售历史中输入数据,销售历史中显然不包含反映库存情况的数据,因此我们可以断定,加工1子图中遗漏了从文件配件库存到子加工1.3的数据流。

  【答案】

  [问题1]:0层中的 “采购清单”不必画出。

  [问题2]:加工1子图中遗漏了“配件库存”文件到1.3加工的数据流。加工1子图中1.4加工遗漏了“提货单”输出数据流。加工1子图中1.5加工遗漏了“到货通知”输入数据流。加工2子图中2.3加工遗漏了“采购请求”输入数据流。



 
State

学科试题测试
教学知识小品
教学心得随笔之一
教育教学论文
教学设计教案
教学心得随笔之二
教学心得随笔之三
工科论文
管理学论文
公共管理论文
经济学论文
法律论文
政治学论文
会计审计论文
艺术论文
其它类论文
证券金融论文
论文指导
财政税收论文
工商管理论文
财务管理论文
计算机论文
医学论文
哲学论文
教育论文
少儿英语
综合英语
考研&MBA
国内考试
企业法律顾问
小语种
出国考试
学习顾问
IT培训
管理培训
商务英语
会计考试
英语考试
司法考试
英语口语
导游员考试
自学考试
公务员考试
报关员考试
CET考试综合信息
CET四级考试
CET六级考试
PETS考试
等级考试综合信息
计算机等级一级考试
计算机等级二级考试
计算机等级三级考试
计算机等级四级考试
全国计算机NIT考试
软考试综合信息
数据库系统工程师
网络管理(程序)员
程序员级
网络设计师
软件设计师(高程)
系统分析师
 


Copyright www.schoolscn.com All rights reserved. ICP备05047758号