案例分析真题1
阅读以下关于软件系统分析与建模的叙述,在纸上回答问题1至3.
说明: 某软件公司拟开发一套汽车租赁系统,科学安全和方便的管理租赁公司的各项业务,提高公司效率,提升利率。注册用户在使用系统镜像车辆预约时需执行以下操作: (a) 用户登录系统 (b) 查询车辆信息 (c) 预订车辆 (d) 提取车辆(e) 归还车辆 (f) 计算结余(g)查询换车时间
问题1:在面向对象软件分析过程中,状态机图和活动图用于建立软件的动态模型,主要描述系统随时间变化的行为,请分别阐述这两种图的概念和特点。
解析:状态图是用来描述一个特定的对象所有的可能的状态,以及犹豫各种时间的发生而引起的状态之间的转移和变化, 主要描述的是行为的结果。用户对系统的动态方面建模
活动图将进程或其他计算的结构展示未计算内部一步步的控制流河数据流,主要用来描述系统的动态视图。活动图主要描述行为的动作。御用对系统的动态方面建模。
问题2:图1-1给出了采用状态机图描写的注册用户的状态交换过程,请使用题干给出的 (a) ~ (g) 补充完善图1-1中的(1)~(7),并给出 (8) 和(9) 空白处的状态转移执行动作。将正确的答案填写在答题纸上。
解析:
(1): (a) 用户登录系统
(2): (b) 查询车辆信息
(3): (g) 查询还车时间
(4): (c) 预订车辆
(5): (e) 归还车辆
(6): (d) 提取车辆
(7): (f) 计算结余
(8):查询到有预定车辆
(9): 查询到无预定车辆
问题3: RUP中有9个核心工作流,分6个核心过程和3个核心支持工作流。9个核心工作流在项目中迭代被使用在每次迭代中以不同的重点和强度重复。结合题干案例,用300字以内的文字简要说明RUP中9个核心工作流的主要作用。
解析:RUP软件开发生命周期是一个二维的软件开发模型, RUP中有9个核心工作流,这9个核心工作流如下。
(1)业务建模(business modeling):理解待开发系统所有的机构及其商业运作, 确保所有参与人员对待开发系统所在的机构有共同的认识,评估待开发系统对所在机构的影响。
(2) 需求(requirements):定义系统功能及用户界面, 使客户知道系统的功能,使卡法人员理解系统的需求, 为项目预算及计划提供基础。
(3)分析与设计(analysis&design):把需求分析的结果转化为分析与设计模型。
(4)实现(implementation):吧设计模型转换为实现结果, 对开发的代码做单元测试, 讲不通实现人员开发的模块集成为可执行系统。
(5)测试 (test):检测各子系统的交互与集成,验证所有需求是否均被正确实现, 对发现的软件质量上的缺陷进行归档,对软件质量提出改进建议。
(6)部署(deployment): 打包,分发,安装团建, 升级旧系统;培训用户及销售人员,并提供技术支持。
(7)配置与比那更(configuration&change Management): 跟踪并维护系统开发过程中产生的所有制品的完整性和一致性。
(8)项目管理(project management): 为软件开发项目提供计划,人员分配,执行, 监控等方面的指导。
(9)环境(environment):为软件开发机构提供软件开发环境,即提供过程管理和工具的支持。
案例分析真题2
阅读以下关于企业信息系统结构化分析的叙述,回答问题1和2.
说明:某软件公司为企业开发一套员工在线教育系统,支持员工利用业余时间开展专业技术培训,提升员工技能。在项目开展初期,采用结构化分析进行开发,并对系统中培训部员工和培训教师的相关功能进行分析,具体需求如下:
(1)培训部根据企业技术发展需求,负责策划培训课程,并形成课程计划,针对不同的员工设置不同的课程;
(2)员工首先在系统进行注册,填写自己的编号,学历,专业,岗位等信息,生成员工注册信息,然后将自己的培训需求录入系统,系统自动评估并进行课程推荐,员工确认后形成课程需求;(3)培训教室也通过系统进行注册,填写自己的编号、学历、专业等信息,形成培训教师注册信息(4)系统根据课程计划、员工注册信息,课程需求和培训教师注册信息,为员工和培训教师生成对应的课程表。
工时系统分析师对上述流程进行了审核,并指出需补充数据字典,从而更完整地对系统建模。
问题1:数据流图(DFD)是结构分析方法的重要工具。请用300字以内的文字描述DFD的定义。
解析:DFD是结构分析方法中的重要工具, 是表达系统内数据的流动并通过数据流描述系统功能的一种方法。DFD从数据传定和加工的角度, 通过逐渐层细分描述系统内各个部件的功能和数据在他们之间传递的情况, 来说明系统所完成的功能。具体来说,DFD的主要左右如下:
(1)DFD是理解和表达用户需求的工具, 是需求分析的手段。由于DFD简明易懂不需要任何计算机专业知识就可以理解他, 因此, 系统分析师可以通过DFD与用户进行交流。
(2)DFD概括地描述了系统的内部逻辑过程,是需求分析结果的表达工具, 也是系统设计的重要参考资料, 是系统设计的起点。
(3)DFD作为一个存档的文字材料,是进一步修改和充实开发计划的依据。在信息系统开发中,如果采用结构话方法, 则一般将DFD作为需求规格说明书的一个组成部分。
问题2:项目组针对题干描述的业务需求,初步绘制了系统流图(2-1),情分析途中的三类错误并对每类错误进行简单解释。
图2-1员工在线教育系统数据流
解析:
第一类错误:数据流从加工直接到数据源活数据潭,比如培训教师课程表是从数据存储培训教师数据库直接到外部对象培训教师;员工课程表从数据存储员工数据流到外部对象员工;
第二类错误:数据流没有方向。比如员工注册数据流没有方向。
第三类错误:加工只有输入流没有输出流,比如需求评估与课程推荐。
案例分析真题3
随着嵌入式计算资源快速提升,容器技术(Docker)发挥重要作用,某公司对原有平台升级,公司将平台升级任务交给了张工,张工经过分析、调研,提出在园嵌入式操作系统平台上采用容器技术的升级方案,但该方案引发了争议。
问题1:争论焦点是采用容器技术还是虚拟机(VM) 技术。李工支出由于容器技术共享主机内核能向虚拟机一样完全隔离,系统存在安全问题;如果采用虚拟机技术除满足需求外,还保证了系统的安全和稳定,会上领导根据系统升级的初衷选择了张工的升级方案,请用300字以内的文字说明容器技术和虚拟技术的含义,并简要论述公司领导采纳容器技术的原因。
解析:容器技术起源于Linux, 是一种内核虚拟话技术,提供轻量级的虚拟话, 以便隔离进程和资源。虚拟机技术指通过模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。在实体计算机中能够完成的工作在虚拟机中都能实现。
容器技术与虚拟机技术相比有如下优势,是公司领导采纳容器技术原因:
a.更高效的利用系统资源:
容器不需要惊醒阴间虚拟以及运行完整的操作系统等额外开销,容器对系统的资源利用率更高。无论是应用执行速度,内存损耗或者文件存储速度,都要比传统虚拟机技术更高效。
b. 更快速的启动时间
传统的虚拟机技术启动应用服务往往需要数分钟,而Docker容器应用, 由于直接运行于宿主内核, 无需启动完整的操作系统,因此可以做到秒级、甚至毫秒级的启动时间。
c. 更轻松的维护和扩展
Docker使用分层存储以及镜像的技术, 使得应用重复部分的复用更为容易, 也使得应用的维护更新更加简单,基与基础景象进一步扩展镜像也变得非常简单。
问题2:表3-1给出了虚拟技术和容器技术的性能对比表,请根据下面的 (a)~ (h) 的8个性能指标,判断这些指标属于哪类对比项,补充完善 3-1的 (1)~(8) 的空白处。
(a) 分钟级、(b) 包含Guestos,G 两级以上(c) 跨操作系统平台迁移、(d) CPU 与内存按核、按G分配 (e) 毫秒/秒级、 (f) Cgroups,进程级别、(g) VM 伸缩,cpu/内存手动伸缩、(h) 实例自动伸缩、cpu/内存自动在线伸缩
表3-1虚拟技术和容器技术的对比表
解析:
(1): b (2): d (3): a (4): e (5): c (6): g (7): h (8): f
案例分析真题4.
某国际大型企业拟向企业开发一个在线社交网络服务(SNS)系统,让企业内部的员工能够通过类似社交网络的方式进行工作和自我管理,以实现企业内部员工高效、透明、便捷的沟通与协作。其基本的工序包括:
1、企业内部部门、员工等基本信息的维护和管理
2、提供常见的SNS服务,如Blog,WiKi,数钱,RSS,即时通信和邮件等
3、提供社交网络,推荐系统等基本功能提高业务协作
除了上述功能性的需求外,还需要满足系统的可拓展、灵活部署以及高性能和高可用性需求企业设计系统小组.…
问题1:李工建议采用SNS中常见的NoSQL数据库技术,原因是传统的关系数据库不能满足实际需求,请用200 字内说明该系统不能采用传统关系数据库的原因,并给出NoSQL数据的基本特点。
解析:在线社交网络(SNS)中的即时通讯系统,需要存储巨量的数据,同时需要快速的响应(查询速度),传统关系型数据库的特点是数据量越大查询越慢,而某些NoSql数据库比如键值数据库,列数据库等非常适合此场景。键值数据库有很高的性能及拓展性。列存储数据库不同于关系型数据库的以行为单位存储,列存储数据库将数据存储与列族中,一个列族存储经常被一个查询的相关数据。 由于他的查询速度快, 列式数据库泽应该发挥他查询速度方面的优势,主要用于海量数据分析一类的应用。
问题2:李工对当前主流的 NOSQL数据库镜像了调研形成了如下表:
解析: (a): OLAP (b): 节点和关系组成的图 (c): 键操作性能高(给予键的增删改查都快), 可扩展性强 (d): 使用json或者xml等格式来存储数据, 格式灵活。
问题3: 针对李工的建议,王工认为单纯使用NoSQL数据库无法完全满足系统要求,考虑到系统功能所涉及到数据类型建议使用混合数据库模型来实现,请用100字以内文字说明。混合数据库模式如何组织?
解析:混合数据库模型整合内存数据库, 关系型数据库,各种类型的NoSql等多种类型的数据库,跟进不通业务场景对数据应用的需求,灵活提供数据服务,同时满足低成本、安全性、可用性、敏捷性、自动化的需求。比如企业内部部门、员工等基本信息的维护和管理适合关系型数据库;即时通讯功能适合兼职数据库或者列式存储数据库;社交网络和推荐系统适合使用图数据库等。基础数据写入到关系型数据库,通过消息中间件或者使用批处理仿似海疆数据同步到对应的NoSql数据库,保证数据的一致性, 在NoSql数据库之上与运行推荐算法,数据网络化处理等。
案例分析真题5.
某公司拟开发一个电商平台用户行为分析系统,该系统可支持对电商平台用户行为数据的采集和实时/高效数据处理分析,统计分析用户访问情况。搜集PV/ UV商品热度等相关数据。系统应具备以下能力
(1)对海量用户行为数据的存储和处理能力
(2)为适应用户行为的随机性,保证系统不会被爆发的日志数据压垮,系统应具备对突发流量的处理能力
(3)对用户数据的营私保护能力针对项目需求,工时召开会议,会上张工提出买那个对大量数据,传统的文件存储于关系型数据库,无法完全解决当前系统问题,应基于大数据技术设计并实现系统,李工提出可就要数据脱敏的方法解决用户隐私的问题
问题1:根据项目要求,该系统需考虑电商平台用户行为的随机性,具有应对突发数据,流量数据的处理能力。请给予大数据相关技术的了解,说明可选那个技术支持流系统应对突发流量暴增情况?并用200字以内说明该技术优势?
解析:流计算面对实时且流式的数据, 流数据是按时间发生顺序地被流计算订阅和消费。故选择流计算技术对突发流量进行削峰填谷。流计算有如下技术优势:
1).可接收实时且无界的数据流。流计算面对计算的是实时且流逝的,流数据是按时间发生顺序的被流计算订阅和消费。且由于数据发生的持续性,数据流将长久且持续地集成进入流计算系统。例如,对于网站的访问点击日志流,只要网站不关闭其点击日志流将一直不停产生并进入流计算系统。因此,对于系统而遇,数据是实时且不终止(无界)的
2). 可进行持续且高效的计算。流计算是一种事件触发的计算模式,触发元就是上述的无界流式数据。一旦有新的流数据进入流计算,流计算立即发起并进行一次计算任务, 因此整个流计算是持续进行的计算。
3). 可进行流逝且实时的数据集成。流数据触发一次流计算的计算结果,可以被直接写入目的数据存储,例如将计算后的报表数据直接写入RDS进行报表展示。因此流数据的计算结果可以类似流式数据一样持续写入目的数据存储。
4). 流计算引擎大都提供数据存储功能, 可对突发流量进行削峰填谷。
问题2:根据张工建议,项目组拟采用大数据技术开发该系统。图5给出本项目架构设计方案,请选择(a)~(m)选项中选出合适的内容,完善(1)~(7) 处
(a) 网络层、(b) 业务层、 (c) 接入层、(d)数据处理、(e) 数据采集(f) Flink 实时计算、(g) Flink 批处理、 (h) Hb(i) Redis、 (i) NoSQLase、田(k) kafka、() 边缘计算、 (m) 设备层
解析:(1): (C)接入层 (2): (K)kafka
(3): (b)业务层 (4): (f)flink实时计算
(5): (g)flink批处理 (6): (h)hbase
(7): (i)redis
问题3:根据李工的建议,项目组拟应用数据脱敏方法对该系统的敏感数据进行脱敏。请用300字以内文字说明常用的5种数据脱敏方法。
解析:1)基于规则的脱敏方法:根据不同的敏感程度,制定相应的脱敏规则。对于姓名、联系方式等个人信息,讲义将关键信息用 * 代替。如 王*、 180****0329。
2)加密脱敏方法:对敏感数据进行加密处理,只有授权的人员可以解密。例如,对于银行账号、信用卡号等敏感信息,可以使用加密算法进行脱敏,只有经过授权的人员才能够查看原始数据。
3) 伪装脱敏方法: 将敏感数据替换成其他的数据, 以达到保护隐私的目的。例如,对于地理位置信息,可以将具体地址替换成地图上的某个随机点,或者将经纬度加上一定的随机偏移量来进行伪装。
4)数据扰动脱敏方法: 将原始数据进行随机处理,以达到数据保护的目的。例如,对于数字类型的敏感数据, 可以对其进行扰动处理, 添加一定的随机值,从而使得原始数据不易被还原。
5) 数据屏蔽脱敏方法: 对于一些敏感数据, 可以采取屏蔽错误,避免其被获取并使用。例如,可以将一些特定的数据列从数据库中删除或者屏蔽掉, 只有经过授权的人员才能够访问。