学生书店管理系统课程设计_第1页
学生书店管理系统课程设计_第2页
学生书店管理系统课程设计_第3页
学生书店管理系统课程设计_第4页
学生书店管理系统课程设计_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、课课 程程 设设 计计 课程名称 web 课程设计 题目名称xxxxxxx 系统 专业班级12 级 学生姓名xxxxxxx 学 号xxxxxxxx 指导教师王祎 二一三年十二月二十日 目录 第一章第一章 需求分析需求分析 .3 1.1、开发背景.3 1.2、提出问题.3 1.3、编写目的.3 第二章第二章 可行性分析可行性分析 .4 2.1、课程设计要求.4 2.2、实现目标.5 2.3、对现有系统的分析.5 2.4、所建议系统.6 第三章第三章 系统分析系统分析 .8 3.1、三层架构设计思想.8 3.2、现行系统的调查情况.9 第四章第四章 数据库设计数据库设计 .11 4.1、数据库概念

2、结构设计.11 4.2、数据库逻辑结构设计.12 4.3、基本 e-r 图.14 第五章第五章 系统设计系统设计 .15 5.1、设计环境.15 5.1.1. 相关技术与开发工具概述.15 5.1.2. 开发语言.15 5.1.3. 开发工具 .15 5.1.4 开发重点技术 .15 5.2.、主要界面的设计及相关代码.16 5.2.1.“登陆模块”详细设计.16 5.2.3 .操作员信息管理模块.21 5.2.4 .图书信息管理模块.26 5.2.5 .其他模块的设计.27 结束语结束语 .29 参考文献参考文献 .29 第一章 需求分析 1.11.1、开发背景、开发背景 随着社会的发展,人

3、类的生产、生活越来越离不开信息。谁拥有了更多 更有效的信息,谁就将在竞争中处于有利地位。信息产业正在成为一个国家 的支柱。图书作为信息存储及主要媒体之一,数量、规模、种类都比以往任 何时候都大的多,不论个人还是图书管理部门都需要使用方便而有效的方式 来管理书籍,在计算机日益普及的今天,对图书经营企业而言,若采用一套 行之有效的图书管理系统来管理书籍,会方便很多。对图书管理部门而言, 以前单一的手工检索已不能满足人们的需求,为了便于图书资料的管理,需 要有效的图书管理软件。 1.21.2、提出问题、提出问题 蚌埠市学生书店是一家以经营图书批发,零售为主的大型书店。由于每 天的销售量非常大,手工管

4、理越来越暴露出各种弊端,由于管理不善,呆账、 错帐、图书丢失现象时有发生,导致企业出现了“怪”现象图书销量不 断增加,但利润却没有提高。为了便于规范化管理,书店决定采用计算机系 统进行管理。 1.31.3、编写目的、编写目的 本次课程设计的目的:以提高书店运营效率为目的,简化图书管理工作, 减轻书店管理的负担。其主要特色是: 1. 采用书店现有资源及软硬件环境,及先进的管理系统开发方案,从而达 到充分利用企业现有资源,提高系统开发水平; 2. 系统符合书店运营管理的规定,满足对书店运营管理的需要,并达到了 操作过程中的直观、方便、实用等要求; 3. 能完成图书信息的统一设置; 4. 系统能处理

5、主要的信息查询与统计,并能完成报表等工作; 5. 系统采用模块化程序设计方法,即便于系统功能的各种组合和修改,又 便于未参与开发的技术维护人员补充、维护; 6. 系统具备安全管理机制,具有密码保护功能和权限管理功能; 7. 实现了书店管理的系统化、自动化、规范化。 第二章 可行性分析 2.12.1、课程设计要求、课程设计要求 .1 性能要求性能要求 1) 界面设计要求尽量友好、美观,应提供登录界面,并考虑用户权限问题; 2) 对各种信息应提供录入、修改、删除和查询功能; 3) 具有对图书信息,操作员信息,出版社等基本参数的查询; 4) 具有数据备份与恢复、帮助等功能; 5) 能

