基于出入库管理模块实验室设备管理系统的毕业设计.doc_第1页
基于出入库管理模块实验室设备管理系统的毕业设计.doc_第2页
基于出入库管理模块实验室设备管理系统的毕业设计.doc_第3页
基于出入库管理模块实验室设备管理系统的毕业设计.doc_第4页
基于出入库管理模块实验室设备管理系统的毕业设计.doc_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

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

文档简介

实验室设备管理系统设备出入库管理模块基于出入库管理模块实验室设备管理系统的毕业设计目录摘要1Abstract1目录2第1章引言11.1研究背景11.2论文研究内容和意义11.2.1论文研究内容11.2.2论文研究意义11.3论文组织结构2第2章相关应用技术32.1B/S模式32.2设计模式52.2.1设计模式概述52.2.2设计模式分类62.3AJAX92.3.1AJAX概述92.3.2ASP.NET AJAX Control Toolkit介绍112.4水晶报表132.4.1水晶报表概述132.4.2拉(pull)模型152.4.3推(push)模型15第3章系统需求分析163.1需求概述163.1.1功能需求163.1.2性能需求163.1.3运行需求173.2数据流图173.2.1用户登录173.2.2设备信息查询173.2.3设备出入库管理183.3E-R图183.3.1设备E-R图183.3.2一般管理员E-R图193.3.3系统E-R图19第4章系统总体设计204.1系统总体结构204.2系统功能模块设计214.2.1信息查询模块214.2.2设备出入库管理模块224.2.3例行报表统计224.3数据库逻辑设计224.3.1设备信息表及其附属表224.3.2设备调拨表244.3.3设备报损表244.3.4设备报废表254.3.5设备报丢表254.3.6设备报修表254.3.7设备出库表264.3.8数据库关系图264.4系统体系结构274.5开发环境、开发工具及平台284.5.1开发环境284.5.2开发平台的选择28第5章系统详细设计和实现295.1数据访问层的设计295.1.1DataAccess组件设计295.1.2DataAccess组件实现325.2业务逻辑层的设计355.3用户界面层的设计405.4打印报表45第6章总结与展望476.1总结476.2展望48参考文献:49致谢5051计算机与信息科学学院计算机科学与技术第1章 引言1.1 研究背景随着高校管理变革的逐步推进、实验室建设的进一步规范化、复杂化,高校设备管理在学校的正常教学活动中越来越重要。为适应高等教育的发展,设备管理工作所涉及的设备计划、采购、验收入库、档案资料、调入调出、维修报废等各个环节,都应加大改革步伐,努力实现管理工作现代化,采用一些新的管理方法和技术手段,才能使设备管理工作更符合高校发展的需要。 在当前的形式下,学校一方面受到教育经费投入不足的影响,另一方面学校的现有资源不能被充分利用,许多学校还存在重复低水平购置,现有教学资源浪费严重的情况,造成这种情况的原囚是多方面的,其中一个重要的因素是学校实验室及设备的管理落后于学校的发展,提高学校实验室的管理水平,实现学校实验室及设备管理的计算机管理,是十分必要和迫切的。1.2 论文研究内容和意义1.2.1 论文研究内容1)设计模式的使用:通过设计模式的使用,可以降低各个模块之间的耦合度,从而解决了重复开发、代码复用率低、功能模块移植量大等问题,从而提高软件设计的质量,提高系统的稳定性、可维护性和可复用性。2)水晶报表的使用:Windows下输出报表很容易,也容易打印,但在Web环境下,输出打印报表就有一定的难度,利用VS.NET内嵌的Crystal Reports进行报表开发,既能快速的开发报表,又能导出复杂的交互性图表,并动态的将报表导出.pdf,.doc,.xls, html,rtf等多种格式。 3)AJAX的使用: AJAX是一种创建交互式网页应用的网页开发技术。AJAX使得客户端可以在不刷新页面的情况下与服务器进行交互。AJAX技术使得页面和服务器的直接通讯可以使用异步操作,从而不需打断用户的操作,使得页面具有更快速的响应能力,并且还减少了页面与服务器的通讯量,提高了系统的性能。1.2.2 论文研究意义 实验室工作是高等教学工作中不可分割的一部分,也是培养学生工程创新能力的重要途径。只有运用科学的工具与手段来采集信息、进行数据处理,才能全面、综合地利用信息资源,设备管理人员才能及时准确地掌握各自管辖范围内各类设备的分布情况、新旧程度、使用状态和设备内部流动情况,才能以此推动实验室管理技术的进步,改善和加强实验室管理,辅助管理决策,全面提升实验室的管理水平。随着我校招生规模的不断扩大,学校加大了对实验室设备的投入,设备仪器数量大增。由于学校以前用的设备管理软件着重于对静态信息的管理,已不在满足当前的需求,且存在平台落后,标准不统一的问题,从而出现某些设备长期闲置,重复购置等现象。为了提高学校的办公效率,减少资金浪费现象,我们以实现设备信息全过程管理为目的,结合学校实验室管理特点,基于.NET构架的通用实验室设备管理系统的体系结构、系统开发的主要技术、系统功能的实现及系统在学校的应用,进行了对基于WEB的高校实验室设备管理系统的研究和开发。1.3 论文组织结构 本文由五章组成,各章内容如下: 第一章:引言。主要说明研究背景,论文研究内容和意义。 第二章:相关应用技术。本章主要介绍B/S模式、设计模式、AJAX、水晶报表等相关知识。 第三章:系统需求分析。本章介绍了需求概况,模块涉及的DFD图,E-R图。第四章:系统总体设计。本章介绍了系统总体结构、系统功能模块设计、数据库逻辑设计、系统体系结构、开发环境、开发工具及平台。第五章:系统详细设计与实现。本章介绍了实验室设备管理系统的数据访问层、打印报表、出入库管理模块用户界面和业务逻辑层的设计和实现。 第六章:总结与展望。对本课题的工作做总结,并提出下一步的工作内容。第2章 相关应用技术2.1 B/S模式B/S模式(Browser/Server Mode)即浏览器/服务器模式。它是随着Internet技术的兴起,对C/S模式的一种变化或者改进的结构。在这种模式下,用户工作界面是通过Web浏览器来实现,极少部分事务逻辑在前端(Browser)实现,主要事务逻辑在服务器端(Server)实现,形成所谓三层模式。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本。以目前的技术看,局域网建立B/S结构的网络应用,并通过Internet/Intranet模式下数据库应用,相对易于把握、成本也是较低的。它能有效地保护数据平台和管理访问权限,服务器数据库也很安全。B/S与C/S模式相比,其优点在于:1)不必开发专用的客户端软件,在用户端不需要增加任何代码,用户只需使用现行的浏览器,其操作十分方便,简单易学,界面统一,降低了用户学习新知识的难度,用户易于接受,这样既节省了开发时间,也减少了系统出错的可能性,降低了维护费用。2)网络应用系统跨平台,兼容性好,保护原有的软硬件设施,原来的网络、操作系统、数据库都可以很容易地加以利用,可使系统在最短的时间内发挥效益。3)技术上相对成熟,投入费用少,系统维护简便,简单易用。应用Web技术,OA系统只需在服务器上集中实现和配置的维护、管理,大大降低了用户用于软件系统维护和升级的难度和费用,使办公自动化更加容易实施,用户投资风险小。4)系统运行稳定、安全、可靠,并可进行扩展。5)软件移植容易,并可以进行严密的安全管理。另外,B/S层次分离的优势体现在界面风格统一为浏览器,并具有统一的语言格式、统一的传输协议,系统管理简单,能够优化资源,可支持异种数据库和方便信息发布等。B/S三层结构分传统的三层应用体系和基于WEB的三层体系结构。传统的三层体系结构,克服了二层体系结构的一些限制。三层体系结构将用户界面层与业务逻辑层分开,用户界面层放在客户端,而将业务逻辑层和数据存储层放在中间的应用服务器上,如图2-1所示。用户界面层业务逻辑层数据访问层数据库服务器 客户端 应用服务器 数据库图 2-1 传统的三层体系结构Figure 2-1 traditional 3-tier structure中间层服务器通过重用那些跨越多个客户的昂贵资源来改进可伸缩性,从而改善了性能。这个体系结构也改进了安全和应用管理。虽然三层体系结构消除了二层体系的一些缺陷,但它也有不足之处:复杂性、应用缺乏可移植性、提供商的不兼容性以及与Web的不兼容性。随着因特网的高速发展,WWW的广泛应用,传统的三层应用体系结构的局限越来越明显,这时基于Web的三层体系结构得到了广泛的应用。基于Web的三层体系结构如图2-2所示。WEB浏览器WEB服务器数据库服务器 中间件图 2-2 基于Web的三层体系结构Figure 2-2 3-tier system structure based on Web基于WEB的三层应用体系结构显示以下优点:1)优化了系统结构:将系统分为三层(或多层),业务逻辑放在应用服务层,软件的维护集中在应用服务层,实现了客户端的“零”维护,有利于软件维护及系统管理。2)提高了应用系统的安全性:将客户端与数据库隔离起来,有利于安全管理,有效防止恶意攻击。还可利用中间件的安全管理特性进一步加强权限控制管理。3)卓越的扩展能力:若要提高系统性能、处理速度,可增加应用服务器,分担一部分应用服务工作即可,而原来的应用服务器几乎可以不动。4)减少网络数据流量和提高数据库响应速度:基于Web三层应用体系结构中,应用服务层的引入有效地解决了网络瓶颈和数据库连接数过多引起数据库性能下降的问题。应用服务层往往有多台服务器,可有效地解决客户机访问服务层的瓶颈问题。5)提高系统性能:基于Web三层应用体系结构能更好地调整应用体系,还可利用中间件的特点来选择路由、平衡负载,提高整个系统的性能。总的来说,三层应用体系结构使应用系统的性能、安全性、扩展性有了很大的提高,也方便了系统的维护和管理。2.2 设计模式实验室设备管理系统基于设计模式设计实现,本章将讨论设计模式的概念、分类等知识,分析研究23种GoF设计模式意图、使用场合、组合技术及在系统设计开发中的选择和使用等应用方法。2.2.1 设计模式概述软件模式的思想最初来源于建筑领域,建筑师Christonpher Alexander首先提出一种基于模式进行建筑设计的新方法。Alexander认为:“每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心。这样,你就能一次又一次地使用该方案而不必做重复劳动”。这种模式的方法同样适用于软件研究。本文中的设计模式是对被用来在特定的场景下解决一般设计问题的类和相互通信的对象的描述。和面向对象技术比较而言,设计模式不是一种技术,而是一种软件设计的指导思想。使用软件设计模式的好处:l 促进交流:模式的名称简化了设计者之间对设计方案的讨论。关于模式的优点、缺点和使用情况的共享知识使讨论和评估变得容易和快捷。l 简化文档:命名著名模式的设计文档用几句户即可解释清楚模式的实现方式,而解释一个程序的形式和行为则需要好几页文档。l 提高开发效率:支持或者纳入标准模式的语言和组件使设计和实现变得更为容易。l 支持软件重用:针对问题领域选择模式并进行标准化,促进了软件的重用,从而提高了质量和生产率。l 提供设计思想:模式可以充当设计的起点,或者充当改进设计的思想。一个设计模式命名、抽象确定了一个通用设计结构的主要方面,这些设计结构能用来构造可复用的面向对象设计。设计模式确定了所包含的类和实例,它们的角色、协作方式以及职责分配。每一个设计模式都集中于一个特定的面向对象设计问题或设计点,描述了什么时候使用它,在另一些设计约束条件下是否还能使用,以及使用的效和如何取舍。2.2.2 设计模式分类GoF设计模式共包含23种经典设计模式,见表2-1。表 2-1 设计模式Table 2-1 Design Patterns创建型结构型行为型Factory MethodAbstract FactoryBuilderPrototypeSingletonAdapterBridgeCompositeDecoratorFaadeFlyweightProxyInterpreterTemplate MethodChain of responsibilityCommandIteratorMementoObserverStateStrategyVisitor本系统在设计中主要涉及两种设计模式:1)抽象工厂模式(Abstract Factory Pattern)意图:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。使用场合:l 一个系统要独立于其产品的创建、组合和表示时。l 一个系统要由多个产品系列中的一个来配置时。l 当你要强调一系列相关的产品对象的设计以便进行联合使用时。l 需要提供一个产品类库,而只想显示它们的接口,而隐藏其实现时。抽象工厂模型图如图2-3所示:图 2-3 抽象工厂模式Figure 2-3 Abstract Factory Pattern实现要点:l 抽象工厂将产品对象的创建延迟到它的具体工厂的子类。l 如果没有应对“多系列对象创建”的需求变化,则没有必要使用抽象工厂模式,这时候使用简单的静态工厂完全可以。l 系列对象指的是这些对象之间有相互依赖、或作用的关系,例如游戏开发场景中的“道路”与“房屋”的依赖,“道路”与“地道”的依赖。l 抽象工厂模式经常和工厂方法模式共同组合来应对“对象创建”的需求变化。l 通常在运行时刻创建一个具体工厂类的实例,这一具体工厂的创建具有特定实现的产品对象,为创建不同的产品对象,客户应使用不同的具体工厂。l 把工厂作为单件,一个应用中一般每个产品系列只需一个具体工厂的实例,因此,工厂通常最好实现为一个单件模式。l 创建产品,抽象工厂仅声明一个创建产品的接口,真正创建产品是由具体产品类创建的,最通常的一个办法是为每一个产品定义一个工厂方法,一个具体的工厂将为每个产品重定义该工厂方法以指定产品,虽然这样的实现很简单,但它却要求每个产品系列都要有一个新的具体工厂子类,即使这些产品系列的差别很小。优点:l 分离了具体的类。抽象工厂模式帮助你控制一个应用创建的对象的类,因为一个工厂封装创建产品对象的责任和过程。它将客户和类的实现分离,客户通过他们的抽象接口操纵实例,产品的类名也在具体工厂的实现中被分离,它们不出现在客户代码中。l 它使得易于交换产品系列。一个具体工厂类在一个应用中仅出现一次即在它初始化的时候。这使得改变一个应用的具体工厂变得很容易。它只需改变具体的工厂即可使用不同的产品配置,这是因为一个抽象工厂创建了一个完整的产品系列,所以整个产品系列会立刻改变。l 它有利于产品的一致性。当一个系列的产品对象被设计成一起工作时,一个应用一次只能使用同一个系列中的对象,这一点很重要,而抽象工厂很容易实现这一点。缺点:l 难以支持新种类的产品。难以扩展抽象工厂以生产新种类的产品。这是因为抽象工厂接口确定了可以被创建的产品集合,支持新种类的产品就需要扩展该工厂接口,这将涉及抽象工厂类及其所有子类的改变。 2)外观模式(Facade Pattern)意图:为子系统中的一组接口提供一个一致的界面,Facade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。使用场合:l 当你要为一个复杂子系统提供一个简单接口时。子系统往往因为不断演化而变得越来越复杂。大多数模式使用时都会产生更多更小的类。这使得子系统更具可重用性,也更容易对子系统进行定制,但这也给那些不需要定制子系统的用户带来一些使用上的困难。Facade可以提供一个简单的缺省视图,这一视图对大多数用户来说已经足够,而那些需要更多的可定制性的用户可以越过Facade层。 l 客户程序与抽象类的实现部分之间存在着很大的依赖性。引入Facade 将这个子系统与客户以及其他的子系统分离,可以提高子系统的独立性和可移植性。 l 当你需要构建一个层次结构的子系统时,使用Facade模式定义子系统中每层的入口点。如果子系统之间是相互依赖的,你可以让它们仅通过Facade 进行通讯,从而简化了它们之间的依赖关系。 外观模型图如图2-4所示:图 2-4 外观模式Figure 2-4 Facade Pattern实现要点:l Facade模式对客户屏蔽了子系统组件,因而减少了客户处理的对象的数目并使得子系统使用起来更加方便。 l Facade模式实现了子系统与客户间的松耦合关系,而子系统内部的功能组件往往是紧耦合的。松耦合关系使得子系统的组件变化不会影响到它的客户。 l 如果应用需要,它并不限制它们使用子系统类。因此你可以在系统易用性与通用性之间选择。2.3 AJAX2.3.1 AJAX概述ASP.NET AJAX是一种实现异步(Asynchronous)网络应用的技术,是ASP.NET的一种扩展技术。通过ASP.NET技术,开发人员可以将WEB服务器控件和客户端脚本结合起来,并在此基础上实现WEB页面的局部更新功能。AJAX是Asynchronous JavaScript and XML(异步JavaScript和XML)的缩写,它是一种创建交互式网页应用的网页开发技术。其实AJAX并不是一种新技术,它只是由JavaScript、XML、XSLT、CSS、DOM 和XMLHttpRequest 等多种技术组成的。在AJAX中,XMLHttpRequest是其最核心的技术,该对象由浏览器中的JavaScript 创建,负责在后台以异步的方式让客户端连接到服务器。它为页面中的JavaScript 脚本提供了一种通讯方式,从而使得页面通过这些脚本能够与服务器发生交互。页面内的JavaScript脚本可以再不刷新页面的情况下与服务器进行交互,即页面可以从服务器提交数据。AJAX技术与传统的WEB技术相比,存在以下三个主要区别:l 能够更新页面中的部分内容,不需要刷新整个页面就能够与服务器通信。l 页面与服务器的直接通讯可以使用异步操作,从而不需要打断用户的操作,使得页面具有更加快速的响应能力。l 由于页面与服务器交互时,只需要页面的部分内容,因此减少了页面与服务器的通讯量,提高了应用程序的效率。ASP.NET AJAX包括服务器端部分和客户端部分。其中,ASP.NET AJAX服务器端部分提供了5个服务器端控件,通过这些控件,开发人员可以轻松实现异步网页和一个无刷新的WEB环境。ASP.NET AJAX服务器端部分提供的5个服务器端控件如图2-5所示:图 2-5 ASP.NET AJAX服务端控件Figure 2-5 ASP.NET AJAX Service Controlsl ScriptManager控件:管理页面的脚本。l ScripManagerProxy控件:管理页面的脚本。l UpdatePanel控件:和ScriptManager控件共同提供了一个无刷新的WEB环境。l Timer控件:定时器,它能定时触发用户自定义的操作。l UpdateProgress控件:显示整个或部分页面更新的过程。ASP.NET AJAX服务器端的架构如表2-2所示。ASP.NET AJAX服务器端控件ASP.NET AJAX服务器端扩展控件ASP.NET AJAX客户端脚本ASP.NET AJAX WEB服务ASP.NET 框架表 2-2 ASP.NET AJAX服务端架构Table 2-2 ASP.NET AJAX Server Architecture ASP.NET AJAX客户端的架构如表2-3所示。客户端组件或控件ASP.NET AJAX基础框架/网络基础 表 2-3 ASP.NET AJAX客户端架构Table 2-3 ASP.NET AJAX Client Architecture各个部分具体说明如下:l 客户端组件或控件:主要包括处理和封装客户端控件的类或组件,使得开发人员能够轻松和方便地使用这些控件。l ASP.NET AJAX基础框架/网络基础:主要包括ASP.NET AJAX中与客户端相关的基础功能。2.3.2 ASP.NET AJAX Control Toolkit介绍ASP.NET AJAX Control Toolkit是在ASP.NET AJAX基础之上构建的,是由社区和 Microsoft 共同开发的一个 ASP.NET AJAX 扩展控件包,其中包含了数十种基于 ASP.NET AJAX 的、提供某一专一功能的服务端控件。构建在 ASP.NET 2.0 AJAX Extensions 之上,志在成为最大、最好的可用 Web 应用程序的组件集合。ASP.NET AJAX Control Toolkit是一个免费资源,它被微软ASP.NET官方网站所支持。ASP.NET AJAX Control Toolkit 解决了三个需要。首先,使网站开发人员有地方获取组件以更容易的构建他们的 Web 应用程序;第二,它给那些要编写客户端代码的开发人员一个强大的示例集;第三,它是一个使最好的脚本开发人员使工作更加突出的地方。ASP.NET AJAX Control Toolkit控件图示如图2-6所示:图 2-6 ASP.NET AjaxControlToolkit控件Figure 2-6 ASP.NET AjaxControlToolkit Control在本系统中主要使用的ASP.NET AJAX Control Toolkit控件说明如表2-4所示:控件名实现功能Accordion播放动画AutoComplete实现自动输入建议功能Calendar日历控件CascadingDropDown实现级联下拉选择的控件HoverMenu盘旋式菜单SlideShow实现播放照片或图片的功能TabContainer/TabPanel选项卡TextBox Watermark为文本输入框添加水印表2-4 Table 2-4 2.4 水晶报表水晶报表(Crystal Reports)是Crystal公司开发,是一个功能强大的专业表报工具。Crystal Reports用于处理数据库,主要帮助用户分析和解释重要信息,是办公自动化系统中不可缺少的开发工具。2.4.1 水晶报表概述1) Crystal Reports水晶报表提供如下功能:l 针对所有以.NET为目标的程序语言提供高度的集成,用户可以在Visual Basic、Visual C#或Visual C+的项目中使用本身专长的程序语言来设计报表。l 用户可以在Windows应用程序或ASP.NET WEB应用程序的项目中设计与使用报表。l 提供强大的报表设计工具Crystal Report Designer。Crystal Report Designer是所见即所得的报表设计工具,它可以让用户定义报表的数据源,让设计者直接在屏幕画面上定位各个控件,并且可以轻易制作出各种复杂格式的报表。l 通过Crystal Report for Visual Studio.NET所提供的报表查看控件(CrystalReportView),可以轻易将Crystal Report Designer所制作的报表展现在Web Form网页与Windows Form窗体上。2) Crystal Reports水晶报表有下面一些主要的优点:l Crystal Reports 几乎可以从任何数据源生成您需要的报表。内置报表专家在您生成报表和完成一般的报表任务过程中,会一步一步地指导您进行操作。报表专家通过公式、交叉表、子报表和设置条件格式帮助表现数据的实际意义,揭示可能被隐藏掉的重要关系。如果文字和数字确实不够充分,则用地理地图和图形进行形象的信息交流。l Crystal Reports 可以用各种各样的格式发布报表,包括用 Microsoft 的 Word 和 Excel 发布、通过电子邮件甚至 Web 发布。高级的 Web 报表功能允许工作组中的其他成员在他们自己的 Web 浏览器中查看或更新共享报表。l 快速的报表开发; l 能够动态地将报表导出成为.pdf,.doc,xls,html,rtf等多种格式;l 由于Web应用程序所以的报表与报表Web服务处理都是在服务器上进行的,在客户端只需要浏览器就可以进行查看,而不需要安装额外的软件或组件。3)水晶报表的数据源分为两种:l .rpt报表文件:执行报表中的第一步就是在水晶报表设计器中创建报表,在默认安装中微软已经提供了一些现成的.rpt例子。 l Data Source:.rpt文件取得数据库的方法取决于方法的选择,你能选择让水晶报表自己选择数据而不使用任何代码或者也可以选择手动的组装DataSet,然后再将其传送到报表文件。 4)水晶报表的种类:l Strongly-typed报表: 当你将报表文件加入到项目中去时,它就变成了一个了“strongly-typed”表。在这些情况下,你将拥有直接创建报表的对象的权力,这将减少一些代码并且能够提供一些性能。l Un-Typed报表:这里的报表并不直接包含在项目中,因此称为“un-typed”报表。在这种情况下,你不得不使用水晶报表的“ReportDocuemt”对象建立一个实例,并且“手动”地调用报表。水晶报表(Crystal Reports)现在已经被Microsoft Visual Studio 2008与Microsoft Visual Studio 2005集成在一起。使用水晶报表的强大功能来实现应用程序的统计分析及打印导出等功能,是微软平台上进行.NET应用程序开发报表的一种不错的选择。水晶报表在VS2008中有两种组件,在WEB项目里分别是Crystal ReportSource,CrystalReportViewer。在FORM项目里分别是CrystalReport,CrystalReportViewer。CrystalReportSource,CrystalReport是水晶报表的数据提供者;CrystalReport Viewer是水晶报表的浏览器。为了向开发人员提供最灵活的数据访问方法,Crystal Report数据库驱动程序被设计为可同时提供数据访问的拉模型(PULL)、和推模型(PUSH)。2.4.2 拉(pull)模型拉模型(PULL模型):在拉模型中,驱动程序将连接到数据库并根据需要将数据“拉”进来。使用这种模型时,与数据库的连接和为了获取数据而执行的SQL命令都同时由Crystal Reports本身处理,不需要开发人员编写代码。如果在运行时无须编写任何特殊代码,则使用拉模型。拉模型的图示如图2-7所示:图 2-7 拉模型Figure 2-7 Pull msodel2.4.3 推(push)模型推模型(PUSH模型):在推模型中,应用程序从数据源获取数据,然后将数据推给水晶报表文件。也就是说,推模型是用dataset组装水晶报表。应用这种模型,我们不得不自己编写代码连接数据并组装数据集(DataSet),同时将它传送至报表。该方法使您可以将连接共享置入应用程序中,并在Crystal Reports收到数据之前先将数据筛选出来。在某些情况下,通过使用连接共享以及限制记录集合的大小,可以使报表性能最大化。推模型的图示如图2-8所示:图 2-8 推模型Figure 2-8 Push model第3章 系统需求分析3.1 需求概述3.1.1 功能需求实验室设备管理系统由系统管理员、院管理员、出入库管理员和用户(教职工、实验室管理员)来操作的,系统可分成系统管理员子系统、院管理员子系统、出入库管理员子系统和用户子系统。l 普通用户子系统应包括服务指南、用户信息、信息查询。l 系统管理员子系统应包括服务指南、用户信息、信息查询及系统管理。l 院管理员子系统应包括服务指南、用户信息、信息查询及设备台帐管理。l 出入库管理员子系统应包括服务指南、用户信息、信息查询及设备出入库管理等模块。实验室设备管理系统的主要功能: 1)对于普通用户,应实现能方便地查询设备相关信息;能修改个人的基本信息,修改登录密码等功能;2)对于出入库管理员,应实现对设备验收人库、领用出库等数据进行管理,能方便地查询设备相关信息,能进行设备数据的更改、增加和删除操作;3)对于院设备管理员,应实现对设备的台帐管理(包括设备的调拨,报丢,报损,报修,报废等的管理),能方便地查询设备相关信息; 4)对于系统管理人员,应实现信息监控,能方便地进行用户数据的更改、增加和删除操作,能进行系统管理,能方便地查询设备相关信息等功能。3.1.2 性能需求系统的性能规定主要包括数据精确度、时效性、灵活性和安全保密性等要求。数据精确度要求系统输入数据能够在数据库中准确定位至正确记录,并且输出数据能够准确对应至某凭证单据。时效性要求对于任何操作,不应产生因响应时间过长而引起的数据库死锁、连接超时等现象。在系统灵活性方面,要求当需求发生某些变化时,系统的操作方式、数据结构、运行环境基本不变,而只是数据库内数据的改变。系统的安全保密性主要是数据库访问的安全保密性,可以通过两个层次实现。一是通过统一平台,操作系统和数据库系统的安全机制。操作系统自身的安全机制可以实现一定的安全保密性,数据库层面的权限管理也能够实施安全性控制。二是通过应用软件,对操作人员实行权限控制。通过设置用户角色可以控制其对数据库的访问,从而实现其权限控制。3.1.3 运行需求1)系统的硬件平台:包括Web服务器、客户机、网卡及校园网络资源。2)系统的软件平台:服务器端:windows NT/2003 Server、 IIS 5.0及以上版本、 SQL Server数据库或Oracle 10g;客户端:Windows XP、浏览器IE6.0及以上版本。3.2 数据流图3.2.1 用户登录图 3-1 用户登录数据流图Figure 3-1 User login DFD 3.2.2 设备信息查询图 3-2 设备信息查询数据流图Figure 3-2 Equipment information querying DFD3.2.3 设备出入库管理图 3-3 设备出入库数据流图Figure 3-3 Equipment out of storage DFD3.3 E-R图显然,高校设备管理信息中包括如下实体:普通用户(教职工、实验室管理员)、一般管理员(院管理员、出入库管理员)、系统管理员和设备,但是对上述四个实体来说,通常还要指出所在部门,因此还要增加部门这个实体。各个实体的属性:l 设备:设备编号、名称、设备种类、型号、品牌、单价、数量、生产厂家、出厂日期、购买日期、用途、保质期、设备来源、入库日期(如图3-4所示) ;l 一般管理员: 用户账号、姓名、密码、权限、职位、部门、电话、E-Mail (如图3-5所示) ;l 各个实体之间的联系:(如图3-6所示);可以看出,一个用户可以查询多个物品,一个管理员可以管理多个物品、多个教职工,而部门与教职工及部门与物品是一对多的关系。3.3.1 设备E-R图图 3-4 设备E-R图Figure 3-4 Equipment E-R3.3.2 一般管理员E-R图图 3-5 一般管理员E-R图Figure 3-5 General manager E-R3.3.3 系统E-R图图3-6 系统E-RFigure 3-6 System E-R第4章 系统总体设计4.1 系统总体结构该系统是以Visual Studio 2008作为开发平台,基于.NET平台下B/S体系的三层结构。由用户界面层,中间业务逻辑层,数据访问层组成。 使用WEB技术开发前端软件,使客户端应用通过从服务器下载的方式运行,这可大大提高系统的安全性;由于系统对客户端机器的硬件要求不高,用户可保留原有的软硬件投资;同时,由于用户只需在服务器上作配置和维护,将大大降低系统维护、升级的难度和费用;此外,采用浏览器的客户界面,操作十分简单,又可节省大量的培训时间和费用。 该系统主要是对实验室设备的管理。包括普通用户对设备的查询和领出、对用户信息的维护;院管理员对设备的查询、设备的台帐管理(包括设备调拨、设备报修、设备报损、设备报废和设备报丢等);出入库管理员对设备的查询、设备的出入库管理及其相关的设备管理;系统管理员对设备的查询、用户的管理、系统的管理。系统执行流程图:(如图4-1所示)图 4-1 系统执行流程图Figure 4-1 Flow diagram of system develop 系统的模块结构图:(如图4-2所示)实验室设备管理系统查看个人信息修改个人信息部门管理重要通知表格下载调拨管理报损管理报废管理入库管理报损管理报修管理品牌管理出库管理计量单位管理状态管理用户信息西用户查询发表通知表格管理用户管理出入库服务指南设备查询系统管理职位管理设备台帐图 4-2 系统模块结构图Figure 4-2 the structure of system module4.2 系统功能模块设计普通用户子系统实现对设备查询、用户信息管理等功能,系统管理员子系统实现对设备查询、用户信息管理、系统的管理等功能。出入库管理员子系统实现对设备查询、用户信息管理、设备的出入库及相关信息管理。院设备管理员子系统实现对设备查询、用户信息管理、设备调拨、设备报损、报修、报丢、报废等的登记和管理的功能。系统具体的功能模块如下:4.2.1 信息查询模块1)设备信息明细查询模块:用于所有用户查询设备信息。2)调拨信息明细查询模块:用于所有用户查询调拨信息明细。3)报丢信息明细查询模块:用于所有用户查询相关的报丢信息。4)报损信息明细查询模块:用于所有用户查询相关的报损信息。5)报修信息明细查询模块:用于所有用户查询相关的报修信息。6)报废信息明细查询模块:用于所有用户查询相关的报废信息。4.2.2 设备出入库管理模块1)设备入库登记模块:用于出入库管理员对入库设备进行入库登记。2)设备入库管理模块:用于出入库管理员对入库设备信息进行维护。3)设备出库登记模块:用于出入库管理员对出库领用设备进行出库登记。4)设备出库管理模块:用于出入库管理员对出库领用设备信息进行维护。5)其他管理模块:包括了品牌管理、状态管理、计量单位管理等,是对设备信息相关事务进行管理和维护。4.2.3 例行报表统计1)设备入库明细表:统计设备入库明细信息。2)设备出库明细表:统计设备出库明细信息。3)设备调拨明细表:统计设备调拨明细信息。4)设备报丢明细表:统计设备报丢明细信息。5)设备报修明细表:统计设备报修明细信息。6)设备报损明细表:统计设备报损明细信息。7)设备报废明细表:统计设备报废明细信息。8)设备库存明细表:统计库存设备明细信息。4.3 数据库逻辑设计本系统的重要表结构有: 4.3.1 设备信息表及其附属表设备信息:Equipment_Info(如图4-3所示)、设备品牌信息表:Equipment_Info_Brand(如图4-4所示)、设备分类信息:Equipment_Info_Category(如图4-5所示)、设备状态信息表:Equipment_Info_Status(如图4-6所示)、设备计量单位信息表:Equipment_Info_Unit(如图4-7所示)。图 4-3 设备信息表Figure 4-3 Information of equipment图 4-4 设备品牌信息表Figure 4-4 Equipments brand information图 4-5 设备分类表Figure 4-5 Equipments category图 4-6 设备状态表Figure 4-6 Equipments status图 4-7 设备计量单位表Figure 4-7 Equipments unit4.3.2 设备调拨表设备调拨表:Equipment_Allocation(如图4-8所示),设备调拨种类表:Equipment_Allocation_Type(如图4-9所示)。图 4-8 设备调拨表Figure 4-8 Equipment allocation图 4-9 设备调拨种类表Figure 4-9 Equipment allocations category4.3.3 设备报损表设备报损表:Equipment_Damage(如图4-10所示)。图 4-10 设备报损表Figure 4-10 Equipment damage4.3.4 设备报废表设备报废表:Equipment_Discard(如图4-11所示),设备报废种类表:Equipment_Discard_Type(如图4-12所示)。图 4-11 设备报废表Figure 4-11 Equipment discard图 4-12 设备报废种类表Figure 4-12 Equipment discards category4.3.5 设备报丢表 设备报丢表:Equipment_Lose(如图4-13所示)。图 4-13 设备报丢表Figure 4-13 Equipment lose4.3.6 设备报修表设备报修表:Equipment_Maintenance(如图4-14所示)。图 4-14 设备报修表Figure 4-14 Equipment maintenance4.3.7 设备出库表设备出库表:Equipment_StockOut(如图4-15所示)。图 4-15 设备出库表Figure 4-15 Equipment out of storage4.3.8 数据库关系图 数据库关系图:(如图4-16所示)图 4-16 数据库关系图Figure 4-16 Database relation diagram4.4 系统体系结构 该系统的体系结构为三层B/S结构。对Browser/Server模式而言,其在逻辑上采用了三层结构,解决三个层面的问题: 1)用户界面层,提供给用户一个视觉上的界面,通过界面层,用户可以输入数据、获取数据;同时,用户界面层也提供了一定的安全性,确保用户不会看到机密的信息。这一层由客户端负责,通过WWW浏览器实现信息浏览的功能。在客户端,向主URL (Uniform Recourse Locator)所指定Web服务器提出服务申请。在Web服务器对用户进行身份验证后,用HTTP协议把所需的文件资料传送给用户,客户端只是接受文件资料,并显示在WWW浏览器上,这样使客户端真正成为“瘦”客户机。 2)业务逻辑层(也称中间层)是用户界面层和数据访问层的桥梁,它响应用户界面层的用户请求,执行任务,从数据访问层抓取数据,并将必要的数据传送给用户界面层、使用清晰的语言陈述论点。Web服务器负责业务逻辑层的处理,为客户端提供公共的数据服务,处理客户端与数据库间的数据流。它的功能在具有CGI(Common Gateway Interface,公共网关借口)的Web服务器上实现,Web服务器接受客户申请,首先需要CGI程序,以此与数据库连接,进行申请处理,而后将处理结果返回Web服务器,再由Web服务器传至客户端。 3) 在数据访问层,采用设计模式将访问数据库的功能进行封装,使得数据访问层可适应SQL Server和Oracle两种不同的数据源,并向业务逻辑层隐藏了数据源的实现细节,减小了业务逻辑层对数据访问层的依赖度。4.5 开发环境、开发工具及平台4.5.1 开发环境l 开发技术:Ajax技术,ASP.NET运行环境,设计模式,水晶报表l 系统的硬件平台:包括Web服务器、客户机、网卡及校园网络资源。l 系统的软件平台:服务器端:windows NT/2003 Server, SQL server 2005或Oracle 10g;客户端:Windows XP,浏览器IE6.0及以上版本。4.5.2 开发平台的选择 Visual Studio .NET 2008是一套完整的开发工具,用于生成ASP.NET Web应用程序、XML Web services、桌面应用程序和移动应用程序。另外,这些语言利用了.NET框架的功能,此框架提供对简化ASP.NET Web应用程序和XML Web services开发的关键技术的访问。 开发语言选择C#。C#是专门为.NET应用而开发出的语言,这就从根本上保证了C#与.NET框架的完美结合。在.NET运行库的支持下,.NET框架的各种优点在C#中表现的淋漓尽致。第5章 系统详细设计和实现5.1 数据访问层的设计根据用户需求,在设备信息管理系统数据访问层

温馨提示

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

评论

0/150

提交评论