学生书店管理系统课程设计.doc

上传人:仙人指路1688 文档编号:3941559 上传时间:2023-03-28 格式:DOC 页数:29 大小:1.13MB
返回 下载 相关 举报
学生书店管理系统课程设计.doc_第1页
第1页 / 共29页
学生书店管理系统课程设计.doc_第2页
第2页 / 共29页
学生书店管理系统课程设计.doc_第3页
第3页 / 共29页
学生书店管理系统课程设计.doc_第4页
第4页 / 共29页
学生书店管理系统课程设计.doc_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《学生书店管理系统课程设计.doc》由会员分享,可在线阅读,更多相关《学生书店管理系统课程设计.doc(29页珍藏版)》请在三一办公上搜索。

1、课 程 设 计 课程名称 WEB课程设计题目名称XXXXXXX系统专业班级12级学生姓名XXXXXXX学 号XXXXXXXX指导教师王祎二一三年十二月二十日目录第一章 需求分析31.1、开发背景31.2、提出问题31.3、编写目的3第二章 可行性分析42.1、课程设计要求42.2、实现目标52.3、对现有系统的分析52.4、所建议系统6第三章 系统分析83.1、三层架构设计思想83.2、现行系统的调查情况9第四章 数据库设计114.1、数据库概念结构设计114.2、数据库逻辑结构设计124.3、基本E-R图14第五章 系统设计155.1、设计环境155.1.1. 相关技术与开发工具概述155.

2、1.2. 开发语言155.1.3. 开发工具155.1.4 开发重点技术155.2.、主要界面的设计及相关代码165.2.1.“登陆模块”详细设计165.2.3 .操作员信息管理模块215.2.4 .图书信息管理模块265.2.5 .其他模块的设计27结束语29参考文献29第一章 需求分析1.1、开发背景随着社会的发展,人类的生产、生活越来越离不开信息。谁拥有了更多更有效的信息,谁就将在竞争中处于有利地位。信息产业正在成为一个国家的支柱。图书作为信息存储及主要媒体之一,数量、规模、种类都比以往任何时候都大的多,不论个人还是图书管理部门都需要使用方便而有效的方式来管理书籍,在计算机日益普及的今天

3、,对图书经营企业而言,若采用一套行之有效的图书管理系统来管理书籍,会方便很多。对图书管理部门而言,以前单一的手工检索已不能满足人们的需求,为了便于图书资料的管理,需要有效的图书管理软件。1.2、提出问题蚌埠市学生书店是一家以经营图书批发,零售为主的大型书店。由于每天的销售量非常大,手工管理越来越暴露出各种弊端,由于管理不善,呆账、错帐、图书丢失现象时有发生,导致企业出现了“怪”现象图书销量不断增加,但利润却没有提高。为了便于规范化管理,书店决定采用计算机系统进行管理。1.3、编写目的本次课程设计的目的:以提高书店运营效率为目的,简化图书管理工作,减轻书店管理的负担。其主要特色是:1. 采用书店

4、现有资源及软硬件环境,及先进的管理系统开发方案,从而达到充分利用企业现有资源,提高系统开发水平;2. 系统符合书店运营管理的规定,满足对书店运营管理的需要,并达到了操作过程中的直观、方便、实用等要求;3. 能完成图书信息的统一设置;4. 系统能处理主要的信息查询与统计,并能完成报表等工作;5. 系统采用模块化程序设计方法,即便于系统功能的各种组合和修改,又便于未参与开发的技术维护人员补充、维护;6. 系统具备安全管理机制,具有密码保护功能和权限管理功能;7. 实现了书店管理的系统化、自动化、规范化。第二章 可行性分析2.1、课程设计要求2.1.1性能要求1) 界面设计要求尽量友好、美观,应提供

