系统分析师-22年-下午题目

系统分析师-22年-下午题目

  • 更多软考知识请访问 https://ruankao.blog.csdn.net/

  • 试题一必答,二、三、四、五题中任选其中两题作答

试题一 (25分)

说明

某软件公司拟开发一套博客系统,要求能够向用户提供一个便捷发布自已心得,及时有效的与他人进行交流的平台。新用户发布个人博客之前,需要创建一个新的博客账户,以下为新用户注册的操作行为:
(a) 向系统请求创建一个新的博客账户;
(b) 输入个人详细信息;
(c) 使用证件数据库验证个人详细信息;
(d) 选择账户类型;
(e) 身份验证成功,创建新的博客账户;
(f) 用户身份信息验证不成功;
(g) 以电子邮件的方式将账户详细信息发送给用户;
(h) 博客账户申请被拒绝。

问题1 (6分)

在结构化和面向对象的软件分析过程中,通常会使用到数据流图、活动图和流程图,请分别描述这三种模型的特点和适用场景。

问题2 (9分)

采用用例图和用例描述建模系统需求,请使用题干给出的(a)~(h),完善“博客账户创建用例描述”中的(1)~(6),如表1-1所示。将正确答案填在答题纸上。

用例名称创建一个新的博客账户
相关需求新用户的个人资料通过证件数据库验证成功后,CMS系统将允许用户创建一个新的博客账户
上下文目标新用户请求创建一个新的博客账户
前置条件新用户具有真实有效的身份证明
成功的结束条件为新用户创建博客账户
失初败的结束条件创建博客账户的申请被拒绝
主要参与者新用户
次要参与者作者证件数据库
触发器新用户向CMS请求建立一个新的博客账户
基本流程步骤
1(1)
2(2)
3(3)
4(4)
5身份验证成功,创建新的博客账户
6(5)
扩展流程步骤分支动作
1用户身份信息验证不成功
2(6)

问题3 (10分)

需求评审是通过将需求规格说明书递交给相关人员检查,以发现其中存在缺陷的过程。在需求工程中,需求评审是一个非常重要的过程。结合题干案例,请用300字以内的文字简要说明需求评审的内容及作用。

试题二 (25分)

说明

某软件公司为某企业开发一套在线办公自动化系统,以提升企业管理服务的质量和效率。公司决定采用面向对象方法开发该系统,张工负责对员工请假审批业务进行了分析,具体描述如下:企业员工通过请假申请页面提出请假申请后,首先由部门经理进行审核,若请假理由不合理,部门经理拒绝请假申请,将申请退回给员工,员工对请假申请表进行修改再次提交,或放弃请假申请。若请假理由合理,且请假天数小于等于3天,则部门经理直接批准请假申请,生成请假批准单,申请结束。若请假天数大于3天,则在部门经理批准请假申请后,需要提交给副总经理审核批准。副总经理若认为该申请合理,则审核通过,生成请假批准单,流程结束;若副总经理认为申请不合理,则拒绝请假申请,将请假申请退回给员工。

问题1 (11分)

识别设计类是面向对象设计过程中的重要环节之一,设计类表达了类的职责,即该类所承担的任务。请用300字以内的文字说明设计类通常包含哪3种类型,以及每种类型的主要职责,并从题干描述案例涉及的具体类为每种类型的设计类举出两个实例。

问题2 (6分)

识别类之间的关系是面向对象分析过程中的重要环节之一,常见的类之间关系包括泛化关系、关联关系、聚合关系、组合关系等。请用300字以内的文字对泛化关系和关联关系的内涵进行描述,并根据题干具体类的描述为这两种关系各举出一种实例。

问题3 (8分)

在面向对象的设计过程中,状态图描述了一个实体基于事件反应的动态行为。请根据题干描述,填写图2-1中的(a)~(d)空白,完成请假审批的状态图。

状态图

试题三 (25分)

说明

某公司长期从事宇航系统的研制任务。随着宇航系统能力的不断提升,软件的规模急剧增加,对应的缺陷密度呈现出几何增长,失效问题越来越严重。为了保证产品的质量,公司领导要求在重点项目中实施基于模型的系统工程(MBSE)。由于辅助动力控制系统关系着飞行器的飞行安全,有必要作为试点工程首先实施MBSE方法。王工作为安该系统的主要负责人,承担起了此项工作。

问题1 (10分)