6、够新增、修改和删除相关信息。 .2 系统功能:系统功能: 1)系统:系统登录,用户信息修改。 2)基础信息:操作员管理、图书种类管理、图书信息管理、仓库信息管理、 供应商信息管理、柜台信息管理。 3)库存管理:图书入库管理、图书定价管理、图书调价管理、入库退货管 理、图书调拨管理、图书销售管理、销售退货管理、库存盘点打印。 4)查询管理:图书入库查询、销售查询、图书库存查询。 5)用户管理:用户管理、权限设置。 .3 输出数据:输出数据: 操作员用户信息、图书信息、图书销售信息,出版社信息。 .4 输入数据输入数据: 操作员用户信息、图书信息、图

7、书销售信息,出版社信息。 .5 安全保密安全保密: 系统信息的录入和修改由管理员负责,其他用户可随时查阅 ,但无权修改。 .6 运行环境:运行环境: 1)操作系统:windowsxp 2)数据库:sql server 2008 3)c#开发工具:microsoft visual studio 2010 2.22.2、实现目标、实现目标 针对图书行业的迅速发展及图书信息化发展过程中出现的各种复杂情况, 图书管理系统实施后,应实现如下目标: (1) 图书自动化管理 (2) 界面友好,操作简单,数据存储安全可靠 (3) 数据查询灵活、方便、准确 (4) 图书从入库到销

8、售,形成一套科学、规范的管理流程 (5) 系统实施后,能够减轻员工工作压力,提高工作效率。 2.32.3、对现有系统的分析、对现有系统的分析 需求分析的过程可以说是一个对具体问题的反复理解和抽象的过程。理解 就是对现实问题的理解,要弄清楚究竟需要解决什么问题。抽象就是除去问题 的表面,提取问题的本质,建立问题的逻辑模型,以便于以后阶段的系统的设 计实现。需求分析阶段是软件产品生存命期中的一个重要阶段,其根本任务是 确定用户对软件系统的需求。所谓需求是指用户对软件的功能和性能的要求, 就是用户希望软件能什么事情,完成什么样的功能,达到什么性能。此次课程 设计的使用者是书店的员工,主要是针对系统的

9、管理员。其进行的操作就是对 书店员工、操作员等一些方面改动的改善。由此对员工需求分析如下。 用户的需求就是对用户信息和图书相关信息的添加、删除、修改和查询。 这就要求各种信息中存在实体完整性、参照完整性和用户自定义完整性。搜集 了各项要求,故数据项要求设计如下: .3.1.处理流程和数据流程处理流程和数据流程 当一批新书进入书店,员工要价格图书的的基本资料(书名,条形码,出 版社信息等)录入到数据库中, 。 .3.2.工作负荷工作负荷 现有系统中主要有系统管理员,普通管理员。具体工作如下: 1.系统管理员:负责添加、修改、删除、 查询等全部信息。 2.普通管理员:分

10、具有除修改用户信息功能之外的系统管理远拥有的功能。 2.42.4、所建议系统、所建议系统 .4.1.对所建议系统的说明对所建议系统的说明 计划开发的“图书管理系统” ,使用现有的局域网,基于 c/s 结构,是以 sql server 数据库为后台,以服务为目的的信息平台。图书管理系统能实现经 营管理过程中的图书基本信息、出版社信息等的管理。 .4.2.处理流程和数据流程处理流程和数据流程 图书信息管理系统 系统管理查询管理 系 统 登 录 管 理 用 户 信 息 修 改 管 理 图 书 销 售 查 询 图 书 入 库 查 询 图 书 库 存 管 理 入 库 退 货

11、查 询 .4.3.改进之处改进之处 图书管理系统是基于网络的新型系统,系统规模虽小,但功能齐全。实现 了图书管理各项信息的计算机处理,方便管理员进行修改或查阅,实现信息的 共享。 .4.4.经济上的可行性经济上的可行性 现在,计算机的价格已经十分低廉,性能却有了很大的进步。本系统的开 发,为企业的工作和经济效率带来了一个质的飞跃,主要表现在以下几个方面: 1.本系统的运行可以代替人工进行许多繁杂的劳动; 2.本系统的运行可以节省许多资源,例如纸质和笔墨; 操 作 员 管 理 图 书 信 息 管 理 供 应 商 信 息 管 理 图 书 种 类 管 理 基础信息管理 库

