解释器-架构案例2021(三十一)

2023-11-08

  • 软件架构设计与评估

某公司支持用户使用浏览器在线进行基于机器学习的智能应用开发活动。该平台核心应用场景是用户拖拉拽算法组件灵活定义机器学习流程,采用自助方式智能应用设计、实现与部署,并开发新算法加入平台。

(a) 平台用户分为算法工程师、软件工程师和管理员等三种角色,不同角色的功能界面有所不同:

(b)平台应该具备数据库保护措施,能够预防核心数据库被非授权用户访问:

(c)平台支持分布式部署,当主站点断电后,应在 20 秒内将请求重定向到备用站点;

(d)平台支持初学者和高级用户两种界面操作模式,用户可以根据自己的情况灵活选择合适的模式:

(e)平台主站点宕机后,需要在 15 秒内发现错误并启用备用系统;

(f)在正常负载情况下,机器学习流程从提交到开始执行,时间间隔不大于5秒;

(g)平台支持硬件扩容与升级,能够在3人天内完成所有部署与测试工作;

(h)平台需要对用户的所有操作过程进行详细记录,便于审计工作;

(i)平台部署后,针对界面风格的修改需要在 3 人天内完成:

(j)在正常负载情况下,平台应在 0.5 秒内对用户的界面操作请求进行响应;

(k)平台应该与目前国内外主流的机器学习应用开发平台的界面风格保持一致;

(l)平台提供机器学习算法的远程调试功能,支持算法工程师进行远程调试。

【问题1】

请将合适的质量属性名称域入图1-1中( )( )空白处,并从题干中的(a)~(I)中选择合适的质量属性描述,填入( )~( )空白处,完成该平台的效用树

答案:

(3)选择e

根据f可以知道,(1)为 性能,(4)填写(j)

由安全得到(5)填写h

由g可以知道(2)为 可修改性,所以6填写(i)

【问题2】

针对该系统的功能,赵工建议采用解释器(interpreter)架构风格,李工建议采用管道-过滤器(ppe-and-hlter)的架构风格,王工则建议采用隐式调用(implicit invocation)架构风格。请针对平台的核心应用场景,从机器学习流程定义的灵活性和学习算法的可扩展性两个方面对三种架构风格进行对比与分析,并指出该平台更适合采用哪种架构风格。

答案:

解释器有独立的语法规则,可以通过解释器来解析,非常灵活,扩展性强。

管道过滤则是每个构件的输入和输出,连接件就是管道,过滤器就是构件,构件读取数据,经过处理,再输出,前一个构件的输出是下一个构件的输入。

隐式调用则表示不是直接调用某个方法或者过程,而是通过广播或者触发来实现,构件在多个事件注册,当某个事件触发,则自动调用注册的所有过程,一个事件触发可以导致另一个模块中调用。

从平台支持初学者和高级两个界面,说明系统需要满足灵活性。解释器的扩展性高,无论角色新增还是扩展已有业务都不需要修改代码。而管道过滤主要传递数据,当需要扩展和变动则需要修改代码。隐式调用则强调通过间接方式进行调用,灵活性高于管道过滤,但是低于解释器。

  • 系统设计与建模

某医院拟委托软件公司开发一套预约挂号管理系统,以便为患者提供更好的就医体验,为医院提供更加科学的预约管理。本系统的主要功能描述如下:(a)注册登录,(b)信息浏览,(c)账号管理,(d)预约挂号,(e)查询与取消预约,(F)号源管理,(g)报告查询,(h)预约管理,(i)报表管理和(j)信用管理等。

【问题1】6分

请将合适的参与者名称填入图 2-1中的( )( )处,使用题干给出的功能描述(a)~(j),完善用例( )~( )的名称,将正确答案填在答题纸上

答案:

  1. 管理员
  2. 患者
  3. 到(8)则是(a)注册中心、c、f、h、i、j
  1. 到(12)则是b、d、e、g

【问题2】10分

