图书系统 罗生存组,李建武,何月甫.doc_第1页
图书系统 罗生存组,李建武,何月甫.doc_第2页
图书系统 罗生存组,李建武,何月甫.doc_第3页
图书系统 罗生存组,李建武,何月甫.doc_第4页
图书系统 罗生存组,李建武,何月甫.doc_第5页
已阅读5页,还剩10页未读, 继续免费阅读

下载本文档

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

文档简介

数据结构课程设计报告图书管理系统题目:图书管理系统组长:罗生存 成员: 李建武 何月甫开发日期:2011-12-30图书管理网站团队构成及分工:职能成员任务分工组长罗生存组员李建武何月甫1统总体分析实训意义:本文主要介绍这套基于ASP.NET的图书管理系统,详细介绍了系统分析、系统设计和数据库设计的一些思路和方法。另外,在系统设计这一章节列出了实现图书管理过程的详细算法。该系统凭借WEB服务器和客户的浏览器,利用电子工具高效率、低成本的特点,为客户提供交易平台,使用户可以查阅图书、搜索各类图书,为用户提供便捷的服务。关键词:图书管理、校园图书查询、ASP.NET实训目标、内容、准备解决的问题:1、目标:针对传统购物模式中耗费人力、物力的弊端,开发出基于ASP.NET的图书管理系统,实现用户对图书的快速查询。( 1 ). 提供良好的用户界面,减少了用户及网站管理员的工作量;(2)系统代码精简,运行效率高;(3)系统扩展性强;(4)锻炼队伍,提高团队的开发能力和项目管理能力;2、内容:对基于图书查询过程进行分析,列出逻辑实现过程,对系统进行逻辑设计和数据库设计,模拟出包括对图书进行浏览、搜索、添加、修改以及对用户信息进行查看、添加、修改等管理功能。3准备解决的问题:减少以往借书时出现的种种尴尬局面(价格、详细信息的不了解)进行的系统的改善,使用户可以轻轻松松地看到自己想要用的图书。拟采取的方法、技术或设计(开发)工具:课题的开发环境采用Microsoft Visual Studio 2008 + Microsoft Sql Server 2005的开发模式,开发语言是C#。设计要求1、认真分析图书系统实现的功能,熟悉其主要操作,充分做好需求分析、设计的内容;依据数据库设计的原则对数据库进行设计。2、本系统完成后应该初步模拟出对图书管理等功能的全部过程,对于图书信息能够方便快速地录入,以及对不同类别的信息进行相应的管理。通过本系统,最终实现图书管理的便利化和快捷化。3、依据所开发的系统撰写相应论文。2系统功能需求分析为了实现校园里学生借书时出现的种种尴尬局面,所以开发出了图书管理系统,本系统可以让读者方便地查看到所需图书的详细信息。根据图书管理系统的逻辑过程,同时参考、分析目前高校里已有的相关图书管理系统,本系统的主要功能需求分为图书查询和系统管理两大模块。其中图书查询模块的功能由读者使用,可以进行各类图书信息的浏览,如果是注册会员那么可以对本系统进行相应的操作。系统管理功能由管理员使用,可以实现注册会员管理、图书信息管理。3.系统设计3.1 总体结构设计系统结构和功能是系统设计的核心部分,通过系统结构图可以清楚的看出整个系统的结构。针对每个结构模块分别做分析,为以后的设计和实现打下基础。根据功能需求,本系统总体上图书查询和系统管理模块,图书查询模块功能读者使用,系统管理模块功能供管理员使用。系统总体结构如图3-1所示。 图书管理系统图书管理模块系统管理模块图3-1系统总体结构图3.2 模块功能设计本系统分图书管理模块和系统管理模块,每个模块又有若干个子模块构成,其中图书管理模块主要包括:图书浏览、图书查询等子模块。系统管理模块主要包括:用户信息浏览、用户信息管理等子模块。3.3 数据库设计系统分析结束后进入设计阶段,抽象地分析数据,理解数据之间的关系,建立E-R模型,然后对数据库进行概念结构设计和逻辑结构设计。由于SQL Server 2005能够以极高的效率完成各种数据库查询,并能方便的使用存储过程,同时它的图形化用户界面,使系统管理和数据库管理更加直观、简单。另外由于对Web技术的支持,使用户能够很容易地将数据库中的数据发布到Web页面上。所以本系统采用了SQL Server 2005进行数据库的存储管理与维护。3.3.1 概念结构设计将需求分析得到的用户需求抽象为信息结构即概念结构设计,这一步是数据库设计的关键。一般采用自底向上的方法进行数据抽象和结构设计。在本系统中涉及到的实体如下所示:1. 图书表(ID、Bookname、Author、Publisher、Email、bookType、price、hyprice、imgurl)2. 会员表(userName、Pwd、Email) 3.3.2 逻辑结构设计系统数据库设计的优劣直接影响到以后网站与数据连接的速度和更新查询的复杂度。本节介绍本系统基于关系数据库的数据库总体结构设计及数据表的设计。本系统的数据库设计是在系统功能分析后,依据系统的需求目标而做出的设计。本系统为基于ASP.NET的图书管理系统,所以最重要的数据表就是存放图书信息数据表、注册会员信息表。表3-1为本系统所涉及到的数据表3.3.3 数据表详细设计各个数据表之间主键和外键之间存在某种关系4章 系统实现总体设计阶段完成了软件的结构设计,划分了模块,并规定了各个模块的功能及他们之间的联系。在此之后,按软件开发工程化的观点,应进入系统的详细设计阶段,即系统实现。该阶段的根本目标是确定应该怎样实现所要求的系统,给出软件模块结构中各个模块的内部过程描述。本章将分模块对系统的实现给予介绍。4.1 系统公共类的实现本节介绍系统使用的公共类,如数据库访问通用类(用于返回数据集、对象、受影响行数等)、用于完成购物功能的类等。编写公共类可以在其他页面中直接调用公共类的方法、属性,避免重复代码的编写,有利于系统代码的维护和日后系统的升级。4.1.1 数据库操作类的实现数据库操作类用于根据系统功能的要求返回一个数据集、一个object对象(即:返回首行首列)、受影响行数(适合于对数据库的增删改操作)、SqlDataReader等。实现这些功能的是四个静态函数,其中每个静态函数又根据是否传入SqlParameter参数进行了重载。由于它们都是静态函数,而静态函数成员不能作用于具体的实例,所以在调用这些方法的时候可以直接用类名加函数名即可。下面仅列出返回数据集方法的实现算法,其他方法的实现逻辑大致相同:public class DataBase声明一个数据库连接对象 dbStrCon; public static DataSet ReDataSet(传入的Sql语句参数 FillSql, 传入的Sql参数列表 commandParameters) 利用在web.config配置文件中定义的全局变量为dbStrCon新分配一个数据库连接对象; if(数据库连接处于关闭状态)打开数据库连接dbStrCon; 声明一个数据库命令对象 cmd ;指定cmd的数据库连接对象为dbStrCon,命令文本为FillSql,命令类型为文本型; if (commandParameters 不为空) foreach (声明一个临时Sql参数 in commandParameters) 为Sql命令对象添加commandParameters中的所有Sql参数 声明一个Sql数据适配器ada,并指定其Sql命令为cmd; 声明一个DataSet数据集 dsResul; 利用数据适配器ada填充数据集 dsResul 清空Sql命令cmd里面的所有Sql参数; if(数据库连接处于打开状态)关闭数据库连接dbStrCon; 返回执行查询后的数据集 dsResult;public static DataSet ReDataSet(传入的Sql语句参数 FillSql) 为dbStrCon新分配一个数据库连接对象; if(数据库连接处于关闭状态)打开数据库连接dbStrCon; 声明一个数据适配器ada,并指定其Sql语句为FillSql,数据库连接对象为dbStrCon; 声明一个DataSet数据集 dsResul; 利用数据适配器ada填充数据集 dsResul if(数据库连接处于打开状态)关闭数据库连接dbStrCon; 返回执行查询后的数据集 dsResult;4.1.2 购物车类的实现在线购物网站中购买者可以在不同的页面进行购物,而在不同页面所选购的货物最终都是放到同一个购物车里。所以要编写一个购物车类进行处理用户的购物过程,这样可以节省不必要的重复编写代码的时间,有利于维护和功能上的扩充。当用户在购物页面点击了”购买”按钮之后,将该商品的ID传入类中进行处理,根据用户单击的次数和商品的ID确定要购买的数量和商品,同样可以直接在购物车页面中编辑所需货物的数量。系统将这些信息使用Hashtable类进行存储,在用户提交购物车信息之前,Hashtable中的数据将暂时保存在Session会话变量中。在提交购物车之后,将写入数据库,实现过程的伪代码如下所示:public class ShopCar : System.Web.UI.Page 声明一个购物的DataSet数据集goodSet; 声明一个静态的String对象hh; public void godataset(string id) /向Hashtable中添加购商品id和数量 if (如果Session会话中变量bus的值为空) 声明一个哈希表变量 ht; 往ht中加入一个”键为id、值为1”的键值对; 将ht赋值给Session会话中的变量bus; 调用dafill()方法将商品信息添加到ht中; else 定义一个哈希表ht,并将其赋值为Session会话中的变量bus; if (哈希表ht中键为id的键值对为空) 将ht中键为id的键值对的值设定为1; else 将ht中键为id的键值对的值+1 将ht赋值给Session会话中的变量bus; 调用dafill()方法将商品信息添加到ht中; public void dafill(Hashtable ht) /查询商品信息添加到数据集中清空购物的DataSet数据集 goodSet;foreach (字典键值对de in ht)将hh赋值为字典键值对de中键;声明一个数据适配器datap,并指定其Sql语句为”从商品信息表中查出”,数据库连接对象为根据web.config文件中的连接字符串新建的数据库连接对象; if (如果数据适配器datap不为空) 用datap填充DataSet数据集goodSet; 4.2 销售模块的实现系统销售模块主要包括:商品展台、购物车、会员管理、新闻管理、注销登录等子模块。在本节中将以首页、购物车和特价商品的展示为例介绍系统销售模块各个子模块的实现过程。4.2.1 销售模块基本框架的实现本系统采用户控件来保持每个页面风格的一致性,其中销售模块首页布局如图4-1所示。4-1模块首页界面图4.2.2销售模块购物车功能的实现购物车如同生活中用到的购物清单,通过它可以清晰的知道已购的商品名称、数量、价格等信息,当用户以会员身份登陆后,单击商品中的”购买”按钮,就可以将商品信息添加到购物车中去,购物车中需要存储所有已选购商品的ID号、商品名称、数量和单价等信息。购物车根据用户单击”购买”按钮的次数或者提交购物车信息之前手动修改的数量来确定购买商品的数量。购物车页面设计效果如图4-2示4-3销售模块购物车截面图在本模块中主要是通过DataList控件来显示商品已选购信息的,通过在DataList控件的项模板中添加表格来控制购物车显示的内容,同时在后台代码中为DataList控件的ItemDataBound事件手动添加响应代码,用来计算各种商品的合计金额和购买商品的总金额,并在DataList控件中使用FindControl方法查找DataList控件中的显示控件显示信息。核心代码如下:if (rowid.ToString() = (Label)e.Item.FindControl(id).Text.ToString() (Label)e.Item.FindControl(count).Text = (Hashtable)(Sessionbus)rowid.ToString().ToString();4.3 系统管理模块的实现系统管理模块主要包括:商品管理、订单管理、会员管理、新闻管理、注销登录等子模块。在本节中将以系统登录、商品管理和会员管理为例介绍系统管理模块各个子模块的实现过程。4.3.1 系统登录功能的实现为了系统的安全性,系统管理模块必须由成功输入管理员信息的用户才能进入,同时在管理员成功登录后将其登录信息存入Session会话变量。同时在系统管理模块的非登录页面,当页面第一次加载的时候判断Session中是否存在管理员的登录信息,这样就可防止用户通过在地址栏中直接键入系统管理页面的地址、绕过登录页面直接进入系统管理模块。系统登录页面的设计如图4-3示。4-3统管理模块登陆界面图4.3.2 商品管理功能的实现在线购物系统中,对于商品信息的管理是系统管理模块中最主要的子模块。一个好的在线购物系统必须要有一个强大的商品管理模块,主要实现对商品信息的管理,包括分页显示商品信息、添加商品信息、修改商品信息和删除商品信息等功能。下面以添加商品信息为例介绍本模块的实现过程,系统管理模块添加商品信息页面的设计如图4-4示。4-4统管理模块添加商品界面图4.3.3 会员管理功能的实现在线购物系统中,对会员信息的有效管理是保证会员数据不丢失、维护会员合法权益的重要保证。本系统中会员管理功能包括增加会员和删除会员信息。下面以增加会员信息为例说明会员管理功能的实现过程,增加会员信息页面的设计如图4-5示。4-5统管理模块增加会员界面图总结从本系统的开发过程中,我受益匪浅。首先,我认识到了代码规范的重要性,特别是在一些大型项目中,用到的函数可能有数百个,如果编写的代码不规范会给后期的检查带来极大的麻烦。而且完整的代码测试也非常重要,有些错误可能在很久以后才能发现。其次,我意识到了软件设计的重要性,原来接触的项目往往是快速开发类型

温馨提示

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

评论

0/150

提交评论