基于VLSAM的需求分析与建模
0、前言
本文基于个人工程实践项目——基于VLSAM的室内三维地图重建系统,根据高级软件工程课上所学知识,进行简单的需求分析与建模。
1、用例建模
1.1什么是用例?
用例的核心概念首先它是一个业务过程,经过逻辑整理抽象出来的一个业务过程,这是用例的实质。什么业务过程?在待开发软件所处的业务领域内完成特定业务任务的一系列活动就是业务过程。
1.2 用例建模的基本步骤
第一步:从需求表述中找出用例,往往是动名词短语表示的抽象用例
第二步:描述用例开始和结束的状态,用TUCBW和TUCEW表示的高层用例
第三步:对用例按照子系统或不同的方面进行分类,描述用例与用例、用例与参与者之间的上下文关系,并画出用例图
第四步:进一步逐一分析用例与参与者之间的详细交互过程,完成一个两列表格将参与者和待开发软件系统之间从用例开始到用例结束的所有交互步骤都列举出来扩展用例
以下根据上述用例的概念以及用例建模的步骤进行分析
1、需求分析:基于SLAM,完成热成像摄像头进行巡游环境采集环境信息和位置估计;PC端接收数据进行数据分析,回环检测及解算位姿完成自我定位。 SLAM流程图

SLAM主要分成5个部分
1、传感器数据:相机图像信息的读取与预处理
2、视觉里程计:估计相邻图像间的相机的运动
3、后端非线性优化:接受不同时刻视觉里程计测量的相机位姿,以及回环检测的信息,对它们进行优化,
得到全局一致的轨迹和地图
4、回环检测:判断相机是否到达过当前的位置,消除累计误差
5、建图:根据估计的轨迹,建立地图
其中传感器数据可以通过相机拍摄得到,其它都在PC端通过算法完成
a)从需求中找到系统参与者与用例
系统参与者:热成像摄像头,PC端
业务用例:采集环境图像信息、上传图像信息、数据分析、回环检测、位姿解算、自我定位
2、描述用例开始和结束的状态,用TUCBW和TUCEW表示的高层用例
| TUCBW | TUCEW |
| 开始采集环境信息 | 准备接受环境信息 |
| 实时传输环境信息 | 接受环境信息 |
| 实时传输环境信息 | 图像预处理 |
| 实时传输环境信息 | 特征提取 |
| 实时传输环境信息 | 位姿解算 |
| 实时传输环境信息 | 位姿比对 |
| 结束采集信息 | 得到地图模型和实现自我定位 |
3、用例图


4、进一步逐一分析用例与参与者之间的详细交互过程
| Actor:热成像摄像头 | System |
| 1、巡游场景收集环境信息 | |
| 2、上传信息到PC端 | |
| 3、进行图像增强和超分辨率重建 | |
| 4、对图像进行点特征提取和线特征提取 | |
| 5、基于点特征和线特征的位姿解算 | |
| 6、位姿比对 | |
| 7、回环检测 | |
| 8、实现地图模型与相机自定位 |
2、业务领域建模
2.1业务领域建模的步骤
第一步:收集应用业务领域的信息。聚焦在功能层面,也考虑其它类型的需求和资料
第二步:头脑风暴。列出重要的应用业务领域概念,给出这些概念的属性,以及这些概念之间的关系
第三步:给这些应用业务领域分类。分别列出哪些是类、属性和属性值、以及列出类之间的继承关系、聚合关系和关联关系
第四步:将结果用UML类图画出来
同样按照上述步骤,进行业务领域建模
1、系统中包含的类、属性及其方法
设备类
属性:ID,STATUS
方法:打开设备,关闭设备,获取设备信息
工具类(图像增强)
属性:capture,imageBuffer
方法:运行图像预处理线程,进行CLAHE直方图均衡化,获取时间戳
工具类(图像超分辨率重建)
方法:对图像进行超分辨率重建为img格式的图片,获取当前实践,新建文件夹
工具类(特征提取)
方法:线特征检测,在图像中找到显示的直线,区域比对,直线比对
文件类:
属性:文件ID,文件格式,子文件数量;
方法:文件遍历,统一命名;
图片类:
属性:图片ID
方法:格式转换
2、类图

3、数据建模
根据上述的用例建模和业务领域建模,可以得到各个类的数据模型:
设备
| 序号 | 字段 | 字段类型 | 字段描述 | 备注 |
| 1 | captureID | String | 设备ID | 主键 |
| 2 | captureStatus | String | 设备状态 |
图像增强
| 序号 | 字段 | 字段类型 | 字段描述 | 备注 |
| 1 | capture_cv | Capture | 设备 | 主键 |
| 2 | imageBuffer | 图像缓冲区 |
文件类
| 序号 | 字段 | 字段类型 | 字段描述 | 备注 |
| 1 | fileID | String | 文件ID | 主键 |
| 2 | fileFormat | String | 文件格式 | |
| 3 | subFileNum | int | 子文件数目 |
图片类
| 序号 | 字段 | 字段类型 | 字段描述 | 备注 |
| 1 | pictureID | String | 图片ID | 主键、自增 |
4、业务概念模型
1、什么是业务概念模型
概念模型是一种虚拟的,理想化的软件产品形式。
![]()
2、工程实践项目中的概念原型工作过程:
根据上面的用例建模和数据建模可以从两方面总结系统的概念原型:
(1)从设备角度:采用热成像相机,环绕周围环境进行照片拍摄,并实时将信息传输到PC端,直到地图构建完全为止
(2)从PC角度:收到相机传来的照片数据,对照片做图像预处理,包括图像增强、图像超分辨率重建,然后对处理过后的图像进行特征提取,包括点特征提取和线特征提取,然后对提取出来的特征进行位姿解算,包括点特征的位姿解算和线特征的位姿解算,然后进行位姿比对,若有累计漂移误差,则进行回环检测,重复上述操作,直到图像收敛,得到良好的三维地图模型和位姿估计。
5、总结
由于本工程实践项目主要是一个基于具体实现的项目,所以项目中涉及的类不多,主要为图像处理和优化的工具类,对项目的分析造成了一定的困难。本工程实践项目要求的数学基础比较高,所以目前处于理论知识的学习中,所以调研不是很充足,可能有部分内容不是特别妥当。
但是通过这篇博文,我了解了用例建模和数据建模的具体步骤,知道了软件工程项目的具体的开发流程,有不小的收获,虽然自己的分析并不是做的很完善,但这只是一个开端,会在今后的项目实践过程中,运用本课所学知识,不断提高自己的建模分析能力。

浙公网安备 33010602011771号