




免费预览已结束,剩余39页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于WEB的刊物订阅管理系统设计与实现本 科 毕 业 论 文 题目:基于Web的刊物订阅管理系统设计与实现Design and Implementationof WEB-based Publications Subscribe and manage system 姓 名: 学 号:学院:软件学院系:软件工程专 业:软件工程年 级:指导教师: 年 月摘 要随着网络、计算机以及数据库的快速发展,报刊的订阅也不再是传统低效的纸笔记录了,已经转向网络。本系统就是面向一个企业的报刊订阅管理系统。此系统是一种比较智能化的管理系统,它面向所有企业部门的职工用户,但具有比较高的安全性能。它能够实现报刊订阅的基本功能,包括新报刊信息的录入、订阅、查询等操作以及后台数据库的备份和恢复。用户合法注册后必须输入有效密码才能成功进入此系统,可以进行订阅报刊,查询信息,统计信息等操作。对于非法操作,系统有识别和防护措施。本系统主要面向的用户有系统管理员、读者。下面分角色对该系统的不同操作范围做说明。本系统主要有以下功能模块:(1)登陆功能:登陆系统为身份验证登录。分为管理员登录和一般用户登录。分别通过不同的用户名和密码进入报刊订阅管理界面。(2)录入新信息功能:对于管理员,包括新用户信息和新报刊信息的录入功能,信息一旦提交就存入到后台数据库中;普通用户自行注册进行录入个人信息。(3)订阅功能:用户可以订阅报刊,系统自动计算所需金额,并显示在界面上;管理员不可订阅报刊,必须以用户身份订阅报刊。(4)查询功能:用户可以查询并显示自己所订阅的信息;管理员可以按人员、报刊、部门分类查询。查询出的信息显示在界面上。(5)统计功能:管理员可以按用户、部门、报刊统计报刊的销售情况,并对一些重要的订阅信息进行统计;普通用户可以统计出自己的订阅情况。(6)系统维护功能:管理员可以对用户、报刊、部门、订阅等信息进行添加、删除、更改等维护工作;用户可以更改自己的注册信息,但用户名不能更改。关键词:刊物订阅;刊物管理;系统功能。 AbstractWith the network, computers and the rapid development of databases, newspaper subscriptions are no longer the traditional pen and paper records inefficient, and has turned to the network. The system is a business-oriented newspaper subscription management system. This system is a relatively intelligent management system, it is open to all staff users of the corporate sector, but with relatively high safety performance. It can achieve the basic functions of newspapers and periodicals subscriptions, including new information on the entry of newspapers and periodicals, subscription and other inquiries as well as background operation of the backup and restore database. Legally registered users must enter a valid password to successful entry into this system, subscribers can press inquiries, information, statistics and information operations. For the illegal operation , system identification and protective measures. The system is mainly for users of the system administrator, the reader. The following sub-roles of the system is different operating range. The system functions mainly in the following modules: (1) landing functions: landing system login authentication. Logging into the administrator and general users. Through a different user name and password to enter the newspaper subscription management interface . (2) Entry of new information functions: for administrators, including new information and new information on the entry function of newspapers and periodicals, information on the deposit is submitted to the background database; ordinary registered user to input personal information. (3) Subscribe to function: Users can subscribe to newspapers and periodicals, the system automatically calculates the required amount, and displayed in the interface; administrator can not be subscriptions, must be based on user subscriptions. (4) query functions: Users can query and display information on their subscribers; administrator can staff, the press, the sectoral classification of inquiries. Inquiries of the information displayed in the interface. (5) Statistical features: users can be administrators, departments, newspapers and newspaper sales statistics, and a number of important subscription information to compile the statistics; ordinary users to its own statistics subscriptions. (6) System maintenance functions: the user administrator can, newspapers, departments, subscriptions and other information to add, delete, change and other maintenance work; users can change their registration information, but the user name can not be changed. Key words: Subscribe to publications; publications management; system function.目 录第一章 绪论51.1研究背景与选题意义61.2系统功能分析71.3系统预览81.4本文结构安排8第二章系统相关技术介绍92.1系统概述102.2 Tomcat简介102.3JSP+JavaBean+JavaServlet简介112.4MySql简介152.5 本章小结18第三章 系统总体架构设计183.1系统特点183.2系统设计思想193.3 系统功能模块划分203.4系统结构设计203.5 本章小结21第四章详细设计与运行结果214.1数据库设计214.2组件的编写254.3 用户界面设计324.4 系统开发策略364.5 系统开发方法364.6 本章小结38第五章结束语395.1本系统特点395.2 开发心得395.3 难点创新点405.4 系统开发总结40致谢42CONTENTSChapter 1 Introduction61.1Background61.2System function71.3System Preview81.4Structure9Chapter 2Technology Introduction102.1 System Overview112.2 Tomcat Introduction112.3JSP+JavaBean+JavaServlet Introduction122.4MySql Introduction162.5Summary16 Chapter 3 The overall architecture design193.1 System features193.2 Design thinking203.3 Delineation of functional modules213.4 System Architecture Design213.5 Summary21Chapter 4Detailed design214.1 Database design224.2 Components of the preparation264.3 User Interface314.4 System development strategy354.5 Systems Development Method354.6 Summary21Chapter 5Ending385.1 System features385.2 Experience385.3 Difficult395.4 Summary39Acknowledgement41第一章 绪论随着计算机网络和通信技术的发展,人们获取知识的渠道已经远远超出了原始的刊物图书阅读了,但是刊物阅读仍然是最重要的知识获取渠道。去附近的书亭或者报刊亭成了阅读爱好者的首选地,但是地理位置的原因,使得读者订阅报刊图书极大的不方便,报亭里的资源不能好好的被读者利用,读者的宝贵时间被大大的浪费了,本章将对本文的研究内容及本文的结构安排进行总体概述。1.1 研究背景与选题意义随着网络科技的发展,阅读之风似有很大的变化。当然,无纸阅读也是一种阅读方式,但我们常说的“书香”之感,则荡然无存了。现代都市人,在网上资讯大海洋中浮沉,既便捷又经济,但一书在手的那种感觉,是不可取代的。那一段一段地读,一页一页地翻阅,与网络的浏览寻觅十分不同。读书,作为一种阅读的整体,一件物件,它是立体的,且是可触可感的。但是书,也是有自己缺点的:一是纸质书太贵;二是网络上看书有辐射,伤眼睛。这样,能满足阅读爱好者的要求,又能避免这些缺点的方法,理所当然的就是去书店图书馆借书了。面临大量的读者,如何使读者方便快捷的找到想要的图书刊物,成为一项艰巨的任务。人们迫切的需要一种软件能让他们快速的借书,迫切的需要一种软件能让他们一到书店就可以拿到想要的图书刊物,不再浪费宝贵的时间。因此,能够满足读者这些需求的刊物管理系统诞生了。一个系统的内容,功能需要包含什么,得进行系统的需求分析。系统的需求分析是在开发之前必须做的一个环节,它起着很大的重要性,但为了准确的确定目标系统需要作什么,了解用户明确的需求,于是对网站全过程进行了调研,最终得以明确用户的需求。对开发系统作出全面分析是给系统设计做一个很好的铺垫。一份题目到底可行不可行,要对它进行可行性分析。可行性分析也称为可行性研究,是在系统调查的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、社会等方面进行分析和研究,以避免投资失误,保证新系统的开发成功。可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。刊物订阅管理系统主要是运用网络救赎实现在线刊物订阅管理。完成数据库的共享性、完整性和安全性。1.2 系统功能分析通过对刊物订阅管理系统需求分析得出,系统的功能有系统用户管理、刊物信息管理、刊物订阅管理,信息查询及在密码修改等功能。各模块的功能、性能、输入、输出、算法、程序逻辑、接口等等,以及下面的几个问题:(1)有效实现两类角色(管理员、一般用户)的业务逻辑。(2)判断信息的正误并采取相应的校验处理步骤。(3)进行数据库的查询、修改工作。(4)接受并判断错误,输出相应的出错消息。结构化程序设计的要求,设计出的系统功能模块图。如图1-1所示:刊物订阅管理系统用户管理个人资料修改刊物管理刊物订阅管理在线查询信息统计系统帮助 图1-1 系统功能模块1.3 系统预览图1-2所示是系统的首页。图1-2系统首页1.4 本文结构安排本文共分为五章,主要介绍了项目的框架设计、开发过程,以及系统的成品展示。本文结构和各章的主要内容如下:第一章 绪论,首先介绍了本文的选题背景、研究意义以及简单的介绍下系统,并对本文的结构进行概述。第二章 系统相关技术介绍,对系统进行一个总体的概述,以及介绍使用到的技术。第三章 系统总体架构设计,介绍系统的特点和设计思想,功能模块划分以及结构设计。第四章 详细设计与运行结果,介绍系统的详细设计情况以及各个界面的运行结果。第五章 结束语。对本文和项目开发结果进行概括和总结,分析系统尚待优化之处并对该系统的进一步研究进行展望。第二章 系统相关技术介绍2.1系统概述本系统是WEB模式的刊物订阅管理系统运行环境:Tomcat+JDK编程模式:JSP+ JavaBean +JavaServlet后台数据库:MySql2.2 Tomcat简介2.2.1 Tomcat背景 自从JSP发布之后,推出了各式各样的JSP引擎。Apache Group在完成GNUJSP1.0的开发以后,开始考虑在SUN的JSWDK基础上开发一个可以直接提供Web服务的JSP服务器,当然同时也支持Servlet, 这样Tomcat就诞生了。Tomcat是 jakarta项目中的一个重要的子项目,其被JavaWorld杂志的编辑选为2001年度最具创新的java产品,同时它又是sun公司官方推荐的servlet 和 jsp容器,因此其越来越多的受到软件公司和开发人员的喜爱。servlet和jsp的最新规范都可以在tomcat的新版本中得到实现。其次,Tomcat是完全免费的软件,任何人都可以从互联网上自由地下载。Tomcat与Apache的组合相当完美。12.2.2 Tomcat目录tomcat|-bin Tomcat:存放启动和关闭tomcat脚本;|-conf Tomcat:存放不同的配置文件(server.xml和web.xml);|-doc:存放Tomcat文档;|-lib/japser/common:存放Tomcat运行需要的库文件(JARS);|-logs:存放Tomcat执行时的LOG文件;|-src:存放Tomcat的源代码;|-webapps:Tomcat的主要Web发布目录(包括应用程序示例);|-work:存放jsp编译后产生的class文件;2.2.3 Tomcat类加载Bootstrap($JAVA_HOME/jre/lib/ext/*.jar) System($CLASSPATH/*.class和指定的jar) Common($CATALINA_HOME/common 下的classes,lib,endores三个子目录) Catalina ($CATALINA_HOME/server/下的classes和lib目录仅对Tomcat可见)&Shared($CATALINA_HOME/shared/下的classes和lib目录以及$CATALINA_HOME/lib目录)仅对Web应用程序可见,对Tomcat不可见WebApp($WEBAPP/Web-INF/*仅对该WEB应用可见classes/*.class lib/*.jar)加载类和资源的顺序为:1、/Web-INF/classes 2、/Web-INF/lib/*.jar 3、Bootstrap 4、System 5、$CATALINA_HOME/common/classes6、$CATALINA_HOME/common/endores/*.jar 7、$CATALINA_HOME/common/lib/*.jar 8、$CATALINA_HOME/shared/classes9、$CATALINA_HOME/shared/lib/*.jar2.3JSP+JavaBean+JavaServlet简介2.3.1 JSPJSP(Java Server Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准,JSP技术是在Servlet技术基础上发展起来的,它正在飞速发展中,现在已经成为Java服务器编程的重要组成部分。JSP是结合markup(HTML 或 XML)和Java代码来处理的一种动态页面。每一页第一次被调用时,通过JSP引擎自动被编译成Servlet,然后被执行,以后每次调用时,执行编译过的Servlet。JSP提供了多种方式访问Javaclass、Servlet、Applets和W ebServer,因此,Web应用的功能可以分成多个明确的定义公用接口的组件,通过JSP将它们结合在一起。这种模式允许工作分成两部分:组件开发与页面设计和编译(结合一些方法调用)。在这种应用编译模式,使得业务逻辑和数据处理分开。现在已经有许多WebServer支持JSP,这使得JSP具有良好的可移植性。2JSP与微软的ASP技术非常类似,两者都提供在HTML代码中混合某种程序代码、由语言引擎解释执行代码的能力。ASP的编程语言是VBScript之类的脚本语言,JSP使用的是JAVA,这是两者最明显的区别。另外,ASP和JSP还有一个更本质的区别:两种语言引擎用完全不同的方式处理页面中嵌入的程序代码。在ASP下,VBScript代码被ASP引擎解释执行;在JSP下,代码被编译成Servlet并由java虚拟机执行,这种编译操作只在对JSP页面的第一次请求时发生。3总的来说,JSP技术具有以下特点:使用jsp技术,web页面开发人员可以使用HTML或者XML标志来设计和格式化最终页面。使用JSP标志或者小脚本来产生页面上的动态内容。产生内容的逻辑被封装在标志和JAVABEAN群组件中,并且捆绑在小脚本中,所有的脚本在服务器端执行。如果核心逻辑被封装在标志和JAVABEANS中,那么其他人,如WEB管理人员和页面设计人员,能够编辑和使用JSP页面。在服务器端,JSP引擎解释JSP标志,产生所请求的内容,并且将结果以HTML页面形式发送回浏览器。绝大多数JSP页面依赖于可重用并且跨平台的组件(如:JAVABEAN或者ENTERPRISE JAVABEAN)来执行应用所要求的更为复杂的处理。开发人员能够共享和交换执行普通操作的组件,或者使得这些组件为更多的使用者或团体所使用。基于组件的方法加速了开发过程,并且使得各种群组织在他们现有的技能和优化结果的开发努力中得到平衡。WEB页面开发人员不会都熟悉脚本语言的程序设计人员。JSP技术封装了许多功能,这些功能是在易用的、与JSP相关的XML标志中进行动态内容产生所需要的。标准的JSP标志能够存取和实列化JAVABEAN组件,设定或者检索群组件属性,下载APPLET,以及执行用其它方法更难于编码和耗时的功能。JSP技术很容易整合到多种应用体系结构中,以利用现有的工具和技巧,并且扩展到能够支持企业级的分布式应用。作为JAVA平台的一部分,JSP拥有java程序设计语言”一次编写,各处执行“的特点。42.3.2 JavaBean JavaBean是一种JAVA语言写成的可重用组件。为写成JavaBean,类必须是具体的和公共的,并且具有无参数的构造器。JavaBean 通过提供符合一致性设计模式的公共方法将内部域暴露称为属性。众所周知,属性名称符合这种模式,其他Java 类可以通过自省机制发现和操作这些JavaBean 属性。用户可以使用JavaBean将功能、处理、值、数据库访问和其他任何可以用java代码创造的对象进行打包,并且其他的开发者可以通过内部的JSP页面、Servlet、其他JavaBean、applet程序或者应用来使用这些对象。用户可以认为JavaBean提供了一种随时随地的复制和粘贴的功能,而不用关心任何改变。最初,JavaBean的目的是为了将可以重复使用的软件代码打包标准。特别是用与帮助厂家开发在综合开发环境(IDE)下使用的java软件部件。这些包括如Grid控件,用户可以将该部件拖放到开发环境中。从此,JavaBean就可以扩展为一个java web 应用的标准部件,并且JavaBean部件框架已经扩展为企业版的 Bean(EJB)。JavaBean是java类,属于某些特定的译码指导方针,并且扩展了适应性和范围,允许用户访问内部的属性和方法。通过这些,JavaBean类可以用于下列方法: 在IDE中,JavaBean的功能允许应用开发者浏览其中的方法,即使JavaBean是被编译的,并且无法利用原始的源文件。 在 Remote Method Invocation(RMI) 的分布式风格中,这项功能听起来并不让人兴奋,但是在未来的包含企业版的JavaBean后,将改变这种情况。为了JavaBean的属性值和状态可以保存到磁盘上。JavaBean 在JSP 程序中常用来封装事务逻辑、数据库操作以及功能扩展。JavaBean 在服务器端应用方面已经表现出了越来越强的生命力。JavaBean 有许多好的特性, 最大的优点是能够一次编写、多次使用, 而且能够运行在任何Java 虚拟机能运行的地方。正因为如此, JavaBean 的应用越来越广泛, 比如通过JavaBean 连接数据库, 利用JavaBean 发邮件, 使用JavaBean 实现购物车等等。52.3.3 Java ServletServlet是使用Java Servlet 应用程序设计接口(API)及相关类和方法的 Java 程序。除了 Java Servlet API,Servlet 还可以使用用以扩展和添加到 API 的 Java 类软件包。Servlet 在启用 Java 的 Web 服务器上或应用服务器上运行并扩展了该服务器的能力。Java servlet对于Web服务器就好象Java applet对于Web浏览器。Servlet装入Web服务器并在Web服务器内执行,而applet装入Web浏览器并在Web浏览器内执行。Java Servlet API 定义了一个servlet 和Java使能的服务器之间的一个标准接口,这使得Servlets具有跨服务器平台的特性。6Servlet 通过创建一个框架来扩展服务器的能力,以提供在 Web 上进行请求和响应服务。当客户机发送请求至服务器时,服务器可以将请求信息发送给 Servlet,并让 Servlet 建立起服务器返回给客户机的响应。 当启动 Web 服务器或客户机第一次请求服务时,可以自动装入 Servlet。装入后, Servlet 继续运行直到其它客户机发出请求。Servlet 的功能涉及范围很广。例如,Servlet 可完成如下功能: (1) 创建并返回一个包含基于客户请求性质的动态内容的完整的 HTML页面。 (2) 创建可嵌入到现有 HTML 页面中的一部分 HTML 页面(HTML 片段)。 (3) 与其它服务器资源(包括数据库和基于 Java 的应用程序)进行通信。 (4) 用多个客户机处理连接,接收多个客户机的输入,并将结果广播到多个客户机上。例如,Servlet 可以是多参与者的游戏服务器。 (5) 当允许在单连接方式下传送数据的情况下,在浏览器上打开服务器至applet的新连接,并将该连接保持在打开状态。当允许客户机和服务器简单、高效地执行会话的情况下,applet也可以启动客户浏览器和服务器之间的连接。可以通过定制协议或标准(如 IIOP)进行通信。 (6) 对特殊的处理采用 MIME 类型过滤数据,例如图像转换和服务器端包括(SSI)。 (7) 将定制的处理提供给所有服务器的标准例行程序。例如,Servlet 可以修改如何认证用户。2.4MySql简介MySQL是一个广受Linux社区人们喜爱的半商业的数据库。 MySQL是可运行在大多数的Linux平台(i386,Sparc,etc),以及少许非Linux甚至非Unix平台。MySQL的普及很大程度上源于它的宽松,除了略显不寻常的许可费用。MySQL的价格随平台和安装方式变化。MySQL的Windows版本(NT和9X)在任何情况下都不免费,而任何Unix变种(包括Linux)的MySQL如果由用户自己或系统管理员而不是第三方安装则是免费的,第三方案庄则必须付许可费。可以在MySQL站点上获得大多数主要的软件包格式(RPM、DBE、TGZ),客户端库和各种语言“包装”(Wrapper)可以分开的RPM格式获得。RPM格式的安装没有多大麻烦,并且无需初始配置。在rc3.d(以RedHat RPM为例)生成一个初始脚本,故MySQL守护进程在多用户模式下重启时被启动运行。MySQL的守护进程(mysqld)消耗很少的内存(在运行RedHat 5.1的奔腾133上,每个守护进程使用500K内存和另外4M共享内存的开销)并在只有在执行真正的查询时才装载到处理器上,这意味着对小型数据库来说,MySQL可以相当轻松地使用而不会对其他系统功能有太大的影响。字段支持大量数据类型是件好事。通常的整数、浮点数、字符串和数字均以多种长度表示,并支持变长的BLOB(Binary Large OBject)类型。对整数字段由自动增量选项,日期时间字段也能很好的表示。 MySQL与大多数其他数据库系统不同的是提供两个相对不常用的字段类型:ENUM和SET。ENUM是一个枚举类型,非常类适于Pascal语言的枚举类型,它允许程序员看到类似于red、green、blue的字段值,而MySQL只将这些值存储为一个字节。SET也是从Pascal借用的,它也是一个枚举类型,但一个单独字段一次可存储多个值,这种存储多个枚举值的能力也许不会给你一些印象(并可能威胁第三范式定义),但正确使用SET和CONTAINS关键字可以省去很多表连接,能获得很好的性能提高。 MySQL包含一些与SQL标准不同的转变,他们的大多数被设计成是对SQL语言脚本语言的不足的一种补偿。然而,另一些扩展确实使 MySQL与众不同,例如,LINK子句搜索是自动地忽略大小写的。MySQL 也允许用户自定义的SQL函数,换句话说,一个程序员可以编写一个函数然后集成到MySQL中,并且其表现的与任何基本函数如SUM()或AVG ()没有什么不同。函数必须被编译道一个共享库文件中(.so文件),然后用一个LOAD FUNCTION命令装载。它也缺乏一些常用的SQL功能,没有子选择(在查询中的查询)。视图(View)也没了。当然大多数子查询可以用简单的连接(join)子句重写,但有时用两个嵌套的查询思考问题比一个大连接容易。同样,视图仅仅为程序员隐蔽where子句,但这正是程序员们期望的另一种便利。MySQL没有一种存储过程(Stored Procedure)语言,这是对习惯于企业级数据库的程序员的最大限制。多语句SQL命令必须通过客户方代码来协调,这种情形是借助于相当健全的查询语言和赋予客户端锁定和解锁表的能力,这样才允许的多语句运行。MySQL的主要的缺陷之一是缺乏标准的RI机制;然而,MySQL的创造者也不是对其用户的愿望置若罔闻,并且提供了一些解决办法。其中之一是支持唯一索引。Rule限制的缺乏(在给钉字段域上的一种固定的范围限制)通过大量的数据类型来补偿。不简单地提供检查约束(一个字段相对于同一行的另一个字段的之值的限制)、外部关键字和经常与RI相关的“级联删除”功能。有趣的是,当不支持这些功能时,SQL分析器容忍这些语句的句法。这样做目的是易于移植数据库到MySQL中。这是一个很好的尝试,并且它确实未来支持该功能留下方便之门;然而,那些没有仔细阅读文档的的人可能误以为这些功能实际上是存在的。自始至终我对MySQL最大的抱怨是其安全系统,它唯一的缺点是复杂而非标准,另外只有到调用mysqladmin来重读用户权限时才发生改变。通常的SQL GRANT/REVOKE 语句到最近的版本才被支持,但是至少他们现在有了。 MySQL的编写者广泛地记载了其特定的安全性系统,但是它确实需要一条可能是别无它法的学习过程。强制参考一致性的缺乏显著地简化备份和恢复,单靠数据导入/导出就可完美复制这一功能。LOAD DATA INFILE命令给了数据导入很大的灵活性。SELECT INTO命令实现了数据导出的相等功能。另外,既然MySQL不使用原始的分区,所有的数据库数据能用一个文件系统备份保存。数据库活动能被记载。与通常的数据库日志不同(存储记录变化或在记录映像之前/之后), MySQL记载实际的SQL语句。这允许数据库被恢复到失败前的那一点,但是不允许提交(commit)和回卷(rollback)操作。MySQL客户库是客户/服务器结构的C语言库,它意味着一个客户能查询驻留在另一台机器的一个数据库。然而MySQL真正的强项处于该库中的语言“包装器(wrapper)”, Perl、Pathon和PHP只是一部分。Apache的Web服务器也有许多模块例如目录存取文件等允许各种各样的Apache配置信息(例如目录存取文件)使用MySQL,应用程序接口简单、一致并且相但完整。另外、多平台ODBC驱动程序可自由获得。MySQL的开发继续以快速进行着。事实上,开发步伐对大多数开放源代码是一种挑战。本文提到的几个抱怨中有很多新功能正在解决,然而,我将不对还没确实存在的特征做评价。开发者们向我表明了在未来的开发中把增加查询功能和提高查询速度作为最高优先级。Mysql是数据库领域的中间派。它缺乏一个全功能数据库的大多数主要特征,但是又有比类似Xbase记录存储引擎更多的特征。它象企业级RDBMS那样需要一个积极的服务者守护程序,但是不能象他们那样消费资源。查询语言允许复杂的连接(join)查询,但是所有的参考完整必须由程序员强制保证。MySQL在Linux世界里找到一个位置提供简洁和速度,同时仍然提供足够的功能使程序员高兴。数据库程序员将喜欢其查询功能和广泛的客户库,数据库管理员会觉得系统缺乏主要数据库功能,他们会发觉它对简单数据库(在不能保证购买大牌数据库时)是有价值的。72.5 本章小结 系统相关技术介绍,对系统进行一个总体的概述,以及介绍使用到的技术:JAVABEAN ,MYSQL,JAVA SERVLET,JSP技术。第三章 系统总体架构设计3.1系统特点1.基于免费环境开发 jdk+Tomcat+MySql 或 Ms-Access2.客户端基于浏览器访问,产品模块化设计3.信息集中处理,操作简单3.2系统设计思想页面模块化本系统把页面中的一些常用部分集成为模块,如页面的头和尾,这样设计新的页面时如果有重复出现部分,只需要拿现成的模块来组装就可以了。三层结构架构本系统采用三层架构设计,它的工作原理如图3-1所示:组织SQL语句查询数据给出图书ID查询图书资料给出信息ID查询信息JavaBean数据库操作界面返回查询结果返回信息对象数据存储层业务处理层用户界面层 图3-1 三层架构的工作原理采用三层架构以后,用户界面层通过统一的接口向业务层发送请求,业务层按自己的逻辑规则将请求处理后进行数据库操作,然后将数据库返回的数据封装成类的形式返回给用户层。这样用户界面层就可以不知道数据库结构,它只要维护与业务层之间的接口即可。这种方式一定程度上增加了数据库的安全性,同时减低了对用户界面层开发人员的要求,因为它根本不需要进行任何数据库操作。上面的JavaBean通过返回对象的形式来返回数据,在类的内部可以规定哪些数据可访问,哪些数据是只读,从而通过封装数据达到再一次提高数据安全性的目的。3.3 系统功能模块划分1用户登录 2用户管理 3部门管理4刊物管理 5 刊物订阅 6.注销修改个人资料3.4系统结构设计刊物订阅管理系统根据面向对象和三层结构的设计思想,可以得出如图3-2所示的系统结构设计图。数据库后台JavaBean前台刊物信息刊物信息用户信息资料修改信息统计订阅管理刊物信息用户信息图3-2 系统结构图3.5 本章小结介绍系统的特点和设计思想:页面模块化,三层架构设计;功能模块划分为六个部分:用户登录、用户管理、部门管理、刊物管理、刊物订阅和注销修改个人资料。第四章 详细设计与运行结果数据库在一个信息管理系统中占有非常重要的地位,数据库结构设计的好坏将直接对应使用系统的效率以及实现的效果产生影响。合理的数据库结构设计可以提高数据存储的效率,保证数据的完整和一致。本系统使用MYSQL5.0作为后台数据库,创建的数据库名为kwdy_database。4.1数据库设计4.1.1 数据库需求分析通过系统功能分析,针对高校实验学生刊物订阅管理系统的需求,总结出如下的数据库需求信息并设计如下所示的数据项和数据结构:用户信息,含数据项:编号、登陆名、姓名、密码、部门、角色等。刊物信息,含数据项:编号、类型、名称、出版社、刊物周期、订价等。刊物订阅,含数据项:用户编号、用户名、部门、刊物名、订阅年份、数量、金额等。部门信息,含数据项:编号、名称、职责等。4.1.2 数据库概念设计根据前面分析,设计出满足用户需求的各种实体,以及它们之间的关系,为后面的逻辑结构设计打下基础。这些实体包含各种具体信息,通过相互之间的作用形成数据的流动。在E-R图中用矩形框代表实体,用连接相关实体的菱形框表示关系,用椭圆表示实体的属性,并用直线把实体与其属性连接起来。根据上面的设计规划出以下实体:用户信息实体的E-R图如图4-1所示姓名角色用户编号图4-1 用户信息实体E-R图刊物信息实体的E-R图如图4-2所示刊物信息出版社编号类别名称图4-2 刊物信息实体的E-R图刊物订阅信息实体的E-R图如图4-3所示:刊物订阅信息订价用户编号类别名称图 4-3刊物订阅信息实体的E-R图部门信息实体的E-R图如图4-4所示:部门职责编号名称图4-4 部门信息实体E-R图4.1.3 数据库逻辑设计现将上面的数据库概念结构转化MYSQL5.0数据库系统所支持的实际数据模型,也就是数据库的逻辑结构。数据库包含以下两个表:用户信息表yhxx 、刊物信息表kwxx 、刊物订阅信息表kwdy 、部门信息表bmxx。下面分别介绍这些表的结构: 用户信息表 如图4-5:图4-5 用户信息表刊物信息表 如图4-6: 图4-6 刊物信息表刊物订阅表 如图4-7: 图4-7 刊物订阅表 图4-8 部门信息表 图4-8 部门信息表 4.2组件的编写在工程下新建一个包kwdy,然后在这包下新建三个包,即op,,util,run。系统包如图4-9所示:opyhxxkwxxkwdybmxxutildatabasedataformatQueryPageTruncaterunop_yhxxop_kwxxop_kwdyop_bmxx图4-9 系统包图在run包下有四个类,其作用如下:op_yhxx类:管理用户 ,包括查询、修改、删除、添加等op_kwxx类:管理刊物,包括查询、修改、删除、添加等op_kwdy类:管理刊物订阅,包括查询、修改、删除、添加等op_bmxx类:管理部门,包括查询、修改、删除、添加等在util包下有四个类,其作用如下:database类:数据库连接dataformat类:数据格式转换QueryPage类:数据分页Truncate类:转换中文下面介绍类的实现方式数据连接Bean的编写这是一个公共类,其它类如果要连接数据库,只需要构造这个类的对象就可以了。在op包下有四个类,其作用如下:yhxx类:定义用户kwxx类:定义刊物信息kwdy类: 定义刊物订阅信息bmxx类:定义部门信息 package kwdy.util;import java.sql.*;public class DataBase public Connection conn; public Statement stmt; public ResultSet rs=null; public String sqlStr=; public DataBase() this.connect(); public boolean connect() try/access数据库 /Class.forName(sun.jdbc.odbc.JdbcOdbcDriver).newInstance(); /String url =jdbc:odbc:Driver=Microsoft Access Driver (*.mdb);DBQ=d:/jsp/kwdy/database/kwdy_database.mdb; /conn=DriverManager.getConnection(url,root,8888);/sqlserver数据库(odbc) /Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); /String u
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 年产2万台机箱机柜项目规划设计方案(范文参考)
- 行政管理实践能力试题及答案培训
- 中级经济师考试知识体系的搭建与试题及答案
- 了解市政学考试的基本试题及答案
- 一步一脚印中级经济师试题及答案
- 引导建筑材料市场发展的新政策试题及答案
- 2024年水利水电工程流域管理试题及答案
- 水利水电考试心态调整试题及答案
- 行政管理学伦理与政策试题及答案
- 经济法概论考试经验分享试题及答案
- SL631水利水电工程单元工程施工质量验收标准第1部分:土石方工程
- 公积金提取单身声明
- 产业园区物业管理服务交接方案
- 平板电脑样机功能测试报告
- 小学五年级英语一般疑问句练习题
- SAP_PS-PS模块配置和操作手册
- 煤矸石综合利用填沟造地复垦项目可行性研究报告-甲乙丙资信
- 绿化养护报价表(共8页)
- 小升初幼升小学生择校重点中学入学简历自荐信自我介绍word模板 女生版
- 本科教学工作审核评估汇报PPT课件
- 工业用机器人毕业设计
评论
0/150
提交评论