预约人员(患者)登录系统后发起预约挂号请求,进入预约界面。进行预约挂号时使用数据库访问类获取医生的相关信息,在数据库中调用医生列表,并调取医生出诊时段表,将医生出诊时段反馈到预的界面,并显示给预的人员;预约人员选择医生及就诊时间后确认预的,系统返网预约结果,并向用户显示是否预约成功。

采用面向对象方法对预约挂号过程进行分析,得到如图 2-2 所示的顺序图,使用题干中给出的描述,完善图 2-2 中对象( 1),及消息( 2)~( 4)的名称,将正确答案填在普题纸上请简要说明在描述对象之间的动态交互关系时,协作图与顺序图存在哪些区别。

答案:

  1. 是患者
  2. 发起预约挂号请求
  3. 显示给预的人员
  4. 是否预约成功

顺序图强调交互的消息时间顺序。

协作图强调接受和发送消息的结构组织,强调通信方式。

【问题3】9分

采用面向对象方法开发软件,通常需要建立对象模型、动态模型和功能模型,请分别介绍这3种模型,并详细说明它们之间的关联关系,针对上述模型,说明哪些模型可用于软件的需求分析?

答案:

对象模型描述系统静态结构,主要对象图来建模,是整个系统最基础最核心部分。

动态模型描述系统交互次序,主要状态图来建模。

功能模型描述系统数据表换,主要数据流图DFD来表示。

对象模型描述了动态模型和功能模型的基础数据结构,对象模型中的操作对应于动态模型中的事件功能模型中的函数

动态模型描述了控制结构,告诉我们哪些引起对象的变化,并激活功能。

功能模型描述 由对象模型的操作 动态模型的动作 激活功能,功能模型作用在对象模型的说明上,并且表示了对象值的约束。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

解释器-架构案例2021(三十一) 的相关文章

  • CSDN的chatGPT为什么会有很多问题无法回答?

    ChatGPT是一个被OpenAI训练的大型语言模型 它使用机器学习算法 可以根据上下文和用户的输入来回答问题 然而 由于我们的认知有限 有时ChatGPT无法正确理解用户的问题或句子 从而导致它无法给出准确的回答
  • 登录文档服务器,开启登录服务器

    开启登录服务器 内容精选 换一换 如果您已在购买存储库时绑定服务器 文件系统或磁盘 可以跳过此章节 云服务器备份存储库 SFS Turbo备份存储库和云硬盘备份存储库创建后 通过向存储库绑定服务器 文件系统或磁盘来进行备份 复制操作 当混合

