软件工程导论课程设计停车场管理系统大学毕业设计论文.docx

上传人:b****0 文档编号:9182998 上传时间:2023-05-17 格式:DOCX 页数:42 大小:381.13KB
下载 相关 举报
软件工程导论课程设计停车场管理系统大学毕业设计论文.docx_第1页
第1页 / 共42页
软件工程导论课程设计停车场管理系统大学毕业设计论文.docx_第2页
第2页 / 共42页
软件工程导论课程设计停车场管理系统大学毕业设计论文.docx_第3页
第3页 / 共42页
软件工程导论课程设计停车场管理系统大学毕业设计论文.docx_第4页
第4页 / 共42页
软件工程导论课程设计停车场管理系统大学毕业设计论文.docx_第5页
第5页 / 共42页
软件工程导论课程设计停车场管理系统大学毕业设计论文.docx_第6页
第6页 / 共42页
软件工程导论课程设计停车场管理系统大学毕业设计论文.docx_第7页
第7页 / 共42页
软件工程导论课程设计停车场管理系统大学毕业设计论文.docx_第8页
第8页 / 共42页
软件工程导论课程设计停车场管理系统大学毕业设计论文.docx_第9页
第9页 / 共42页
软件工程导论课程设计停车场管理系统大学毕业设计论文.docx_第10页
第10页 / 共42页
软件工程导论课程设计停车场管理系统大学毕业设计论文.docx_第11页
第11页 / 共42页
软件工程导论课程设计停车场管理系统大学毕业设计论文.docx_第12页
第12页 / 共42页
软件工程导论课程设计停车场管理系统大学毕业设计论文.docx_第13页
第13页 / 共42页
软件工程导论课程设计停车场管理系统大学毕业设计论文.docx_第14页
第14页 / 共42页
软件工程导论课程设计停车场管理系统大学毕业设计论文.docx_第15页
第15页 / 共42页
软件工程导论课程设计停车场管理系统大学毕业设计论文.docx_第16页
第16页 / 共42页
软件工程导论课程设计停车场管理系统大学毕业设计论文.docx_第17页
第17页 / 共42页
软件工程导论课程设计停车场管理系统大学毕业设计论文.docx_第18页
第18页 / 共42页
软件工程导论课程设计停车场管理系统大学毕业设计论文.docx_第19页
第19页 / 共42页
软件工程导论课程设计停车场管理系统大学毕业设计论文.docx_第20页
第20页 / 共42页
亲,该文档总共42页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

软件工程导论课程设计停车场管理系统大学毕业设计论文.docx

《软件工程导论课程设计停车场管理系统大学毕业设计论文.docx》由会员分享,可在线阅读,更多相关《软件工程导论课程设计停车场管理系统大学毕业设计论文.docx(42页珍藏版)》请在冰点文库上搜索。

软件工程导论课程设计停车场管理系统大学毕业设计论文.docx

软件工程导论课程设计停车场管理系统大学毕业设计论文

中南民族大学

计算机科学学院

课程设计报告

 

课程软件工程导论

题目停车场管理系统

年级2013级

分组号

学号

姓名

成绩

等级

6

201321092107

蔡磊

201321092118

罗京

201321092101

叶菁烜

201321092099

丁其鑫

指导教师刘卫平

2015年12月15日

 

摘要

 

随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。

管理信息系统是一个不断发展的新型学科,任何一个单位要生存要发展,要高效率地把内部活动有机地组织起来,就必须建立与自身特点相适应的管理信息系统。

本系统是在管理信息系统的理论和方法指导下、数据库技术支持下完成的。

本文在结构上首先论述了程序设计目的和意义,然后叙述了开发环境、开发平台以及数据库技术,接着用图片、说明和代码的方式介绍了系统的整体规划,接下来是系统在具体实现中的详细内容,最终本系统能够完成信息的添加、修改、删除、查询等功能,本系统界面友好,操作简单,比较实用,思路缜密严谨,管理起来方便快捷,能有效的达到停车场车位的管理的目的。

关键词:

Myeclipse,SQLserver2008,界面,权限

 

2.1.4开发环境和软件……………………………………………………7

