用例建模Use Case Modeling

   我的工程实践的题目是基于OpenGL ES 2.0的车载虚拟表盘软件的开发,是一个纯开发的项目,这个软件主要是面向房车的用户,因为这款软件的功能包括控制车载系统的灯光,有睡眠,夜晚,日常等模式,还有显示电压和水压,包括车内外温度等信息最后在界面上面显示出来。对于此次工程实践我选择用例建模:

用例建模的定义:用例方法完全是站在用户的角度上(从系统的外部)来描述系统的功能的。在用例方法中,我们把被定义系统看作是一个黑箱,我们并不关心系统内部是如何完成它所提供的功能的。用例方法首先描述了被定义系统有哪些外部使用者(抽象成为Actor),这些使用者与被定义系统发生交互;针对每一参与者,用例方法又描述了系统为这些参与者提供了什么样的服务(抽象成为Use Case),或者说系统是如何被这些参与者使用的。所以从用例图中,我们可以得到对于被定义系统的一个总体印象。

用例建模的主要步骤

  1. 确定业务参与者——可以是与系统有交互的外部硬件、软件、组织、人等。
  2. 确定业务需求用例——参与者需要系统提供的完整功能。
  3. 创建用例图——标识参与者与用例之间、用例与用例之间的关系

 1.抽取Abstract use case

此次工程实践的项目通过用例建模得到的Abstract use case为 主题选择、语音控制、灯光控制、车内信息管理、异常报警。

2.用例图

 

3.High level use case

主要为界面主题的切换和选择,主要用到了多线程的技术,在预设的每一个demo模型中添加到线程中去,这样可以根据不同的房车的厂商进行有选择的更换;

OpenGL ES 2.0的API的调用,对于基本界面的按钮的方法的定义和电池,水位等图标的变换,用到了OpenGL中的着色器和图形变换的原理

语音识别功能,主要做到了将输入的语音信息转换成而二进制的编码,再通过函数的调用将结果输出在显示屏上

4.电压,水位、温度等信息信息的获取

主要是通过将硬件的传感器得到的电信号传递到开发板中,开发板使用了单片机和一个封装过的linux操作系统,可以通过与pc之间的串口通信来实现对系统中文件的管理,每次通过使用SecureCRT将在电脑中编译出来的可执行文件上传到机子中,机子的界面就会展示出效果

   这次的工程实践主要在于对于各种风格的界面的 使用OpenGL ES  2.0的API的调用,来对这个界面进行自己的设计,使用c语言编写多个customer的形式来切换用户的使用模式,基于OPENGL的成套GUI库 代码清晰易懂使用超级方便 支持控件序列化和反序列化 支持整体和单个控件换肤。使用OpenGL绘制用户界面时,基本绘图过程分为:清楚缓冲区,设置当前颜色、绘制几何单元(绘制模型)、输出图形。OpenGL的变换实际上是通过矩阵乘法来实现。无论是移动、旋转还是缩放大小,都是通过在当前矩阵的基础上乘以一个新的矩阵来达到目的,绘制模型时,需要首先确定绘画元素相对于坐标原点的坐标,再通过矩阵变换计算出每个绘画元素相对于坐标原点的位移、旋转角度、裁剪、窗口变换等位置信息,而上述位置信息需要通过矩阵运算的方式进行确定,变换矩阵类型多样。上述的界面还在处于发展的阶段,还有待改进,比如人脸识别,微信二维码等还未启用,之后还需要加入进去,使界面更加丰富。

 

posted @ 2019-10-29 17:59  金栗  阅读(573)  评论(0编辑  收藏  举报