中级软件设计师下午试题-15

合集下载

中级软件设计师2018年下半年下午试题附答案解析

中级软件设计师2018年下半年下午试题附答案解析

试题一(15分)阅读下列说明和图,回答问题1至4,将答案填入答题纸的对应栏内。

【说明】某公司拟开发一个共享单车系统,采用北斗定位系统进行单车定位,提供针对用户的APP以及微信小程序,基于Web的管理与监控系统。

该共享单车系统的主要功能如下。

1)用户注册登录。

用户在APP段端输入手机号并获取验证码后进行注册,将用户信息进行存储。

用户登录后显示用户所在位置周围的单车。

2)使用单车。

①扫码/手动开锁。

通过扫描二维码或手动输入编码获取开锁密码,系统发送开锁指令进行开锁,系统修改单车状态,新建单车行程。

②骑行单车。

单车定时上传位置,更新行程。

③锁车结账。

用户停止使用或手动锁车并结束行程后,系统根据已设置好的计费规则及使用时间自动结算,更新本次骑行的费用并显示给用户,用户确认支付后,记录行程的支付状态,系统还将重置单车的开锁密码和单车状态。

3)辅助管理。

①查询。

用户可以查看行程列表和行程详细信息。

②保修。

用户上报所在位置或单车位置以及单车故障信息并进行记录。

4)管理与监控①单车管理及计费规则设置。

商家对单车基础信息,状态等进行管理,对计费规则进行设置并存储。

②单车监控。

对单车,故障,行程等进行查询统计。

③用户管理。

管理用户信用与状态信息,对用户进行查询统计。

现采用结构化方法对共享单车系统进行分析与设计,获得如图1-1所示的上下文数据流图和图1-2所示的0层数据流图。

【问题1】(3分)使用说明中的词语,给出图1-1中的实体E1~E3的名称。

【问题2】(5分)使用说明中的词语,给出图1-2中的数据存储D1~D5的名称。

【问题3】(5分)根据说明和图中术语及符号,补充图1-2中缺失的数据流及其起点和终点。

【问题4】(2分)根据说明中术语,说明“使用单车”可以分解为那些子加工?试题二(共15分)阅读下列说明,回答问题1至问题4,将解答填入答题纸的对应栏内。

【说明】M公司为了便于开展和管理各项业务活动,提高公司的知名度和影响力,拟构建一个基于网络的会议策划系统。

2021年下半年软件设计师下午试题及答案

2021年下半年软件设计师下午试题及答案

全国计算机技术与软件专业技术资格(水平)考试下半年软件设计师下午试卷(考试时间14:00~16:30 共150分钟)1.在答题纸指定位置填写你所在省、自治区、直辖市、筹划单列市名称。

2.在答题纸指定位置填写准考证号、出生年月日和姓名。

3.答题纸上除填写上述内容外只能写解答。

4.本试卷共7道题,试题一至试题四是必答题,试题五至试题七选答1道。

每题15分,满分75分。

5.解答时笔迹务必清晰,笔迹不清时,将不评分。

6.仿照下面例题,将解答写在答题纸相应栏内。

例题下半年全国计算机技术与软件专业技术资格(水平)考试日期是(1)月(2)日。

由于对的解答是“11月3日”,故在答题纸相应栏内写上“11”和“3”(参看下表)。

试题一(共15分)阅读如下阐明和图,回答问题1至问题4,将解答填入答题纸相应栏内。

【阐明】某高校欲开发一种成绩管理系统,记录并管理所有选修课程学生平时成绩和考试成绩,其重要功能描述如下:1. 每门课程均有3到6个单元构成,每个单元结束后会进行一次测试,其成绩作为这门课程平时成绩。

课程结束后进行期末考试,其成绩作为这门课程考试成绩。

2. 学生平时成绩和考试成绩均由每门课程主讲教师上传给成绩管理系统。

3. 在记录学生成绩之前,系统需要验证这些成绩与否有效。

一方面,依照学生信息文献来确认该学生与否选修这门课程,若没有,那么这些成绩是无效;如果她确选修了这门课程,再依照课程信息文献和课程单元信息文献来验证平时成绩与否与这门课程所包括单元相相应,如果是,那么这些成绩是有效,否则无效。

