票据管理系统设计与实现

上传人:dus****log 文档编号:73880258 上传时间:2022-04-12 格式:DOC 页数:12 大小:69KB
收藏 版权申诉 举报 下载
票据管理系统设计与实现_第1页
第1页 / 共12页
票据管理系统设计与实现_第2页
第2页 / 共12页
票据管理系统设计与实现_第3页
第3页 / 共12页
资源描述:

《票据管理系统设计与实现》由会员分享,可在线阅读,更多相关《票据管理系统设计与实现(12页珍藏版)》请在装配图网上搜索。

1、石家庄经济学院课程设计报告课程名称: 数据库原理课程设计专业: 计算机科学与技术 姓名: 班级: 学号: 指导教师: 2015年 06 月30日票据管理系统引言随着计算机时代的飞速发展,我们的日常生活开始跟计算机变得密不可分,如今硬件的成熟使得家家都有一台PC机,而相对于传统的报表统计,会计的工作量也在随着时代的变化,脱离了传统的算盘,开始跟计算机接轨。相应的以前一些管理软件也不再是一些大型的企业的专属,小户小家也开始学着使用完善的管理系统来减少自己的工作量。通过管理系统的分析统计,可以获取自己需求的有效信息,从而化繁为简使枯燥的对接工作变得简单。因此小型家用软件的诞生也应运而生,进入到千家万

2、户的数据管理工作当中来。1 需求分析本系统的使用用户为重型罐车、货车等行业的从业者。根据寒假对于货运票据的整理核对以及跟父母的沟通,得出以下的实际需求。1.1票据的基本情况票据的由司机填写,最后交给货车的所有人进行收纳保管。1.1.1司机的基本信息入职的时候填写入职表,填写基本信息保存,如姓名,籍贯,身份证号,联系 。并为每一名司机分配一个员工号。1.1.2发货地的基本信息对于发货地需要清楚其地址,联系方式即可。1.1.3收货地的基本信息对于收货地需要清楚其地址,联系方式即可。1.1.4货物的基本信息货物都有相应的货物编号,名称,所属地,价格1.1.5运输的基本信息司机去接收货物的时候要称量装

3、载重量,接货日期,送到收货地还要在一次称重(运输途中有不部分损耗),收货日期。运输途中会产生消费。 1.2用户对系统的要求1.2.1处理要求用户应该具有对上述票据的基本情况可以相应增加、删除、修改。1.2.2 信息要求用户应具备对上述票据的基本情况可以查询具体的数据,比如年底需要核对票据,应该有相应的票据信息查询,同时应具备票据部分(运输产生的票据)可以统计查询,如一段时间的总车数,实送吨数等等。1.2.3安全性和完整性应设置相应的用户登录保证非合法用户不能登录,并且对密码进行MD5加密,也可通过权限来给他人添加用户,比如普通用户有添加数据的权限,但无法修改以及删除,以防止他人通过数据库获取篡

4、改票据信息,带来不必要的麻烦,数据项不能为空值。1.3功能模块划分 按照基本模块来划分功能则可分为用户管理、司机管理、收货地管理、发货地管理、货物管理、票据管理六大模块。功能设计如图1-1所示。图1-1 票据管理功能图1.3.1用户管理以管理员身份登录的用户可以添加新的用户、删除用户、修改用户信息、查询用户信息功能,以普通用户身份登录的用户只可以修改自己的账号信息。1.3.2司机管理具有司机信息的录入、修改、删除、查询功能。1.3.3收货地管理对收货地的信息进行录入、修改、删除、查询功能。1.3.4发货地管理对发货地的信息进行录入、修改、删除、查询功能。1.3.5货物管理对货物的信息进行录入、