12、存管理 图 书 条 件 管 理 图 书 销 售 管 理 图 书 入 库 管 理 图 书 定 价 管 理 3.本系统的运行可以大大的提高企业的工作效率; 4.所以本系统在经济上是可行的。 .4.5.技术条件方面的可行性技术条件方面的可行性 技术上的可行性分析,主要分析技术条件能否顺利完成开发工作,硬、软 件能否满足开发者的需要等。该管理系统采用了当前流行的client/server模式进 行开发,引入了数据访问层、业务逻辑层、表现层-三层的架构体系,是技术 发展的大势所趋,它把应用系统带入了一个崭新的发展时代。数据库服务器选 用微软的 sql server 数据库,它能够处理大量数

13、据,同时保持数据的完整性, 并提供许多高级管理功能。它的灵活性、安全性和易用性为数据库编程提供了 良好的条件。因此,系统的软件开发平台已成熟可行。硬件方面,科技飞速发 展的今天,硬件更新的速度越来越快,容量越来越大,可靠性越来越高,价格 越来越低,其硬件平台完全能满足此系统的需要。 第三章 系统分析 3.13.1、三层架构设计思想、三层架构设计思想 .1.1.数据访问层数据访问层(dal)(dal) 数据访问层(data access layer)简称为 dal,它是程序中和数据库进行 交互的层。该层直接操作数据库,针对数据的增添、删除、修改、更新、查找 等。对每一个数据表,都有

14、一个类来完成一些方法,以满足对数据表的各种操 作。 用一个类维护与 sqlserver 数据库的连接、可调用存储过程,所有的 t- sql 查询语句均由这个类来执行,最后将数据集返回给业务逻辑层。 .1.2.业务逻辑层业务逻辑层(bll)(bll) 业务逻辑层(business logic layer)是系统架构中体现核心价值的部分。 它的关注点主要集中在业务规则的制定、业务流程的实现等与业务需求有关的 系统设计。 业务逻辑层在体系架构中的位置很关键,它处于数据访问层与表示层中间, 起到了数据交换中承上启下的作用。由于层是一种弱耦合结构,层与层之间的 依赖是向下的,底层对于上层而

15、言是“无知”的,改变上层的设计对于其调用 的底层而言没有任何影响。如果在分层设计时,遵循了面向接口设计的思想, 那么这种向下的依赖也应该是一种弱依赖关系。因而在不改变接口定义的前提 下,理想的分层式架构,应该是一个支持可抽取、可替换的“抽屉”式架构。 对于数据访问层而言,它是调用者;对于表示层而言,它却是被调用者。 .1.3.界面层(界面层(uiui) 界面层位于最外层(user interface) ,离用户最近。用于显示数据和接收 用户输入的数据,为用户提供一种交互式操作的界面。合理的摆放各类控件, 整齐的排列,给用户以良好的视觉体验。 3.1.4.model3.1.4.mo

16、del 层层 model 层里面的一个类对应数据库里面的一张表,类里面的每一个属性对应表里面的 一个字段,每个属性都有自己的 get 和 set 方法,项目中的数据存取都要依靠 get 和 set 方法来实现。它不属于纵向的某一个层,而是所有层都要用到的业务实体层。 3.23.2、现行系统的调查情况、现行系统的调查情况 对现行系统调查的主要任务是,在对实际业务领域进行详细调查的基础上, 确定系统的目标,了解人事管理的应用流程,划分出系统的主要功能,明确业 务流程和数据流程。现行系统的调查是希望对系统有个全面、深入的认识,明 确系统要处理哪些数据,以及对这些数据需要做哪些处理。 .

17、2.1.系统目标系统目标 使用“三层架构”的整体概念来设计书店的图书管理系统。在这个概念下, 开发出来的系统功能包括操作员、图书信息管理、图书种类信息管理、系统管 理、出版社信息管理,销售信息管理。 在此开发的书店图书管理系统,旨在适应信息时代,提高企业人事管理的效率, 帮助企业科学正规的运转,减轻管理者的压力和负担,书店的管理人员无需经 过特殊的训练就可以使用这个系统,降低管理成本,最大程度的满足企业人事 管理需要。升级、改造现有的纸质档案,重建员工档案,以符合数字化的标准。 .2.2.主要功能主要功能 图书管理系统的主要任务是用计算机对图书的各种信息进行日常的管理, 如查询、

18、修改、添加、删除以及存储等,迅速准确地完成各种信息的统计计算 和汇总工作,针对系统服务对象的具体要求,设计了人事管理系统。人事管理 系统主要有以下几大功能: 1)对图书的变动进行处理。一个书店的图书不会是一成不变的,总是在不断的 变化:有卖出、有进购。因此,设计系统是应考虑到这些情况。 2)对图书的基本信息、出版社的基本信息档案进行修改,同时,能对各员工的 销售业绩进行计算等。 3)查询统计功能。要求既可以单项查询,比如查看某本图书的信息等;也可以 多项查询,比如某个总类所有的图书信息查询。 4)对用户的管理功能。一个系统的使用有系统管理员和普通管理员,他们对系 统的权限收到限制。 第四章 数

