收藏 分享(赏)

2009年下半年软件设计师下午题.pdf

上传人:精品资料 文档编号:10888748 上传时间:2020-01-17 格式:PDF 页数:15 大小:614.33KB
下载 相关 举报
2009年下半年软件设计师下午题.pdf_第1页
第1页 / 共15页
2009年下半年软件设计师下午题.pdf_第2页
第2页 / 共15页
2009年下半年软件设计师下午题.pdf_第3页
第3页 / 共15页
2009年下半年软件设计师下午题.pdf_第4页
第4页 / 共15页
2009年下半年软件设计师下午题.pdf_第5页
第5页 / 共15页
点击查看更多>>
资源描述

1、 全国计算机技术与软件专业技术资格(水平)考试 2009 年下半年 软件设计师 下午试卷 (考试时间 14:00 16:30 共 150 分钟) 请按下述要求正确填写答题纸 1.在答题纸的指定位置填写你所在的省、自 治区、直辖市、计划单列市的名称。 2.在答题纸的指定位置填写准考证号、出生年月日和姓名。 3.答题纸上除填写上述内容外只能写解答。 4.本试卷共 7 道题,试题一至试题四是必答题,试题五至试题七选答 1 道。每题 15 分,满分 75 分。 5.解答时字迹务必清楚,字迹不清时,将不评分。 6.仿照下面例题,将解答写在答题纸的对应栏内。 例题 2009 年下半年全国计算机技术与软件专

2、业技术资格(水平)考试日期是 (1)月 (2) 日。 因为正确的解答是 “11月14日” ,故在答题纸的对应栏内写上“11”和“14”(参看下表)。 例题 解答栏 (1) 11 (2) 14 2009 年下半年 软件设计师 下午试卷 第 1 页 (共 15 页) 试题一(共 15 分) 阅读以下说明和数据流图,回答问题1 至问题4 ,将解答填入答题纸的对应栏内。 【说明】 现准备为某银行开发一个信用卡管理系统 CCMS,该系统的基本功能为: 1. 信用卡申请。非信用卡客户填写信用卡申请表,说明所要申请的信用卡类型及申请者的基本信息,提交 CCMS。如果信用卡申请被银行接受, CCMS 将记录该

3、客户的基本信息,并发送确认函给该客户,告知客户信用卡的有效期及信贷限额;否则该客户将会收到一封拒绝函。非信用卡客户收到确认函后成为信用卡客户。 2. 信用卡激活。信用卡客户向 CCMS 提交激活请求,用信用卡号和密码激活该信用卡。激活操作结束后, CCMS 将激活通知发送给客户,告知客户其信用卡是否被成功激活。 3. 信用卡客户信息管理。信用卡客户的个人信息可以在 CCMS 中进行在线管理。每位信用卡客户可以在线查询和修改个人信息。 4. 交易信息查询。信用卡客户使用信用卡进行的每一笔交易都会记录在 CCMS 中。信用卡客户可以通过 CCMS 查询并核实其交易信息(包括信用卡交易记录及交易额)

4、。 图 1-1 和图 1-2 分别给出了该系统的顶层数据流图和 0 层数据流图的初稿。 【问题 1】(3 分) 根据【 说明】 ,将图 1-1 中的 E1E3 填充完整。 【问题 2】(3 分) 图 1-1 中缺少三条数据流,根据 【说明】 ,分别指出这三条数据流的起点和终点。(注:数据流的起点和终点均采用图中的符号和描述) 【问题 3】(5 分) 图 1-2 中有两条数据流是错误的,请指出这两条数据流的名称,并改正。 (注:数据流的起点和终点均采用图中的符号和描述) 【问题 4】( 分) 根据【 说明】 ,将图 1-2 中 P1P4 的 处理名称填充完整。 P0 信用卡管理系统 CCMS E