4. 对于有效成绩,系统将其保存在课程成绩文献中。

对于无效成绩,系统会单独将其保存在无效成绩文献中,并将详细状况提交给教务处。

在教务处没有给出详细解决意见之前,系统不会解决这些成绩。

5. 若一门课程所有有效平时成绩和考试成绩都已经被系统记录,系统会发送课程完毕告知给教务处,告知该门课程成绩已经齐全。

教务处依照需要,祈求系统生成相应成绩列表,用来提交考试委员会审查。

中级软件设计师2015下半年下午精彩试题和问题详解

中级软件设计师2015下半年下午精彩试题和问题详解

实用文档2015 年下半年软件设计师考试下午真题试题一(共 15 分)阅读下列说明和图,回答问题 l 至问题 4,将解答填入答题纸的对应栏内。

【说明】某慕课教育平台欲添加在线作业批改系统,以实现高效的作业提交与批改,并进行统计。

学生和讲师的基本信息已经初始化为数据库中的学生表和讲师表。

系统的主要功能如下:(1)提交作业。

验证学生标识后,学生将电子作业通过在线的方式提交,并进行存储。

系统给学生发送通知表明提交成功,通知中包含唯一编号;并通知讲师有作业提交。

(2)下载未批改作业。

验证讲师标识后,讲师从系统中下载学生提交的作业。

下载的作业将显示在屏幕上。

(3)批改作业。

讲师按格式为每个题目进行批改打分,并进行整体评价。

(4)上传批改后的作业。

将批改后的作业(包括分数和评价)返回给系统,进行存储。

(5)记录分数和评价。

将批改后的作业的分数和评价记录在学生信息中,并通知学生作业已批改口(6)获取已批改作业。

根据学生标识,给学生查看批改后的作业,包括提交的作业、分数和评价。

(7)作业抽检。

根据教务人员标识抽取批改后的作业样本,给出抽检意见,然后形成抽检报告给讲师。

现采用结构化方法对在线作业批改系统进行分析与设计,获得如图 1-1 所示的上下文数据流图和囹 1-2 所示的 0 层数据流图。

实用文档1】(3 分)【问题 E1~E3 的名称。