2.2.1数据需求…………………………………………………………7

2.2.1.1数据字典……………………………………………………7

2.2.1.2数据流图……………………………………………………8

2.2.2功能需求…………………………………………………………10

 

1绪论

人类有几千年的历史,计算机从产生到现在只不过50多年,而网络的迅速发展也不过10年的时间。

但是,计算机和网络对社会的影响已经迅速扩大,甚至在改变人们的生活。

特别是90年代以来,多媒体和网络技术的飞速发展正在以惊人的速度改变着人们的工作方式、交往方式和生活方式。

正像著名的未来学家尼葛洛庞帝(1997)所说的:

“数字不再只和计算有关,它决定我们的生存。

”科学技术是第一生产力,是最先进的生产力。

现在,已经没有人怀疑信息技术的发展将会引起人类社会全面和深刻的变革,使人类社会由工业社会迈向信息社会。

目前,在社会各个方面都呈现出了与工业社会显著不同的特点。

网上书店,网上医院,网上学校,网上购物,网上银行,政府上网等新事物如雨后春笋般涌现出来,对人们的传统生活方式、工作方式产生极大的冲击。

使人们感受到技术发展的脉搏和信息时代前进的步伐。

随着车辆生产的规模不断扩大,车辆数量急剧增加,。

面对停车难,混乱的问题需要有停车管理系统来提高停车管理工作的效率。

通过这样的系统可以做到信息的规范管理、科学统计和快速查询、修改、增加、删除等,从而减少管理方面的工作量。

1.1设计目的

本课程设计的目的是使学生能熟练掌握简单的简单Swing窗体应用程序的设计和数据库的应用,希望通过本次课程设计锻炼学生使用java语言解决实际问题的能力。

1.2开发工具选择

本系统后台数据库采用MicrosoftSQLServer2008数据库,该数据库系统在安全性、准确性和运行速度方面有绝对的优势,并且处理数据量大,效率高;前台采用Son公司的Myeclipse作为主要开发工具,可与SQLServer2008数据库无缝链接。

1.3开发环境

系统开发平台:

Myeclipse

系统开发语言:

java

数据库管理软件:

SQLServer2008

1.4本报告的主要内容

本报告详细的介绍了停车管理系统的开发过程,主要涉及到的工作如下:

系统的需求分析、系统的总体设计、系统的概念设计、系统各模块的详细设计、系统运行与测试。

2需求分析

需求分析是一组活动的总称,作为系统分析员,必须协同软件用户共同完成。

而需求分析的任务是定义待开发的软件的功能、性能等指标。

首先要了解用户的相关事务,如果你给一家网站做在线书店系统,除了参考现在已经存在的类似和相关的系统外,你还需要通过用户的演示、讲解和有关文档,与用户进行交流协商。

在这个过程中,可以提出自己有建设性的想法和建议,只有这样,用户和系统设计人员才会在系统提供的事务上达成一致,这对于软件来说是相当重要的。

其次要分析用户的事务流程,前面了解的用户事务只是一些离散的事务活动,而事务流程是一种重要的信息,比如用户登录这个流程,他需要经历用户名和密码的输入,正确用户类型的选择这些活动,然后将了解到的用户活动加以整理并按照这些活动所固有的次序形成业务流程。

还要了解用户对软件的期望值,除了需要能够正确处理用户的事务外,还需要了解用户对系统的其他需求,比如系统的安全性。

这些对于用户而言也显得尤为重要。

最后整理出用户需求并评审需求。

2.1系统任务描述

系统模块的设计应该遵循整个系统总体设计思路,基于java开发工具与数据库SQL设计,主要完成的设计如下:

2.1.1系统目标

(1)根据车辆的实际情况实现车辆的出入库

(2)根据车库的实际情况管理车库,比如车库的剩余大小

(3)对基本信息完成增加、删除、修改时,需注意表与表之间的关联

(4)出库后根据小时来收费,并计算出总共的时间

2.1.2系统设计与功能分析

停车场管理系统,可用于停车场对车辆信息管理,查询,更新与维护,使用方便,易用性强,图形界面清晰明了。

