汽车销售管理系统.docx
- 文档编号:29074624
- 上传时间:2023-07-20
- 格式:DOCX
- 页数:17
- 大小:359.28KB
汽车销售管理系统.docx
《汽车销售管理系统.docx》由会员分享,可在线阅读,更多相关《汽车销售管理系统.docx(17页珍藏版)》请在冰豆网上搜索。
汽车销售管理系统
目 录
一、绪论……………………………………2
二、需求分析…………………………………3
三、概要设计…………………………………3
四、逻辑结构设计……………………………4
五、系统结构设计………………………5
六、详细设计………………………6
七、系统测试与使用……………………10
八、参考文献…………………………………13
一、绪论
摘要:
本系统是为解决汽车销售公司的管理问题而设计。
随着经济的发展和国内汽车市场的不断扩大,某汽车销售公司定单成倍增加,各项业务更加细化,各部门分工更加明确。
而目前的人工管理方式显然已是不符合现代企业的管理要求。
基于整体考虑,本次课程设计任务就是设计一个管理系统,利用计算机来代替人工操作。
减轻了员工的劳动强度,提高了劳动质量和效率,减少了错误的发生。
本次设计,从需求分析,概念设计,逻辑设计,物理设计,到数据库的建立、运行,再到数据库的安全维护等各个方面进行了详细的分析设计。
并且值得一提的是,我认真分析了企业的业务需求,公司的主要职责和主要结构等信息,从而保证了设计出比较符合公司需要的管理系统。
关键字:
数据库;课程设计;轿车销售管理
二、需求分析
需求分析简单地说就是分析用户的要求。
需求分析是设计该轿车销售系统数据库的起点,即该阶段的任务是通过详细调查该销售公司,充分了解原系统工作概况,明确用户的各种需求,然后在此基础上确定新系统的功能。
调查的重点是数据和处理,通过调查、收集与分析,获得用户对数据库的如下要求:
信息要求(厂商、客户、用户、员工、出库、入库等信息),
处理要求(对上述信息的查询、修改、添加和删除),
安全性和完整性要求(需要用户名和密码才能进入系统,并且对于不同的用户有不同的操作权限)
需求分析结果如下:
汽车销售管理系统
系统管理
销售管理
采购管理
财务管理
库存管理
员工管理
员工信息更新
员工信息查询
库存量管理
库存查询管理
会计账目管理
会计报表管理
采购管理
厂商管理
订货管理
客户管理
退出系统
用户管理
三、概念结构设计
本阶段的主要任务是将需求分析得到的用户需求抽象为信息结构结构(即概念模型)
设计概念结构通常有四类方法:
自顶向下、自底向上、逐步扩张和混合策略。
我在这里采用自底向上方法。
概念设计结果如下:
(某公司轿车销售管理系统的基本E-R图)
四、逻辑结构设计
逻辑结构设计的任务就是把概念结构设计阶段设计好的基本E-R图转换为与sql所支持的数据模型相符合的逻辑结构。
1.E-R图向关系模型转换
由概念设计的E-R图可得一般关系模型如下
厂商(厂商号,厂商名,地址,电话,信用度)
客户(客户号,客户名,地址,电话,信用度)
发货单(货单号,细节号,产品号,客户号,数量,日期,金额,折扣)
收款单(客户号,定单号,收据号,收款金额,收款日期)
定单(定单号,细节号,产品号,厂商号,数量,日期,金额)
付款(厂商号,定单号,发票号,支付金额,支付日期)
用户(用户ID,用户名,密码,用户类型,权限)
员工(员工号,姓名,性别,部门,职务,电话)
产品(产品号,产品名,厂商号,单价,库存量)
2.数据模型的优化
数据库逻辑设计的结果不是唯一的.为进一步提高数据库应用系统的性能,我们还应该根据应用需要适当的修改,调整数据模型的结构,这就是数据模型的优化。
(1)数据依赖举例
R厂商={厂商号->厂商名,厂商号->地址,厂商号->电话}
R用户={用户ID->用户名,用户ID->密码,用户ID->用户类型,用户ID->权限,用户类型->权限}
(2)对数据依赖进行极小化处理,消除冗余联系举例
上述关系中,发货单中存在冗余联系(具体是细节号、折扣等),因此我们可以增加一个发货细节单和折扣规则单。
(3)按照数据依赖的理论对关系模式逐一进行分析,考察是否存在部分函数依赖,传递函数依赖,多值依赖等,确定各关系分别属于第几范式举例
上述关系中,用户表存在非主属性传递依赖,因此用户表属于2NF。
我们可以增加一个用户权限表来消除该表中非主属性传递依赖。
3.逻辑设计最终结果如下:
(UserType表)
(Users表)
(Staff表)
(共13个表,其他截图略)
五、系统结构设计
1.在关系模式存取方法选择之前,我们首先要对要运行的事务进行详细分析,获得选择物理数据库设计所需要的参数。
同时,还要知道每个事务在各关系上运行的频率和性能要求。
(1)对于数据库查询事务,我们需要得到如下信息:
查询的关系、查询条件/连接条件涉及的属性、查询的投影属性
A、查询发货厂商名、产品、发货数量(>100)和日期事务
Ⅰ、查询的关系:
厂商表、发货单表、产品表
Ⅱ、查询条件所涉及的属性:
厂商号、发货数量、产品号
、连接条件所涉及的属性:
厂商号、产品号
、查询的投影属性:
厂商名、产品名、发货数量、发货日期
(2)对于数据更新事务,我们需要得到如下信息:
被更新的关系、每个关系上的更新操作条件涉及的属性、修改操作要改变的属性值
B、对发货事务
Ⅰ、被更新的关系:
发货表
Ⅱ、每个关系上的更新操作条件所涉及的属性:
无
、需要改的属性值:
货单号、产品号、发货数量、发货日期
2.关系模式存取方法选择(即建立哪些存储路径)
C、对carsale建立索引
对厂商表上的厂商号、发货表的产品号、产品表的产品号等建立索引,因为他们经常在查询条件和连接条件中出现
根据事务查询中的厂商表建立索引如下:
CREATEUNIQUEINDEXFaPa_noONFactory(Fa_no);
D、对carsale建立聚簇索引
对产品表的厂商号、付款表的厂商号、收款表的客户号等建立聚簇索引,因为他们在其关系表中的值重复率很高
对产品表的产品号、发货表的产品号、订单表的产品号等建立聚簇索引,因为他们经常出现在相等比较条件中
根据事务查询中产品表建立聚簇索引如下
CREATECLUSTERINDEXProFa_noONProduct(Fa_no);
E、对carsale确定数据的存放位置
为提高系统性能,我们根据应用情况将数据的易变部分和稳定部分、经常存取部分和存取频率较低部分分开存放。
即我们把表和索引放在不同的磁盘上。
F、对carsale确定系统配置
使用数据库的用户数(我们只要设置比较少的用户数);
同时打开的数据库对象数(用户同时操作对象不超过3个);
内存分配参数(运行exe文件需要5M内存);
缓冲区分配参数(略);
数据库的大小(预留500M数据存储空间)等。
G、对carsale物理结构的评价
数据库物理设计过程中需要对时间效率、空间效率、维护代价和各种用户要求进行权衡,其结果产生多种方案。
经过我们的细致评价,得出上述系统配置作为carsale的数据库物理结构。
六、详细设计
数据的载入和应用程序的调试
(1)由于该系统尚未投入使用,我们仅象征性地载入少量数据
(轿车信息表导入实验数据)
(客户信息表导入实验数据)
(订单表导入实验数据)
(生产商表导入实验数据)
【应用程序的调试】
数据库应用程序的设计应该与数据库设计同时进行,鉴于VB简单易用,我们选择VB作为应用程序的设计语言。
因此在组织数据入库的同时还要调试应用程序。
(VB下的欢迎界面)(VB下的登陆界面)
该系统用户分为管理员和普通用户,其中管理员可以进行一切操作,而普通管理员只能进行受限操作:
登录成功,设置权限//1表示普通用户、0表示管理员
IfAdodc1.Recordset.Fields
(2)=1Then
FormMain.Menu_addCar.Enabled=False
FormMain.Menu_addCus.Enabled=False
FormMain.Menu_addEmp.Enabled=False
……//具体包括除查询之外的一切操作
(VB下的系统主界面)
(有关系统用户的设置和权限问题界面)
(注)其他诸如客户信息查询、
添加、修改,员工信息查询、添
加、修改等功能,与上面类同,
这里不一一列举。
【数据库的试运行】
在原有系统的数据有一小部分
已输入数据库后,我们就可以开始对数据库系统进行联合调试,即数据库的试运行。
这一阶段要实际运行数据库应用程序,执行对数据库的各种操作,测试应用程序的功能是否满足设计要求。
系统用户管理:
添加用户和查看修改密码
这里列举添加用户图示:
用户名:
yinwei
密码:
yinwei
用户类型:
管理员
测试结果:
用户添加完成
经测试,查看修改密码也正确运行
(添加用户)
轿车信息管理:
查看轿车信息、轿车入库、轿车出库
这里列举轿车入库图示:
型号:
桑塔纳2000品牌:
桑塔纳
价格:
200000保修期:
2年
数量:
1000
测试结果:
汽车信息添加完成
经测试,查看轿车信息、轿车出库正确运行
客户信息管理:
查看客户信息、修改删除客户信息、增加客户信息
这里列举修改删除客户信息图示:
客户姓名:
于东洋购车型号:
宝马
客户性别:
男购车价格:
200000
客户年龄:
26客户电话:
7146739
客户职业:
教授身份证号:
1000
客户住址:
南昌大学备注:
现在该客户已搬迁至华东交通大学,电话改为7146234
测试结果:
汽车信息添加完成
经测试,查看客户信息、增加客户信息正确运行
(轿车入库)
(修改客户信息)
【注】其他功能在数据库试运行阶段均运行正确
七系统测试与使用
经数据库的试运行结束后,该汽车销售系统数据库开发工作就基本完成,即可投入正式运行。
但是由于应用环境在不断变化,数据库运行过程中物理存储也会不断变化,对数据库设计进行评价、调整、修改等维护工作是一个长期的任务,也是设计工作的继续和提高。
(1)数据库的转储和恢复:
SQLServer数据库备份有两种方式,一种是使用BACKUPDATABASE将数据库文件备份出去,另外一种就是直接拷贝数据库文件mdf和日志文件ldf的方式。
我们用后者方法,首先要先将该数据库从运行的数据服务器中断开,然后复制文件至其他磁盘保存。
数据库恢复时,除了要重载数据库外,还要重新运行日志文件。
建立日志文件有两种基本方法,即用第几次备份来标识和完全用时间来标识。
我们这里用第二种方法。
我们把日志文件保存在D盘。
declare@tempvarchar(200)
select@temp=left(replace(replace(convert(varchar(50),getdate(),108),’
',''),':
',''),4)
select @temp=replace(replace(replace(convert(varchar(50),getdate(),102),'',''),':
',''),'.','')+@temp+'car'
select@temp='D:
\2006年6月23日之后的数据库备份文件\car\'+@temp
BACKUPDATABASE[car]TO DISK=@tempWITH NOINIT, NOUNLOAD, NAME=N'car备份', NOSKIP, STATS=10, NOFORMAT //把备份文件存在D:
\2006年6月23日之后的数据库备份文件\car\目录下.文件名为@temp.
(2)数据库的安全性、完整性控制:
该轿车销售管理系统,用户必须使用一个登录账号,才能连接到sqlserver中,并且用户也分两类:
管理员和普通用户,并且这两类登陆用户的权限也有不同。
如果登录者不属于这两类中的一类,则进不了数据库。
这一措施将有利于保护数据库以防止不合法的使用所造成的数据泄漏、更改或破坏。
这里我们建立用户试图,使得某些用户只能访问部分数据。
举例:
查看用户名和用户类型,但无密码显示
(建立用户表和权限表的视图)
数据库完整性是指数据的正确性、有效性和相容性。
主要是完整性约束条件:
实体完整性、参照完整性和用户自定义完整性。
本轿车销售管理系统就这三类完整性保证了数据库的完整性。
诸如该系统有:
实体完整性:
每个关系的主码都不允许空
参照完整性:
(产品-订单细则-发货单细则-折扣)
(定单-定单细则-付款)
(厂商-订单-付款-产品)
(发货-发货细则-收款)
(用户—权限)
(客户-发货-收款)
用户自定义完整性举例:
员工表性别约束:
([Staff_sex]='男'or[Staff_sex]='女')
折扣表折扣约束:
([counter_counter]<1)
(3)并发控制
如果没有锁定且多个用户同时访问一个数据库,则当他们的事务同时使用相同的数据时可能会发生问题。
并发问题包括:
丢失修改、读脏数据、不可重复读。
默认解决方案:
SETTRANSACTIONISOLATIONLEVEL
[语法]:
SETTRANSACTIONISOLATIONLEVEL
{READCOMMITTED//指定在读取数据时控制共享锁以避免脏读
|READUNCOMMITTED//执行脏读或0级隔离锁定|REPEATABLEREAD//锁定查询中使用的所有数据以防止其他用户更新数据
|SERIALIZABLE//在数据集上放置一个范围锁,以防止其他用户在事务完成之前更新数据集 }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汽车 销售 管理 系统
![提示](https://static.bdocx.com/images/bang_tan.gif)