使用说明中的词语,给出图 1-1 中的实体分)(4 【问题 2】 D4 的名称。

1-2 使用说明中的词语,给出图中的数据存储 D1~分) 3【问题】(6 中缺失的数据流及其起点和终点。

根据说明和图中术语,补充图 1-24】(2 分)【问题 1-2 1-1 系统进行的,则需要对图和图若发送给学生和讲师的通知是通过第三方 Email字以内文字加以说明。

100 进行哪些修改?用试题二(共 15 分) 3,将解答填入答题纸的对应栏内。

至问题阅读下列说明,回答问题 1 【说明】某企业拟构建一个高效、低成本、符合企业实际发展需要的办公自动化系统。

2012年上半年软件设计师-下午题(含答案)

2012年上半年软件设计师-下午题(含答案)

2012年软件设计师考试下午题试题一(共15分)第1题试题一(共15分)阅读下列说明和图,回答问题1至问题4,将解答填入答题纸的对应栏内。

【说明】某学校开发图书管理系统,以记录图书馆藏图书及其借出和归还情况,提供给借阅者借阅图书功能,提供给图书馆管理员管理和定期更新图书表功能。

主要功能的具体描述如下:(1)处理借阅。

借阅者要借阅图书时,系统必须对其身份(借阅者ID)进行检查。

通过与教务处维护的学生数据库、人事处维护的职工数据库中的数据进行比对,以验证借阅者ID是否合法,若合法,则检查借阅者在逾期未还图书表中是否有逾期未还图书,以及罚金表中的罚金是否超过限额。

如果没有逾期未还图书并且罚金未超过限额,则允许借阅图书,更新图书表,并将借阅的图书存入借出图书表,借阅者归还所借图书时,先由图书馆管理员检查图书是否缺失或损坏,若是,则对借阅者处以相应罚金并存入罚金表;然后,检查所还图书是否逾期,若是,执行“处理逾期”操作;最后,更新图书表,删除借出图书表中的相应记录。

(2)维护图书。

图书馆管理员查询图书信息;在新进图书时录入图书信息,存入图书表;在图书丢失或损坏严重时,从图书表中删除该图书记录。

(3)处理逾期。

系统在每周一统计逾期未还图书,逾期未还的图书按规则计算罚金,并记入罚金表,并给有逾期未还图书的借阅者发送提醒消息。

借阅者在借阅和归还图书时,若罚金超过限额,管理员收取罚金,并更新罚金表中的罚金额度。

现采用结构化方法对该图书管理系统进行分析与设计,获得如图1-1所示的顶层数据流图和图1.2所示的0层数据流图。

【问题1】(4分)使用说明中的词语,给出图1-1中的实体E1-E4的名称。

【问题2】(4分)使用说明中的词语,给出图1-2中的数据存储D1~D4的名称。

【问题3】(5分)在DFD建模时,需要对有些复杂加工(处理)进行进一步精化,绘制下层数据流图。

针对图1-2中的加工“处理借阅”,在1层数据流图中应分解为哪些加工?(使用说明中的术语)【问题4】(2分)说明【问题3】中绘制1层数据流图时要注意的问题。

中级软件设计师下半年下午试题新编

中级软件设计师下半年下午试题新编

中级软件设计师下半年下午试题新编中级软件设计师 11月下午试题试题一阅读下列说明和图,回答下列问题。

[说明]某大型披萨加工和销售商为了有效管理生产和销售情况,欲开发一披萨信息系统,其主要功能扣下:1销售。

处理客户的订单信息,生成销售订单,并将其记录在销售订单表中。

销售订单记录了订购者、所订购的披萨、期望的交付日期等信息。

2生产控制。

根据销售订单以及库存的披萨数量,制定披萨生产计划(包括生产哪些披萨、生产顺序和生产量等),并将其保存在生产计划表中。

3生产。

根据生产计划和配方表中的披萨配方,向库存发出原材料申领单,将制作好的披萨的信息存入库存表中,以便及时进行交付。

4采购。

根据所需原材料及库存量,确定采购数量,向供应商发送采购订单,并将其记录在采购订单表中;得到供应商的供应量,将原材料数量记录在库存表中,在采购订单表中标记已完成采购的订单。

5运送。

根据销售订单将披萨交付给客户,并记录在交付记录表中。

6财务管理。

在披萨交付后,为客户开具费用清单,收款并出具收据:依据完成的采购订单给供应商支付原材料费用并出具支付细节;将收款和支付记录存入收支记录表中。

7存储。

检查库存的原材料、披萨和未完成订单,确定所需原材料。

现采用结构化方法对披萨信息系统进行分析与设计,获得如图1所示的上下文数据流图和图2所示的0层数据流图。

图1 上下数据流图图2 0层数据流图1、根据说明中的词语,给出图1中的实体E1~E2的名称。

2、根据说明中的词语,给出图2中的数据存储D1~D5的名称。

3、根据说明中的词语,补充图2中缺失的数据流及其起点和终点。

试题二阅读下列说明,回答下列问题。

[说明]某集团公司在全国不同城市拥有多个大型超市,为了有效管理各个超市的业务工作,需要构建一个超市信息管理系统。

[需求分析结果]4超市信息包括:超市名称、地址、经理和电话,其中超市名称唯一确定超市关系的每一个元组。

每个超市只有一名经理。

5超市设有计划部、财务部、销售部等多个部门,每个部门只有一名部门经理,有多名员工,每个员工只属于一个部门。

2015年下半年软件水平考试(中级)软件设计师下午(应用技术)真题试卷

2015年下半年软件水平考试(中级)软件设计师下午(应用技术)真题试卷

2015年下半年软件水平考试(中级)软件设计师下午(应用技术)真题试卷(总分:30.00,做题时间:90分钟)一、必答题(总题数:7,分数:30.00)1.必答题(共4道大题,每道大题)__________________________________________________________________________________________ 解析:阅读下列说明和图,回答问题1至问题4,将解答填入答题纸的对应栏内。

【说明】某慕课教育平台欲添加在线作业批改系统,以实现高效的作业提交与批改,并进行统计。

学生和讲师的基本信息已经初始化为数据库中的学生表和讲师表。

系统的主要功能如下。

(1)提交作业。

验证学生标识后,学生将电子作业通过在线方式提交,并进行存储。

系统给学生发送通知表明提交成功,通知中包含唯一编号;并通知讲师有作业提交。

(2)下载未批改作业。

验证讲师标识后,讲师从系统中下载学生提交的作业。

下载的作业将显示在屏幕上。

(3)批改作业。

讲师按格式为每个题目进行批改打分,并进行整体评价。

(4)上传批改后的作业。

将批改后的作业(包括分数和评价)返回给系统,进行存储。

(5)记录分数和评价。

将批改后的作业的分数和评价记录在学生信息中,并通知学生作业已批改。

(6)获取已批改作业。

根据学生标识,给学生查看批改后的作业,包括提交的作业、分数和评价。

(7)作业抽检。

根据教务人员标识抽取批改后的作业样本,给出抽检意见,然后形成抽检报告给讲师。

现采用结构化方法对在线作业批改系统进行分析与设计,获得如图1-1所示的上下文数据流图和图1-2所示的0层数据流图。

(分数:8.00)(1).【问题1】使用说明中的词语,给出图1-1中的实体E1~E3的名称。

(分数:2.00)__________________________________________________________________________________________ 正确答案:(正确答案:E1:学生 E2:讲师 E3:教务人员)解析:解析:本题考查采用结构化方法进行系统分析与设计,主要考查数据流图(DFD)的应用,是比较传统的题目,考点与往年类似,要求考生细心分析题目中所描述的内容。

中级软件设计师2017下半年下午试题附答案解析

中级软件设计师2017下半年下午试题附答案解析试题一(15分)阅读下列说明和图,回答问题1至4,将答案填入答题纸的对应栏内。

【说明】某公司拟开发一个共享单车系统,采用北斗定位系统进行单车定位,提供针对用户的APP以及微信小程序,基于Web的管理与监控系统。

该共享单车系统的主要功能如下。

1)用户注册登录。