该软件用java语言编写,用SQLServer2008数据库作为后台的数据库进行信息的存储,用SQL语句完成车辆信息的添加,查询,修改,删除的操作以及车辆的录入,修改,删除等。

用ODBC驱动实现前台Java与后台SQL数据库的连接。

Java语言跨平台性强,可以在windows,linux,ubuntu等系统下使用,方便简单,安全性好。

SQLServer2008数据库高效安全,两者结合可相互利用各自的优势。

该系统实现的大致功能:

1.用户登陆界面。

该界面可以选择使用者的身份,“管理员,普通用户”。

不同的身份有不同的操作界面和功能权限。

ID号和密码输入正确即可登录。

普通管理界面。

提供了普通用户信息的查询,修改登录密码等功能。

2.管理员界面。

提供了对车辆信息的查询,添加,修改,删除。

修改密码等功能。

拥有最高的权限。

允许添加普通用户信息。

3.登录的用户信息存储在SQL数据库的users这个表中保证了本学生管理系统的安全性。

2.1.3性能需求分析

(1)登录、用户界面需求:

简洁、易懂、易用、友好的用户界面。

(2)安全保密性需求:

只有凭借用户名和密码登陆系统,才能进行信息的管理等。

2.2系统概要设计

2.2.1.数据需求:

2.2.1.1数据字典

实体属性表:

实体

属性

管理员

管理员ID,登录密码

普通用户

车牌号,姓名,密码,卡类型,卡余额,电话,卡号

管理员信息表:

字段名

类型

空值

约束条件

管理员ID

varchar(10)

notnull

主键

登录密码

varchar(10)

notnull

学生表:

字段名

类型

空值

约束条件

卡号

int

notnull

主键

姓名

varchar(30)

notnull

卡类型

char

(2)

电话

varchar(30)

notnull

 

卡余额

char(10)

 

登录密码

Varchar(30)

notnull

2.2.1.2数据流图

第0层

第一层:

第二层:

 

2.2.2.功能需求:

包括车辆进出管理与系统管理等功能模块,可根据车辆停放时间及收费标准自动收费。

用户需要事先办理停车卡并充值,停车卡分优惠卡和普通卡两类。

车场管理:

车辆入场、车辆出场;

信息查询:

某时间段的出入场信息,当前在场信息,车辆历史停车记录及收费信息;

信息维护:

用户及停车卡信息维护、充值等;

系统管理:

车位信息,计费标准等。

系统包含两类用户:

管理员用户和普通用户。

管理员可以使用系统所有功能,普通用户只能查询车辆历史记录、用户信息、停车卡充值,查询计费标准。

2.3系统详细设计

2.3.1.概念结构设计

ER图

2.3.3物理结构设计

数据库关系图:

完成系统中数据表的结构设计。

例如:

用户表

用户表:

users

字段名称

数据类型

可空

默认值

说明

cardid

int

不可

主键,用户的停车卡号

name

Nvarchar(20)

不可

用户姓名

password

Nvarchar(20)

用户密码

cardtype

Nvarchar(20)

停车卡类型

userstype

Nvarchar(20)

用户类型

carid

int

用户车牌号

tel

int

用户电话号码

overage

int

用户余额

车位信息表:

sit_infor

字段名称

数据类型

可空

默认值

说明

stationid

int

不可

主键,车位号

stationtype

Nvarchar(20)

不可

车位类型

停车收费卡收费表:

charger

字段名称

数据类型

可空

默认值

说明

cardtype

Nvarchar(6)

车卡类型

stationtype

Nvarchar(20)

车位类型(车卡类型与车位类型一起作为主键)

charge

int

价格

停车表:

park

字段名称

数据类型

可空

默认值

说明

cardid

int

车卡号(外键)

stationid

int

车位号(外键)

parkid

int

1,每次增加一

停车号,主键

startpark

datetime

停车开始时间

endpark

datetime

停车结束时间

fee

int

停车的收费

sumpark

int

停车总时间

2.3.4系统功能设计

3.总体设计

3.1设计概述

根据需求把整个系统分化成不同的模块,每个模块完成一个特定的子功能。

把这些模块结合起来组成一个整体。

逐一实现各个功能;