19、据库设计 4.14.1、数据库概念结构设计、数据库概念结构设计 根据上面的设计,所涉及的表有图书信息,出版社信息,操作员信息,图书销售信息 等,他们可以合在一个实体当中,从而规划出如下的实体。 实体 1 图书信息实体 实体 2 操作员信息实体 图书信息 图书名称 图书种类 条形码 出版社 作者 操作员名称 简称 类别 密码 操作员信息 实体 3 出版社信息实体 实体 4 图书销售主表实体 实体 5 图书销售明细实体 4.24.2、数据库逻辑结构设计、数据库逻辑结构设计 现在将上面的数据库概念结构转化为 sql server 2008 数据库系统所支持的 实际数据模型,也就是数据库的逻辑结构。在

20、上面实体的基础上,形成数据库 中的表。 供应商名称 简称 联系电话 负责人 出版社信息 地址 网址 销售票号 销售柜台 折扣 操作员 图书销售主表信息 时间 金额 销售票号 条形码 数量 单价 销售明细信息 金额 表 1图书信息表 tb_booinfo 字段名称字段类型主键(y/n)为空(y/n)说明 bookname varcharnn书籍名称 shortnamevarcharnn简称 barcodevarcharyn条形码 bookconcernvarcharnn出版社 authorvarcharnn作者 kindvarcharnn种类 pricedecimalnn价格 表 2操作员信息表

21、(tb_operator) 字段名称字段类型主键(y/n)为空(y/n)说明 namevarcharyn操作员名称 shortnamevarcharnn简称 oplevelvarcharnn操作员类型 passwordvarcharnn操作员密码 表 3 图书销售主表(tb_sellmaster) 字段名称字段类型主键(y/n)为空(y/n)说明 sellidvarcharyn销售票号 countervarcharnn销售柜台 operatorvarcharnn操作员 rebatevarcharnn折扣 timedatevarcharnn时间 表 4图书销售明细表(tb_selldetail)

22、 字段名称字段类型主键(y/n)为空(y/n)说明 sellidvarcharyn销售票号 barcodevarcharnn条形码 unitpricemoneynn单价 numdecimalnn数量 moneymoneynn金额 表 5 出版社信息表(tb_providerinfo) 字段名称字段类型主键(y/n)为空(y/n)说明 providernamevarcharyn出版社名称 shortnamevarcharnn简称 principalvarchar nn负责人 phonevarcharnn电话 addressvarcharnn地址 webvarcharnn网址 4.34.3、基本、

23、基本 e-re-r 图图 第五章 系统设计 5.15.1、设计环境、设计环境 .1.1. 相关技术与开发工具概述相关技术与开发工具概述 本系统采用面向对象的软件开发语言 c#,以 microsoft 的可视化开发环境 visual studio 作为主要开发工具,使用 microsoft sql server 2008 作为关系数据 库,特别使用了 vs2010 中的 linq 技术来开发本系统。 .1.2. 开发语言开发语言 本系统是用 c#语言,选用这个语言的原因有以下几点: c#与 c/c+具有极大的相似性,我们之前认真学习过 c 语言和 c+语言, c#是这

