毕业设计(论文)
基于C#的书店管理系统
系 别 :
专业(班级):
作者(学号):
指导教师:
完成日期:
计算机科学与技术系 2016届网络工程2班 王建(51202032030) 徐善健(讲师) 2016年4月15日
蚌埠学院教务处制
目 录
摘 要 ............................................................... - 2 - Abstract ............................................................. - 2 - 1 引 言 .......................................................... - 3 -
1.1 课题背景 ......................................................... - 3 -
1.2 开发目的及意义 ................................................... - 3 -
1.3 系统实现的相关技术及开发工具 ..................................... - 4 -
1.3.1 C#语言 ......................................................... - 4 -
1.3.2 SQL Server ..................................................... - 4 -
1.3.3 Virtual Studio ................................................. - 5 - 2 系统分析 .......................................................... - 6 -
2.1 需求分析 ......................................................... - 6 -
2.1.1 系统需求 ....................................................... - 6 -
2.1.2 功能需求 ....................................................... - 6 -
2.1.3 安全性 ......................................................... - 7 -
2.1.4 性能需求 ....................................................... - 7 -
2.2 可行性分析 ....................................................... - 7 -
2.3.1 技术可行性 ..................................................... - 7 -
2.2.2 经济可行性 ..................................................... - 7 -
2.2.3 操作可行性 ..................................................... - 8 -
2.3 系统运行环境 ..................................................... - 8 - 3 总体设计 .......................................................... - 9 -
3.1 数据库设计 ....................................................... - 9 -
3.1.1 数据库分析 ..................................................... - 9 -
3.1.2 数据库概念结构设计 ............................................. - 9 -
3.1.3 数据库逻辑设计 ................................................ - 10 -
3.2 系统总体结构设计 ................................................ - 12 -
3.2.1 书店管理系统总体结构图 ........................................ - 12 -
3.2.2 日常工作模块功能 .............................................. - 13 -
3.2.3 数据管理模块功能 .............................................. - 14 -
3.2.4 销售统计模块功能 .............................................. - 14 - 4 系统设计与功能实现 ............................................... - 16 -
4.1 项目开发框架 .................................................... - 16 -
4.2 数据库DbOpetate类的构建 ........................................ - 17 -
4.3 模块设计 ........................................................ - 18 -
4.3.1 登陆界面设计 .................................................. - 18 -
4.2.2 主界面设计 .................................................... - 19 -
4.2.3 功能模块设计 .................................................. - 20 - 5 系统测试与调试 ................................................... - 29 -
5.1 系统测试的目的与方法 ............................................ - 29 -
5.2 模块测试 ........................................................ - 30 -
5.3 集成测试 ........................................................ - 31 -
5.4 验收测试 ........................................................ - 32 - 6 总结 ............................................................. - 34 - 致 谢 .............................................................. - 35 - 参 考 文 献 ......................................................... - 36 -
蚌埠学院本科毕业设计(论文)
基于C#的书店管理系统
摘 要:随着科学技术的发展,计算机技术在人类生产和生活中的使用越来越广泛。
加强企业信息化的发展,已经成为了当今各个行业的发展趋势。电子商务的发展使得网上书店越来越多,它们利用网络的便利吸引了大批顾客,这对现在的实体书店是一个不小的冲击。越来越多的中小型书店为了谋求新的发展,开始走向连锁经营的道路,为了提高竞争力,加强企业的信息管理变得格外重要。本系统是面向中小型书店企业设计的管理软件,目的为了方便书店处理日常工作和更好地管理书店。通过本系统不仅可以使书店提高工作效率,还能为书店节省大量的人力与物力。本系统的主要功能包括:用户登陆切换功能、图书销售功能、图书入库功能、图书管理功能、会员等级功能、员工管理功能、密码修改功能、销售统计功能、发展策划功能。本系统的设计使用的是C/S模式,因为.NET技术的成熟,所以采用C#作为系统开发的设计语言。C#是一种面向对象的高级程序设计语言,通过它我们可以设计出美观而友好的图形用户界面。本系统使用SQL Server 2005作为服务器端,SQL Server是一款优秀的数据库系统,他能够安全的存储数据,并拥有高效的处理能力。
关键词:管理系统;C#;C/S;SQL Server;.NET;
- 1 -
王建:基于C#的书店管理系统
Bookstore Management System Based on C# Abstract:With the development of science and technology, computer technology in the
human production and life is used more and more widely.To strengthen the development of enterprise information, has become the development trend of today's various industries.The development of e-commerce, the online bookstore is more and more, they take advantage of the convenience of the network to attract a large number of customers, which the current entity bookstore is a not a small impact. More and more small and medium-sized bookstores in order to seek new development, began to road to chain operation, to enhance competitiveness, strengthen enterprise information management has become particularly important. This system is oriented bookstore and design of small and medium enterprises management software, the purpose for the convenience of the bookstore processing daily work and better manage the bookstore. Through this system can not only improve the working efficiency of the bookstore, but also for the bookstore save a lot of manpower and resources. The main functions of the system include: user Landing switching function, function of book sales, book storage function, library management functions, membership grade function, function of staff management, modify the password function, sales statistics, development planning function. For use in the design of the system is C / S mode, because the. Net technology is mature, so the C# is an object-oriented high-level programming language as a system development design language.C#, through which we can design a beautiful and friendly graphical user interface. The system use SQL Server 2005 as the server and SQL server is a good data base system. He can safely store data, and has an efficient processing capacity.
Key words:Management System;C#;C/S;SQL Server;.NET;
- 2 -
蚌埠学院本科毕业设计(论文)
基于C#的书店管理系统
1 引 言
1.1 课题背景
如今计算机已经普及到了千家万户,在人们的日常生活和社会生产中扮演着越来越重要的角色。随着计算机的速度越来越快、容量越来越大、价格越来越便宜,计算机的应用范围变得越来越广,从而加剧了软件开发的增长。如今各个行业都在大力推进企业信息化的发展,希望通过管理系统来提高企业的管理水平和办公效率,使企业能够具有更强的竞争优势。受经济全球化的影响,企业在经营规模上不断扩大,越来越多的企业创建了分公司,而地域的不同更是加剧了企业的管理难度,所以在企业管理上计算机技术的使用就显得更重要了。在城市,很多超市都开始走向了连锁经营的道路,管理上实现了电子化,而书店行业在这方面却发展缓慢。
目前对于使用Microsoft的.NET技术开发的网络应用程序有两种模式,C/S模式和B/S模式。C/S模式即客户端/服务器结构,这种结构中客户端需要安装专用的软件,而服务器通常是某种数据库,因为绝大多页面展示和业务逻辑处理都需要在客户端中进行,所以客户端的负荷比较大[1]。B/S模式即浏览器/服务器结构,这种结构不需要开发专门的客户端应用软件,事务逻辑在服务器端实现后通过浏览器将结果展示给用户。这种结构交互性强、维护起来比较简单,随着web技术的不断成熟,B/S结构的使用越来越多。电子商务的出现使得很多网上书店如雨后春笋般涌出,他们多是采用了B/S模式,既方便了客户的购买又有效的对书店进行了管理。对于中小型书店等实体企业,他们的主要业务还是在线下,而且连锁式的经营使得总公司很需要准确的掌握旗下的各个分公司的信息,并加以管理。B/S结构因为采用的是web而不是专门的应用软件,在安全上存在很大的隐患,而C/S结构不仅安全可靠而且响应速度很快,所以C/S模式更适合中小型书店实体企业的使用,如银行和很多超市都才采用的是这种结构。
1.2 开发目的及意义
书店在日常工作中要进行图书采购,采购来的图书需要放在在仓库中进行存储,平时还得进行图书销售工作,所以书店存在着大量的信息需要记录和管理。如果使用人力去管理这些信息,不仅效率低而且很容易出现错误,使得书店不能正常运作。书店要想 - 3 -
王建:基于C#的书店管理系统
扩大规模经营,就必须处理好书店的管理问题,而解决了这个问题的最好方法就是采用先进的计算机技术对书店进行管理。书店管理系统是专门针对中小型书店企业进行开发的,他可以帮助书店安全、高效的存储信息、处理信息以及传达信息。书店的员工可以通过系统进行图书销售、会员登记、采购图书、管理仓库,书店的管理员可以通过系统对员工和会员进行管理、以及对公司未来的发展进行策划。使用书店管理系统不仅可以节省大量的人力、物力,而且可以提高管理效率,使得书店在市场竞争中更加有优势。
随着经济的发展和科技的进步,企业信息化是企业未来发展的必经之路。书店管理系统的开发很有必要,他不仅有利于书店企业的经营,而且有利于书店行业领域的变革,使得书店能够更好的为社会服务。同时本软件的开发是将计算机技术用到实际的生产中,创造了社会价值,体现出科学技术发展的意义和重要性。
1.3 系统实现的相关技术及开发工具
1.3.1 C#语言
C#是由Microsoft公司开发的一种用于.NET框架上的高级程序设计语言,它是面向对象的。C#是从C语言和C++中衍生出来的,它在保留他们强大的功能的同时去除了他们当中的一些复杂的特性,如指针[2]。C#具有垃圾回收机制,使程序员更容易管理内存,同时程序员使用C#编写很少的代码就能够实现强大的功能,提高系统的开发效率。C#语言具有可移植性,开发出来的软件能够很好的跨平台运行。C#语言是专门为.NET框架而生的,所以他很好的支持了.NET的网络特性,它拥有着强大的web服务端组件并且融合了XML技术。在进行图形界面设计时,C#语言中有许多功能强大的控件,而且它允许设计人员重新定义自己的新控件,通过控件的使用可以开发出美观、友好型的类似于windows窗体的界面。C#是一种完全面向对象的编程语言,具有很强的语言规范性,它不允许在类外定义常量、变量和函数,为了防止产生命名冲突,C#语言不能够进行多重继承。
1.3.2 SQL Server
SQL Server是微软针对大中型企业设计的一种数据库管理系统,属于关系型数据库。与同样是Microsoft旗下的access数据库相比,SQL Server具有更强的数据存储能力和数据处理能力。SQL Server支持标准化查询语言(SQL),使得它的扩充性很强。在今天纷纭复杂的商业环境中,SQL Server提供的许多种数据库解决方案以应对不同的市场的需求,为了提高它的易用性Microsoft设计了简洁友好的用户界面,用户可以更 - 4 -
蚌埠学院本科毕业设计(论文)
方便的在图形界面中管理数据库而不需要编写大量的SQL语句,简化了管理工作,因此很受用户的喜爱。SQL Server拥有着Web技术和XML(可扩展标记语言)核心技术的支持,可以通过Internet进行数据查询和数据库管理[3]。因为SQL Server只能够运行在windows操作系统上,所以它开放性不足,是它的一个劣势。
1.3.3 Virtual Studio
Virtual Studio是微软开发的一款优秀的软件开发工具,它整合了软件开发生命周期中所需要用到的大部分工具,如UML、IDE(集成开发环境)等。通过使用Virtual Studio开发人员可以更好地管理代码,减少编辑工作,缩短软件的开发周期。Virtual Studio具有强大的编辑功能,程序员在Virtual Studio中可以使用C#、VB、C++、Python、JavaScript等语言进行编码,对代码可以进行快速查找和修复,并轻松进行重构。Virtual Studio内嵌了编译功能,可以对代码进行调试,并诊断出错误和性能问题。
- 5 -
王建:基于C#的书店管理系统
2 系统分析
2.1 需求分析
2.1.1 系统需求
本系统采用的是C/S模式,软件安装在客户机上,客户端系统不仅有大量的数据处理和计算工作要做,还需要进行服务器请求和响应工作,所以客户主机需要有流畅、稳定的操作系统。
2.1.2 功能需求
⑴ 系统登录
系统在登陆时需要验证用户的身份信息,用户只有输入了正确的用户名和密码才能够进入系统,否则弹出错误提示信息,同时系统也会根据登陆用户的职位信息分配相应的系统权限。
⑵ 日常操作
书店在主要日常经营活动是进行图书采购、图书入库和图书的销售工作,为了减轻员工的负担和规范书店的经营,系统需要提供图书销售功能、图书采购功能和图书入库功能。在日常销售过程中,可能有顾客需要注册会员服务,所以系统还需要添加会员录入功能。
⑶ 数据管理
系统为了方便对员工的管理,需要提供员工管理服务,通过系统除了可以查看员工的信息外,还应可以添加和修改员工的信息;书店中有大量的图书信息需要记录,系统对于图书的管理,应满足图书查找、设置图书类别、设值图书的折扣、修改图书信息的功能;系统还要有对会员的管理,会员信息可以在系统中进行修改和添加;书店的仓库中需要记录大量的信息,这些信息对于书店来说至关重要,系统应提供安全、有效的仓库管理功能;在书店的发展中可能需要不断的进行部门和职位的变动,以提高书店的管理水平,系统针对书店的发展应提供部门和职位设置的功能。
⑷ 销售统计
书店每本书的出售都是要有详细的记录的,系统需要有图书销售记录的功能,方便书店准确掌握盈利状况。同时系统还应能够对书店的销售数据进行统计,方便书店合理规划书店的经营活动。
- 6 -
蚌埠学院本科毕业设计(论文)
2.1.3 安全性
为了防止无关人员进入本系统,对书店的管理数据进行更改或泄露书店商业机密,给书店带来损失,系统在登陆时需要进行身份验证,只有正确的用户名和密码才能登陆,为了安全书店员工应该保护好自己的登陆密码防止泄露。为了让员工各司其职不越权,系统要公司员工的职位相应的权限分配,有些功能限制员工的操作。存储在数据库中的信息应妥善保管,及时备份数据库中的信息。
2.1.4 性能需求
书店每天要重复大量的图书销售工作,在销售时为了提高顾客的好感度需要快速的处理顾客的业务,减少顾客的等待事件,所以系统要有很短的响应时间和很强的稳定性。
2.2 可行性分析
本系统借助计算机技术来实现对书店的管理,它能够极大的提高书店的效率,而且开发成本很低,所以本系统的开发具有很高的可行性。下面将从技术可行性、经济可行性、操作可行性三方当面来进行论述:
2.3.1 技术可行性
本系统采用了ASP.NET技术,使用C#语言程序编写,c#是一种功能强大的面向对象的语言,可以开发出美观、友好的窗体界面,支持跨平台。使用Virtual Studio作为开发工具进行开发,可以很好的管控开发过程,缩短代码的手动编写量。对于数据库的管理,我们使用微软的SQL Server数据库,它是一款大中型企业使用的数据库,可以满足大量数据的处理需求,在微软强大的技术支持下可以确保数据的安全性、完整性。随着科学技术的快速发展,硬件的技术水平越来越高,价格也越来越便宜,所以在硬件方面可以完美支持本系统的需求。
2.2.2 经济可行性
在经济方面,本系统的开发成本比较低,只需要在计算机上搭建好相应的开发环境就可进行开发工作。因为本软件比较小型,开发周期短,不需要投入过多的人力。本系统虽然开发投入比较低,但它却可以为企业节省大量的人力和物力,提高企业的办事效率和规范,使得书店在同行的竞争中具有很大的优势。随着科技的发展,越来越多的公司走向了办公自动化,所以本系统拥有广阔的市场。
- 7 -
王建:基于C#的书店管理系统
2.2.3 操作可行性
通过对书店日常工作的调查,在开发系统时能够很好的考虑到用户的真实需求。本系统是友好的图形界面,对底层技术进行了很好的封装,用户不需要对计算机知识、数据库有任何的了解。本系统使用的是C#技术,设计出的界面与windows系统的图形用户界面一样,因为今天大家windows系统都比较熟悉,所以一般人都可以进行操作。
2.3 系统运行环境
本系统是使用是在windows7系统上开发的,使用的开发工具室virtual studio 2010,连接的数据库是SQL Server 2005.系统可以在windows xp、windows 7及以上版本的
windows系统下运行,系统对硬件要求不高,可以在绝大多数的电脑上进行安装和运行。本系统使用的是Sql Server数据库,用户可以客户端的主机上安装,也可以连接远程的数据库。
- 8 -
蚌埠学院本科毕业设计(论文)
3 总体设计
3.1 数据库设计
3.1.1 数据库分析
书店的管理不仅包括日常的工作的分配和管理,而且书店还有大量的数据信息需要管理,如会员的基本信息、员工的基本信息、图书的基本信息等,对于一个企业来说这些信息至关重要,任何一点的信息缺失或错误都会影响到企业的正常运营。为了数据的安全性和更好地管理,我们需要将数据存放在数据库中。本系统适用于中小型书店企业,考虑到经济、安全、适用、维护等因素,选用Microsoft公司的SQL Server 2005数据库。打开SQL Server 2005创建本系统的数据库,数据库中包含VIP会员信息、图书信息、员工信息、图书销售信息等实体,用来存储各种不同的数据。
3.1.2 数据库概念结构设计
根据系统的需求画出书店管理系统的实体/关系(E-R图)图,如下图所示:
图3-1 书店E-R图
- 9 -
王建:基于C#的书店管理系统
本系统所涉及到的主要实体有员工、会员、图书等,系统中各个实体之间的相互关系我们可以从E-R图中很清晰的看出,会员可以从书店中购买到图书,而员工负责管理会员和图书,此外图书在存放和销售过程中还有库存信息和销售信息需要管理[4]。在SQL Server 2005中创建本系统的数据库名称为BookShop,然后针对本系统所需要创建的表有员工信息表(t_employeeInfo)、图书信息表(t_bookInfo)、会员信息表(t_VIPInfo)、库存表(t_bookStorage)、销售信息表(t_bookSale)等。
各个表中的字段为:
员工信息表user(EID,EName,Address,Sex,Age,Department,Position,Pay,Date);
图书信息表address(bookNo,bookName,bookType,Author,Publisher,Pric,Discount);
会员信息表schedule(VNo,VName,VType,IDCard,Integral,Operator,Date); 库存信息表worklog(bookNo,bookName,bookType,Author,Publisher,PurchasePrice,Price,Number);
销售信息表sms(bookNo,bookName,bookType,Price,Number,totalPrice,Month)。 3.1.3 数据库逻辑设计
⑴ 员工信息表:员工信息表用于存放书店员工的基本信息,包括员工的编号、姓名、性别、年龄、家庭住址、部门及职位、工资等信息。表结构如下:
表3-1 员工信息表
字段名 EID EName Address Sex Age Department Position Pay Date
数据类型 int varchar(20) varcahr(50) varcahr(6)
int varchar(20) varchar(20)
int datetime
主键 是 否 否 否 否 否 否 否 否
描述 员工编号 员工姓名 地址 性别 年龄 部门 职位 工资 记录时间
- 10 -
蚌埠学院本科毕业设计(论文)
⑵ 图书信息表:用于存放图书的基本信息,书店员工可以通过系统对图书的信息进行管理,包括、图书编号、书名、作者、出版社、价格、折扣等信息。表结构如下所示:
表3-2 图书信息表
字段名 bookNo bookName bookType Author Publisher Price Discount
数据类型 int varchar(20) varchar(10) varcahr(20) varcahr(20) decimal(8, 2) decimal(8, 2)
主键 是 否 否 否 否 否 否
描述 图书编号 书名 图书类型 作者 出版社 价格 折扣
⑶ 会员信息表:会员按照积分分为不同的级别,在购书时根据不同的级别享受不同的优惠,系统管理员可以通过会员信息表来管理书店的VIP会员,表内容包括编号、姓名、级别、卡号、积分、操作员注册日期等信息。表结构如下:
表3-3 会员信息表
字段名 VNo VName VType IDCard Integral Operator Date
数据类型 int varchar(20) varchar(20) varcahr(20)
int varchar(20) datetime
主键 是 否 否 否 否 否 否
描述 会员编号 会员姓名 会员级别 会员卡号 积分 操作员 注册日期
⑷ 库存信息表:书店的仓库中存放着大量的图书,库存信息表用于管理仓库中的图书信息,包括图书编号、书名、图书类型、作者、出版社、进货价格、出售价格、库存量等信息。表结构如下所示:
- 11 -
王建:基于C#的书店管理系统
表3-4 库存信息表
字段名 bookNo bookName bookType Author Publisher PurchasePrice
Price Number
数据类型 int Varchar(20) varchar(10) varchar(20) varchar(20) decimal(8, 2) decimal(8, 2)
int
主键 是 否 否 否 否 否 否 否
描述 图书编号 书名 图书类型 作者 出版社 进货价 单价 库存
⑸ 销售信息表:记录了每个月图书的销售的数量和总的销售额,包括图书编号、类型、书名、单价、销售月份、销售数量、销售总额等。表结构如下所示:
表3-5 销售信息表
字段名 bookNo bookName bookType Price Number totalPrice Month
数据类型 int Varchar(20) varchar(10) decimal(18,0)
int decimal(9, 2)
int
主键 否 否 否 否 否 否 否
描述 图书编号 书名 图书类型 单价 销售数量 销售总额 月份
3.2 系统总体结构设计
3.2.1 书店管理系统总体结构图
系统结构图以图形的方式显示了软件在总体设计中的系统结构,反映出了系统的模块之间的相互调用关系以及各模块的层次关系[5]。系统结构图能够很好地帮助用户或读
- 12 -
蚌埠学院本科毕业设计(论文)
者了解系统的功能结构,方便用户使用。本系统的系统结构图如下所示:
图3-1 系统结构图
3.2.2 日常工作模块功能 在该模块负责处理书店的日常工作,包括如下几个子模块:图书销售、会员添加、图书入库、图书采购。
⑴ 图书销售
该子模块负责书店的日常销售工作,书店员工在该模块中输入顾客购买的图书编号以及顾客的会员编号后,系统自动处理图书的价格和会员的折扣,在确定购买后数据将保存到数据库的销售信息表中,并对库存信息表进行更改。
⑵. 会员添加
本模块用于会员登记工作,系统根据用户输入的新会员信息进行添加操作,添加成功后,对数据库中VIP信息表进行更新。
⑶ 图书采购
用户在该模块中输入要采购的图书信息,书名、作者、出版社、编号、进货价格以 - 13 -
王建:基于C#的书店管理系统
及采购数量等。点击购买后将采购成功,生成采购订单。
⑷ 图书入库
用户通过该模块来管理图书进入书库操作,在采购的图书进入书库后,用户可以选择相应的采购订单添加入库,系统将订单中的入库图书信息及数量写入数据库中,并删除完成入库操作的订单。对于入库的新种类图书,系统自动将其添加到图书信息表中。
3.2.3 数据管理模块功能 ⑴ 图书管理
该子模块实现了对书店图书信息的管理,拥有权限的用户可以条件查询图书信息,也可以查看所有的图书信息。本模块实现了图书类别设置、折扣设置以及修改图书信息的功能。
⑵ 员工管理
本模块用于对员工进行管理,拥有相应权限的用户可以查看员工信息,该模块实现了删除员工信息、修改员工信息、录入员工功能。
⑶ 会员管理
本子模块用于对书店会员的管理,记录了已录会员的信息,实现会员类型修改、会员信息修改、会员录入的功能。
⑷ 仓库管理
在本模块中拥有权限的用户可以查看仓库中图书的基本信息以及库存量和进货价格,同时实现了查看仓库储备功能、图书调出功能和图书入库的功能。
⑸ 发展策划
本模块只有总经理才有权限,用于对公司的设置部门和设置职位。在设置部门部分实现了添加部门和修改部门功能,在设置职位部分实现了扩充职位人数、添加职位和修改职位功能
3.2.4 销售统计模块功能
该模块用于对书店图书销售的统计,模块中可以显示统计出的每个不同图书的销售情况,同时该模块中列出了本月图书的销售排名。用户通过该模块可以掌握书店的盈利情况,也可以了解书店图书的销售情况,哪些图书比较受顾客青睐,便于用户在为书店进购图书时做出合理的安排。
- 14 -
蚌埠学院本科毕业设计(论文)
- 15 -
王建:基于C#的书店管理系统
4 系统设计与功能实现
4.1 项目开发框架
本系统使用Virtual Studio 2010进行开发工作,软件的所有代码都在Virtual Studio中编写完成,开发过程如图4-1所示。为了实现软件的“高内聚,低耦合”要求,以及方便系统的开发和维护,本项目采用了分层结构进行设计。在Virtual Studio 2010中创建项目BookShop后新建三个命名空间BookShop、BusinessRule、DataOperate,它们分别代表表示层、业务层和数据层,项目框架如图4-2所示。
图4-1 开发设计界面
图4-2 项目框架
- 16 -
蚌埠学院本科毕业设计(论文)
显示层负责与用户进行交互,将信息以图形化的方式展示给用户,在该层下编写窗体界面的实现代码。业务层负责系统各功能的业务逻辑,如用户的身份验证、查询业务等。数据层负责与数据库进行交互,在该层中实现建立数据库连接,以及对数据的增、删、改、查操作[6]。
4.2 数据库DbOpetate类的构建
为了建立与数据库连接和对数据库进行操作,我们在数据层中单独定义一个公共类来完成系统所用对数据库的操作。在DataOperate命名空间下新建类DbOpetate,主要代码如下图所示:
图4-3 数据库连接代码
- 17 -
王建:基于C#的书店管理系统
4.3 模块设计
4.3.1 登陆界面设计
启动系统时为了安全以及分配管理权限需要确认用户的身份,所以启动系统时首先跳出的是用户登陆界面。用户在该界面中输入用户名和密码后点击登陆按钮,系统将自动获取用户输入的信息,然后连接到系统的数据库,对用户名和密码进行校检,若校检成功则关闭该模块跳转到系统的主窗体界面,如校检失败则无法打开新界面并提示用户名或密码错误。登陆界面如下图4-4所示:
图4-4 用户登陆界面
(1)登陆界面的设计与实现
通过virtual studio 2010在BookShop文件夹下创建一个类frmLog用来显示登陆界面,打开设计界面将该窗体的属性Text改为“登陆”。往窗体中拖入3个Label、2个TextBox以及1个Button控件,其中Label控件用于显示提示信息,将他们的Text属性分别改为“用户登录”、“用户名”、“密码”。把TextBox控件重命名为txtUid,用来接收用户输入的用户名信息;再把另一个TextBox控件重命名为密码,用来接收用户输入的密码信息。将Button控件的Text属性添加为“OK”表示确定按钮。将这几类控件合理的设置大小,并合理的在窗体中进行布局,从而使得窗体变得简洁、美观。
(2)操作员登陆
当用户点击登陆按钮时,系统将执行登陆操作,所以我们要为Button控件创建执行登陆操作的触发器。主要代码如下:
- 18 -
蚌埠学院本科毕业设计(论文)
图4-5 登陆按钮触发器
4.2.2 主界面设计
用户登陆成功后进入系统的主界面,主界面主要由三个部分构成,如图4-6所示:
图4-6 系统主界面
- 19 -
王建:基于C#的书店管理系统
第一部分是主界面上方区域的系统工具栏,为用户提供常用的功能链接;第二部分是位于主界面左侧的系统菜单栏,用于链接系统的各个功能模块;第三部分位于系统主界面的右半部分,这里是系统的显示区域。在主窗体的工具栏区域里用户可以点击链接按钮进行系统设置以及登录口令更改等操作。主窗体菜单栏区域里显示了日常操作、数据操作、统计三个Button控件,以这三个控件为树状节点,并在每个节点下隐藏了一些系统的个功能子模块的Button链接按钮。该界面提供了系统所有功能的实现:用户登陆切换功能、图书销售功能、图书入库功能、图书管理功能、会员等级功能、员工管理功能、密码修改功能、销售统计功能、发展策划功能。
4.2.3 功能模块设计
(1) 图书理管理模块
该模块下又有三个子模块,图式类别设置、折扣设置、修改图书信息。单击刷新按钮在该界面的中间部分可以显示检索到的所有图书信息,用户也可以根据图书名称、图书类型、图书编号、作者进行条件查找。运行界面如图4-7所示:
图4-7 图书管理界面
- 20 -
蚌埠学院本科毕业设计(论文)
在该模块的设计中查询功能的实现是关键,部分具体实现代码为:
图4-8 图书管理模块查询代码
(2) 员工管理模块
该模块可以查看员工的信息和对员工进行管理,其包含了员工删除、员工信息修改和员工录入三个子模块。在窗口的左侧区域以树状的形式显示各部门,用户可以点击树的节点查看各部门有哪些员工。单击刷新按钮在该界面的中间部分可以显示检索到的所有员工的信息,用户也可以根据员工的姓名、编号、进行条件查找。人员管理列表如下图所示:
- 21 -
王建:基于C#的书店管理系统
图4-9 员工管理界面
该模块在调用时需要进行权限认证,只有总经理和人事部的员工才可以进行该操作。当用户点击该模块时系统会获取该用户的职位,通过职位进行判断该用户是否有权限。部分实现代码为:
图4-10 用户权限判断部分代码
- 22 -
蚌埠学院本科毕业设计(论文)
(3) 会员管理模块
会员管理模块包含了会员类型设计、会员信息修改和VIP登记三个子模块。用户可以在树状结构中选择需要查找的会员,也可以按条件进行查找,当用户点击刷新按钮系统将显示全部会员信息。在该窗体的下方有三个Button控件用于链接该模块的三个子功能,分别是会员类型设置、会员信息修改、VIP登记。会员管理界面如下图4-11所示:
图4-11 VIP会员管理界面
(4) 图书销售模块
该模块用于记录图书销售信息,每次出售图书时系统会记录出售的图书信息和购买的会员信息,并将信息写入数据库中。用户输入图书的编号和数量,系统将显示出顾客购买图书的信息以及应付的价格,对于是会员的顾客用户可以输入顾客的会员编号,系统会判断出顾客的会员等级以及所享受的折扣。
点击确定按钮当图书编号为空时,弹出提示信息“请输入图书编号”。点击查找按钮系统会显示顾客的会员等级(普通会员、白银会员、黄金会员、钻石会员),如果会
员不存在提示“无效会员”。当选中图示时应付金额会自动显示,用户手动输入实付金 - 23 -
王建:基于C#的书店管理系统
额后系统会自动计算出找回金额,点击“购买”按钮后系统将数据保存到数据库中。
图书销售模块运行界面如下图4-12所示:
图4-12 图书销售界面
(5) 发展策划模块
用户只有拥有总经理的权限才可以执行该操作,在该模块下用户可以添加、修改部门和职位。点击刷新按钮显示公司所有的部门,要添加新部门时先输入要添加部门的信息然后点击添加按钮,若该部门已经存在弹出提示信息,点击修改按钮可以修改部门的名称。该模块运行界面如下图所示:
- 24 -
蚌埠学院本科毕业设计(论文)
图4-13 发展策划界面
(6) 会员登记模块
系统根据用户输入的姓名、身份证号码以及VIP类型进行新会员的添加操作,运行界面如下图所示:
图4-14 会员登记界面
(7) 图书采购模块
用户在该模块可以进行图书的采购和退货操作,用户可以点击下拉菜单选择供应
商,点击“图书采购”按钮弹出图书采购信息,点击“确定”后生成相应的采购订单。 - 25 -
王建:基于C#的书店管理系统
运行界面如下图4-15所示:
图4-15 图书采购界面
(8) 图书入库模块
该模块分为新书采购和缺货采购,当添加的图书是采购的新书时,系统将自动在图书信息管理表中添加新购入的图书信息。点击“查询”或“刷新”显示出采购订单,用户可以选择相应的订单执行图书入库操作。该模块界面如图4-16所示:
图4-16 图书入库界面
(9) 销售统计模块
用户可以根据需要按条件查找本月销售信息或全年销售信息,点击刷新按钮显示全部图书的销售信息。在窗体的左侧列出了本月的销售排名。销售信息页面如下图所示:
- 26 -
蚌埠学院本科毕业设计(论文)
图4-17 销售统计界面
(10) 仓库管理
在该模块的树形结构中按照图书的类别列出了仓库中所存储的图书,点击书名会显示出该图书的相关信息。用户也可以按条件查找仓库中存放的图书的信息,或点击“刷新”按钮查看仓库中存放的所有图书信息。点击“查看储备”系统可以更具图书的库存量对库存中的图书进行信息筛选,该模块还可以执行图书入库和图书调出操作。本模块的运行界面如图4-18所示:
- 27 -
王建:基于C#的书店管理系统 图4-18 仓库管理界面
- 28 -
蚌埠学院本科毕业设计(论文)
5 系统测试与调试
5.1 系统测试的目的与方法
在软件开发完成后,需要进行测试,来确定系统是否已经实现了所有的需求。对于系统中存在的错误及时发现并进行修正,从而设计出功能完善、性能健壮的软件。本系统的测试应从设计之初的需求分析入手,测试系统的各个预期功能是否都已经实现。先将系统的各个模块拆开,测试模块内的可执行代码是否存在错误,设计的功能是否能实现;然后测试各模块相互之间的通信和协调是否正常;最后把系统看成一个整体进行测试。
在软件工程学中将测试过程中的各个阶段按照先后顺序分为单元测试、集成测试、系统测试和验收测试等阶段,因为对系统的各个功能部分都很熟悉,而且了解系统的内部结构以及程序算法,所以本系统在测试过程中将采用黑盒测试同白盒测试相结合的方法[7]。 本系统的测试流程如下图所示:
- 29 -
王建:基于C#的书店管理系统
图5-1 测试流程图
5.2 模块测试
(1)登陆模块测试
表5-1 登陆模块测试用例
当用户输入完正确的用户名和密码后点击登陆按钮,系统将关闭登陆窗口打开系统的主界面。当用户输入的信息不完整时,系统弹出窗口提示用户输入。当用户输入的密码错误时,系统将提示用户名或密码错误,点击确定按钮后可以重新输入。其中输入错误信息提示窗口如下图所示:
图5-2 输入错误提示信息
- 30 -
蚌埠学院本科毕业设计(论文)
(2)更改密码模块测试
用户在系统工具栏里的系统设置中修改登录密码时,用户输入新密码后还需在重新输入一遍新密码以确定输入无误,只有两次输入的密码一致才能更改密码成功。当用户两次输入的密码不一致时,系统将弹出窗口提示错误,如下图所示:
图5-3 输入密码错误提示信息
5.3 集成测试
通过单元测试后各模块的功能具已实现,下面将各子单元放在一起进行测试,测试各个模块之间的通信是否正常。我们在验证了系统的图书管理模块、会员管理模块、员工管理模块等功能都正常后,要对系统进行集成测试,这里主要对图书销售进行测试,通过测试检验出图书销售模块里的功能都已经实现,运行界面如下图所示:
- 31 -
王建:基于C#的书店管理系统
图5-4 图书销售模块测试
5.4 验收测试
经过单元测试和集成测试后再进行系统测试,整个过程完成后系统的基本功能都已经实现。验收测试与系统测试相似,验收测试是通过用户的参与并使用实际数据进行测试的,向用户表明系统的各种需求都已经设计实现,这是软件测试的最后一步,通过验收测试后系统的设计任务已经完成,系统的各项指标都已经合格,用户可以使用系统执行需求分析里的各项功能和任务[8]。
- 32 -
蚌埠学院本科毕业设计(论文)
- 33 -
王建:基于C#的书店管理系统
6 总结
本系统设计初衷是为了满足目前图书零售行业发展的需要,专门用来管理书店图书、员工、库存、会员、销售的软件,中小型书店企业将是本软件的极大受益者。经过测试,本系统具有很好的稳定性,所有的需求功能都能够实现,本系统采用的时
Microsoft旗下的SQL Server数据库,拥有Microsoft强大的技术支持,数据安全性能够得到很好的保障,解决了书店对公司数据信息安全的担忧。本系统是在windows系统下运行,安装简单,比较适合大众型公司。系统按照功能分模块设计,操作比较简洁易懂,员工可以很容易上手。与传统管理模式相比较,本系统的使用不仅可以节省大量的人力物力,降低公司的经营成本,而且可以极大的减少差错,提高公司的工作效率。公司只有工作中减少了差错,服务质量才会上升,才能够赢得顾客的满意度,从而加大公司的客流量。
经过几个月的辛苦奋斗,整个项目的设计工作才终于告一段落,基于C#设计的书店管理系统也揭开了它神秘的面纱。整个系统经过测试,实现了所有的功能,但是由于本人的能力局限使得本软件还存在局限性的。收银员每当要出售图书时,他都要在图书销售窗体中手动输入图书的编号和会员的编号,这工作量虽然看似不大,但是由于书店每天要出售的图书是很多的,从而加重了收银员工作量。针对这个问题,我们可以进行改进,但必须得到硬件的技术支持。在每本书的后面都有一个条形码的图书编号,我们可以利用硬件来识别这个条形码,然后将编号传递给系统,通过系统中设计出的一个接口来接收和处理该信息。对于会员编号也可以通过会员卡上设置的条形码来解决。这样就提高了收银员的工作效率。
为了提高软件开发的经验,徐善健老师向我提出了将软件分为表示层、数据层、业务层来进行设计的要求,一开始由于对这方面没有过多的经验,遇到了很多的困难,好在有徐老师的悉心教导和鼓励,使我从中受益匪浅。通过这次系统设计不仅让我熟悉编程方面的基础知识,更加深了我对整个软件开发的了解,极大的丰富了我的软件开发经验。
- 34 -
蚌埠学院本科毕业设计(论文)
致 谢
在这次的毕业设计这个过程中,徐善健老师给予了我极大的帮助,在我遇到难题时,徐老师总是不厌其烦的一遍又一遍的耐心解说,从他那里我学会了很多知识。正是在徐老师的认真指导和鼓励下,我的毕业设计才能顺利的完成,在此我对徐老师这段时间的辛苦付出表示衷心的感谢。
感谢学校给了我们跟着优秀老师做毕业设计的机会,通过这次毕业设计不仅加深了我们对大学四年所学知识的理解,更锻炼了我们的开发经验,为我们今后走入职场积累了一定的经验。谢谢学校在做毕业设计期间对我们的帮助,为我们广大毕业生提供了良好的学习环境,学校的图书馆就像知识的源泉,为我们提供了大量的知识储备。
这次毕业设计一路走来虽经历了各种坎坷,但我从中收获了很多,感谢老师和同学们的一路相伴,感谢蚌埠学院四年栽培。
- 35 -
王建:基于C#的书店管理系统
参 考 文 献
[1] 明日科技.Java Web从入门到精通[M].北京:清华大学出版社,2012.9:4-5
[2] 明日科技.C#从入门到精通(第3版)[M].北京:清华大学出版社,2012.9:3-6
[3] 明日科技.SQL Server从入门到精通[M].北京:清华大学出版社,2012.9:12-14
[4] 冯庆东,杨丽.C#项目开发全程实录[M].北京:清华大学出版社,2013.10:15-20
[5] 张海潘.软件工程[M].北京:清华大学出版社,2010.7:85-97
[6] 崔建江.C#编程和.NET框架[M].机械工业出版,2012.4: 34-36
[7] 韩利凯.软件测试[M].北京:清华大学出版社,2013.8:78-79
[8] 于艳华.软件测试项目实战[M].电子工业出版社,2012.11:78-79
[9] Stephen Ritchie..NET最佳实践[M].黄灯桥,译.机械工业出版社,2014.1
[10] 软件开发技术联盟.C#开发实例大全[M].北京:清华大学出版社,2016.1
[11] 殷晓睿.基于JSP的办公自动化系统实现[D].上海:中国海洋大学软件工系, 2011.6
- 36 -