用户在APP段端输入手机号并获取验证码后进行注册,将用户信息进行存储。

用户登录后显示用户所在位置周围的单车。

2)使用单车。

①扫码/手动开锁。

通过扫描二维码或手动输入编码获取开锁密码,系统发送开锁指令进行开锁,系统修改单车状态,新建单车行程。

②骑行单车。

单车定时上传位置,更新行程。

③锁车结账。

用户停止使用或手动锁车并结束行程后,系统根据已设置好的计费规则及使用时间自动结算,更新本次骑行的费用并显示给用户,用户确认支付后,记录行程的支付状态,系统还将重置单车的开锁密码和单车状态。

3)辅助管理。

①查询。

用户可以查看行程列表和行程详细信息。

②保修。

用户上报所在位置或单车位置以及单车故障信息并进行记录。

4)管理与监控①单车管理及计费规则设置。

商家对单车基础信息,状态等进行管理,对计费规则进行设置并存储。

②单车监控。

对单车,故障,行程等进行查询统计。

③用户管理。

管理用户信用与状态信息,对用户进行查询统计。

现采用结构化方法对共享单车系统进行分析与设计,获得如图1-1所示的上下文数据流图和图1-2所示的0层数据流图。

【问题1】(3分)使用说明中的词语,给出图1-1中的实体E1~E3的名称。

【问题2】(5分)使用说明中的词语,给出图1-2中的数据存储D1~D5的名称。

【问题3】(5分)根据说明和图中术语及符号,补充图1-2中缺失的数据流及其起点和终点。

【问题4】(2分)根据说明中术语,说明“使用单车”可以分解为那些子加工?试题二(共15分)阅读下列说明,回答问题1至问题4,将解答填入答题纸的对应栏内。

【说明】M公司为了便于开展和管理各项业务活动,提高公司的知名度和影响力,拟构建一个基于网络的会议策划系统。

软考下午试题及答案

必答题必答题(共4道大题,每道大题15分)1阅读以下说明,回答问题1~2,将解答填入对应的解答栏内。

[说明] 某程序的功能是输入三个正整数作为边长,判断三条边构成的三角形是否等边、等腰或是一般三角形。

通过该程序的算法用等价类设计测试用例,检查逻辑覆盖标准。

(1)划分等价类并编号,见下表:(2)为合理设计等价类测试用例,对于表中对应的四个合理等价类,用三个测试用例覆盖,见下表:(3)为每—个不合理等价类设计一个侧试用例,见下表:网友解析用边界值分析法设计测试用例,检查逻辑覆盖标准。

