毕业设计(论文)-基于CS模式的图书管理系统.doc_第1页
毕业设计(论文)-基于CS模式的图书管理系统.doc_第2页
免费预览已结束,剩余52页可下载查看

下载本文档

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

文档简介

毕 业 设 计(论 文)题 目: 图书管理系统 姓 名: 专 业: 软件技术 班 级: 指导教师: 日 期: 2012.5.15 毕 业 设 计 (论 文) 任 务 书专业 软件技术 班级 姓名 学号 一、毕业设计(论文)题目 图书管理系统 二、毕业设计(论文)工作自 2011年12月21日起至 2012年5月15日止三、毕业设计(论文)基本要求:1在老师的指导下进行论题调研。 学生接到毕业论文的任务后,必须认真了解论题所涉及的理论、现状、问题等方面的实际情况,搜集有关数据、图表及文献资料。 2在老师的指导下进行文献的检索。 必须广泛了解与论题有关的国内外研究现状,做好与自己论题有关的文献筛选,并把这些文献应用在自己论文的写作中。 3学生在论文安排开题后3周内写好论文大纲。大纲的主要内容包括本课题的研究现状和目前存在的问题;分析存在这些问题的原因,要有数据或者资料支持; 在分析的基础上,提出解决问题的思路或者办法。 4在2010年5月15日之前上交论文,并参加学校组织的论文答辩。 5本文在研究过程中采取的具体研究方法,如:调查法、案例分析法、文献研究法等方法。 6 认真撰写论文提纲、摘要、前言、正文、致谢、参考文献等内容;严禁抄袭,论文观点正确,论据充分,结构严谨,思路清晰,结论可行;按期交稿,4000字以上,按写作规范要求装订。 指导教师: 毕业设计(论文)考核评议书指导教师评语:建议成绩: 指导教师签名: 年 月 日答辩小组意见:负责人签名 年 月 日答辩小组成员 毕业设计(论文)答辩委员会意见: 负责人签名: 年 月 日摘 要图书馆管理信息系统是对学校图书进行全面信息管理的系统。该管理系统可以有效地管理学校图书资源,记录学校与读者之间的使用书籍情况。此外,根据读者的要求,实现书籍基本信息的输入,查询等几个方面的功能。本系统可以作为独立的系统使用,它包括借阅信息管理、书籍信息管理、读者信息管理、系统管理四个主要的功能模块。该管理系统力求给读者方便快捷的途径去及时了解书籍信息。针对各个模块不同的数据表实现添加记录、修改记录、删除记录、以及查询显示记录等功能,所有的操作方便而快捷,并全面实现了图书馆管理的各项功能。这篇论文主要讲述关于图书馆管理信息系统的信息,特别是讨论了关于设计该系统时的思想、方法和过程,以及在细节上分析函数和方法的实现思想。在本论文中讲述的图书馆管理信息系统拥有一个交互式的界面、逻辑的数据库结构。许多涉及到图书、读者的信息的功能在本系统中都有实现。例如,你可以将新书的信息插入到数据库的图书基本情况表里;还可以对已经插入的关于图书的信息进行修改;更重要的是,读者可以从图书馆里借阅书籍。经过多次的测试和运行,本系统能实现其在设计时的所有功能。关键字:c/s,数据库,asp,图书,读者 目录1.前言42.设计概述5 2.1设计目标5 2.2选择工具6 2.3运行环境6 2.4条件限制6 2.5业务流程6 2.6软件结构计7 3.需求分析7 3.1主要功能7 3.2系统性能要求8 3.3针对管理员需实现的基本功能9 3.3.1查询9 3.3.2读者信息维护9 3.3.3图书信息的维护9 3.4系统功能模块划分10 3.4.1日常工作管理10 3.4.2基本资料维护管理11 3.4.3查询管理11 3.4.4系统管理11 3.5 e-r图114.开发环境简介125.系统描述和界面设计14 5.1数据库描述14 5.2数据流图和数据词典16 5.3部分数据表设计18 5.4系统界面设计21 5.5 系统架构描述297.结论和展望32致 谢33参考文献34附 录35前言随着社会信息量的一日剧增,作为信息存储的主要媒体之一图书,数量,规模比以往任何时候都大的多,不论个人还是图书管理部门都需要使用方便而有效的方式来管理自己的书籍。在计算机日益普及的今天,对个人而言若采用一套行之有效的图书管理系统来管理自己的书籍,会方便许多。对图书管理部门而言,以前单一的手工检索已不能满足人们的需求,为了便于图书资料的管理需要有效的图书管理软件。计算机网络今年来获得飞速的发展,十年前,很少有人接触过网络,如今,计算机网络已经成为我们社会结构的一个基本组成部分。网络已被应用到人类生活的各个方面,人们通过网络通信吗,共享资源,网上超市吗,电子银行等 也应运而生,各个提供不同特色,不同内容的网站如雨后春笋般涌现。该软件采用功能强大的数据库软件开发工具进行开发,具有很好的可移植性,可在应用范围较广的windows系列等操作系统上使用。除此之外,图书管理系统已经成为方便了广大师生。学校与外界之间的沟通架起了一座桥梁。但是,这并不能满足目前师生的需要,比如一些特定的需要,要在管理方面特别不方便,因为它受到地域的限制太大。就目前情况而言急需充分利用网络方式的图书管理。我们的网络图书管理系统就是为了解决这个问题而设计的。基于这个问题,我认为有必要建立一个图书管理系统,是图书管理工作规范化,系统化,程序化,避免图书管理的随意性,提高信息处理的速度和准确性,能够及时,准确,有效的查询和修改图书的情况。2设计概述2.1 设计目标针对的用户是单个中小型图书室或者个人,藏书的种类数量较少,读者的数量和来源受到一定的限制。相应的需求有:1.系统设置需求有:(1).图书信息(2).管理员设置(3).参数设置(4).书架设置2.能够存储一定数量的图书信息,并方便有效的进行相应的书籍数据操作和管理,这主要包括: (1).图书信息的录入,删除,及修改。 (2).图书信息的关键字检索查询。 (3).图书的出借,返还和资料统计。 (4).图书类型设置,出版社设置,图书档案管理,图书注销3.能够对一定数量的读者进行相应的信息存储和管理,这其中包括: (1).读者信息的登记,删除和修改。 (2).读者资料的统计和查询。 (3).读者更改密码。4.系统查询进行管理方面,包括 : (1).图书档案查询。(2).图书借阅查询。(3).电子图书档案查询。(4).读者档案查询。(5).排行榜查询。5.能够提供一定的安全机制,提供数据信息授权访问,防止随意删改,同时提供信息备份的服务。2.2选择工具开法工具:asp后台数据库:sqlserver20052.3 运行环境 软件平台: windows xp中文本系统,vs2008以上版本2.4条件限制一个更为完善的图书管理系统,应提供更为便捷和强大的维护功能,。对于信息的保护手段限于管理员级别的,比较简单不能防止恶意的破坏,安全性能有待于进一步的完善。2.5业务流程流程图如下图所示: 系统业务流程图2.6软件结构设计依据需求分析阶段得到的数据流图,采用软件工程中软件设计的概念和原理,与用户成分协商后,在保证系统基本功能要求的前提下,结合系统新的业务流程确定系统必须具备的所有功能,由此给出图书管理系统功能模块图如下图:图书管理系统功能模块图3需求分析3.1主要功能经过以上详细的用户调查,在现行业务流程和数据分析的基础上,基本可以确定系统设计必须达到的目标。 以下是图书管理系统必须具备的功能:1.新进图书的登记功能:对于购进的新书,系统必须具备图书信息资料的录入功能。2.图书的查询修改功能:当图书资料发生变化,如图书丢失或有错误信息输入时,则应能够及时对数据进行修改和补充。3.借阅的登记,归还的登记功能:系统的主要功能之一,读者借阅图书、归还图书,并进行登记。4.读者信息的增加、删除和修改功能:系统主要功能之一,建立读者信息,并对其进行维护。5.读者可以修改密码。3.2系统性能要求为了保证系统能够长期、安全、稳定、可靠、高效的运行,图书管理系统应该满足以下的性能需求:1、系统处理的准确性和及时性系统处理的准确性和及时性是系统的必要性能。在系统设计和开发过程中,要充分考虑系统当前和将来可能承受的工作量,使系统的处理能力和响应时间能够满足学校对信息处理的需求。2、系统的开放性和系统的可扩充性图书管理系统在开发过程中,应该充分考虑以后的可扩充性。例如用户查询的需求也会不断的更新和完善。3、系统的易用性和易维护性图书管理系统是直接面对使用人员的,而使用人员往往对计算机并不时非常熟悉。这就要求系统能够提供良好的用户接口,易用的人机交互界面。要实现这一点,就要求系统应该尽量使用用户熟悉的术语和中文信息的界面;针对用户可能出现的使用问题,要提供足够的在线帮助,缩短用户对系统熟悉的过程。4、系统的标准性系统在设计开发使用过程中都要涉及到很多计算机硬件、软件。所有这些都要符合主流国际、国家和行业标准。5、系统的先进性目前计算系统的技术发展相当快,做为图书管理系统工程,在系统的生命周期尽量做到系统的先进,充分完成企业信息处理的要求而不至于落后。这一方面通过系统的开放性和可扩充性,不断改善系统的功能完成。另一方面,在系统设计和开发的过程中,应在考虑成本的基础上尽量采用当前主流并先进且有良好发展前途的产品。6、系统的响应速度图书管理系统系统在日常处理中的响应速度为秒级,达到实时要求,以及时反馈信息。在进行统计分析时,根据所需数据量的不同而从秒级到分钟级,原则是保证操作人员不会因为速度问题而影响工作效率。3.3针对管理员需实现的基本功能3.3.1查询书籍信息查询:管理员可以根据书籍名,书籍分类,书籍作者,编号,出版社等信息来检索查询图书馆的书籍,便于管理。读者信息查询:根据相应的读者资料进行所需查询(读者编号,读者姓名,读者种类)。3.3.2读者信息维护修改读者信息:管理员可以录入,修改,删除读者信息。修改密码:管理员可登录平台对遗忘密码的读者的密码进行修改3.3.3图书信息的维护包括新书的入库,以及现有书籍资料的修改和删除,方便读者的查询。管理员权限图如下图:管理者登录管理平台图书管理读者管理图书借阅管理系统管理 管理员权限图3.4系统功能模块划分图书管理系统需要实现的功能主要有日常工作管理,基本资料维护管理,查询管理和系统管理。其中日常工作管理和基本资料维护是整个系统的核心。如下图所示:图书管理系统查询基本资料维护系统维护日常工作 还书管理借书管理系统登录权限管理数据库管理读者资料的查询图书资料的查询图书资料的维护读者资料的维护 系统功能模块 3.4.1日常工作管理借书管理:主要功能是记录借阅证编号和图书编号,进行借书过程。在数据库中插入一条借书记录,该记录包括读者编号,图书编号,借出日期,还书日期,操作员编号。还书管理:主要功能是输入借阅证编号,图书编号,在借阅登记表中找到相应的记录,将该记录的相应数据插入到还书记录中,同时将借书记录删除,并保存在借阅历史记录表中。3.4.2基本资料维护管理包括图书资料维护,读者资料维护图书资料维护:包括新书的入库,以及现有书籍资料的修改和删除。读者资料维护:包括新读者的资料入库,以及现有读者资料的修改和删除。 3.4.3查询管理包括图书资料查询,读者资料查询图书资料查询:根据相应图书信息对所有书籍进行所需查询。次查询包括:“图书分类”,“图书编号”,“图书名称”,“作者”,“出版社”。读者资料查询:根据相应的读者资料进行所需查询。“读者编号”,“读者姓名“,”读者种类“。3.4.4系统管理系统的登录,标准数据管理系统的登录:管理员的登录。标准数据管理:用于常用数据的系统维护。3.5 e-r图书名图书类别图书类别联系方式编号作者出生日期价格借书 编号类别借阅出版社管理读者图书登记时间出版时间还书姓名性别管理员类型登记日期密码用户名4.开发环境简介c# .net简介c# (c sharp) 是微软对这一问题的解决方案。c#是一种最新的、面向对象的编程语言。它使得程序员可以快速地编写各种基于microsoft .net平台的应用程序,microsoft .net提供了一系列的工具和服务来最大程度地开发利用计算与通讯领域。正是由于c#面向对象的卓越设计,使它成为构建各类组件的理想之选无论是高级的商业对象还是系统级的应用程序。使用简单的c#语言结构,这些组件可以方便的转化为xml 网络服务,从而使它们可以由任何语言在任何操作系统上通过internet进行调用。.net是 microsoft xml 图书管理 平台。xml 图书管理 允许应用程序通过 internet 进行通讯和共享数据,而不管所采用的是哪种操作系统、设备或编程语言。microsoft .net 平台提供创建 xml 图书管理 并将这些服务集成在一起之所需。而.net framework是一个新的开发平台,它为局域网 (lan) 和 internet 上的分布式图书信息管理应用提供了一致和有效的支持。.net framework由两个主要部分组成:clr(通用语言运行时, common language runtime)和一组统一的类库,包括asp.net、ado.net、windows forms和其他能力。c#是一个语言,.net是一个平台,上面支持用c#或者vbdotnet写代码。 另外,c#不但可以开发基于.net的应用程序,也可以开发基于winform的程序,这就是区别。 若是单纯以概念来说,你可以把.net当做一个工作平台一般,它是一个开发环境的基底,提供你开发windows、web、mobile、xml.等应用程式一个共通的平台,若是要了解深一点,则再去了解其运作的相关机制那是有助于你利用它来开发.c#和.net主要是应用在网际网路. c#(读做c-sharp)编程语言是由微软公司的anders hejlsberg和 scott willamette领导的开发小组专门为.net平台设计的语言,它可以使程序员移植到.net上。这种移植对于广大的程序员来说是比较容易的,因为c#从c,c+和 java发展而来,它采用了这三种语言最优秀的特点,并加入了它自己的特性。 c#是事件的驱动的,完全面向对象的可视化编程语言,我们可以使用集成开发环境来编写c#程序。使用ide,程序员可以方便的建立,运行,测试和调试c#程序,这就将开发一个可用程序的时间减少到不用ide开发时所用时间的一小部分。使用ide迅速建立一个应用程序的过程称为快速反映开发。 . net 是 microsoft 的 xml web 服务平台。不论操作系统或编程语言有何差别,xml web 服务能使应用程序在 internet 上传输和共享数据。 microsoft .net 平台包含广泛的产品系列,它们都是基于 xml 和 internet 行业标准构建,提供从开发、管理、使用到体验 xml web 服务的每一方面。xml web 服务将成为您今天正在使用的 microsoft 的应用程序、工具和服务器的一部分 并且将要打造出全新的产品以满足您所有业务需求。 更具体地说,microsoft 正在五个方面创建 .net 平台,即工具、服务器、xml web 服务、客户端和 .net 体验。1、 泛型:在我看来,泛型就是通过将数据类型参数化从而实现了代码的更为灵活的复用,泛型的出现使得c#能够使用同一段代码来操作多种数据类型。泛型无疑是c#2.0最重大的改进,它的出现赋予了c#代码更强的类型安全,更好的复用,更高的效率和更清晰的约束。 2、 匿名方法:匿名方法允许我们将代码直接与委托实例相关联,使委托实例化工作更加直观和方便。在我看来,这只是c#又多了一种语法格式而已,不再像以前必须将方法名传给委托实例,而是又多了一种选择。 3、 迭代器:迭代器允许我们更加方便的编写用于foreach语句的类型。在我看来,迭代器的出现只不过是改进了1.0中不便的可用foreach语句类型的编写限制,简化了一些接口。 4、 局部类型:局部类型允许我们将一个类的代码分别写在不同的cs文件中。最典型的应用就是使用vs2005创建form文件时,vs会自动将系统生成的代码与用户代码分开。局部类型通过partial关键字来声明。 5、 空属类型:空属类型是一种像int,一样可以为空的变量类型。本质上是一种泛型的应用,是system .nullable的一种类型实例化。 6、 静态类:静态类是只用于包含静态成员的类型,它既不能实例化,亦不能被继承。5.系统描述和界面设计5.1数据库描述1.sql server 数据平台sql server 是一个全面的、集成的、端到端的数据解决方案,它为企业中的用户提供了一个安全、可靠和高效的平台用于企业数据管理和商业智能应用。sql server 2005 为it专家和信息工作者带来了强大的、熟悉的工具,同时减少了在从移动设备到企业数据系统的多平台上创建、部署、管理及使用企业数据和分析应用程序的复杂度。 通过全面的功能集、和现有系统的集成性、以及对日常任务的自动化管理能力,sql server 2005 为不同规模的企业提供了一个完整的数据解决方案。图1显示了sql server 2005数据平台的组成架构。2.sql server 数据平台包括以下工具:关系型数据库: 安全、可靠、可伸缩、高可用的关系型数据库引擎,提升了性能且支持结构化和非结构化(xml)数据。 复制服务: 数据复制可用于数据分发、处理移动数据应用、系统高可用、企业报表解决方案的后备数据可伸缩存储、与异构系统的集成等,包括已有的oracle数据库等。 通知服务: 用于开发、部署可伸缩应用程序的先进的通知服务能够向不同的连接和移动设备发布个性化、及时的信息更新。 集成服务: 可以支持数据仓库和企业范围内数据集成的抽取、转换和装载能力。 分析服务: 联机分析处理(olap)功能可用于多维存储的大量、复杂的数据集的快速高级分析。 报表服务: 全面的报表解决方案,可创建、管理和发布传统的、可打印的报表和交互的、基于web的报表。 管理工具: sql server 包含的集成管理工具可用于高级数据库管理和调谐,它也和其他微软工具,如mom和sms紧密集成在一起。标准数据访问协议大大减少了sql server和现有系统间数据集成所花的时间。此外,构建于sql server内的内嵌web service支持确保了和其他应用及平台的互操作能力。 开发工具: sql server 为数据库引擎、数据抽取、转换和装载(etl)、数据挖掘、olap和报表提供了和microsoft visual studio 相集成的开发工具,以实现端到端的应用程序开发能力。sql server中每个主要的子系统都有自己的对象模型和api,能够以任何方式将数据系统扩展到不同的商业环境中。 3.sql server 2005 数据平台为不同规模的组织提供了以下好处: 充分利用数据资产: 除了为业务线和分析应用程序提供一个安全可靠的数据库之外,sql server 2005也使用户能够通过嵌入的功能,如报表、分析和数据挖掘等从他们的数据中得到更多的价值。 提高生产力: 通过全面的商业智能功能,和熟悉的微软office系统之类的工具集成,sql server 2005为组织内信息工作者提供了关键的、及时的商业信息以满足他们特定的需求。sql server 2005目标是将商业智能扩展到组织内的所有用户,并且最终允许组织内所有级别的用户能够基于他们最有价值的资产数据来做出更好的决策。减少it复杂度: sql server 2005 简化了开发、部署和管理业务线和分析应用程序的复杂度,它为开发人员提供了一个灵活的开发环境,为数据库管理人员提供了集成的自动管理工具。 更低的总体拥有成本 (tco): 对产品易用性和部署上的关注以及集成的工具提供了工业上最低的规划、实现和维护成本,使数据库投资能快速得到回报。 5.2数据流图和数据词典1.图书类别管理基本信息流程图:添加记录修改记录输入图书类别资料检查是否注册类别图书类别编号查询记录流程图分析:图书类别基本信息的流动首先是以图书类别的编号为依据,来达到添加,修改,查询图书类别记录。同时。也对数据库中的图书类别表的编号进检查。2.图书信息管理基本信息流程图:添加记录修改记录图书信息删除记录检查是否注册输入图书信息资料图书编号查询记录流程图分析:图书基本信息的流动首先是以图书编号为流动方向的依据,来达到添加,修改,记录,删除图书记录。为了数据的一致性,进行这些操作的同时,也对数据库中的记录进行检查,检查是否有重复的记录。如有则不能进行添加。3.读者类别管理基本信息流程图:添加记录读者类别输入读者类别资料检查是否注册修改记录类别查询记录编号流程图分析:读者类别基本信息的流动首先是以读者类别编号为流动方向的依据,来达到添加,修改,查询读者类别记录。为了数据的一致性,进行这些操作的同时,也对数据库中的记录进行检查,检查是否有重复的记录。如没有则可进行添加。4.读者信息管理基本信息流程图:添加记录修改记录检查是否注册输入读者信息资料读者删除记录读者信息编号查询记录流程图分析:读者基本信息的流动首先是以读者类别编号为依据,来达到添加,修改,查询,删除读者信息记录。同时,也对数据库中的读者信息表的编号进行检查。5.借书管理基本信息流程图:添加记录检查是否注册读者类别输入借书信息资料借阅查询记录编号流程图分析:借书管理基本信息的流动首先是以借阅编号为流动方向的依据,来达到添加,修改,查询借书记录。为了数据的一致性,进行这些操作的同时,也对数据库中的记录进行检查,检查是否有重复的记录。如没有则可进行添加。6.还书管理基本信息流程图:借阅信息添加还书记录检查是否注册输入还书资料的信息借阅编号流程图分析:借阅管理部分是实现对各部分数据内容的添加和查询操作,在借阅信息中包括借阅编号,读者编号,读者姓名,书籍名称,出借日期和还书日期。并通过添加功能来达到借阅信息表的数据的更新,通过查询可使管理员很快的了解借阅信息,从而避免书籍的丢失现象产生。数据词典的作用是在软件分析和设计的过程中给人提供关于数据的描述信息。数据流图和数据词典共同构成系统的逻辑模型,没有数据词典数据流图就不严格,然而没有数据流图数据词典也难于发挥作用。只有数据流图和对数据流图的精确定义放在一起,才能共同构成系统的规格说明。5.3部分重要数据表设计1 管理员表字段名称字段类型是否为空是否主外键编号nvarchar(50)否是名称nvarchar(50)是否密码nvarchar(50)是否图书管理bit否否电子图书管理bit否否读者管理bit否否图书借还bit否否系统设置bit否否系统查询bit否否排行榜bit否否2读者表字段名称字段类型是否为空是否主外键idbigint否是编号nvarchar(50)否否姓名 nvarchar(50)是否性别nvarchar(50)是否出生日期smalldatetime否否有效证件nvarchar(50)是否证件号码nvarchar(50)是否联系方式nvarchar(50)是否登记日期smalldatetime是否操作员nvarchar(50)否否备注ntext否否图书借阅次数int否否图书借阅押金money否否图书借阅超期罚款money否否3书库表字段名称字段类型是否为空是否主外键idbigint否是条形码nvarchar(50)是否编号nvarchar(50)否否分类号nvarchar(50)是否书名nvarchar(50)是否类型nvarchar(50)是否作者nvarchar(50)是否译者nvarchar(50)是否isbnnvarchar(50)是否出版社nvarchar(50)是否价格money否否页码int是否书架名称nvarchar(50)是否现存量int否否库存总量int否否入库时间datetime是否操作员nvarchar(50)是否简介ntext是否借出次数int否否是否注销bit否否4图书丢失表字段名称字段类型是否为空是否主外键idbigint否是图书编号nvarchar(50)是否读者编号nvarchar(50)是否操作时间datetime是否操作员nvarchar(50)否否赔偿编号bitint否否5.图书借阅表字段名称字段类型是否为空是否主外键idint否是图书编号nvarchar(50)是否读者编号nvarchar(50)是否借阅时间datetime是否应还时间datetime是否操作员nvarchar(50)是否6.电子图书表字段名称字段类型是否为空是否主外键idbigint否是编号nvarchar(50)是否书名nvarchar(50)是否类型nvarchar(50)是否作者nvarchar(50)是否译者nvarchar(50)是否入库时间datetime是否操作员nvarchar(50)是否简介ntext是否保存路径nvarchar(50)是否 5.4系统部分界面设计 1进入系统的登陆界面如下图用户登陆界面2进入图书馆界面如下图:图书馆界面3进入管理员操作界面如下图:管理员操作界面4进入参数设置界面如下图:参数设置界面5进入书架设置界面如下图:书架设置界面6进入读者类型设置界面如下图:读者类型设置界面7进入读者档案管理界面如下图:读者档案管理界面8进入读者挂失和恢复界面如下图:读者挂失和恢复9进入图书类型设置界面如下图:图书类型设置界面10进入出版社设置界面如下图:出版社设置界面11进入图书档案管理界面如下图:图书档案管理界面12进入电子图书档案管理界面如下图:电子图书档案管理界面13进入图书借还界面如下图:图书借还界面14进入图书档案查询如下图:图书档案查询15进入图书借阅查询界面如下图:图书借阅查询界面16进入电子档案图书查询界面如下图:电子档案图书查询界面17进入读者档案查询界面如下图:读者档案查询界面18进入图书借阅排行榜界面如下图:图书借阅排行榜5.5系统架构描述系统中主要用到了三层架构(3-tier application)。 通常意义上的三层架构就是将整个业务应用划分为:表现层(ui)、业务逻辑层(bll)、数据访问层(dal)。区分层次的目的即为了“高内聚,低耦合”的思想。5.5.1.三层架构概念简介1、表现层(ui):通俗讲就是展现给用户的界面,即用户在使用一个系统的时候他的所见所得。 2、业务逻辑层(bll):针对具体问题的操作,也可以说是对数据层的操作,对数据业务逻辑处理。 3、数据访问层(dal):该层所做事务直接操作数据库,针对数据的增添、删除、修改、更新、查找等。 在软件体系架构设计中,分层式结构是最常见,也是最重要的一种结构。微软推荐的分层式结构一般分为三层,从下至上分别为:数据访问层、业务逻辑层(又或成为领域层)、表示层。 5.5.2.三层结构原理: 3个层次中,系统主要功能和业务逻辑都在业务逻辑层进行处理。 所谓三层体系结构,是在客户端与数据库之间加入了一个“中间层”,也叫组件层。这里所说的三层体系,不是指物理上的三层,不是简单地放置三台机器就是三层体系结构,也不仅仅有b/s应用才是三层体系结构,三层是指逻辑上的三层,即使这三个层放置到一台机器上。 三层体系的应用程序将业务规则、数据访问、合法性校验等工作放到了中间层进行处理。通常情况下,客户端不直接与数据库进行交互,而是通过com/dcom通讯与中间层建立连接,再经由中间层与数据库进行交互。 表示层:位于最外层(最上层),离用户最近。用于显示数据和接收用户输入的数据,为用户提供一种交互式操作的界面。 业务逻辑层:业务逻辑层(business logic layer)无疑是系统架构中体现核心价值的部分。它的关注点主要集中在业务规则的制定、业务流程的实现等与业务需求有关的系统设计,也即是说它是与系统所应对的领域(domain)逻辑有关,很多时候,也将业务逻辑层称为领域层。例如martin fowler在patterns of enterprise application architecture一书中,将整个架构分为三个主要的层:表示层、领域层和数据源层。作为领域驱动设计的先驱eric evans,对业务逻辑层作了更细致地划分,细分为应用层与领域层,通过分层进一步将领域逻辑与领域逻辑的解决方案分离。 业务逻辑层在体系架构中的位置很关键,它处于数据访问层与表示层中间,起到了数据交换中承上启下的作用。由于层是一种弱耦合结构,层与层之间的依赖是向下的,底层对于上层而言是“无知”的,改变上层的设计对于其调用的底层而言没有任何影响。如果在分层设计时,遵循了面向接口设计的思想,那么这种向下的依赖也应该是一种弱依赖关系。因而在不改变接口定义的前提下,理想的分层式架构,应该是一个支持可抽取、可替换的“抽屉”式架构。正因为如此,业务逻辑层的设计对于一个支持可扩展的架构尤为关键,因为它扮演了两个不同的角色。对于数据访问层而言,它是调用者;对于表示层而言,它却是被调用者。依赖与被依赖的关系都纠结在业务逻辑层上,如何实现依赖关系的解耦,则是除了实现业务逻辑之外留给设计师的任务。 数据层:数据访问层:有时候也称为是持久层,其功能主要是负责数据库的访问,可以访问数据库系统、二进制文件、文本文档或是xml文档。 简单的说法就是实现对数据表的select,insert,update,delete的操作。如果要加入orm的元素,那么就会包括对象和数据表之间的mapping,以及对象实体的持久化。5.5.3.三层架构优缺点1.优点 (1).开发人员可以只关注整个结构中的其中某一层; (2).可以很容易的用新的实现来替换原有层次的实现; (3).可以降低层与层之间的依赖; (4).有利于标准化; (5).利于各层逻辑的复用。 2.缺点(1).降低了系统的性能。这是不言而喻的。如果不采用分层式结构,很多业务可以直接造访数据库,以此获取相应的数据,如今却必须通过中间层来完成。 (2).有时会导致级联的修改。这种修改尤其体现在自上而下的方向。如果在表示层中需要增加一个功能,为保证其设计符合分层式结构,可能需要在相应的业务逻辑层和数据访问层中都增加相应的代码。5.5.4.三层架构与mvc的区别mvc(模型model-视图view-控制器controller)是一种设计模式,我们可以用它来创建在域对象和ui表示层对象之间的区分。 同样是架构级别的,相同的地方在于他们都有一个表现层,但是他们不同的地方在于其他的两个层。 在三层架构中没有定义controller的概念。这是我认为最不同的地方。而mvc也没有把业务的逻辑访问看成两个层,这是采用三层架构或mvc搭建程序最主要的区别。当然了。在三层中也提到了model,但是三层架构中model的概念与mvc中model的概念是不一样的,“三层”中典型的model层是以实体类构成的,而mvc里,则是由业务逻辑与访问数据组成的。结论和展望经过这次开发基于图书管理的图书管理系统系统的设计与实现的毕业设计,使我对图书管理有较深的认识及体会。在本开发系统时,由于是本人初次接触有关图书管理领域;在知识、经验方面都存在着太多的不足。另外,在开发的整个过程中,时间也较仓促。因此,该系统必然会存在很多不足。因为对整个图书信息管理的管理模式不够了解及对整个系统的流程不够熟悉,在需求分析阶段用户的需求未能做到完全满足,如系统还没做到请假信息的管理,不能从考核信息中得出考核工资等等。在系统功能上,还有部分问题是我还没有考虑到的,所以本系统还有继续开发一定空间。本系统具有如下特点:1.采用c/s三层体系结构,使系统具有很好的可维护性和可重用性。2. 在本系统的开发过程中采用的是三层架构开发模式,该模式将分为表现层(ui)、业务逻辑层(bll)、数据访问层(dal)。区分层次的目的即为了“高内聚,低耦合”的思想。3.后台采用的sqlserver2005数据库,sqlserver2005通过数据库镜像将自动失效转移建立到一个待用服务器上,增强了sql服务器系统的可用性。数据库加密,设置安全默认值,增强密码政策,缜密的许可控制,以及一个增强型的安全模式可以再数据库安全性能上改进。在整个设计中我懂得了许多东西,也培养了我独立工作的能力,树立了对自己工作能力的信心,相信会对今后的学习工作生活有非常重要的影响。使我充分体会到了在创造过程中探索的艰难和成功时的喜悦。虽然这个设计做得不太好,但是在设计过程中所学到的东西是这次毕业设计的最大收获和财富,使我终身受益。 致谢转眼间,三个月的毕业设计马上就要过去了,随之我的大学生活也要结束了。大学生活总是使人难忘,特别是在毕业设计最后阶段令我的更加记忆深刻。首先我要感谢我的校内和校外导师。在做毕业设计的三个月中,是他们一直在各方面给予我指导和关怀,使我能够顺利地完成毕业设计。他们渊博的学识、仔细认真的态度、对问题深刻的分析以及对我热情的指导和鼓励,都给我留下了深刻的印象,使我终身难忘。虽然我不在校内实习,但是老师对我也是十分的负责,使我对本系统设计从需求分析到总体分析、总体设计、功能模块划分、程序实现以及测试、调试方面有了正确的方向。在此,要对老师表示衷心的感谢。老师认真负责的工作态度,严谨的治学精神和深厚的理论水平都使我受益匪浅。他无论在理论上还是在实践中,都给予我很大的帮助,也使我在很大方面都得到了很大的提高,感谢他耐心的辅导。本系统开发的成功,是对我几年来的大学学习生活所作的总结,通过它扩大了知识面,也增加了不少实践的经验,为以后的学习生涯打下了坚实的基础。同时,也要感谢在我大学几年的学习、生活中给予我关怀的老师和同学,更要感谢我的家人对我学业上的支持和鼓励,感谢所有关心帮助过我的人,感谢学校!参考文献1、前乐秋等,软件工程m,北京:清华大学出版社,2007年12月。2、hersh bhasin著,高健、英宇译,asp.net专业项目实例开发m,北京:中国水利水电出版社,2007年1月。3、朱印宏编著,asp.net 基础与案例教程m,北京:中国水利水电出版社,2007年6月。4、李勇平、陈峰波编著,asp.net(c#)基础教程m,北京:清华大学出版社,2006年2月。5、杨云、王毅编著,

温馨提示

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

评论

0/150

提交评论