24、两个语言的高效率版本,更易于上手。 c#语言完美支持.net 平台,可以在 microsoft .net 平台上事半功倍的构建 应用程序的扩展框架(即与数据库的连接非常易于实现,对数据可以直接进行 操作。 ) 全界面人性化操作,实现代码简单易懂,适合初学者学习。 .1.3. 开发工具开发工具 (1 1).microsoft.microsoft visualvisual studiostudio 20102010 visual studio 是一套完整的开发工具集,用于生成 asp.net web 应用程 序、xml web services、桌面应用程序和移动应用程序。visua

25、l basic、visual c+、visual c# 和 visual j# 全都使用相同的集成开发环境 (ide),利用此 ide 可以共享工具且有助于创建混合语言解决方案。另外,这些语言利用了 .net framework 的功能,通过此框架可使用简化 asp web 应用程序和 xml web services 开发的关键技术。 (2 2).microsoft.microsoft sqlsql serverserver 20082008 sql server 2008 是一个全面的数据库平台,使用集成的商业智能 (bi) 工 具提供了企业级的数据管理。sql server 2008 数

26、据库引擎为关系型数据和结构 化数据提供了更安全可靠的存储功能,使您可以构建和管理用于业务的高可用 和高性能的数据应用程序 sql server 2008 特性概况。 .1.4. 开发重点技术开发重点技术 linqlinq linq,语言集成查询(language integrated query)是一组用于 c#和 visual basic 语言的扩展。它允许编写 c#或者 visual basic 代码以查询数据库相 同的方式操作内存数据。linq 提供了一条更常规的途径即给 .net framework 添加一些可以应用于所有信息源( all sources of infor

27、mation )的具有多种用途 ( general-purpose )的语法查询特性( query facilities ) ,这是比向开发语言 和运行时( runtime )添加一些关系数据( relational )特性或者类似 xml 特性( xml-specific )更好的方式。这些语法特性就叫做 .net language integrated query (linq) 。 5.25.2、主要界面的设计及相关代码、主要界面的设计及相关代码 5.2.1.“5.2.1.“登陆模块登陆模块”详细设计详细设计 “登录模块”的设计主要是针对用户登录界面的设计,判断用户是系统管 理员还是普通管

28、理员,从而进入主界面。 登陆界面主要由用户名和密码的信息以及用户的类型,还有标题的设置, 登录和取消按钮的设置。用户只有选择用户名后填入相应的密码后点击“确定” 才能进入主界面,点击“取消”会退出系统。登录界面的设计如下图所示: 图 1 登录模块截图 若用户对此有操作上的错误,我设计的特点是都有提示的对话框(几乎每 个窗体都设置了如下操作,除了特殊的提示外,为节省打印纸张,相同的提示 在以后的篇幅中不再一一写出) ,如图 2 所示: 图 2 错误类型图中的一种 主要代码如下: public partial class login : form /public static string sho

29、rtname; /public static string password; /public static string oplevel; tbdatacontext my_datacontex = new tbdatacontext(); public login() initializecomponent(); private void button1_click(object sender, eventargs e) if (shortname.text.trim().length = 0 | password.text.trim().length = 0) messagebox.sh