用边界值法设计测试用例,见下表:解析:本题属于软件测试中测试用例的设计,分为白盒技术和黑盒技术。

等价类划分是将输人数据域按有效的或无效的划分成若干个等价类,测试每个等价类的代表值就等于对该类其他值的测试。

步骤如下;1)按程序的功能说明,找出一个个输入条件,将每个输入条件划分成两个或多个等价类,将其列表。

2)确定测试用例。

根据已划分的等价类,按以下步骤设计测试用例:Ⅰ.为每一个等价类编号Ⅱ.没计一个测试用例,使其尽可能多地覆盖尚未被覆盖过的合理等价类,重复此步,直到所有合理等价类被测试用例覆盖。

Ⅲ.设计一个测试用例,使其只覆盖一个不合理等价类。

重复这一步,直到所有不合理等价类被测试用例覆盖。

边界值分析不是从一个等价类中任选一个例子作为代表,而是将测试边界情况作为重点目标,选取正好等于,刚刚大于或刚刚小于边界值的测试数据。

因为实践经验表明,程序往往在处理边界情况时发生错误。

其基本思想是列出程序中可能发生错误的情况,根据这些情况选择测试用例。

逻辑覆盖是白盒技术,它追求程序内部的逻辑覆盖程度,要设计使覆盖程度较高的或覆盖最优代表性的路径的测试用例。

3阅读以下说明,回答问题1~4,将解答填入对应的解答栏内。

[说明] 设T1,T2,T3为如下所述的三个事务。

T1:A:=A+1。

T2: A:=A*2。

T3:A:= 在屏幕上输出A,并将A置为1;其中A为数据库中的某个数据项。

中级软件设计师2018上半年下午试题及答案解析


试题二 (共 15 分 ) 阅读下列说明,回答问题 1 至问题 3, 将解答填入答题纸的对应栏内。 【说明】 某海外代购公司为扩展公司业务, 需要开发一个信息化管理系统。 请根据公司现有业务及需 求完成该系统的数据库设计。 【需求描述】 (1)记录公司员工信息。员工信息包括工号、身份证号、姓名、性别和一个手机号,工 号唯一标识每位员工,员工分为代购员和配送员。 (2)记录采购的商品信息。商品信息包括商品名称、所在超市名称、采购价格、销售价 格和商品介绍,系统内部用商品条码唯一标识每种商品。一种商品只在一家超市代购。 (3)记录顾客信息。顾客信息包括顾客真实姓名、身份证号(清关缴税用)、一个手机号和 一个收货地址,系统自动生成唯一的顾客编号。 (4)记录托运公司信息。托运公司信息包括托运公司名称、电话和地址,系统自动生成 唯一的托运公司编号。 (5)顾客登录系统之后,可以下订单购买商品。订单支付成功后,系统记录唯一的支付 凭证编号,顾客需要在订单里指定运送方式:空运或海运。 (6)代购员根据顾客的订单在超市采购对应商品,一份订单所含的多个商品可能由多名 代购员从不同超市采购。 (7)采购完的商品交由配送员根据顾客订单组合装箱,然后交给托运公司运送。托运公 司按顾客订单核对商品名称和数量,然后按顾客的地址进行运送。 【概念模型设计】 根据需求阶段收集的信息,设计的实体联系图(不完整)如图 2-1 所示。
int i; if(n == 0){ return 0; } for(i = 1; (1) ; i++) { int tmp = p[i] + Top_Down_Cut_Rod(p,n-i); r = (r >= tmp) ? r : tmp; } return r; } int Bottom_Up_Cut_Rod(int p[], int n) {/* 自底向上*/ int r[LEN] = { 0 }; int temp = 0; int i, j; for (j = 1; j <= n; j++) { temp = 0; for (i = 1; (2) ; i++) { temp = (3) ; } (4) ; } return r[n]; } 【问题 1】(8 分) 根据说明,填充 C 代码中的空(1)~(4) 。 【问题 2】(7 分) 根据说明和 C 代码,算法采用的设计策略为 (5) 。求解 rn 时,自顶向下方法的时间复 杂度为 (6) ;自底向上方法的时间复杂度为 (7) (用 O 表示)。

