智能家居设计方案思路描述(智能家居设计方案说明)学到了吗
信息来源:互联网 发布时间:2023-12-12
本文试题来源:软考真题app
缺少试题三以下解析不保证准确性【试题一】(25分)阅读以下关于软件架构设计与评估的叙述,在答题纸上回答问题1和问题2[说明]某公司拟开发一套机器学习应用开发平台,支持用户使用浏览器在线进行基于机器学习的智能应用开发活动。
该平台的核心应用场景是用户通过拖拽算法组件灵活定义机器学习流程,采用自助方式进行智能应用设计、实现与部署,并可以开发新算法组件加入平台中在需求分析与架构设计阶段,公司提出的需求和质量属性描述如下:(a)平台用户分为算法工程师、软件工程师和管理员等三种角色,不同角色的功能界面有所不同;
(b)平台应该具备数据库保护措施,能够预防核心数据库被非授权用户访问;(c)平台支持分布式部署,当主站点断电后,应在 20 秒内将请求重定向到备用站点;(d)平台支持初学者和高级用户两种界面操作模式用户可以根据自己的情况灵活选择合适的模式;
(e)平台主站点宕机后,需要在 15 秒内发现错误并启用备用系统;(f)在正常负载情况下,机器学习流程从提交到开始执行,时间间隔不大于5秒;(g)平台支持硬件扩容与升级,能够在3人天内完成所有部署与测试工作;
(h)平台需要对用户的所有操作过程进行详细记录,便与审计工作;(i)平台部署后,针对界面风格的修改需要在3人天内完成;(j)在正常负载情况下,平台应在0.5秒内对用户的界面操作请求进行响应;(k)平台应该与目前国内外主流的机器学习应用开发平台的界面风格保持一致;
(l)平台提供机器学习算法的远程调试功能,支持算法工程师进行远程调试在对平台需求、质量属性描述和架构特性进行分析的基础上,公司的架构师给出了三种候选的架构设计方案,公司目前正在组织相关专家对平台架构进行评估。
[问题1] (9分)在架构评估过程中,质量属性效用树(utility tree)是对系统质量属性进行识别和优先级排序的重要工具请将合适的质量属性名称填入图1-1中()、()空白处,并从题干中的(a)~(l)选择合适的质量属性描述,填入( )~( )空白处,完成该平台的效用树。
图1-1 机器学习应用开发平台效用树[问题2] (16分)针对该系统的功能,赵工建议采用解释器(interpreters)架构风格,李工建议采用管道-过滤器(ppe-and-hIter)的架构风格,王工则建议采用
隐式调用(implicitinvocation)架构风格请针对平台的核心应用场景,从机器学习流程定义的灵活性和学习算法的可扩展性两个方面对三种架构风格进行对比与分析,并指出该平台更适合采用哪种架构风格【解析】
[问题1](1) 性能(2) 可修改性(3) (e)可用性(4) (j)性能(5) (h)安全性(6) (i)可修改[问题2]本题系统中有多个应用场景提到了系统分角色有不同的操作流程与界面,以及在修改扩充系统时,需要能够在限定时间内快速完成任务。
基于这样的情况我们从两方面进行分析:解释器:机器学习流程定义的灵活性高,可扩展能力强,因为解释器风格可以通过自定义流程规则及配套流程解释引擎开发,做到用户层面的流程完全定义,而不需要修改代码,所以无论是修改已有的业务流程,还是要扩展不同的角色,创建新角色的流程都非常便利。
管道过滤器:机器学习流程定义的灵活性较低,可扩展能力较弱,因为管道过滤器是把数据处理职能做成过滤器,把数据传递做成管道,此时如果流程不发生变化,是可以通过这种方式实现的,但一旦流程变化,或是扩展功能,需要对过滤器进行修改调整,或是流程在程序层面重建,此时必须修改代码完成任务。
隐式调用:机器学习流程定义的灵活性一般,可扩展能力一般,隐式调用强调的是通过间接方式进行调用,如采用事件机制,要完成某个动作时先触发事件,事件与相关动作关联,以提升灵活度,本题中可把角色执行业务的流程用事件触发。
这种做法比管道过滤器强,但弱于完全自定义的解释器【试题二】(共25分)阅读以下关于软件系统设计与建模的叙述,在答题纸上回答问题1至问题3[说明]某医院拟委托软件公司开发一套预约挂号管理系统,以便为患者提供更好的就医体验,为医院提供更加科学的预约管理。
本系统的主要功能描述如下:(a)注册登录(b)信息浏览(c)账号管理(d)预约挂号(e)查询与取消预约(f)号源管理(g)报告查询(h)预约管理(i)报表管理(j)信用管理等[问题1] (6分)若采用面向对象
方法对预约挂号管理系统进行分析,得到如图 2-1所示的用例图请将合适的参与者名称填入图 2-1中的( )和( )处,使用题干给出的功能描述(a)~(j),完善用例( )~( )的名称,将正确答案填在答题纸上。
图2-1 用例图[问题2] (10分)预约人员(患者)登录系统后发起预约挂号请求,进入预约界面进行预约挂号时使用数据库访问类获取医生的相关信息,在数据库中调用医生列表,并调取医生出诊时段表,将医生出诊时段反馈到预的界面,并显示给预的人员;预约人员选择医生及就诊时间后确认预的,系统返网预约结果,并向用户显示是否预约成功。
采用面向对象方法对预约挂号过程进行分析,得到如图2-2所示的顺序图,使用题干中给出的描述完善图 2-2 中对象( ),及消息( )~( )的名称,将正确答案填在普题纸上请简要说明在描述对象之间的动态交互关系时,协作图与顺序图存在哪些区别。
图2-2 顺序图[问题3] (9分)采用面向对象方法开发软件,通常需要建立对象模型、动态模型和功能模型,请分别介绍这3种模型,并详细说明它们之间的关联关系,针对上述模型,说明哪些模型可用于软件的需求分析?
【解析】[问题1](1) 系统管理员(2) 患者(3) (a)注册登录(4)-(8) (c)账号管理 (f)号源管理 (h)预约管理 (i)报表管理 (j)信用管理(9)-(12) (b)信息浏览 (d)预约挂号 (e)查询与取消预约 (g)报告查询
[问题2](1) 预约人员 (患者)(2) 预约挂号请求(3)显示医生可预约时段(4)显示预约是否成功顺序图强调的是对象交互的时间次序,通信图强调的是对象之间的组织结构[问题3]概念:对象模型描述了系统的静态结构,一般使用对象图来建模。
对象模型是整个体系中最基础、最核心的部分动态模型描述了系统的交互次序,一般使用状态图来建模关联关系:对象模型描述了动态模型和功能模型所操作的数据结构,对象模型中的操作对应于动态模型中事件和功能模型中的函数;。
动态模型描述了对象模型的控制结构,告诉我们哪些决策是依赖于对象值,哪些引起对象的变化,并激活功能;功能模型描述了由对象模型中操作和动态模型中动作所激活的功能,而功能模型作用在对象模型说明的数据上,同时还表示了对对象值的约束。
【试题四】(共25分)阅读以下关干数据库设计的叙述,在答题纸上回答问题1至问题3[说明]某医药销售企业因业务发展,需要建立线上药品销售系统,为用户提供便捷的互联网药品销售服务、该系统除了常规药品展示、订单、用户交流与反馈功能外,还需要提供当前热销产品排名、评价分类管理等功能。
通过对需求的分析,在数据管理上初步决定采用关系数据库(MySQL)和数据库缓存(Redis)的混合架松实现经过规范化设计之后,该系统的部分数据库表结构如下所示 供应商(供应商ID,供应商名称,联系方式,供应商地址);。
药品(药品ID,药品名称,药品型号,药品价格,供应商ID); 药品库存(药品ID,当前库存数量); 订单(订单号码,药品ID,供应商ID,药品数量,订单金);[问题1] (9分)在系统初步运行后,发现系统数据访问性能较差。
经过分析,刘工认为原来数据库规范化设计后,关系表过于细分,造成了大量的多表关联查询,影响了性能例如当用户查询商品信息时,需要同时显示该药品的信息、供应商的信息、当前库存等信息为此,刘工认为可以采用反规范化设计来改造药品关系的结构,以提高查询性能。
修改后的药品关系结构为:药品(药品ID,药品名称,药品型号,药品价格,供应商ID,供应商名称,当前库存数量);请用200字以内的文字说明常见的反规范化设计方法,并说明用户查询商品信息应该采用哪种反规范化设计方法。
[问题2] (9分)王工认为,反规范化设计可提高查询的性能,但必然会带来数据的不一致性问题请用200字以内的文字说明在反规范化设计中,解决数据不一致性问题的三种常见方法,并说明该系统应该采用哪种方法[问题3] (9分)
该系统采用了Redis来实现某些特定功能(如当前热销药品排名等),同时将药品关系数据放到内存以提高商品查询的性能,但必然会造成Redis和MySQL的数据实时同步问题(1)Redis的数据类型包括String、 Hash、List、 Set和ZSet等,请说明实现当前热销药品排名的功能应该选择使用哪种数据类型。
(2)请用200字以内的文字解释说明解决Redis和MySOL数据实时同步问题的常见方案【解析】[问题1]反规范化主要有四种方法: 1.增加冗余列(复制某一列的数据) 2.增加派生列(计算总和,平均值..)。
3.表合并(把部分来自不同表的常用列合并成新表) 4.表分割(把数据拆分为常用和不常用,行拆分是比如订单信息,列拆分比如账户信息)题中要求是商品信息冗余,所以应该采用的方法。
[问题2]解决一致性的方法主要有三种(参考《数据库反规范化设计的探讨与实现》) 1.使用事物方式(应用程序自己去维护) 2.使用批处理(写个脚本定时去同步,适合数据不实时更新) 3.使用触发器(数据库触发器可以在修改时自动更新)
题目已经是运行一半的程序,用1的话改动太大不合适,2和3都可以使用,但是综合实际情况,供应商一般来说不会经常更换,所以没必要使用触发器,可以采用定时器的方式[问题3]zset 是一种采用数据分数来排序的结构,完美当排名用的。
数据同步的常见方案有两种: 1.被动同步:通常应用程序会在读取数据前检查缓存是否有,如果没有则加载数据库并写入缓存,可以在修改时删除缓存让读取时去数据库获取(有不同步问题,可以通过延迟双删解决);2.主动同步:启动个额外服务去读取数据库binlog文件,通过解析binlog文件来确定数据库发生了什么样的更改从而去更新redis。
【试题五】(共25分)阅读以下关于Web系统架构设计的叙述,在答题纸上回答问题1至问题3[说明]某公司拟开发一个智能家居管理系统,该系统的主要功能需求如下:1)用户可使用该系统客户端实现对家居设备的控制,且家居设备可向客户端反馈实时状态;。
2)支持家居设备数据的实时存储和查询; 3)基于用户数据,挖掘用户生活习惯,向用户提供家居设备智能化使用建议基于上述需求,该公司组建了项目组,在项目会议上,张工给出了基于家庭网关的传统智能家居管理系统的设计思路,李工给出了基于云平台的智能家居系统的设计思路。
经过深入讨论,公司决定采用李工的设计思路[问题1] (8分)请用400字以内的文字简要描述基于家庭网关的传统智能家居管理系统和基于云平台的智能家居管理系统在网关管理、数据处理和系统性能等方面的特点,以说明项目组选择李工设计思路的原因。
[问题2] (12分)请从下面给出的(a)~(j)中进行选择,补充完善图5-1中空( )~( )处的内容,协助李工完成该系统的架构设计方案。
图5-1 基于云平台的智能家居管理系统(a)Wi-FI (b)蓝牙(c)驱动程序 (d)数据库 (e)家庭网关 (f)云平台 (g)微服务 (h)用户终端 (i)鸿蒙 (j)TCP/IP[问题3] (5分)
该系统需实现用户终端与服务端的双向可靠通信请用300字以内的文字从数据传输可靠性的角度对比分析TCP和UDP通信协议的不同,并说明该系统应采用哪种通信协议【解析】[问题1]网关管理:云平台更强,可以实现远程网关管理,可以对不同地点的多种设备进行统一管理,管理能力更强。
数据处理:数据一般经由网关传递到云上数据库中,再进行处理,这样对数据进行分析、挖掘更便利,同时存储在云端,数据更安全,有容灾能力系统性能:数据存在云上数据库中,通信效率更高,同时云有更强的数据处理能力,所以会更高效。
[问题2](1) (h)用户终端(2) (i)鸿蒙(3) (f)云平台(4) (d)数据库(5) (e)家庭网关(6) (c)驱动程序[问题3]该系统应采用TCP协议,这样才能保障用户终端和服务端之间的双向可靠通信。
TCP是一种面向连接的、可靠的、基于字节流的传输层通信协议TCP之所以可靠,是因为建立连接时有3次握手,通信时有回应机制,丢了包会重传,能保障通信可靠性UDP是一种面向无连接的传输层通信协议,丢了包不会重传,不能保障通信可靠性。
免责声明:本站所有信息均搜集自互联网,并不代表本站观点,本站不对其真实合法性负责。如有信息侵犯了您的权益,请告知,本站将立刻处理。联系QQ:1640731186

