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

news2024/11/29 2:54:13

试题一

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

问题【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.coloradmin.cn/o/967824.html

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

相关文章

Python游戏开发-超级海盗!!!

开发环境配置 安装python环境后,下载pygame模块,使用如下命令 pip install pygame 注:该项目使用了一些新特性,使用3.10以上的版本 游戏项目介绍 游戏分为两个模块,分别是编辑模块和关卡模块,在编辑模…

Lesson5-2:OpenCV视频操作---视频追踪

学习目标 理解meanshift的原理知道camshift算法能够使用meanshift和Camshift进行目标追踪 1.meanshift 1.1原理 m e a n s h i f t meanshift meanshift算法的原理很简单。假设你有一堆点集,还有一个小的窗口,这个窗口可能是圆形的,现在你可…

CocosCreator3.8研究笔记(四)CocosCreator 脚本说明及使用(上)

在Cocos Creator中,脚本代码文件分为模块和插件两种方式: 模块一般就是项目的脚本,包含项目中创建的代码、引擎模块、第三方模块。 插件脚本,是指从 Cocos Creator 属性检查器中导入的插件,一般是引入第三方引入库文件…

PixelSNAIL论文代码学习(3)——自注意力机制的实现

文章目录 引言正文介绍自注意力机制的简单实现样例本文中的自注意力机制具体实现代码分析nn.nin函数的具体实现nn.causal_attention模块实现注意力模块实现代码完整实现代码使用pytorch实现因果注意力模块causal_atttention模块 问题 总结引用 引言 阅读了pixelSNAIL,很简短&a…

java八股文面试[多线程]——线程的状态

5种状态一般是针对传统的线程状态来说(操作系统层面) 6种状态:Java中给线程准备的 NEW:Thread对象被创建出来了,但是还没有执行start方法。 RUNNABLE:Thread对象调用了start方法,就为RUNNABLE状…

已解决“SyntaxError: invalid character in identifier“报错问题

本文摘要:本文已解决 Python FileNotFoundError 的相关报错问题,并总结提出了几种可用解决方案。同时结合人工智能GPT排除可能得隐患及错误。 😎 作者介绍:我是程序员洲洲,一个热爱写作的非著名程序员。CSDN全栈优质领…

Oracle数据库分页查询

方法一 方法二 方法一要比方法二效率要高很多&#xff0c;查询效率提高主要体现在WHERE ROWNUM < 40这个语句上。 这是由于CBO优化模式下&#xff0c;Oracle可以将外层的查询条件推到内层查询中&#xff0c;以提高内层查询的执行效率。方法一中&#xff0c;第二层的查询条件…

完善开发工具箱:免费开源社区版软件推荐

一、背景 工欲善其事必先利其器&#xff0c;在日常的IT工作中&#xff0c;好的工具软件是开发者日常工作中最重要的工具之一。然而&#xff0c;专业版的软件价格昂贵&#xff0c;对于小团队或个人开发者来说可能是一大负担。当然国内大家会普遍推荐使用破解版&#xff0c;小公…

Java【手撕滑动窗口】LeetCode 438. “字符串中所有异位词“, 图文详解思路分析 + 代码

文章目录 前言一、字符串中所有异位词1, 题目2, 思路分析2.1, 引入哈希表找出异位词2.2, 引入变量记录"有效字符的个数"2.3, left 右移维护窗口2.4, 总结核心步骤 3, 代码 前言 各位读者好, 我是小陈, 这是我的个人主页, 希望我的专栏能够帮助到你: &#x1f4d5; Ja…

bazel工程介绍和demo构建

参考官方示例项目&#xff1a;git clone https://github.com/bazelbuild/examples 项目结构 使用Bazel管理的项目一般包含以下几种Bazel相关的文件&#xff1a;WORKSPACE(同WORKSPACE.bazel)&#xff0c;BUILD(同BUILD.bazel)&#xff0c;.bzl 和 .bazelrc 等。 具体结构如下…

【洛谷】P3853 路标设置

原题链接&#xff1a;https://www.luogu.com.cn/problem/P3853 目录 1. 题目描述 2. 思路分析 3. 代码实现 1. 题目描述 2. 思路分析 整体思路&#xff1a;二分答案 由题意知&#xff0c;公路上相邻路标的最大距离定义为该公路的“空旷指数”。在公路上增设一些路标&…

6. series对象及DataFrame对象知识总结

【目录】 文章目录 6. series对象及DataFrame对象知识总结1. 导入pandas库2. pd.Series创建Series对象2.1 data 列表2.2 data 字典 3. s1.index获取索引4. s1.value获取值5. pd.DataFrame()-创建DataFrame 对象5.1 data 列表5.2 data 嵌套列表5.3 data 字典 6. df[列索引]…

Linux安装MySQL5.7.26教程图解

0、准备工作 下载MySQL软件包 ①、官网下载&#xff1a;https://www.cnblogs.com/linu-x/p/15701479.html#_label6 ②、百度网盘下载&#xff1a;百度网盘 请输入提取码 提取码&#xff1a;chao ③、文件说明 主机名 CentOS版本 MySQL版本 IP地址 test CentOS Linux …

AtCoder Beginner Contest 318

目录 A - Full Moon B - Overlapping sheets C - Blue Spring D - General Weighted Max Matching E - Sandwiches F - Octopus A - Full Moon #include<bits/stdc.h> using namespace std; const int N1e65; typedef long long ll ; const int maxv4e65; typedef …

nsq中diskqueue详解 - 第二篇

上一篇博客 nsq中diskqueue详解 - 第一篇_YZF_Kevin的博客-CSDN博客 中我们讲了diskqueue是什么&#xff0c;为什么需要它&#xff0c;它的整体架构流程&#xff0c;以及对外接口等等&#xff0c;如果你还没了解过&#xff0c;强烈建议先看一下&#xff0c;不然直接看这篇博客的…

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

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

Leetcode Top 100 Liked Questions(序号236~347)

236. Lowest Common Ancestor of a Binary Tree 题意&#xff1a;二叉树&#xff0c;求最近公共祖先&#xff0c;All Node.val are unique. 我的思路 首先把每个节点的深度得到&#xff0c;之后不停向上&#xff0c;直到val相同&#xff0c;存深度就用map存吧 但是它没有向…

Lesson4-2:OpenCV图像特征提取与描述---Harris和Shi-Tomas算法

学习目标 理解Harris和Shi-Tomasi算法的原理能够利用Harris和Shi-Tomasi进行角点检测 1 Harris角点检测 1.1 原理 H a r r i s Harris Harris角点检测的思想是通过图像的局部的小窗口观察图像&#xff0c;角点的特征是窗口沿任意方向移动都会导致图像灰度的明显变化&#xff…

【多线程】线程间通信及状态

文章目录 1. 线程间的通信1.1 wait和notify1.2 notify随机唤醒1.3 notifyAll()1.4 join() 2. 线程间的状态3. 验证线程的状态3.1 验证NEW、RUNNABLE、TERMINATED3.2 验证WAITING3.3 验证TIMED-WAITING3.4 验证BLOCKED 4. 面试题&#xff1a;wait和sleep对比 1. 线程间的通信 1…

人工智能轨道交通行业周刊-第58期(2023.8.28-9.3)

本期关键词&#xff1a;成都智慧工厂、机务段、站台地标、备案大模型、AIGC报告 1 整理涉及公众号名单 1.1 行业类 RT轨道交通人民铁道世界轨道交通资讯网铁路信号技术交流北京铁路轨道交通网上榜铁路视点ITS World轨道交通联盟VSTR铁路与城市轨道交通RailMetro轨道世界铁路…