2017年上半年软件设计师下午真题试卷
- 格式:doc
- 大小:901.50 KB
- 文档页数:19
2017年上半年软件水平考试(高级)系统分析师下午(案例分析)真题试卷(题后含答案及解析)题型有:1.jpg />正确答案:(1)乘客信息注册、乘客身份认证、乘客信用信息管理。
(2)出租车司机信息注册、出租车司机身份认证、司机违章情况审核。
(3)支付管理。
(4)订单发起、订单提交、订单跟踪、订单撤销。
3.为了提高系统开发效率,公司的系统分析师王工设计了一个基于微服务的软件交付流程,其核心思想是将业务功能定义为任务,将完成某个业务功能时涉及到的步骤和过程定义为子任务,只有当所有的子任务都测试通过后该业务功能才能上线交付。
请基于王工设计的在线支付微服务交付流程,从(a)~(f)中分别选出合适的内容填入图1—1中的(1)~(5)处。
选项:(a)提交测试(b)全量上线(c)对接借记卡(d)获取个人优惠券(e)试部署(f)对账正确答案:(1)f(2)c(3)d(4)a(5)b阅读以下关于系统数据分析与建模的叙述,在答题纸上回答以下问题。
【说明】某软件公司受快递公司委托,拟开发一套快递业务综合管理系统,实现快递单和物流信息的综合管理。
项目组在系统逻辑数据模型设计中,需要描述的快递单样式如图2—1所示,图2—2是项目组针对该快递单所设计的候选实体及其属性。
4.数据库设计主要包括概念设计、逻辑设计和物理设计三个阶段,请用200字以内文字说明这三个阶段的主要任务。
正确答案:概念设计也称为概念结构设计,其任务是在需求分析阶段产生的需求说明书的基础上,按照特定的方法将它们抽象为一个不依赖于任何DBMS 的数据模型,即概念模型。
概念模型的表现形式即ER模型。
逻辑设计也称为逻辑结构设计,其主要任务是将概念模型转换为某个特定的DBMS上的逻辑模型。
设计逻辑结构时,首先为概念模型选定一个合适的逻辑模型(如:关系模式或层次模型),然后将其转化为由特定DBMS支持的逻辑模型,最后对逻辑模型进行优化。
物理设计也称为物理结构设计,其任务是对给定的逻辑模型选取一个最适合应用环境的物理结构。
2017年上半年软件水平考试(高级)信息系统项目管理师下午(论文)真题试卷(题后含答案及解析)题型有:1. 选答题选答题(满分75分)1、从下列试题中任选1道解答,请在答卷上用“○”圈住选答的试题编号。
若答题超过1道,则按题号最小的1道题评分。
2、解答应分摘要和正文两部分。
在书写时,请注意以下两点:①、摘要字数在400字以内,可分条叙述,但不允许有图、表和流程图。
②、正文字数为2000-3000字,文中可以分条叙述,但不要全部用分条叙述的方式。
3、解答时字迹务必清楚,字迹不清,将不评分。
1.论信息系统项目的范围管理实施项目范围管理的目的是包括确保项目做且只做所需的全部工作,以顺利完成项目的各个过程。
项目范围管理关注为项目界定清楚工作边界,防止范围蔓延。
当必须改变项目工作边界时,项目范围管理提供了一套规范的方法处理范围变更。
请围绕“信息系统项目的范围管理”论题,依次从以下三个方面进行论述。
1.概要叙述你所参与管理过的信息系统项目(项目的背景、目标、规模、发起单位、项目内容、组织结构、项目周期、交付成果等),并说明你在其中承担的工作。
2.结合项目实际,论述你对项目范围管理的认识,可以包括但不限于以下几个方面。
(1)项目范围对项目的意义。
(2)项目范围管理的主要过程、工具和技术。
(3)引起项目范围变更的因素。
(4)如何做好项目范围控制,防止项目范围蔓延。
3.请结合论文中所提到的信息系统项目,介绍你是如何进行范围管理的,包括具体做法和经验教训。
正确答案:第一方面评分要点如下:论文结构合理,摘要正确,正文完整,语言流畅,字迹清楚。
所述项目真实可信,介绍得当。
第二方面评分要点如下:论述的要点要覆盖题目要求的四个方面,但又不局限于该四方面。
(1)项目范围对项目的意义(a)清楚了项目的工作具体范围和具体工作内容,为提高成本、时间和资源估算的准确性提供了基础。
(b)项目范围既然是确定要完成哪些具体的工作,项目范围基准是确定项目进度测量和控制的基准。
2019上半年软件设计师下午真题及答案试题一(共15分)阅读下列说明和图,回答问题1至问题4,将解答填入答题纸的对应栏内。
【说明】某学校欲开发一学生跟踪系统,以便更自动化、更全面地对学生在校情况(到课情况和健康状态等)进行管理和追踪,使家长能及时了解子女的到课情况和健康状态,并在有健康问题时及时与医护机构对接。
该系统的主要功能是:(1)采集学生状态。
通过学生卡传感器,采集学生心率、体温(摄氏度)等健康指标及其所在位置等信息并记录。
每张学生卡有唯一的标识(ID)与一个学生对应。
(2)健康状态告警。
在学生健康状态出问题时,系统向班主任、家长和医护机构健康服务系统发出健康状态警告,由医护机构健康服务系统通知相关医生进行处理。
(3)到课检查。
综合比对学生状态、课表以及所处校园场所之间的信息对学生到课情况进行判定。
对旷课学生,向其家长和班主任发送旷课警告。
(4)汇总在校情况。
定期汇总在校情况,并将报告发送给家长和班主任。
(5)家长注册。
家长注册使用该系统,指定自己子女,存入家长信息,待审核。
(6)基础信息管理。
学校管理人员对学生及其所用学生卡和班主任、课表(班级、上课时间及场所等)、校园场所(名称和所在位置区域)等基础信息进行管理;对家长注册申请进行审核,更新家长状态,将家长ID加入学生信息记录中使家长与其子女进行关联,向家长发送注册结果。
一个学生至少有一个家长,可以有多个家长。
课表信息包括班级、班主任、时间和位置等。
现采用结构化方法对学生跟踪系统进行分析与设计,获得如图1-1所示的上下文数据流图和图1-2所示的0层数据流图。
【问题1】(5分)使用说明中的词语,给出图1-1中的实体E1?E5的名称。
【问题2】(4分)使用说明中的词语,给出图1-2中的数据存储D1?D4的名称。
【问题3】(3分)根据说明和图中术语,补充图1-2中缺失的数据流及其起点和终点(三条即可)。
【问题4】(3分)根据说明中的术语,说明图1-1中数据流“学生状态”和“学生信息”的组成。
全国计算机技术与软件专业技术资格(水平)考试2017年上半年程序员上午试卷(考试时间9 : 00 〜11 : 30 共150分钟)1. 在答题卡的指定位置上正确写入你的姓名和准考证号,并用正规2B铅笔在你写入的准考证号下填涂准考证号。
2. 本试卷的试题中共有75个空格,需要全部解答,每个空格1分,满分75分。
3. 每个空格对应一个序号,有A、B、C、D四个选项,请选择一个最恰当的选项作为解答,在答题卡相应序号下填涂该选项。
4. 解答前务必阅读例题和答题卡上的例题填涂样式及填涂注意事项。
解答时用正规2B铅笔正确填涂选项,如需修改,请用橡皮擦干净,否则会导致不能正确评分。
例题• 2017年上半年全国计算机技术与软件专业技术资格(水平)考试日期是(88)月(89)日。
(88) A. 3 B. 4 C. 5 D. 6(89) A. 20 B. 21 C. 22 D. 23因为考试日期是“ 5月20日”,故(88)选C,(89)选A,应在答题卡序号88下对C填涂,在序号89下对A填涂(参看答题卡)•在Win dows资源管理中,如果选中的某个文件,再按Delete 键可以将该文件删除,但需要时还能将该文件恢复。
若用户同时按下 Delete 和(1)组合键时,则可以删除此文件且无法从“回收站”恢复。
•计算机软件有系统软件和应用软件,下列(2)属于应用软件。
(2)A.Li nux B.U nixC.Wi ndows7D.l nternetExplorer•某公司2016年10月员工工资表如下所示。
若要计算员工的实发工资, 可先在J3单元格中输入(3),再向垂直方向拖动填充柄至Jl 2单元格,则可 自动算出这些 员工的实发工资。
若要将缺勤和全勤的人数统计分别显示在 B13和D13单元格中,则可B13和D13中分别填写(4))(3) A.=SUM(D$3: F$3)-(H$3 : I$3) B.=SUM(D$3 F$3)+(H$3 :I$3)C.=SUM(D3 F3)-SUM(H3 I3)D.SUM(D3 F3)+SUM(H3 I3)(4) A.=COUNT(E3 E12, >=0)和=COUNT(E3:E12,=300)B. =COUNT(E3:E12, “》=0” 和 COUNT(E3:E12, “ =300”C. =COUNTIF(E3:E12,>=0和 COUNTIF(E3 E12, =300)D. =COUNTIF(E3 E12, “ =0”)和 COUNTIF(E3:E12, “ =300” )⑴A.CtrlB.ShiftC.AltD.Alt 和 Ctrl“工■woroisocoo4 JOO ooCO300000 400MW) DO杓独00代如00J 400 A0 37'0 OO 1IOOOO150 OT2WQOO JU100M1JOC.OOW50.0G'* i1(^0 00 1950,00” I -- i ™*mow瞰 OO"WIN 期 •WCM)•统一资源地址(URL) /index.html 中的http 和index.html 分别表示(5)。
2017年上半年软件水平考试(高级)系统分析师下午(论文)真题试卷(题后含答案及解析)题型有:1. 选答题选答题(满分75分)1、从下列试题中任选1道解答,请在答卷上用“○”圈住选答的试题编号。
若答题超过1道,则按题号最小的1道题评分。
2、解答应分摘要和正文两部分。
在书写时,请注意以下两点:①、摘要字数在400字以内,可分条叙述,但不允许有图、表和流程图。
②、正文字数为2000-3000字,文中可以分条叙述,但不要全部用分条叙述的方式。
3、解答时字迹务必清楚,字迹不清,将不评分。
1.论需求分析方法及应用需求分析是提炼、分析和仔细审查已经获取到的需求的过程。
需求分析的目的是确保所有的项目干系人(利益相关者)都理解需求的含义并找出其中的错误、遗漏或其他不足的地方。
需求分析的关键在于对问题域的研究与理解。
为了便于理解问题域,现代软件工程所推荐的需求分析方法是对问题域进行抽象,将其分解为若干个基本元素,然后对元素之间的关系进行建模。
常见的需求分析方法包括面向对象的分析方法、面向问题域的分析方法、结构化分析方法等。
而无论采用何种方法,需求分析的主要工作内容都基本相同。
请围绕“需求分析方法及应用”论题,依次从以下三个方面进行论述。
1.简要叙述你参与管理和开发的软件系统开发项目以及你在其中所承担的主要工作。
2.概要论述需求分析工作过程所包含的主要工作内容。
3.结合你具体参与管理和开发的实际项目,说明采用了何种需求分析方法,并举例详细描述具体的需求分析过程。
正确答案:本文的内容组织过程中需要注意的,主要是需求分析涉及到的工作内容。
需求分析的工作通常包括以下七个方面。
(1)绘制系统上下文范围关系图。
这种关系图是用于定义系统与系统外部实体间的界限和接口的简单模型,它可以为需求确定一个范围。
(2)创建用户界面原型。
用户界面对于一个系统来说是十分重要的,因此,在需求分析阶段通过快速开发工具开发一个抛弃式原型,或者通过PowerPoint、Flash等演示工具制作一个演示原型,甚至是用纸和笔画出一些关键的界面接口示意图,将帮助用户更好地理解所要解决的问题,更好地理解系统。
2017年上半年软件水平考试(中级)多媒体应用设计师下午(应用技术)真题试卷(题后含答案及解析)题型有:1. 试题一 2. 试题二 3. 试题三 4. 试题四试题一(15分)计算机只能处理数字化的图像。
分辨率、像素深度和色彩类型等均是数字化图像的重要参数。
1.1.简述图像分辨率的含义;2.简述显示分辨率的含义;3.简述像素分辨率的含义。
正确答案:1.图像分辨率是组成一幅图像的像素数目。
图像分辨率越高,像素越多。
2.显示分辨率是指显示屏上能够显示出的像素数目。
3.像素分辨率是指一个像素的宽和高之比。
解析:分辨率是位图图像的重要参数,常见的分辨率有图像分辨率、显示分辨率和像素分辨率3种。
图像分辨率是组成一幅图像的像素数目,是一幅图像的像素密度的度量方法。
对于同样大小的一幅图,组成该图的图像像素数目越多,则说明图像的分辨率越高,看起来就越逼真。
显示分辨率是屏幕上能够显示出的像素数目。
屏幕能够显示的像素越多,说明显示设备的分辨率越高,显示图像的质量也越高。
像素分辨率是指一个像素的宽和长之比。
在像素分辨率不同的计算机间传播图像时会产生图像变形。
2.已知有一幅8×6英寸的彩色图像,如果采用图像扫描仪将其转化为数字图像,扫描参数设置为150DPI。
1.给出DPI的英文全称,并写出其中文含义;2.请说明经扫描所得到的图像分辨率为多少像素,以a×b格式表示;3.若将该扫描得到的图像在显示分辨率为1920×1280的显示屏上进行100%显示,能否完整显示?请给出该图像显示区域占屏幕区域的比例。
正确答案:1.DPI(Dots Per Inch),每英寸多少个点。
2.1200×900 3.可以完整显示。
该图像所占屏幕比例为(1200×900)/(1920×1280),约44%解析:在用扫描仪扫描彩色图像时,通常需要指定图像的分辨率,即DPI(Dots Per Inch),用每英寸多少个点表示。
2017年上半年软件设计师下午案例分析真题(试题六)6、阅读下列说明和Java代码,将应填入(n) 处的字句写在答题纸的对应栏内。
【说明】某快餐厅主要制作并出售儿童套餐,一般包括主餐(各类比萨)、饮料和玩具,其餐品种类可能不同,但其制作过程相同。
前台服务员(Waiter) 调度厨师制作套餐。
现采用生成器(Builder) 模式实现制作过程,得到如图6-1 所示的类图。
【Java代码】class Pizza {private String parts;public void setParts(String parts) { this.parts = parts; }public String toString() { return this.parts; }}abstract class PizzaBuilder {protected Pizza pizza;public Pizza getPizza() { return pizza; }public void createNewPizza() { pizza = new Pizza(); }public (1) ;}class HawaiianPizzaBuilder extends PizzaBuilder {public void buildParts() { pizza.setParts("cross + mild + ham&pineapp1e”};}class SpicyPizzaBuilder extends PizzaBuilder {public void buildParts() { pizza.setParts("pan baked + hot + pepperoni&salami"); } }class Waiter {private PizzaBuilder pizzaBuilder;public void setPizzaBuilder(PizzaBuilder pizzaBuilder) { /*设置构建器*/ ( 2 ) ;}public Pizza getPizza(){ return pizzaBuilder.getPizza(); }public void construct() { /*构建*/pizzaBuilder.createNewPizza();( 3 ) ;}}Class FastFoodOrdering {public static viod mainSting[]args) {Waiter waiter = new Waiter();PizzaBuilder hawaiian_pizzabuilder = new HawaiianPizzaBuilder();( 4 ) ;( 5 ) ;System.out.println("pizza: " + waiter.getPizza());}}程序的输出结果为:Pizza:cross + mild + ham&pineapple。
上半年软件设计师下午真题及答案集团文件版本号:(M928-T898-M248-WU2669-I2896-DQ586-M1988)2019上半年软件设计师下午真题及答案试题一(共15分)阅读下列说明和图,回答问题1至问题4,将解答填入答题纸的对应栏内。
【说明】某学校欲开发一学生跟踪系统,以便更自动化、更全面地对学生在校情况(到课情况和健康状态等)进行管理和追踪,使家长能及时了解子女的到课情况和健康状态,并在有健康问题时及时与医护机构对接。
该系统的主要功能是:(1)采集学生状态。
通过学生卡传感器,采集学生心率、体温(摄氏度)等健康指标及其所在位置等信息并记录。
每张学生卡有唯一的标识(ID)与一个学生对应。
(2)健康状态告警。
在学生健康状态出问题时,系统向班主任、家长和医护机构健康服务系统发出健康状态警告,由医护机构健康服务系统通知相关医生进行处理。
(3)到课检查。
综合比对学生状态、课表以及所处校园场所之间的信息对学生到课情况进行判定。
对旷课学生,向其家长和班主任发送旷课警告。
(4)汇总在校情况。
定期汇总在校情况,并将报告发送给家长和班主任。
(5)家长注册。
家长注册使用该系统,指定自己子女,存入家长信息,待审核。
(6)基础信息管理。
学校管理人员对学生及其所用学生卡和班主任、课表(班级、上课时间及场所等)、校园场所(名称和所在位置区域)等基础信息进行管理;对家长注册申请进行审核,更新家长状态,将家长ID加入学生信息记录中使家长与其子女进行关联,向家长发送注册结果。
一个学生至少有一个家长,可以有多个家长。
课表信息包括班级、班主任、时间和位置等。
现采用结构化方法对学生跟踪系统进行分析与设计,获得如图1-1所示的上下文数据流图和图1-2所示的0层数据流图。
【问题1】(5分)使用说明中的词语,给出图1-1中的实体E1?E5的名称。
【问题2】(4分)使用说明中的词语,给出图1-2中的数据存储D1?D4的名称。
【问题3】(3分)根据说明和图中术语,补充图1-2中缺失的数据流及其起点和终点(三条即可)。
2017年上半年软件水平考试(初级)信息处理技术员下午(应用技术)真题试卷(题后含答案及解析)题型有:1. 试题一 2. 试题二 3. 试题三 4. 试题四 5. 试题五试题一(15分)1.利用系统提供的素材,按题目要求完成后,用Word的保存功能直接存盘。
青海湖环湖赛青海湖国际公路自行车赛(Tour of Qinghai Lake)从2002年开始,是中国最高等级,也是亚洲项级的公路自行车赛事,仅次于环法、环意大利、环西班牙等职业巡回赛,而且它的海拔高度是那些更著名的职业自行车赛无法企及的。
要求:1.将文章标题设置为宋体、二号、加粗、居中;正文设置为仿宋、小四。
2.页面设置为横向,纸张宽度25厘米,高度18厘米,页面内容居中对齐。
3.为正文添加双线条的边框,2.25磅,颜色设置为蓝色。
4.为“青海湖国际公路自行车赛”添加双线型下划线。
5.在正文第一自然段后另起一行录入第二段文字:截至2017年,已举办十六届,线路也从环湖地区延伸到祁连、张掖、武威、景泰等周边地市,总行程3139公里,骑行线路2002公里,最高海拔4120米。
正确答案:解析:【考查目的】文字录入及编排。
开始菜单的使用。
页面布局菜单的使用。
【要点分析】本题要点:文档字体设置、页面设置、文字录入、边框设置。
【操作的关键步骤】(1)字体设置。
选定文档对象,通过“开始”菜单下的“字体”命令进行文档格式设置。
(2)页面设置。
通过“页面布局”菜单下的“页面设置”命令进行设置。
(3)边框设置。
通过“页面布局”菜单下的“页面边框”命令进行设置。
试题二(15分)2.用Word软件制作如图示的应聘人员登记表。
按题目要求完成后,用Word的保存功能直接存盘。
要求:1.利用相关工具绘制如图示的应聘人员登记表。
2.将标题设置为宋体、二号、黑色、加粗、居中;其他文字设置为宋体、小四、黑色。
正确答案:解析:【考查目的】文字设置和编排。
绘制表格。
【要点分析】本题要点:绘制表格、字体设置、录入文字并进行编排。
2017年上半年软件设计师下午试卷第 1 题阅读下列说明和图,回答问题1至问题4,将解答填入答题纸的对应栏内。
【说明】某医疗器械公司作为复杂医疗产品的集成商,必须保持高质量部件的及时供应。
为了实现这一目标,该公司欲开发一采购系统。
系统的主要功能如下: 1、检查库存水平。
采购部门每天检查部件库存量,当特定部件的库存量降至其订货点时,返回低存量部件及库存量。
2、下达采购订单。
采购部门针对低存量部件及库存量提交采购请求,向其供应商(通过供应商文件访问供应商数据)下达采购订单,并存储于采购订单文件中。
3、交运部件。
当供应商提交提单并交运部件时,运输和接收(S/R)部门通过执行以下三步过程接收货物:(1)验证装运部件。
通过访问采购订单并将其与提单进行比较来验证装运的部件,并将提单信息发给S/R 职员。
如果收货部件项目出现在采购订单和提单上,则已验证的提单和收货部件项目将被送去检验。
否则,将S/R职员提交的装运错误信息生成装运错误通知发送给供应商。
(2) 检验部件质量。
通过访问质量标准来检查装运部件的质量,并将己验证的提单发给检验员。
如果部件满足所有质量标准,则将其添加到接受的部件列表用于更新部件库存。
如果部件未通过检查,则将检验员创建的缺陷装运信息生成缺陷装运通知发送给供应商。
(3)更新部件库存。
库管员根据收到的接受的部件列表添加本次采购数量,与原有库存量累加来更新库存部件中的库存量。
标记订单采购完成。
现采用结构化方法对该采购系统进行分析与设计,获得如图1-1 所示的上下文数据流图和图1-2 所示的0 层数据流图。
图1-1 上下文数据流图图1-2 0层数据流图问题:1。
1使用说明中的词语,给出图1-1中的实体E1~E5问题:1.2使用说明中的词语,给出图1-2中的数据存储D1~D4的名称。
问题:1.3根据说明和图中术语,补充图1-2中缺失的数据流及其起点和终点。
问题:1.4用200 字以内文字,说明建模图1-1 和图1-2 时如何保持数据流图平衡。
问题1答案解析:问题1:E1 供应商E2 采购部门E3 检验员E4 库管员E5 S/R职员问题2答案解析:问题2 D1 库存表D2 采购订单表D3 质量标准表D4 供应商表问题3答案解析:装运错误通知:P3(验证装运部件)-----E1(客户)缺陷装运通知:P4(校验部件质量)-----E1(客户)产品检验:P3(验证装运部件)------ P4(校验部件质量)检查库存信息:P1(检查库存水平)-----D1(库存表)问题4答案解析:父图中某个加工的输入输出数据流必须与其子图的输入输出数据流在数量上和名字上相同。
父图的一个输入(或输出)数据流对应于子图中几个输入(或输出)数据流,而子图中组成的这些数据流的数据项全体正好是父图中的这一个数据流。
第2题读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】某房屋租赁公司拟开发一个管理系统用于管理其持有的房屋、租客及员工信息。
请根据下述需求描述完成系统的数据库设计。
【需求描述】1、公司拥有多幢公寓楼,每幢公寓楼有唯一的楼编号和地址。
每幢公寓楼中有多套公寓,每套公寓在楼内有唯一的编号(不同公寓楼内的公寓号可相同〉。
系统需记录每套公寓的卧室数和卫生间数。
2、员工和租客在系统中有唯一的编号(员工编号和租客编号)。
3、对于每个租客,系统需记录姓名、多个联系电话、一个银行账号(方便自动扣房租)、一个紧急联系人的姓名及联系电话。
4、系统需记录每个员工的姓名、一个联系电话和月工资。
员工类别可以是经理或维修工,也可兼任。
每个经理可以管理多幢公寓楼。
每幢公寓楼必须由一个经理管理。
系统需记录每个维修工的业务技能,如:水暖维修、电工、木工等。
5、租客租赁公寓必须和公司签订租赁合同。
一份租赁合同通常由一个或多个租客(合租)与该公寓楼的经理签订,一个租客也可租赁多套公寓。
合同内容应包含签订日期、开始时间、租期、押金和月租金。
【概念模型设计】根据需求阶段收集的信息,设计的实体联系图(不完整)如图2-1所示。
【逻辑结构设计】根据概念摸型设计阶段完成的实体联系图,得出如下关系模式(不完整):联系电话(电话号码,租客编号)租客(租客编号,姓名,银行账号,联系人姓名,联系人电话)员工(员工编号,姓名,联系电话,类别,月工资,(a))公寓楼( (b) ,地址,经理编号)公寓(楼编号,公寓号,卧室数,卫生间数〉合同(合同编号,租客编号,楼编号,公寓号,经理编号,签订日期,起始日期,租期,(c),押金)问题:2.1补充图2-1中的“签约”联系所关联的实体及联系类型。
问题:2.2补充逻辑结构设计中的(a)、(b)、(c)三处空缺。
问题:2.3在租期内,公寓内设施如出现问题,租客可在系统中进行故障登记,填写故障描述,每项故障由系统自动生成唯一的故障编号,由公司派维修工进行故障维修,系统需记录每次维修的维修日期和维修内容。
请根据此需求,对图2-1进行补充,并将所补充的ER图内容转换为一个关系模式,请给出该关系模式。
问题1答案解析:问题2答案解析:问题2(a)业务技能(b)楼编号(c)月租金问题3答案解析:新增维修关系,维修工维修公寓,关系模式为维修情况维修情况(故障编号,员工编号,楼编号,公寓号,维修日期,维修内容)第3题阅读下列系统设计说明,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】某玩具公司正在开发一套电动玩具在线销售系统,用于向注册会员提供端对端的玩具定制和销售服务。
在系统设计阶段,"创建新订单(New Order)" 的设计用例详细描述如表3-1 所示,候选设计类分类如表3-2 所示,并根据该用例设计出部分类图如图3-1所示。
表3-1 创建新订单(NewOrder) 设计用例用例名称创建新订单New Order用例编号ETM-R002参与者会员表3-2 候选设计类分类在订单处理的过程中,会员可以点击“取消订单"取消该订单。
如果支付失败,该订单将被标记为挂起状态,可后续重新支付,如果挂起超时30分钟未支付,系统将自动取消该订单。
订单支付成功后,系统判断订单类型:(1)对于常规订单,标记为备货状态,订单信息发送到货运部,完成打包后交付快递发货;(2)对于定制订单,会自动进入定制状态,定制完成后交付快递发货。
会员在系统中点击”收货"按钮变为收货状态,结束整个订单的处理流程。
根据订单处理过程所设计的状态图如图3-2所示。
问题:3.1根据表3-1中所标记的候选设计类,请按照其类别将编号C1~C12 分别填入表3-2 中的(a)、(b)和(c)处。
问题:3.2根据创建新订单的用例描述,请给出图3-1中X1~X4处对应类的名称。
问题:3.3根据订单处理过程的描述,在图3-2 中S1~S5处分别填入对应的状态名称。
问题1答案解析:(a):C4、C5、C7、C8、C10、C11(b):C3(c):C1、C2、C6、C9、C12一、实体类实体类是用于对必须存储的信息和相关行为建模的类。
实体对象(实体类的实例)用于保存和更新一些现象的有关信息,例如:事件、人员或者一些现实生活中的对象。
实体类通常都是永久性的,它们所具有的属性和关系是长期需要的,有时甚至在系统的整个生存期都需要。
二、边界类边界类是系统内部与系统外部的业务主角之间进行交互建模的类。
边界类依赖于系统外部的环境,比如业务主角的操作习惯、外部的条件的限制等。
它或者是系统为业务主角操作提供的一个GUI,或者系统与其他的系统之间进行一个交互的接口,所以当外部的GUI变化时,或者是通信协议有变化时,只需要修改边界类就可以了,不用再去修改控制类和实体类。
业务主角通过它来与控制对象交互,实现用例的任务。
边界类调用用例内的控制类对象,进行相关的操作。
一个系统可能会有多种边界类:用户界面类- 帮助与系统用户进行通信的类系统接口类- 帮助与其他系统进行通信的类设备接口类- 为用来监测外部事件的设备(如传感器)提供接口的类三、控制类控制类用于对一个或几个用例所特有的控制行为进行建模,它描述的用例的业务逻辑的实现,控制类的设计与用例实现有着很大的关系。
在有些情况下,一个用例可能对应多个控制类对象,或在一个控制类对象中对应着对个用例。
它们之间没有固定的对应关系,而是根据具体情况进行分析判断,控制类有效将业务逻辑独立于实体数据和边界控制,专注于处理业务逻辑,控制类会将特有的操作和实体类分离,者有利于实体类的统一化和提高复用性。
当业务主角通过边界类来执行用例的时候,产生一个控制类对象,在用例被执行完后,控制类对象会被销毁。
控制类的特点:独立于环境、和用例的实现关联、使用关联实体类或操作实体类对象、专注于业务逻辑的实现。
当然如果用例的逻辑较为简单,可以直接利用边界类来操作实体类,而不必再使用控制类。
或者用例的逻辑较为固定,业务逻辑固定不会改变。
也可以直接在边界类实现该逻辑。
问题2答案解析:X1:收货地址X2:支付方式X3:邮箱地址X4:电动玩具定制属性问题3答案解析:S1:订单挂起S2:订单备货S3:订单定制S4:订单发货S5:订单收货第4题阅读下列说明和C代码,回答问题 1 至问题3,将解答写在答题纸的对应栏内。
【说明】假币问题:有n枚硬币,其中有一枚是假币,己知假币的重量较轻。
现只有一个天平,要求用尽量少的比较次数找出这枚假币。
【分析问题】将n枚硬币分成相等的两部分:(1)当n为偶数时,将前后两部分,即1。
n/2和n/2+1。
0,放在天平的两端,较轻的一端里有假币,继续在较轻的这部分硬币中用同样的方法找出假币: (2)当n为奇数时,将前后两部分,即1。
(n -1)/2和(n+1)/2+1。
0,放在天平的两端,较轻的一端里有假币,继续在较轻的这部分硬币中用同样的方法找出假币;若两端重量相等,则中间的硬币,即第(n+1)/2枚硬币是假币。
【C代码】下面是算法的C语言实现,其中:coins[]:硬币数组first,last:当前考虑的硬币数组中的第一个和最后一个下标#include <stdio。
h>int getCounterfeitCoin(int coins[],int first,int last){int firstSum = 0,lastSum = 0;int ì;if(first==last-1){ /*只剩两枚硬币*/if(coins[first] < coins[last])return first;return last;}if((last - first + 1) % 2 ==0){/*偶数枚硬币*/for(i = first;i <( 1 );i++){firstSum+= coins[i];}for(i=first + (last-first) / 2 + 1;i < last +1;i++){lastSum += coins[i];}if( 2 ){Return getCounterfeitCoin(coins,first,first+(last-first)/2;) }else{Return getCounterfeitCoin(coins,first+(last-first)/2+1,last;) }}else{/*奇数枚硬币*/for(i=first;i<first+(last-first)/2;i++){firstSum+=coins[i];}for(i=first+(last-first)/2+1;i<last+1;i++){lastSum+=coins[i];}if(firstSum<lastSum){return getCounterfeitCoin(coins,first,first+(last-first)/2-1);}else if(firstSum>lastSum){return getCounterfeitCoin(coins,first+(last-first)/2-1,last);}else{Return( 3 )}}}问题问题:4.1根据题干说明,填充C代码中的空(1)-(3)问题:4.2根据题干说明和C代码,算法采用了()设计策略。