结合系统架构设计的非功能性需求开发一套文化用品商城系统

本文主要是介绍结合系统架构设计的非功能性需求开发一套文化用品商城系统,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

案例

        阅读以下关于软件系统设计的叙述,在答题纸上回答问题 1 至问题 3。

【题目】

        某文化产业集团委托软件公司开发一套文化用品商城系统,业务涉及文化用品销售、定制、竞拍和点评等板块,以提升商城的信息化建设水平。该软件公司组织项目组完成了需求调研,现已进入到系统架构设计阶段。考虑到系统需求对架构设计决策的影响,项目组先列出了可能影响系统架构设计的部分需求如下:

        (a)用户界面支持用户的个性化定制;
        (b)系统需要支持当前主流的标准和服务,特别是通信协议和平台接口;
        (c)用户操作的响应时间应不大于 3 秒,竞拍板块不大于 1 秒;
        (d)系统具有故障诊断和快速恢复能力;
        (e)用户密码需要加密传输;
        (f)系统需要支持不低于 2G 的数据缓存;
        (g)用户操作停滞时间超过一定时限需要重新登录验证;
        (h)系统支持用户选择汉语、英语或法语三种语言之一进行操作。

        项目组提出了两种系统架构设计方案:瘦客户端 C/S 架构和胖客户端 C/S 架构,经过对上述需求逐条分析和讨论,最终决定采用瘦客户端 C/S 架构进行设计。

【问题 1】(8 分)

        在系统架构设计中,决定系统架构设计的非功能性需求主要有四类:操作性需求、性能需求、安全性需求和文化需求。请简要说明四类需求的含义。

【问题 2】(8 分)

        根据表 1-1 的分类,将题干所给出的系统需求(a)~(h)分别填入(1)~(4)。

表 1-1 需求分类
需求类别系统需求
操作性需求(1)
性能需求(2)
安全性需求(3)
文化需求(4)

【问题 3】(9 分)

        请说明瘦客户端 C/S 架构能够满足题干中给出的哪些系统需求(只需要回答出三个系统需
求)。

【答案】

【问题 1】解析

        操作性需求:与用户操作使用系统相关的一些需求。
        性能需求:指响应时间、吞吐量、准确性、有效性、资源利用率等与系统完成任务效率相关的指标。可靠性、可用性等指标可归为此类。
        安全性需求:系统向合法用户提供服务并阻止非授权用户使用服务方面的系统需求。
        文化需求:带有文化背景因素的系统需求。

【问题 2】解析

        (1):(a)、(b)
        (2):(c)、(d)、(f)
        (3):(e)、(g)
        (4):(h)

【问题 3】解析

        这似乎是个伪命题,如果要做,这些需求都应该能满足啊。那么退而求其次,只能理解为哪些需求使用瘦客户端比胖客户端更合适(因为题目是在胖与瘦之间做的选择)。此时,好像也很难做出准确的判断。

        (a)胖和瘦无明显差异,要做到用户界面的个性化应该都没有问题,而且难说哪种更强。毕竟瘦的只是把业务逻辑从客户端放到了服务器上。
        (b)胖和瘦无明显差异
        (c)胖客户端,在客户端的运算能力强一些。瘦客户端可以在服务端面用集群做支持。谁更强一点?
        (d)瘦客户端将业务逻辑迁移到应用服务器上,所以有故障只要修复服务器上的内容,而胖客户端要更新所有客户端,工作量大,所以此情况下瘦客户端有优势
        (e)胖客户端的后端是数据库,没有业务逻辑,此时要做加密传输没有基础,但瘦客户端可以做到
        (f )胖客户端做到 2G 数据缓存很容易,而瘦客户端不现实。
        (g)瘦客户端与胖客户端均可做到
        (h)瘦客户端与胖客户端均可做到

        以上满足条件的任选 3 个 就可以了。

相关推荐

2017年系统架构师案例分析试题一-CSDN博客文章浏览阅读1.1k次,点赞37次,收藏48次。确定软件功能需求、软件质量属性、架构风险、架构敏感点、架构权衡点等内容,并采用效用树这一工具对架构进行评估。架构敏感点、架构权衡点等内容,并采用效用树这一工具对架构进行评估。系统架构风险:架构设计中潜在的、存在问题的架构决策所带来的隐患。敏感点:为了实现某种特定的质量属性,一个或多个构件所具有的特性。权衡点:影响多个质量属性的特征,是多个质量属性的敏感点。https://shuaici.blog.csdn.net/article/details/1414254672016年系统架构师案例分析试题一-CSDN博客文章浏览阅读947次,点赞24次,收藏41次。2016年系统架构师案例分析试题一。不同的架构设计决策是架构师必须具有的基本能力:从交互方式方面看,管道-过滤器风格具有顺序结构或有限的循环结构;采用数据仓储风格时,工具之间无直接交互,通过数据仓储间接交互。从数据结构方面看,管道-过滤器风格具有数据驱动的特征,数据到来后就进行计算;数据仓储风格以文件或模型为主要数据结构。从控制结构方面看,管道-过滤器风格具有顺序结构或有限的循环结构;数据仓储风格则以业务功能驱动。https://shuaici.blog.csdn.net/article/details/1413268302015年系统架构师案例分析试题一-CSDN博客文章浏览阅读817次,点赞36次,收藏37次。系统架构风险:架构设计中潜在的、存在问题的架构决策所带来的隐患。敏感点:为了实现某种特定的质量属性,一个或多个构件所具有的特性。权衡点:影响多个质量属性的特征,是多个质量属性的敏感点。https://shuaici.blog.csdn.net/article/details/141053286

