私人车位管理系统文档说明V1.0-杜雨 周子扬

杜雨 2022-12-22 19:45:48

1、背景

1.1过程层面

软件设计开发流程包括:需求分析、设计软件的功能和实现的算法和方法、软件的总体结构设计和模块设计、编码和调试、程序联调和测试以及编写、提交程序等一系列操作

1.2方法层面

软件测试包括
1 软件质量
2 软件测试过程
3 软件测试术语
4 软件的可测性
5 软件测试原则
6 测试与调试

PIE模型
E:执行
I:感染
P:传播

测试充分性:

  1. 白盒测试
  1. 代码行覆盖率
  2. 分支覆盖
  3. 路径覆盖

2)黑盒测试

3)回归测试 防止程序退化

 

1.3工具层面内容:

代码仓库gitee/github

单元测试工具pytest,pynuit,unittest

代码格式规范检查工具 pylint等

微信开发者工具

数据库MySQL

 

过程层面:

里程碑:

码云:

 

2、工程分析

2.1需求分析

2.1.1典型用户

小张:A小区业主,使用客户端小程序,如私人车位被占用,被提醒

物业;A小区物业,用该系统对私人车位占用进行提醒

2.1.2用户故事

A小区车位前都装有单独摄像头,小张是A小区业主,小张入住时,便已经在该系统登记过自己的车位以及车辆信息,物业许诺能够对业主的私人车位进行实时监控与动态管理,确保业主的私人车位不被占用。一天下午,小张在手机上登录小程序突然弹出了这样的消息:注意!您的车位被占用,姓名:李先生,电话:000123456,车辆:鄂A00000。

1、小张认为这是自己的车位不想给别人用,因此,小张根据小程序的提示信息,在小程序上点击是操作,通知物业去协商,交涉后,小程序发来消息:业主您好,您的车位已解除占用。

2、假若小张朋友来访,小张认识朋友车牌,愿意将车位给朋友使用,便点击否操作,系统推送:您已取消本次服务。

2.1.3、用户场景

(1)该系统识别到占用车位的车辆车牌

(2)该系统判定该车牌是否为违规车牌

(3)系统搜索到被占用车位的用户信息即小张的信息

(4)系统将违规车牌用户信息推送到小张手机上的小程序上

(5)可以选择是否委托物业解决

(6)对小张进行信息推送,告知小张车位解除占用

(7)对小张进行信息推送,取消本次服务

2.2 功能点(仅推送部分)
功能需求:

1)以每秒10帧为频率对车位车辆的车牌进行识别
2)根据车牌查询用户车位信息表,识别是否是注册车牌
3)若不是则根据车辆所停的车位,查询车位业主信息
4)根据车牌查询车主信息,并将车主信息推送给车位业主
5)标记该车位,通知物业协商,告知业主车位已解除占用
6)业主不通知物业协商,取消本次服务

性能需求:
1)检测频率需要设定阈值范围,保证能及时通知业主车位情况的同时也降低成本
2)查询应准确快速,确保能够正确的通知业主
3)小程序提示消息需尽量规整,可以让用户一目了然
4)车辆检测模型应尽量检测准确快速

可靠性需求:

  1. 对车辆停留时间应做一定约束,避免出现很短时间(如1、2分钟)误停即提醒的情况

2.3界面原型设计

 

2.4 系统设计

私人车位管理系统E-R图

3、系统实现

3.1前端

(1)界面

           

 

          

 

          

(2)登录注册表

 

3.2后台

  1. 完成了车辆检测功能
  2. 完成了车牌识别功能
  3. 完成了占用判定功能并存储占用信息,在每次消除占用后清空该表
  4. 系统能够对用户信息进行准确的查询,包括非法车辆信息以及车位户主信息

 

  1. 系统对该车位车辆持续检测,直至违规车牌离开了户主车位

  1. 误停判定(按帧率设定阈值)

  1. 如果检测结果未出现在临时用户表,则对其进行可能性计算,最大可能性的被认为是近似正确的

 

  1. 建立车位用户表、车库编号表、临时用户表

 

 

工具层面:

使用代码仓库进行项目代码管理以及协同开发

对代码格式检查工具pylint的使用

使用pylint对部分代码进行了格式检查

并逐步进行了修正

 

4、使用工具

单元测试工具:在本次大作业中,还未使用到单元测试工具,后续会尽量对其进行添加,但通过对单元测试工具的学习过程以及大作业的完成过程中的思考,认为使用单元测试工具可以提升测试的时间效率,尽可能减少测试过程中可能存在的纰漏,但是如何去更好地单独的划分不同的测试模块还需要进行深入的学习之后才能更好的做到。

代码仓库工具:该工具可以便捷的实现代码管理,可以使负责不同部分的成员都迅速的了解到其他部分的编程状况,也可以使管理者很好的掌握项目完成情况,及时调整项目进度

代码格式规范工具:有效的降低了代码的冗余度,增加了代码可读性,规范了程序书写

微信开发者工具:使用微信开发者工具十分的方便,快速的进行小程序页面开发,且可以多人协同开发,虽然在开发的过程中遇到许多的bug,但可以在微信开发者工具的开放文档中迅速地找到相互对应的语法用以解决问题。

MySQL数据库:后端程序运行将检测数据推送到MySQL数据库,前端小程序连接MySQL数据库,接受并推送检测数据,方便快捷。

 

附件:

演示视频:

链接:https://pan.baidu.com/s/1agGBICMTB1hNtPmgAn4YXg?pwd=vr7u

提取码:vr7u

代码:https://gitee.com/ayu_DY/pair_programing/tree/master/

...全文
424 回复 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

57

社区成员

发帖
与我相关
我的任务
社区描述
NUE软件工程教学社区
软件工程 高校
社区管理员
  • moonmontest
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