当前位置: 首页 > news >正文

《软件工程概论》作业一:新冠疫情下软件产品设计(小区电梯实体按钮的软件替代方案)

课程说明:《软件工程概论》为浙江科技学院2018级软件工程专业在大二下学期开设的必修课。课程使用《软件工程导论(第6版)》(张海藩等编著,清华大学出版社)作为教材。以《软件设计文档国家标准GBT8567-2006》作为原型,经过教师挑选和精简,布置为课程作业。专业同学组成3人小组,以第十一届中国大学生服务外包创新创业大赛企业命题类的赛题作为选题,进行文档撰写的练习。本人为所在小组的组长。

本文章说明:本文章为小组作品。撰写时间约为2周。本文章为终稿,若无特殊情况,将不再进行修改。

目录

  • 小区电梯实体按钮的软件替代方案(小区电梯按键模拟系统)
    • 背景介绍
    • 现状分析
    • 解决方案
      • 概述
      • 硬件配合与环境配合
      • 前台软件概述
      • 软件使用流程

小区电梯实体按钮的软件替代方案(小区电梯按键模拟系统)

背景介绍

2020年伊始,一场突如其来的新冠肺炎疫情打乱了人们的生活步伐。疫情自武汉爆发,并迅速扩展到全国各地,进而发展为全球范围内的大流行。此次流行疫情的病原体是与SARS冠状病毒同属一族的新型冠状病毒,具有潜伏期长、传染性强的特点,可通过呼吸道飞沫和接触传播。(“接触传播”是指飞沫沉积在物品表面,接触污染手后,再接触口腔、鼻腔、眼睛等黏膜,导致感染。)公共场所中的电梯按钮等公共设施,在日常生活中是频繁接触的对象,因而成为病毒的绝佳传播载体。如何避免此类高危接触行为,已成为疫情防控中一个不容忽视的问题。

现状分析

对于上述问题,物业(而非个人)可以采取以下几个解决方案:

方案概述优点缺点
提供纸巾等介质操作按钮,定期消毒简单有效,实施难度小非强制性,消耗大量纸巾,需要妥善处理废弃物、定期补充,可能有人私吞
派专人常驻电梯内,帮居民操作节约物资,按钮使用人数变得十分有限电梯外按钮无防护,夜班,工作量大,专人需要较强保护
小区门禁卡内写入楼层,电梯安装读卡器利用了原有的硬件,无接触,绿色环保忘带卡、前往其他楼层,无法替代“开门”“关门”按钮
电梯安装声控模块硬件成本低,无接触语音识别通病;说法会产生飞沫
替换为感应电梯按钮无接触,覆盖所有按钮成本高,容易误操作

解决方案

概述

用软件来代替电梯实体按钮,即用户通过操作软件,达到与按下电梯按钮相同的效果。这里的电梯按钮包括电梯轿厢内部的按钮与楼道电梯门外请求“上楼”或“下楼”的按钮,电梯轿厢内部的按钮又包括楼层选择按钮、开/关电梯门按钮和紧急求助按钮。传统的电梯使用场景中,电梯内、外的按钮在按下时发出的信号经过电路处理,统一输入到控制接口中,从而对电梯运行发出控制命令;在本解决方案中,用户操作软件,软件前台将用户命令发送到后台,后台再将命令输入到控制接口。所以,这里的“软件替代方案”包括前台的用户界面和后台与控制接口对接的部分,在本报告中阐述前台部分。

硬件配合与环境配合

  1. 电梯按钮区域设置屏蔽装置,阻止乘客接触电梯按钮。
  2. 在电梯内外设置小型显示屏(可以与屏蔽装置一体化设计,可以利用电梯内外原有的屏幕)。
  3. 通过各种方式(在屏蔽装置、显示屏或其他显目位置设置提示语,电梯口派遣人员等)引导乘客学习使用软件。

前台软件概述

由于微信用户基数大、微信登录方便快捷等原因,本方案采取微信小程序作为前台软件的载体。用户在使用软件前,需要明确自己的身份定位。身份定位有3种:小区单元楼住户,偶然访客和固定访客(来访频繁且到访楼层固定)。对于小区单元楼住户和固定访客,他们可以在进入程序后,进行微信登录授权,登记自己居住(到访)的楼层,之后每次进入程序都无需选择楼层,程序会自动判断用户的上楼/下楼意图。出于隐私保护需要,用户可以在程序中解除授权,清除登记的楼层信息。对于偶然访客,他们无需授权,但需要手动选择目的楼层。程序中的主要页面如下。

【身份选择页面】小程序加载过程中,自动判断用户的授权状态。若为未授权用户,则进入该页面,让用户选择“住户(固定访客)”或“偶然访客”身份(以下简称“住户”和“访客”身份)。