5、登录界面,并考虑用户权限问题;2) 对各种信息应提供录入、修改、删除和查询功能;3) 具有对图书信息,操作员信息,出版社等基本参数的查询;4) 具有数据备份与恢复、帮助等功能;5) 能够新增、修改和删除相关信息。2.1.2系统功能:1)系统:系统登录,用户信息修改。2)基础信息:操作员管理、图书种类管理、图书信息管理、仓库信息管理、供应商信息管理、柜台信息管理。3)库存管理:图书入库管理、图书定价管理、图书调价管理、入库退货管理、图书调拨管理、图书销售管理、销售退货管理、库存盘点打印。4)查询管理:图书入库查询、销售查询、图书库存查询。5)用户管理:用户管理、权限设置。2.1.3输出数据:操作

6、员用户信息、图书信息、图书销售信息,出版社信息。2.1.4输入数据:操作员用户信息、图书信息、图书销售信息,出版社信息。2.1.5安全保密:系统信息的录入和修改由管理员负责,其他用户可随时查阅,但无权修改。2.1.6运行环境:1) 操作系统:WindowsXP2) 数据库:SQL Server 20083) C#开发工具:Microsoft Visual Studio 20102.2、实现目标针对图书行业的迅速发展及图书信息化发展过程中出现的各种复杂情况,图书管理系统实施后,应实现如下目标:(1) 图书自动化管理(2) 界面友好,操作简单,数据存储安全可靠(3) 数据查询灵活、方便、准确(4)

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

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

9、统的说明计划开发的“图书管理系统”,使用现有的局域网,基于C/S结构,是以SQL Server数据库为后台,以服务为目的的信息平台。图书管理系统能实现经营管理过程中的图书基本信息、出版社信息等的管理。2.4.2.处理流程和数据流程库存管理供应商信息管理图书信息管理图书种类管理操作员管理基础信息管理图书信息管理系统系统管理查询管理系统登录管理用户信息修改管理图书销售查询图书入库查询图书库存管理入库退货查询图书入库管理图书销售管理图书条件管理图书定价管理2.4.3.改进之处图书管理系统是基于网络的新型系统,系统规模虽小,但功能齐全。实现了图书管理各项信息的计算机处理,方便管理员进行修改或查阅,实现

10、信息的共享。2.4.4.经济上的可行性现在,计算机的价格已经十分低廉,性能却有了很大的进步。本系统的开发,为企业的工作和经济效率带来了一个质的飞跃,主要表现在以下几个方面:1. 本系统的运行可以代替人工进行许多繁杂的劳动;2. 本系统的运行可以节省许多资源,例如纸质和笔墨;3. 本系统的运行可以大大的提高企业的工作效率;4. 所以本系统在经济上是可行的。2.4.5.技术条件方面的可行性技术上的可行性分析,主要分析技术条件能否顺利完成开发工作,硬、软件能否满足开发者的需要等。该管理系统采用了当前流行的Client/Server模式进行开发,引入了数据访问层、业务逻辑层、表现层-三层的架构体系,是

11、技术发展的大势所趋,它把应用系统带入了一个崭新的发展时代。数据库服务器选用微软的SQL Server数据库,它能够处理大量数据,同时保持数据的完整性,并提供许多高级管理功能。它的灵活性、安全性和易用性为数据库编程提供了良好的条件。因此,系统的软件开发平台已成熟可行。硬件方面,科技飞速发展的今天,硬件更新的速度越来越快,容量越来越大,可靠性越来越高,价格越来越低,其硬件平台完全能满足此系统的需要。第三章 系统分析3.1、三层架构设计思想3.1.1.数据访问层(DAL) 数据访问层(Data Access Layer)简称为DAL,它是程序中和数据库进行交互的层。该层直接操作数据库,针对数据的增添

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

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

14、属性对应表里面的一个字段,每个属性都有自己的GET和SET方法,项目中的数据存取都要依靠GET和SET方法来实现。它不属于纵向的某一个层,而是所有层都要用到的业务实体层。3.2、现行系统的调查情况对现行系统调查的主要任务是,在对实际业务领域进行详细调查的基础上,确定系统的目标,了解人事管理的应用流程,划分出系统的主要功能,明确业务流程和数据流程。现行系统的调查是希望对系统有个全面、深入的认识,明确系统要处理哪些数据,以及对这些数据需要做哪些处理。3.2.1.系统目标 使用“三层架构”的整体概念来设计书店的图书管理系统。在这个概念下,开发出来的系统功能包括操作员、图书信息管理、图书种类信息管理、

