工程机械车辆环保数据监控平台

软件架构文档

版本 <1.1>


目的

本文档将从架构方面对系统进行综合概述,其中会使用多种不同的架构视图来描述系统的各个方面。它用于记录并表述已对系统的架构方面作出的重要决策。

架构目标和约束

  1. 系统在开发过程中有如下设计约束:开发语言为Java,采用关系型数据库存放数据,采用B/S架构。
  2. 系统应支持100人以上同时访问服务器并支持500人以上同时访问数据库,服务器的响应时间不应该超过5秒。
  3. 所有用户在保证网络连接的情况下可同时通过局域网和互联网访问系统。
  4. 系统必须保证数据的安全访问,用户需要通过用户名和密码进行身份认证,同时对数据的访问要进行授权认证。

用例视图

本章是对软件架构的用例视图的描述。由于系统的用例数量太多,因此本章只选了部分与架构设计相关的用例。对于其余的用例,可参考软件需求规约。

选取的用例包括:

  • 用户角色管理
  • 角色权限管理
  • 设备信息管理
  • 报警信息管理
  • 环保数据管理

主要用例

用户角色管理

简要说明:该用例允许系统管理员管理系统中所有用户的角色,它包括已分配角色用户的角色修改。该用例的主要参与者为系统管理员。

角色权限管理

简要说明:该用例允许系统管理员管理系统中各个职员角色的权限。它包括角色的创建,查询,删除。对各个角色进行权限的添加与移除。该用例的主要参与者是系统的管理员。

设备信息管理

简要说明:该用例允许系统管理员管理网关设备所有信息。它包括网关设备的查询、创建、删除和修改以及网关设备的运行状态和远程开、关。该用例的主要参与者是系统的管理员。

报警信息管理

简要说明:该用例允许系统记录所有车辆排放超标导致的报警信息,报警信息包括车辆信息、报警项、报警时间、处理结果。该功能包括报警信息的查询、删除和修改。该用例的主要参与者是系统的管理员。

环保数据管理

简要说明:该用例主要展示系统采集车辆的环保信息,以时间为单位(采集评率待定,包含历史信息)。它包括查询、删除和修改。该用例的主要参与者是系统的管理员。

系统架构图

部署架构

分层架构

业务架构

大小和性能

本系统采用的软件架构可以很好的支持如下性能需求:

  1. 系统应支持100人以上同时访问服务器并支持500人以上同时访问数据库。
  2. 服务器的响应时间不应该超过5秒。

质量

本系统采用的软件架构可以很好的支持系统质量方面的需求:

  1. 系统应当方便所有用户的使用,对于有基础计算机水平的用户的培训时间应不超过2小时。
  2. 系统应该提供在线的支持帮助。
  3. 系统必须能够保证每天24小时不间断运行,可用率为99%。
  4. 合理的设计系统的结构以保证较高的可维护性,系统的模块应该可替换。
  5. 系统应当正确处理发生的异常或者错误,并返回错误信息。

查看全文

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

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

相关文章:

工程机械车辆环保数据监控平台

软件架构文档
版本 <1.1> 目的
本文档将从架构方面对系统进行综合概述,其中会使用多种不同的架构视图来描述系统的各个方面。它用于记录并表述已对系统的架构方面作出的重要决策。
架构目标和约束
系统在开发过程中有如下设计约束:开发语言为J……

[ 汇编语言 (一) ] —— 踩着硬件的鼓点,掌握计算机的精髓

🙌秋名山码民的主页 😂一个打过一年半的oier,写过一年多的Java,现在致力于学习iot应用的普通本科生 🎉欢迎关注🔎点赞👍收藏⭐️留言📝 🙏作者水平有限,如发现……

对目前的人工智能的一些思考

一个标题
也许写得过于沉重和严肃了吧w感觉这个活动蛮有趣的 近期AI成为热点话题, GPT, new bing, bard,AI 绘画等 AI 编程工具引发大量讨论。请结合自身学习与工作经历,一起来聊聊你对AI技术以及其今后发展的看法吧。……

十种方式|||程序员业余时间副业技术变现赚钱的10个私藏方法,悄悄告诉你!

今天说一下 程序员技术人是 如何快速的能够实现财富自由 就是让大家了解一下这一块的知识 说一个简单的案例 就是如果你开发一套代码 这个代码的话一套卖5万块钱 那么你一年的话你卖十套的话 就是50万 这个其实都是税后收入 有没有后期的话都不需要什么成本了 在13-15年的时候的……

代码随想录算法训练营第五十三天 | 1143. 最长公共子序列、1035. 不相交的线、53. 最大子数组和