王工以前一直负责用传统开发方法进行系统设计,深知基于文本的系统设计方式存在天然的局限性。王工接到指示后,研究了MBSE的相关理论基础和工程实现方法,提出了用MBSE方法设计辅助动力控制系统的实施方案。请用 300 字以内的文字说明什么是MBSE方法,并列举出三个基于文本设计方式的局限性。

问题2 (9分)

MBSE 的核心技术是模型方法论,王工对目前主流建模方法 Harmony-SE (harmony for System Engineering) 方法、RUP-SE (Rational Unified Process for System) 方法和 Vitech MBSE 方法进行了分析、对比,鉴于该系统具备安全攸关系统的特殊性,强调验证的有效性,王工认为 Harmony-SE 方法比较适合宇航环境开发。

图 3-1 给出了 Harmony-SE 方法的产品生命周期结构。请根据以下三种有关建模方式的描述,判定哪种描述是 Harmony-SE 方法
的正确说明?并简要说明王工在本项目中选择 Harmony-SE 方法的理由。

 Harmony-SE

描述 1:一种面向对象的设计方法,可以将设计工作按照角色、工件和任务类型进行分解,生成新的分解结构,实现并行设计与迭代开发。
描述 2: 系统模型贯穿系统研发的整个生命周期,能够较好处理复杂与整体问题
描述 3:一种并行系统工程活动,由四个基本系统工程活动组而成,这四种活动通过公共系统设计库相关联

问题3 (6分)

MBSE方法可以通过软硬件建模来预先评估系统的可靠性。王工带领项目成员针对其负责的辅助动力控制系统中的进排气门控制器组件开展了基于MBSE系统分析工作。图3-2给出了进排气门控制器的可靠性分布图。

分布图

王工指出:系统是由软硬件组成,以往考虑可靠性指标仅仅关注硬件失效问题,而不考虑软件失效对系统可靠性的影响。如果不考虑软件失效对系统可靠性的影响,本系统可靠性的MTTF(Mean Time To Failure,平均失效前时间)应该为125.9h。
(参考公式: 1 T t F s = ∑ i = 1 n 1 T t F s = 1 280 + 1 5.01 ∗ 1 0 4 + 1 1 0 4 + 1 600 + 1 387 = 0.007942 ( 1 / h ) \frac 1{T_{tF_s}} = \sum_{i=1}^n \frac 1{T_{tF_s}} = \frac 1{280} + \frac 1{5.01*10^4} + \frac 1{10^4} + \frac 1{600} + \frac 1{387} = 0.007942(1/h) TtFs1=i=1nTtFs1=2801+5.011041+1041+6001+3871=0.007942(1/h) )。

请对照图3-3给出的考虑软件失效情况下的系统可靠性分布图(这里,假设SYS1软件非常可靠,系统仅仅将圈中的软件可靠性加入系统可靠性的评估过程),说明此时的系统可靠性(MTTF)应大于还是小于不考虑软件失效的MTTF?并计算出此时的系统可靠性(MTTF)是多少?

分布图

试题四 (25分)

说明

某大型电商平台构建了一个在线B2B商店系统。该系统采用微服务架构,将系统功能分解为多个松散耦合且可独立部署的较小组件或服务。最终设计的系统包括了电商系统中常见的服务:客户服务、订单服务、支付服务等,其中:

  1. 客户服务负责对客户相关的信息进行管理和维护;
  2. 订单服务负责对订单信息的管理和维护;
  3. 支付服务负责对在线支付功能和信息的管理和维护等。

为了确保微服务之间的松耦合,每个服务都有自己的数据,其中,订单服务使用了 NoSQL 数据库,客户服务和支付服务使用了关系数据库。
李工认为由于不同服务使用了各自的不同数据库,使得跨服务操作可能存在数据不一致。比如订单与支付的数据一致性问题,系统通过订单服务在本地 NoSQL 数据库中创建订单记录,同时在支付服务的关系数据库中创建支付记录,且必须保证订单记录和支付记录的一致性,该问题在系统构建时需要考虑。

问题1 (7分)

李工建议采用两阶段提交协议(2PC)来解决服务数据的一致性问题。请用200字以内的文字简要说明2PC;说明2PC是否能解决该问题,并简要解释原因。

问题2 (8分)

王工建议采用分布式数据管理方案,用事件驱动架构来解决服务数据的一致性问题,在订单服务和支付服务之间通过可靠的消息队列实现事件的传递,其基本操作步骤如下,请填写其中的空白处。

  1. 订单服务接收订购请求,创建一个订单,该记录状态为(a),发布一个“创建订单”事件;
  2. (b)接收“创建订单”事件,记录(c),发布一个“支付完成”事件;
  3. 订单服务接收“支付完成”事件,修改订单记录状态为(d)。

