嵌入式软件课程设计Word下载.docx
《嵌入式软件课程设计Word下载.docx》由会员分享,可在线阅读,更多相关《嵌入式软件课程设计Word下载.docx(15页珍藏版)》请在冰豆网上搜索。
年
1
月
20
日
嵌入式车位数据库管理系统
一.课程设计概述
《嵌入式系统软件设计》课程设计是在完成理论课程学习之后安排的综合实践训练,通过一周的综合课程设计,在学生掌握嵌入式系统软件设计基本知识的基础上,提高学生对所学知识的应用能力,特别是:
嵌入式Qt界面设计;
嵌入式数据库程序设计。
系统功能:
实现一个基本的车位管理系统。
包括的功能如下:
1、查看总车位
2、查看已被占用的车位信息
3、查看未被占用的车位
4、实现车俩停靠功能
5、实现车俩离开功能
6、实现车位信息编辑功能
7、实现根据不同条件进行查询功能
课程设计的环境:
该系统开发环境是基于Linux系统使用qt进行开发的。
二.系统总体设计
系统整体架构流程图如下:
系统主要包含四个类:
main、ManagementForm、EditForm、EditFormForEdit。
每个类的作用如下:
Main:
程序的入口
ManagementForm:
程序的主体部分。
该类是Form.ui的包装类,定义了系统的基本框架同时实现系统的基本功能。
Main函数本质上是通过调用该类的对象并进入死循环以此进入系统的主界面。
EditForm:
系统的编辑界面类,是EditForm.ui的包装类。
实现【添加记录】的基本功能。
其对象是ManagementForm的一个成员变量。
ManagementForm通过该对象实现系统【添加停车记录】的功能。
EditFormForEdit:
系统的另一个边界界面类,是EditFormForEdit.ui的包装类。
该类实现【编辑已被占用车位记录】的功能。
ManagementForm通过该对象实现系统【编辑停车记录】的功能。
三.数据表设计
系统包含两张表:
1、已被占据的车位表(TakenPlace)主键:
PlaceID
字段名
PlaceID
CarID
Name
Time
Cost
字段类型
Varchar(10)
Varchar(15)
Varchar(15)
Real
real
2、全部车位表(AllPlace):
主键PlaceID
Occupy
Integer(bool)
添加记录原则:
1、添加停车记录的PlaceID在AllPlace表中存在。
2、车位不可被重复占据,即停车位尚未被使用才能停靠车辆。
3、Occupy作为缓冲量,用于标志车位是否已被占用,0表示未被占用,为1表示已被占用。
四.基于Qtdesigner的图形用户界面设计
Form.ui:
EditForm.ui:
EditFormForEdit.ui:
EditForm.ui和EditFormForEdit.ui共用一个界面但是对应的包装类不同。
五.数据库管理系统功能设计
主要功能实现:
1、添加停车记录:
VoidManagementForm:
:
on_Parking_pushButton_clicked()
{
实例化成员变量myEditForm;
运行myEditForm弹出编辑界面,等待按下按键触发槽。
}
VoidEditForm:
:
on_OK_pushButton_clicked()
添加停车记录(具体过程件下流程图)
on_Cancel_pushButton_clicked()
取消添加,退出编辑窗口
2、编辑停车记录
on_Edit_pushButton_clicked()
If(Occupy_radioButton已经被选中)
{
实例化myEditFormForEdit;
获取TableWidget的当前行,并将值传给myEditFormForEdit;
保存旧值到myEditFormForEdit,并设置显示。
运行myEditFormForEdit弹出编辑界面,等待按下按键触发槽。
Else{提示AllPlace表不可被编辑}
VoidEditFormForEdit:
编辑停车记录(具体过程件下流程图)
取消编辑,退出编辑窗口
3、车辆离开:
on_Leave_pushButton_clicked()
获取当TableWidget的前行和对应的PlaceID。
删除TakenPlace中对应的PlaceID记录;
更新AllPlace表中对应PlaceID的Occupy,将其置为0.
Else{提示AllPlace表格不可被编辑;
4、查询车位记录:
根据不同条件查询记录(具体实现见下流程图)
六.设计结果与分析
运行主界面,表格默认显示的是已被占据的车位信息:
切换显示所有车位信息:
点击SearchPlace显示空闲车位:
点击Parking添加停车记录
占据空闲车位:
添加不存在车位:
添加已被占用车位:
A001车位的车离开:
离开前的记录
点击Leave刷新界面离开
编辑B001车位信息
修改为已被占用车位:
修改为不存在的车位:
成功修改:
查找A区的车位记录,按时间降序排序:
查询前
点击Query查询
七.总结
通过这次实验,实现了在linux操作系统下的qt和数据库的结合。
通过qt设计软件界面,界面上显示数据库内容和按键实现相应操作。
通过数据库为软件提供数据的存储,增删和修改。
Qt和数据库的完美配合实现了车位管理数据库操作系统。
设计
日志
记录每天的主要设计内容、遇到的问题、解决方法及效果,等。
周一:
熟悉设计题目,查阅相关资料,确定总体方案。
讨论设计任务,完成设计方案。
周二:
搭建程序的基本框架,实现运行程序显示主界面。
周三:
数据库数据表设计,数据库各主要功能的实现和测试。
周四:
撰写课程设计报告。
周五:
系统完善;
现场验收;
上交课程设计报告。
指导教师
评语
设计
成绩
指导教师签字
年月日