【访客乘电梯页面】 选择“访客”身份后进入的页面。页面上有电梯状态、电梯按钮模块和身份切换按钮。电梯按钮模块包括楼层选择子模块和 “开门”“关门”“紧急求助”按钮。楼层选择子模块包括楼层选择控件(按钮组或下拉列表等)和“确认”“取消”按钮。用户选择楼层后,点击“确认”,等待电梯将自己运送到目的楼层,在到达之前有一次更改机会(“确认”按钮变为“更改”按钮)。用户点击“取消”按钮,则视阶段跳转到完成页面或将用户运送到下一停靠楼层。电梯到达目的楼层后,若程序未被关闭,则会跳转到完成页面

【住户乘电梯页面】 已授权用户在小程序加载完成之后进入的页面。其布局与访客乘电梯页面类似,不同之处在于:楼层选择控件为文本标签(系统自动判断用户要前往的楼层并显示),只需用户点击“确认”即可,确认之后只可取消,不可更改;如果用户要前往其他楼层,可点击身份切换按钮“访客(本次)”,切换到访客乘电梯页面;页面底部有选项卡组“乘电梯”(处于选定状态)和“个人中心”。

【楼层登记页面】 选择“住户”身份后进入的页面。用户在这个页面登记自己居住(到访)的楼层。登记完成后,进入 住户乘电梯页面

【个人中心页面】住户乘电梯页面点击“个人中心”选项卡进入的页面。用户可以在该页面修改居住(到访)楼层、解除授权等。
在各个页面中,均有一个部分提示当前页面剩余操作时间,如果用户未及时做出操作,程序将跳转到超时提示页面。
在这里插入图片描述

软件使用流程

  1. 乘客使用微信“扫一扫”功能扫描显示屏上的二维码之后,进入小程序。
  2. 用户是否授权?已授权,转步骤2.1;未授权,转步骤2.2。
  • 2.1 系统自动给出目的楼层。要前往其他楼层,点击“访客(本次)”后转步骤2.2.2,否则转步骤3。
  • 2.2 用户选择“住户”或“访客”身份。若选择“住户”身份,转步骤2.2.1;若选择“访客”身份,转步骤2.2.2;
    • 2.2.1 程序请求微信登录授权。授权通过后,用户进行楼层登记,转步骤2.1。若用户拒绝授权,转步骤2.2.2。
    • 2.2.2 用户手动选择目的楼层。要切换到“住户”身份,点击“切换到住户”后转步骤2.2.1,否则转步骤3。
  1. 用户点击“确定”,等待电梯到来。若已经在电梯内,转步骤4。
  2. 用户进入电梯或已经在电梯内,等待电梯将自己送到目的楼层或下一停靠楼层(当用户取消时)。在本阶段,“开门”“关门”“紧急求助”按钮可用。
  3. 用户走出电梯或已经在电梯外,结束。
    注:上述步骤中的跳转和某些判断由系统自动完成;用户在步骤2.1、步骤2.2.2、步骤3、步骤4均可点击“取消”,视情况转步骤4或5;拥有更改机会的用户(见上)在步骤3、步骤4均可点击“更改”;用户在登录后到步骤5之前均可进入“个人中心”,更改居住楼层或解除授权。居住楼层的更改将在下一次乘坐电梯时生效。如果解除授权,视情况转步骤4或5。

相关文章:

《软件工程概论》作业一:新冠疫情下软件产品设计(小区电梯实体按钮的软件替代方案)

课程说明:《软件工程概论》为浙江科技学院2018级软件工程专业在大二下学期开设的必修课。课程使用《软件工程导论(第6版)》(张海藩等编著,清华大学出版社)作为教材。以《软件设计文档国家标准GBT8567-2006》…...

基于Ernie-Bot打造语音对话功能

大模型场景实战培训,提示词效果调优,大模型应用定制开发,点击咨询 咨询热线:400-920-8999转2 GPT-4的语音对话功能前段时间在网上火了一把,许多人被其强大的自然语言处理能力和流畅的语音交互所吸引。现在,…...

动手学深度学习(李沐)PyTorch 第 3 章 线性神经网络

