




已阅读5页,还剩22页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
报刊杂志征订系统开发Development of Publication and Magazine Ordering System目 录摘 要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.5 打印模块主要功能的实现15总结与展望18参考文献20摘 要报刊杂志的征订虽说是件小事情,但是实际操作起来相当复杂。它是报刊杂志这类信息载体在国民中传播的必不可少的管理程序,每一个企事业单位都有其相应的专设机构,这些机构在邮政管理部门的统一管理下进行运作。随着人们对报刊杂志的需求不断增加,人工统计困难而且容易出错,其弊端越来越明显,显然已经不能适应信息时代的发展。本文所介绍的报刊杂志征订系统,通过调研开封市邮政管理局,根据其所提供的目前对于报刊杂志的管理程序和办法,以JBuilder 2006为开发工具,结合Microsoft Office Access 2003 数据库进行开发。通过对数据对象进行数据结构分析,把报刊杂志名称、定价、出版社等基础数据和订阅单位、征订数量等客户数据相分离;保留基础数据,并提供便利的修改手段。这样,在新的周期订阅时,系统可方便的进行初始化。系统实现了书籍管理、查询信息、订阅、打印等功能,可方便的完成订阅、管理以及统计分析工作,为图书期刊部门一线工作人员提供了一个便利的管理工具。关键词 报刊杂志管理,基础数据ABSTRACTAlthough subscriptions of newspaper and magazine are common, the actual operation is relatively complex. It is an indispensable 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 hard 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 the 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, reserve 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, management and analysis work, and provide a convenient management tool for the workers of book management department.Keywords publication and magazine management, base date第1章 绪论随着科学技术的飞速发展,要想适应社会发展的要求,学生仅仅依靠课本是远远不够的,必须阅读大量的课外资料,如报刊杂志等。目前,大多数学校中报刊杂志的订阅仍沿用了传统的人工管理方式,随着计算机技术的高速发展,这种传统的方式显然已经不能满足高效率管理的要求,而且和社会的发展及不谐调,很有必要利用计算机技术来改进这种旧的方式。本章主要介绍该系统的开发背景和意义,以及采用的开发工具。1.1 开发背景及意义近年来人们对教育越来越重视。许多家长不仅希望自己的子女能在学业上取得好成绩还希望他们能开阔视野、创新思维,为此,各种各样的报刊杂志进入了中小学生的生活。目前,许多学校,特别是在农村,仍然采用传统的人工操作方法对各种订阅信息进行统计,随着订阅量的增加,工作量也随之增加,统计难而且容易出错,采用人工管理的弊端越来越明显,如何全面准确而又快捷的向学生展示书籍信息,以方便学生对各种报刊杂志有一个大概的了解;如何高效、准确的完成各班的订阅统计,并完成结算;如何快速分析每种报刊的销售情况、盈利情况从而对其价格进行合理的调整,等等这些问题对传统的手工作坊式的管理机制提出了挑战。随着计算机技术和网络技术的日新月异,信息技术已逐渐融入到社会各个领域,为人们所利用,使用计算机不仅可以减少物力财力支出,还能提高工作效率,减少人为的手工操作错误,提高数据、信息的安全性。因此,很有必要改变当前许多学校落后的报刊杂志订阅方式,运用计算机来管理原本繁琐的任务并完成各种分析工作。1.2 开发软件简介根据软件的实际特点,选择JbBuilder2006来完成设计。JBuilder 是Borland公司出品的Java可视化开发工具。作为业界领先的Java集成开发环境。JBuilder可以提供Java程序的编辑、调试、编译、运行等功能,支持几乎所有的Java技术开发,从Java Applet,JavaApplication到J2EE.WebServices。JBuilder可以大大提高程序员的开发效率和软件产品质量。使用该可视化工具开发程序有很多好处,其中最显著的优点有:能够快速生成程序框架,设计图形界面,调试程序等。此外JBuilder2006内置了对一些企业级服务器的支持,包括Borland服务器,Bea公司的WebLogic服务器,IBM的WebSphere服务器和iPlanet服务器。数据库采用Microsoft Office Access,Access2003 是关系数据库开发工具,数据库能汇集各种信息以供查询、存储和检索。Access 的优点在于它能使用数据表示图或自定义窗体收集信息,数据表示图提供了一种类似于 Excel 的电子表格,可以使数据库一目了然。另外,Access 允许创建自定义报表用于打印或输出数据库中的信息。Access也提供了数据存储库,可以使用桌面数据库文件把数据库文件置于网络文件服务器与其他网络用户共享数据。第2章 系统功能分析该章先着重从工作人员的角度出发分析系统的主要功能,通过调查相关部门,了解工作流程中最基本也最重要的是报刊杂志的订阅和分发两部分,同时还要考虑系统的正确性,安全性,和高效性等性能,并在此基础上确定系统的基本功能。最后从技术,经济方面分析系统的可行性。2.1 功能分析 通过调查报亭如何进行报刊杂志的争订工作,并访问了邮政部门,了解到报刊杂志订阅的流程、分发是如何进行的,以及如何对书籍信息进行管理。整个订阅和分发的流程如图2-1所示。图2-1 流程图 本系统是为了完成中学的报刊杂志征订工作而设计的,它可以看作是一个发行站点,为了方便系统扩充、实现可移植性,原来由邮政进行书籍管理的工作,在本系统中由发行站来实现。报刊杂志订阅系统中最基本的功能是报刊杂志的订阅和分发。订阅的流程为:学生以班为单位进行报刊杂志的订阅,并允许学生进行补订书刊。订阅之后,工作人员根据订阅信息把订单发给报刊杂志社;报刊杂志社收 到订单后,按期向发行站发放书刊;发行站收到书籍后,根据各班的订阅信息向每个班分发书籍。该系统还应包括书籍管理,用户管理,查询订阅情况以及打印报表功能。书籍管理包括添加、删除书籍信息以及更新书籍的价格,此外工作人员要及时了解报刊杂志社对书籍价格的调整,并结合汇总统计功能了解报刊杂志的销售情况,据此对各个报刊杂志的价格进行合理的调整,以促进销售。然后列出一个书目表,让同学们对各种书籍有一些了解。同时,为了方便工作人员和学生查阅订阅信息,本系统还实现了班级查询和年级查询功能,分别显示所查询班级或年级的订阅情况。2.2 主要功能根据以上的系统功能分析,又结合了系统的安全性,确定该报刊杂志订阅系统的基本功能如下:(1)为了保证数据的安全性,登录系统时设置身份验证,只有合法的用户才能操纵该系统,而且允许合法用户修改登录密码,当有新的工作人员时还可以添加用户,同时也有删除用户的功能。(2)对各种报刊杂志进行管理,包括添加书籍信息,更新书籍信息以及删除书籍信息等。(3)实现以班级为单位的报刊杂志的订阅,并完成结帐功能。为了预防意外情况,应允许个人以班级的名义进行补订,例如:1年级1班已经订阅过读者这本书,当该班有同学想补订时可以该班的名义进行订阅。(4)根据订阅情况生成订单,并结算,以方便工作人员以此为依据进行报刊杂志的采购。(5)以班为单位分发报刊杂志。(6)分别实现以班和以年级为单位的订阅查询,以方便管理人员对订阅情况进行核对和分析。(7)列出各班账单,以进行核对。(8)列出一定时期内的收入情况,包括每本报刊杂志的获利情况。(9)打印账单,打印分发表和各班账单。2.3 可行性分析21世纪是信息化的时代,第三产业特别是服务业飞速发展。由于工作和学习的需要,人们对信息和各种知识的需求急剧增加,从而报刊杂志的销售量也越来越大,全国各地的报刊杂志订阅点也随之增多。而目前许多的报亭和一些订阅点仍然沿用了以前的纯手工操作,这种工作方式效率低,随着工作量的增加,势必要增加从业人员的工作量,要有效地解决这种矛盾,在不增加人力成本的情况下,借助于飞速发展的信息技术是一种不错的选。计算机应用领域的扩大,使许多人认识到利用一个专门的软件通过计算机来完成订阅这一功能是一个必然的趋势,借助于计算机和网络技术的发展可以充分利用有限的资源,提高工作效率、快速便捷的完成原本繁琐的工作,同时也可以尽量避免一些意外的人为失误,减轻从业人员的工作量和工作压力。因此该系统会有一个大的市场。当今的计算机软件、硬件技术完全可以支持运行报刊杂志订阅系统,根据用户选择的数据库的不同,从当前流行的主机配置到高档服务器都可以支持,操作系统可以采用 windows 2000和windows XP。本系统采用JBuilder2006开发工具,数据库采用Microsoft Office Access 2003。第3章 系统功能设计本章首先介绍系统的功能设计,然后根据系统的功能来设计具体的数据库。在系统功能分析、确定基本功能的前提下进行系统功能设计,根据用户需求,围绕尽可能方便用户操作的目标,对系统进行模块划分,每个模块分别完成一定的功能。数据库设计时,利用范式对所设计的表进行规范处理,以杜绝插入、删除、更新异常,尽可能减少数据冗余。3.1 功能设计根据以上的功能分析,在尽可能满足用户的需求,尽可能方便用户操作的前提下,对系统功能进行设计,系统构架设计如图3-1所示:图3-1 框架图 根据系统分析把该系统分为四个模块:系统管理模块,基本操作模块,统计分析模块,打印报表模块。每个模块中包括的功能如下所示:系统管理模块:添加用户,删除用户,更改密码,修改名表,退出系统基本操作模块:班级订阅,班级订阅查询,年级订阅查询。统计分析模块:汇总统计,查看各班帐,查看年级账,查看订单。打印报表模块:班级打印,年级打印,打印分发表,打印订单。下面详细介绍各个模块的功能作用:系统管理模块:添加用户:每个用户都有一个用户名和密码,该记录保存在数据库中,只有合法的用户才可以添加用户记录。删除用户:当工作人员已不再使用其用户名时,可将他的记录从数据库中删除。更改密码:更改用户密码;修改名表:包括添加新书的书籍信息;对于不再用的书,把其信息从数据库中删除,以减少数据库的存储量;工作人员还可以修改书籍的价格基本操作模块:班级订阅:先显示各种书籍的信息,以方便用户选择要订阅的书籍,此后再确定订阅的册数,通过书籍的主键和册数以及订阅该书籍的具体班级来保存订阅信息;班级订阅查询:查询班级订阅报刊杂志的情况,其中,为了减少程序控制,应对班级进行选择而不是填写;年级订阅查询:查询年级订阅报刊杂志情况,同上,也要求对年级进行选择而不是填写;统计分析模块:汇总统计:对每种报刊杂志的销售情况进行统计分析,计算利润方便工作人员以此为依据对书籍价格进行适当的调整;查看各班帐:显示各班订阅详细情况,以供查阅。查看年级账:统计指定年级的账单,并显示出来。查看订单:统计订阅情况,生成订单,工作人员以此为依据把定单发给个报刊社。打印报表模块:班级打印:打印各班订阅的书籍和数目,以方便查看和核对;年级打印:打印各年级订阅书籍和数目,以方便查看和核对;打印分发表:根据采购到的书籍和订阅信息打印分发表,按照表中项目进行分发;3.2 数据库设计数据库结构设计的好坏将直接对应用系统的实现以及执行效率产生影响,好的数据库结构设计会减少数据的存储量,并且没有插入删除以及更新异常。3.2.1 数据库规划该系统采用Microsoft Office Access2003数据库,采用基于E-R 模型的设计方法,根据系统的总体功能,相应的数据库应包括四个表:(1)用户表:保存合法的用户信息,用户登录时根据该表判断用户是否合法。(2)书籍信息表:保存各种书籍的信息,作为订阅报刊杂志时的参考。(3)订阅表:保存各班的订阅情况,包括订阅的书籍编号和册数,系统根据订阅表生成订单并依据该表分发各班报刊杂志。(4)已发表:保存分发信息,包括书籍编号,册数,以及订阅的班级和分发日期。3.2.2 数据库设计根据给定的环境,对数据库进行设计,构造最优的数据库模式,建立数据库及其应用系统,使之能有效的存储数据,满足用户的信息要求和处理要求,也就是把现实世界中的数据,根据各种处理的要求,加以合理组织,使之满足硬件和操作系统的特性,利用已有的数据库管理系统来建立能够实现系统目标的数据库。结合数据库设计规则,数据库的具体设计如下所示。表3-1 用户列名数据类型长度主键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 可移植性介绍报刊杂志是信息传播的载体,随着社会信息化进程的加快,对其需求量也越来越大,而报刊杂志的争订涉及单位及其广泛,几乎每一个企事业单位都有相应的专设机构来进行报刊杂志的争订工作。因此开发出一个可移植性强的订阅系统不仅具有很大的实用性,而且还有很大的潜在市场。为了能使本系统可以经过尽可能少的修改、支出尽可能小的成本、并尽可能方便的转换为为其他单位服务的工具,在数据库设计和程序设计的过程中都尽可能利于移植。在数据库设计过程中,结合数据库基础知识,为每个表都设置有主键,在保证对数据库操作正确性、一致性的同时,采用数据分离技术,把书籍信息和订阅信息进行有效的分离,通过外部键来进行表与表之间的联系,这样,对书籍信息的修改不会使订阅信息产生错误。而且,系统要修改成为其他单位服务的工具时,只需对客户信息进行修改以得到客户对象的转换即可,不仅方便快捷,而且修改少,在程序中波及的范围小,这样也很有利于程序的修改。在代码编写过程中,应尽可能减少用户输入。尽量用选择来代替输入,例如报刊杂志订阅时应选择书籍信息和客户信息,只用输入订阅册书,这样,不仅可以避免用户的输入错误,而且还可以免除对输入信息的正确性检查、方便操作。当程序涉及到数据库操作时,要尽可能使程序不涉及数据库表的各个字段,这样,当表字段发生改变时,不会影响到系统的具体实现。在用户界面中显示查询信息时,要利用特定的类对象来获得查询结果的列数和行数,而不是用自己已经知道的查询的列数。总之,系统实现充分考虑了系统可移植性,同时采用了正确的程序书写格式,这不仅有利于系统的移植,而且增强了程序可读性。第4章 系统主要功能实现在完成系统设计的基础上,完成各个模块的功能。采用JBuilder 2006做为开发工具,可以快速的完成界面设计,此外,还可以用到Java 类库中的许多函数,大大的方便了编程。4.1 数据库连接的实现先建立好数据库,然后再把系统和数据库连到一起,连接时要先在程序中进行数据库连接,之后再进行手动的数据库连接。数据源名定义为:bookDt,下面是程序中实现数据库连接时用到的一些函数: ResultSet rs;/定义一个ResultSet类对象 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.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.createStatement(); stmt.executeUpdate(sql); System.out.println( executeSql-+sql ); mit(); return true; 4.2 系统管理模块主要功能的实现该模块包括两个部分:书籍管理和用户管理。其中书籍管理包括添加、删除书籍信息以及修改书籍价格。进入BookMessage(通过该界面可以进行书籍管理工作)界面时,系统首先调用display函数在JTable控件显示数据库中已有的书籍信息,以供工作人员参考。其中用到的重要语句有:语句中的参数rs是一个ResultSet类的对象,是执行数据库操作语句后返回的,它保存得到的信息。while(rs.next()/该循环语句实现显示书籍信息功能 vec=new Vector(1,1);/建立一个向量 vec.add(rs.getString(参数);/往向量中添加信息 model.add(vec);/把向量vec添加到Jtable中 JTable是JBuiler中的一个容器,要想在它上面显示数据,得用一个DefaultTableModel模型来控制数据显示格式。添加书籍信息时通过数据操作语句insert into 来实现。更新书籍信息即修改书籍的价格,用户只需选择要修改的书籍即可,而不用把所有的信息再重新输入,可以用update set 语句来操作,更新后的信息还保存在书籍信息表中。删除就是把已经不用的书籍信息从书籍信息表中删除。其中用户管理包括添加、删除和更新用户密码。其中,删除用户是一个JFram窗口,上面有用户名和密码两个文本框,供删除时填写信息。具体实现要与数据库相关,要检测用户名和密码是否存在,是否匹配,这个需要自己写函数来验证,我用了jdbc里面的getResult函数来获得查询结果,看用户信息表里面是否存在输入的用户名。其中用户名从文本框中获得,在而从密码文本框中获得密码时,需要一个方法,因为JPasswordField里面字符串的获得,不是用getText()函数,它需要用一个循环语句把密码文本框里字符一个一个获后再拼接成字符串。用户名和密码填写正确后,才能删除用户信息。 4.3 基本操作模块主要功能的实现本模块包括班级订阅,班级查询,年级查询。班级订阅就是以班为单位进行报刊杂志的订阅。该窗口在打开后已经在JTable中显示了所有书目的信息,该功能的实现和上面显示书籍信息是一样的。运行界面如图41所示。图4-1 班级订阅界面订阅时需要用户直接在JTable选择要订阅的书籍,可用该控件的鼠标单击事件来得到用户点击的书籍信息所在的行数。根据书籍信息来进行报刊杂志的订阅,订阅时先检查订阅册数是否已经填写,填写信息完整后即可进行订阅操作。具体的操作如下:Calendar cal = new GregorianCalendar();/获得当前日期String 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 对数据库进行更新操作 订阅之后,还要进行结算,这会用到书籍信息表,根据订阅书刊的唯一标识符“书籍编号”来查询该书籍的信息。获得书籍编号时用到一个getValueAt(int i,int j)函数,参数i表示Jtable 的行下标,参数j表示Jtable的列下标,都是从0开始,由于Jtable中已经含有书籍编号,该函数即可返回已选中的书籍的主键信息。这样点击订阅按钮后,就可计算出所需要的费用并把订阅信息保存在订阅表中以供分发时使用。和班级订阅相比,班级查询和年级查询就简单了很多,年级查询窗体上也有一个Jtable控件,在这上面显示年级信息,查询时先在jCombox中选择要查询的年级,根据选择的信息来执行数据库操作语句,按照年级进行订阅信息的分组即可。4.4 统计分析模块主要功能的实现模块中有查看各班帐和汇总统计功能。这两者在实现有许多类似的地方,以下以汇总统计为例介绍如何实现该功能:用户首先选择日期范围,系统会通过一些语句来避免选择的日期出现差错。该功能最重要的是从数据库中提取有用信息,完成统计功能,由于销售信息中仅含有书籍编号,没有书名及进价和卖出价,要计算每种报刊杂志的利润和利润率,就要涉及到已发表和书籍信息两个表。具体实现如下:String date1,date2,strSql;date1=y1+-+m1+-+d1;/记录下日期起始地址date2=y2+-+m2+-+d2;/ /记录下日期终止地址strSql=select 书籍编号,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);String 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);try rs.first(); bname=rs.getString(书名);mj=rs.getFloat(进价);mm=rs.getFloat(卖出价)4.5 打印模块主要功能的实现该模块中实现各班帐打印,年级打印和订单打印功能。这三个打印功能的实现方法大体上相同,只是打印的内容上不同,下面以班级打印为例介绍如何实现打印。班级打印的界面如图42所示。图4-2 班级打印实现班级打印时,在printCAccount界面中通过构造函数把选择的年级、班级传递给typeCa类,该类实现具体的打印工作,类中有两个重要函数:public int print()和public List getResult();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和 /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函数执行数据库操作语句,并以/List 的形式返回结果, 保存在list中。Iterator iter = list.iterator();/*Iterator 是对collection进行迭代的迭代器,它允许调用者利用定义良好的语义在迭代期间从迭代器所指向的collection 移除元素和返回迭代的下一个元素。*/String str = null;Graphics2D g2 = (Graphics2D) gra; int i = 0;g2.setColor(Color.black);/设置打印字体的颜色为黑色。while (iter.hasNext() /如果仍有元素可以迭代,该函数返回True。 str = (String) iter.next();/返回迭代的下一个元素。 i+;g2.drawString(str, 10, 20 * i);/打印得到的操作结果。下面是public List getResult()的主要代码:String sg,sc/分别保存传递下来的年级、班级的具体值。List list=new ArrayList(0);String strSql=”select订阅表.书籍编号,书名,订阅册数,卖出价,订阅册数*卖出价as total from订阅表、书籍信息 where 书籍信息.书籍编号订阅表.书籍编号 and年级”+sg+”,and 班级”+sc+”;Data dt=new Data();ResultSet rs=dt. getResult(sql);ResultSetMetaData rsmd=rs.getMetaData();/利用该类对象可以取得、/rs对象的列数int clum= =rsmd.getColumnCount();/保存操作结果的列数。这样做的好处是,修改程序时,只用修改SQL语句,而不用修改下面的具体实现代码。String str=”;rs.beforeFirst();for(int j=0;jclum;j+)/该循环语句把属性名保存到str 中 str+= rsmd.getColumnName(j);list.add(str);/向list列表尾部添加strwhile(rs.next)/该循环语句把数据库操作结果保存到str中str=”;for(int i=0;iclum;i+) str+=rs.getString(i);list.add(str);return list;/保存了要打印的数据的list返回给print()函数总结与展望代码编写完后,需要对软件进行测试和调试,尽早发现程序中的错误,以减少后期的纠错维护性工作。测试时采用单元测试和综合测试相结合的方法,先对每个模块进行测试,采用基本路径测试和循环测试技术,保证模块中每条语句至少执行一次,以发现因错误计算、不正确的比较和不适当的控制流造成的错误;然后在对整个系统进行测试,是否能正常运行。在测试过程中采用黑盒测试方法,对系统的每个功能进行检测,检查软件的功能可否操作;程序能否适当的接收输入数据并产生正确的输出结果;能否保持外部信息的完整性。测试也是有技巧的,有的问题很难发现,这就需要添加捕获异常的语句或一些输出语句,一步一步的把问题找出。例如刚开始不知道数据库里面的日期类型是带小时、分、秒的,在获得数据时,总是出错,后来当我获得日期字符串时,我把字符输出一看,发现日期字符串很长,不是我想用得类型,因此就写了一个函数来截取字符串。还有的就是在插入信息时系统总是说我的Insert语句语法错误,我怎么找也不知道是怎么错了,后来经过排除,终于找出我用的属性值名称和数据库里面关键字重复了,于是加了中括号后正确了。在系统设计时,本着方便用户操作的原则,尽可能减少用户输入数据、让用户通过系统来了解各种信息并实现对数据库的操作。系统已实现订阅、分发和打印等重要功能,并实现了书籍管理、查询、统计分析等功能,而且通过身份认证保证系统的安全性,经过测试,暂时没有发现错误,基本满足了用户的需求;可以用来进行报刊杂志的订阅。使用JBuilder 2006 开发工具,不仅易于界面设计,而且可以使用Java 中的许多类函数和组件,大大简化了程序的编码;程序采用缩进式格式,并带有注释,清晰易懂;系统配带的数据库没有插入、删除、更新异常,且没有数据冗余。由于能力有限,系统仍存在一定的问题:打印报表模块中的打印功能还不完善,不能按照预定的方式打印出来,而且必须先保存才能打印,还不能有效的控制打印效果。该系统最重要的特点是可移植性强,易以改进。只要将数据库中的订阅表、已发表的属性加以修改,程序稍加改动即可转变客户对象。该系统即可用于面向个人或其他单位的报刊杂志订阅。目前每个市区都有许多的报亭,而且每个企事业单位都有一个专门机构的进行报刊杂志订阅的订阅。随着科学技术的快速发展,利用计算机进行管理的优点也越来越被人们所认识到,因此该系统会有很大的潜在市场。通过该项目的开发,我受益颇多,不仅深化了我对软件开发的认识,还提高了动手能力,对我以后的学习和工作都有很大的帮助。参考文献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 Design and Iterative Development (3rd Edition), PRENTICE HALL PTR, 2005年4月以下内容与本文档无关!以下内容与本文档无关!。以下为赠送文档,祝你事业有成,财源广进,身体健康,家庭和睦!高效能人士的50个习惯l 在行动前设定目标有目标未必能够成功,但没有目标的肯定不能成功。著名的效率提升大师博思.崔西説:“成功就是目标的达成,其他都是这句话的注释。”现实中那些顶尖的成功人士不是成功了才设定目标,而是设定了目标才成功。一次做好一件事著名的效率提升大师博思.崔西有一个著名的论断:“一次做好一件事的人比同时涉猎多个领域的人要好得多。”富兰克林将自己一生的成就归功于对“在一定时期内不遗余力地做一件事”这一信条的实践。培养重点思维从重点问题突破,是高效能人士思考的一项重要习惯。如果一个人没有重点地思考,就等于无主要目标,做事的效率必然会十分低下。相反,如果他抓住了主要矛盾,解决问题就变得容易多了。发现问题关键在许多领导者看来,高效能人士应当具备的最重要的能力就是发现问题关键能力,因为这是通向问题解决的必经之路。正如微软总裁兼首席软件设计师比尔。盖茨所説:“通向最高管理层的最迅捷的途径,是主动承担别人都不愿意接手的工作,并在其中展示你出众的创造力和解决问题的能力。”把问题想透彻把问题想透彻,是一种很好的思维品质。只要把问题想透彻了,才能找到问题到底是什么,才能找到解决问题最有效的手段。不找借口美国成功学家格兰特纳说过这样的话:“如果你有为自己系鞋带的能力,你就有上天摘星星的机会!”一个人对待生活和工作是否负责是决定他能否成功的关键。一名高效能人士不会到处为自己找借口,开脱责任;相反,无伦出现什么情况,他都会自觉主动地将自己的任务执行到底。要事第一创设遍及全美的事务公司的亨瑞。杜哈提说,不论他出多小钱的薪水,都不可能找到一个具有两种能力的人。这两种能力是:第一,能思想;第二,能按事情的重要程度来做事。因此,在工作中,如果我们不能选择正确的事情去做,那么唯一正确的事情就是停止手头上的事情,直到发现正确的事情为止。运用20/80法则二八法则向人们揭示了这样一个真理,即投入与产出、努力与收获、原因和结果之间,普遍存在着不平衡关系。小部分的努力,可以获得大的收获;起关键作用的小部分,通常就能主宰整个组织的产出、盈亏和成败。合理利用零碎时间所谓零碎时间,是指不构成连续的时间或一个事务与另一事务衔接时的空余时间。这样的时间往往被人们毫不在乎地忽略过去,零碎时间虽短,但倘若一日、一月、一年地不断积累起来,其总和将是相当可观的。凡事在事业上有所成就的人,几乎都是能有效地利用零碎时间的人。习惯10、废除拖延对于一名高效能人士来説,拖延是最具破坏性的,它是一种最危险的恶习,它使人丧失进取心。一旦开始遇事推托,就很容易再次拖延,直到变成一种根深崹蒂固的习惯。习惯11、向竞争对手学习一位知名的企业家曾经说过,“对手是一面镜子,可以照见自己的缺陷。如果没有了对手,缺陷也不会自动消失。对手,可以让你时刻提醒自己:没有最好的,只有更好。”习惯12、善于借助他人力量年轻人要成就一番事业,养成良好的合作习惯是不可少的,尤其是在现代职场中,靠个人单打独斗的时代已经过去了,只有同别人展开良好的合作,才会使你的事业更加顺风顺水。如果你要成为一名高效能的职场人士,就应当养成善于借助他人力量的好习惯。习惯13、换位思考在人际的相处和沟通里,“换位思考”扮演着相当重要的角色。用“换位思考”指导人的交往,就是让我们能够站在他人的立场上,设身处地理解他人的情绪,感同身受地明白及体会身边人的处境及感受,并且尽可能地回应其需要。树立团队精神一个真正的高效能人士,是不会依仗自己业务能力比别人更优秀而傲慢地拒绝合作,或者合作时不积极,倾向于一个人孤军奋战。他明白在一个企业中,只有团队成功,个人才能成功。善于休息休息可以使一个人的大脑恢复活力,提高一个人的工作效能。身处激烈的竞争之中,每一个人如上紧发条的钟表.因此,一名高效能人士应当注意工作中的调节与休息,这不但于自己健康有益,对事业也是大有好处的。及时改正错误一名高效能人士要善于从批评中找到进步的动力.批评通常分为两类,有价值的评价或是无理的责难.不管怎样,坦然面对批评,并且从中找寻有价值、可参考的成分,进而学习、改进、你将获得意想不到的成功。责任重于一切著名管理大师德鲁克认为,责任是一名高效能工作者的工作宣言.在这份工作宣言里,你首先表明的是你的工作态度:你要以高度的责任感对待你的工作,不懈怠你的工作、对于工作中出现的问题能敢于承担.这是保证你的任务能够有效完成的基本条件。不断学习一个人,如果每天都能提高1%,就没有什么能阻挡他抵达成功.成功与失败的距离其实并不遥远,很多时候,它们之间的区别就在于你是否每天都在提高你自己;如果你不坚持每天进步1%的话,你就不可能成为一名高效能人士.让工作变得简单简单一些,不是要你把事情推给别人或是逃避责任,而是当你焦点集中很清楚自己该做那些事情时,自然就能花更小的力气,得到更好的结果.重在执行执行力是决定一个企业成败的关键,同时也是衡量一个人做事是否高效的重要标准.只做适合自己的事找到合适自己的事,并积极地发挥专长,成为行业的能手,是高效能人士应当努力追求
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 新解读《GB-T 31341-2014节能评估技术导则》
- 野生菩提榕种苗购买合同2篇
- 酱油代加工合同范本
- 瓷砖切割加工合同范本
- 带物出租合同范本
- 奶茶店接单合同范本
- 同城配送运输合同范本
- 乙方租店面合同范本
- 煤车出售转让合同范本
- 北京低压供电合同范本
- 国内安全保卫学课件
- 高校干部面试试题及答案
- 农村宅基地审批培训课件
- 教科版科学小学科学三年级上册:全册 教案教学设计(新教材)
- 船员四小证Z01基本安全理论考试题及答案
- 村委雇佣合同范本
- 2025年公文写作基础知识竞赛试题库及答案(共120题)
- 《数据中心机房封闭通道设计规范》
- ISO9001 质量管理体系全套(质量手册+程序文件+表格记录全套)
- 建筑施工安全分项检查评分表
- 室外栏杆底座施工方案
评论
0/150
提交评论