软件设计师下午试题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

认识软件设计师下午试题

随着模块化试题的发展,软件设计师的下午试题题型基本固定,重点突出,便于考生有针对性地复习。

1、分值分布:软件设计师下午试题总分75分,每题15分,要求考生应答五道试题。其中前四题为必做题,占据60分,后面几题由考生根据自己的情况选做一题,合计75分。

2、考试题目数量:根据考试大纲要求,要求考生掌握C语言和C++、Java中的一种面向对象的程序语言。往年必做题有四道题,选做题有三道题,分别为C语言题、C++题和Java 题,整个卷面共七道题。由于考试中许多考生在选做题中只选C语言题应答,对不会或不熟C++和Java语言的考生来说,一样可以应考,这与软件设计师考试大纲的要求是相背离的。因此,2010年5月软件设计师下午试题中,必做题数量不变,选做题里去掉了C语言题,即选做题为二道题,整个卷面共六道题。这样,考生在选做题中就只能在C++和Java中选择一题来作答,达到了考试大纲所要求的掌握一门面向对象的程序设计语言目的。

3、考点总结:从历届考题来看,考点如下表所示

第一题:数据流图

数据流图简称DFD图。是结构化分析方法(SA)中用于表示系统逻辑模型的一种工具。要求考生掌握DFD图的基本成分:数据流、加工、数据存储及外部实体。希赛教育研发中心编写的《软件设计师考试考点分析与真题详解》中结合考试真题对数据流图进行了的详细解析。

考试方式:根据题目描述判断DFD图中的实体,找出错误的数据流,补充缺失的数据流。第二题:数据库题

根据软件设计师考试大纲要求,考生须掌握给定一个实际的应用问题如何设计E-R模型,如何将E-R模型转换成关系模式,确定联系类型、主键、候选键、外键,判断关系模式

规范化的程度;掌握给定一个实际的应用问题如何用SQL进行数据定义(创建表、视图)、完整性定义及权限定义,掌握常用数据库的访问方法。希赛教育的模拟试题就不同的考点进行了收集。

考试方式:根据题目描述完成补充图形、填空、简答等形式。

第三题:UML

UML统一建模语言是面向对象软件的标准化建模语言。它是一种富有表达力的语言,可以描述开发所需要的各种视图,然后以此为基础装配系统。

在软件设计师下午试题中,要求考生掌握UML的基本概念与作用以及UML提供的9种图的表示与应用:类图、对象图、用例图、序列图、协作图、状态图、活动图、构件图和部署图。希赛教育针对不同的UML图编制了多套的模拟试题供学员学习。

考试方式:根据题目描述判断UML图中各元素所代表的事物,元素间的关系。

第四题和第五题:C语言程序填空

C语言是考试大纲要求考生必须掌握的程序语言,要求考生用C语言实现常用的数据结构与算法及应用程序。第五题与第六、第七题一起构成选答题。2010年5月的考试取消了C 语言选答题。希赛教育的模拟试题中提供各种常用数据结构(线性表、栈、队列、串、数组、矩阵、数和图)以及常用算法(排序、查找、字符串、递归算法)练习和分析。

考试方式:根据题目描述程序的功能完成程序填空。

第六题与第七题:C++程序填空和Java程序填空

根据软件设计师考试大纲要求,考生须掌握一种面向对象的程序设计语言:C++或者Java,第六题与第七题由考生从中选择一道来应答,两题都答则选题号小的为有效答题。通常这两道题的题目背景是相同的,只是要求考生分别用C++和Java语言来实现常见的设计模式及应用程序。希赛教育研发中心组编的《软件设计师考试冲刺指南》中有设计模式的相关描述。

考试方式:根据题目描述完成程序填空。

软件设计师考试的下午题的第一道题,数据库系统工程师考试的下午题的第一道题都是数据流图题,而能够将这道题全部做对的考生是非常少的。

解题的方法与技巧

1.首先要懂得数据流图设计要略。