5、修改、删除、查询功能。1.3.6票据管理最基本的对票据进行录入、修改、删除(软删除)、查询功能,同时具备票据核查、票据统计、消费统计等基本功能。2 概念结构设计由上述需求分析可知系统中包含如下实体:用户实体,其属性为用户编号、用户名称、用户密码。权限实体,其属性为权限编号、权限名称。司机实体,其属性为司机编号、司机姓名、 、身份证号、籍贯。取货地实体,其属性为取货地编号、取货地名称、 、取货地地址。送货地实体,其属性为送货地编号、送货地名称、 、送货地地址。货物实体,其属性为货物编号,货物名称,价格。一个用户只有一个权限所以是一对一关系,通过对应可以获取对于本系统不同的操作权限。多名司机可以去

6、多个取货地取货,取货时需要登记日期、称量货重,他们之间的关系是多对多关系。多个司机可以送货到多个收货地也要登记日期,称量货重,他们之间的关系也是多对多关系。一个取货地可以有多个货物,所以他们之间的关系为一对多关系。一个收货地接收多个货物,他们之间的关系为一对多关系。其整体的E-R图如2-1所示。图 2-1票据管理系统E_R图3 逻辑结构设计概念设计是独立于任何一种数据模型的信息结构。逻辑结构设计的任务就是把概念结构设计阶段设计好的基本E-R图转换为与选用DBMS产品所支持的数据模型相符合的逻辑结构。从理论上讲,设计逻辑结构应该选择最适用于相应概念结构的数据模型,然后对支持这种数据模型的各种DB

7、MS进行比较,从中选出最适合的DBMS。但实际情况往往是已给定了某种DBMS,设计人员没有选择的余地。目前DBMS产品一般支持关系,网状,层次三种模型中的某一种。对某一种数据模型,各个机器系统又有许多不同的限制,提供不同环境与工具,所以设计逻辑结构时,一般要分3步进行:(1) 将概念模型转换为一般的关系、网状、层次模型;(2) 将转换来的关系、网状、层次模型向特定DBMS支持下的数据模型转换;(3) 对数据模型进行优化。根据上述步骤,将图2-1所示的E-R图转换为关系数据库模式。用户(用户编号,用户名,密码,权限编号);其中用户编号为主码,权限编号为外码。权限(权限编号,权限名);其中权限编号

8、为主码。司机(司机编号,司机名,身份证号,籍贯,联系方式);其中司机编号为主码。取货地(取货地编号,取货地名,地址,联系方式);其中取货地编号为主码。收货地(收货地编号,收货地名,地址,联系方式);其中收货地编号为主码。货物(货物编号,货物名,价格,取货地编号);其中货物编号为主码,取货地编号为外码。票据(票据号,司机编号,货物编号,取货地编号,收货地编号,装载重量,卸载重量,出发时间,返回时间,登记时间);其中主码为票据号。给出每一个关系的数据结构定义如下:1. 用户用户实体跟权限实体是一对一关系,由此可以得出用户的关系模式:(用户编号,用户名,密码,权限编号)。其中用户编号为主码,权限编号

9、为外码。如表3-1所示。表3-1 用户表属性编号属性名属性类型取值范围备注1用户编号char20主键2用户名char10不能为空3密码char20不能为空4权限编号char10外键2. 权限 权限实体的关系模式:权限编号,权限名)。其中权限编号为主码。如表3-2所示。表3-2 权限表属性编号属性名属性类型取值范围备注1权限编号char10主键2权限名char10不能为空3,司机司机实体的关系模式:(司机编号,司机名,身份证号,籍贯,联系方式)。其中司机编号为主码。如表3-3所示。表3-3 司机表属性编号属性名属性类型取值范围备注1司机编号char10主键2司机名char10不能为空3身份证号c

10、har20不能为空4籍贯char20不能为空5联系方式char15不能为空4. 取货地取货地实体的关系模式:(取货地编号,取货地名,地址,联系方式)。其中取货地编号为主码。如表3-4所示。表3-4 取货地表属性编号属性名属性类型取值范围备注1取货地编号char10主键2取货地名char10不能为空3地址char20不能为空4联系方式char15不能为空5. 收货地收货地实体的关系模式:(收货地编号,收货地名,地址,联系方式)。其中收货地编号为主码。如表3-5所示。表3-5 收货地表属性编号属性名属性类型取值范围备注1收货地编号char10主键2收货地名char10不能为空3地址char20不能