15、系统管理、出版社信息管理,销售信息管理。在此开发的书店图书管理系统,旨在适应信息时代,提高企业人事管理的效率,帮助企业科学正规的运转,减轻管理者的压力和负担,书店的管理人员无需经过特殊的训练就可以使用这个系统,降低管理成本,最大程度的满足企业人事管理需要。升级、改造现有的纸质档案,重建员工档案,以符合数字化的标准。3.2.2.主要功能图书管理系统的主要任务是用计算机对图书的各种信息进行日常的管理,如查询、修改、添加、删除以及存储等,迅速准确地完成各种信息的统计计算和汇总工作,针对系统服务对象的具体要求,设计了人事管理系统。人事管理系统主要有以下几大功能:1)对图书的变动进行处理。一个书店的图书

16、不会是一成不变的,总是在不断的变化:有卖出、有进购。因此,设计系统是应考虑到这些情况。2)对图书的基本信息、出版社的基本信息档案进行修改,同时,能对各员工的销售业绩进行计算等。3)查询统计功能。要求既可以单项查询,比如查看某本图书的信息等;也可以多项查询,比如某个总类所有的图书信息查询。4)对用户的管理功能。一个系统的使用有系统管理员和普通管理员,他们对系统的权限收到限制。第四章 数据库设计4.1、数据库概念结构设计根据上面的设计,所涉及的表有图书信息,出版社信息,操作员信息,图书销售信息等,他们可以合在一个实体当中,从而规划出如下的实体。实体1 图书信息实体作者出版社条形码图书种类图书名称图

17、书信息实体2 操作员信息实体操作员名称类别简称密码操作员信息实体3 出版社信息实体地址供应商名称联系电话简称负责人出版社信息网址实体4 图书销售主表实体时间销售票号折扣销售柜台操作员图书销售主表信息金额实体5图书销售明细实体销售票号数量条形码金额单价销售明细信息4.2、数据库逻辑结构设计现在将上面的数据库概念结构转化为SQL Server 2008数据库系统所支持的实际数据模型,也就是数据库的逻辑结构。在上面实体的基础上,形成数据库中的表。表1图书信息表tb_booinfo字段名称字段类型主键(Y/N)为空(Y/N)说明Bookname varcharNN书籍名称shortnamevarcha

18、rNN简称barcodevarcharYN条形码bookconcernvarcharNN出版社authorvarcharNN作者kindvarcharNN种类pricedecimalNN价格表2操作员信息表(tb_operator)字段名称字段类型主键(Y/N)为空(Y/N)说明namevarcharYN操作员名称shortnamevarcharNN简称oplevelvarcharNN操作员类型passwordvarcharNN操作员密码表3 图书销售主表(tb_sellmaster)字段名称字段类型主键(Y/N)为空(Y/N)说明sellidvarcharYN销售票号countervarch

19、arNN销售柜台operatorvarcharNN操作员rebatevarcharNN折扣timedatevarcharNN时间表4图书销售明细表(tb_selldetail)字段名称字段类型主键(Y/N)为空(Y/N)说明sellidvarcharYN销售票号barcodevarcharNN条形码unitpricemoneyNN单价numdecimalNN数量moneymoneyNN金额表5 出版社信息表(tb_providerinfo)字段名称字段类型主键(Y/N)为空(Y/N)说明providernamevarcharYN出版社名称shortnamevarcharNN简称principa

20、lvarchar NN负责人phonevarcharNN电话addressvarcharNN地址webvarcharNN网址4.3、基本E-R图第五章 系统设计5.1、设计环境5.1.1. 相关技术与开发工具概述本系统采用面向对象的软件开发语言C#,以Microsoft的可视化开发环境Visual Studio作为主要开发工具,使用Microsoft SQL Server 2008作为关系数据库,特别使用了VS2010中的LINQ技术来开发本系统。5.1.2. 开发语言本系统是用C#语言,选用这个语言的原因有以下几点:C#与C/C+具有极大的相似性,我们之前认真学习过C语言和c+语言,c#是这