有时为了增加数据流图的清晰性,防止数据流的箭头线太长,减少交叉绘制数据流条数,一般在一张图上可以重复同名的数据源点、终点与数据存储文件。如某个外部实体既是数据源点又是数据汇点,可以在数据流图的不同的地方重复绘制。在绘制时应该注意以下要点:

(1)自外向内,自顶向下,逐层细化,完善求精。

(2)保持父图与子图的平衡。

为了表达较为复杂问题的数据处理过程,用一个数据流图往往不够。一般按问题的层次结构进行逐步分解,并以分层的数据流图反映这种结构关系。根据层次关系一般将数据流图分为顶层数据流图、中间数据流图和底层数据流图,除顶层图外,其余分层数据流图从0开始编号。对任何一层数据流图来说,称它的上层数据流图为父图,在它的下一层的数据流图为子图。

顶层数据流图只含有一个加工,表示整个系统;输入数据流和输出数据流为系统的输入数据和输出数据,表明了系统的范围,以及与外部环境的数据交换关系。

底层数据流图是指其加工不能再分解的数据流图,其加工称为“原子加工”。

中间数据流图是对父层数据流图中某个加工进行细化,而它的某个加工也可以再次细化,形成子图。中间层次的多少,一般视系统的复杂程度而定。

任何一个数据流子图必须与它上一层父图的某个加工对应,二者的输入数据流和输出数据流必须保持一致,此即父图与子图的平衡。父图与子图的平衡是数据流图中的重要性质,保证了数据流图的一致性,便于分析人员阅读和理解。

在父图与子图平衡中,数据流的数目和名称可以完全相同;也可以在数目上不相等,但是可以借助数据字典中数据流描述,确定父图中的数据流是由子图中几个数据流合并而成的,也即子图是对父图中加工和数据流同时进行分解,因此也属于父图与子图的平衡,如图1所示。

图1 父图与子图的平衡

(3)保持数据守恒。也就是说,一个加工所有输出数据流中的数据必须能从该加工的输入数据流中直接获得,或者是通过该加工能产生的数据。每个加工必须有输入数据流和输出数据流,反映此加工的数据来源和加工变换结果。一个加工的输出数据流只由它的输入数据流确定。数据流必须经过加工,即必须进入加工或从加工中流出。

(4)加工细节隐蔽。根据抽象原则,在画父图时,只需画出加工和加工之间的关系,而不必画出各个加工内部的细节。当某层数据流图中的数据存储不是父图中相应加工的外部接口,而只是本图中某些加工之间的数据接口时,那么这些数据存储为局部数据存储。

为了强调局部数据存储的隐蔽性,一般情况下,局部数据存储只有作为某些加工的数据接口或某个特定加工的输入和输出时,才画出来。即按照自顶向下的分析方法,某数据存储首次出现时只与一个加工有关,那么这个数据存储应该作为与之关联加工的局部数据存储,在该层数据流子图中不必画出,而在该加工的子图中画出,除非该加工为原子加工。

(5)简化加工间的关系。在数据流图中,加工间的数据流越少,各个加工就越相对独立,所以应尽量减少加工间输入输出数据流的数目。

(6)均匀分解。应该使一个数据流中的各个加工分解层次大致相同。

(7)适当地为数据流、加工、文件、源/宿命名,名字应反映该成分的实际意义,避免空洞的名字。

(8)忽略枝节。应集中精力于主要的数据流,而暂不考虑一些例外情况、出错处理等枝节性的问题。

(9)表现的是数据流而不是控制流。数据流图与传统的程序流程图不同,数据流图是从数据的角度来描述一个系统的,而流程图则是从对数据加工的角度来描述系统的。数据流图中的箭头是数据流,而流程图中的箭头则是控制流,它表达的是程序执行的次序。数据流图适合于宏观地分析一个组织的业务概况,而程序流程图只适合于描述系统中某个加工的执行细节。

每个加工必须既有输入数据流,又有输出数据流;在整套数据流图中,每个文件必须既有读文件的数据流又有写文件的数据流,但在某一张子图中可能只有读、没有写,或者只有写、没有读。

2.解题的方法。

(1) 数据平衡原则。

相关文档
最新文档