3.2系统总体结构及功能模块划分

经过对系统的需求分析,停车管理系统主要划分为四个部分:

车辆进出管理,信息查询,信息维护,系统管理四个功能模块。

如图3.2.1系统的总体结构。

图3.2.1系统的总体结构

3.2.1车辆进出模块

学生信息查询:

学生可以根据学号、姓名、专业进行查询。

如图3.2.2学生信息查询模块结构。

 

图3.2.2车辆进出模块结构

3.2.2信息查询模块

信息查询:

主要是用于用户信息更新、插入、删除,如图3.2.3信息查询模块结构。

图3.2.3信息查询模块结构

3.4安全保密设计

3.4.1用户登录安全性

系统设计了登录界面,每个合法用户有用户名及一个密码,只有当用户输入正确的用户名及密码组合后才能够对车辆信息进行操作。

4详细设计

4.1概述

详细设计阶段的根本目标是确定应该怎样具体的实现所要求的系统,也就是说,经过这个阶段的设计工作,应该得出目标系统的精确描述,从而在编码阶段可以把这个描述直接翻译成用某种程序设计语言书写的程序。

4.2系统程序流程图

程序流程图又称为程序框图,它是历史悠久使用最广泛的描述软件设计的方法。

它可将整个程序的总体流程清楚明白的显示出来。

如图4.2.1系统总流程图结构。

 

图4.2.1系统总体流程图

4.3系统主要功能模块简介

4.3.1系统登录

登陆界面

主界面:

管理员主界面

普通用户主界面

4.3.2车辆入场

车辆入场界面:

车辆入场界面:

计费标准界面:

4.3.3信息查询

当前在场信息界面:

用户历史信息界面:

用户个人信息界面:

管理员个人信息界面:

普通用户个人信息界面(以张三为例)

出入场信息界面:

当前可用车位信息界面:

4.3.1信息维护

用户注册界面:

用户修改界面:

用户充值界面:

计费标准管理界面:

更改口令界面:

5主要功能模块代码

5.1关键技术介绍

1、在其他类中得到当前登录用户对象

实现方法:

在LoginFrame类中设置两个静态方法,在其他类中只需要引入LoginFrame类,然后调用他的静态方法即可。

方法体如下:

publicstaticusersgetUser(){

returnuser;

}

publicstaticvoidsetUser(usersuser){

LoginFrame.user=user;

}

2、实现用户类型不同,主界面不同的功能。

可以定义静态方法disMenu().当用户是普通用户时,调用disMenu()方法即可。

具体实现如下:

publicvoiddisMenu(){

mnuPark.setEnabled(false);

mnuSever.setEnabled(false);

mnuManZhuCe.setEnabled(false);

mnuManCharge.setEnabled(false);

}

if(user.getUserstype().equals("管理员")){

MdiFrameframe1=newMdiFrame();//创建一个主窗体

frame1.setVisible(true);//设置其可见

LoginFrame.this.setVisible(false);//设置登录窗体为不显示

}

else{//判断用户名是否为null

MdiFrameframe=newMdiFrame();//创建一个主窗体

frame.disMenu();

frame.setVisible(true);//设置其可见

LoginFrame.this.setVisible(false);//设置登录窗体为不显示

}

3、怎么得到系统时间