30、ow(请完善信息!); shortname.text = null; password.text = null; /oplevel.text = null; return; else tb_operator user_id = new tb_operator(); try user_id = my_datacontex.tb_operator.single(id= id.shortname=this.shortname.text.trim(); catch (exception ) messagebox.show(职工号不存在!,警告!); return; if (user_id != nul

31、l) if (user_id.password.tostring().trim() = this.password.text.trim() /if (user_id.oplevel.trim()=this.oplevel.selecteditem.tostring() mainform main = new mainform(shortname.text.tostring(); main.showdialog(); / /else / / messagebox.show(级别不正确); / shortname.text = null; / password.text = null; / opl

32、evel.text = null; / return; / else messagebox.show(密码不正确); shortname.text = null; password.text = null; /oplevel.text = null; return; else messagebox.show (该用户不存在!); shortname.text = null; password.text = null; /oplevel.text = null; return; private void button2_click(object sender, eventargs e) this

33、.close(); private void login_load(object sender, eventargs e) 5.2.2.“5.2.2.“主界面主界面”的详细设计的详细设计 主界面的设计主要由系统管理、图书信息、销售信息、供应商信息四个模 块组成。其作用是使程序更加有条有理,有利于管理。其中普通用户不可操作 系统,管理员可以对所有模块进行操作。 主界面设置图如图 3 所示: 图图 3 3 主界面运行图主界面运行图 主界面的代码较为简单,主要是实现界面的跳转,起着中转功能,其代码 如下: using system; using system.collections.generic;

34、 using system.componentmodel; using system.data; using system.drawing; using system.linq; using system.text; using system.windows.forms; namespace 图书管理系统 public partial class mainform : form private string m_id; public mainform(string m_id) initializecomponent(); m_id = m_id; private void 操作员管理tools

35、tripmenuitem_click(object sender, eventargs e) f_operator f_operator = new f_operator(); f_operator.show(); private void 基本信息toolstripmenuitem_click(object sender, eventargs e) f_bookinfo f_bookinfo = new f_bookinfo(); f_bookinfo.show(); private void 种类信息toolstripmenuitem_click(object sender, eventa

36、rgs e) f_bookkind f_bookkind = new f_bookkind(); f_bookkind.show(); private void 供应商toolstripmenuitem_click(object sender, eventargs e) f_provider f_provider = new f_provider(); f_provider.show(); /private void 定价管理toolstripmenuitem_click(object sender, eventargs e) / / f_bookfix f_bookfix = new f_b

37、ookfix(); / f_bookfix.show(); / /private void 调价管理toolstripmenuitem_click(object sender, eventargs e) / / f_adjustprice f_adjustprice = new f_adjustprice(); / f_adjustprice.show(); / private void 销售toolstripmenuitem_click(object sender, eventargs e) f_sellquery fsellquery = new f_sellquery(); fsellq

38、uery.show(); private void 价格toolstripmenuitem_click(object sender, eventargs e) about about = new about(); about.show(); .2.3.操作员信息管理模块操作员信息管理模块 操作员信息管理模块是功能较为完备的功能模块,具有“添加” , “修改” , “删除” , “取消”四个功能, “添加”用于系统管理员添加新的操作员信息; “修改”用于系统管理员修改已经存在的操作员信息,由于键的约束和代码的 设置,不能修改操作员的名称;“删除”用于系统管理员删除已存在的操作员 信

39、息,删除的方式是按照操作员名称为主键删除;取消用于退出模块。 其运行图和功能操作图如下: 图 4 操作员管理运行图 添加操作:在“操作员名称” 、 “操作员简称” 、 “操作员密码” 、 “操作员级 别”中分别编辑文字“abc” 、 “cca” 、 “bbc” 、 “普通管理员”后,点击“添加” , 会弹出图 5 所示的图片: 图 5 添加操作员信息编辑 点击“确定”后,信息自动保存到数据库中,如图 6 所示 图 6 数据库更新 修改功能:在“操作员名称” 、 “操作员简称” 、 “操作员密码” 、 “操作员级 别”中分别编辑文字“夏季雨” 、 “bbb、 “ccc” 、 “普通管理员”后,点击“修改” ,会弹出图 7 所示的图片: 图 7 操作员信息修改 1 点击确定后,信息自动保存到数据库中。如图 8 图 8 操作员信息修改 2 删除功能:在“操作员名称”编辑文字“王海亮”点击“删除” ,会弹出图 9 所示的图片: 图 9 操作员删除 1 点击确定后显示下面两个图片 图 10 “删除成功” 数据库中不再有“王海亮”这个信息 取消功能:自动退出界面并返回上一界

温馨提示

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

评论

0/150

提交评论