重塑在线软件开发新纪元:集成高效安全特性,深度解析与评估会员与促销管理系统的系统架构设计

案例

        阅读以下关于软件架构设计与评估的叙述,回答问题1和问题2。

【题目】

        某电子商务公司拟升级其会员与促销管理系统,向用户提供个性化服务,提高用户的粘性。在项目立项之初,公司领导层一致认为本次升级的主要目标是提升会员管理方式的灵活性,由于当前用户规模不大,业务也相对简单,系统性能方面不做过多考虑。新系统除了保持现有的四级固定会员制度外,还需要根据用户的消费金额、偏好、重复性等相关特征动态调整商品的折扣力度,并支持在特定的活动周期内主动筛选与活动主题高度相关的用户集合,提供个性化的打折促销活动。
在需求分析与架构设计阶段,公司提出的需求和质量属性描述如下:
        (a)管理员能够在页面上灵活设置折扣力度规则和促销活动逻辑,设置后即可生效;
        (b)系统应该具备完整的安全防护措施,支持对恶意攻击行为进行检测与报警;
        (c)在正常负载情况下,系统应在0.3秒内对用户的界面操作请求进行响应;
        (d)用户名是系统唯一标识,要求以字母开头,由数字和字母组合而成,长度不少于6个字符;
        (e)在正常负载情况下,用户支付商品费用后在3秒内确认订单支付信息;
        (f)系统主站点电力中断后,应在5秒内将请求重定向到备用站点;
        (g)系统支持横向存储扩展,要求在2人天内完成所有的扩展与测试工作;
        (h)系统宕机后,需要在 10秒内感知错误,并自动启动热备份系统;
        (i)系统需要内置接口函数,支持开发团队进行功能调试与系统诊断;
        (j)系统需要为所有的用户操作行为进行详细记录,便于后期查阅与审计;
        (k)支持对系统的外观进行调整和配置,调整工作需要在4人天内完成。

        在对系统需求、质量属性描述和架构特性进行分析的基础上,系统架构师给出了两种候选的架构设计方案,公司目前正在组织相关专家对系统架构进行评估。

【问题1】(12 分)

        在架构评估过程中,质量属性效用树(utility tree)是对系统质量属性进行识别和优先级排序的重要工具。请将合适的质量属性名称填入图 1-1 中(1)、(2)空白处,并选择题干描述的(a)~(k)填入(3)~(6)空白处,完成该系统的效用树。

【问题 2】(13 分)

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

【答案】

【问题 1】答案

        (1)安全性
        (2)可修改性
        (3)e
        (4)j
        (5)h
        (6)k

【问题 2】答案

        应该选择解释器架构风格
        折扣规则的可修改性:解释器风格比面向对象方式实现强。因为解释器风格折扣规则是独立的语法规则,由解释器可对变化的规则进行解析,修改更容易。而面向对象相对固定,有变化需要修改具体的类。
        个性化折扣定义灵活性:解释器强于面向对象,解释器可以根据用户灵活解释执行规则,做到千人千面。
        系统性能:面向对象优于解释器。面向对象的实现相对固定,而解释器是运行期动态绑定执行。

相关推荐