5、3 信用卡申请信用卡申请验证结果 信息 E2 交易记录查询请求 个人信息 激活通知查询/ 修改个人信息 E1 确认函 拒绝函 图 1-1 顶层数据流图 2009 年下半年 软件设计师 下午试卷 第 2 页 (共 15 页) E2 查询/ 修改个人信息激活通知 交易记录查询请求E3 信用卡申请信息 信用卡申请验证结果 P2 P1 P4 E1 拒绝函 确认函 P3 激活请求信用卡申请表个人信息交易信息 图 1-2 0 层数据流图 2009 年下半年 软件设计师 下午试卷 第 3 页 (共 15 页) 试题二(共 15 分) 阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。 【说明】

6、某公司拟开发一多用户电子邮件客户端系统,部分功能的初步需求分析结果如下: ( 1)邮件客 户端系统支持多个用户,用户信息主要包括用户名和用户密码,且系统中的用户名不可重复。 ( 2)邮件帐号信息包括邮件地址及其相应的密码,一个用户可以拥有多个邮件地址(如 )。 ( 3)一个用户可拥有一个地址薄,地址簿信息包括联系人编号、姓名、电话、单位地址、邮件地址 1、邮件地址 2、邮件地址 3 等信息。地址薄中一个联系人只能属于一个用户,且联系人编号唯一标识一个联系人。 ( 4)一个邮件帐号可以含有多封邮件,一封邮件可以含有多个附件。邮件主要包括邮件号、发件人地址、收件人地址、邮件状态、邮件主题、邮件内容

7、、发送时间、接收时间。其中,邮件号在整个系统内唯一标识一封邮件,邮件状态有已接收、待发送、已发送和已删除 4 种,分别表示邮件是属于收件箱、发件箱、已发送箱和废件箱。一封邮件可以发送给多个用户。附件信息主要包括附件号、附件文件名、附件大小。一个附件只属于一封邮件,附件号仅在一封邮件内唯一。 【问题 1】(5 分) 根据以上说明设计的 E-R 图如图 2-1 所示,请指出地址簿与用户、电子邮件帐号与邮件、邮件与附件之间的联系类型。 图 2-1 电子邮件客户端系统 E-R 图 【问题 2】(4 分) 该邮件客户端系统的主要关系模式如下,请填补( a)(c )的空缺部分。 用户 (用户名,用户密码)

8、 地址簿( (a) ,联系人编号,姓名,电话,单位地址,邮件地址 1,邮件地址 2,邮件地址 3) 邮件帐号(邮件地址,邮件密码,用户名) 邮件( (b) ,收件人地址,邮件状态,邮件主题,邮件内容,发送时间,接收时间) 2009 年下半年 软件设计师 下午试卷 第 4 页 (共 15 页) 附件( (c) ,附件号,附件文件名,附件大小) 【问题 3】(6 分) (1)请指出 【问题 2】 中给出的地址簿、邮件和附件关系模式的主键,如果关系模式存在外键请指出。 (2 )附件属 于弱实体吗?请用 50 字以内的文字说明原因。 2009 年下半年 软件设计师 下午试卷 第 5 页 (共 15 页

9、) 试题三(共 15 分) 阅读下列说明和 UML 图,回答问题 1 至问题 4,将解答填入答题纸的对应栏内。 【说明】 某企业为了 方便员工用餐,为餐厅开发了一个订餐系统( COS: Cafeteria Ordering System),企业员工可通过企业内联网使用该系统。 企业的任何员工都可以查看菜单和今日特价。 系统的顾客是注册到系统的员工,可以订餐(如果未登录,需先登录)、注册工资支付、预约规律的订餐,在特殊情况下可以覆盖预订。 餐厅员工是特殊顾客,可以进行备餐、生成付费请求和请求送餐,其中对于注册工资支付的顾客生成付费请求并发送给工资系统。 菜单管理员是餐厅特定员工,可以管理菜单。

10、送餐员可以打印送餐说明,记录送餐信息(如送餐时间)以及记录收费(对于没有注册工资支付的顾客,由送餐员收取现金后记录)。 顾客订餐过程如下: 1. 顾客请求查看菜单; 2. 系统显示菜单和今日特价; 3. 顾客选菜; 4. 系统显示订单和价格; 5. 顾客确认订单; 6. 系统显示可送餐时间; 7. 顾客指定送餐时间、地点和支付方式; 8. 系统确认接受订单,然后发送 Email 给顾客以确认订餐,同时发送相关订餐信息通知给餐厅员工。 系统采用面向对象方法开发,使用 UML 进行建模。系统的顶层用例图和一次订餐的活动图初稿分别如图 3-1 和图 3-2 所示。 【问题 1】(2 分) 根据【说明