11、为空4联系方式char15不能为空6. 货物货物实体的关系模式:(货物编号,货物名,价格,取货地编号)。其中货物编号为主码,取货地编号为外码。如表3-6所示。表3-6 货物表属性编号属性名属性类型取值范围备注1货物编号char10主键2货物名char10不能为空3价格char20不能为空4取货地编号char15外键7. 票据票据实体的关系模式:(票据号,司机编号,货物编号,取货地编号,收货地编号,装载重量,卸载重量,出发时间,返回时间,登记时间)。其中主码为票据号。如表3-7所示。表3-7 票据表属性编号属性名属性类型取值范围备注1票据号char10主键2司机编号char10不能为空3货物编号

12、char20不能为空4取货地编号char10不能为空5收货地编号char10不能为空6装载重量Decimal(18,2)不能为空7卸载重量Decimal(18,2)不能为空8出发时间datetime不能为空9返回时间datetime不能为空10登记时间datetime不能为空每个实体属性都满足:(1)所有非主属性对每一个码都是完全函数依赖。(2)所有的主属性对每一个不包含它的码,也是完全依赖函。(3)没有任何属性完全函数依赖于非码的任何一组属性。由此可知,每个实体都满足BCNF,但为了提高数据的存取速度等,在此可以降低实体的范式。4 数据库物理设计数据库物理设计是将给定的逻辑结构实施到具体的环

13、境中,逻辑数据模型要选取一个具体的工作环境,这个工作环境提供了数据存储结构与存取方法。首先,确定数据库的存储结构,因为人事管理的关系相对比较简单,而且不变,综合考虑了存取时间,存储空间利用率和维护代价,所以,我选择了HASH存取方法。其次,确定数据的存取路径是双向的,是指请求和数据存储系统中传递的通道,存取路径就是从数据到物理存储设备之间的交互通道,在人事管理中数据库就担任这个交互的通道。再次,确定数据的存放位置,我将表存放在磁盘上,以加快数据的存取速度,将日志文件和数据库对象,包括表等,存放在磁盘上。最后,确定系统配置,DBMS产品一般都提供了一些系统配置变量,存储分配参数。初始化情况下,系

14、统都为这些变量赋予了合理的默认值,在这里我也采用系统赋予了默认值。票据管理系统是采用SQL Server2008进行实施的,数据库创建语句如下:CREATE DATABASE Home ON PRIMARY ( NAME = NHome, FILENAME = ND:sqlMSSQL10.MSSQLSERVERMSSQLDATAHome.mdf , SIZE = 3072KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB ) LOG ON ( NAME = NHome_log, FILENAME = ND:sqlMSSQL10.MSSQLSERVERMS

15、SQLDATAHome_log.ldf , SIZE = 1024KB , MAXSIZE = 2048GB , FILEGROWTH = 10%)其次是对表的创建,票据管理系统共需创建7个表,分别是:用户表、权限表、司机表、货物表、收货地表、取货地表、票据表。权限表的创建语句如下:CREATE TABLE dbo.T_Authority(authorityId char(10) NOT NULL,authorityName char(10) NOT NULL,CONSTRAINT PK_T_Authority PRIMARY KEY CLUSTERED )authorityId ASC用户表