(新版)中级软件设计师考试题库(完整版)

(新版)中级软件设计师考试题库(完整版)单选题1.某确定的有限自动机(DFA)的状态转换图如下图所示(A是初态,D、E是终态),则该DFA能识别()。

A、00110B、10101C、11100D、11001答案:C解析:解析路径为:ACEEBDD。

2.由字符a、b构成的字符串中,若每个a后至少跟一个b,则该字符串集合可用正规式表示为()。

A、(b|ab)*B、(ab*)*C、(a*b*)*D、(a|b)*答案:A3.内存按字节编址从B3000H到DABFFH的区域其存储容量为()A、123KBB、159KBC、163KBD、194KB答案:B解析:(DABFFH+1)-B3000H=27C00H转换成10进行等于162816/1024=159KB 4.设有一个包含n个元素的有序线性表。

在等概率情况下删除其中的一个元素,若采用单链表存储,则平均需要移动()个元素。

A、0B、1C、(n-1)/2D、n/2答案:A解析:若用顺序表存储,则最好情况是删除最后一个元素,此时不用移动任何元素,直接删除,最差的情况是删除第一个元素,此时需要移动n-1个元素,所以平均状态是移动(n-1)/2。

若用链表存储,直接将需要删除元素的前趋next指针指向后继元素即可,不需要移动元素,所以移动元素个数为0。

5.以下关于Cache与主存间地址映射的叙述中,正确的是()。

A、操作系统负责管理Cache与主存之间的地址映射B、程序员需要通过编程来处理Cache与主存之间的地址映射C、应用软件对Cache与主存之间的地址映射进行调度D、由硬件自动完成Cache与主存之间的地址映射答案:D解析:在程序的执行过程中,Cache与主存的地址映射是由硬件自动完成的6.外观(Facade)模式用于()。

①将一个对象加以包装以给客户提供其希望的另外一个接口②将一个对象加以包装以提供一些额外的行为③将一个对象加以包装以控制对这个对象的访问④将一系列对象加以包装以简化其接口A、①B、②C、③D、④答案:D解析:外观模式是对象的结构模式,要求外部与一个子系统的通信必须通过一个统一的外观对象进行,为子系统中的一组接口提供一个一致的界面,外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用7.在面向对象方法中,不同对象收到同一消息可以产生完全不同的结果,这一现象称为()。

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

