• 网络学院
  • IT资讯
  • 操作系统
  • 网络技术
  • 软件应用
  • 办公软件
  • 编程技术
  • 网站架设
  • 数据库类
  • 平面设计
  • 多媒体类
  • 游戏资讯
  • 教学论文
  • 认证考试
轻松应对高级程序员软件设计题
  站点:
  • 首 页
  • 最新软件
  • 文章教程
  • 国内软件
  • 国外软件
  • 绿色软件
  • 源码下载
  • 字体下载
轻松应对高级程序员软件设计题
软件发布 轻松应对高级程序员软件设计题
网络软件 系统工具 应用软件 联络聊天 图形图像 多媒体类 行业软件 游戏娱乐 编程开发 安全相关 教育教学 数码软件 绿软下载
热门软件: QQ 瑞星 pplive e话通 木马克星 千千静听 office2000 五笔字根 Photoshop 视频分割
返回文章教程首页 >> 文章首页 >> 认证考试 >> 程序员 >> 轻松应对高级程序员软件设计题

轻松应对高级程序员软件设计题

添加时间: 2007-4-9 0:32:23  作者: 程序员认证参考  阅读次数:16   来源: http://www.d9soft.com

       

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

 解题的一般方法 
  一、软件设计题要点
  综观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和问题2。
【说明】
  某供销系统接受顾客的订货单。当库存中某配件的数量小于订购量或库存量低于一定数量时,向供应商发出采购单;当某配件的库存量大于或等于订购量时,或者收到供应商的送货单并更新了库存后,向顾客发出提货单。该系统还可随时向总经理提供销售和库存情况表。该供销系统的分层数据流图中部分数据流和文件的组成如下:
文件
  配件库存=配件号+配件名+规格+数量+允许的最低率库存量
数据流
  订货单=配件号+配件名+规格+数量+顾客名+地址
  提货单=订货单+金额
  采货单=配件号+配件名+规格+数量+供应商名+地址
  送货单=配件号+配件名+规格+数量+金额
  假定顶层图是正确的,“供应商”文件已由其他系统生成。
[问题1] 
    指出哪张图中的哪些文件可不必画出。
[问题2]
    指出在哪些图中遗漏了哪些数据流。回答时用如下形式之一。
    (1) x x 图中遗漏了 x x 加工 (或文件) 流向 x x 加工 (或文件) 的 x x 数据流;
    (2) x x 图中 x x 加工遗漏了 x x 输入 (或输出) 数据流。

[流程图]
顶层图

  在顶层图中,供销系统的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处输入数据流到货通知。

    首先看配件库存文件。在加工1子图(图3)中,配件库存文件经过加工1.4更新库存而修改,然后还要为加工1.1和加工1.2提供数据支持,在加工1.1中,通过 检查 订货单中订购的配件在配件库存中是否有记录,来确定该配件是否属于经销范围,然后以此来确定订货单是否合法。其次,还要在加工1.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层图中是有必要的。

 

上下文章:

 

上一篇文章: 高级程序员级考试大纲 下一篇文章: DirectX8.0简介(5)

相关文章:

  • 卡巴斯基全功能安全软件2009白皮书
  • Linux之父:最烦安全人士大肆宣扬软件漏洞
  • 趋势科技:杀毒软件不可能永远免费
  • 金山软件7.28毒报:匿名下载器下载木马
  • 金山软件7.15毒报:脚本下载器下载远程病毒

相关软件:

  • 胜新通用条形码设计打印系统 6.09
  • 光华反手机病毒软件 S60智能手机(英文版) E60
  • 光华反手机病毒软件 S80/90智能手机 C80
  • 光华反手机病毒软件 S80智能手机(英文版) E80
  • LSC企业监控软件 3.0
  • 佳宜采购管理软件 2.08 SQL网络版

 

快速导航

  • 网络学院
  • 精品汇聚
  • 字体下载
  • 教程下载
  • ASP源码
  • PHP源码
  • Net源码
  • JSP 源码

认证考试分类导航

  • 微软认证
  • 计算机等级考试
  • 软件水平考试
  • 思科认证
  • Oracle认证
  • Linux认证
  • JAVA认证
  • 网络工程师
  • 系统工程师
  • 程序员

本类经典文章推荐

  • 软考系统分析师考试须知
  • C++箴言:绝不在构造或析构期调用...
  • 数据结构:判别是否为二叉排序树的...
  • 一个程序员的成长的六个阶段
  • 程序员英语试题常见硬件名和设备名
  • 从一个程序出发详细研究DataReader
  • 如何判断程序处于运行环境还是调试...
  • 程序高手必读:写好C程序的10条秘...
  • 程序员介绍:程序员的“素质”是什...
  • C++箴言:让=返回一个*this的引用

程序员阅读排行

  • 数据结构:判别是否为二叉排序树的...
  • VC++动态链接库(DLL)编程深入浅出...
  • VC++动态链接库(DLL)编程深入浅出...
  • 程序员考试:证书样本
  • 补码加、减运算规则及溢出判断
  • 数据结构:栈和递归求两顶点所有简...
  • DirectX8.0简介(8)
  • 水滴石穿·C语言之代码检查工...
  • 数据结构:打印线索二叉树的中序遍...
  • DirectX8.0简介(3)

认证考试阅读总排行

  • 全国计算机等级考试一级模拟试题01
  • 全国计算机等级考试一级模拟试题10
  • 全国计算机等级考试一级模拟试题08
  • MCSD简介
  • 全国计算机等级考试一级考试最新模...
  • 全国计算机等级考试一级模拟试题07
  • 全国计算机等级考试一级模拟试题02
  • 全国计算机等级考试一级模拟试题06
  • 全国计算机等级考试一级模拟试题03
  • 一级(WINDOWS)试题解析-Word篇

广告位置

字母检索 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 回到顶部

关于我们 | 版权声明 | 免责条款 | 广告联系 | 软件发布 | 下载帮助 | 下载排行 | 网站地图 | 特别鸣谢 | 友情连接

copyright; 2005-2008 D9soft.com 第九软件网 版权所有