问题3 (10分)

李工提出王工的方案会有数据库更新和发布事件的原子性问题,例如订单服务创建订单记录和发布“创建订单”事件需要原子性保障,否则会出现数据不一致状态。
王工认为可以使用本地事务发布事件的方法来解决该问题。请给出使用本地事务发布事件的基本方法,并说明该方法的缺点。

试题五 (25分)

说明

某公司拟开发一个食品供应链溯源系统,该系统需要提供从原材料供应商、加工商、物流、分销商、零售商、消费者的食品供应链全流程溯源。该公同组建了项目组,并召开了项目开发讨论会。会上,张工提出适过二维码扫描获取食品信息,采用中心化数数据库作为数据存储媒介;李工提出使用中心化数据库容易产生数据信任、溯源追责困难等问题,建议建立区块链和数据库的映射存储,提供存储和查询操作功能,并提出采用数据接入层、数据核心层、应用表示层三层体系架构实现该食品溯源系统。

问题1 (6分)

去中心化和开放性是区块链的重要特征,请用200字以内的文字简要说明什么是区块链的去中心化和开放性。

问题2 (7分)

分布式交易账本、哈希散列函数、公私钥签名、时间戳就是区块链的核心技术,请从上述技术中选择两种最适合解决数据信任问题的技术,并用300字以内的文字说明原因。

问题3 (12分)

根据李工的建议,该系统将采用三层架构。请从下面给出的(a)~(m)候选项中进行选择,补充完善图5-1中(1)~(6)处空白的内容,完成该系统的架构设计方案。

系统架构
(a) 数据接入层
(b) 智能合约
(c) Socket
(d) 4G/Wifi
(e) 应用表示层
(f) 数据库
(g) MVC
(h) 数据核心层
(i) 传感器网络

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/657365.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

腾讯云SDK并发调用优化方案

目录 一、概述 二、 网关的使用 2.1 核心代码 三、腾讯云SDK依赖包的改造 一、概述 此网关主要用于协调腾讯云SDK调用的QPS消耗,使得多个腾讯云用户资源能得到最大限度的利用。避免直接使用腾讯云SDK 时,在较大并发情况下导致接口调用异常。网关的工…

Yolo v8 入门学习之采用 coco128 数据集进行图片检测测试

示例入门代码 from ultralytics import YOLO import cv2 import matplotlib.pyplot as plt import matplotlib.image as mpimgdef test():# Create a new YOLO model from scratchmodel YOLO(yolov8n.yaml)# Load a pretrained YOLO model (recommended for training)model …

Redis -- 开篇热身,常用的全局命令

目录 Redis重要文件 启动停止脚本 配置文件 持久化文件存储目录 核心命令 set get 全局命令 keys exists del expire ttl 过期策略是如何实现的 定时器 type 小结 Redis重要文件 启动停止脚本 /usr/bin/redis-benchmark : 用于对Redis做性能基准…

SpringCloud_学习笔记_1

SpringCloud01 1.认识微服务 随着互联网行业的发展,对服务的要求也越来越高,服务架构也从单体架构逐渐演变为现在流行的微服务架构。这些架构之间有怎样的差别呢? 1.0.学习目标 了解微服务架构的优缺点 1.1.单体架构 单体架构&#xff…

opencv学习 特征提取

内容来源于《opencv4应用开发入门、进阶与工程化实践》 图像金字塔 略 拉普拉斯金字塔 对输入图像进行reduce操作会生成不同分辨率的图像,对这些图像进行expand操作,然后使用reduce减去expand之后的结果,就会得到拉普拉斯金字塔图像。 …

【开源操作系统】上海道宁为您带来稳定、安全、开源和易用的操作系统——Ubuntu,为您的数字化生活保驾护航

Ubuntu是 源于非洲的一种传统价值观 意为“人性、关爱和共享” 这种价值观在 开源、稳定、安全、易用的 Ubuntu操作系统中 得到了完美的体现 除此之外,Ubuntu还具有 强大的安全性 它自带了诸多安全功能 如防火墙、加密文件系统等 可以有效地保护用户的隐私…

你ping一下,服务器累成狗--第二篇

你ping一下,服务器累成狗-目录篇文章浏览阅读1.7k次,点赞65次,收藏20次。我们的电脑怎么干活的https://blog.csdn.net/u010187815/article/details/135796967 你ping一下,服务器累成狗--第一篇文章浏览阅读62次,点赞6…