中级软件设计师下午试题-15 (总分:90.00,做题时间:90分钟) 一、{{B}}试题一{{/B}}(总题数:1,分数:15.00) 1.【说明】 流程图描述了某高校图书订购与编目系统的处理流程。全校的图书典藏在校图书馆和各系的资料室中。学校每年分若干批向出版单位订购图书,同一批订购的图书将陆续邮寄到学校。出版单位在寄出图书的同时附上到书清单和发票,发票上仅给出一份到书清单中书的总册数和总金额。学校收到图书和发票后,先参照订购单验收,然后进行编目,并把有关信息存放在书种文件、书名文件、作者文件和复本文件中,以供读者检索。 书种文件记录了每种书的有关信息。所谓一种书是指同一作者、同一书名、同一出版单位和同一出版年份出版的书。例如,2004年张明在科技出版社出版了《软件工程》(印数8000册)和《数据库基础》(印数5000册),则张明在2004年出版了两种书。在全校的藏书中,如果一种书只有一册,则该书的信息存放在书种文件中:如果一种书有多册,则其中一册书的信息存放在书种文件中,其余的书作为复本将信息存放在复本文件中。复本文件的结构与书种文件的结构相同,每种书都有一个书号,书号唯一地标识了一种书。在书库中,每册书有一个登录号,登录号唯一地标识了一册书。此外,为了图书检索的方便,将图书按学科分类,分类号用来标识不同的学科领域。 各类单据和文件的结构如下所示。 订购单:订购批号、书名、作者名、出版单位、出版年份、单价、订购册数、订购部门代码、订购日期。 到书清单:订购批号、书名、作者名、出版单位、出版年份、单价、册数。 发票:订购批号、发票号、总册数、总金额。 书种文件:分类号、登录号、书名代码、作者代码、出版单位、出版年份、单价、复本标志、典藏部门代码、借出标志。 其中,复本标志用来指示该种书在书库中有没有复本:对于书名相同的若干种书,书名代码是相同的。 书名文件:书名代码、书名。 作者文件:作者代码、作者名。 【问题1】 指出验收文件至少应由哪些数据项组成。 【问题2】 由于处理5和处理6的分类,可能导致分类后的文件中一张发票无法找到与它对应的那些书,从而当一组发票的金额之和与一组到书清单中的书价之和不等时,无法知道是哪一张发票和哪一份清单不一致。如果仍使用原流程图,那么当到书清单文件的结构做何改动后,能找出不一致的发票和相应的书目。 [*] 【问题3】 若在书种文件中增加数据项“书号”,则如何重新设计复本文件的结构,使数据冗余最小。 (分数:15.00) __________________________________________________________________________________________ 正确答案:() 解析:[问题1] 书名、作者名、出版单位、出版年份、单价、册数、订购部门代码(或典藏部门代码)。 [问题2] 在到书清单中增加“发票号”。 [问题3] 书号、登录号、典藏部门代码、借出标志。 [解析] 阅读流程图,可以看出验收文件是一个中间文件,既有数据来源,又要提供数据给其他文件,数据来源是订购单文件、发票文件和到书清单文件,所以它的数据项应该由这3个文件直接或间接处理产生。验收文件还要用于在处理8更新书种文件、书名文件、作者文件和复本文件4个文件,所以它的数据项还要保证处理8能够更新这4个文件,即这4个文件没有,但更新又需要的数据项。 比照涉及到的各个文件的数据项组成,可以推出,验收文件至少应该包含书名、作者名、出版单位、出版年份、单价、册数、订购部门/典藏部门代码等数据项。 问题2内容很长,看起来很复杂,其实就是关于“发票”对号的问题,所以,稍加分析,可以得出结论:在到书清单中增加“发票号”。 由说明可知,每种书都有一个书号,书号唯一地标识了一种图书。一种图书的不同复本的著录信息是相同的,但登录号对于每一册图书是唯一的,典藏部门代码和借出标志也是针对某一册图书而有所不同的。所以,在书种文件中增加数据项“书号”后,复本文件中关于该种图书的出版发行信息及分类号,书名代码、作者代码等的数据项可以删除而不影响系统的功能。 二、{{B}}试题二{{/B}}(总题数:1,分数:15.00)

2.【说明】 在一个航空公司的航班管理系统中,有以下一些事实。 (1)一个航班可能是一个或多个乘客的运输工具,每个乘客可能是一个或多个航班的旅客。 (2)一个且仅一个飞行员必须对每个航班负责,每个飞行员可能负责一个或多个航班。 (3)一个或多个飞行员必须对每个乘客负责,每个飞行员必须对一个或多个乘客负责。 现有飞行员的实体如下: 飞行员(飞行员编号,航班编号,姓名,工资,起飞地,到达地,飞行信用时间) 说明:飞行信用时间是一个特定的航班分配给一名飞行员,授权他可以驾驶管理这个航班。 【问题1】 实体“飞行员”是否符合1NF,如果不符合,如何将它规范化。 【问题2】 由问题1得到的实体“飞行员”是否符合2NF,如果不符合,如何将它规范化。 【问题3】 指出最后得到关系模式的候选码。 (分数:15.00) __________________________________________________________________________________________ 正确答案:() 解析:[问题1] 航班(航班编号,起飞地,到达地) 飞行员(飞行员编号,航班编号,飞行员姓名,工资,飞行信用时间) [问题2] 飞行员(飞行员编号,飞行员姓名,工资) 信用时间(飞行员编号,航班编号,信用时间) [问题3] 航班一航班编号;飞行员—飞行员编号:信用时间—飞行员编号,航班编号 [解析] 为了将飞行员实体转换成1NF,必须将它划分成两个实体:飞行员和航班。 航班(航班编号,起飞地,到达地) 飞行员(飞行员编号,航班编号,飞行员姓名,工资,飞行信用时间) 问题1中得到的飞行员实体不属于2NF,因为尽管复合键是(Flight-Id,Pilot-Id),但是Flight-Time-Credited是只依赖于Flight-Id,而不依赖于Pilot-Id。因此,应将它划分为两个实体,即飞行员和信用实现。如下: 飞行员(飞行员编号,飞行员姓名,工资) 信用时间(飞行员编号,航班编号,信用时间) 三、{{B}}试题三{{/B}}(总题数:1,分数:15.00)

