版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、河南大学2007届本科毕业论文报刊杂志征订系统开发Development of Publication and Magazine Ordering System论文作者姓名:李静月 所在学院:计算机与信息工程学院 所学专业:计算机科学与技术 导师姓名职称:张连堂(教授) 论文完成时间:2007年5月20日 2007年5月20日河南大学2007届毕业论文(设计、创作)开题报告(由学生本人认真填写)学号姓名李静月导师姓名职称张连堂(教授)开题时间2006年12月1日课题题目报刊杂志征订系统开发课题来源导师指定 自定 其他来源 课题的目的、意义以及和本课题有关的国内外现状分析:1、目的:通过本管理软
2、件系统的开发,使得对大学期间所学知识进行系统的深化提高和巩固,达到理论结合实际提高综合素质的目的。2、意义:报刊杂志征订系统的开发意义在于:规范管理,实现管理手段自动化、现代化,从繁琐的手工管理模式中解放出大量人力。 随着计算机的应用和普及,其强大的功能已为人们深刻认识,使用计算机管理有着手工不能相比的优点,因此,报刊杂志订阅系统的开发不仅适应了社会发展的要求,而且有很大的实用性。 3、现状,在我国,几乎所有邮政系统的报刊杂志订阅流通管理都由人工完成,其参与队伍及其庞大,极大的影响了信息传播的及时性。研究目标、研究内容和准备解决的问题:本系统开发的最终目的是实现报刊杂志订阅的自动化,研究对象是
3、从四面八方传入邮政管理部门的报刊杂志征定发行渠道的各种报刊杂志信息。其目的在于:充分理解报刊杂志订阅的具体操作流程,在这些工作中传播的是些什么信息,这些信息的现有保存方式又是怎么样的,现有的管理方式都有哪些不便之处,通过计算机开发出来的系统可以完成哪些工作,可以在哪些方面提高征订、发行、管理的效率等。拟采取的方法、技术或设计(开发)工具:根据软件开发的方法,准备采用传统的瀑布模型来进行软件的开发,在开发过程中将利用数据流图、流程图等辅助工具描述系统,并不断完善系统功能。 拟采用JBuilder 2006作为开发工具,使用Microsoft Office Access 2003作为数据库软件。预
4、期成果:1、毕业设计成果软件2、毕业论文进度计划:2006.12.1 - 2007.3.6:查找资料、搜集相关素材2007.3.7 - 2007.4.10:完成功能分析2007.4.11 - 2007.4.21:完成整体框架设计2007.4.22 - 2007.5.2:实现系统的功能2007.5.2 - 2007.5.15:整理资料、撰写毕业论文2007.5.16 - 2007.5.25:根据导师要求,完善毕业设计和论文指导教师对选题报告的意见:该生选题很有实用价值,符合开题要求,同意开题。 指导教师签名: 2006 年 12 月 1 日河南大学2007届毕业论文(设计、创作)任务书(由学生本
5、人认真填写)学号姓名李静月导师姓名张连堂任务书起止日期2006年12月8日 至 2007年5月20日论文提要:根据所开发的报刊杂志征订管理系统所撰写的论文应该包含如下要点:1、课题研究的目的、意义以及和本课题有关的国内外现状分析2、研究目标、研究内容和准备解决的问题3、拟采取的方法、技术或设计(开发)工具4、软件的系统介绍5、系统的新意所在点和尚存在的问题,以及预期改进、升级措施,系统的使用方法 课题任务要求:报刊杂志订阅系统要求为订阅管理提供一个完善的工具,可以完成打印、查询、修改等功能,以实现订阅的自动化。课题要解决数据库设计及其与程序的链接,模块优化等问题,使代码拥有较高可读性,并有较好
6、的时间空间复杂度。主要参考文献:1 孙卫琴,Java面向对象编程,电子工业出版社,2006年7月 2 Eckel,b.著,Java编程思想,第3版,机械工业出版社,2005年5月3 邓良松、刘海岩、陆丽娜,软件工程,西安电子科技大学出版社,2000年6月4 陈志泊、李冬梅、王春玲,数据库原理及应用教程,人民邮电出版社,2002年3月5(美)伽玛,设计模式可复用面向对象软件的基础,第1版,机械工业出版社,2005年6月6Craig Larman, Applying UML and Patterns: An Introduction to Object-Oriented Analysis and
7、Design and Iterative Development (3rd Edition), PRENTICE HALL PTR, 2005年4月河南大学2007届毕业设计(论文、创作)中期检查表学院名称:计算机与信息工程学院题目名称报刊杂志征订系统开发学号所学专业计算机科学与技术指导教师姓 名张连堂 姓名李静月一、毕业设计进展情况截至到目前已完成的任务如下:2006.12.12007.3.6:查找资料、搜集相关素材2007.3.72007.4.10:完成功能分析 还没有完成的任务有:完成编码,撰写论文。二、存在问题1.打印账单时,由于每次打印时所选的字段都不可能相同,而每个字段的宽度又不相
8、同,打印出来的信息会参差不齐。2.执行某些数据库操作语句时,能得到正确结果,但是存在异常。三、下一阶段的研究方法或设计思路1.考虑到系统的可扩充性,系统开发过程中,各个功能模块应该相对独立,这样便于功能的扩充和完善。 2.考虑到数据的一致性要求,要求当一表的数据发生变化时,相关表的信息也要发生相应的变动。四、指导教师对学生设计(论文、创作)进展等方面的评语该生在做毕业设计期间乐于思考、善于解决遇到的问题,已按时完成了原计划规定的任务, 要继续凝聚力做好后续工作,力争在给定时间内完成整个系统的开发。 指导教师签字: 2007年 4 月 10 日 此表除第四项外由学生填写指导教师签河南大学2007
9、届毕业论文(设计、创作)综合成绩表(一)学院名称:计算机与信息工程学院学 号姓名李静月专业计算机科学与技术指导教师张连堂 综合得分85论文题目报刊杂志征订系统开发指导教师评语及得分指导教师评语该生选题具有实用性,考虑问题周全,能按时独立完成项目的开发,并透彻地撰写论文,完成了毕业设计全部任务。评分项目分值指导教师对毕业论文(设计、创作)评分撰写开题报告、文献综述15调查研究查阅整理资料10学习态度与规范要求10数据处理、文字表达10论文(设计、创作)质量和创新意识55合计100得分138784985指导教师签名 2007年5月20日评阅教师评语及评分评阅教师评语该生的论文达到了本科论文的要求,
10、语句通顺,思路清晰,分析全面。评分项目分值评阅毕业论文(设计、创作)评分撰写开题报告、文献综述15调查研究查阅整理资料10学习态度与规范要求10数据处理、文字表达10论文(设计、创作)质量和创新意识55合计100得分128875287评阅教师签名 2007年 5 月 21 日此表由教师填写河南大学2007届毕业论文(设计、创作)综合成绩表(二)学号姓名李静月所在学院计算机与信息工程学院答辩委员会评语及评分答辩委员会评语回答问题用词准确,语句通顺,思路清晰,分析全面, 达到了本科论文的要求。答辩委员签字: 2007年5月26日评分 项目 分值论文答辩小组评分答辩情况论文质量合计(100)内容表达
11、情况(15)答辩问题情况(25)规范要求与文字表达(20)论文(设计、创作)质量和创新意识(40)得分1323182983答辩委员会主任签字: 2007 年 5 月 26 日毕业论文(设计、创作)成绩综合评定: 85 分综合评定等级: 良备注:一、论文的质量评定,应包括对论文的语言表达、结构层次、逻辑性理论分析、设计计算、分析和概括能力及在论文中是否有新的见解或创新性成果等做出评价。从论文来看学生掌握本专业基础理论和基本技能的程度。二、成绩评定采用结构评分法,即由指导教师、评阅教师和答辩委员会分别给分(以百分计),评阅教师得分乘以20%加上指导教师得分乘以20%加上答辩委员会得分乘以60%即综
12、合成绩。评估等级按优、良、中、差划分,优90-100分;良76-89分;中60-75分;差60分以下。三、评分由专业教研室或院组织专门评分小组(不少于5人),根据指导教师和答辩委员会意见决定每个学生的分数,在有争议时,应由答辩委员会进行表决。四、毕业论文答辩工作结束后,各院应于6月20日前向教务处推荐优秀论文以汇编成册,推荐的篇数为按当年学院毕业生人数的1.5%篇。五、各院亦可根据本专业的不同情况,制定相应的具有自己特色的内容。须报教务处备案。六、书写格式要求:1、目录;2、内容提要须书写200左右汉字,开题报告(文科除外)的内容要根据不同专业的课题任务要求,阐述查阅文献、文案论证、解题思路、
13、工作步骤等;3、正文(含引言、结论等);4、参考文献(或资料)河南大学本科生毕业论文(设计、创作)承诺书论文题目报刊杂志征订系统开发姓 名李静月所学专业计算机科学与技术学 号完成时间2007年5 月20日指导教师姓名职称张连堂(教授)承诺内容:1、本毕业论文(设计、创作)是学生李静月在导师张连堂的指导下独立完成的,没有抄袭、剽窃他人成果,没有请人代做,若在毕业论文(设计、创作)的各种检查、评比中被发现有以上行为,愿按学校有关规定接受处理,并承担相应的法律责任。2、学校有权保留并向上级有关部门送交本毕业论文(设计、创作)的复印件和磁盘。备注:学生签名: 指导教师签名: 2007年 5 月 20
14、日 2007 年 5 月 20 日说明:学生毕业论文(设计、创作)如有保密等要求,请在备注中明确,承诺内容第2条即以备注为准。目 录摘 要IABSTRACTII第1章 绪论11.1 开发背景及意义11.2 开发软件简介1第2章 系统功能分析32.1 功能分析32.2 主要功能42.3 可行性分析4第3章 系统功能设计63.1 功能设计63.2 数据库设计83.2.1 数据库规划83.2.2 数据库设计83.3 可移植性介绍9第4章 系统主要功能实现114.1 数据库连接的实现114.2 系统管理模块主要功能的实现124.3 基本操作模块主要功能的实现134.4 统计分析模块主要功能的实现144
15、.5 打印模块主要功能的实现15总结与展望18参考文献20摘 要报刊杂志的征订虽说是件小事情,但是实际操作起来相当复杂。它是报刊杂志这类信息载体在国民中传播的必不可少的管理程序,每一个企事业单位都有其相应的专设机构,这些机构在邮政管理部门的统一管理下进行运作。随着人们对报刊杂志的需求不断增加,人工统计困难而且容易出错,其弊端越来越明显,显然已经不能适应信息时代的发展。本文所介绍的报刊杂志征订系统,通过调研开封市邮政管理局,根据其所提供的目前对于报刊杂志的管理程序和办法,以JBuilder 2006为开发工具,结合Microsoft Office Access 2003 数据库进行开发。通过对数
16、据对象进行数据结构分析,把报刊杂志名称、定价、出版社等基础数据和订阅单位、征订数量等客户数据相分离;保留基础数据,并提供便利的修改手段。这样,在新的周期订阅时,系统可方便的进行初始化。系统实现了书籍管理、查询信息、订阅、打印等功能,可方便的完成订阅、管理以及统计分析工作,为图书期刊部门一线工作人员提供了一个便利的管理工具。关键词 报刊杂志管理,基础数据ABSTRACTAlthough subscriptions of newspaper and magazine are common, the actual operation is relatively complex. It is an i
17、ndispensable management procedure in which such information carrier of newspaper and magazine spread. Each enterprise and institution has a corresponding organization which is managed by the postal service department. People need more and more publication and magazine. So, the manual statistics is h
18、ard and always includes error messages. The management obviously can not adapt the development of information age.The system of publication magazine subscription introduced in this paper is developed through investigating and studying the KaiFeng Postal Service Administrative Bureau. According to th
19、e management they provided, the JBuilder 2006 and Microsoft Office Access 2003 are chosen as development tools.Through the analysis of the object data structure, the fundamental data which includes name, price, and publication from the data of customs which includes unit and quantity are separate, r
20、eserve foundation data and design convenient revision module in the system. Thereby, for the new cyclical subscription, the system facilitates the initialization. The system has realized many functions such as books management, information query, subscription, and printing. It can complete order, ma
21、nagement and analysis work, and provide a convenient management tool for the workers of book management department.Keywords publication and magazine management, base date第1章 绪论随着科学技术的飞速发展,要想适应社会发展的要求,学生仅仅依靠课本是远远不够的,必须阅读大量的课外资料,如报刊杂志等。目前,大多数学校中报刊杂志的订阅仍沿用了传统的人工管理方式,随着计算机技术的高速发展,这种传统的方式显然已经不能满足高效率管理的要求
22、,而且和社会的发展及不谐调,很有必要利用计算机技术来改进这种旧的方式。本章主要介绍该系统的开发背景和意义,以及采用的开发工具。1.1 开发背景及意义近年来人们对教育越来越重视。许多家长不仅希望自己的子女能在学业上取得好成绩还希望他们能开阔视野、创新思维,为此,各种各样的报刊杂志进入了中小学生的生活。目前,许多学校,特别是在农村,仍然采用传统的人工操作方法对各种订阅信息进行统计,随着订阅量的增加,工作量也随之增加,统计难而且容易出错,采用人工管理的弊端越来越明显,如何全面准确而又快捷的向学生展示书籍信息,以方便学生对各种报刊杂志有一个大概的了解;如何高效、准确的完成各班的订阅统计,并完成结算;如
23、何快速分析每种报刊的销售情况、盈利情况从而对其价格进行合理的调整,等等这些问题对传统的手工作坊式的管理机制提出了挑战。随着计算机技术和网络技术的日新月异,信息技术已逐渐融入到社会各个领域,为人们所利用,使用计算机不仅可以减少物力财力支出,还能提高工作效率,减少人为的手工操作错误,提高数据、信息的安全性。因此,很有必要改变当前许多学校落后的报刊杂志订阅方式,运用计算机来管理原本繁琐的任务并完成各种分析工作。1.2 开发软件简介根据软件的实际特点,选择JbBuilder2006来完成设计。JBuilder 是Borland公司出品的Java可视化开发工具。作为业界领先的Java集成开发环境。JBu
24、ilder可以提供Java程序的编辑、调试、编译、运行等功能,支持几乎所有的Java技术开发,从Java Applet,JavaApplication到J2EE.WebServices。JBuilder可以大大提高程序员的开发效率和软件产品质量。使用该可视化工具开发程序有很多好处,其中最显著的优点有:能够快速生成程序框架,设计图形界面,调试程序等。此外JBuilder2006内置了对一些企业级服务器的支持,包括Borland服务器,Bea公司的WebLogic服务器,IBM的WebSphere服务器和iPlanet服务器。数据库采用Microsoft Office Access,Access2
25、003 是关系数据库开发工具,数据库能汇集各种信息以供查询、存储和检索。Access 的优点在于它能使用数据表示图或自定义窗体收集信息,数据表示图提供了一种类似于 Excel 的电子表格,可以使数据库一目了然。另外,Access 允许创建自定义报表用于打印或输出数据库中的信息。Access也提供了数据存储库,可以使用桌面数据库文件把数据库文件置于网络文件服务器与其他网络用户共享数据。第2章 系统功能分析该章先着重从工作人员的角度出发分析系统的主要功能,通过调查相关部门,了解工作流程中最基本也最重要的是报刊杂志的订阅和分发两部分,同时还要考虑系统的正确性,安全性,和高效性等性能,并在此基础上确定
26、系统的基本功能。最后从技术,经济方面分析系统的可行性。2.1 功能分析 通过调查报亭如何进行报刊杂志的争订工作,并访问了邮政部门,了解到报刊杂志订阅的流程、分发是如何进行的,以及如何对书籍信息进行管理。整个订阅和分发的流程如图2-1所示。图2-1 流程图 本系统是为了完成中学的报刊杂志征订工作而设计的,它可以看作是一个发行站点,为了方便系统扩充、实现可移植性,原来由邮政进行书籍管理的工作,在本系统中由发行站来实现。报刊杂志订阅系统中最基本的功能是报刊杂志的订阅和分发。订阅的流程为:学生以班为单位进行报刊杂志的订阅,并允许学生进行补订书刊。订阅之后,工作人员根据订阅信息把订单发给报刊杂志社;报刊
27、杂志社收 到订单后,按期向发行站发放书刊;发行站收到书籍后,根据各班的订阅信息向每个班分发书籍。该系统还应包括书籍管理,用户管理,查询订阅情况以及打印报表功能。书籍管理包括添加、删除书籍信息以及更新书籍的价格,此外工作人员要及时了解报刊杂志社对书籍价格的调整,并结合汇总统计功能了解报刊杂志的销售情况,据此对各个报刊杂志的价格进行合理的调整,以促进销售。然后列出一个书目表,让同学们对各种书籍有一些了解。同时,为了方便工作人员和学生查阅订阅信息,本系统还实现了班级查询和年级查询功能,分别显示所查询班级或年级的订阅情况。2.2 主要功能根据以上的系统功能分析,又结合了系统的安全性,确定该报刊杂志订阅
28、系统的基本功能如下:(1)为了保证数据的安全性,登录系统时设置身份验证,只有合法的用户才能操纵该系统,而且允许合法用户修改登录密码,当有新的工作人员时还可以添加用户,同时也有删除用户的功能。(2)对各种报刊杂志进行管理,包括添加书籍信息,更新书籍信息以及删除书籍信息等。(3)实现以班级为单位的报刊杂志的订阅,并完成结帐功能。为了预防意外情况,应允许个人以班级的名义进行补订,例如:1年级1班已经订阅过读者这本书,当该班有同学想补订时可以该班的名义进行订阅。(4)根据订阅情况生成订单,并结算,以方便工作人员以此为依据进行报刊杂志的采购。(5)以班为单位分发报刊杂志。(6)分别实现以班和以年级为单位
29、的订阅查询,以方便管理人员对订阅情况进行核对和分析。(7)列出各班账单,以进行核对。(8)列出一定时期内的收入情况,包括每本报刊杂志的获利情况。(9)打印账单,打印分发表和各班账单。2.3 可行性分析21世纪是信息化的时代,第三产业特别是服务业飞速发展。由于工作和学习的需要,人们对信息和各种知识的需求急剧增加,从而报刊杂志的销售量也越来越大,全国各地的报刊杂志订阅点也随之增多。而目前许多的报亭和一些订阅点仍然沿用了以前的纯手工操作,这种工作方式效率低,随着工作量的增加,势必要增加从业人员的工作量,要有效地解决这种矛盾,在不增加人力成本的情况下,借助于飞速发展的信息技术是一种不错的选。计算机应用
30、领域的扩大,使许多人认识到利用一个专门的软件通过计算机来完成订阅这一功能是一个必然的趋势,借助于计算机和网络技术的发展可以充分利用有限的资源,提高工作效率、快速便捷的完成原本繁琐的工作,同时也可以尽量避免一些意外的人为失误,减轻从业人员的工作量和工作压力。因此该系统会有一个大的市场。当今的计算机软件、硬件技术完全可以支持运行报刊杂志订阅系统,根据用户选择的数据库的不同,从当前流行的主机配置到高档服务器都可以支持,操作系统可以采用 windows 2000和windows XP。本系统采用JBuilder2006开发工具,数据库采用Microsoft Office Access 2003。第3章
31、 系统功能设计本章首先介绍系统的功能设计,然后根据系统的功能来设计具体的数据库。在系统功能分析、确定基本功能的前提下进行系统功能设计,根据用户需求,围绕尽可能方便用户操作的目标,对系统进行模块划分,每个模块分别完成一定的功能。数据库设计时,利用范式对所设计的表进行规范处理,以杜绝插入、删除、更新异常,尽可能减少数据冗余。3.1 功能设计根据以上的功能分析,在尽可能满足用户的需求,尽可能方便用户操作的前提下,对系统功能进行设计,系统构架设计如图3-1所示:图3-1 框架图 根据系统分析把该系统分为四个模块:系统管理模块,基本操作模块,统计分析模块,打印报表模块。每个模块中包括的功能如下所示:系统
32、管理模块:添加用户,删除用户,更改密码,修改名表,退出系统基本操作模块:班级订阅,班级订阅查询,年级订阅查询。统计分析模块:汇总统计,查看各班帐,查看年级账,查看订单。打印报表模块:班级打印,年级打印,打印分发表,打印订单。下面详细介绍各个模块的功能作用:系统管理模块:添加用户:每个用户都有一个用户名和密码,该记录保存在数据库中,只有合法的用户才可以添加用户记录。删除用户:当工作人员已不再使用其用户名时,可将他的记录从数据库中删除。更改密码:更改用户密码;修改名表:包括添加新书的书籍信息;对于不再用的书,把其信息从数据库中删除,以减少数据库的存储量;工作人员还可以修改书籍的价格基本操作模块:班
33、级订阅:先显示各种书籍的信息,以方便用户选择要订阅的书籍,此后再确定订阅的册数,通过书籍的主键和册数以及订阅该书籍的具体班级来保存订阅信息;班级订阅查询:查询班级订阅报刊杂志的情况,其中,为了减少程序控制,应对班级进行选择而不是填写;年级订阅查询:查询年级订阅报刊杂志情况,同上,也要求对年级进行选择而不是填写;统计分析模块:汇总统计:对每种报刊杂志的销售情况进行统计分析,计算利润方便工作人员以此为依据对书籍价格进行适当的调整;查看各班帐:显示各班订阅详细情况,以供查阅。查看年级账:统计指定年级的账单,并显示出来。查看订单:统计订阅情况,生成订单,工作人员以此为依据把定单发给个报刊社。打印报表模
34、块:班级打印:打印各班订阅的书籍和数目,以方便查看和核对;年级打印:打印各年级订阅书籍和数目,以方便查看和核对;打印分发表:根据采购到的书籍和订阅信息打印分发表,按照表中项目进行分发;3.2 数据库设计数据库结构设计的好坏将直接对应用系统的实现以及执行效率产生影响,好的数据库结构设计会减少数据的存储量,并且没有插入删除以及更新异常。3.2.1 数据库规划该系统采用Microsoft Office Access2003数据库,采用基于E-R 模型的设计方法,根据系统的总体功能,相应的数据库应包括四个表:(1)用户表:保存合法的用户信息,用户登录时根据该表判断用户是否合法。(2)书籍信息表:保存各
35、种书籍的信息,作为订阅报刊杂志时的参考。(3)订阅表:保存各班的订阅情况,包括订阅的书籍编号和册数,系统根据订阅表生成订单并依据该表分发各班报刊杂志。(4)已发表:保存分发信息,包括书籍编号,册数,以及订阅的班级和分发日期。3.2.2 数据库设计根据给定的环境,对数据库进行设计,构造最优的数据库模式,建立数据库及其应用系统,使之能有效的存储数据,满足用户的信息要求和处理要求,也就是把现实世界中的数据,根据各种处理的要求,加以合理组织,使之满足硬件和操作系统的特性,利用已有的数据库管理系统来建立能够实现系统目标的数据库。结合数据库设计规则,数据库的具体设计如下所示。表3-1 用户列名数据类型长度
36、主键UName文本8TrueUPassword文本10True表3-2 书籍信息列名数据类型长度主键书籍编号文本10True书名文本10False作者文本8False出版社文本20False定价单精度小数位数2False进价单精度小数位数2False卖出价单精度小数位数2False表3-3 订阅表列名数据类型长度主键书籍编号文本10True年级文本2True班级文本2True订阅册数整型4False订书日期日期/时间9False表3-4 已发表列名数据类型长度主键书籍编号文本10True年级文本2True班级文本2True订阅册数整型4False分发日期日前/时间9False3.3 可移植性介
37、绍报刊杂志是信息传播的载体,随着社会信息化进程的加快,对其需求量也越来越大,而报刊杂志的争订涉及单位及其广泛,几乎每一个企事业单位都有相应的专设机构来进行报刊杂志的争订工作。因此开发出一个可移植性强的订阅系统不仅具有很大的实用性,而且还有很大的潜在市场。为了能使本系统可以经过尽可能少的修改、支出尽可能小的成本、并尽可能方便的转换为为其他单位服务的工具,在数据库设计和程序设计的过程中都尽可能利于移植。在数据库设计过程中,结合数据库基础知识,为每个表都设置有主键,在保证对数据库操作正确性、一致性的同时,采用数据分离技术,把书籍信息和订阅信息进行有效的分离,通过外部键来进行表与表之间的联系,这样,对
38、书籍信息的修改不会使订阅信息产生错误。而且,系统要修改成为其他单位服务的工具时,只需对客户信息进行修改以得到客户对象的转换即可,不仅方便快捷,而且修改少,在程序中波及的范围小,这样也很有利于程序的修改。在代码编写过程中,应尽可能减少用户输入。尽量用选择来代替输入,例如报刊杂志订阅时应选择书籍信息和客户信息,只用输入订阅册书,这样,不仅可以避免用户的输入错误,而且还可以免除对输入信息的正确性检查、方便操作。当程序涉及到数据库操作时,要尽可能使程序不涉及数据库表的各个字段,这样,当表字段发生改变时,不会影响到系统的具体实现。在用户界面中显示查询信息时,要利用特定的类对象来获得查询结果的列数和行数,
39、而不是用自己已经知道的查询的列数。总之,系统实现充分考虑了系统可移植性,同时采用了正确的程序书写格式,这不仅有利于系统的移植,而且增强了程序可读性。第4章 系统主要功能实现在完成系统设计的基础上,完成各个模块的功能。采用JBuilder 2006做为开发工具,可以快速的完成界面设计,此外,还可以用到Java 类库中的许多函数,大大的方便了编程。4.1 数据库连接的实现先建立好数据库,然后再把系统和数据库连到一起,连接时要先在程序中进行数据库连接,之后再进行手动的数据库连接。数据源名定义为:bookDt,下面是程序中实现数据库连接时用到的一些函数: ResultSet rs;/定义一个Resul
40、tSet类对象 String st1=jdbc:odbc:bookDt;/数据库连接语句 Connection conn;/定义一个Connection对象 public ResultSet getResult(String sql)/该函数实现数据库的连 try /结 Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); conn = DriverManager.getConnection(st1); Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.
41、CONCUR_UPDATABLE); rs=stmt.executeQuery(sql); System.out.println( executeSql-+sql ); return rs; public boolean executeSql(String sql)/该函数执行数据库操作语句 try /成功返回True,否则返回False Class.forName(sun.jdbc.odbc.JdbcOdbcDriver) ; Connection conn=DriverManager.getConnection(st1) ; Statement stmt=conn.createStatem
42、ent(); stmt.executeUpdate(sql); System.out.println( executeSql-+sql ); mit(); return true; 4.2 系统管理模块主要功能的实现该模块包括两个部分:书籍管理和用户管理。其中书籍管理包括添加、删除书籍信息以及修改书籍价格。进入BookMessage(通过该界面可以进行书籍管理工作)界面时,系统首先调用display函数在JTable控件显示数据库中已有的书籍信息,以供工作人员参考。其中用到的重要语句有:语句中的参数rs是一个ResultSet类的对象,是执行数据库操作语句后返回的,它保存得到的信息。while
43、(rs.next()/该循环语句实现显示书籍信息功能 vec=new Vector(1,1);/建立一个向量 vec.add(rs.getString(参数);/往向量中添加信息 model.add(vec);/把向量vec添加到Jtable中 JTable是JBuiler中的一个容器,要想在它上面显示数据,得用一个DefaultTableModel模型来控制数据显示格式。添加书籍信息时通过数据操作语句insert into 来实现。更新书籍信息即修改书籍的价格,用户只需选择要修改的书籍即可,而不用把所有的信息再重新输入,可以用update set 语句来操作,更新后的信息还保存在书籍信息表中
44、。删除就是把已经不用的书籍信息从书籍信息表中删除。其中用户管理包括添加、删除和更新用户密码。其中,删除用户是一个JFram窗口,上面有用户名和密码两个文本框,供删除时填写信息。具体实现要与数据库相关,要检测用户名和密码是否存在,是否匹配,这个需要自己写函数来验证,我用了jdbc里面的getResult函数来获得查询结果,看用户信息表里面是否存在输入的用户名。其中用户名从文本框中获得,在而从密码文本框中获得密码时,需要一个方法,因为JPasswordField里面字符串的获得,不是用getText()函数,它需要用一个循环语句把密码文本框里字符一个一个获后再拼接成字符串。用户名和密码填写正确后,
45、才能删除用户信息。 4.3 基本操作模块主要功能的实现本模块包括班级订阅,班级查询,年级查询。班级订阅就是以班为单位进行报刊杂志的订阅。该窗口在打开后已经在JTable中显示了所有书目的信息,该功能的实现和上面显示书籍信息是一样的。运行界面如图41所示。图4-1 班级订阅界面订阅时需要用户直接在JTable选择要订阅的书籍,可用该控件的鼠标单击事件来得到用户点击的书籍信息所在的行数。根据书籍信息来进行报刊杂志的订阅,订阅时先检查订阅册数是否已经填写,填写信息完整后即可进行订阅操作。具体的操作如下:Calendar cal = new GregorianCalendar();/获得当前日期Str
46、ing date=cal.get(Calendar.YEAR)+-“ /把日期转换成短日期boolean isexit=false;String sttsql=select 订阅册数 from 订阅表 where 书籍编号=+bcode+ and 年级=+sg+ and 班级=+sc+;/数据库操作语句rs=dt.getResult(sttsql);/该操作检查数据库中是否已存在改班的订rs.first();bnum2=rs.getInt(订阅册数);/订阅信息if(bnum2=0)/当没有信息时可直接插入订阅信息 对数据库进行插入操作 else 对数据库进行更新操作 订阅之后,还要进行结算,
47、这会用到书籍信息表,根据订阅书刊的唯一标识符“书籍编号”来查询该书籍的信息。获得书籍编号时用到一个getValueAt(int i,int j)函数,参数i表示Jtable 的行下标,参数j表示Jtable的列下标,都是从0开始,由于Jtable中已经含有书籍编号,该函数即可返回已选中的书籍的主键信息。这样点击订阅按钮后,就可计算出所需要的费用并把订阅信息保存在订阅表中以供分发时使用。和班级订阅相比,班级查询和年级查询就简单了很多,年级查询窗体上也有一个Jtable控件,在这上面显示年级信息,查询时先在jCombox中选择要查询的年级,根据选择的信息来执行数据库操作语句,按照年级进行订阅信息的
48、分组即可。4.4 统计分析模块主要功能的实现模块中有查看各班帐和汇总统计功能。这两者在实现有许多类似的地方,以下以汇总统计为例介绍如何实现该功能:用户首先选择日期范围,系统会通过一些语句来避免选择的日期出现差错。该功能最重要的是从数据库中提取有用信息,完成统计功能,由于销售信息中仅含有书籍编号,没有书名及进价和卖出价,要计算每种报刊杂志的利润和利润率,就要涉及到已发表和书籍信息两个表。具体实现如下:String date1,date2,strSql;date1=y1+-+m1+-+d1;/记录下日期起始地址date2=y2+-+m2+-+d2;/ /记录下日期终止地址strSql=select
49、 书籍编号,sum(订阅册数) as num from 已发表 where 分发日期 between +date1+ and +date2+ group by 书籍编号;rs=dt.getResult(strSql);/执行数据库操作语句,并返回ResultSet rs.beforeFirst();while(rs.next()/该语句实现往JTable中填写要统计的信息 vec=new Vector(1,1);/创建一个向量 vec.add(rs.getString(书籍编号);vec.add(); vec.add(+rs.getInt(num); model.addRow(vec);Str
50、ing bcode=,bname=,strsql2;float mj=0,mm=0;int t; float zongjia1=0,zongjia2=0,zonglir=0; for(int n=model.getRowCount()-1;n=0;n-) bcode=model.getValueAt(n,0).toString();t=Integer.parseInt(model.getValueAt(n,2).toString(); strsql2=select 书名,进价,卖出价 from 书籍信息 where书籍编号=+bcode+; rs=dt.getResult(strsql2);t
51、ry rs.first(); bname=rs.getString(书名);mj=rs.getFloat(进价);mm=rs.getFloat(卖出价)4.5 打印模块主要功能的实现该模块中实现各班帐打印,年级打印和订单打印功能。这三个打印功能的实现方法大体上相同,只是打印的内容上不同,下面以班级打印为例介绍如何实现打印。班级打印的界面如图42所示。图4-2 班级打印实现班级打印时,在printCAccount界面中通过构造函数把选择的年级、班级传递给typeCa类,该类实现具体的打印工作,类中有两个重要函数:public int print()和public List getResult()
52、;getResult()函数以List 形式返回操作结果,print()函数把getResult()返回的结果打印出来,其主要代码如下:Book book=new Book();PageFormat pf=new PageFormat();/这三条语句创建了三个类Paper p=new Paper();/对象。打印时要用到这些实例。p.setSize(590,840);/设置纸张大小。p.setImageableArea(72,72,590,840);/设置打印区域。Pf.setPaper(p); book.append(new typeBookInfo(),pf)/把PageFormat和
53、/Printable添加到书中,组成一个页面。PrintJob job=PrinterJob.getPrinterJob();/设置打印类。Job.setPageable(book);job.print();/print()函数实现具体的打印功/能,其主要代码如下:Public int print(Graphics gra,PageFormat pf,int pageIndex)/*Graphics是所有图形上下文的抽象类,允许应用程序在组件以闭屏图像上进行绘制;PageFormat类描述要打印页面的大小和方向;pageIndex记录要打印的页的下标。*/list= this.getResult()/getResultg函数执行数据库操作语句,并以/Lis
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 移动厨房租赁合同模板
- 船舶维修升降机租赁合同
- 橡胶原料储存罐租赁合同
- 医疗设备购置定向捐赠协议
- 银行彩钢瓦安装合同协议书
- 建筑道路施工人工费合同
- 娱乐业二手房交易合同范本
- 食品公司产品研发协议
- 折叠轮椅租用合同范例
- 重庆装修劳务合同范例
- 统编版 七年级上册 第五单元 活动·探究 任务一 体会人与动物的关系 20 狼(教学设计)
- 2023年人教版八年级地理下册全册电子教案备课
- 内蒙古自治区高等职业院校2024年对口招收中等职业学校毕业生单独考试语文试题(无答案)
- 幼儿园班本课程培训
- 2025届浙江省杭州市学军中学高三下学期联合考试物理试题含解析
- 质量管理题库
- 2024年部编版七年级上册语文期末专项训练:文言文对比阅读
- 2024-2030年智能交通项目可行性研究报告
- 护理纠纷防范及护患沟通考核试题
- 2024年医学法律法规考试题库及参考答案
- 山西省太原市2024-2025学年高一化学上学期期末考试试题
评论
0/150
提交评论