《图书管理系统 罗生存组,李建武,何月甫.pdf》由会员分享,可在线阅读,更多相关《图书管理系统 罗生存组,李建武,何月甫.pdf(11页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、ASP.NET 课程设计报告 图书管理系统 题目:图书管理系统 组长:罗生存成员:李建武、何月甫 开发日期:2011-12-30 图书管理网站图书管理网站 团队构成及分工团队构成及分工:职能职能 成员成员 任务分工任务分工 组长组长 罗生存罗生存 数据库表的建立及数据的整理数据库表的建立及数据的整理 组员组员 李建武李建武 前台代码的编写及后台部分代码的编写前台代码的编写及后台部分代码的编写 何月甫何月甫 后台代码的编写和文档的整理后台代码的编写和文档的整理 1系系统总体分析统总体分析 实训意义实训意义:本文主要介绍这套基于 ASP.NET 的图书管理系统,详细介绍了系统分析、系统设计和数据库
2、设计的一些思路和方法。另外,在系统设计这一章节列出了实现图书管理过程的详细算法。该系统凭借 WEB 服务器和客户的浏览器,利用电子工具高效率、低成本的特点,为客户提供交易平台,使用户可以查阅图书、搜索各类图书,为用户提供便捷的服务。关键词:关键词:图书管理、校园图书查询、图书管理、校园图书查询、ASP.NET 实训目标、内容、准备解决的问题实训目标、内容、准备解决的问题:1、目标:针对传统图书浏览模式中耗费人力、物力的弊端,开发出基于ASP.NET 的图书管理系统,实现用户对图书的快速查询。(1).提供良好的用户界面,减少了用户及网站管理员的工作量;(2)系统代码精简,运行效率高;(3)系统扩
3、展性强;(4)锻炼队伍,提高团队的开发能力和项目管理能力;2、内容:对基于图书查询过程进行分析,列出逻辑实现过程,对系统进行逻辑设计和数据库设计,模拟出包括对图书进行浏览、搜索、添加、修改以及对用户信息进行查看、添加、修改等管理功能。3准备解决的问题:减少以往借书时出现的种种尴尬局面(价格、详细信息的不了解)进行的系统的改善,使用户可以轻轻松松地看到自己想要用的图书。拟采取的方法、技术或设计(开发)工具:拟采取的方法、技术或设计(开发)工具:课题的开发环境采用Microsoft Visual Studio 2008+Microsoft Sql Server 2005的开发模式,开发语言是 C#
4、。设计要求设计要求 1、认真分析图书系统实现的功能,熟悉其主要操作,充分做好需求分析、设计的内容;依据数据库设计的原则对数据库进行设计。2、本系统完成后应该初步模拟出对图书管理等功能的全部过程,对于图书信息能够方便快速地录入,以及对不同类别的信息进行相应的管理。通过本系统,最终实现图书管理的便利化和快捷化。3、依据所开发的系统撰写相应论文。2 系统功能需求分析系统功能需求分析 为了实现校园里学生借书时出现的种种尴尬局面,所以开发出了图书管理系统,本系统可以让读者方便地查看到所需图书的详细信息。根据图书管理系统的逻辑过程,同时参考、分析目前高校里已有的相关图书管理系统,本系统的主要功能需求分为图
5、书查询和系统管理两大模块。其中图书查询模块的功能由读者使用,可以进行各类图书信息的浏览,如果是注册会员那么可以对本系统进行相应的操作。系统管理功能由管理员使用,可以实现注册会员管理、图书信息管理。3.系统设计系统设计 3.1 总体结构设计总体结构设计 系统结构和功能是系统设计的核心部分,通过系统结构图可以清楚的看出整个系统的结构。针对每个结构模块分别做分析,为以后的设计和实现打下基础。根据功能需求,本系统总体上图书查询和系统管理模块,图书查询模块功能读者使用,系统管理模块功能供管理员使用。系统总体结构如图 3-1 所示。图书管理系统 图书管理模块 系统管理模块 图 3-1 系统总体结构图 3.
6、2 模块功能设计模块功能设计 本系统分图书管理模块和系统管理模块,每个模块又有若干个子模块构成,其中图书管理模块主要包括:图书浏览、图书查询等子模块。系统管理模块主要包括:用户信息浏览、用户信息管理等子模块。3.3 数据库设计数据库设计 系统分析结束后进入设计阶段,抽象地分析数据,理解数据之间的关系,建立 E-R 模型,然后对数据库进行概念结构设计和逻辑结构设计。由于 SQL Server 2005 能够以极高的效率完成各种数据库查询,并能方便的使用存储过程,同时它的图形化用户界面,使系统管理和数据库管理更加直观、简单。另外由于对Web 技术的支持,使用户能够很容易地将数据库中的数据发布到 W
7、eb 页面上。所以本系统采用了 SQL Server 2005 进行数据库的存储管理与维护。3.3.1 概念结构设计概念结构设计 将需求分析得到的用户需求抽象为信息结构即概念结构设计,这一步是数据库设计的关键。一般采用自底向上的方法进行数据抽象和结构设计。在本系统中涉及到的实体如下所示:1.图书表(ID、Bookname、Author、Publisher、Email、bookType、price、hyprice、imgurl)2.会员表(userName、Pwd、Email)3.3.2 逻辑结构设计逻辑结构设计 系统数据库设计的优劣直接影响到以后网站与数据连接的速度和更新查询的复杂度。本节介绍
8、本系统基于关系数据库的数据库总体结构设计及数据表的设计。本系统的数据库设计是在系统功能分析后,依据系统的需求目标而做出的设计。本系统为基于 ASP.NET 的图书管理系统,所以最重要的数据表就是存放图书信息数据表、注册会员信息表。表 3-1 为本系统所涉及到的数据表 3.3.3 数据表详细设计数据表详细设计 各个数据表之间主键和外键之间存在某种关系 4 章系统实现章系统实现 总体设计阶段完成了软件的结构设计,划分了模块,并规定了各个模块的功能及他们之间的联系。在此之后,按软件开发工程化的观点,应进入系统的详细设计阶段,即系统实现。该阶段的根本目标是确定应该怎样实现所要求的系统,给出软件模块结构
9、中各个模块的内部过程描述。本章将分模块对系统的实现给予介绍。4.1 4.1 系统公共类的实现系统公共类的实现 本节介绍系统使用的公共类,如数据库访问通用类(用于返回数据集、对象、受影响行数等)。编写公共类可以在其他页面中直接调用公共类的方法、属性,避免重复代码的编写,有利于系统代码的维护和日后系统的升级。4.1.1 数据库操作类的实现数据库操作类的实现 4.3.14.3.1 系统登录系统登录功能的实现功能的实现 为了系统的安全性,系统书库模块必须由成功输入用户信息的用户才能进入,同时在用户成功登录后将其登录信息存入 Session 会话变量。同时在系统管理模块的非登录页面,当页面第一次加载的时
10、候判断 Session 中是否存在用户的登录信息,这样就可防止用户通过在地址栏中直接键入系统管理页面的地址、绕过登录页面直接进入系统管理模块。系统登录页面的设计如图 4-3 示。4.3.4.3.2 2 系统系统图书管理功能的实现图书管理功能的实现 在此模块中,可以实现实现图书按 ID,bookname,auther 三个关键字段进行查询。并且可以增加,修改,删除图书。对 ID 编号进行查询:对图书名进行查询:对作者进行查询:选择图书,可以显示图书的相关信息,并且可以对图书进行编辑,删除,并且可以新建图书:4-3 系统图书模块管理界面图 4.3.4.3.3 3 系统系统用户管理功能的实现用户管理
11、功能的实现 在此模块中,可以实现用户信息的修改和删除。总结总结 从本系统的开发过程中,我受益匪浅。首先,我认识到了代码规范的重要性,特别是在一些大型项目中,用到的函数可能有数百个,如果编写的代码不规范会给后期的检查带来极大的麻烦。而且完整的代码测试也非常重要,有些错误可能在很久以后才能发现。其次,我意识到了软件设计的重要性,原来接触的项目往往是快速开发类型的,几乎不需要在软件的逻辑设计上花费太多时间,往往可以边开发边进行下一步的设计。但是这一次我们意识到做软件设计很重要,当初一个设计没注意,可能造成后来的编码大面积的返工。最后就是调试方法的重要性,系统的调试过程要比开发过程繁琐的多。每个操作、
12、每次向服务器提交请求,其实都包括了很多小段代码的执行,如果不能够采用正确的调试方法,就很难找出程序中的错误。系统开发过程中主要遇到了下列问题:忽略了每次向服务器提交请求后客户端页面都将重新加载的情况,以致无法将预期的数据提交到服务器。在本系统编写的过程中主要遇到的问题有:第一设计文档的重要性。在系统开发之前一定要把系统的设计做好,包括系统数据库设计、系统的架构、业务逻辑分析、抽象出基本类和他们的关系、系统的功能模块划分等。由于时间比较紧张,前期设计工作没有做到位,导致开发工程中重复修改,系统代码有点冗余,部分代码没有有效重用。第二,测试的尴尬。我们三人在做完每个功能块后,一定测试一下,由于时间比较紧张,后来的部分代码没来得及测试,由于我们前期设计方面的工作没做到位,竟然发现有的功能还没有实现,比如为老师分配课程和某些验证。痛定思痛,一是由于前期系统设计考虑不到位,另一方面也是自己没有做好测试,没有对系统的设计做测试,对于系统的测试有惯性思维,用自己的开发思路测试,结果发现不了一些问题。测试最好还是让别人来做,这就是旁观者清吧。应该对自己的整体设计做好测试之后再进行开发,尽量避免后期因为系统设计的不足带来的难题。