11、】中的描述,给出图 3-1 中 A1 和 A2 所对应的参与者。 【问题 2】(8 分) 根据【说明】 中的描述,给出图 3-1 中缺少的四个用例及其所对应的参与者。 【问题 3】(4 分) 根据【说明 】中的描述,给出图 3-2 中(1 )( 4)处对应的活动名称或图形符号。 【问题 4】(1 分) 指出图 3-1 中员工和顾客之间是什么关系,并解释该关系的内涵。 2009 年下半年 软件设计师 下午试卷 第 6 页 (共 15 页) 图 3-1 COS 系统顶层用例图 (1 ) (2 ) (4 ) (3 ) 图 3-2 一次订餐的活动图 2009 年下半年 软件设计师 下午试卷 第 7 页

12、 (共 15 页) 试题四(共 15 分) 阅读下列说明,回答问题 1 至问题 2,将解答填入答题纸的对应栏内。 【说明】 0-1 背包问题 可以描述为:有n 个物品,对i = 1, 2, , n ,第i 个物品价值为vi,重量为wi(vi和 wi为非负数),背包容量为 W( W为非负数),选择其中一些物品装入背包,使装入背包物品的总价值最大,即vmax 不超过背包容量, 即 Wxwii,xniiix1i个,且总重量ni1其中, 表示第【问题 1】(8 分) 求解此 0-1 背包 问题,请填充下面伪代码中(1 )(4 )处空缺。 统的搜索方法。在确定解空间后,回溯法从根结点开始,按照深度优先策

13、 已经不满足v:价值数组;fw :获得最大价值时背包的 的最大价值;X :问题的最优解。 虑的物品编号; Y:当前已获得的 0 1,0ixi=0 物品不放入背包,xi=1 表示第i 个物品放入背包。 用回溯法回溯法是一种系略遍历解空间树,搜索满足约束条件的解。对每一个当前结点,若扩展该结点约束条件,则不再继续扩展。为了进一步提高算法的搜索效率,往往需要设计一个限界函数,判断并剪枝那些即使扩展了也不能得到最优解的结点。现在假设已经设计了BOUND( v,w,k,W )函数,其中 v、w 、k 和 W 分别表示当前已经获得的价值、当前背包的重量、已经确定是否选择的物品数和背包的总容量。对应于搜索树

14、中的某个结点,该函数值表示确定了部分物品是否选择之后,对剩下的物品在满足约束条件的前提下进行选择可能获得的最大价值,若该价值小于等于当前已经得到的最优解,则该结点无需再扩展。 下面给出 0-1 背包问题的回溯算法伪代码。 函数参数说明如下: W:背包容量;n :物品个数; w:重量数组;重量;fp :背包获得变量说明如下: cw:当前的背包重量; cp:当前获得的价值; k:当前考部分解。 BKNAP( W,n,w,v,fw,fp,X ) 1 cw cp 2 (1 ) 3 fp -1 4 while true 5 while k n and cw + wk W do (2 ) 6 then 7

15、 cp cp + vk 8 Yk 1 9 k k + 1 10 if k n then 11 if fp #include #include using namespace std; class AbstractFile protected : string name; / 文件或目录名称 public: void printName()cout *getChildren()=0; / 获得一个目录的子目录或文件 ; 2009 年下半年 软件设计师 下午试卷 第 10 页 (共 15 页) class File : public AbstractFile public : File(strin

16、g name) (1) = name; void addChild(AbstractFile *file) return ; void removeChild(AbstractFile *file) return ; (2) getChildren() return (3) ; ; class Folder :public AbstractFile private : list childList; / 存储子目录或文件 public : Folder(string name) (4) = name; void addChild(AbstractFile *file) childList.pu