21、两个语言的高效率版本,更易于上手。C#语言完美支持.NET平台,可以在Microsoft .NET平台上事半功倍的构建应用程序的扩展框架(即与数据库的连接非常易于实现,对数据可以直接进行操作。)全界面人性化操作,实现代码简单易懂,适合初学者学习。5.1.3. 开发工具(1).Microsoft Visual Studio 2010Visual Studio 是一套完整的开发工具集,用于生成 ASP.NET Web 应用程序、XML Web Services、桌面应用程序和移动应用程序。Visual Basic、Visual C+、Visual C# 和 Visual J# 全都使用相同的集成开

22、发环境 (IDE),利用此 IDE 可以共享工具且有助于创建混合语言解决方案。另外,这些语言利用了 .NET Framework 的功能,通过此框架可使用简化 ASP Web 应用程序和 XML Web Services 开发的关键技术。(2).Microsoft SQL Server 2008SQL Server 2008 是一个全面的数据库平台,使用集成的商业智能 (BI) 工具提供了企业级的数据管理。SQL Server 2008 数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使您可以构建和管理用于业务的高可用和高性能的数据应用程序SQL Server 2008特性概况。

23、5.1.4.开发重点技术LINQLINQ,语言集成查询(Language INtegrated Query)是一组用于c#和Visual Basic语言的扩展。它允许编写C#或者Visual Basic代码以查询数据库相同的方式操作内存数据。LINQ 提供了一条更常规的途径即给 .Net Framework 添加一些可以应用于所有信息源( all sources of information )的具有多种用途( general-purpose )的语法查询特性( query facilities ),这是比向开发语言和运行时( runtime )添加一些关系数据( relational )特性

24、或者类似 XML 特性( XML-specific )更好的方式。这些语法特性就叫做 .NET Language Integrated Query (LINQ) 。5.2、主要界面的设计及相关代码5.2.1.“登陆模块”详细设计“登录模块”的设计主要是针对用户登录界面的设计,判断用户是系统管理员还是普通管理员,从而进入主界面。登陆界面主要由用户名和密码的信息以及用户的类型,还有标题的设置,登录和取消按钮的设置。用户只有选择用户名后填入相应的密码后点击“确定”才能进入主界面,点击“取消”会退出系统。登录界面的设计如下图所示: 图1 登录模块截图若用户对此有操作上的错误,我设计的特点是都有提示的对

25、话框(几乎每个窗体都设置了如下操作,除了特殊的提示外,为节省打印纸张,相同的提示在以后的篇幅中不再一一写出),如图2 所示: 图2 错误类型图中的一种 主要代码如下:public partial class Login : Form /public static string shortname; /public static string password; /public static string oplevel; tbDataContext my_datacontex = new tbDataContext(); public Login() InitializeComponent()

26、; private void button1_Click(object sender, EventArgs e) if (shortname.Text.Trim().Length = 0 | password.Text.Trim().Length = 0) MessageBox.Show(请完善信息!); shortname.Text = null; password.Text = null; /oplevel.Text = null; return; else tb_operator user_id = new tb_operator(); try user_id = my_datacont