根据软件架构设计与评估的叙述开发一套机器学习应用开发平台-CSDN博客文章浏览阅读1.8k次,点赞113次,收藏92次。在当今快速发展的科技环境中,机器学习应用开发平台的架构设计面临着前所未有的挑战与机遇。本文探讨了在设计此类平台时,如何平衡灵活性与可扩展性两大核心要素。通过对平台用户角色的深入分析,明确不同用户需求,结合质量属性效用树的构建,识别出关键的性能与可修改性要求。同时,对三种架构风格——解释器、管道-过滤器与隐式调用进行比较,探讨它们在实现机器学习流程定义和算法扩展方面的优劣势。最终,提出基于解释器架构的设计方案,以其自定义规则和跨平台适配能力,确保平台不仅能满足初学者与高级用户的需求,还能在未来快速响应技术发展https://shuaici.blog.csdn.net/article/details/142529621重塑在线软件开发新纪元:集成高效安全特性,深度解析与评估支持浏览器在线编程的系统架构设计_某公司拟开发一套在线软件开发系统,支持用户通过浏览器在线进行-CSDN博客文章浏览阅读7k次,点赞75次,收藏57次。本文深入探讨了为在线软件开发系统设计的架构方案,重点强调支持浏览器在线编程的高效性与安全性。通过对比分析管道-过滤器与仓库架构风格,并结合质量属性效用树进行评估,旨在构建出既满足用户需求又具备高可扩展性和卓越处理性能的系统架构,为开发者提供流畅的在线编程体验。_某公司拟开发一套在线软件开发系统,支持用户通过浏览器在线进行https://shuaici.blog.csdn.net/article/details/1421802202019年系统架构师案例分析试题一-CSDN博客文章浏览阅读1.8k次,点赞54次,收藏67次。系统架构风险:架构设计中潜在的、存在问题的架构决策所带来的隐患。敏感点:为了实现某种特定的质量属性,一个或多个构件所具有的特性。权衡点:影响多个质量属性的特征,是多个质量属性的敏感点。https://shuaici.blog.csdn.net/article/details/1419558002018年系统架构师案例分析试题一-CSDN博客文章浏览阅读1.2k次,点赞49次,收藏36次。操作性需求:与用户操作使用系统相关的一些需求。性能需求:指响应时间、吞吐量、准确性、有效性、资源利用率等与系统完成任务效率相关的指标。可靠性、可用性等指标可归为此类。安全性需求:系统向合法用户提供服务并阻止非授权用户使用服务方面的系统需求。文化需求:带有文化背景因素的系统需求。https://shuaici.blog.csdn.net/article/details/141679009

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

简单的udp程序

文章目录 1. 预备知识1.1 源IP地址和目的IP地址1.2 端口号1.3 套接字初识1.4 tcp协议和udp协议简单认识1.5 网络字节序 2. udp程序2.1 创建套接字(socket)的系统调用2.2 bind()2.2.1 初始化一个sockaddr_in结构体2.2.2 inet_addr函数2.2.3 0.0.0.02.2.4 …

深入解析东芝TB62261FTG,步进电机驱动方案

TB62261FTG是一款由东芝推出的两相双极步进电机驱动器,采用了BiCD工艺,能够提供高效的电机控制。这款芯片具有多种优秀的功能,包括PWM斩波、内置电流调节、低导通电阻的MOSFET以及多种步进操作模式,使其非常适合用于需要精确运动控…

一步一步从微信小程序获取asp.net Core API的数据

前面我们说过,如何使用微信小程序获取asp.net的数据,这里我们继续介绍如何获取asp.net core api的数据。两者之间还是有一些差别的。本篇博文旨在详细介绍如何一步一步从微信小程序获取asp.net Core API的数据。 文章目录 一、建立并了解asp.net core we…

RabbitMQ集群搭建及使用

1. 概述 前提条件:linux服务器下已经安装好了docker服务。 本文档将搭建一个三台RabbitMQ的集群,包括三个RabbitMQ容器安装在同一服务器和三台不同的服务器。 2. 集群搭建 在一台服务器上创建三个RabbitMQ容器。 2.1.1. 创建容器 执行以下命令创建三…

合理利用IPIDEA代理IP,优化数据采集效率!

一、前言 在全球化与信息化交织的当代社会,数据已成为驱动商业智慧与技术革新的核心引擎。网络,作为信息汇聚与交流的枢纽,不仅是人们获取知识的窗口,更是商业活动与技术创新的广阔舞台。在这个信息繁荣的时代,Python…

Docker 实践与应用举例教程:从入门到精通

Docker 实践与应用举例教程:从入门到精通 引言 在现代软件开发中,Docker 已成为一种不可或缺的工具。它通过容器化技术简化了应用的部署、管理和扩展,极大地提高了开发和运维的效率。本文将详细介绍 Docker 的基本概念、安装步骤、常用命令…

开放式耳机哪个品牌音质好?音质最好的开放式耳机推荐!

如今,开放式耳机市场日益繁荣,成为了众多音乐爱好者和追求舒适佩戴体验者的新宠。然而,面对琳琅满目的品牌和产品,消费者往往陷入选择的困境。音质,作为衡量一款耳机优劣的关键因素,更是备受关注。究竟哪个…

反编译华为-研究功耗联网监控日志

摘要 待机功耗中联网目前已知的盲点:App自己都不知道的push类型的被动联网、app下载场景所需时长、组播联网、路由器打醒AP。 竞品 策略 华为 灭屏使用handler定时检测(若灭屏30分钟内则周期1分钟,否则为2分钟),检…