这篇关于结合系统架构设计的非功能性需求开发一套文化用品商城系统的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1121829

相关文章

Spring Boot 结合 WxJava 实现文章上传微信公众号草稿箱与群发

《SpringBoot结合WxJava实现文章上传微信公众号草稿箱与群发》本文将详细介绍如何使用SpringBoot框架结合WxJava开发工具包,实现文章上传到微信公众号草稿箱以及群发功能,... 目录一、项目环境准备1.1 开发环境1.2 微信公众号准备二、Spring Boot 项目搭建2.1 创建

nginx -t、nginx -s stop 和 nginx -s reload 命令的详细解析(结合应用场景)

《nginx-t、nginx-sstop和nginx-sreload命令的详细解析(结合应用场景)》本文解析Nginx的-t、-sstop、-sreload命令,分别用于配置语法检... 以下是关于 nginx -t、nginx -s stop 和 nginx -s reload 命令的详细解析,结合实际应

SpringBoot结合Docker进行容器化处理指南

《SpringBoot结合Docker进行容器化处理指南》在当今快速发展的软件工程领域,SpringBoot和Docker已经成为现代Java开发者的必备工具,本文将深入讲解如何将一个SpringBo... 目录前言一、为什么选择 Spring Bootjavascript + docker1. 快速部署与

golang程序打包成脚本部署到Linux系统方式

《golang程序打包成脚本部署到Linux系统方式》Golang程序通过本地编译(设置GOOS为linux生成无后缀二进制文件),上传至Linux服务器后赋权执行,使用nohup命令实现后台运行,完... 目录本地编译golang程序上传Golang二进制文件到linux服务器总结本地编译Golang程序

Linux系统性能检测命令详解

《Linux系统性能检测命令详解》本文介绍了Linux系统常用的监控命令(如top、vmstat、iostat、htop等)及其参数功能,涵盖进程状态、内存使用、磁盘I/O、系统负载等多维度资源监控,... 目录toppsuptimevmstatIOStatiotopslabtophtopdstatnmon

Python中re模块结合正则表达式的实际应用案例

《Python中re模块结合正则表达式的实际应用案例》Python中的re模块是用于处理正则表达式的强大工具,正则表达式是一种用来匹配字符串的模式,它可以在文本中搜索和匹配特定的字符串模式,这篇文章主... 目录前言re模块常用函数一、查看文本中是否包含 A 或 B 字符串二、替换多个关键词为统一格式三、提

SpringBoot开发中十大常见陷阱深度解析与避坑指南

《SpringBoot开发中十大常见陷阱深度解析与避坑指南》在SpringBoot的开发过程中,即使是经验丰富的开发者也难免会遇到各种棘手的问题,本文将针对SpringBoot开发中十大常见的“坑... 目录引言一、配置总出错?是不是同时用了.properties和.yml?二、换个位置配置就失效?搞清楚加

linux重启命令有哪些? 7个实用的Linux系统重启命令汇总

《linux重启命令有哪些?7个实用的Linux系统重启命令汇总》Linux系统提供了多种重启命令,常用的包括shutdown-r、reboot、init6等,不同命令适用于不同场景,本文将详细... 在管理和维护 linux 服务器时,完成系统更新、故障排查或日常维护后,重启系统往往是必不可少的步骤。本文

Python中对FFmpeg封装开发库FFmpy详解

《Python中对FFmpeg封装开发库FFmpy详解》:本文主要介绍Python中对FFmpeg封装开发库FFmpy,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、FFmpy简介与安装1.1 FFmpy概述1.2 安装方法二、FFmpy核心类与方法2.1 FF

基于Python开发Windows屏幕控制工具

《基于Python开发Windows屏幕控制工具》在数字化办公时代,屏幕管理已成为提升工作效率和保护眼睛健康的重要环节,本文将分享一个基于Python和PySide6开发的Windows屏幕控制工具,... 目录概述功能亮点界面展示实现步骤详解1. 环境准备2. 亮度控制模块3. 息屏功能实现4. 息屏时间