小区车辆管理系统.docx
《小区车辆管理系统.docx》由会员分享,可在线阅读,更多相关《小区车辆管理系统.docx(30页珍藏版)》请在冰豆网上搜索。
小区车辆管理系统
兰州商学院陇桥学院
工学系课程设计报告
设计题目:
小区车辆管理系统
系别:
工学系
专业(方向):
信息管理与信息系统
年级、班:
2011级信息管理与信息系统班
学生姓名:
廖宁波
学生学号:
20110651115
指导教师:
韩如冰
2014年6月28日
一、前言
(一)选题说明
1、基本思路
此次我们的设计题目是小区车辆管理,其目的是为了管理小区内的车辆信息和出入信息,以此为前提,可以讲系统设计如下几个板块:
(1)系统设置:
用来修改用户的密码。
(2)信息查询:
用来查询车辆信息,车主信息和出入信息。
(3)车主信息查询:
用来对车主信息进行查询、添加、修改、删除等操作。
(4)车辆信息查询:
用来对车辆信息进行查询、添加、修改、删除等操作。
(5)出入信息查询:
用来对出入信息进行查询、添加、修改、删除等操作。
2、作业目标
系统有可行性,可以对用户的密码进行修改,可以对车主信息、车辆信息、出入信息进行查询、添加、删除、修改等操作,从而可以达到对小区车辆进行管理的效果。
(二)课程设计进度安排
表一课程设计进度安排表
星期
进度安排
第十六周
可行性分析
第十七周
系统需求分析(系统描述、业务流程图设计及分析)
第十八周
系统需求分析(系统数据流程图、必要的数据字典设计)
第十九周
系统设计(系统代码设计、数据库设计)
第二十周
系统设计(输出设计、输入设计及其他内容)
(三)工作业绩
1、小组主要工作
对小区车辆管理系统进行可行性分析,然后对系统的需求进行进一步的分析,然后做出系统的设计流程图、E—R图和功能图,然后对系统进行初步的设计,设计好系统后对系统进行调试,看系统是否可以运行、有没有错误的地方,调试完成之后对系统进行进一步的完善,是系统功能更强大,显示更美观。
2、主要收获
进过对系统的分析,对系统的设计有了基本的思路,对小区管理系统的流程有了一定的了解。
3、小组分工
表二小组分工表
序号
负责人
任务
1
焦正山
主要负责系统设计部分,包括代码设计、数据库设计、输出设计、输入设计、其它相关部分。
2
廖宁波
主要负责系统可行性分析、系统需求分析部分,包括系统可行性分析、系统描述、业务流程图、业务流程分析、数据流程图、必要的数据字典
二、系统可行性分析
(一)需求分析
小区车辆管理在文件系统时代,工作非常繁琐,需要大量的人力、物力和财力,极大的浪费了小区物业的资源,对于小区的管理人员来说,车辆管理包括车主信息管理、车辆信息管理、出入信息管理、信息查询等等。
而这些项目在过去的文件系统时代,需要手工记录这些事情,不但麻烦,还经常出错,给广大用户带来很多不便。
为了更好的为广大住户服务,开发一套小区车辆管理系统已成为必要,数据库系统能帮助小区管理人员从复杂的车辆管理之中解放出来。
虽然在此之前,已有很多人开发过小区车辆管理系统,但也存在着一些问题,比如功能不够完善、系统界面不够友好、系统存在安全隐患等等。
(二)开发的可行性
1、技术可行性分析
开发系统需要的运行环境有
●软件环境:
用户端:
Windows2003,WindowsXP,Windows7,Windows8
服务器端:
Windows2000及以上操作系统
编程语言:
MicrosoftVisualStudio2008
数据库:
SQLServer2005
●硬件环境:
有高性能的电子计算机、适当容量的存贮装置,个人电脑(终端)以及联结起来的网线等,组成信息资源共享的计算机网络。
以上技术要求对于一个面向大型小区的车辆管理是可行的。
2、经济可行性分析
在经济上,用此系统加强了对各超小区车辆管理的效率,为小区车辆管理员提供了较大提升工作效率的空间,可节省部分人力资源的开支。
3、组织与管理上的可行性分析
在工作上,小区车辆管理部门每日处理的信息量非常大,使用了此系统,可极大提高车辆管理员的工作的效率。
方便车辆出入信息的储存和修改,及以后随时查询出入信息,是一个比较人性化的管理系统。
三、系统分析
(一)业务流程图
业务流程图如图3-1所示
图3-1业务流程图
(二)数据流程图
数据流程图如图3-2所示
图3-2数据流程图
四、系统设计
小区车辆管理系统功能结构设计图如图4-1所示:
图4-1小区车辆管理系统功能结构设计图
(一)系统功能结构图
1、系统设置子系统功能结构图
系统设置子系统功能结构图如图4-2所示:
图4-2系统设置子系统功能结构图
2、信息查询子系统功能结构图
信息查询子系统功能结构图如图4-3所示:
图4-3信息查询子系统功能结构图
3、车主信息查询子系统功能结构图
车主信息查询子系统功能结构图如图4-4所示:
图4-4车主信息查询子系统功能结构图
4、车辆信息查询子系统功能结构图
车辆信息查询子系统功能结构图如图4-5所示:
图4-5车辆信息查询子系统功能结构图
5、出入信息查询子系统结构功能图
出入信息查询子系统结构功能图如图4-6所示
图4-6出入信息查询子系统结构功能图
(二)数据库设计
1、E—R图
通过对系统功能的分析,小区车辆管理系统E—R模型图如图4-7所示。
图4-7小区物业管理系统E-R模型
这个ER图有八个实体类型:
管理员,车主,系统,车位,出入信息,车主信息,车辆信息,登录密码。
这个ER图有五个联系类型:
操作,管理,查询,修改,使用。
2、数据字典设计
表三车辆管理信息表vehicle
字段名称
字段类型
说明
是否主键
可否空
vehicleNo
Varchar(8)
车辆编号
是
否
motorcycletype
Varchar(8)
车型
否
是
owner
Varchar(8)
车主
否
是
licenseplateno
Varchar(8)
车牌号
否
是
color
Varchar(8)
颜色
否
是
registrationdate
Datetime(8)
注册时间
否
是
表四出入管理信息表Access
字段名称
字段类型
说明
是否主键
可否空
AccessNo
Varchar(8)
出入编号
是
否
state
Varchar(8)
状态
否
是
motorcycletype
Varchar(8)
车型
否
是
date
Datetime(8)
时间
否
是
licenseplateno
Varchar(8)
车牌号
否
是
表五车主管理信息表owner
字段名称
字段类型
说明
是否主键
可否空
ownerno
Varchar(8)
车主编号
是
否
name
Varchar(8)
姓名
否
是
sex
Varchar(8)
性别
否
是
tel
Varchar(15)
电话
否
是
add
Varchar(20)
住址
否
是
五、总结
系统完成了对小区车辆信息的查询、删除、修改、添加等操作功能,可以对小区内车辆的出入进行管理,方便与管理员的管理,为管理月节省了大量的时间,减轻了管理员的工作量,而且提高了数据的正确率。
除此之外,系统还有一些不足的地方,比如不能对车辆是否是本小区的,这样小区的安全问题就存在隐患。
在整个设计过程中,出现过很多的问题,在不断学习的过程中我体会到:
1.设计是一个不断学习新鲜事物的过程,从设计初的不懂到最后能够顺利完成,我体会到在实践中学习的重要性。
2.由于前期工作的不彻底,对系统的需求分析的要求认识不够清楚,使得后续的工作不得不经常返回去修改数据表和个别代码。
使我体会到在设计中的每一步的重要性,如果上一个步骤不能很好的完成,在后续的设计将会付出几倍的代价。
所以做一个系统最主要的部分就是最需求分析,如果需求分析做的不好,后面带来的一连串的问题就会更多,花的时间也会更多,而且系统不一定能够做到预期的效果。
3.设计过程中,由于要实现某些功能,互联网帮了我的大忙。
网络资源是一个丰富的共享体系,我通过在编程论坛上提出问题得到了很多热心网友的帮助,使我在很多地方少走了很多的了弯路。
经过近三周的设计,我深刻体会到了一个软件的设计和它的发展是那很的严密,容不得半点的马虎。
要严格按照软件工程的方法与思想,逐步完成。
同时也让我明白了,很多的知识在用时才会觉的
“书到用时方恨少”,只有靠平常的积累。
4.经过三周的课程设计,使我成长了很多,也学到了不少知识,但是我学到仅仅是一点皮毛而已,今后还需要不断的努力学习,C#是一门很好的语言,它的运行环境也相当好,所以我今后打算继续学习C#语言,继续往这一方面去发展,现在的我就如同一张白纸,需要学习的知识还有很多很多。
六、附件(代码及部分效果图)
1、系统首页代码:
privatevoidbutton1_Click(objectsender,EventArgse)
{
this.Visible=false;
Form2登录=newForm2();
登录.Show();
}
privatevoidbutton2_Click(objectsender,EventArgse)
{
this.Close();
}
登陆界面代码:
privatevoidbutton1_Click(objectsender,EventArgse)
{
if(textBox1.Text=="admin"&&textBox2.Text=="admin")
{
this.Visible=false;
Form3main=newForm3();
main.Show();
}
else
{
MessageBox.Show("用户名或密码错误!
","提示",MessageBoxButtons.OK,MessageBoxIcon.Information);
textBox1.Text="";
textBox2.Text="";
a+=1;
if(a==3)
{
MessageBox.Show("3次输入错误,系统关闭!
","警告",MessageBoxButtons.OK,MessageBoxIcon.Warning);
this.Close();
}
}
}
privatevoidbutton2_Click(objectsender,EventArgse)
{
this.Close();
}
基本管理模块代码:
privatevoid重新登录ToolStripMenuItem_Click(objectsender,EventArgse)
{
this.Visible=false;
Form2登录=newForm2();
登录.Show();
}
privatevoid车辆信息查询ToolStripMenuItem_Click(objectsender,EventArgse)
{
Form7车辆信息查询=newForm7();
车辆信息查询.Show();
}
privatevoid车主信息查询ToolStripMenuItem_Click(objectsender,EventArgse)
{
Form8车主信息查询=newForm8();
车主信息查询.Show();
}
privatevoid出入信息查询ToolStripMenuItem_Click(objectsender,EventArgse)
{
Form9出入信息查询=newForm9();
出入信息查询.Show();
}
privatevoid添加车主信息ToolStripMenuItem_Click(objectsender,EventArgse)
{
Form4添加车主信息=newForm4();
添加车主信息.Show();
}
privatevoid修改车主信息ToolStripMenuItem_Click(objectsender,EventArgse)
{
Form4添加车主信息=newForm4();
添加车主信息.Show();
}
privatevoid删除车主信息ToolStripMenuItem_Click(objectsender,EventArgse)
{
Form4添加车主信息=newForm4();
添加车主信息.Show();
}
privatevoid添加车辆信息ToolStripMenuItem_Click(objectsender,EventArgse)
{
Form5添加车辆信息=newForm5();
添加车辆信息.Show();
}
privatevoid修改车辆信息ToolStripMenuItem_Click(objectsender,EventArgse)
{
Form5添加车辆信息=newForm5();
添加车辆信息.Show();
}
privatevoid删除车辆信息ToolStripMenuItem_Click(objectsender,EventArgse)
{
Form5添加车辆信息=newForm5();
添加车辆信息.Show();
}
privatevoid添加出入信息ToolStripMenuItem_Click(objectsender,EventArgse)
{
Form6添加出入信息=newForm6();
添加出入信息.Show();
}
privatevoid修改出入信息ToolStripMenuItem_Click(objectsender,EventArgse)
{
Form6添加出入信息=newForm6();
添加出入信息.Show();
}
privatevoid删除出入信息ToolStripMenuItem_Click(objectsender,EventArgse)
{
Form6添加出入信息=newForm6();
添加出入信息.Show();
}
privatevoid退出系统ToolStripMenuItem_Click(objectsender,EventArgse)
{
this.Close();
}
车主信息管理模块代码:
privatevoidbutton1_Click(objectsender,EventArgse)
{
String车主编号=textBox1.Text.Trim();
String性别=textBox2.Text.Trim();
String住址=textBox3.Text.Trim();
String姓名=textBox4.Text.Trim();
String电话=textBox5.Text.Trim();
if(old)
{
cm.CommandText="updateCZset姓名='"+姓名+"',性别='"+性别+"',电话='"+电话+"',住址='"+住址+"'where车主编号='"+车主编号+"'";
}
else
{
cm.CommandText="insertintoCZvalues('"+车主编号+"','"+姓名+"','"+性别+"','"+电话+"','"+住址+"')";
}
cm.ExecuteNonQuery();
MessageBox.Show("车主信息更新成功!
");
}
privatevoidtextBox1_Leave(objectsender,EventArgse)
{
intcnt;
cm.CommandText="selectcount(*)fromCZwhere车主编号='"+textBox1.Text.Trim()+"'";
cnt=int.Parse(cm.ExecuteScalar().ToString());
if(cnt>0)
{
old=true;
cm.CommandText="select*fromCZwhere车主编号='"+textBox1.Text.Trim()+"'";
dr=cm.ExecuteReader();
dr.Read();
textBox4.Text=dr[1].ToString();
textBox3.Text=dr[4].ToString();
textBox2.Text=dr[2].ToString();
textBox5.Text=dr[3].ToString();
dr.Close();
}
else
{
textBox4.Text="";
textBox3.Text="";
textBox2.Text="";
textBox5.Text="";
}
}
privatevoidbutton4_Click(objectsender,EventArgse)
{
textBox1.Text="";
textBox4.Text="";
textBox3.Text="";
textBox2.Text="";
textBox5.Text="";
}
privatevoidbutton2_Click(objectsender,EventArgse)
{
String车主编号=textBox1.Text.Trim();
String性别=textBox2.Text.Trim();
String住址=textBox3.Text.Trim();
String姓名=textBox4.Text.Trim();
String电话=textBox5.Text.Trim();
cm.CommandText="updateCZset性别='"+性别+"',住址='"+住址+"',姓名='"+姓名+"',电话='"+电话+"'where车主编号='"+车主编号+"'";
cm.ExecuteNonQuery();
MessageBox.Show("车主更新成功!
");
button2.Enabled=false;
old=false;
}
privatevoidbutton3_Click(objectsender,EventArgse)
{
if(MessageBox.Show("确认删除?
")==DialogResult.OK)
{
cm.CommandText="deletefromCZwhere车主编号='"+textBox1.Text.Trim()+"'";
cm.ExecuteNonQuery();
MessageBox.Show("删除成功!
");
button3.Enabled=false;
old=false;
}
else
{
this.Close();
}
}
privatevoidbutton5_Click(objectsender,EventArgse)
{
this.Close();
}
车辆信息管理模块代码:
privatevoidbutton1_Click(objectsender,EventArgse)
{
String车辆编号=textBox1.Text.Trim();
String车主=textBox2.Text.Trim();
String颜色=textBox3.Text.Trim();
String车型=textBox4.Text.Trim();
String车牌号=textBox5.Text.Trim();
String注册时间=textBox6.Text.Trim();
if(old)
{
cm.CommandText="updateCLset车型='"+车型+"',车主='"+车主+"',车牌号='"+车牌号+"',颜色='"+颜色+"',注册时间='"+注册时间+"'where车辆编号='"+车辆编号+"'";
}
else
{
cm.CommandText="insertintoCLvalues('"+车辆编号+"','"+车型+"','"+车主+"','"+车牌号+"','"+颜色+"','"+注册时间+"')";
}
cm.ExecuteNonQuery();
MessageBox.Show("车辆信息更新成功!
");
}
privatevoidbutton2_Click(objectsender,EventArgse)
{
String车辆编号=textBox1.Text.Trim();
String车主=textBox2.Text.Trim();
String颜色=textBox3.Text.Trim();
String车型=textBox4.Text.Trim();
String车牌号=textBox5.Text.Trim();
String注册时间=textBox6.Text.Trim();
cm.CommandText="updateCLset车主='"+车主+"',颜色='"+颜色+"',车型='"+车型+"',车牌号='"+车牌号+"',注册时间='"+注册时间+"'where车辆编号='"+车辆编号+"'";
cm.ExecuteNonQuery();
M