Computer Science and Application
Vol.4 No.05(2014), Article
ID:13469,7
pages
DOI:10.12677/CSA.2014.45015
基于Android的汽车油耗信息管理系统的UML模型
Lijia Chen, Chao Yin, Jiang Qian, Qin Xu, Yunyang Yan*, Quanyin ZhuFaculty of Computer Engineering, Huaiyin Institute of Technology, Huaian
Email: areyyyke@163.com, *yunyang@hyit.edu.cn, 1281556875@qq.com
Copyright © 2014 by authors and Hans Publishers Inc.
This work is licensed under the Creative Commons Attribution International License (CC BY).
http://creativecommons.org/licenses/by/4.0/
Received: Apr. 10th, 2014; revised: May 2nd, 2014; accepted: May 8th, 2014
ABSTRACT
UML is a graphical modeling language for visualized construct and documentation representation. After demand of the function is analyzed, UML models of oil information appending, gas stations appending, oil information management and car oil consumption statistics are founded respectively based on UML tool in the information management system of car oil consumption on Mobile with Android OS. Then analysis and design of the application software are implemented. The application software is developed by using Java. The calculation method of car oil consumption is proposed based on the amount of oil left. It is more accurate and effective than traditional method which is based on oil lamp. The actual system shows that UML could be used to build system models effectively and also could improve the efficiency of application software development.
Keywords:UML Model, Oil Consumption, Information Management, Android
基于Android的汽车油耗信息管理系统的UML模型
陈礼佳,殷 超,钱 江,徐 芹,严云洋*,朱全银
淮阴工学院计算机工程学院,淮安
Email: areyyyke@163.com, *yunyang@hyit.edu.cn, 1281556875@qq.com
收稿日期:2014年4月10日;修回日期:2014年5月2日;录用日期:2014年5月8日
摘 要
UML是一种用于构造可视化、文档化的图形建模语言。在需求分析的基础上,对基于Android平台的汽车油耗信息管理应用系统,使用UML建模工具,分别建立了添加加油信息UML模型、添加加油站UML模型、加油信息管理UML模型、油耗统计UML模型等,完成对应用软件的分析与设计,采用Java语言完成对应用软件的开发。对油耗统计提出了基于剩余油量的计算方法,比传统的加油灯计算油耗方法更准确有效。实践表明,UML分析可以有效构建系统模型并提高应用软件的开发效率。
关键词
UML模型,汽车油耗,信息管理,Android
1. 引言
随着经济和社会发展,家用汽车越来越普及,汽车的油耗支出已经成为很多家庭日常消费中很重要的一项组成,越来越多的人开始关心自己的汽车油耗问题,希望及时了解油耗信息。而随着智能手机应用的普及,利用智能手机管理油耗信息,并进行统计、分析,既方便也可行[1] 。UML (Unified Modeling Language)[2] 是一种定义良好、易于表达、功能强大且普遍适用的建模语言,集软件研究领域的许多新思想、新方法、新技术于一体,强有力地支持软件开发的全过程。UML定义了5类、10种模型图:用例图、类图、对象图、包图、状态图、顺序图、合作图、活动图、配置图。基于UML模型可以提高系统设计和开发的效率,武晓春等[3] 采用UML时序图描述系统需求场景,通过对UML顺序图中的消息前/后置条件进行分析,得到一致的需求场景;在识别UML顺序图中对象交互的行为序列及其类别的基础上,通过系统形式化模型生成算法将UML顺序图转换成FSP,并得到系统的有穷状态机模型。陈桂明等[4] 对装备维修训练系统过程进行了分析,建立了UML的装备维修训练系统工程模型、分析过程模型和维修训练过程设计模型,为研究分析维修训练方法提供了一种思路。张亚红等[5] 针对现有研究成果中较少对Web服务的功能性和QoS进行统一验证的问题,提出基于UML2.0序列图的运行时验证方法。李传煌等[6] 提出一种基于模型的UML软件架构性能预测方法,可以在软件开发早期对软件系统的性能进行预测。刘攀峰等[7] 针对列车自动防护系统(ATP)对软件的高安全性的需求,提出并实现了一种基于UML的需求建模方法。在经典的状态机模型上做了改进,引入了超级状态机,并定义了精确的规则和语义,实现了对复杂的ATP系统的形式化建模。刘攀峰等[7] 和Teller,Amit等[8] 提出的基于模型化设计增加了系统开发的安全性。本文首先对基于Android平台的汽车油耗信息管理应用软件进行了功能划分,然后应用UML构建了各功能模块的UML模型。软件开发时,对油耗统计提出了基于剩余油量的计算方法,比传统的加油灯计算油耗方法更准确有效;还实现了远程数据备份。
2. 需求分析
汽车用户自己记录每次的加油信息,用户可以对加油站信息进行管理,增加、删除、修改、查询;用户可以对加油信息进行管理,增加、删除、修改、查询;软件会自动处理加油信息,得出每月油耗,每月加油费用,并自动生成统计图,给用户查询。
系统ER图如图1所示,它描述了系统各个实体之间的关系。数据流如图2所示,它描述了系统数据流动方向。据此建立系统UML模型。
3. 模型设计
3.1. 系统用例图
用户在使用这款软件需要插入一定量的加油信息,然后用户可以适当管理加油信息、管理加油站信息以及查看图表显示的油耗曲线图。据此建立UML模型。系统用例图如图3所示。
Figure 1. ER of the system
图1. ER图
Figure 2. Data flow
图2. 数据流图
Figure 3. Case of the system
图3. 系统用例图
3.2. 添加加油信息UML模型
IntputActivity类继承Activity类,并使用数据库MyDB类。用户输入加油信息,系统会自动调用MyDB类相关函数,将相关数据保存到数据库中。数据信息在记录到数据库之前需求进行数据合法性有验证。这个模型需要建立在UML数据库模型基础之上。添加油耗信息UML模型如图4所示。
3.3. 添加加油站UML模型
OilStation类继承Activity类,并使用数据库MyDB类。用户输入加油站信息,包括加油站地址和名称,系统会自动调用MyDB类相关函数,将相关数据保存到数据库中。数据信息在记录到数据库之前需求进行数据合法性有验证。添加加油站UML模型如图5所示。
3.4. 加油信息查询UML模型
DataActivity类继承Activity类,并使用数据库MyDB类。用户通过此方式对加油信息进行管理,常用操作有:添加加油信息,删除加油信息,修改加油信息,查询加油信息。查询加油信息UML模型如图6所示。
Figure 4. UML model of appending oil information
图4. 添加油耗信息UML模型
Figure 5. UML model of appending gas station
图5. 添加加油站UML模型
3.5. 油耗统计UML模型
Consumption类继承Activity类,并使用数据库MyDB类。可以计算给定时期的燃料消耗和燃料成本,计算结果可以显示为表格,图表或曲线。油耗统计UML模型如图7所示。
4. 系统实现
基于上述UML模型,利用开发工具Eclipse,实现应用软件的开发。图8是添加加油信息界面,完成对加油信息的添加以及修改操作;图9是加油信息管理界面,在此界面完成对加油信息的数据管理操作;图10是显示油耗统计信息界面,以月为单位统计油耗信息。
为了保证数据安全性,采用Http通信方式实现数据的远程传输。加油数据存放在手机本地SqLite数据库中,当用户点击数据备份之后,系统采用Http通信的post方式将数据从SqLite数据库中读出并存放到List串中,系统自动调用传送函数将List串传送给服务器,实现数据传送。服务器端采用Java Web开发,用于等待用户发送请求,当接收到用户数据之后,调用数据处理函数,将数据存入服务器端MySQL数据库中,完成备份操作。
汽油精灵[9] 和爱车达人[10] 是两款使用较多的汽车油耗管理软件,汽油精灵主界面如图11所示,汽油精灵添加加油信息如图12所示。爱车达人添加加油信息如图13所示。“汽油精灵”界面布局不够合理,缺乏美观,也缺少图表分析,不能让用户更加形象具体的描述油耗变化;添加加油信息时没有添加
Figure 6. UML model of oil information query
图6. 查询加油信息UML模型
Figure 7. UML model of fuel consumption statistics
图7. 油耗统计UML模型
Figure 8. Appending car oil information
图8. 添加加油信息界面
Figure 9. Management of oil information
图9. 加油信息管理界面
Figure 10. Fuel consumption statistics
图10. 油耗统计信息
Figure 11. Gasoline elves
图11. 汽油精灵主界面
Figure 12. Oil information appending on “Gasoline elves”
图12. “汽油精灵”添加加油信息
Figure 13. Oil information appending on “ai che da ren”
图13. “爱车达人”添加加油信息
加油站信息,不利于用户对加油信息进行必要管理。“爱车达人”软件在进入主界面的时候不能直接显示图标,而是显示加油记录,不够形象;添加加油信息时,可以输入加油站信息,但只能手动输入,而本系统既可以手动输入加油站信息,也可以通过查询地图方式添加。对油耗统计,本系统提出的基于剩余油量的计算方法,比传统的加油灯计算油耗方法更准确有效。另外汽油精灵和爱车达人都只实现了数据在手机上的存储,而本系统不仅在手机上存储加油信息,还实现了数据的远程备份,备份到远程服务器数据库中。
5. 结束语
本文基于UML构建了基于Android平台的汽车油耗管理手机软件的可视化模型,利用该模型生成系统架构并采用Eclipse对应用软件进行了实现。随着技术的发展,如今大多数汽车可以查看当前剩余油量,为此本系统改进了基于剩余油量的油耗计算算法,使得油耗计算更加准确,更符合现代汽车用户的需求。为了方便操作,本系统实现了利用百度地图添加加油站信息,更加高效便捷,而且实现了油耗信息图表式显示,更加直观。为了保证数据安全,本系统实现了远程数据备份,防止用户因为误操作照成数据丢失的遗憾。所建立的系统模型不仅满足了该系统的功能需求,而且具有较好的可扩展性和重用性,与对比的应用软件相比,也更方便更安全。实践表明,先建立系统模型再用代码实现模型,避免了软件开发的盲目性和局限性,使软件的开发更加科学、规范、灵活和高效。
致 谢
感谢江苏省“333工程”、淮安市“533”工程以及大学生创新训练计划项目(201311049008Z)对本文的资助。
参考文献 (References)
- Ge, K., et al. (1998) A Development and Management Environment Based on UML. Proceedings of Technology of Object-Oriented Languages, TOOLS 27, Beijing, 22-25 September 1998, 214-221. http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=713603&sortType%3Dasc_p_Sequence%26filter%3DAND%28p_IS_Number%3A15472%29
- Ali, A., Malik, Z.I., Riaz, N., et al. (2014) The UML Meta Modeling Extension Mechanism by Using Aspect Oriented Modeling (AOM). IEEE International Advance Computing Conference (IACC), Gurgaon, 21-22 February 2014, 1373- 1378.
- 武晓春, 高雪娟 (2014) 基于UML的计算机联锁软件的分析与建模. 计算机科学, 2, 222-225.
- 陈桂明, 刘建友, 曹继平, 代海飞 (2013) UML建模在装备维修训练系统分析及设计中的应用. 计算机应用, S2, 266-268.
- 张亚红, 张琳琳, 赵楷, 陈佳丽, 冯在文 (2013) 基于UML2.0序列图的Web服务运行时验证方法. 计算机科学, 7, 138-142.
- 李传煌, 王伟明, 施银燕 (2013) 一种UML软件架构性能预测方法及其自动化研究. 软件学报, 7, 1512-1528.
- 刘攀峰, 邱昕夕, 陈祥献, 黄海, 段会龙 (2012) 基于UML的列车自动防护系统需求建模研究. 计算机科学, S1, 478-481.
- Teller, A. (2014) The Implementation of System Modeling Methods in Safety Engineering. Annual Reliability and Maintainability Symposium (RAMS), Colorado Springs, 27-30 January 2014, 1-5. http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=6798524&punumber%3D6778477%26sortType%3Dasc_p_Sequence%26filter%3DAND%28p_IS_Number%3A6798433%29%26pageNumber%3D4
- Baidu Encyclopedia. Unified Modeling Language. http://apk.gfan.com/Product/App2701.html
NOTES
*通讯作者。