【Unity踩坑】UWP应用未通过Windows应用认证:API不支持

在将Unity项目导出为XAML类型的UWP项目后,通过Visual Studio打包成功,但在进行Windows应用认证时结果是Failed。 其中的错误是某些dll里用到了Windows SDK不支持的API。 本次问题中涉及到的具体dll有两个:gilzoide-sqlite-net.dll和D3D12Cor…

【Linux网络】传输层协议UDP与TCP

W...Y的主页 😊 代码仓库分享 💕 目录 传输层 再谈端口号 ​编辑 端口号范围划分 认识知名端口号(Well-Know Port Number) netstat pidof UDP协议 UDP协议端格式 UDP的特点 面向数据报 UDP的缓冲区 UDP使用注意事项 基于UDP的应用层协议…

开源实时数仓的构建

设计计思路 基本思路 开源数据平台的设计思路是通过 Flink SQL Batch、StartRocks SQL 、StartRocks物化视图 的能力实现一个离线任务的开发;使用 DolphinScheduler 进行离线工作流编排和调度;通过 Flink CDC 和 Flink SQL 实现流处理能力,进…

Redis+Lua限流的四种算法

1. 固定窗口(Fixed Window) 原理: 固定窗口算法将时间划分为固定的时间段(窗口),比如 1 秒、1 分钟等。在每个时间段内,允许最多一定数量的请求。如果请求超出配额,则拒绝。 优点…

软工毕设开题建议

文章目录 🚩 1 前言1.1 选题注意事项1.1.1 难度怎么把控?1.1.2 题目名称怎么取? 1.2 开题选题推荐1.2.1 起因1.2.2 核心- 如何避坑(重中之重)1.2.3 怎么办呢? 🚩2 选题概览🚩 3 项目概览题目1 : 深度学习社…

文档解析与向量化技术加速 RAG 应用落地

在不久前举办的 AICon 全球人工智能开发与应用大会上,合合信息智能创新事业部研发总监,复旦博士常扬从 RAG 应用落地时常见问题与需求(文档解析、检索精度)出发,分享了针对性的高精度、高泛化性、多版面多元素识别支持…

Linux系统下串口AT指令控制EC20连接华为云物联网平台

一、前言 在当今万物互联的时代背景下,物联网技术的快速发展极大地推动了智能化社会的构建。作为其中的关键一环,设备与云端平台之间的通信变得尤为重要。本文介绍如何在Linux操作系统环境下,利用串口通信来实现EC20模块与华为云物联网平台的…

Word中Normal.dotm样式模板文件

Normal.dotm文档 首先将自己电脑中C:\Users\自己电脑用户名\AppData\Roaming\Microsoft\Templates路径下的Normal.dotm文件做备份,在下载本文中的Normal.dotm文件,进行替换,重新打开word即可使用。 字体样式如下(可自行修改&#…

基于opencv答题卡识别判卷

项目源码获取方式见文章末尾! 回复暗号:13,免费获取600多个深度学习项目资料,快来加入社群一起学习吧。 **《------往期经典推荐------》**项目名称 1.【基于DDPG算法的股票量化交易】 2.【卫星图像道路检测DeepLabV3Plus模型】 3…

蓝桥杯 单片机 DS1302和DS18B20

DS1302 时钟 时钟试题 常作为实验室考核内容 控制三个引脚 P17 时钟 P23输入 P13复位 其他已经配置好 寄存器原理 定位地址 0x80地址 固定格式 0x57 5*107*1 57 小时写入格式 不同 首位区分 A上午 P下午 0为24小时制 1为12小时制 写入8小时 0x87 //1000 7 十二小时制 7…

H5的Canvas绘图——使用fabricjs绘制一个可多选的随机9宫格

📢欢迎点赞 :👍 收藏 ⭐留言 📝 如有错误敬请指正,赐人玫瑰,手留余香!📢本文作者:由webmote 原创📢作者格言:新的征程,最近一直被测试…

Django+Vue全栈开发旅游网项目首页

一、前端项目搭建 1、使用脚手架工具搭建项目 2、准备静态资源(图片资源) 将准备好的静态资源拖至public目录下 3、调整生产项目结构 公共的样式 公共js 首页拆解步骤 ①分析页面结构 标题、轮播图、本周推荐、精选景点、底部导航 ②新建页面组…