27、ex.tb_operator.Single(id= id.shortname=this.shortname.Text.Trim(); catch (Exception ) MessageBox.Show(职工号不存在!,警告!); return; if (user_id != null) if (user_id.password.ToString().Trim() = this.password.Text.Trim() /if (user_id.oplevel.Trim()=this.oplevel.SelectedItem.ToString() MainForm main = new Mai

28、nForm(shortname.Text.ToString(); main.ShowDialog(); / /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; else MessageBox.Show (该用

29、户不存在!); shortname.Text = null; password.Text = null; /oplevel.Text = null; return; private void button2_Click(object sender, EventArgs e) this.Close(); private void Login_Load(object sender, EventArgs e) 5.2.2.“主界面”的详细设计主界面的设计主要由系统管理、图书信息、销售信息、供应商信息四个模块组成。其作用是使程序更加有条有理,有利于管理。其中普通用户不可操作系统,管理员可以对所有模块进

30、行操作。主界面设置图如图3所示:图3 主界面运行图主界面的代码较为简单,主要是实现界面的跳转,起着中转功能,其代码如下:using System;using System.Collections.Generic;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 st

31、ring m_ID; public MainForm(string m_Id) InitializeComponent(); m_ID = m_Id; private void 操作员管理ToolStripMenuItem_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 =

32、new f_bookinfo(); f_bookinfo.Show(); private void 种类信息ToolStripMenuItem_Click(object sender, EventArgs 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(); /pri

33、vate void 定价管理ToolStripMenuItem_Click(object sender, EventArgs e) / / f_bookfix f_bookfix = new f_bookfix(); / f_bookfix.Show(); / /private void 调价管理ToolStripMenuItem_Click(object sender, EventArgs e) / / f_adjustprice f_adjustprice = new f_adjustprice(); / f_adjustprice.Show(); / private void 销售Too

34、lStripMenuItem_Click(object sender, EventArgs e) f_sellquery fsellquery = new f_sellquery(); fsellquery.Show(); private void 价格ToolStripMenuItem_Click(object sender, EventArgs e) About about = new About(); about.Show(); 5.2.3.操作员信息管理模块操作员信息管理模块是功能较为完备的功能模块,具有“添加”,“修改”,“删除”,“取消”四个功能,“添加”用于系统管理员添加新的操作

35、员信息;“修改”用于系统管理员修改已经存在的操作员信息,由于键的约束和代码的设置,不能修改操作员的名称;“删除”用于系统管理员删除已存在的操作员信息,删除的方式是按照操作员名称为主键删除;取消用于退出模块。其运行图和功能操作图如下:图4 操作员管理运行图添加操作:在“操作员名称”、“操作员简称”、“操作员密码”、“操作员级别”中分别编辑文字“abc”、“cca”、“bbc”、“普通管理员”后,点击“添加”,会弹出图5所示的图片:图5 添加操作员信息编辑点击“确定”后,信息自动保存到数据库中,如图6所示图6 数据库更新修改功能:在“操作员名称”、“操作员简称”、“操作员密码”、“操作员级别”中分

36、别编辑文字“夏季雨”、“bbb、“ccc”、“普通管理员”后,点击“修改”,会弹出图7所示的图片:图7 操作员信息修改1点击确定后,信息自动保存到数据库中。如图8图8 操作员信息修改2删除功能:在“操作员名称”编辑文字“王海亮”点击“删除”,会弹出图9所示的图片:图9 操作员删除1点击确定后显示下面两个图片图10 “删除成功”数据库中不再有“王海亮”这个信息取消功能:自动退出界面并返回上一界面5.2.4.图书信息管理模块由于同操作员管理的巨大的相似性,此功能只简要介绍模块中间用到的“查询”方式。运行图如下:图11 图书基础信息管理在“书籍名称”中输入“VB程序设计”,再点击“查询”按钮,会产生

37、如下的效果:图12 图书信息查询查询功能的代码如下: private void button5_Click(object sender, EventArgs e) if (this.textBox1.Text.Trim().Length = 0) /& this.textBox2.Text.Trim().Length = 0 & this.textBox3.Text.Trim().Length = 0 & this.textBox4.Text.Trim().Length = 0 & this.textBox5.Text.Trim().Length = 0 & this.textBox6.Tex

38、t.Trim().Length = 0 & this.textBox7.Text.Trim().Length = 0) MessageBox.Show(请输入要查询的书籍名称!, 警告); return; else try tb_bookinfo tbbookinfo = new tb_bookinfo(); IQueryable my_bookinfo = from b in m_DataContex.tb_bookinfo where (b.bookname = this.textBox1.Text.ToString().Trim()/&b.shortname = this.textBox2.Text.ToString().Trim()&b.barcode = this.textBox3.Text.ToString().Trim()&b.bookconcern =this.textBox4.Text.ToString().Trim()&b.author = this.textBox5.Text.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号