侧边栏壁纸
博主头像
thinkTV博主等级

喜爱动漫的二刺螈一枚,摩托车云爱好者(快要有车了)。 懂一点技术的在读生物医学工程研究生( •̀ ω •́ )✧,多多指教。

  • 累计撰写 127 篇文章
  • 累计创建 17 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

AID急救教学项目详细设计

thinkTV
2022-09-07 / 0 评论 / 1 点赞 / 117 阅读 / 2,231 字 / 正在检测是否收录...

1. 硬件构架设计

关键技术:

核心处理器STM32F4:在低功耗下具有极高的性能,使用主流的Cortex内核。丰富合理的外设,合理的功耗,合理的价格。提供了全面丰富的技术文档。我们以STM32为控制器,为我们的产品开发带来极大便利。整个培训系统以STM32为控制核心,使用串口通信协议、IIC协议等多种通信协议实现与多个传感器的交流。采集压力、呼吸等状态信息,并通过语音、屏显等方式与人进行交互,模拟完整的一套急救教学流程。CPR训练仪控制框图如下所示:
图片-1662562012452
此外,我们使用Altium Designer进行PCB绘制。将STM32和其他外设集成于同一PCB板上,使电路结构更加安全完善。PCB电路图如下所示:
图片-1662562030562

物联网技术:

为实现远程教学,我们采取了智慧物联的方案,采用物联网技术将硬件平台的数据实时上传至网页端。通过网页端实时处理数据,将数据可视化,增强人机交互效果。
我们产品采用有方公司的N10模块进行物联网的开发。N10是一款超小封装 GPRS 工业级无线通讯模块。该模块可以提供高品质的语音、短信、数据业务等功能,在各种工业和民用领域得到广泛的应用。N10 模块主要由基带、Flash ROM、射频 PA 功放和对外接口等几大部分构成,各部分协调工作,完成 GPRS 数据和语音等各种通信功能。其设计框图如图所示。
图片-1662562104580
在我们的产品中我们使用ICA联盟 MQTT 协议将N10模块接入阿里云平台。接入方式如下图:

图片-1662562118238

为最大限度节约资源,我们为N10模块接入2G网络,使用2G网络进行数据的传输。

2. 数据库与客户端构建设计

概要

web端程序使用Django2.0框架编写,部署于centos7的apache服务器上,通过阿里云物联网平台与硬件端数据联通,可用于展示硬件端数据、进行线上急救教学、发布活动信息,是Aid硬件用户、急救教学培训方、志愿者招募方的信息交互平台。

与硬件的连接

硬件端在完成一轮心肺复苏后,将生成的数据上传至阿里云物联网平台,并自动存入web端云数据库(Mysql5.7),当用户登入Aid网站,可以根据设备序列号查询到使用硬件时所产生的数据。

图片-1662562181840
图表 1 数据展示界面
图片-1662562188633
图表 2 数据库表

用户管理

web端用户有三种身份:志愿者(接受培训)、培训方、志愿者招募方。
其中培训方可以发布各类培训活动,招募方可以发布招募活动,志愿者可以报名各种活动,而所有的用户都可以根据设备码查看自己使用硬件设备所产生的各种数据及其分析

4. 界面设计/使用流程

1. 注册账户

图片-1662562248974

2.前往邮箱验证账户

图片-1662562313092

3.登录

图片-1662562317705

4.急救教学官网介绍

图片-1662562323664

5.硬件数据显示界面

图片-1662562328388

6.个人中心

图片-1662562335048

5. 测试报告

整个项目的测试经历了1-1.0与1-1.1两个阶段,共经历了1轮集成测试、6轮冒烟测试和7轮系统测试和1轮上线跟踪测试。整个测试过程中累计执行用例8100条,发现缺陷1026个。截至1-1.1第四系统测试结束,所发现的高权重问题已得到修复和验证。
整个项目的测试时间从2019年5月18日开始,到2020年3月27日止。
本次测试覆盖的范围包括:功能测试、兼容性测试、接口测试、数据迁移测试、性能测试、安全性测试和品质监控。以下分别对功能测试、兼容性测试、接口测试、数据迁移测试、性能测试和安全性测试进行说明。
整个测试过程中先后进行了三轮安全性测试,发现了2个影响较严重的安全性问题,且都已得到修复和验证。

测试策略:

  1. 测试类型:按阶段划分定义为集成测试和系统测试。
  2. 集成测试阶段进行了一轮集成测试,主要以需求挖掘、分析、确认和寻找实现与需求不一致为主要目标
  3. 系统测试阶段分三轮进行,基本策略如下:

第一轮为覆盖性测试,测试范围覆盖以上描述的所有范围,关注所有级别的bug;
第二轮对权重为A、B的模块进行功能测试、兼容性测试,权重为C的模块进行冒烟测试,回归测试所有已修复的bug;
第三轮对权重为A的模块进行功能测试、兼容性测试,对权重为B、C的模块进行冒烟测试,回归测试所有待解决的bug,及已关闭的高优先级bug。
每轮测试开始前都进行快速的冒烟测试,通过冒烟确信系统可测时进入下一轮系统测试。
数据迁移测试、接口测试只在第一轮进行。

  1. 缺陷评估:每轮测试结束后都组织开发工程师、测试工程师、产品工程师等共同评估产品缺陷,评估内容包括缺陷解决方案、是否涉及需求变更、下一轮开始时间及是否可以结束测试等。
    整个测试过程中累计发现缺陷734个,各轮次缺陷分布情况如下表。
    图片-1662562409653

测试结论

  1. 经过前后两个阶段的多轮测试,虽遗留了一些缺陷没有解决,但系统功能已趋于稳定,且项目确定的范围、策略和计划均已实现,项目测试可以结束、1-1.1可以上线。
  2. 通过测试觉得产品在用户体验方面有待后续版本进一步改进,不排除用户在使用该产品时有数据延迟。

测试建议

  1. 遗留缺陷。建议在1-1.1上线后以patch方式,或在后续版本中解决遗留缺陷,以提升产品的稳定性和用户体验。
  2. 需求建议。不论是产品本身还是各接口产品,建议进一步加强需求收集、分析、确认和评审过程,进一步提升需求文档的质量:减少需求的歧义性,提升需求的完整性、描述的清晰性、一致性、可读性、可实现性和可测试性。同时建议在后续项目中能对设计文档(如UI/UE等)进行评审,以增强产品的使用性、提升用户体验。
  3. 变更控制。建议在后续项目中进一步加强变更控制策略和规约制定,并强化变更控制规约的执行。不怕变更,关键要控制好变更的时机和策略。
  4. 版本控制。加强本身,特别是各接口产品的版本控制策略,以保证测试版本的清晰性、发布/上线版本和最终测试版本的一致性。
  5. 测试环境。期望在后续项目中及各接口产品的测试环境和开发环境完全分开,或阶段性完全独立,且各部分环境有专门的接口人负责,在测试期间严格禁止在测试环境上修复缺陷或更改环境配置(如确实需要更改配置,请提前通知测试及其它相关负责人)。以减少因此带来的沟通、反复侦测的成本。

项目开源代码

项目已Gitee开源,AID急救教学项目开源代码https://gitee.com/lizhiqiang-xdu/aid.git

1

评论区