17、sh_back(file); void removeChild(AbstractFile *file) childList.remove(file); list *getChildren() return (5) ; ; void main() / 构造一个树形的文件/目录结构 AbstractFile *rootFolder = new Folder(“c:“); AbstractFile *compositeFolder = new Folder(“composite“); AbstractFile *windowsFolder = new Folder(“windows“); Abstr

18、actFile *file = new File(“TestComposite.java“); rootFolder-addChild(compositeFolder); rootFolder-addChild(windowsFolder); compositeFolder-addChild(file); 2009 年下半年 软件设计师 下午试卷 第 11 页 (共 15 页) 试题六(共 15 分) 阅读下列说明和Java 代码,将应填入 ( n) 处的字句写在答题纸的对应栏内。 【说明】 现欲构造一文件/ 目录树, 采用组合( Composite)设计模式来设计,得到的类图如 6-1所示:

19、 图 6-1 类图 【Java 代码】 import java.util.ArrayList; import java.util.List; (1 ) class AbstractFile protected String name; public void printName()System.out.println(name); public abstract boolean addChild(AbstractFile file); public abstract boolean removeChild(AbstractFile file); public abstract List get

20、Children(); class File extends AbstractFile public File(String name) this.name = name; public boolean addChild(AbstractFile file) return false; public boolean removeChild(AbstractFile file) return false; public List getChildren() return (2 ) ; class Folder extends AbstractFile 2009 年下半年 软件设计师 下午试卷 第

21、 12 页 (共 15 页) private List childList; public Folder(String name) this.name = name; this.childList = new ArrayList(); public boolean addChild(AbstractFile file) return childList.add(file); public boolean removeChild(AbstractFile file) return childList.remove(file); public (3 ) getChildren() return (

22、4 ) ; public class Client public static void main(String args) / 构造一个树形的文件/ 目录结构 AbstractFile rootFolder = new Folder(“c:“); AbstractFile compositeFolder = new Folder(“composite“); AbstractFile windowsFolder = new Folder(“windows“); AbstractFile file = new File(“TestComposite.java“); rootFolder.addC

23、hild(compositeFolder); rootFolder.addChild(windowsFolder); compositeFolder.addChild(file); / 打印目录文件树 printTree(rootFolder); private static void printTree(AbstractFile ifile) ifile.printName(); List children = ifile.getChildren(); if(children = null) return; for (AbstractFile file:children) (5 ) ; 该程

24、序运行后输出结果为: c: composite TestComposite.java Windows 2009 年下半年 软件设计师 下午试卷 第 13 页 (共 15 页) 试题七(共 15 分) 阅读以下说明和C 程序,将应填入 ( n) 处的字句写在答题纸的对应栏内。 【说明】 现有 n(n /*此处为栈类型及其基本操作的定义,省略*/ int main( ) STACK station; int state1000; int n; /*车厢数*/ int begin, i, j, maxNo; /*maxNo 为 A 端正待入栈的车厢编号*/ printf(“请输入车厢数: “); s

25、canf(“%d“, 2009 年下半年 软件设计师 下午试卷 第 14 页 (共 15 页) 2009 年下半年 软件设计师 下午试卷 第 15 页 (共 15 页) printf(“请输入需要判断的车厢编号序列(以空格分隔) : “); if (n 1) return -1; for (i = 0; in; i+) /* 读入需要驶出的车厢编号序列,存入数组 state */ scanf(“%d“, (1 ) ; /*初始化栈*/ maxNo = 1; for(i = 0; i n; )/*检查输出序列中的每个车厢号 statei是否能从栈中获取*/ if ( (2 ) )/*当栈不为空时*/ if (statei = Top(station) /*栈顶车厢号等于被检查车厢号*/ printf(“%d “,Top(station); Pop( i+; else if ( (3 ) ) printf(“errorn“); return 1; else begin = (4 ) ; for(j = begin+1; j=statei; j+) Push( else /*当栈为空时*/ begin = maxNo; for(j = begin; j=statei; j+) Push( maxNo = (5 ) ; printf(“OK“); return 0;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报