项目实战——物联网应用平台项目总结报告
1. 项目概述
1.1 项目背景
本项目开发的软件为一个物联网应用平台。
自21世纪,我们的生活就全面迈入了全新信息化时代,尤其是数字产业的发展,我们的生活离不开各行各业的数据。而物联网作为新一代信息技术的重要组成部分,其用户端延伸和扩展到了任何物品与物品之间,通过射频识别、红外感应器、全球定位系统、激光扫描器等信息传感设备,按约定的协议,把任何物品与互联网相连接,进行信息交换和通信,以实现对物品的智能化识别、定位、跟踪、监控和管理的一种网络。
物联网的应用领域涉及到方方面面,在工业、农业、环境、交通、物流、安保等基础设施领域的应用,有效的推动了这些方面的智能化发展,使得有限的资源更加合理的使用分配,从而提高了行业效率、效益。 在家居、医疗健康、教育、金融与服务业、旅游业等与生活息息相关的领域的应用,从服务范围、服务方式到服务的质量等方面都有了极大的改进,大大的提高了人们的生活质量; 在涉及国防军事领域方面,虽然还处在研究探索阶段,但物联网应用带来的影响也不可小觑,大到卫星、导弹、飞机、潜艇等装备系统,小到单兵作战装备,物联网技术的嵌入有效提升了军事智能化、信息化、精准化,极大提升了军事战斗力,是未来军事变革的关键。
2020年5月7日,工信部发布工信厅通信〔2020〕25号文,即《工业和信息化部办公厅关于深入推进移动物联网全面发展的通知》。通知中首先表示:移动物联网(基于蜂窝移动通信网络的物联网技术和应用)是新型基础设施的重要组成部分。为贯彻落实党中央、国务院关于加快5G、物联网等新型基础设施建设和应用的决策部署,加速传统产业数字化转型,有力支撑制造强国和网络强国建设。
在这样一个大背景下,个人的物联网终端设备越来越多,管理也越来越麻烦,因此一款基于Web平台的物联网终端管理网站亟待开发。本物联网应用平台可以实现单用户物联网终端的有效管理、信息监控与在线跟踪等功能。
1.2 项目名称
物联网应用平台
1.3 项目介绍
本项目旨在将信息技术应用于物联网设备管理领域,构建帮助设备管理人员在线监控、管理、添加物联网设备的在线管理模式,打造一个高效实用的物联网应用平台。
1.4 相关人员及项目支持
1.4.1 任务提出者
浙江大学 计算机科学与技术学院 B/S体系软件设计课程 任课教师:胡晓军
1.4.2 开发者
浙江大学 计算机科学与技术学院 网络空间安全学院 xxx
1.4.3 面向用户
- 所有拥有多台物联网设备的人员
- 基于MQTT协议的联网电子设备管理人员
2. 编写概要
2.1 编写目的
本文档意在总结此次物联网应用平台项目的开发工作,对整个项目的开发过程、目的、产品、意义进行评价,并对人员的分配、工作情况进行分析总结,以提升团队的项目开发能力,促使团队将提高软件开发效率。
2.2 定义
-
HTML HTML(Hyper Text Markup Language)称为超文本标记语言,是一种标识性的语言。它包括一系列标签.通过这些标签可以将网络上的文档格式统一,使分散的Internet 资源连接为一个逻辑整体。HTML 文本是由 HTML 命令组成的描述性文本,HTML 命令可以说明文字,图形、动画、声音、表格、链接等。 -
CSS 层叠样式表(Cascading Style Sheets)是一种用来表现 HTML(标准通用标记语言的一个应用)或 XML(标准通用标记语言的一个子集)等文件样式的计算机语言。CSS 不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各元素进行格式化。 -
UML 统一建模语言(Unified Modeling Language)是一种为面向对象系统的产品进行说明、可视化和编制文档的一种标准语言,是非专利的第三代建模和规约语言。UML是面向对象设计的建模工具,独立于任何具体程序设计语言。 -
B/S系统 B/S 结构(Browser/Server,浏览器/服务器模式),是 WEB 兴起后的一种网络构模式,WEB 浏览器是客户端最主要的应用软件。这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。客户机上只要安装一个浏览器如 Netscape Navigator 或 Internet Explorer,服务器安装SQL Server、Oracle、MYSQL 等数据库。浏览器通过 Web Server 同数据库进行数据交互。 -
Node.js Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。 Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型。Node 是一个让 JavaScript 运行在服务端的开发平台,它让 JavaScript 成为与 PHP、Python、Perl、Ruby 等服务端语言平起平坐的脚本语言。发布于 2009 年 5 月,由 Ryan Dahl 开发,实质是对 Chrome V8 引擎进行了封装。Node 对一些特殊用例进行优化,提供替代的 API,使得 V8 在非浏览器环境下运行得更好。V8 引擎执行 JavaScript 的速度非常快,性能非常好。Node 是一个基于 Chrome JavaScript 运行时建立的平台, 用于方便地搭建响应速度快、易于扩展的网络应用。Node 使用事件驱动, 非阻塞 I/O 模型而得以轻量和高效,非常适合在分布式设备上运行数据密集型的实时应用。 -
React React是用于构建用户界面的JavaScript库,起源于Facebook的内部项目,因为该公司对市场上所有 JavaScript MVC框架,都不满意,就决定自己写一套,用来架设Instagram的网站。做出来以后,发现这套东西很好用,就在2013年5月开源了。具有声明式设计:React采用声明范式,可以轻松描述应用;高效:React通过对DOM的模拟,最大限度地减少与DOM的交互;灵活:React可以与已知的库或框架很好地配合等特点。 -
Ajax Ajax即Asynchronous JavaScript And XML(异步JavaScript和XML)在 2005年被Jesse James Garrett提出的新术语,用来描述一种使用现有技术集合的“新”方法,包括: HTML 或 XHTML, CSS, JavaScript, DOM, XML, XSLT, 以及最重要的XMLHttpRequest。使用Ajax技术网页应用能够快速地将增量更新呈现在用户界面上,而不需要重载(刷新)整个页面,这使得程序能够更快地回应用户的操作。 -
Django Django 是一个开放源代码的 Web 应用框架,由 Python 写成。采用了 MTV 的框架模式,即模型 M,视图 V 和模版 T。它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的,即是 CMS(内容管理系统)软件。并于 2005年 7 月在 BSD 许可证下发布。这套框架是以比利时的吉普赛爵士吉他手 Django Reinhardt 来命名的。2019 年 12 月 2 日,Django 3. 0 发布。 -
ECharts ECharts 是一个使用 JavaScript 实现的开源可视化库,涵盖各行业图表,满足各种需求。ECharts 遵循 Apache-2.0 开源协议,免费商用。ECharts 兼容当前绝大部分浏览器(IE8/9/10/11,Chrome,Firefox,Safari等)及兼容多种设备,可随时随地任性展示。 -
MySQL MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。
2.3 参考资料
- Early Approach to Software Engineering, Pallavi Gore, Kritika Saxena.
- Practical File of Software Engineering and Testing Laboratory, Aakash Raj.
- Software Engineering, Principles and Practice, 3rd Edition, Hans van Vliet.
- Program Manager’s Guidebook for Software Assurance, Dr. Kenneth E. Nidiffer, Timothy A. Chick, Dr. Carol Woody.
- Experimentation in Software Engineering, Claes Wohlin, Per Runeson, Martin Host, Magnus C. Ohlsson, Bjorn Regnell, Anders Wesslen.
- IEEE Computer Society/Software Engineering Institute Software Process Achievement (SPA) Award 2009, Satyendra Kumar, Ramakrishnan M.
- Michael Felderer, Wilhelm Hasselbring, Rick Rabiser, Reiner Jung: Software Engineering 2020, Fachtagung des GI-Fachbereichs Softwaretechnik, 24.-28. Februar 2020, Innsbruck, Austria. LNI P-300, Gesellschaft für Informatik e.V. 2020, ISBN 978-3-88579-694-7.
- Regina Hebig, Robert Heinrich: Combined Proceedings of the Workshops at Software Engineering 2020 Co-located with the German Software Engineering Conference 2020 (SE 2020), Innsbruck, ?sterreich, March 05, 2020. CEUR Workshop Proceedings 2581, CEUR-WS.org 2020.
- Steffen Becker, Ivan Bogicevic, Georg Herzwurm, Stefan Wagner: Software Engineering and Software Management, SE/SWM 2019, Stuttgart, Germany, February 18-22, 2019. LNI P-292, GI 2019, ISBN 978-3-88579-686-2.
- Stephan Krusche, Kurt Schneider, Marco Kuhrmann, Robert Heinrich, Reiner Jung, Marco Konersmann, Eric Schmieders, Steffen Helke, Ina Schaefer, Andreas Vogelsang, Bj?rn Annigh?fer, Andreas Schweiger, Marina Reich, André van Hoorn: Proceedings of the Workshops of the Software Engineering Conference 2019, Stuttgart, Germany, February 19, 2019. CEUR Workshop Proceedings 2308, CEUR-WS.org 2019.
- Peter Liggesmeyer, Gregor Engels, Jürgen Münch, J?rg D?rr, Norman Riegel: Software Engineering 2009: Fachtagung des GI-Fachbereichs Softwaretechnik 02.-06.03. 2009 in Kaiserslautern. LNI P-143, GI 2009, ISBN 978-3-88579-237-6.
- Jürgen Münch, Peter Liggesmeyer: Software Engineering 2009 - Workshopband, Fachtagung des GI-Fachbereichs Softwaretechnik 02.-06.03.2009 in Kaiserslautern. LNI P-150, GI 2009, ISBN 978-3-88579-244-4.
- 《软件工程——实践者的研究方法》,Roger S.Pressman,机械工业出版社
- 《软件需求(第三版)》,Karl Wiegers,Joy Beatty,清华大学出版社
- 《计算机软件产品开发文件编制指南》(GB 8567-88)
- Information Technology Project Management, Second Edition, Kathy Schwalbe, Course Technology.
- Successful Project Management, Gido, J. and Clements, J. South-Western Publishing.
- On Time and Within Budget: Software Project Management Practices and Techniques, 3rd Edition, Bennatan, E., Wiley.
- Software Project Management: A Unified Framework, Walker Royce, Addison-Wesley.
- IS Project Management Handbook, Doss, G., Prentice Hall.
- CMMI: Guidelines for Process Integration and Product ImprovementMary Beth Chrissis, Mike Konrad, Sandy Shrum.
- CMMI? Distilled: A Practical Introduction to Integrated Process Improvement, Second Edition, By Dennis M. Ahern, Aaron Clouse, Richard Turner.
- CMMI? SCAMPI Distilled Appraisals for Process Improvement, By Dennis M. Ahern, Jim Armstrong, Aaron Clouse, Jack R. Ferguson, Will Hayes, Kenneth E. Nidiffer.
- 军用软件能力成熟度模型可重复级实施指南,石柱,中国标准出版社
- 战略管理(原书第6版),Greey Johnson & Kevan Scholes,王军等译,人民邮电出版社
- 复杂产品系统创新管理,陈劲,科学出版社
- Product Management,4thedition,Donald R. Lehmann & Russell S. Winer,McGraw-Hill Companies,Inc.
- 基于ITIL?的IT服务管理基础篇,Jan van Bon,章斌译,清华大学出版社
- 创新管理-获取持续竞争优势,宁钟,机械工业出版社
- 软件编档导论,金波,清华大学出版社
- 计算机软件工程规范国家标准汇编,中国标准出版社
- 《物联网应用平台 设计报告》
- 《物联网应用平台 测试报告》
- 《物联网应用平台 用户手册》
2.4 产品成果
2.4.1 产品
最终产品成功是一个完整的物联网应用平台,包括:
- 前端代码
- 后端代码
- 数据库建立代码
- 系统开发、维护文档
- 网站所需资源文件
2.4.2 手册
- 验收报告以及交接手册
- 用户操作手册提供给使用此物联网应用平台网站的用户。对于系统的界面、功能以及操作说明进行描述,使用户对于网站的操作可以快速上手。
- 应用配置手册提供给系统管理员及系统维护人员进行阅读,对于网站的部署方法进行说明,对于相关参数的用途进行说明,使用有一定技术的用户得以自己解决多数问题。
- 软件维护手册主要包括教学网站系统说明、程序模块说明、操作环境、支持软件的说明、维护过程的说明,便于维护人员对于系统的维护。
2.4.3 服务
提供使用教程以及咨询服务,使解决用户在使用网站过程中的困难。提供后续一定年限的维护服务,当软件出现问题时提供技术支持。
3. 实际开发结果
3.1 主要功能
按照产品的功能一共被分为三大模块:用户管理模块、设备管理模块、设备数据可视化模块。
3.1.1 用户管理
3.1.1.1 用户登录
用户可以凭借注册时的邮件地址和密码进行登录,登录默认保持登录状态7天。如果取消勾选“保持登录状态”,则登录状态保持24小时。
3.1.1.2 用户注册
用户通过输入个人邮件地址(唯一)、用户名和密码进行注册。注册之前需要先对邮件进行验证。只有未注册过的邮件地址和合法的用户名密码才能注册成功。
3.1.1.3 用户忘记密码
当用户忘记密码时,需要输入注册时用的邮箱,通过发送邮件验证码验证账号的合法性,通过输入验证码和新密码并且验证通过以后才能重新登录。
3.1.1.4 发送邮件验证码
用户通过输入合法的邮件地址,发送邮件验证码。
3.1.1.5 获取用户个人基本信息
用户登录成功访问个人信息页面时,可以获取并查看到自己的个人信息。
3.1.1.6 用户修改上传头像
由于刚注册后的头像为系统自动生成的,用户可以在个人信息页面点击自己的头像上传并修改新的图像。但是仅支持JPEF格式的图像,且大小不能超过2MB。
3.1.1.7 用户修改个人信息
用户可以修改自己的用户名、真实姓名、联系方式、联系地址、工作单位或学校、个人简介等。
3.1.1.8 用户修改密码
用户可以通过两种方式修改自己的密码:一是通过输入旧密码和新密码修改,二是直接通过验证邮件并输入新密码修改。
3.1.1.9 用户修改绑定手机号
用户可以通过输入旧手机号和新手机号来修改自己的绑定手机号。
3.1.1.10 用户反馈
用户可以在帮助页面的末尾输入反馈主题和反馈内容对网站进行反馈。其中反馈主题长度不能超过20字,反馈内容长度不能超过100字。
3.1.2 设备管理
3.1.2.1 获取用户设备种类及数量
用户登录成功后进入的用户首页展示的是用户的个人基本信息、个人设备统计数量柱状图、当前个人设备的报警数量和设备总数实时折线图、当前接收到的设备数据大小(KB)实时折线图。对于三张可视化数据图表,用户可以进行相关的操作,如改变图的样式、查看原始数据、刷新数据、下载PNG格式的图片等。
3.1.2.2 查询某设备是否存在
在用户添加新设备之前,需要通过输入设备ID来查询设备是否存在,以防止添加设备失败。查询成功后系统会显示该设备是否被其他人占用,如果未被占用,则会显示设备的相关基本信息(设备种类等)。
3.1.2.3 添加设备
用户通过输入未被占用的设备ID和设备名称后可以成功添加一台新的设备。
3.1.2.4 移除设备
用户可以在设备列表页面中选中某台设备,并点击移除按钮,通过输入当前账号的密码验证成功后才能移除设备。
3.1.2.5 获取某设备基本信息
用户在某设备信息页面中可以获取并查看某台设备的基本信息(包括设备ID、设备名称、设备种类、创建时间、设备累计接收数据大小和设备简介等)
3.1.2.6 修改设备基本信息
用户可以修改设备的名称和设备简介。
3.1.2.7 获取某设备累计数据信息列表
在某设备的可视化界面可以看到设备数据数值统计南丁格尔玫瑰图。
3.1.2.8 获取某设备历史位置信息列表
在某设备的可视化界面最下面可以看到设备的历史轨迹地图和当前位置标志。
3.1.3 数据可视化
3.1.3.1 获取个人所有设备实时位置地图
用户可以查看个人所有设备的当前位置地图。
3.1.3.2 获取网站统计信息
用户可以在网站统计信息页面查看整个网站的数据统计,包括总用户数量、总设备数量、总接收数据大小和个人总设备数量等。该页面还包含了当前所有设备的报警数和总数折线图、当前接收到的所有设备数据大小(KB)折线图。
3.2 性能
- 系统运行流畅稳定
- 支持多款主流浏览器正常访问
- 当用户登录以及进行任何操作时,系统能及时进行反应,反应的时间在 1s 以内
- 能保证至少 1000 人的并发访问
- 系统能及时检测出各种非正常情况并反馈给后台管理员
- 用户提交查询、添加、删除等操作后,响应时间不超过 3s
- 每个页面一般情况下在 1s 内加载完毕,高峰期在 3s 内加载完毕
- 系统具有良好的可用性和易用性
- 系统对用户个人信息具有良好的安全性和保密性
3.3 开发流程
表3-1 项目进度计划
项目阶段 | 持续时间 | 负责人 | 主要工作 | 输出内容 |
---|
项目启动 | 2021.3.1 – 2021.3.8 | xxx | 进行项目可行性分析,制定项目计划 | 编写《物联网应用网站架构说明》,并对项目时间分配和技术选择列出计划 | 需求分析 | 2021.3.8-2021.3.15 | xxx | 确定系统运行环境,确定系统功能及性能,建立系统逻辑模型 | 完成《物联网应用网站架构说明》中的需求分析部分 | 系统设计 | 2021.3.15-2021.3.29 | xxx | 进行系统设计 | 完成《物联网应用网站架构说明》中的系统设计部分,包括系统模块设计、数据库设计、MQTT服务器接口设计和前后端接口设计等 | 编程实现 | 2021.3.29-2021.4.30 | xxx | 进行系统编码 | 实现并部署网站 | 需求维护 | 2020.5.1-2020.5.5 | xxx | 进行需求变更控制 | 重新更新《物联网应用网站架构说明》,添加部分功能,增强网站的鲁棒性与安全性 | 系统测试 | 2021.5.6-2021.5.20 | xxx | 进行系统测试,项目总结 | 完成《测试报告》《用户手册 》《项目总结报告》 |
3.4 项目成本
项目的实施费用主要由软件费用、硬件费用、人员费用三部分组成。
表3-2 项目成本
类别 | 项目 | 费用 | 备注 |
---|
软件费用 | 域名 | 6元/年 | | 硬件费用 | 天翼云ECS服务器 | 10元/月,共12月 | | 人员费用 | 1人 * 2月 | 0 | 课程作业,无成本 |
3.5 页面展示
3.5.1 系统基本使用
3.5.1.1 平台首页
- 通过选择平台上方导航栏内的选项可以进行登录、注册或查看此操作手册。
- 点击平台中间的播放按钮可以浏览浙江大学校歌MV。
- 点击“开启我的物联网监管平台”可以进入个人主页。
3.5.1.2 登录
- 在登录表单内填写账号邮件和密码即可登录。
- 如果勾选“记住登录状态”选项,则系统会记住您的登录状态并保持7天。之后登录将会直接跳转到个人首页。如果不勾选,则默认保持登录状态1天。
- 如果忘记了登录的密码,可以点击“忘记密码?”字样。
- 如果还没有账号,可以点击“现在就注册!”字样。
- 需要注意的地方:
- 需要正确输入邮件地址和相应密码,否则会弹出相关错误提示框。(如用户名不存在、密码错误等)
- 如果提示“出错啦”,请刷新页面或隔一段时间重新登录,或直接联系我们。
3.5.1.3 注册
- 在注册表单内填写邮件地址(作为您个人用户的唯一标识)、密码和用户名。
- 为了保证是您个人所操作,需要点击“发送验证码”按钮,并从邮箱中找到验证码邮件,输入验证码进行验证。
- 一切填写完毕后,点击“注册”按钮进行注册。
- 需要注意的地方:
- 请输入正确格式且合法的邮件地址,方便我们发送验证邮件。
- 密码长度不能小于6位且不能包含“,”、“.”、“'”、“"”等特殊符号。
- 用户名长度不能小于80位。
- 请正确填写6位数字的验证码。
- 如果提示“出错啦”,请刷新页面或隔一段时间重新登录,或直接联系我们。
3.5.1.4 忘记密码
- 在登录页面点击“忘记密码?”字样后,页面会弹出一个方框。
- 请在方框表单内填写您的邮件地址进行验证,输入验证码验证通过后,输入密码并点击确认修改。
- 需要注意的地方:
- 邮件格式与密码格式同上。
- 如果提示“出错啦”,请刷新页面或隔一段时间重新登录,或直接联系我们。
3.5.1.5 帮助手册
- 在上方导航栏中选择“使用帮助”栏目,进入帮助页面。
- 在帮助页面中用户还可以进行网站的意见反馈。
3.5.2 用户信息
3.5.2.1 查看个人信息
- 登录成功后,点击上方导航栏内的“个人中心”栏目,进入个人中心页面后可以查看个人信息。
- 点击个人信息中的头像后可以通过上传JPEG格式的图片进行更换头像。
- 需要注意的地方:
- 上传的头像仅支持JPEG/JPG格式,并且不得大于 2MB。
- 如果提示“出错啦”,请刷新页面或隔一段时间重新登录,或直接联系我们。
3.5.2.2 修改个人信息
- 在个人中心页面点击右侧的“编辑”按钮后可以进行个人信息的修改。
- 在修改表单内填写用户名(必填)、真实姓名、性别、联系电话、联系地址、所属单位或学校、个人简介后点击“确认修改”按钮进行修改。
- 个人简介这部分,需要您使用Markdown语言进行相应的编辑,页面也提供了一些基本的文字编辑功能。
- 需要注意的地方:
- 用户名和真实长度不能大于80。
- 联系电话长度不能大于20。
- 所属单位或学校长度不能大于80。
- 如果提示“出错啦”,请刷新页面或隔一段时间重新登录,或直接联系我们。
3.5.2.3 修改账号密码
- 在个人中心左侧的侧边导航栏中点击“账号设置”或将鼠标悬浮在右上角头像后在下拉菜单中点击“账号设置“,进入个人账号设置页面。
- 可以进行密码和手机号的修改。
- 密码修改有两种方式:您可以通过输入旧密码或进行邮件验证来修改当前密码。
- 绑定手机号只能通过输入旧手机号进行修改。
- 需要注意的地方:
- 各项输入的格式同上。
- 如果提示“出错啦”,请刷新页面或隔一段时间重新登录,或直接联系我们。
3.5.3 设备信息
3.5.3.1 设备简介
本平台一共提供5大类的设备,分别为物联网终端设备(包括智能家具设备、智能穿戴设备、智能交通设备、智慧城市设备和环境监测设备)、云计算设备(包括弹性云主机ECS设备、GPU云主机设备和弹性高性能计算设备)、数据库设备(包括Oracle MySQL、Microsoft SQL Server、Redis、分布式数据库Memcache)、云存储设备(包括对象存储、云硬盘、云备份)和卫星设备(包括通信卫星、气象卫星、侦察卫星、导航卫星)。
3.5.3.2 个人设备信息总览
- 用户登录后页面会自动跳转到设备总览界面,您也可以点击上方导航栏中的“设备一览”栏目进入。
- 该页面展示了您的个人基本信息、个人设备统计数量柱状图、当前个人设备的报警数量和设备总数折线图、当前接收到的设备数据大小(KB)折线图。
- 页面左侧菜单显示了您不同种类设备的数量。
- 对于三张可视化数据图表,您可以进行相关的操作,如改变图的样式、查看原始数据、刷新数据、下载PNG格式的图片等。
- 需要注意的地方:
- 图表显示的是每隔1秒内收到的相关数据,并非累计数据。
- 如果提示“出错啦”,请刷新页面或隔一段时间重新登录,或直接联系我们。
3.5.3.3 个人设备列表
- 点击上方导航栏中的“管理设备”栏目,进入个人设备信息总览页面。
- 该页面展示了个人设备的列表,包含了设备的ID、设备名称、设备种类等基本信息。列表默认为每页展示10项,您也可以根据自己的需要进行修改。
- 列表每一项代表一台设备,均可以进行修改信息、查看信息和移除设备等操作。
- 在设备列表页面的页眉中可以对设备按照ID、创建时间及设备种类进行排序,方便用户筛选。
- 需要注意的地方:
- 移除设备时需要输入您的密码进行验证,验证通过后才能移除。
- 设备列表默认是按照设备ID升序排序显示的。
- 如果提示“出错啦”,请刷新页面或隔一段时间重新登录,或直接联系我们。
3.5.3.4 添加设备
- 在个人设备列表页面中,点击右上角的“添加设备”按钮可以进行设备的添加。
- 在添加设备之前,您需要向管理员询问设备ID,在表单内先输入设备ID,并且点击右侧的搜索图标查询该设备的相关信息。
- 查询成功后,系统会告诉您该设备是否被占用,如果没有被占用,则会在一个通知框内显示该设备的基本信息。
- 给设备命名后点击“确认添加”按钮即可进行设备的添加。
- 需要注意的地方:
- 请您先输入设备ID进行查询,以了解设备是否被占用,否则添加设备时系统会提示“设备已经被占用”
- 如果提示“出错啦”,请刷新页面或隔一段时间重新登录,或直接联系我们。
3.5.3.5 查看、修改设备详细信息
- 在个人设备列表页面内点击您向查看信息的设备ID,进入该设备的详细信息页面。
- 页面将会展示设备ID、设备名称、设备种类、创建时间、设备累计数据平均值、设备累计接收数据大小和设备简介这些信息。
- 在上方的Tab中点击“修改信息”标签,可以修改设备的名称(必填)和设备简介,同样地,设备简介需要您输入Markdown语言。
- 需要注意的地方:
- 设备名称长度不能超过100。
- 如果提示“出错啦”,请刷新页面或隔一段时间重新登录,或直接联系我们。
3.5.3.6 查看设备可视化数据
- 在个人设备详细信息页面中点击右上角的“查看可视化数据”字样,进入该设备的可视化数据页面。
- 页面展示了该设备的当前数值、当前状态(是否报警)、发送的原始数据、累计数据数值统计南丁格尔玫瑰图、累计收到的设备数据大小折线图和设备历史轨迹及当前位置地图。
- 当前数值、当前状态(是否报警)、发送的原始数据和设备历史轨迹及当前位置地图为实时显示图表。
- 当前累计收到的设备数据大小折线图为每隔1秒刷新的动态图表。
- 设备历史轨迹及当前位置地图中,红色的序号圆点和绿色直线表示设备经过的路径。蓝色的位置信息图标则表示设备当前所在位置。
- 累计数据数值统计南丁格尔玫瑰图、累计收到的设备数据大小折线图可以查看原始数据并下载PNG图片。
- 需要注意的地方:
- 请勿反复刷新页面从而加大浏览器的负担。
- 如果提示“出错啦”,请刷新页面或隔一段时间重新登录,或直接联系我们。
3.5.4 网站数据统计
3.5.4.1 全站统计
- 在侧边导航栏中选择“可视化数据”-“平台数据”栏目,进入平台数据统计页面。
- 该页面展示了平台用户总数、设备总数、累计接受到的数据总量和个人设备总数量等数据。
- 该页面还包含了当前所有设备的报警数和总数折线图、当前接收到的所有设备数据大小(KB)折线图。
- 该页面还包含了一个基于WebGL的3D地球,您可以在地球画布中拖动鼠标、滚动滑轮全方位观察地球。
- 当前所有设备的报警数和总数折线图、当前接收到的所有设备数据大小(KB)折线图均为每隔1秒刷新的动态图表。
- 需要注意的地方:
- 请勿反复刷新页面从而加大浏览器的负担。
- 如果提示“出错啦”,请刷新页面或隔一段时间重新登录,或直接联系我们。
3.5.4.2 个人所有设备当前位置地图
- 在侧边导航栏中选择“可视化数据”-“设备地图”栏目,进入个人所有设备的当前位置地图。
- 考虑到部分用户拥有设备数量较多,同时为了减轻浏览器和服务器负担,该地图每隔5秒刷新一次,展示了个人所有设备的当前位置。您可以将鼠标悬浮到位置图标上查看该设备的ID信息。
- 需要注意的地方:
- 请勿反复刷新页面从而加大浏览器的负担。
- 如果提示“出错啦”,请刷新页面或隔一段时间重新登录,或直接联系我们。
4. 开发工作评价
4.1 对生产效率的评价
项目启动于2021年 3月初,结束于 2021年5月中旬,项目编码开发阶段启动于 2021年 4月,故项目共经历了三个月,而编码开发阶段共经历了一个月。
程序的平均生产效率:1600行/月·人
文档的平均生产效率: 5000字/月·人
评价:项目严格按照《物联网应用网站架构说明》中的项目计划时间线一步步推进,及时甚至提早达到里程碑要求,代码编写规范、功能开发齐全;文档编写完备,做到了有规范可循,故评估本项目生产效率为优秀。
4.2 对产品质量的评价
设计:系统在界面设计上满足大众普遍的审美要求,界面简洁美观,且网页的易用性较 高。
功能:系统实现了用户代表所提出的基本需求,并在需求变更的情况下对需求与用例进行了适当的增删。通过测试可知,产品在功能上无大错,且 通过了安全性测试 、 压力测试等非功能性 需求
编档:文档按照项目章程中的计划完成文档齐全、规范 。
评价:产品在功能性、非功能性需求上表现均较为优秀, 故认为产品质量较高。
4.3 对技术方法的评价
开发工具后端为广泛使用的Python的Django框架。前端为简洁优雅的React框架,UI为Ant Design框架,前后端交互使用了高效的Json数据格式,同时利用Django特有的csrf_token来防止跨站请求攻击。
管理方式遵照《软件工程管理》课程学习所得,对于项目的进度、内容、变更编写系统化的文档进行规范与约束。
评价:技术方法评价为适合、规范。
5. 经验与教训
- 严格的时间规划与实践、管理是项目中最为重要的部分,通过制定完善的计划与时间线,项目组成员对于项目实践有一个全局上的把控。同样,由于计划赶不上变化,面对脱离时间线的任务,项目组长需要随机应变,将项目拉回正轨。
- 重视文档的编写与公布通过规范化的文档为项目提供易于理解的直观表示与参照依据。重视项目开发流程的规范性开发形式、开发边界、开发内容需要有明确的规定与统一的认知,避免因为理解不一产生偏差或许会导致重复工作或返工等带来消极情绪的问题出现。
- 严格遵照项目面向需求的原则重视用户代表提出的初步需求、需求变更,从需求访谈中挖掘用户的真正需求所在,并转化为技术手段能够实现的功能。
|