质量属性案例-架构真题(二十一)

试题一

某电子商务公司升级会员与促销管理系统,向用户提交个性化服务,提高用户粘性。在项目建立之初,公司领导人一致认为目标是提升会员管理方式的灵活性,由于当前用户规模不大,用户简单,系统方面不需要做过多考虑。

问题【1】

在架构评估过程中,质量属性效用树(utility tree)是对系统质量属性进行识别和优化排序的重要工具,请将合适的质量属性名称填入图中1和2的空白处。a和k分别填在3/4/5/6空白处。

  1. 管理员能够在页面上灵活设置折扣力度规则和促销活动逻辑,设置后即可生效。
  2. 系统应该具备完整的安全防护措施,支持对恶意攻击行为进行检测和报警。
  3. 在正常负载情况下,系统应该在0.3秒内对用户的界面操作请求进行响应。
  4. 用户名是系统唯一标识,要求以字母开头,由数字和字母组合而成,长度不少于6个字符。
  5. 在正常负载情况下,用户支持商品费用后在3秒内确定订单支付信息
  6. 系统主站点电力中断后,应在5秒内将请求重定向到备用站点。
  7. 系统支持横向存储扩展,要求在2人天内完成所有的扩展与测试工作。
  8. 系统宕机后,需要10秒内感知错误,并自动启动热备份系统
  9. 系统需要内置接口函数,支持开发团队进行功能调试与系统诊断。
  10. 系统需要为所有的用户操作行为进行详细记录,便于后期查阅和审计
  11. 支持对系统的外观进行调整和配置,调整工作需要在4人天内完成。

解析:

因为b是安全性,所以(1)应该是安全性,(4)填写J追踪审计也是安全

可用性的(5)填写H

性能的(3)填写C,性能的(3)填写e

由g可知道(2)是扩展性,(6)填写K(2是可修改性)

问题【2】

针对该系统的功能,李工建议采用面向对象架构风格,将折扣力度计算和用户筛选分别封装为独立对象,通过对象调用实现对应的功能;王工则建议采用解释器interpretes架构风格,将折扣力度计算和用户筛选条件封装为独立的规则,通过解释器实现对应功能。针对系统主要功能,从折扣规则的可能性、个性化折扣定义灵活和系统性能三个方面对两种架构风格分析比较,并确定适合哪一种风格?

解析:

灵活性:解释器灵活性更高,可以做到用户灵活制定会员规则。

可修改性:解释器修改性优于面向对象,解释器模式的会员规则是独立的语法规则,由解释器对其进行解析,修改独立规则更加容易,面向对象则是需要根据具体的类进行修改。

性能:面向对象的性能优于解释器。因为面向对象写法相对固定,解释器则是运行时候动态绑定。

试题二

关于软件系统设计与建模的叙述。

某能源企业拟开发一套煤炭建设项目安全预警系统,以保护煤矿建设项目从业人员生命安全。

【问题1】

王工根据煤矿建设项目安全预警系统的功能要求,设计完成了系统的数据流图,请使用题干中描述的功能(a)~(h),补充完善1到6处内容,并简要介绍数据流图在分层细化过程中遵循的数据平衡原则。

  1. 项目信息维护
  2. 影响因素录入
  3. 关联事故录入
  4. 安全评分得分

  1. 项目指标预警分析
  2. 项目指标填报
  3. 项目指标审核
  4. 项目指标确定

解析:

123则分别是fgh

6则是e

4则是d

5则是b

父图和子图的平衡指任何一子图的输入/输出流必需和父图对应加工的输入/输出流保持一致。

父图某一条加工流如果对应子图的几条数据流,则子图中的这些数据流刚好也指向父类这条数据,也是平衡的。

子类图内部输入/输出流也需要平衡。

【问题2】

将数据流中的相关信息补充到E-R图,其中1~6的具体内容。

解析:

(2)项目经理

(1)项目管理员

(3)项目指标数据

(4)项目信息

(5)指标参数

(6)事故及其影响因素

【问题3】

在结构化分析和设计过程中,数据流图数据字典都是常用技术手段,请200字描述他们在软件需求分析软件设计作用。

答案:

数据流图分析阶段:建立系统的功能模型,从而完成需求分析。

数据流图设计阶段;为模块划分与模块接口之间设计提供依据。

数据字典在分析阶段和设计阶段的作用:

是所有人员工作的依据,统一的标准。它可以确定数据在系统中的完整性和一致性。