16、的创建语句如下:CREATE TABLE dbo.T_User(userId char(30) NOT NULL,userName char(10) NOT NULL,userPassword char(30) NOT NULL,authorityId char(10) NOT NULL,CONSTRAINT PK_T_User PRIMARY KEY CLUSTERED (userId ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALL

17、OW_PAGE_LOCKS = ON) ON PRIMARY) ON PRIMARY司机表的创建语句如下:CREATE TABLE dbo.T_Driver(driverId char(10) NOT NULL,driverName char(10) NOT NULL,carId char(20) NOT NULL,address char(30) NOT NULL,Tel char(15) NOT NULL,CONSTRAINT PK_T_Driver PRIMARY KEY CLUSTERED (driverId ASC)WITH (PAD_INDEX = OFF, STATISTICS_

18、NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON PRIMARY) ON PRIMARY货物表的创建语句如下:CREATE TABLE dbo.T_Cargo(cargoId char(10) NOT NULL,cargoName char(10) NOT NULL,price decimal(18, 2) NOT NULL,addressId char(10) NOT NULL,CONSTRAINT PK_T_Cargo PRIMARY KEY CLUSTERED

19、(cargoId ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON PRIMARY) ON PRIMARY收货地表的创建语句如下:CREATE TABLE dbo.T_startAddress(startAddressId char(10) NOT NULL,startAddressName char(10) NOT NULL,address char(30) NOT NULL,Tel cha

20、r(15) NOT NULL,CONSTRAINT PK_T_startAddress PRIMARY KEY CLUSTERED (startAddressId ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON PRIMARY) ON PRIMARY取货地表的创建语句如下:CREATE TABLE dbo.T_endAddress(endAddressId char(10) NOT NULL

21、,endAddressName char(10) NOT NULL,address char(20) NOT NULL,Tel char(15) NOT NULL,CONSTRAINT PK_T_endAddress PRIMARY KEY CLUSTERED (endAddressId ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON PRIMARY) ON PRIMARY票据表的创建语句如

22、下:CREATE TABLE dbo.T_Bill(billId uniqueidentifier NOT NULL,driverId char(10) NOT NULL,cargoId char(10) NOT NULL,loadWeight decimal(18, 2) NOT NULL,unloadWeight decimal(18, 2) NOT NULL,startAddressId char(10) NOT NULL,endAddressId char(10) NOT NULL,beginTime datetime NOT NULL,backTime datetime NOT NU

23、LL,registerTime datetime NOT NULL,isdelete char(2) NOT NULL,CONSTRAINT PK_T_Bill PRIMARY KEY CLUSTERED (billId ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON PRIMARY) ON PRIMARY5 数据库的实施用数据库语句对数据库进行测试用户表数据录入如下:insert into

24、 T_User values(111,韩子飞,123,2)insert into T_User values(666,韩增利,123,1)成功插入数据后,可看到用户表中的数据,如图5-1所示。图5-1 用户表成功录入数据2权限表数据录入如下:insert into T_Authority values(1,管理员)insert into T_Authority values(2,用户)成功插入数据后,可看到用户表中的数据,如图5-2所示。图5-2 权限表成功录入数据3 货物表数据录入如下:insert into T_Cargo values(200101 , 粉煤灰 , 25.60,3001)

25、 insert into T_Cargo values(200102 , 水泥 , 25.60,3002) 成功插入数据后,可看到货物表中的数据,如图5-3所示。图5-3 货物表成功录入数据4 取货地表数据录入如下:insert into T_startAddress values(3002, 鼎鑫,鹿泉市鼎鑫水泥厂insert into T_startAddress values(3001,徐水,保定市徐水市成功插入数据后,可看到取货地表中的数据,如图5-4所示。图5-4 取货地表成功录入数据5 收货地表数据录入如下:成功插入数据后,可看到收货地表中的数据,如图5-5所示。图5-5 收货地表

26、成功录入数据6司机表数据录入如下:成功插入数据后,可看到司机表中的数据,如图5-6所示。图5-6 司机表成功录入数据6 系统运行结果票据管理系统运行过程及截图如下:1程序开始,先进入用户登录界面,输入正确的用户名和密码,才能进入系统。否则会弹出输入错误的提示框。登录界面如图6-1(a)所示。图6-1 (a)用户登录界面如果输入了错误的用户名,会弹出提示框,如图6-1 (b)所示,只有用户名正确,密码正确才能成功登录票据管理系统。图6-1 (b) 用户名输入错误2若管理员成功登录后,即可进入窗体主界面,且可以使用该系统所有功能,管理员主界面窗体如图6-2(a)所示。若用户成功登陆后,只能使用该系

27、统的部分功能,用户主界面窗体如图6-2(b)所示。图6-2(a) 管理员主窗体界面图6-2(b) 用户主窗体界面3进入主窗体界面可以其进行操作,通过主窗体的功能按钮可以打开对应的子窗体,如用户管理窗体、司机管理窗体、货物管理窗体、收货地管理窗体、取货地管理窗体。分别如图6-3(a)所示,如图6-3(b)所示,如图6-3(c)所示,如图6-3(d)所示,如图6-3(e)所示。图6-3(a) 用户管理子窗体图6-3(b)司机管理子窗体图6-3(c)货物管理子窗体图6-3(d)收货地管理子窗体图6-3(e)取货地管理子窗体4. 在每一个子窗体中都可以对其中的数据进行增、删、改的数据操作,因本系统需求

28、问题,除了票据管理系统外,其他数据都不会太多,所以不设置查询功能,可直接在子窗体的表格中看到。对数据进行增加的数据操作是,需要进行查重处理,因为各个子窗体表现特征一致,故选择货物管理子窗体进行添加功能演示,查重表现如图6-4(a)所示。图6-4(a) 查重表现对于添加的功能的演示,因为涉及级联删除的功能显示,故我们通过取货地子窗体新增一条数据、对于货物子窗体也新增一条相应的数据,取货地子窗体如图6-4(b)所示,货物子窗体添加数据如图6-4(c)所示。图6-4(b) 取货地子窗体添加图6-4(c) 货物子窗体添加通过刚才添加的级联关系验证数据的级联删除,删除取货地中关于“望都”的数据,则刚添加

29、的货物会级联删除。取货地管理中删除功能如图6-4(d)所示。查看货物管理中的数据会发现已经级联删除,如图6-5(e)所示。图6-4(d) 取货地删除功能演示此时货物管理中的级联数据已经不存在。图6-4(e)级联数据删除如果录入数据之后需要修改数据,则可双击表格里需要修改的数据,该数据会相应的显示在窗体之中,如图6-4(f)所示。修改完成,点击修改按钮即可。图6-4(f) 修改功能演示5. 因为该系统中票据数据会是一个较为大量的数据,故不设置全部显示的表格,而是通过票据搜索来显示,在主窗体中单击票据查询按钮会在主窗体中显示出相应的搜索条件,如图6-5(a)所示。图6-5(a) 票据搜索通过勾选搜

30、索条件里边的选项,可以选定要查询的条件,如没有任何勾选则显示全部票据(不建议使用),此处展示勾选司机条件的查询结果界面,如图6-5(b)所示。图6-5(b)搜索结果如果要增加新的票据信息则可在主界面选择票据新增按钮,对要添加的票据信息进行录入。如图6-6(c)所示。图6-6(c) 票据添加子窗体关于票据修改则需要选定查询结果,然后单击票据修改按钮,会弹出相应的票据修改界面,修改完成后点击更新即可。如图6-6(d)所示。图6-6(d) 票据修改界面对于票据统计可单击主窗体的票据统计按钮打开,分为总车数、货物种类统计,通过勾选可以分布统计,如总车数统计结果如图6-6(e)所示。而货物种类统计结果则

31、如图6-6(f)所示。图6-6(e) 总车数统计图6-6(f) 货物种类统计至此,单击主窗体用户退出或关闭按钮即可退出系统。功能演示到此结束。7 实习总结1票据管理系统实现的功能票据管理系统完成了对司机信息的管理,对货物信息的管理,对取货地信息的管理,对收货地信息的管理,对票据信息的管理,且实现了相应的添加、修改、删除功能,票据信息则实现了符合搜索,以及票据统计等功能。2票据管理系统的不足之处功能上总的只是实现了一些对于数据的基本操作,其本质的核心功能还需要在后期的版本中不断更新,不断增强功能,如后续版本要涉及报表打印,复杂数据统计等核心功能。3总结学习通过本次课程设计,使自己对于WPF的数据绑定模式更加的熟练,通过手写XAML对于控件的布局,构造等各个方面有了更加深层的学习,同时应用了很多WPF的特性,比如动画、窗体背景颜色的重构,这些封装好的类,或者较为底层的东西,在界面的构造上对自己的能力有了一次长足的进步。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!