3.1 线性回归 线性回归是对n维输入的加权,外加偏差 线性回归可以看作是单层神经网络 回归问题中最常用的损失函数是平方误差函数。 平方误差可以定义为以下公式: 常数1/2不会带来本质的差别,但这样在形式上稍微简单一些 (因为当…...

ROS理论与实践学习笔记——2 ROS通信机制之服务通信

服务通信也是ROS中一种极其常用的通信模式,服务通信是基于请求响应模式的,是一种应答机制。也即: 一个节点A向另一个节点B发送请求,B接收处理请求并产生响应结果返回给A,用于偶然的、对时时性有要求、有一定逻辑处理需求的数据传输…...

技术成神之路:设计模式(十八)适配器模式

介绍 适配器模式(Adapter Pattern)是一种结构型设计模式,它允许接口不兼容的类可以协同工作,通过将一个类的接口转换成客户端所期望的另一个接口,使得原本由于接口不兼容而不能一起工作的类可以一起工作。 1.定义 适配…...

图神经网络:处理复杂关系结构与图分类任务的强大工具

创作不易,您的打赏、关注、点赞、收藏和转发是我坚持下去的动力! 图神经网络(Graph Neural Network, GNN)是针对图数据的一类神经网络模型。图数据具有节点(节点代表实体)和边(边代表节点之间的…...

LeetCode: 1971. 寻找图中是否存在路径

寻找图中是否存在路径 原题 有一个具有 n 个顶点的 双向 图,其中每个顶点标记从 0 到 n - 1(包含 0 和 n - 1)。图中的边用一个二维整数数组 edges 表示,其中 edges[i] [ui, vi] 表示顶点 ui 和顶点 vi 之间的双向边。 每个顶点…...

mysql 查询表所有数据,分页的语句

在 MySQL 中,若要从表中查询所有数据并实现分页,你可以使用 SELECT 语句结合 LIMIT 和 OFFSET 子句。LIMIT 用于指定返回的记录数,而 OFFSET 则用于指定从哪一条记录开始返回(即跳过的记录数)。 以下是一个基本的分页…...

TI DSP TMS320F280025 Note13:CPUtimer定时器原理分析与使用

TMS320F280025 CPUtimer定时器原理分析与使用 ` 文章目录 TMS320F280025 CPUtimer定时器原理分析与使用框图分析定时器中断定时器使用CPUtimers.cCPUtimers.h框图分析 定时器框图如图所示 定时器有一个预分频模块和一个定时/计数模块, 其中预分频模块包括一个 16 位的定时器分…...

Australis 相機率定軟體說明

概要 課堂中使用Australis這套軟體,順帶記錄操作過程 內容以老師口述及我測試的經過 照片為老師課堂提供之 說明 執行 Step1. 匯入照片 注意!!如果是Mac的作業系統,將資料夾移到Windows上的時候,建議創一個新的資料…...

C++入门(有C语言基础)

string类 string类初始化的方式大概有以下几种: string str1;string str2 "hello str2";string str3("hello str3");string str4(5, B);string str5[3] {"Xiaomi", "BYD", "XPeng"};string str6 str5[2];str…...

第四届高性能计算与通信工程国际学术会议(HPCCE 2024)

目录 大会简介 主办单位,承办单位 征稿主题 会议议程 参会方式 大会官网:www.hpcce.net 大会简介 第四届高性能计算与通信工程国际学术会议(HPCCE 2024)将于2024年11月22-24日在苏州召开。HPCCE 2024将围绕“高性能计算与通信工…...

负载均衡架构解说

负载均衡架构是一种设计模式,用于在多个服务器之间分配网络或应用流量,以提高资源利用率、最大化吞吐量、减少响应时间,并确保高可用性。 负载均衡架构的关键组件和概念: 关键组件 1.负载均衡器(Load Balancer&…...

【异常数据检测】孤立森林算法异常数据检测算法(数据可视化 Matlab语言)

摘要 本文研究了基于孤立森林算法的异常数据检测方法,并在MATLAB中实现了该算法的可视化。孤立森林是一种无监督的异常检测算法,主要通过构建决策树来区分正常数据和异常数据。本文使用真实数据集,通过二维可视化展示了检测结果。实验结果表…...

MKV转MP4丨FFmpeg的简单命令使用——视频格式转换

MKV是一种视频封装格式,很好用,也是OBS的默认推荐录制格式,因为不会突然断电关机而导致整个视频录制文件丢失。 但是MKV无法直接导入PR中剪辑,最直接的方法是将MKV转换为MP4格式,最方便且安全无损的转换方法便是用FFmp…...

git使用“保姆级”教程4——版本回退及分支讲解

一、版本回退 1、历史回退(版本回退)——命令行git reset --hard 版本编号 注意:当前命令会让工作区的内容发生改变,可以理解成历史区(master分支)直接回到工作区比如:从版本4回到版本3,则工作区只会显示版本3的代码内容 1.1、指…...

spring cache,Spring data redis

本项目使用Redis存储缓存数据,如何通过Java去访问Redis? 常用的有Jedis和Lettuce两个访问redis的客户端类库 ,Jedis和Lettuce都是redis提供的。其中Lettuce的性能和并发性要好一些,Spring Boot 默认使用的是 Lettuce 作为 Redis …...

10.数据结构与算法-线性表的应用(线性表与有序表的合并)

线性表的合并 有序表的合并 顺序表 链表...

GAN|对抗| 生成器更新|判别器更新过程

如上图所示,生成对抗网络存在上述内容: 真实数据集;生成器;生成器损失函数;判别器;判别器损失函数;生成器、判别器更新(生成器和判别器就是小偷和警察的关系,他们共用的…...

day01——登录功能

逻辑: 前端将登录信息通过报文的形式,发送给后端。后端进行登陆验证 2.1 根据接受的用户名,查询数据表。 若不存在该用户的记录,返回用户不存在。 若用户存在,判断数据库中的密码和接收的是否一致,不一致则…...

linux之kylin系统nginx的安装

一、nginx的作用 1.可做高性能的web服务器 直接处理静态资源(HTML/CSS/图片等),响应速度远超传统服务器类似apache支持高并发连接 2.反向代理服务器 隐藏后端服务器IP地址,提高安全性 3.负载均衡服务器 支持多种策略分发流量…...

无法与IP建立连接,未能下载VSCode服务器

如题,在远程连接服务器的时候突然遇到了这个提示。 查阅了一圈,发现是VSCode版本自动更新惹的祸!!! 在VSCode的帮助->关于这里发现前几天VSCode自动更新了,我的版本号变成了1.100.3 才导致了远程连接出…...

GC1808高性能24位立体声音频ADC芯片解析

1. 芯片概述 GC1808是一款24位立体声音频模数转换器(ADC),支持8kHz~96kHz采样率,集成Δ-Σ调制器、数字抗混叠滤波器和高通滤波器,适用于高保真音频采集场景。 2. 核心特性 高精度:24位分辨率&#xff0c…...

九天毕昇深度学习平台 | 如何安装库?

pip install 库名 -i https://pypi.tuna.tsinghua.edu.cn/simple --user 举个例子: 报错 ModuleNotFoundError: No module named torch 那么我需要安装 torch pip install torch -i https://pypi.tuna.tsinghua.edu.cn/simple --user pip install 库名&#x…...

【从零开始学习JVM | 第四篇】类加载器和双亲委派机制(高频面试题)

前言: 双亲委派机制对于面试这块来说非常重要,在实际开发中也是经常遇见需要打破双亲委派的需求,今天我们一起来探索一下什么是双亲委派机制,在此之前我们先介绍一下类的加载器。 目录 ​编辑 前言: 类加载器 1. …...

tomcat入门

1 tomcat 是什么 apache开发的web服务器可以为java web程序提供运行环境tomcat是一款高效,稳定,易于使用的web服务器tomcathttp服务器Servlet服务器 2 tomcat 目录介绍 -bin #存放tomcat的脚本 -conf #存放tomcat的配置文件 ---catalina.policy #to…...

掌握 HTTP 请求:理解 cURL GET 语法

cURL 是一个强大的命令行工具,用于发送 HTTP 请求和与 Web 服务器交互。在 Web 开发和测试中,cURL 经常用于发送 GET 请求来获取服务器资源。本文将详细介绍 cURL GET 请求的语法和使用方法。 一、cURL 基本概念 cURL 是 "Client URL" 的缩写…...

Cilium动手实验室: 精通之旅---13.Cilium LoadBalancer IPAM and L2 Service Announcement

Cilium动手实验室: 精通之旅---13.Cilium LoadBalancer IPAM and L2 Service Announcement 1. LAB环境2. L2公告策略2.1 部署Death Star2.2 访问服务2.3 部署L2公告策略2.4 服务宣告 3. 可视化 ARP 流量3.1 部署新服务3.2 准备可视化3.3 再次请求 4. 自动IPAM4.1 IPAM Pool4.2 …...

鸿蒙(HarmonyOS5)实现跳一跳小游戏

下面我将介绍如何使用鸿蒙的ArkUI框架,实现一个简单的跳一跳小游戏。 1. 项目结构 src/main/ets/ ├── MainAbility │ ├── pages │ │ ├── Index.ets // 主页面 │ │ └── GamePage.ets // 游戏页面 │ └── model │ …...

TJCTF 2025

还以为是天津的。这个比较容易,虽然绕了点弯,可还是把CP AK了,不过我会的别人也会,还是没啥名次。记录一下吧。 Crypto bacon-bits with open(flag.txt) as f: flag f.read().strip() with open(text.txt) as t: text t.read…...