C#用正则表达式验证格式:电话号码、密码、邮编、手机号码、身份证、指定的小数点后位数、有效月

正则表达式在程序设计中有着重要的位置,经常被用于处理字符串信息。 用Regex类的IsMatch方法,使用正则表达式可以验证电话号码是否合法。 一、涉及到的知识点 Regex类的IsMatch方法用于指示正则表达式使用pattern参数中指定的正则表达式是否在输入字符串…

IntersectionObserver、MutationObserver应用,监听项目中指定属性数据,点击或模块显示时

当项目中,需要获取某个页面上、某个标签上、有指定自定义属性时,需要在点击该元素时进行公共逻辑处理,或该元素在显示的时候进行逻辑处理,这时可以定义一个公共的方法,在每个页面引用,并写入数据即可 &…

OSPF的优化

一:OSPF的优化:---lsa的优化 1、汇总 --- 减少骨干区域LSA更新量 2、特殊区域 --- 减少非骨干区域LSA更新量 二:汇总 1、区域汇总:OSPF的汇总被称为区域汇总 域间路由汇总---针对OSPF区域之间的路由进行汇总,针对…

【机器学习300问】21、什么是激活函数?常见激活函数都有哪些?

在我写的上一篇文章中介绍了感知机(单个神经元)的构成,其中就谈到了神经元会计算传送过来的信号的总和,只有当这个总和超过了某个界限值时,才会输出值。这也称为“神经元被激活”。如果想对神经网络是什么有更多了解的…

鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之DataPanel组件

鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之DataPanel组件 一、操作环境 操作系统: Windows 10 专业版、IDE:DevEco Studio 3.1、SDK:HarmonyOS 3.1 二、DataPanel组件 数据面板组件,用于将多个数据占比情况使用占比图进…

集成学习之Boosting方法系列_XGboost

文章目录 【文章系列】【前言】【算法简介】【正文】(一)XGBoost前身:梯度提升树(二)XGBoost的特点(三)XGBoost实际操作1. 前期准备(1)数据格式(2&#xff09…

小程序定制开发:解析定制化移动应用的未来

引言 在当今数字化时代,移动应用已经成为人们生活不可或缺的一部分。随着智能手机的普及,移动应用的需求呈现出爆发式增长,企业们也纷纷投身于这场数字化浪潮。然而,众多企业在竞争激烈的市场中,如何突显个性、提高用…

使用Eclipse搞Android项目报错

相信现在都没什么人还会用Eclipse来开发的了。 不过安装完后,打开Eclipse会提示我的Jdk版本不符合 --------------------------- Incompatible JVM --------------------------- Version 1.8.0_391 of the JVM is not suitable for this product. Version: 17 or g…

python之poetry模块,项目管理

一、简介 Poetry 是一个用于管理 Python 项目依赖关系和构建工具的工具。它提供了一个简单的命令行界面,可以帮助您创建、管理和发布 Python 项目,使用方法:command [options] [arguments] 官网:https://python-poetry.org/docs/…

详解SpringCloud微服务技术栈:深入ElasticSearch(1)——数据聚合

👨‍🎓作者简介:一位大四、研0学生,正在努力准备大四暑假的实习 🌌上期文章:详解SpringCloud微服务技术栈:ElasticSearch实战(旅游类项目) 📚订阅专栏&#x…

软件设计不是CRUD(11):低耦合模块设计理论——业务抽象:规划模块分层

上一篇文章《软件设计不是CRUD(10):低耦合模块设计理论——业务抽象:从需求中提取业务维度》本专题详细讲解了业务抽象的一个重要步骤:提取业务维度。本篇文章内容主要讲解在提取业务维度后,如何对应用程序中初步划分的各个功能模块进行分层规划。 1、为什么要进行模块分…

【lesson2】定长内存池的实现

文章目录 介绍定长内存池的设计定长内存池的实现需要成员变量需要的成员函数定长内存池结构定长内存池Delete(释放空间)的实现定长内存池New(申请空间)的实现 定长内存池的实现完整版 介绍 作为程序员(C/C)我们知道申请内存使用的…

Zookeeper实现分布式队列

目录 Zookeeper分布式队列 普通方式实现 设计思路 具体实现 使用Curator实现 具体实现 注意事项 Zookeeper分布式队列 常见的消息队列有:RabbitMQ,RocketMQ,Kafka等。Zookeeper作为一个分布式的小文件管理系统,同样能实现简单的队列功…