1143. 最长公共子序列
动规五部曲
1、确定dp数组(dp table)以及下标的含义
dp[i][j]:长度为[0, i – 1]的字符串text1与长度为[0, j – 1]的字符串text2的最长公共子序列为dp[i][j]
2、确定递推公式
主要就是两大情况: text1[i……

超越时空:加速预训练语言模型的训练

超越时空:加速预训练语言模型的训练
随着自然语言处理(NLP)领域的快速发展,预训练语言模型(PTLM)已成为许多NLP任务的重要基石,如文本生成、情感分析、文本分类等。然而,传统的PTLM……

职场小白的十条军规

现在 又到了应届生毕业找工作的时间了 那这两天我们公司也在一直的面试 招人啊 马上呢 就会有一批新鲜的血液来到我们公司 那今天我就想起来这个话题 就是关于职场小白要注意的一些事情 是怎么回事呢 我有一个同事他已经不是小白了 他来我们公司一年了 但是呢他最近心态老是有问……

真题详解(Flynn分类)-软件设计(四十六)

真题详解(计算机总线)-软件设计(四十五)https://blog.csdn.net/ke1ying/article/details/130046829
Flynn分类将计算机分为四类。
单指令流单数据流机器(SISD):早期的机器,在某个时钟周期&……

数字逆序并输出

输入一个正整数n,计算n的逆序数m,输出m与n的和。要求程序定义一个inverse()函数和一个main()函数,inverse()函数接收一个整数值,返回这个数中数字逆序后的结果值。例如,给定数7631,函数返回1367 。 int inverse(int n) { //计算并返回n的逆序……

判断友好数对

输入 输入两个正整数m和n,1<m<n<10000。
两个数的正因子之和等于对方就叫友好数对
输出 输出m和n之间的所有友好数对。 在输出每个友好数对时,要求小数在前、大数在后,并去掉重复的数对。例如,220和284是一对友好数&am……

STM32F103基于HAL库I2C/SPI硬件接口+DMA驱动 SSD1306 Oled

STM32F103基于HAL库I2C/SPI硬件接口DMA驱动 SSD1306 Oled✨由于手上只有I2C接口的SSD1306 OLED屏幕,仅测试了硬件I2C驱动显示功能,实际测试的FPS帧率在37或38变化。 📢本项目从Github开源项目中移植过来,开源地址:http……

English Learning – L2 第 14 次小组纠音 复习元音 [ɔɪ ] [aʊ] [əʊ] [ɪə] 弱读 2023.4.12 周三

English Learning – L2 第 14 次小组纠音 复习元音 [ɔɪ ] [aʊ] [əʊ] [ɪə] 弱读 2023.4.12 周三共性问题coin voice /kɔɪn/ /vɔɪs/ 中 ɔɪvowel pounds /ˈvaʊəl/ /paʊndz/ 中的 aʊshow /ʃəʊ/beer nearly /bɪə/ /ˈnɪəlɪ/ 中的 ɪəbest bed ten /best/……

LC-1157. 子数组中占绝大多数的元素(二分查找+随即猜,摩尔投票+线段树,upper_bound和lower_bound函数)

文章目录[1157. 子数组中占绝大多数的元素](https://leetcode.cn/problems/online-majority-element-in-subarray/)统计每个元素的索引-超时二分查找 随机猜摩尔投票 线段树[剑指 Offer 39. 数组中出现次数超过一半的数字](https://leetcode.cn/problems/shu-zu-zhong-chu-xi……

杭州旭航集团,申请纳斯达克IPO上市,募资9800万美元

来源:猛兽财经 作者:猛兽财经 猛兽财经获悉,为中国企业提供数字内容营销服务的杭州旭航网络科技有限公司的控股公司Xuhang Holdings Ltd(以下简称:旭航集团),近期已向美国证券交易委员会(SEC)提……

深度学习快速参考:11~13

原文:Deep Learning Quick Reference 协议:CC BY-NC-SA 4.0 译者:飞龙 本文来自【ApacheCN 深度学习 译文集】,采用译后编辑(MTPE)流程来尽可能提升效率。 不要担心自己的形象,只关心如何实现目……

基于copula的风光联合场景生成与缩减

目录
1 主要内容
风光出力场景生成方法
2 部分程序
3 程序结果
4 程序链接
点击直达! 1 主要内容
该程序方法复现《融合风光出力场景生成的多能互补微网系统优化配置》风光出力场景生成部分,目前大多数研究的是不计风光出力之间的相关性影响&amp……

TS 使用自动提示生成对象中的键

TS 使用自动提示生成对象中的键
使用 plain object 而不是 class 的原因主要是在于 redux 中保存的对象需要为可序列化的对象。当然,具体操实现的时候肯定是可以无视这个需求的,不过 Redux 团队强烈建议使用可序列化对象,具体的官方文档说明……

Spring Boot概述(一)

1. SpringBoot 概述
1.1 SpringBoot 概念
SpringBoot提供了一种快速使用Spring的方式,基于约定优于配置的思想,可以让开发人员不必在配置与逻辑业务之间进行思维的切换,全身心的投入到逻辑业务的代码编写中,从而大大提高了开发的……

计算机笔试/面试常见逻辑题/智力题汇总

说明:按种类汇总,难度不分先后,做了分级罗列,方便后续扩充,大家有比较有意思的题目可以在讨论区讨论。 下面有的题题解相对复杂的直接参考了网上的一些解答,而有的题解我认为并不好的也做了补充&#xff0c……

OpenAI文档翻译——搭建第一个自己的ChatGPT应用

这篇主要是讲了重头到位创建一个基于OpenAI API的应用程序的过程,同时给出了Node.js、Python版本的实例代码。应用程序的构建总体来说是很简单的就是一个接口调用,前提是我们需要提供密匙。
如果想要获取更好的结果返回一个是可以给模型提供一些列子从而……

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注