邢彬 /* XingBin.net */
XING Bin, a Coder, Geek, Railfan, and Outdoors Fan
face

图书销售系统 数据库课程设计

发布 / 2006-12-30 18:38   于 / 邢彬作品   文 / 邢彬   浏览 / 13370  

一、设计简介
    这次的《数据库系统原理课程设计》中我选择的题目是《XingBin.net图书销售系统》。选择这个题目的原因有:这个系统在现实生活中很常用,且容易得到其设计需求;同时又不在老师给提供的参考题目里面,可以体现出创新性,同时避免和其他同学的设计雷同。
    图书销售系统可以提供给书店包括图书编目、进退货、销售、财务报表等方面的一体化解决方案。同时还提供会员折扣功能,BS模式下的网上会员系统等等。

二、业务需求
    图书零售购买:顾客购书后收银台进行结账。对于书店的会员可以提供相应的折扣。输入需要购买的图书和数量,计算出总金额,由用户选择使用现金或会员卡进行结账。并提供销售小票流水号作为销售的单据。对于会员,还要计算相应的积分。
    图书零售退货:顾客对已购买的图书进行退货。需要提供图书和销售的小票以作为购买凭证。系统查询数据库进行数据验证,对符合要求的图书进行退货。
新书编目:书店从出版社购买新的图书后在这里进行编目。只有编目后的图书才可以进行销售。
    图书查找:可以使用ISBN、书名、出版社三种方式进行查找已编目的图书。
    图书资料修改:对已编目的图书修改图书的基本信息、零售价和最低折扣价。
    图书进货:对已编目的图书再进货,同时处理其金额差异。
    图书退货:对已编目的图书退货,同时处理其金额差异。
    出版社管理:添加、删除、修改出版社。同时查询出版社的资料。
    会员添加:添加新的会员,同时登记会员的基本信息、有效期、指定会员组等等。
    会员查找:提供会员编号、身份证号、会员姓名等方式复合查询。
    会员删除:删除已存在的会员。
    会员信息修改:对会员的基本资料进行修改。
    会员充值:向会员的虚拟账户充值。
    挂失与特别处理:将会员的状态在正常、挂失、特别处理之间调整。也可以找回会员的密码。
    会员组管理:添加、删除和列出会员组。可以对会员组的名称、折扣、积分换算等方面进行设置。
    系统设置:添加、删除、修改系统操作员,同时为相应的操作员设置其控制权限。
    密码修改:对当前的系统操作员的密码进行修改。
    数据管理:提供系统数据库的备份与恢复。
    报表处理:提供图书销售单、图书进货单、会员列表、出版社列表、销售单等等报表。[next]

三、设计目标
    软件的用户特点是具有基本的Windows操作水平的用户,设计时要考虑到用户的操作习惯,因此要定义多个快捷键,界面尽量友好。
    对于Web界面,则应尽量简洁,便于用户登录与查询。

四、运行环境
    服务器配置
    操作系统:推荐Microsoft Windows Server 2003或其他服务器版本
    数据库服务器:Microsoft SQL Server 2000 Enterprise Edition
    Web服务器:IIS 6或更高
    .Net平台:.Net Framework 2.0版本
    客户机配置
    操作系统:推荐Microsoft Windows 2000或更高版本
    数据库客户端:Microsoft SQL Server 2000 Client
    .Net平台:.Net Framework 2.0版本
    输入设备:键盘、鼠标、条形码扫描器[next]

五、演示实例

总体功能框图[next]


图书销售[next]


图书与出版社管理[next]


会员管理[next]


报表管理[next]


浏览器模式下的网上书店[next]


用户管理[next]


图书销售系统[next]

六、结束语

这次的数据库课程设计完成得比较顺利。因为在暑假已经先期查询了一些书籍,同时在以前也曾经做过类似的设计,因此没有遇到很大的困难。

以前在C语言课程设计中我完成了《教务信息管理系统》的程序,从中了解了数据存储的底层结构。但是这种数据是有局限性的。在信息化的今天,我们必须使用数据库服务器来专门解决数据的存放问题。而程序怎样和数据库服务器结合,就是我这次的设计的重点。

由于以前曾经使用过C++做过一些开发,为了能够在学习数据库的同时也学习更多的编程语言,因此这次大胆的使用了.Net作为开发工具,C#作为编程语言来进行编程。一开始以为和C++区别不大,但是后来发现还是由一定区别的。不果因为有C语言的良好基础,所以很容易进行之间的转换。

但是连接数据库的时候还是查阅了一些资料。数据库的连接没有使用传统的ADO,也没有使用DataGrid自动生成的SqlCommand,而是完全使用SqlConnection完成。所有的SQL命令都使用SqlCommand手动拼成,因此程序的设计更加灵活。

为了能够了解数据库的工作,我大胆的使用了多个存储过程和触发器。通过它们可以简化程序的开发部分,同时在数据库端组成一个完整的事务,从而达到事务的ACDI特性。从而可以实现多客户机的并发操作。

通过这次的课程设计,让我更加了解了数据库的工作原理,以及程序和数据库的连接方法。也熟悉了软件工程的设计流程,学习使用软件工程的规范来要求自己。同时还学习了C#语言,全面锻炼了自己的能力。

在此,也感谢我的数据库教师――杨茂林老师。同时感谢关心我的程序,给我提出帮助和建议的朋友们。谢谢!

LOGIN
FOLLOW ME
COPYRIGHT
Creative Commons License
除特殊声明的页面外,本站作品采用 知识共享署名-非商业性使用-相同方式共享 2.5 中国大陆许可协议 进行许可。