随机推荐

  • C++学习之new 与 delete表达式

    new和delete表达式动态创建和释放单个对象 a 基本知识介绍 定义变量时 必须指定其数据类型和名字 而动态创建对象时只需指定其数据类型而不必为该对象命名 取而代之的是 new表达式返回新创建对象的指针 我们通过指针来访问此对象 int
  • 解决ImportError: Could not find the DLL(s) ‘msvcp140_1.dll‘问题

    解决ImportError Could not find the DLL s msvcp140 1 dll 问题 刚安装好tensorflow安装包去试试import tensorflow as ft时 出现错误 错误原因 ImportEr
  • 【项目实战】---需求分析+表关系分析

    SSH 小编初次接触的时候傻傻的以为这个跟SHE有什么关系呢 又是哪路明星歌手 后来才知道小编又土鳖了 原来SSH是这个样子滴 百度百科对她这样阐述 SSH即 Spring Struts Hibernate Struts对Model Vie
  • Python员工离职数据分析

    Python员工离职数据分析 import pandas as pd import seaborn as sns import matplotlib pyplot as plt import warnings warnings filter
  • 2022年国际土木与海洋工程联合会议(JCCME 2022)

    海南大学主办 2022年国际土木与海洋工程联合会议 JCCME 2022 重要信息 会议网址 www jccme org 会议时间 2022年12月23 25日 召开地点 海口 截稿时间 2022年11月20日 录用通知 投稿后2周 收录检
  • git官网进去很慢我们可以去镜像下载

    git下载
  • 五脏六腑在脸上的反射区图片_人体五大反射区的有图详解。

    原标题 人体五大反射区的有图详解 反射区是遍布全身的神经聚集点 与身体各器官相对应 比如手 足 耳等反射区 它们与身体的五脏六腑 头部的大小脑 淋巴腺 内分泌腺 肌肉 关节紧密相连 其中 每个器官 部位的神经末梢 在手 足 耳等部位都有一个
  • antV G2 常用指标参数 01

    antV G2 会比较多的API 查看起来也比较费时间 所以把一些常有的方法 参数 指标列举 方便运用 01 柱状图两边留空间 time 是横坐标的 指标 chart scale time range 0 05 0 95 02 自定义纵坐标
  • Linux查找特定进程信息

    命令 查找ssh进程 root linuxcentos ps ef grep ssh 执行结果 root 1303 1 0 Apr17 00 00 00 usr sbin sshd root 3260 3087 0 Apr17 00 00
  • matlab中std函数的用法,matlab std函数 用法及实例

    MATLAB常常用到std函数来进行标准差计算 下面我就通过实例介绍一下 matlab std函数怎么用 1 std函数是用来计算标准偏差的一个函数 由于其有不同的参数 我们就用下面的例子进行介绍 A 1 2 3 1 1 1 标准差的两种计
  • Java中HashMap原理与分析

    HashMap的底层数据结构 HashMap是以Key Value的方式进行数据结构存储的一种数据结构 JDK1 7采用的是数组 链表 使用Entry类存储key和value JDK1 8采用的是数组 链表 红黑树 使用Node类存储key
  • 智星云AI主机docker使用指南

    智星云AI云主机默认提供docker安装 用户只需要在算力市场 点击 AI云主机 选择Centos或者Ubuntu系统即可租用到安装好docker的云主机 图1 算力市场 登录上云主机后 我们首先运行一个简单的docker hello wo
  • vue全局组件的引入

    1 创建组件 在自定义组件的文件夹下 layout 创建组件 并创建index js文件 2 导出组件 在index js内导出组件 可以同时注册多个组件 代码如下 import QRcode from components layout
  • 一些web工具的原理

    1 子域名收集工具 通过枚举可能的子域名并尝试进行DNS解析来确定是否存在有效的子域名 2 设备发现工具 通过发送 ICMP 或 ARP数据包给目标 观察目标返回的信息来判断设备是否活跃 或是通过直接向端口发送 TCP UDP 等网络请求
  • flutter图片点击跳转_Flutter “跳转页面”(一)

    跳转页面 为啥加双引号 其实所谓的跳转页面可能和以前认识的不太一样 因为在Flutter里 所有能看到的东西一般都是widget 但是 没有说那个app是由一个页面构成的 所以 这个概念确实还是有的 这个功能的实现需要用到两个东西Route
  • Vue报错Custom elements in iteration require 'v-bind:key' directives."错误解决

    错误代码
  • 造一台机器人需要哪些技能?

    转自 帐号已迁移 大家好 我是小王 是一名刚刚加入机器人队的大学生 有人说搞机器人特别简单 只要画画图 拧拧螺丝 敲敲代码就可以了 He tui 要这么容易 每年能有上百支机器人队伍 花十几万挤破了头都抢不到30万奖金吗 不过 团队有了我这
  • Osmosis 0.46详细使用说明

    原文地址 http wiki openstreetmap org wiki Osmosis Detailed Usage 0 46 全局选项 Short Option Long Option Description v verbose 需要
  • 图神经网络基础(part 1)

    文章目录 一 图的基本概念 二 简易图谱论 2 1 拉普拉斯矩阵 2 2 拉普拉斯二次型 2 3 拉普拉斯矩阵与图扩散 2 4 图论傅里叶变换 一 图的基本概念 对于接触过数据结构和算法的人来说 图并不是一个陌生的概念 一个图 Graph
  • 解释器-架构案例2021(三十一)

    软件架构设计与评估 某公司支持用户使用浏览器在线进行基于机器学习的智能应用开发活动 该平台核心应用场景是用户拖拉拽算法组件灵活定义机器学习流程 采用自助方式智能应用设计 实现与部署 并开发新算法加入平台 a 平台用户分为算法工程师 软件工程