SimpleDateFormatmyfmt=newSimpleDateFormat("yyyy-MM-ddhh:

mm:

ss");

Stringa4=myfmt.format(newjava.util.Date()).toString();

4、怎么计算时间差值

try{

java.util.Datenow=myfmt.parse(a3);//a3是系统当前时间(即出场时间)

java.util.Datedate=myfmt.parse(a7);//a7是入场时间

intl=(int)(now.getTime()-date.getTime());//计算毫秒差值

day=l/(24*60*60*1000);//获取天数

hour=(l/(60*60*1000)-day*24);//获得小时

min=((l/(60*1000))-day*24*60-hour*60);//获得分钟

}

catch(Exceptione1)

{

JOptionPane.showMessageDialog(null,"消费计算错误");

}

if(min<30)//如果分钟小于30分钟

a8=day*24+hour;

else//如果分钟大于30分钟

a8=day*24+hour+1;

5、怎么让布局更优美

使用布局管理器;GridBagLayout,以更改密码界面为例:

getContentPane().setLayout(newGridBagLayout());

setBounds(234,129,285,223);

finalJLabellabel_5=newJLabel();

label_5.setText("登录名:

");

finalGridBagConstraintsgridBagConstraints_11=newGridBagConstraints();

gridBagConstraints_11.gridy=2;

gridBagConstraints_11.gridx=0;

getContentPane().add(label_5,gridBagConstraints_11);

 

5.2登录界面代码设计

publicvoidactionPerformed(finalActionEvente){

user=Dal.check(username.getText(),newString(password.getText()));

if(user.getName()!

=null){

if(user.getUserstype().equals("管理员")){

MdiFrameframe1=newMdiFrame();//创建一个主窗体

//frame1.setEnabled(true);//设置其可见

LoginFrame.this.setVisible(false);//设置登录窗体为不显示

}

else{//判断用户名是否为null

MdiFrameframe=newMdiFrame();//创建一个主窗体

frame.disMenu();

//frame.setEnabled(true);//设置其可见

LoginFrame.this.setVisible(false);//设置登录窗体为不显示

}

}

else{

JOptionPane.showMessageDialog(null,"请输入正确的用户名和密码!

");//弹出提示框

username.setText("");//设置用户名输入框为空

password.setText("");//设置密码输入框为空

}

}

5.3主窗口代码设计

packagewhsdu.se.UI;

importjava.awt.BorderLayout;

importjava.awt.Dimension;

importjava.awt.FlowLayout;

importjava.awt.SystemColor;

importjava.awt.event.ActionEvent;

importjava.awt.event.ActionListener;

importjava.awt.event.ComponentAdapter;

importjava.awt.event.ComponentEvent;

importjavax.swing.ImageIcon;

importjavax.swing.JFrame;

importjavax.swing.JInternalFrame;

importjavax.swing.JLabel;

importjavax.swing.JMenu;

importjavax.swing.JMenuBar;

importjavax.swing.JMenuItem;

importjavax.swing.JPanel;

importjavax.swing.JScrollPane;

importjavax.swing.border.LineBorder;

importwhsdu.se.Common.*;

importwhsdu.se.UI.*;

importwhsdu.se.DAO.*;

publicclassMdiFrameextendsJFrameimplementsActionListener{

//关键!

MDIDesktopPane(该类实际继承了JDesktopPane)用来容纳子窗体

//即使子窗体最大化也仅仅限制在该容器的范围之内

privateMDIDesktopPanedesktop=newMDIDesktopPane();

//菜单条

privateJMenuBarmenuBar=newJMenuBar();

//菜单

privateJMenumnuPark=newJMenu("车场管理");

privateJMenumnuQuery=newJMenu("信息查询");

privateJMenumnuSever=newJMenu("信息维护");

privateJMenumnuManSes=newJMenu("系统管理");

//菜单项

privateJMenuItemmunParkIn=newJMenuItem("车辆入场");

privateJMenuItemmnuParkOut=newJMenuItem("车辆出场");

privateJMenuItemmunCharge=newJMenuItem("计费标准");

privateJMenuItemmnuNowInfo=newJMenuItem("当前在场信息");

privateJMenuItemmnuHistory=newJMenuItem("用户历史信息");

privateJMenuItemmnuComUsersInfo=newJMenuItem("用户个人信息");

privateJMenuItemmnuInOut=newJMenuItem("出入场信息");

privateJMenuItemmnuComZhuCe=newJMenuItem("用户注册");

privateJMenuItemmnuComIdentity=newJMenuItem("用户修改");

privateJMenuItemmnuManZhuCe=newJMenuItem("管理员注册");

privateJMenuItemmnuManIdentity=newJMenuItem("口令修改");

privateJMenuItemmnuManCharge=newJMenuItem("计费标准管理");

privateJMenuItemmnumancharge=newJMenuItem("用户充值");

privateJMenuItemmnunowstation=newJMenuItem("当前可用车位信息");

privateJMenuItemmnuabout=newJMenuItem("关于")

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2