具体作用包括:按各种要求列表、相互参照、由描述内容检索名称、一致性检验和完整性检验。

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

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

相关文章

Mac上的视频管理神器:MetaVideo for Mac让你的视频搜索和整理更轻松

视频时代已经来临,我们每天都会接触到各种各样的视频资源。但是,如何管理和编辑这些视频文件,让它们更加易于查找和使用呢?MetaVideo for Mac可以帮助你解决这个问题。 MetaVideo for Mac是一款专门为Mac用户设计的视频管理软件&…

代码随想录算法训练营第五十八天|739. 每日温度、496.下一个更大元素 I

739. 每日温度 文档讲解 : 代码随想录 - 739. 每日温度 状态:再次回顾。 思路: 1. 什么时候用单调栈? 通常是一维数组,要寻找任一个元素的右边或者左边第一个比自己大或者小的元素的位置,此时就要想到可以用单调栈。…

IDEA版SSM入门到实战(Maven+MyBatis+Spring+SpringMVC) -Maven目录结构和idea的整合

Maven工程目录结构约束(约束>配置>代码) 项目名 src【书写源代码】 main【书写主程序代码】 java【书写java源代码】resources【书写配置文件代码】 test【书写测试代码】 java【书写测试代码】 pom.xml【书写Maven配置】 测试步骤(进入项目名根目录【在根…

ElasticSearch第二讲:ES详解 - ElasticSearch基础概念

ElasticSearch第二讲:ES详解 - ElasticSearch基础概念 在学习ElasticSearch之前,先简单了解下ES流行度,使用背景,以及相关概念等。本文是ElasticSearch第二讲,ElasticSearch的基础概念。 文章目录 ElasticSearch第二讲…

北京互联网营销服务商浩希数字科技申请1350万美元纳斯达克IPO上市

来源:猛兽财经 作者:猛兽财经 猛兽财经获悉,总部位于北京的互联网营销服务商浩希数字科技(Haoxi Health Technology Limited )近期已向美国证券交易委员会(SEC)提交招股书,申请在纳斯…

【1++的数据结构】之哈希(一)

👍作者主页:进击的1 🤩 专栏链接:【1的数据结构】 文章目录 一,什么是哈希?二,哈希冲突哈希函数哈希冲突解决 unordered_map与unordered_set 一,什么是哈希? 首先我们要…

重庆旅游攻略

重庆旅游攻略 白天 鹅岭二厂 (1)地铁线路: 1号线鹅岭站 川美涂鸦一条街 (1)地铁线路: 黄桷坪正街 湖广会馆 3. 长江索道 需要预约 门票:单程20元,往返30元 4. 重庆动物园 …

selenium 自动化测试——环境搭建

安装python,并且使用pip命令安装 selenium pip3 install selenium 然后尝试第一次使用selenium 完成一个简单的测试自动化脚本 from selenium import webdriver from selenium.webdriver.common.by import By import timedriver webdriver.Chrome() driver.get(…

AVR128单片机 USART通信控制发光二极管显示

一、系统方案 二、硬件设计 原理图如下: 三、单片机软件设计 1、首先是系统初始化 void port_init(void) { PORTA 0xFF; DDRA 0x00;//输入 PORTB 0xFF;//低电平 DDRB 0x00;//输入 PORTC 0xFF;//低电平 DDRC 0xFF;//输出 PORTE 0xFF; DDRE 0xfE;//输出 PO…

docker笔记9:Docker-compose容器编排

目录 1.是什么? 2. 能干嘛? 3.去哪下? 4.安装步骤 ​编辑 5.卸载步骤 6.Compose核心概念 6.1概念 6.2 Compose常用命令 7.Compose编排微服务 7.1改造升级微服务工程docker_boot 7.2不用Compose 7.2.1 单独的mysql容器实例 7.3 …

Linux下go环境安装、环境配置并执行第一个go程序

一、安装 1.Golang对Linux的内核版本要求 GO对Linux内核版本最低要求是 2.6.23,对应要求操作系统版本是: RHEL 6.0CentOS 6.0即,不支持 (RHEL 和 CentOS) 的 (4.x or 5.x)。2.下载golang的代码版本 Golang的官网下载地址:https:…

vue实现列表自动滚动效果

效果如图: 1.下载插件 npm install vue-seamless-scroll --save 2.在main.js中引入注册 import scroll from vue-seamless-scroll Vue.use(scroll) 3.在页面中使用(写一个固定的表头 el-table:show-header"status" 设置为false,自带的表头不…