3.【说明】 银行客户需要从ATM取100元,他向ATM的读卡机插卡,读卡机读取他的卡号,然后ATM屏幕初始化,ATM提示输入密码,客户输入密码(123456),ATM打开他的账户,密码有效,因此ATM提示选择事务,客户选择取钱,ATM提示输入金额,客户输入100元,ATM验证账户上有足够的钱,就从账上减去100元,ATM吐出100元,并退出的卡。 【问题】 根据上面的描述,在下面填写,完成未完成的协作图。 1.插卡(客户一读卡机) 2._(____→____) 3._(____→____) 4.提示输入PIN (123456) (ATM 显示屏→客户) 5._(____→____) 6._(____→____) 7.验证PIN(__→__) 8.提示选择事务(__→__) 9._(客户→ATM屏幕) 10.提示金额(ATM屏幕→客户) 11.输入金额(客户→ATM屏幕) 12.取钱(ATM屏幕→的账户) 13._(____→____) 14._(____→____) 15._(____→____) 16.提供收据(客户的账户→取钱机) 17._(____→____) [*] (分数:15.00) __________________________________________________________________________________________ 正确答案:() 解析:1.插卡(客户→读卡机) 2.读卡号(读卡机→读卡机) 3.屏幕初始化(读卡机→ATM屏幕) 4.提示输入PIN(ATM显示屏→客户) 5.输入PIN(123456)(客户→ATM屏幕) 6.打开账户(ATM屏幕→客户的账户) 7.验证PIN(ATM屏幕→客户的账户) 8.提示选择事务(ATM屏幕→客户) 9.选择事务(取钱)(客户→ATM屏幕) 10.提示金额(ATM屏幕→客户) 11.输入金额(100元)(客户→ATM屏幕) 12.取钱(100元)(ATM屏幕→客户的账户) 13.验钱(100元)(客户的账户→客户的账户) 14.扣钱(100元)(客户的账户→客户的账户) 15.提供钱(100元)(客户的账户→取钱机) 16.提供收据(客户的账户→取钱机) 17.退卡(客户的账户→读卡机) [解析] 这道题和模拟试题4中的试题3是相似的,一个需求描述的时序图和协作图是可以相互转换的,所以,这个取钱过程的时序图的分析方法同样可以用在协作图的分析上。 根据上述的分析方法并结合题中已经给出的提示可以得出答案,答案如下。 四、{{B}}试题四{{/B}}(总题数:1,分数:15.00)

4.【说明】本程序从正文文件text.in中读入一篇英文短文,统计该短文中不同单词及出现次数,并按词典编辑顺序将单词及出现次数输出到正文文件word.out中。 程序用一棵有序二叉树存储这些单词及其出现的次数,边读入边建立,然后中序遍历该二叉树,将遍历经过的二叉树上的结点的内容输出。 #include <stdio.h> #include <malloc.h> #include <ctype.h> #include <string.h> #define INF "text.in" #define OUTF "wotd.out" typedef struct treenode{ char *word; int count; struct treenode *left,*right; }BNODE int getword (FILE *fpt,char *word) { char c; c=fgetc (fpt); if ( c=EOF) return 0; while(!(tolower(c)>='a' && tolower(c)<='z')) { c=fgetc (fpt); if ( c==EOF) return 0; } /*跳过单词间的所有非字母字符*/ while (tolower (c)>='a' && tolower (c)<='z') { *word++=c; c=fgetc (fpt); } *word='/0'; return 1; } void binary_tree(BNODE **t,char *word) { BNODE *ptr,*p;int compres; P=NULL;{{U}} (1) {{/U}}; while (ptr) /*寻找插入位置*/ { compres=strcmp (word,{{U}} (2) {{/U}});/*保存当前比较结果*/ if (!compres) { {{U}} (3) {{/U}};return;} else { {{U}} (4) {{/U}}; ptr=compres>0? ptr->right:ptr->left; } } ptr= (BNODE*) malloc (sizeof (BNODE)) ; ptr->left = ptr->right = NULL; ptr->word= (char*) malloc (strlen

相关文档
最新文档