logo资料库

2006下半年软件设计师考试真题及答案-下午卷.doc

第1页 / 共22页
第2页 / 共22页
第3页 / 共22页
第4页 / 共22页
第5页 / 共22页
第6页 / 共22页
第7页 / 共22页
第8页 / 共22页
资料共22页,剩余部分请下载后查看
2006下半年软件设计师考试真题及答案-下午卷 试题一 阅读以下说明以及数据流图,回答问题1至问题5。 【说明】 某银行已有一套基于客户机/服务器模式的储蓄系统A和一套建账软件。建账软件主要用于将储蓄所手工处理 的原始数据转换为系统A所需的数据格式。该建账软件具有以下功能。 (1)分户账录入:手工办理业务时建立的每个分户账数据均由初录员和复录员分别录入,以确保数据的正确 性。 (2)初录/复录比对:将初录员和复录员录入的数据进行一一比较,并标记两套数据是否一致。 (3)数据确认:当上述两套数据完全一致后,将其中任一套作为最终进入系统A的原始数据。 (4)汇总核对和打印:对经过确认的数据进行汇总,并和会计账目中的相关数据进行核对,以确保数据的整 体正确性,并打印输出经过确认的数据,为以后核查可能的错误提供依据。 (5)数据转换:将经过确认的数据转换为储蓄系统A需要的中间格式数据。 (6)数据清除:为加快初录和复录的处理速度,在数据确认之后,可以有选择地清除初录员和复录员录入的 数据。 该软件的数据流图如图10-1至图10-3所示。图中部分数据流数据文件的格式如下: 初录分户账=储蓄所号+账号+户名+开户日+开户金额+当前余额+性质 复录分户账=储蓄所号+账号+户名+开户日+开户金额+当前余额+性质 初录数据=手工分户账+一致性标志 复录数据=手工分户账+一致性标志 会计账目=储蓄所号+总户数+总余额 操作结果=初录操作结果+比对操作结果+复录操作结果 1
软件需要打印的分户账清单样式如表10-1所示: 样式表 表10-1 分户账清单 储 蓄 所 账 号 开 户 日 户 名 其他分户账数据 储蓄所1 ┆ ┆ ┆ ┆ 储蓄所1合计 共×××户,总余额9999999.99元 储蓄所2 ┆ ┆ ┆ ┆ 2
储蓄所2合计 共×××户,总余额9999999.99元 1、【问题1】 请采用说明中的词汇,给出数据确认处理所需的数据流在第1层图中的全部可选起点(第0层图和第1层图中均 未给出)。 2、【问题2】 不考虑数据确认处理(加工2),请指出数据流图中存在的错误。 3、【问题3】 打印分户账清单时,必须以下列哪一组数据作为关键字进行排序,才能满足需求?请从下面选项中选择。 ①储蓄所 ②账号 ⑧开户日 ④总户数和总余额 4、【问题4】 加工1(录入比对处理)除能够检查出初录数据和复录数据不一致外,还应当检测出下列哪些错误。 ①输入的无效字符 ②输入的半个汉字 ③显示器无法显示 ④初录员重复录入同一账户 ⑤汇总数据与会计账目不符 ⑥打印机卡纸 5、【问题5】 请使用数据字典条目定义形式,给出第0层DFD中的“手工分户账”数据流和第1层DFD中的“初录分户账”、 “复录分户账”的关系。 试题二 阅读以下说明,回答问题1至问题4。 【说明】 某宾馆需要建立一个住房管理系统,部分的需求分析结果如下: (1)一个房间有多个床位,同一房间内的床位具有相同的收费标准,不同房间的床位收费标准可能不同; (2)每个房间有房间号(如201、202等)、收费标准、床位数目等信息; (3)每位客人有身份证号码、姓名、性别、出生日期和地址等信息: (4)对每位客人的每次住宿,应该记录其入住日期、退房日期和预付款额信息; (5)管理系统可查询出客人所住房间号。 根据以上的需求分析结果,设计一种关系模型如下图所示: 3
6、【问题1】 根据上述说明和实体-联系图,得到该住房管理系统的关系模式如下所示,请补充住宿关系。 房间(房间号,收费标准,床位数目) 客人(身份证号,姓名,性别,出生日期,地址) 住宿( (1) ,入住日期,退房日期,预付款额) 7、【问题2】 请给出问题1中住宿关系的主键和外键。 8、【问题3】 若将上述各关系直接实现为对应的物理表,现需查询在2005年1月1日到2005年 12月31日期间,在该宾馆住 宿次数大于5次的客人身份证号,并且按照入住次数进行降序排列。下面是实现该功能的SQL语句,请填补语句中的 空缺。 SELECT 住宿.身份证号,count (入住日期) FROM 住宿,客人 WHERE 入住日期>='20050101'AND入住日期<='20051231' AND 住宿.身份证号=客人.身份证号 GROUP BY (2) count(入住日期)>5 (3) (4) 9、【问题4】 为提交SQL语句的执行效率,可在相应的表上创建索引。根据问题3中的SQL语句,除主键和外键外,还需要 在哪个表的哪些属性上创建索引,应该创建什么类型的索引,请说明原因。 试题三 阅读以下说明和图,回答问题1至问题3。 【说明】 S公司开办了在线电子商务网站,主要为各注册的商家提供在线商品销售功能。为更好地吸引用户,S公司计 划为注册的商家提供商品(Commodity)促销(Promotion)功能。商品的分类(Category)不同,促销的方式和内容也会 有所不同。 注册商家可发布促销信息。商家首先要在自己所销售的商品的分类中,选择促销涉及的某一具体分类,然后 选出该分类的一个或多个商品(一种商品仅仅属于一种分类),接着制定出一个比较优惠的折扣政策和促销活动的优 惠时间,最后由系统生成促销信息并将该促销信息公布在网站上。 4
商家发布促销信息后,网站的注册用户便可通过网站购买促销商品。用户可选择参与某一个促销活动,并选 择具体的促销商品,输入购买数量等购买信息。系统生成相应的一份促销订单(POrder)。只要用户在优惠活动的时 间范围内,通过网站提供的在线支付系统,确认在线支付该促销订单(即完成支付),就可以优惠的价格完成商品的 购买活动,否则该促销订单失效。 系统采用面向对象方法开发,系统中的类以及类之间的关系用UML类图表示,图 10-4是该系统类图中的一部 分;系统的动态行为采用UML序列图表示,图10-5是发布促销的序列图。 5
10、【问题1】 识别关联的多重度是面向对象建模过程中的一个重要步骤。根据说明中给出的描述,完成图10-4中的(1)~ (6)。 11、【问题2】 请从表10-2中选择方法,完成图10-5中的(7)~(10)。 选消息列表 表10-2 可 功 能 描 述 方 法 名 向促销订单中添加所选的商品 buyCommodities 向促销中添加要促销的商品 addCommodities 查找某个促销的所有促销订单信息列表 getPromotionOrders 生成商品信息 createCommodity 查找某个分类中某商家的所有商品信息 生成促销信息 生成促销订单信息 getCommodities createPromotion createPOrder 查找某个分类的所有促销信息列表 getCategoryPromotion 查找某商家所销售的所有分类列表 getCategories 查找某个促销所涉及的所有商品信息列 getPromtionCommodities 列表 表 12、【问题3】 关联(Association)和聚集(Aggregation)是UML中两种非常重要的关系。请说明关联和聚集的关系,并说明 其不同点。 试题四 阅读以下说明和图,填补流程图中的空缺。 13、【说明】 某汽车制造工厂有两条装配线。汽车装配过程如图10-6所示,即汽车底盘进入装配线,零件在多个工位装配, 结束时汽车自动完成下线工作。 6
(1)e0和e1表示底盘分别进入装配线0和装配线1所需要的时间。 (2)每条装配线有n个工位,第一条装配线的工位为S0,0,S0,1,…,S0,n-0,第二条装配线的工位为S1,0,S1,1,…, S1,n-1。其中S0,k和S1,k(0≤k≤n-1)完成相同的任务,但所需时间可能不同。 (3)aij表示在工位Sij处的装配时间,其中i表示装配线(i=0或i=1),j表示工位号(0≤j≤n-1)。 (4)tij表示从Sij处装配完成后转移到另一条装配线下一个工位的时间。 (5)X0和X1表示装配结束后,汽车分别从装配线0和装配线1下线所需要的时间。 (6)在同一条装配线上,底盘从一个工位转移到其下一个工位的时间可以忽略不计。 图10-7所示的流程图描述了求最短装配时间的算法,该算法的输入为; n: 表示装配线上的工位数; e[i]: 表示e1和e2,i取值为0或1: a[i][j]: 表示ai,j,i的取值为0或1,j的取值范围为0~n-1; t[i][j]: 表示ti,j,i的取值为0或1,j的取值范围为0~n-1; x[i]: 表示X0和X1,i取值为0或1。 算法的输出为: fi:最短的装配时间; li:获得最短装配时间的下线装配线号(0或者1)。 算法中使用的f[i][j]表示从开始点到Si,j处的最短装配时间。 7
试题五 阅读以下说明、图和C代码。 8
分享到:
收藏