首页 » SEO优化 » phpmis体系源码技巧_11java企业财务治理系统设计与实现源码在底部

phpmis体系源码技巧_11java企业财务治理系统设计与实现源码在底部

访客 2024-11-14 0

扫一扫用手机浏览

文章目录 [+]

毕业设计(论文)任务书

第1页

phpmis体系源码技巧_11java企业财务治理系统设计与实现源码在底部

毕业设计(论文)题目:

phpmis体系源码技巧_11java企业财务治理系统设计与实现源码在底部
(图片来自网络侵删)

企业财务管理系统设计与实现

毕业设计(论文)哀求及原始数据(资料):

理解企业用度管理流程的关键点;

2.深入研究企业用度流程中的各个环节;

3.熟习应对各财务环节审批的条件及权限;

4.熟习和理解公司内部的资金分配以及动向;

5.深入剖析企业用度的组成以及所需的关键技能与编写措辞;

6. 根据企业对不同员工的实际需求,进行该系统软件的设计和开拓;

7.演习检索文献资料和利用文献资料的能力;

8.演习撰写技能文档与学位论文的能力。

毕业设计(论文)紧张内容:

1. 深入理解企业财务管理系统分类,并剖析如何技能实现;

2.理解财务部门的浸染与权限;

3.企业财务对付不同员工的需求显示和对新员工的加入;

4.企业盈利亏损情形查询功能:查询企业财务的盈亏情形实现;

5. 用度审批填写功能:可以填写审批结果,填写审批终极结果;

6.员工人为,信息查询功能:新建、提交、删除、查看;

7.系统管理高等功能:若不具有分外权限,仅可以做查询等事。

学生应交出的设计文件(论文):

1.内容完全、层次清晰、阐述流畅、排版规范的毕业设计论文;

2.包括毕业设计论文、源程序等内容在内的毕业设计电子文档及其它干系材料。

紧张参考文献(资料):

[1] 张孝祥、徐明华, JAVA根本与案例开拓详解, 清华大学出版社, 2009.

[2] 康牧,JSP动态网站开拓实用教程,清华大学出版社,2009.

[3] 刘亚宾,精通Eclipse--JAVA技能大系,电子工业出版社,2005.

[4] 于万波,网站开拓与运用案例教程,清华大学出版社,2009.

[5] 杨学瑜,高立军,软件开拓过程与项目管理,电子工业出版社,2008.

[6] 张洁才,Java web运用开拓教程,科学出版社,2005.

[7] 戴维尔,JavaScript程序员教程,电子工业出版社,2010.

[8] 黎连业、王华、李淑春,软件测试与测试技能,清华大学出版社,2009.

[9] 黄梯云著.管理信息系统.北京.电子工业出版社.2006 .

[10](美)John J.Patrick著.SQL根本(第二版).清华大学出版社.2004.

[11](美)David flanagan著. 《Java技能手册》(《Java in a Nutshell》) 《Java技能手册》(《Java in a Nutshell》)《Java in a Nutshell》.东南大学出版社.2006.

[12]黄裴、徐汀荣,电子商务事理与技能(第二版),科学出版社,2006年10月

[13] Juan Lipson Vuong.A semantics-based routing scheme for grid resource discovery[M].E-Science: First International Conference on E-Science and GridComputing,2005:58-70,90.[14]Watts D J.Small Worlds. The dynamics of networks between order and randomness[P].America: 56A2579BB6,l999-05-13.

[15]Peter Rob, Carlos Coronel .Database Systems[M]. Cengage Learning EMEA, 2008[16]BurgessR. S. DESIGNING CODASYL DATABASE PROGRAMS USING JSP[C].Information and Software Technology,Vol29,No3,1987:151-158

专业班级

软件1103班

学生

哀求设计(论文)事情起止日期

2015年3月23日~2015年7月3日

辅导西席具名

日期

2015年3月23日

教研室主任审查具名

日期

2015年3月23日

系主任批准具名

日期

2015年3月23日

企业财务管理系统

择要

对付企业集来说,财务管理的地位很主要。
随着打算机和网络在企业中的广泛运用,企业发展速率在不断加快,在这种市场竞争冲击下企业财务管理系统必须优先发展,这样才能担保在竞争中处于上风地位。
对此企业必须实现财务管理系统的设计与开拓。

在这个别系中综合运用了MySQL、Servlet、JSP等知识。
网页界面的构造设计以实用性出发,具有易于操作、简洁、方便等特点。
在设计中,首先,利用HTML措辞对网站的静态页面进行风雅的加工并且在网站的美工方面取得了良好的效果。
其次,对付Java编程、JSP的动态编程以及MySQL数据库进行努力学习和大量实践,并利用到了网站的培植中。

本论文就企业财务管理系统进行了详细全面的论述。
访问本系统的用户分为、管理员和员工两种角色,管理员的功能有根本信息管理、公司资产、经营、用度信息的管理及年终资产剖析表的天生;员工的功能有查看个人人为、查看公司资产、经营、用度及年终资产剖析表。

关键字 : JSP;MySQL;Servlet

Enterprise Financial Management System

Abstract

For the enterprise, is an important financial management position. With the wide application of computer and network in the enterprise, enterprise development speed at a constant speed, in this competitive market impact of enterprise financial management system must give first priority to the development, so that we can guarantee in the advantage position in the competition. This enterprise must realize the financial management system design and development.

In this system the integrated application of MySQL, Servlet, JSP knowledge. Structure design of webpage interface to practicality, has the characteristics of easy operation, simple, convenient. In the design, first of all, has obtained the good effect of art using the static page HTML language on the website of the fine processing and in site. Secondly, to learn and practice a lot for the dynamic programming, JSP Java programming and MySQL database, and applied to the construction of the site.

Users to access the system is divided into two kinds of roles, administrators and staff, the administrator has the function of generating surface analysis of year-end assets management and basic information management, the assets of the company, management, cost information; staff function view individual wages, view the company assets, management, cost and year-end assets analysis table.

Key Words: JSP, MySQL, Servlet

目 录

绪 论 1

1 系统概述与技能先容 2

1.1 B/S构造先容 2

1.2 MySQL数据库 3

1.3 MyEclipse先容 4

1.4 JavaScrip措辞 4

1.5 JSP技能 4

1.6 MVC模式 5

2 系统需求剖析 8

2.1 开拓环境 8

2.2 需求剖析 8

2.3 可行性剖析 8

3 系统概要设计 10

3.1 系统设计概述 10

3.2 系统用例图 11

3.3 系统流程图 12

3.4 系统功能剖析 13

3.5 数据库构造设计 13

4 数据库设计与实现 14

4.1 数据库构造设计 14

4.1.1 表概要解释 14

4.1.2 数据表的构造 14

5 系统的详细设计与实现 18

5.1 系统上岸页面实现 18

5.2 管理员功能模块 18

5.2.1 部门信息管理 19

5.2.2 员工信息管理 21

5.2.3 员工人为管理 22

5.2.4 资产种别管理 23

5.2.5 资产信息管理 25

5.2.6 经营信息管理 26

5.2.7 用度信息管理 27

5.2.8 年终资产剖析 28

5.3 员工功能模块 29

5.3.1 个人人为查看 29

5.3.2 公司资产查询 29

5.3.3 公司经营查询 29

5.3.4 公司用度查询 30

5.3.5 资产剖析查看 30

6 系统测试 31

6.1 测试方法 31

6.2 系统测试结果 32

总 结 34

参考文献 35

致 谢 36

附录 37

绪 论

财务管理事情随着我国市场经济的发展,在各个企业的管理中扮演着越来越主要的角色,逐渐起到不可替代的核心浸染。
对付大型企业集团来说,财务管理显得更为主要,财务管理系统的建立将直接管到企业集团管理办法的影响,直接影响企业的管理效率的经济效益。
如何在现有经营环境下选择最佳的财务管理模式,利用最优的财务管理系统,实现企业的管理目标,适应企业信息化发展的须要,是一个值得研究和磋商的问题。

在信息时期,每个企业都紧跟步伐,逐渐转变着经营模式、办公模式。
同时,各个企业的传统的管理的模式也在逐步由人工管理向着自动化管理模式转变,财务管理系统应运而生。
无论是政府还是企奇迹单位,成员之间相互的信息沟通对付提高事情效率,更好完成事情显得特殊主要。
此外,每个单位都希望能和异地的分支机构、各个部门等保持实时联系,进行统一管理,因此,建立一个财务管理系统是可行的。
在针对现有的系统进行调查之后,拟开拓一套财务管理系统以适应信息化时期的财务管理需求。

我国的生产企业发展十分迅速。
但企业的信息化管理一贯是影响我国企业进一步发展的难点。
企业信息化是企业运用信息化的紧张过程,指的是在企业的各个层次,运用前辈的通信、打算机、互联网和软件等信息化技能,并充分的整合、广泛的利用企业内外信息的资源,提高企业的生产、经营和管理的水平,增强企业的竞争力和过程。
结合我国目前的国情来看,改革开放以来,我国的中小企业得到了迅速发展。
这些中小企业存在着一定的普遍特色:资金不是十分雄厚,管理不是非常完善,信息化根本普遍较差,面临着非常激烈的市场竞争。

随着信息时期到来,企业的生存和竞争环境产生了根本性变革。
当前中小型企业的信息化具有深刻的内容,个中管理信息化成为及其主要方面。
如何利用信息的技能用来增强企业管理,对付如何制订企业信息化的发展计策用来提升企业的核心竞争力,若何把信息化系统融入日常管理事情来为企业带来效益,是当前我们所面临的主要课题。

1 系统概述与技能先容

作了一个管理系统,首先布局一定要新颖、有特色,只有这样才能引起用户的关注,最大限度的知足人们的需求,而且要有很强的易用性,易用性差的管理系统会让用户产生厌烦感情。
当然一个好的管理系统还要有很完全的处理信息的功能。
通过对用户的调查和对现有的企业财务系统运行的流程剖析,为了知足大多数用户的需求,我的目标是要构建一个页面大略清晰但包含信息相对全面、易用性强的中小型企业财务管理系统。

1.1 B/S构造先容

B/S模式是一种以Web技能为根本的新型的MIS系统平台模式。
把传统C/S模式中的做事器部分分解为一个数据做事器与一个或多个运用做事器(Web做事器),从而构成一个三层构造的客户做事器体系。

第一层客户机是用户与全体系统的接口。
客户的运用程序精简到一个通用的浏览器软件,如微软公司的IE。
浏览器将HTML代码转化成图文并茂的网页。
网页还具备一定的交互功能,许可用户在网页供应的申请表上输入信息提交给后台,并提出处理要求。
这个后台便是第二层的Web做事器。

第二层Web做事器将启动相应的进程来相应这一要求,并动态天生一串HTML代码,个中嵌入处理的结果,返回给客户机的浏览器。
如果客户机提交的要求包括数据的存取,处理这一事情须要web做事器与数据库做事器协同完成。
  第三层数据库做事器的任务类似于C/S模式,卖力折衷不同的做事器发出的要求,帮助管理数据库。

B/S模式首先简化了客户端。
它无需像C/S模式那样在不同的客户机上安装不同的客户运用程序,而只需安装通用的浏览器软件。
这样不但可以节省客户机的硬盘空间与内存,而且使安装过程更加简便、网络构造更加灵巧。
假设一个企业的决策层要开一个谈论库请安题的会议,他们只需从会议室的打算机上直接通过浏览器查询数据,然后显示给大家看就可以了。
乃至与会者还可以把条记本电脑联上会议室的网络插口,自己来查询干系的数据。
其次,它简化了系统的开拓和掩护。
系统的开拓者无须再为不同级别的用户设计开拓不同的客户运用程序了,只需把所有的功能都实现在Web做事器上,并就不同的功能为各个组别的用户设置权限就可以了。
各个用户通过HTTP要求在权限范围内调用Web做事器上不同处理程序,从而完成对数据的查询或修正。
当代企业面临着日月牙异的竞争环境,对企业内部运作机制的更新与调度也变得逐渐频繁。
相对付C/S,B/S的掩护具有更大的灵巧性。
当形势变革时,它无须再为每一个现有的客户运用程序升级,而只需对Web做事器上的做事处理程序进行修订。
这样不但可以提高公司的运作效率,还省去了掩护时折衷事情的不少麻烦。
如果一个公司有上千台客户机,并且分布在不同的地点,那么便于掩护将会显得更加主要。

再次,它利用户的操作变得更大略。
对付C/S模式,客户运用程序有自己特定的规格,利用者须要接管专门培训。
而采取B/S模式时,客户端只是一个大略易用的浏览器软件。
无论是决策层还是操作层的职员都无需培训,就可以直策应用。
B/S模式的这种特性,还使 MIS系统掩护的限定成分更少。

末了,B/S特殊适用于网上信息发布,使得传统的MIS的功能有所扩展。
这是C/S所无法实现的。
而这种新增的网上信息发布功能正是当代企业所需的。
这使得企业的大部分书面文件可以被电子文件取代,从而提高了企业的事情效率,使企业行政手续简化,节省人力物力。

鉴于B/S相对付C/S的前辈性,本系统采取B/S构造,即Browser/Server(浏览器/做事器)构造,此构培养是只安装掩护一个做事器(Server),而客户端直接用浏览器(Browse)就可以运行软件。
它是随着Internet技能的兴起,对C/S构造的一种改进。
紧张利用了成熟的WWW浏览器的技能,结合多种Script措辞(VBScript、JavaScript…)和ActiveX技能,是最新的系统布局技能。
在B/S体系构造系统中,用户可以通过浏览器向做事器发出要求,做事器对要求进行处理,将用户所需的信息返回到浏览器。
而别的如数据要求、加工以及动态网页的天生、对数据库的访问以及运用程序的实行等事情全部由Web Server完成。

1.2 MySQL数据库

MySQL数据库是一个关系数据库管理系统,瑞典的MySQL AB公司是该数据库的原开拓者,该公司于2008年被升阳微系统(Sun Microsystems)收购。
2009年,被甲骨文公司(Oracle)收购升阳微系统公司,MySQL成为Oracle旗下产品。
MySQL在过去由于本钱低、稳定性好等优点已经成为最实用的开源数据库,被广泛地运用在Internet上的网站中。

1.3 MyEclipse先容

本系统是超过平台限定和超过浏览器限定的充满动感的网页。
构建财务管理系统所用的网页编辑器为MyEclipse, MyEclipse,是一个十分精良的用于开拓Java, J2EE的Eclipse插件凑集,MyEclipse的功能非常强大,支持也十分广泛,尤其是对开元产品十分不错。
MyEclipse企业级事情平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对Eclipse IDE的扩展,利用它,我们完备可以在数据库进行JavaEE的开拓,以及对运用程序的做事器整合的极大提高了事情效率。
它丰富了JavaEE的集成开拓环境,并且包括了完全的编码、调试和测试功能,完备支持HTML, Struts, JSP, CSS, Javascript, SQL, Hibernate。

1.4 JavaScrip措辞

Javascript是基于工具的脚本措辞,紧张是基于客户端运行的,用户点击带有Javascript的网页,网页里的Javascript就传到浏览器,由浏览器对此作处理。
它的代码可以直接嵌入到HTML命令中,最大特点是可以方便操纵网站上的元素,并与Web浏览器交互,同时JavaScrip可以捕捉用户操作并作出反响。

JavaScript是一种基于工具和事宜驱动并具有相对安全性的客户端脚本措辞。
同时也是一种广泛用于客户端Web开拓的脚本措辞,常常用来给HTML网页添加动态功能,比如响运用户的各种操作。
JavaScript的一个主要功能便是面向工具的功能,通过基于工具的程序设计,可以用更直不雅观、模块化和可重复利用的办法进行程序开拓。
在HTML根本上,利用Javascript可以开拓交互式Web网页。
Javascript的涌现使得网页和用户之间实现了一种实时的、动态的关系,使网页中包含更多 的生动元素和更加精彩的内容。
在本系统中很多地方利用了javascript技能,比如说,考验用户输入数据的有效性,是否重复,是否为空等等。

1.5 JSP技能

JSP技能利用Java编程措辞编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。
网页还能通过tags和scriptlets访问存在于做事真个资源的运用逻辑。
JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的运用程序的开拓变得迅速和随意马虎。

Web做事器在碰着访问JSP网页的要求时,首先实行个中的程序段,然后将实行结果连同JSP文件中的HTML代码一起返回给客户。
插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所须要的功能。
JSP与Servlet一样,是在做事器端实行的,常日返回给客户端便是一个HTML文本,因此客户端只要有浏览器能浏览。
JSP页面由HTML代码和嵌入个中的Java代码所组成。
做事器在页面被客户端要求往后对这些Java代码进行处理,然后将天生的HTML页面返回给客户真个浏览器。
Servlet是JSP的技能根本,而且大型的Web运用程序的开拓须要Java Servlet和JSP合营才能完成。
JSP具备了Java技能的大略易用,完备的面向工具,具有平台无关性且安全可靠,紧张面向因特网的所有特点。
JSP技能的优点:

(1)运行方便,编写好之后,不用做任何修正就可在系统上运行。

(2)具有强大的适应性,支持多平台并且可以再任意环境中进行支配。

(3)强大的可伸缩性。
从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台做事器进行集群和负载均衡,到多台Application进行事务处理,处理,一台做事器到无数台做事器,Java显示了一个巨大的生命力。

(4)多样化和功能强大的开拓工具支持。
Java已经有了许多非常精良的开拓工具,并且个中许多已经可以顺利的运行于多种平台之下

(5)支持做事器真个组件。
web运用首先须要强大的做事器真个组件来支持,开拓职员必须须要利用其他的工具设计来实现繁芜功能的组件并供web页面调用,来增强系统性能。
JSP可以利用非常成熟的JAVA BEANS 组件来实现比较繁芜商务功能。

1.6 MVC模式

为了知足系统对前辈性、安全性、跨平台性、可扩展性、可移植性、分布式等方面的哀求,系统总体架构设计采取前辈的基于java的B/S的三层体系构造。
MVC是三个单词的缩写,分别为: 模型(Model),视图(View)和掌握Controller)[9]。
MVC模式目的便是为了实现Web系统的职能的分工。
Model层实现系统中业务的逻辑,常日可以用JavaBean或EJB来实现。
View层用于用户交互,常日用JSP来实现。
Controller层是Model与View之间的沟通桥梁,它可以直接分派用户要求并且选择得当的视图以用于显示,同时它也可以阐明用户输入并将它们映射为模型层可实行的操作。
Web浏览技能已经广泛地运用于Internet,并被广大用户接管和利用。
Web技能是随http和html一起涌现的。
Web做事器利用http通报html文件,Web浏览器利用http检索html文件。
Web做事器一旦检索到信息,Web浏览器就会以静态和交互(如文本、图像)办法显示各种工具。
在电子商务业务进行过程中,须要在各种贸易角色之间浏览和交流各种信息,此时就要利用Web浏览技能。
这种模型使系统构造更加清楚,分工更加明确,有利于全体系统后期的掩护和升级。

MVC(Model View Controller)模型(model)-视图(view)-掌握器(controller)MVC本来是存在于Desktop程序中的,M是指数据模型,V是指用户界面,C则是掌握器。
利用MVC 的目的是将同一个程序可以利用不同的表现形式M和V的实当代码分离,。
比如一批统计数据分别用柱状图、饼图来表示。
C存在的目是确保M和V的同步,一旦M改变,V该当同步更新。
模型-视图-掌握器(MVC)是Xerox PARC在八十年代为编程措辞Smalltalk-80发明的一种软件设计模式,至今已被广泛利用。
最近几年被推举为Oracle旗下Sun公司Java EE平台的设计模式,并且受到广泛的利用 ColdFusion 和 PHP 的开拓者的喜好。
模型-视图-掌握器模式是一个有用的模型,它的好处很多。

三层体系构造由浏览器、web做事器和数据库组成,并结合HTML措辞、jsp、JavaScript脚本措辞、Ajax、ODBC等技能,后台的数据库采取微软的SQL Server 2005,系统一样平常的MVC模型如图1-1所示。
 

图1-1 系统MVC构造图

如图1-1可知,用户界面层是用户和全体系统的接口,客户端只需安装通用的浏览器即可建立与本系统的连接。
业务逻辑层卖力处理用户输入的信息,或将这些信息发送给数据库层进行保存,或调用数据库层中的函数再次读出这些数据。
数据访问层是全体体系的最底层,它紧张实现与数据库交互,即完成数据库的增编削查功能,MVC是一个设计模式,它逼迫性的使运用程序的输入、处理和输出分开。
利用MVC运用程序被分成三个核心部件:模型、视图、掌握器。
它们各自处理自己的任务。
分层观点视图,模型,掌握器。

视图是用户看到并与之交互的界面。
对老式的Web运用程序来说,视图便是由HTML元素组成的界面,在新式的Web运用程序中,HTML依旧在视图中扮演着重要的角色,但一些新的技能已层出不穷,它们包括Macromedia Flash和像HTML,XML/XSL,WML等一些标识措辞和Web services。
如何处理运用程序的界面变得越来越有寻衅性。
MVC一个大的好处是它能为你的运用程序处理很多不同的视图。
在视图中实在没有真正的处理发生,不管这些数据是联机存储的还是一个雇员列表,作为视图来讲,它只是作为一种输出数据并许可用户操纵的办法。
模型表示企业数据和业务规则。
在MVC的三个部件中,模型拥有最多的处理任务。
例如它可能用像EJBs和ColdFusion Components这样的构件工具来处理数据库。
被模型返回的数据是中立的,便是说模型与数据格式无关,这样一个模型能为多个视图供应数据。
MVC模型还可以实现软件工程的高内聚,低耦合的终极目标。
由于运用于模型的代码只需写一次就可以被多个视图重用,以是减少了代码的重复性。

掌握器接管用户的输入并调用模型和视图去完成用户需求。
以是当单击网页中的超链接或者发送表单时,掌握器本身实在并不输出任何东西也不做任何处理。
它只是吸收要求并决定调用哪个模型构件去处理要求自己本身并不参与业务逻辑处理,然后再确定用哪个视图来显示返回的数据。

MVC的优点:

1)低耦合性

2)可适用性

3)较低本钱

4)快速支配

5)可掩护性

2 系统需求剖析2.1 开拓环境

本系统的开拓环境为Windows 7,数据库利用的是Oracle公司开拓的的MySQL,发布利用MyEclipse工具。
采取JSP为做事器端脚本环境,脚本措辞利用JavaScript编写的财务管理系统,不须要安装客户端程序,客户端只需安装浏览器即可,利用方便,方便升级掩护,方便与Internet和Internet上的运用程序集成。

2.2 需求剖析

需求剖析是指理解用户需求,估计软件风险和评估项目代价,就软件功能与客户达成同等,终极形成开拓操持的过程。
需求剖析的主要性在于他具有决策性、方向性、策略性的浸染,需求剖析也便是软件定义的末了一个阶段,它的基本任务是回答“系统必须做什么” 这个问题。
需求剖析的任务是对目标系统提出完全、准确、清晰、详细的哀求,而不是确定系统若何完成他的事情,它在软件开拓的过程中具有举足轻重的地位。

本课题办理的是基于JSP的中小型企业财务管理系统,包括了员工的基本信息的添加和管理以及对部门信息的管理,对员工的人为管理,设置以及查询功能公司的收入与支出金额的基本显示和用度的详细利用缘故原由,公司资产信息管理,并能够根据公司今年的盈利情形初步打算出分红等基本功能的实现。

细节:用户登录,用户密码管理,系统利用完毕可以注销登录,安全退出。

2.3 可行性剖析

(1)经济性

经济可行性研究是对组织的经济现状和投资能力进行剖析,对系统培植运行和掩护用度进行估算,对系统建成后可能取得的社会和经济效益进行估计。
由于本系统是作为毕业设计由我自己开拓的,在经济上的投入甚微,系统完成之后为财务管理供应很大的方便,缘故原由是做事器真个安装简洁明了,客户机不需再装任何软件,直接通过浏览器就可以访问,无论身在何处,只要可以访问Internet都可以利用本系统。
本系统对打算机配置的哀求不高,企业机房改换下来的低配置电脑都可以完备知足须要,以是在经济上具有完备的可行性

(2)技能性

技能可行性要考虑现有的技能条件是否能够顺利完成开拓事情,软硬件配置是否知足开拓的需求等。
通过原有系统和开拓系统的系统流程图和数据流图,对系统进行比较,剖析其优胜性,以及运行后环境等队其影响程度。
软件开拓涉及多方面的技能,包括开拓方法、软硬件平台、网络构造、系统布局和构造、输入输出技能、系统干系技能等。
该当全面和客不雅观地剖析软件开拓所涉及的技能,以及这些技能的成熟度和现实性。
在开拓过程中,尽可能的采取成熟的技能,以便提高成功率,并且其优化程度好,可操作性强,鉴于以上缘故原由,本系统开拓工具是MyEclipse和MySQL数据库,开拓措辞是Java,紧张利用了J2EE的技能,java是一种面向工具编程措辞,大略易学而且灵巧方便。
大三时就学习了java课程,大四季代也系统的理解了J2EE的知识,财务管理系统总体上开拓难度不高,数据库的设计和操作是本系统设计的核心。
在大学期间学习过软件工程,软件测试,UML统一建模措辞等课程,每个学期也会完成对应的课程设计,具备一定的系统剖析、设计和测试能力。
因此,完成系统实现在技能上完备具有可行性。

(3)操作性

本系统的开拓,紧张是对数据进行处理,包括数据的提交,以及数据的各种报脸色势的输出,采取较为盛行的JSP+MySQL的体系,操作相对大略,输入信息页面大多数都是下拉框的选择形式,在某些页面,信息可以自动天生,无需输入,韶光的输入也是用的日历控件,操作简便,对用户的哀求较低,只需对WINDOWS操作闇练,而且本系统可视性非常好,以是在技能上不会有很大难度。
从韶光上看,在三个月的韶光里学习干系知识,并开拓财务审批系统,韶光上是有点紧,但是不是不可能实现,通过自己的努力实现基本功能。

(4)法律性

法律可行性是考虑开拓系统是否存在任何陵犯、妨碍和任务问题。
本系统是自行开拓的管理系统,所有技能资料都为合法,开拓过程中不存在知识产权问题,未抄袭任何已存在的的财务管理系统,不存在侵权问题,本系统是很有实际意义的系统,开拓环境软件和利用的数据库都是开源代码,以是开拓这个别系即法律上是可行的。

3 系统概要设计3.1 系统设计概述

系统设计是在系统剖析根本上通过抽象得到详细的过程,同时,还考虑到系统所实现的环境和主客不雅观条件。

系统设计阶段紧张目的是将系统剖析阶段所提出的反响用户信息需求的系统逻辑方案转换成可以履行的基于打算机与通信系统的物理方案。

这一阶段的紧张任务便是从管理信息系统的总体目标出发,根据系统剖析阶段对系统逻辑功能的需求,考虑到经济、技能和环境等方面的条件,可以确定系统的总体构造和系统组成部分的方案,合理选择打算机和通信设备,提出系统的履行操持,确保系统总体目标的实现。

系统设计事情的特点:

1)在系统设计的阶段,大量的事情还是技能性的。

2)许可用户对已提出信息的需求做非原则性修正或着补充。

3)用户在操作利用环境等方面的哀求也要在系统设计阶段加以解释并在系统的技能方案中得到反响,因此系统设计职员必须同管理环境打交道。

4)系统设计的环境是管理环境和技能环境的结合,是系统设计事情的主要特点也是全体系统成功的一个必不可缺的环节。

系统设计原则

1) 易用性原则:方便上网客户浏览和操作,最大限度地减轻后台管理职员的包袱,做到部分业务的自动化处理,供应良好的用户体验。

2) 阶段开拓原则:系统框架和数据构造全面设计,详细功能实现分阶段进行。

3) 业务规范化原则:在系统设计的同时,也为将来的业务流程制订了较为完善的规范,具有较强的实际操作性,也给全体系统带来安全性。

4) 可扩展性原则:系统设计要考虑到业务未来发展的须要,要尽可能设计得简明,各个功能模块间的耦合度小,便于系统的扩展。
如果存在旧有的数据库系统,则须要充分考虑兼容性,比如说浏览器的兼容。

5) 业务完全性原则:对付业务进行中的分外情形能够做出及时、精确的相应,担保业务数据的完全性,减少数据的误读。

3.2 系统用例图

员工的操作:

1、员工可以查看个人人为情形。

2、员工可以查询公司资产情形。

3、员工可以查询公司经营情形。

4、员工可以查询公司用度情形。

5、员工可以查询年终资产剖析表。

员工用例图,如图3-1所示:

图 3-1 员工的用例图

管理员的操作:

1、管理员可以管理部门信息。

2、管理员可以管理员工信息。

3、管理员可以管理员工人为信息。

4、管理员可以管理资产信息。

5、管理员可以管理经营信息。

6、管理员可以管理用度信息。

管理员用例图,如图3-2所示:

图 3-2 管理员用例图

3.3 系统流程图

当管理员进入本系统之后,管理员首先要登录之后,才能管理后台。
登录失落败,给管理员干系的提示,请管理员重新登录。
登录成功之后,管理员可管理员工、公司资产、经营、用度等信息。
管理员的后台管理的基本流程如下图3-3所示:

图 3-3 管理员流程图

3.4 系统功能剖析

图 3-4 系统后台功能图

管理员的所有模块的功能剖析:

部门信息管理模块:对公司部门信息进行管理,包括部门信息的添加、修正、删除等。

员工信息管理模块:对公司员工信息进行管理,包括员工信息的添加、修正、删除等。

员工人为管理模块:对员工人为信息进行管理,包括员工人为的添加、修正等。

资产信息管理模块:对公司资产信息进行管理,包括资产信息的添加、修正、删除等。

经营信息管理模块:对公司经营信息进行管理,包括经营信息的添加、修正、删除等。

用度信息管理模块:对公司用度信息进行管理,包括用度信息的添加、修正、删除等。

年终资产剖析模块:对公司产终资产情形进行剖析,查看剖析报表。

修正个人密码:管理员登录系统,可以修正自己的登录密码。

3.5 数据库构造设计

数据库是“按照数据构造来组织、存储和管理数据的仓库”。
作为网络中的一个主要的运用,数据库在网站培植中起着非常主要的浸染,对付普通网站相对而言,具有数据库功能的网站,我们常日称为动态页面,也便是说页面是动态的,它可以根据数据库中相应内容的调度而变革,使网站更新更便捷,掩护更方便,内容更灵巧。
MySQL数据库作为Oracle推出的以标准数据库系统,由于具有操作大略、界面友好等特点,具有较大的用户群体。
本系统数据库采取MySQL数据库,下面分别给出数据表概要解释。

4 数据库设计与实现4.1 数据库构造设计4.1.1 表概要解释

系统数据库db_cwgl中含有8张数据表,部门信息表t_bumen、员工信息表t_zhigong、员工人为表t_gongzi、资产种别表t_catelog、资产信息表t_zichan、经营信息表t_jingying、用度信息表t_feiyong、管理员信息表t_admin,本章将大略先容个中一些表的构造。

4.1.2 数据表的构造

(1)t_bumen(部门信息表)

部门信息表紧张用于保存单位的部门信息,如部门名称、人数、人为系数,该表构造如表4-1所示。

表4-1 t_bumen的构造

字段名

数据类型

长度

主键否

描述

id

int

4

自动编号

mingcheng

varchar

50

部门名称

renshu

int

4

体例人数

xishu

decimal

8,2

人为系数

(2)t_zhigong(职工信息表)

职工信息表紧张用于保存职工的基本信息,如职工所在部门、姓名、性别等,该表构造如表4-2所示:

表4-2 t_zhigong的构造

字段名

数据类型

长度

主键否

描述

id

int

4

自动编号

bumen_id

int

4

所在部门

bianhao

varchar

50

编号

loginpw

varchar

50

登录密码

xingming

varchar

50

姓名

xingbie

varchar

50

性别

ruzhi

varchar

50

入职韶光

(3)t_catelog(资产种别表)

资产种别表紧张用于资产种别信息,如种别号称,该表构造如表4-3所示:

表4-3 t_catlog的构造

字段名

数据类型

长度

主键否

描述

id

int

4

自动编号

name

varchar

50

种别号称

(4)t_zichan(资产信息表)

资产信息表紧张用于保存资产基本信息,如资产种别、编号、名称、添加韶光等,通过主键编号和产品种别来队公司的资产信息进行增编削查,内容包括资产的名称,修正韶光,此资产的实际代价,资产的类型和本次资产产生的办法,例如出租,贷款等办法来反响。

(5)t_jingying(经营信息表)

经营信息表紧张用于保存企业经营信息,如项目名称、韶光、投入等内容。
该表构造如表4-5所示:

表4-5 t_jingying的构造

字段名

数据类型

长度

主键否

描述

id

int

4

自动编号

mingcheng

varchar

50

名称

riqi

varchar

4

日期

touru

decimal

8,2

投入

shouri

decimal

8,2

收益

lirun

decimal

8,2

利润

(6)t_feiyong(用度信息表)

用度信息表紧张用于保存日常用度信息,如用度名称、发生韶光、用度等内容。
该表构造如表4-6所示:

表4-6 t_feiyong的构造

字段名

数据类型

长度

主键否

描述

id

int

4

自动编号

mingcheng

varchar

50

名称

shijian

varchar

4

日期

feiyong

decimal

8,2

金额

leixing

int

4

类型

(7)t_gongzi(人为信息表)

人为信息表紧张用于保存职工人为信息,通过主键id使得员工能够上岸后查询自己的人为情形并且能使管理员对人为修正后,员工能够精确的看到人为的情形,此表中包括了职工信息,基本人为情形,工龄对人为的加成,职务和补贴对总人为的影响。

(8)t_admin(管理员信息表)

管理员信息表紧张用于保存管理员的基本信息,该表构造如表4-8所示。

表4-8 t_admin的构造

字段名

数据类型

长度

主键否

描述

id

int

4

自动编号

userName

varchar

50

登录账号

userPw

varchar

50

登录密码

5 系统的详细设计与实现

在管理系统的生命周期中,经由了需求剖析、系统设计等阶段之后,便开始了系统的设计履行阶段。
在系统剖析和设计阶段,系统开拓的事情紧张是集中在逻辑和技能设计上,系统的履行阶段要继续此前各个阶段所实现的事情成果,将技能的设计转化为物理的实现,因此系统履行的成果实在是系统的剖析和设计阶段的结晶。

5.1 系统上岸页面实现

1.描述:为了担保系统的安全性,要先利用本系统必须先上岸到系统中,用户须要精确的账号和密码登录本系统。

2.程序运行效果图如图5-1所示:

图5-1 系统上岸页面设计

3.在上岸页面输入用户名和密码往后,当点击提交按钮后,就会跳转到loginservice中,在该service中会对用户名,密码进行判断,验证通过进入对应的页面。

5.2 管理员功能模块

1.描述:管理员进入系统主页面,左方页面展示了管理员可操作的功能模块,进入干系的管理页面可以链接到子菜单,并且高亮显示,每个管理模块下面都有相应的子菜单。

2.程序运行效果图如图5-2所示:

图5-2管理员主页面

5.2.1 部门信息管理

1.部门信息录入

(1)描述:管理员输入部门信息干系精确信息后点击录入按钮,如果是没有输入完全的部门信息,都会给出相应的缺点提示,不能录入成功。
输入数据都通过form表单中定义的方法onsubmit="return checkForm()"来检讨,checkForm()函数中是各种的校验输入数据的办法。

(2)程序效果图如下图5-3所示:

图5-3 部门信息录入

2. 部门信息管理

(1).描述:管理员点击左侧的菜单“部门信息管理”,页面跳转到部门信息管理界面,调用后台的action类查询出所有的部门信息,并把这些信息封转到数据凑集List中,绑定到request工具,然后页面跳转到相应的jsp,显示出部门信息。

(2).程序效果图如下图5-4所示

图5-4 部门信息管理

部门信息管理关键代码:

public void bumenMana(HttpServletRequest req,HttpServletResponse res) throws ServletException, IOException

{

String sql="select from t_bumen where del='no'";

req.setAttribute("bumenList", getBumenList(sql));

req.getRequestDispatcher("admin/bumen/bumenMana.jsp").forward(req, res);

}

3.部门信息修正

(1)描述:先是点击部门信息管理,页面跳转到部门信息管理界面,浏览所有的部门信息,点击要修正的部门信息,跳转到部门信息修正页面修正该条部门信息。

(2)程序效果图如下图5-5所示

图5-5 部门信息管理

4.部门信息删除

(1).描述:先是点击部门信息管理,页面跳转到部门信息管理界面,浏览所有的部门信息,点击要删除的部门信息,点击确定按钮,即可删除该部门信息。

(2).程序效果图如下图5-6所示

图5-6 部门信息删除

5.2.2 员工信息管理

1.员工信息录入

描述:管理员输入员工精确信息后点击录入按钮,如果没有输入精确的员工信息,都会给出相应的缺点提示,不能录入成功。
输入数据都通过form表单中定义的方法onsubmit="return checkForm()"来检讨,checkForm()函数中是全部校验输入数据的办法。

2.员工信息管理

(1).描述:管理员点击左侧的菜单“员工信息管理”,页面跳转到员工信息管理界面,调用后台的action类查询出所有的员工信息,并把这些信息封转到数据凑集List中,绑定到request工具,然后页面跳转到相应的jsp,显示出员工信息。

(2).程序效果图如下图5-8所示

图5-8 员工信息管理

员工信息管理关键代码:

public void zhigongMana(HttpServletRequest req,HttpServletResponse res) throws ServletException, IOException

{

String sql="select ta.,tb.mingcheng bmmc,tb.xishu from t_zhigong ta,t_bumen tb " +

"where ta.del='no' and ta.bumen_id=tb.id";

req.setAttribute("zhigongList", getZhigongList(sql));

req.getRequestDispatcher("admin/zhigong/zhigongMana.jsp").forward(req, res);

}

3.员工信息修正

描述:先是点击员工信息管理,页面跳转到员工信息管理界面,浏览所有的员工信息,点击要修正的员工信息,跳转到员工信息修正页面修正该条员工信息。

4.员工信息删除

(1).描述:先是点击员工信息管理,页面跳转到员工信息管理界面,浏览所有的员工信息,点击要删除的员工信息,点击确定按钮,即可删除该员工信息。

(2).程序效果图如下图5-10所示

图5-10 员工信息删除

5.2.3 员工人为管理

1.员工人为录入

(1).描述:管理员输入员工人为干系精确的信息后点录入按钮,如果没有输入精确的员工人为,一定会给出相应的缺点提示,必定不能录入成功。
输入数据都通过form表单中定义的方法onsubmit="return checkForm()"来检讨,checkForm()函数中是各种的校验输入数据的办法。

(2).程序效果图如下图5-11所示:

图5-11 员工人为录入

2.员工人为管理

(1).描述:管理员点击左侧的菜单“员工人为管理”,页面跳转到员工人为管理界面,调用后台的action类查询出所有的员工人为,并把这些信息封转到数据凑集List中,绑定到request工具,然后页面跳转到相应的jsp,显示出员工人为。

(2).程序效果图如下图5-12所示

图5-12 员工人为管理

3.员工人为修正

(1).描述:先是点击员工人为管理,页面跳转到员工人为管理界面,浏览所有员工人为,点击要修正的员工人为,跳转到员工人为修正页面修正该员工人为。

(2).程序效果图如下图5-13所示

图5-13 员工人为修正界面

5.2.4 资产种别管理

1.资产种别录入

(1).描述:管理员输入资产种别干系精确信息后点击录入按钮,如果是没有输入完全的资产种别,都会给出相应的缺点提示,不能录入成功。
输入数据都通过form表单中定义的方法onsubmit="return checkForm()"来检讨,checkForm()函数中是各种的校验输入数据的办法。

(2).程序效果图如下图5-14所示:

图5-14 资产种别录入

2.资产种别管理

(1).描述:管理员点击左侧的菜单“资产种别管理”,页面跳转到资产种别管理界面,调用后台的action类查询出所有的资产种别,并把这些信息封转到数据凑集List中,绑定到request工具,然后页面跳转到相应的jsp,显示出资产种别。

(2).程序效果图如下图5-15所示

图5-15 资产种别管理

资产种别管理关键代码:

public void catelogMana(HttpServletRequest req,HttpServletResponse res) throws ServletException, IOException

{

List catelogList=new ArrayList();

String sql="select from t_catelog where del='no'";

Object[] params={};

DB mydb=new DB();

try

{

mydb.doPstm(sql, params);

ResultSet rs=mydb.getRs();

while(rs.next())

{

TCatelog catelog=new TCatelog();

catelog.setId(rs.getInt("id"));

catelog.setName(rs.getString("name"));

catelogList.add(catelog);

}

rs.close();

}

catch(Exception e)

{

e.printStackTrace();

}

mydb.closed();

req.setAttribute("catelogList", catelogList);

req.getRequestDispatcher("admin/catelog/catelogMana.jsp").forward(req, res);

}

3.资产种别删除

(1).描述:先是点击资产种别管理,页面跳转到资产种别管理界面,浏览所有的资产种别,点击要删除的资产种别,点击确定按钮,即可删除该资产种别。

(2).程序效果图如下图5-16示

图5-16资产种别删除

5.2.5 资产信息管理

1.资产信息录入

描述:管理员输入资产信息干系精确信息后点击录入按钮,如果是没有输入完全的资产信息,都会给出相应的缺点提示,不能录入成功。
输入数据都通过form表单中定义的方法onsubmit="return checkForm()"来检讨,checkForm()函数中是各种的校验输入数据的办法。

2.资产信息管理

(1).描述:管理员点击左侧的菜单“资产信息管理”,页面跳转到资产信息管理界面,调用后台的action类查询出所有的资产信息,并把这些信息封转到数据凑集List中,绑定到request工具,然后页面跳转到相应的jsp,显示出资产信息。

(2).程序效果图如下图5-18所示

图5-18 资产信息管理

资产信息管理关键代码:

public void zichanMana(HttpServletRequest req,HttpServletResponse res) throws ServletException, IOException

{

String sql="select ta.,tb.name lbmc from t_zichan ta,t_catelog tb " +"where ta.catelog_id=tb.id";

req.setAttribute("zichanList", getZichanList(sql));

req.getRequestDispatcher("admin/zichan/zichanMana.jsp").forward(req, res);

}

5.2.6 经营信息管理

1.经营信息录入

描述:管理员输入经营信息干系精确信息后点击录入按钮,如果是没有输入完全的经营信息,都会给出相应的缺点提示,不能录入成功。
输入数据都通过form表单中定义的方法onsubmit="return checkForm()"来检讨,checkForm()函数中是各种的校验输入数据的办法。

2.经营信息管理

(1).描述:管理员点击左侧的菜单“经营信息管理”,页面跳转到经营信息管理界面,调用后台的act ion类查询出所有的经营信息,并把这些信息封转到数据凑集List中,绑定到request工具,然后页面跳转到相应的jsp,显示出经营信息。

(2).程序效果图如下图5-20所示

图5-20 经营信息管理

经营信息管理关键代码:

public void jingyingAdd(HttpServletRequest req,HttpServletResponse res)

{

String mingcheng=req.getParameter("mingcheng");

String riqi=req.getParameter("riqi");

String touru=req.getParameter("touru");

String shouyi=req.getParameter("shouyi");

String lirun=req.getParameter("lirun");

String sql="insert into t_jingying (mingcheng,riqi,touru,shouyi,lirun) values(?,?,?,?,?)";

Object[] params={mingcheng,riqi,touru,shouyi,lirun};

DB mydb=new DB();

mydb.doPstm(sql, params);

mydb.closed();

req.setAttribute("message", "操作成功");

req.setAttribute("path", "jingying?type=jingyingMana");

String targetURL = "/common/success.jsp";

dispatch(targetURL, req, res);

}

5.2.7 用度信息管理

1. 用度信息录入

描述:管理员输入用度信息干系精确的信息后点录入按钮,如果是没有输入精确的完全的用度信息,则都会给出对应的缺点提示,如果不能录入成功。
输入数据都通过form表单中定义的方法onsubmit="return checkForm()"来检讨,checkForm()函数中是各种的校验输入数据的办法。

2.用度信息管理

(1).描述:管理员点击左侧的菜单“用度信息管理”,页面跳转到用度信息管理界面,调用后台的action类查询出所有的用度信息,并把这些信息封转到数据凑集List中,绑定到request工具,然后页面跳转到相应的jsp,显示出用度信息。

(2).程序效果图如下图5-20所示

图5-20 用度信息管理

用度信息管理关键代码:

public void feiyongAdd(HttpServletRequest req,HttpServletResponse res)

{

String mingcheng=req.getParameter("mingcheng");

String shijian=req.getParameter("shijian");

String feiyong=req.getParameter("feiyong");

String leixing=req.getParameter("leixing");

String sql="insert into t_feiyong (mingcheng,shijian,feiyong,leixing) values(?,?,?,?)";

Object[] params={mingcheng,shijian,feiyong,leixing};

DB mydb=new DB();

mydb.doPstm(sql, params);

mydb.closed();

req.setAttribute("message", "操作成功");

req.setAttribute("path", "feiyong?type=feiyongMana");

String targetURL = "/common/success.jsp";

dispatch(targetURL, req, res);

}

public void feiyongMana(HttpServletRequest req,HttpServletResponse res) throws ServletException, IOException

{

String sql="select from t_feiyong";

req.setAttribute("feiyongList", getfeiyongList(sql));

req.getRequestDispatcher("admin/feiyong/feiyongMana.jsp").forward(req, res);

}

5.2.8 年终资产剖析

1.描述:管理员点击左侧的菜单“年终资产剖析”,页面跳转到年终资产剖析界面,调用后台的action类查询公司的资产信息,包括总资产,总收益及总用度,绑定到request工具,然后页面跳转到相应的jsp,显示年终资产剖析表。

5.3 员工功能模块5.3.1 个人人为查看

1.描述:员工点击左侧的菜单“个人人为查看”,页面跳转到个人人为查看界面,调用后台的action类查询出当前登录职工的人为信息,并把这些信息封转到数据凑集List中,绑定到request工具,然后页面跳转到相应的jsp,显示出人为信息。

2.程序效果图如下图5-22所示

图5-22 个人人为查扼守理

5.3.2 公司资产查询

1.描述:员工点击左侧的菜单“公司资产查询”,页面跳转到公司资产查询界面,调用后台的action类查询出当前公司的资产信息,并把这些信息封转到数据凑集List中,绑定到request工具,然后页面跳转到相应的jsp,显示出资产信息。

2.程序效果图如下图5-23所示

图5-23 公司资产查询

5.3.3 公司经营查询

1.描述:员工点击左侧的菜单“公司经营查询”,页面跳转到公司经营查询界面,调用后台的action类查询出当前公司经营信息,并把这些信息封转到数据凑集List中,绑定到request工具,然后页面跳转到相应的jsp,显示出经营信息。

2.程序效果图如下图5-24所示

图5-24 公司经营查询

5.3.4 公司用度查询

1.描述:员工点击左侧的菜单“ 公司用度查询”,页面跳转到公司用度查询界面,调用后台的action类查询出公司用度信息,并把这些信息封转到数据凑集List中,绑定到request工具,然后页面跳转到相应的jsp,显示出用度信息。

5.3.5 资产剖析查看

1.描述:员工点击左侧的菜单“资产剖析查看”,页面跳转到资产剖析查看界面,调用后台的action类查询出资产剖析信息,并把这些信息封转到数据凑集List中,绑定到request工具,然后页面跳转到相应的jsp,显示出资产剖析信息。

2.程序效果图如下图5-26所示

图5-26 资产剖析查看

6 系统测试

系统测试这一模块是系统开拓过程的主要部分,是用来评定一个别系的品质或性能是否符合开拓前所提出的部分哀求。
系统测试的目的是在系统投入运行前,对系统需求剖析、设计解释和编码的终极复审,是系统的质量担保的关键。
系统测试是为了创造缺点而实行的程序过程。

在设计系统的过程中,存在一些缺点是一定的。
对付语句的语法缺点,在程序运行时自动提示,并要求立即纠正,因此,这类缺点比较随意马虎创造和纠正。
但另一类的缺点是在程序实行的时候,由于禁绝确的操作或着对某些数据的打算公式利用缺点导致的结果。
这类缺点暗藏性极强,有时会直接涌现,有时又不直接涌现,因此,排查这一类动态的缺点的是耗时费力的。

对付软件来讲,不论采取何种技能或方法,软件中仍旧会有错。
采取新的措辞、新的开拓办法、完善的开拓过程,可有效减少缺点的引入,但并是不可能完备杜绝软件中的缺点,这些引入的缺点则须要测试来找出,软件中缺点的密度也须要测试来进行详细的估计。
测试是所有工程学科的基本组成单元,是软件开拓的主要部分。
自有程序设计的那天起测试就一贯伴随着。
统计表明,在范例的软件开拓项目中,软件测试事情量每每占软件开拓总事情量的40%以上。
而在软件开拓的总本钱中,用在测试上的开销要占30%到50%。
如果把掩护阶段也考虑在内,谈论全体软件生存期时,测试的本钱比例大概会有所降落,但实际上掩护事情相称于二次开拓,乃至多次开拓,个中必定还包含有许多测试事情。

6.1 测试方法

测试的方法可分三种:传统测试方法、功能验证、系统测试。

传统测试方法包括大略的单元测试,常日由开拓职员来实行。
设计这些测试须要理解系统内部知识,并且这些测试险些是针对产品的特定的部分。
这些类型的测试非常适宜与其他代码组件极少交互,乃至没有交互的大略部分。

功能验证也是一种测试过程,在这个过程中,对产品源代码理解有限的设计者进行测试以确认产品或做事的核心功能。
设计这种测试是为了证明这个核心功能符合某个规范。
举个例子,登录时输入的邮箱缺点时是不是有提示?如果测试失落败,常日就意味着检测到了系统的一个基本问题。
这种测试也是适宜大略的 Web 做事,使您可以检讨做事是否能够精确实行它的各个功能。

系统测试常日是在功能验证阶段完成,验证了核心功能后进行。
它方向于把全体系统作为一个整体来查找问题。
弄清Web做事作为系统的一部分若何运作,以及Web做事之间如何的交互。
由于系统测试实际是在开拓生命周期快结束时才进行,以是常常不能给它分配充足的韶光来完成。
系统测试阶段常常被忽略,并且一些常日都可以创造的、极为少见的缺点都不能被创造。
纵然创造了这种缺点,这时也来不及确定缺点的缘故原由并设法修复它们了。
因此,在查找代码缺点时,必需把系统测试运用设计得尽可能高效。

6.2 系统测试结果

在系统开拓完成后,对系统进行了测试,所用方法是系统测试和功能测试,

紧张内容包括:

  功能测试。
即测试系统的功能是否精确,它的依据是需求的文档,如《产品需求规格解释书》。
软件最主要的质量成分,以是功能测试肯定是必不可少的。

健壮性测试。
即测试软件系统在非常情形下能否正常运行的能力。
健壮性有两层含义:一是容错的能力,二是规复的能力。

测试如表6-1测试表所示:

表 6-1测试结果表

方法

目的

预期结果

过程

测试结果

比较

结论

功能测试方法

测试录入功能的精确性

有出错并弹出警告

在设置用户信息中并未填写任何内容,直接提交

无法保存,有出错警告

与预期结果相称

精确

功能测试方法

登录功能的精确性

有出错弹出警告,并返回上岸界面

在设置用户信息中并未填写任何内容,直接提交

登录出错,有出错警告,返回登录界面

与预期结果相称

精确

功能测试方法

修正信息功能的精确性

修正完成,提示完成并录入数据库

在修正用户信息处修正信息并提交

修正成功,并修正数据库中内容

与预期结果相称

精确

系统总体情形如下:

(1) 各功能模块都可以正常进行,基本实现了系统设计时的各项功能哀求;

(2) 界面简洁,操作大略,系统利用方便;

本系统的下一步开拓方向如下:

(1) 加强网站个性化设计;

(2) 加强网站人性化做事功能;

总之,本此系统开拓圆满成功,各模块运行正常。
本次的设计开拓为下一步的完善供应了主要的帮助和支持,将会更加提高我们的系统的功能。

总 结

在毕业设计和开拓期间,经由老师的辅导和三个多月的负责学习,同时翻阅了大量的资料,终于完成了中小型企业财务管理系统的开拓设计。
其功能基本符合用户需求,能够完成课题的提交。
我觉得自己从理论到实践都有了长足的进步和很大的提高,使我在数据库设计方面、JSP编程技能方面有了长足的进步,对中小型企业财务管理系统开拓过程、步骤有了比较深刻的认识。

在系统开拓之前,作为开拓职员,必须要对开拓系统有全方位的认识,例如该系统的特点、适用范围等,通过对系统的理解作为根本再对客户或利用者所需实现的功能进行剖析并按照客户哀求写出需求剖析并设计初步方案。
系统开拓不仅仅是对代码的准确性的哀求,而且要考虑系统的稳定性,实用性,开拓过程中及时与客户互换,在开拓过程中不断地改进代码,更加贴近客户需求。

设计实践上的体会:在这次做毕业设计的过程中,我对JSP、servlet等编程知识又有了更深层次的理解和运用,认识到自己很多的不敷和对知识的不成熟,还须要多加磨炼并深入学习,在本次设计过程中所碰着的问题我只管即便通过自己的办法进行办理,很大的提高了自己的自学能力,在没办法办理的情形下,对基地和学校老师进行负责的讯问并办理问题,学到了很多知识,在这感谢老师对我的辅导起到了画龙点睛的浸染。

通过毕业设计,我还明白了一点,互助是至关主要的。
虽然我是自己一个人为一组,但是在设计过程中也常常和同学们商量,相互借鉴。
一个完全软件程序须要多少个人的配合尽力。
在中小型企业财务管理系统开拓过程中,我加强和同学们的沟通和互换,使得对每一个问题的办理得到较优的方案,从而担保中小型企业财务管理系统系统的合理性、完全性,为该平台的进一步完善和扩充打下了良好的根本。

撰写毕业论文期间,我深刻体会到,实践到理论的主要性。
在实践到理论的转化中,我将自己的事情过程清晰的展现在面前,而且增强了自己查阅资料的能力,得到了一些必要的知识。

总之,在全体毕业设计期间,我既有收成,也创造了自己的不敷。
今后,我一定更加努力,填补自己的不敷,提高自己的水平。

参考文献

[1] 张孝祥、徐明华, JAVA根本与案例开拓详解, 清华大学出版社, 2009.

[2] 康牧,JSP动态网站开拓实用教程,清华大学出版社,2009.

[3] 刘亚宾,精通Eclipse--JAVA技能大系,电子工业出版社,2005.

[4] 于万波,网站开拓与运用案例教程,清华大学出版社,2009.

[5] 杨学瑜,高立军,软件开拓过程与项目管理,电子工业出版社,2008.

[6] 张洁才,Java web运用开拓教程,科学出版社,2005.

[7] 戴维尔,JavaScript程序员教程,电子工业出版社,2010.

[8] 黎连业、王华、李淑春,软件测试与测试技能,清华大学出版社,2009.

[9] 黄梯云著.管理信息系统.北京.电子工业出版社.2006 .

[10](美)John J.Patrick著.SQL根本(第二版).清华大学出版社.2004.

[11](美)David flanagan著. 《Java技能手册》(《Java in a Nutshell》) 《Java技能手册》(《Java in a Nutshell》)《Java in a Nutshell》.东南大学出版社.2006.

[12]黄裴、徐汀荣,电子商务事理与技能(第二版),科学出版社,2006年10月

[13] Juan Lipson Vuong.A semantics-based routing scheme for grid resource discovery[M].E-Science: First International Conference on E-Science and GridComputing,2005:58-70,90.[14]Watts D J.Small Worlds. The dynamics of networks between order and randomness[P].America: 56A2579BB6,l999-05-13.

[15]Peter Rob, Carlos Coronel .Database Systems[M]. Cengage Learning EMEA, 2008[16]BurgessR. S. DESIGNING CODASYL DATABASE PROGRAMS USING JSP[C].Information and Software Technology,Vol29,No3,1987:151-158

致 谢

在本次毕业设计过程中,得到了基地许换老师和学校曹棣老师的辅导与帮助。
在此特殊感谢辅导老师在构造和功能的把握上给予了我非常大的帮助,并对我在编程、数据库设计等细节事情上给予了耐心的辅导,对付我顺利完成这次毕业设计起到了关键性的浸染。

我还要感谢我的母校,以及在大学四年的生活中给予我关心的同学和老师,是他们让懂得我专业的知识。
通过这次毕业设计我还深刻认识到作为一名软件工程专业的大学应届毕业生,我要学会的不仅仅是对专业知识的闇练节制,更主要的是须要全面的理解统筹项目的能力,在往后我一定会不断的完善自己。

转眼间,大学生活即将结束,回顾过去四年的大学生活,是有苦有乐,然而更多的是收成,感谢母校的各位老师不但无私地传授给我们知识,也教会了我们如何做人。
财务审批流程的毕业设计任务繁重,但正是这几个月的韶光让我自己提升到一个新的高度,我相信:我的毕业设计会给我的四年大学画上一个圆满的句号。

附录

外文原文

THE TECHNIQUE DEVELOPMENT HISTORY OF JSP

By:Kathy Sierra and Bert Bates

Source: Servlet&JSP

The Java Server Pages( JSP) is a kind of according to web of the script plait distance technique, similar carries the script language of Java in the server of the Netscape company of server- side JavaScript( SSJS) and the Active Server Pages(ASP) of the Microsoft. JSP compares the SSJS and ASP to have better can expand sex, and it is no more exclusive than any factory or some one particular server of Web. Though the norm of JSP is to be draw up by the Sun company of, any factory can carry out the JSP on own system.

The After Sun release the JS P( the Java Server Pages) formally, the this kind of new Web application development technique very quickly caused the people's concern. JSP provided a special development environment for the Web application that establishes the high dynamic state. According to the Sun parlance, the JSP can adapt to include the Apache WebServer, IIS4.0 on the market at inside of 85% server product.

This chapter will introduce the related knowledge of JSP and Databases, and JavaBean related contents, is all certainly rougher introduction among them basic contents, say perhaps to is a Guide only, if the reader needs the more detailed information, pleasing the book of consult the homologous JSP.

1.1 GENER ALIZE

The JSP(Java Server Pages) is from the company of Sun Microsystems initiate, the many companies the participate to the build up the together of the a kind the of dynamic the state web the page technique standard, the it have the it in the construction the of the dynamic state the web page the strong but the do not the especially of the function. JSP and the technique of ASP of the Microsoft is very alike. Both all provide the ability that mixes with a certain procedure code and is explain by the language engine to carry out the procedure code in the code of HTML. Underneath we are simple of carry on the introduction to it.

JSP pages are translated into servlets. So, fundamentally, any task JSP pages can perform could also be accomplished by servlets. However, this underlying equivalence does not mean that servlets and JSP pages are equally appropriate in all scenarios. The issue is not the power of the technology, it is the convenience, productivity, and maintainability of one or the other. After all, anything you can do on a particular computer platform in the Java programming language you could also do in assembly language. But it still matters which you choose.

JSP provides the following benefits over servlets alone:

• It is easier to write and maintain the HTML. Your static code is ordinary HTML: no extra backslashes, no double quotes, and no lurking Java syntax.

• You can use standard Web-site development tools. Even HTML tools that know nothing about JSP can be used because they simply ignore the JSP tags.

• You can divide up your development team. The Java programmers can work on the dynamic code. The Web developers can concentrate on the presentation layer. On large projects, this division is very important. Depending on the size of your team and the complexity of your project, you can enforce a weaker or stronger separation between the static HTML and the dynamic content.

Now, this discussion is not to say that you should stop using servlets and use only JSP instead. By no means. Almost all projects will use both. For some requests in your project, you will use servlets. For others, you will use JSP. For still others, you will combine them with the MVC architecture . You want the apGFDGpropriate tool for the job, and servlets, by themselves, do not complete your toolkit.

1.2 SOURCE OF JSP

The technique of JSP of the company of Sun, making the page of Web develop the personnel can use the HTML perhaps marking of XML to design to turn the end page with format. Use the perhaps small script future life of marking of JSP becomes the dynamic state on the page contents.( the contents changes according to the claim of)

The Java Servlet is a technical foundation of JSP, and the large Web applies the development of the procedure to need the Java Servlet to match with with the JSP and then can complete, this name of Servlet comes from the Applet, the local translation method of now is a lot of, this book in order not to misconstruction, decide the direct adoption Servlet but don't do any translation, if reader would like to, can call it as" small service procedure". The Servlet is similar to traditional CGI, ISAPI, NSAPI etc. Web procedure development the function of the tool in fact, at use the Java Servlet hereafter, the customer need not use again the lowly method of CGI of efficiency, also need not use only the ability come to born page of Web of dynamic state in the method of API that a certain fixed Web server terrace circulate. Many servers of Web all support the Servlet, even not support the Servlet server of Web directly and can also pass the additional applied server and the mold pieces to support the Servlet. Receive benefit in the characteristic of the Java cross-platform, the Servlet is also a terrace irrelevant, actually, as long as match the norm of Java Servlet, the Servlet is complete to have nothing to do with terrace and is to have nothing to do with server of Web. Because the Java Servlet is internal to provide the service by the line distance, need not start a progress to the each claimses, and make use of the multi-threading mechanism can at the same time for several claim service, therefore the efficiency of Java Servlet is very high.

But the Java Servlet also is not to has no weakness, similar to traditional CGI, ISAPI, the NSAPI method, the Java Servlet is to make use of to output the HTML language sentence to carry out the dynamic state web page of, if develop the whole website with the Java Servlet, the integration process of the dynamic state part and the static state page is an evil-foreboding dream simply. For solving this kind of weakness of the Java Servlet, the SUN released the JSP.

A number of years ago, Marty was invited to attend a small 20-person industry roundtable discussion on software technology. Sitting in the seat next to Marty was James Gosling, inventor of the Java programming language. Sitting several seats away was a high-level manager from a very large software company in Redmond, Washington. During the discussion, the moderator brought up the subject of Jini, which at that time was a new Java technology. The moderator asked the manager what he thought of it, and the manager responded that it was too early to tell, but that it seemed to be an excellent idea. He went on to say that they would keep an eye on it, and if it seemed to be catching on, they would follow his company's usual "embrace and extend" strategy. At this point, Gosling lightheartedly interjected "You mean disgrace and distend."

Now, the grievance that Gosling was airing was that he felt that this company would take technology from other companies and suborn it for their own purposes. But guess what? The shoe is on the other foot here. The Java community did not invent the idea of designing pages as a mixture of static HTML and dynamic code marked with special tags. For example, Cold Fusion did it years earlier. Even ASP (a product from the very software company of the aforementioned manager) popularized this approach before JSP came along and decided to jump on the bandwagon. In fact, JSP not only adopted the general idea, it even used many of the same special tags as ASP did.

The JSP is an establishment at the model of Java servlets on of the expression layer technique, it makes the plait write the HTML to become more simple.Be like the SSJS, it also allows you carry the static state HTML contents and servers the script mix to put together the born dynamic state exportation. JSP the script language that the Java is the tacit approval, however, be like the ASP and can use other languages( such as JavaScript and VBScript), the norm of JSP also allows to use other languages.

1.3JSP CHARACTERISTICS

Is a service according to the script language in some one language of the statures system this kind of discuss, the JSP should be see make is a kind of script language. However, be a kind of script language, the JSP seemed to be too strong again, almost can use all Javas in the JSP.

Be a kind of according to text originally of, take manifestation as the central development technique, the JSP provided all advantages of the Java Servlet, and, when combine with a JavaBeans together, providing a kind of make contents and manifestation that simple way that logic separate. Separate the contents and advantage of logical manifestations is, the personnel who renews the page external appearance need not know the code of Java, and renew the JavaBeans personnel also need not be design the web page of expert in hand, can use to take the page of JavaBeans JSP to define the template of Web, to build up a from have the alike external appearance of the website that page constitute. JavaBeans completes the data to provide, having no code of Java in the template thus, this means that these templates can be written the personnel by a HTML plait to support. Certainly, can also make use of the Java Servlet to control the logic of the website, adjust through the Java Servlet to use the way of the document of JSP to separate website of logic and contents.

Generally speaking, in actual engine of JSP, the page of JSP is the edit and translate type while carry out, not explain the type of. Explain the dynamic state web page development tool of the type, such as ASP, PHP3 etc., because speed etc. reason, have already can't satisfy current the large electronic commerce needs appliedly, traditional development techniques are all at to edit and translate the executive way change, such as the ASP → ASP+;PHP3 → PHP4.

In the JSP norm book, did not request the procedure in the JSP code part( be called the Scriptlet) and must write with the Java definitely. Actually, have some engines of JSP are adoptive other script languages such as the EMAC- Script, etc., but actually this a few script languages also are to set up on the Java, edit and translate for the Servlet to carry out of. Write according to the norm of JSP, have no Scriptlet of relation with Java also is can of, however, mainly lie in the ability and JavaBeans, the Enterprise JavaBeanses because of the JSP strong function to work together, so even is the Scriptlet part not to use the Java, edit and translate of performance code also should is related with Java.

1.4JSP MECHANISM

To comprehend the JSP how unite the technical advantage that above various speak of, come to carry out various result easily, the customer must understand the differentiation of" the module develops for the web page of the center" and" the page develops for the web page of the center" first.

The SSJS and ASP are all in several year ago to release, the network of that time is still very young, no one knows to still have in addition to making all business, datas and the expression logic enter the original web page entirely heap what better solve the method. This kind of model that take page as the center studies and gets the very fast development easily. However, along with change of time, the people know that this kind of method is unwell in set up large, the Web that can upgrade applies the procedure. The expression logic write in the script environment was lock in the page, only passing to shear to slice and glue to stick then can drive heavy use. Express the logic to usually mix together with business and the data logics, when this makes be the procedure member to try to change an external appearance that applies the procedure but do not want to break with its llied business logic, apply the procedure of maintenance be like to walk the similar difficulty on the eggshell. In fact in the business enterprise, heavy use the application of the module already through very mature, no one would like to rewrite those logics for their applied procedure.HTML and sketch the designer handed over to the implement work of their design the Web plait the one who write, make they have to double work- Usually is the handicraft plait to write, because have no fit tool and can carry the script and the HTML contents knot to the server to put together. Chien but speech, apply the complexity of the procedure along with the Web to promote continuously, the development method that take page as the center limits sex to become to get up obviously.

At the same time, the people always at look for the better method of build up the Web application procedure, the module spreads in customer's machine/ server the realm. JavaBeans and ActiveX were published the company to expand to apply the procedure developer for Java and Windows to use to come to develop the complicated procedure quickly by" the fast application procedure development"( RAD) tool. These techniques make the expert in the some realm be able to write the module for the perpendicular application plait in the skill area, but the developer can go fetch the usage directly but need not control the expertise of this realm.

Be a kind of take module as the central development terrace, the JSP appeared. It with the JavaBeans and Enterprise JavaBeans( EJB) module includes the model of the business and the data logic for foundation, provide a great deal of label and a script terraces to use to come to show in the HTML page from the contents of JavaBeans creation or send a present in return. Because of the property that regards the module as the center of the JSP, it can drive Java and not the developer of Java uses equally. Not the developer of Java can pass the JSP label( Tags) to use the JavaBeans that the deluxe developer of Java establish. The developer of Java not only can establish and use the JavaBeans, but also can use the language of Java to come to control more accurately in the JSP page according to the expression logic of the first floor JavaBeans.

See now how JSP is handle claim of HTTP. In basic claim model, a claim directly was send to JSP page in. The code of JSP controls to carry on hour of the logic processing and module of JavaBeanses' hand over with each other, and the manifestation result in dynamic state bornly, mixing with the HTML page of the static state HTML code. The Beans can be JavaBeans or module of EJBs. Moreover, the more complicated claim model can see make from is request other JSP pages of the page call sign or Java Servlets.

The engine of JSP wants to chase the code of Java that the label of JSP, code of Java in the JSP page even all converts into the big piece together with the static state HTML contents actually. These codes piece was organized the Java Servlet that customer can not see to go to by the engine of JSP, then the Servlet edits and translate them automatically byte code of Java.

Thus, the visitant that is the website requests a JSP page, under the condition of it is not knowing, an already born, the Servlet actual full general that prepared to edit and translate completes all works, very concealment but again and efficiently. The Servlet is to edit and translate of, so the code of JSP in the web page does not need when the every time requests that page is explain. The engine of JSP need to be edit and translate after Servlet the code end is modify only once, then this Servlet that editted and translate can be carry out. The in view of the fact JSP engine auto is born to edit and translate the Servlet also, need not procedure member begins to edit and translate the code, so the JSP can bring vivid sex that function and fast developments need that you are efficiently.

Compared with the traditional CGI, the JSP has the equal advantage. First, on the speed, the traditional procedure of CGI needs to use the standard importation of the system to output the equipments to carry out the dynamic state web page born, but the JSP is direct is mutually the connection with server. And say for the CGI, each interview needs to add to add a progress to handle, the progress build up and destroy by burning constantly and will be a not small burden for calculator of be the server of Web. The next in order, the JSP is specialized to develop but design for the Web of, its purpose is for building up according to the Web applied procedure, included the norm and the tool of a the whole set. Use the technique of JSP can combine a lot of JSP pages to become a Web application procedure very expediently.

中文翻译:JSP技能发展史

作者: Kathy Sierra and Bert Bates

来源: Servlet&JSP

Java Server Pages(JSP)是一种基于web的脚本编程技能,类似于网景公司的做事器端Java脚本措辞—— server-side JavaScript(SSJS)和微软的Active Server Pages(ASP)。
与SSJS和ASP比较,JSP具有更好的可扩展性,并且它不专属于任何一家厂商或某一特定的Web做事器。
只管JSP规范是由Sun公司制订的,但任何厂商都可以在自己的系统上实现JSP。

在Sun正式发布JSP(Java Server Pages)之后,这种新的Web运用开拓技能很快引起了人们的关注。
JSP为创建高度动态的Web运用供应了一个独特的开拓环境。
按照Sun的说法,JSP能够适应市场上包括Apache WebServer、IIS4.0在内的85%的做事器产品。

本文将先容JSP干系的知识,以及JavaBean的干系内容,当然都是比较粗略的先容个中的基本内容,仅仅起到抛砖引玉的浸染,如果读者须要更详细的信息,请参考相应的JSP的书本。

1.1 概述

JSP(Java Server Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技能标准,其在动态网页的培植中有其强大而特殊的功能。
JSP与Microsoft的ASP技能非常相似。
两者都供应在HTML代码中稠浊某种程序代码、由措辞引擎阐明实行程序代码的能力。
下面我们大略的对它进行先容。

JSP页面终极会转换成servlet。
因而,从根本上,JSP页面能够实行的任何任务都可以用servlet来完成。
然而,这种底层的等同性并不虞味着servlet和JSP页面对于所有的情形都等同适用。
问题不在于技能的能力,而是二者在便利性、生产率和可掩护性上的不同。
毕竟,在特定平台上能够用Java编程措辞完成的事情,同样可以用汇编措辞来完成,但是选择哪种措辞依旧十分主要。

和单独利用servlet比较,JSP供应下述好处:

JSP中HTML的编写与掩护更为大略。
JSP中可以利用常规的HTML:没有额外的反斜杠,没有额外的双引号,也没有暗含的Java语法。

能够利用标准的网站开拓工具。
纵然是那些对JSP一无所知的HTML工具,我们也可以利用,由于它们会忽略JSP标签(JSP tags)。

可以对开拓团队进行划分。
Java程序员可甚至力于动态代码。
Web开拓职员可以将经理集中在表示层(presentation layer)上。
对付大型的项目,这种划分极为主要。
依据开拓团队的大小,及项目的繁芜程度,可以对静态HTML和动态内容进行弱分离(weaker separation)和强分离(stronger separation)。

此处的谈论并不是说人们该当放弃利用servlet而仅仅利用JSP。
事实上,险些所有的项目都会同时用到这两种技能。
在某些项目中,更适宜选用servlet,而针对项目中的某些要求,我们可能会在MVC构架下组合利用这两项技能。
我们总是希望用适当的工具完成相对应的事情,仅仅是servlet并不一定能够胜任所有事情。

1.2 JSP的由来

Sun公司的JSP技能,使Web页面开拓职员可以利用HTML或者XML标识来设计和格式化终极页面。
利用JSP标识或者小脚本来天生页面上的动态内容(内容是根据要求来变革的)。

Java Servlet是JSP技能的根本,而且大型的Web运用程序的开拓须要Java Servlet和JSP合营才能完成,Servlet这个名称源于Applet,现在海内的翻译办法很多,本书为了避免误会,决定直接采取Servlet而不做任何翻译,读者如果乐意,可以称之为“小做事程序”。
Servlet实在和传统的CGI、ISAPI、NSAPI等Web程序开拓工具的浸染是相似的,在利用Java Servlet往后,用户不必再利用效率低下的CGI办法,也不必利用只能在某个固定Web做事器平台运行的API办法来动态天生Web页面。
许多Web做事器都支持Servlet,纵然不直接支持Servlet的Web做事器也可以通过附加的运用做事器和模块来支持Servlet。
得益于Java的跨平台的特性,Servlet也是平台无关的,实际上,只要符合Java Servlet规范,Servlet是完备与平台无关且是与Web做事器无关的。
由于Java Servlet内部因此线程办法供应做事,不必对付每个要求都启动一个进程,并且利用多线程机制可以同时为多个要求做事,因此Java Servlet效率非常高。

但Java Servlet也不是没有缺点,和传统的CGI、ISAPI、NSAPI办法相同,Java Servlet是利用输出HTML语句来实现动态网页的,如果用Java Servlet来开拓全体网站,动态部分和静态页面的整合过程会非常难以实现。
为理解决Java Servlet的这种缺陷,SUN推出了JSP。

许多年前,Marty受到约请,参加一个有关软件技能的小型研讨会.坐在Marty阁下的人是James Gosling--- Java编程措辞的发明者。
隔几个位置,是来自华盛顿一家大型软件公司的高等经理。
在谈论过程中,研讨会的主席提出了Jini的议题,这在当时是一项新的Java技能。
主席向该经理讯问他的想法.他回答说,虽然现在言之过早,但这看起来会是非常有出息的一项技能。
他们会持续关注这项技能,如果这项技能变得盛行起来,他们会遵照公司的“接管并扩充(embrace and extend)”的策略.此时, Gosling随意地插话说“你的意思实在便是不接管且不扩充(disgrace and distend)。

在此, Gosling的抱怨显示出,他感到这个公司会从其他公司那里拿走技能,用于他们自己的目的.出人意料的是,形势已经完备不同。
Java团队并没有发明这一思想----将页面设计成由静态HTML和用分外标签标记的动态代码稠浊组成.。
ColdFusion多年前就已经这样做了。
乃至ASP(来自于前述经理所在公司的一项产品)都在JSP涌现之前推广了这种办法。
实际上,JSP不但采取了这种通用观点,它乃至利用许多和ASP相同的分外标签。

JSP是建立在Java servlets模型之上的表达层技能,它使编写HTML变得更大略。
像SSJS一样,它大概可你将静态HTML内容与做事器端脚本稠浊起来天生动态输出。
JSP把Java作为默认的脚本措辞,然而,就像ASP可以利用其他措辞(如JavaScript和VBScript)一样,JSP规范大概可利用其他措辞。

1.3 JSP的特点

按照脚本措辞是做事于某一个子系统的措辞这种论述,JSP应该被看作是一种脚本措辞。
然而,作为一种脚本措辞,JSP又显得过于强大了,在JSP中险些可以利用全部的Java类。

作为一种基于文本的、以显示为中央的开拓技能,JSP供应了Java Servlet的所有好处,并且,当与一个JavaBeans类结合在一起时,JSP供应了一种使内容和显示逻辑分开的大略办法。
分开内容和显示逻辑的好处是,更新页面外不雅观的职员不必懂得Java代码,而更新JavaBeans类的职员也不必是设计网页的里手里手,就可以用带JavaBeans类的JSP页面来定义Web模板,以建立一个由具有相似的外不雅观的页面组成的网站。
JavaBeans类完成数据供应,这样在模板中就没有Java代码,这意味着这些模板可以由一个HTML编写职员来掩护。
当然,也可以利用Java Servlet来掌握网站的逻辑,通过Java Servlet调用JSP文件的办法来将网站的逻辑和内容分离。

一样平常来说,在实际的JSP引擎中,JSP页面在实行时是编译式,而不是阐明式的。
阐明式的动态网页开拓工具如ASP、PHP3等由于速率等缘故原由已经知足不了当前大型电子商务运用的须要了,传统的开拓技能都在向编译实行的办法改变,如ASP→ASP+;PHP3→PHP4。

在JSP规范书中,并没有明确哀求JSP中的程序代码部分(称为Scriptlet)一定要用Java来写。
实际上,有一些JSP引擎便是采取的其他脚本措辞,如EMAC-Script、WebL等,但实际上这几种脚本措辞也是构建在Java上面,编译为Servlet来实现的。
按照JSP规范书写,和Java没有任何关系的Scriptlet也是可以的,不过,由于JSP的强大功能紧张在于能和JavaBeans、Enterprise JavaBeans共同运转,以是纵然是Scriptlet部分不该用Java,编译成的实行代码也该当是与Java干系的。

1.4 JSP的机制

要理解JSP若何联合以上各种所提到的技能的优点,从而轻而易举地实现各种效果,用户必须首先理解“组件为中央的网页开拓”和“页面为中央的网页开拓”的差异。

SSJS和ASP都是在几年前推出的,那时网络还很年轻,没有人知道除了把所有的商务、数据和表达逻辑统统堆进原始网页中之外还有什么更好的办理方法。
这种以页面为中央的模型随意马虎学习并且得到相称快速的发展。
然而,随着韶光的推移,人们认识到这种方法不适于构建大型的、可升级的Web运用程序。
在脚本环境中书写的表达逻辑被锁在页面内,只有通过剪切和粘贴才能被重用。
表达逻辑常日和商务及数据逻辑混在一起,这使得当程序员试图改变一个运用程序的外不雅观而不想毁坏与之紧密结合的商务逻辑时,运用程序的掩护就变得十分困难。
其事实上,企业中可重用组件的运用早已经很成熟,没有人乐意为它们的运用程序重写那些逻辑。
HTML和图形设计师把它们的设计的履行事情交给了Web编写者,使他们不得不更加事情—— 常常是手工编写,由于没有得当的工具可以把做事器端脚本与HTML内容结合起来。
简而言之,随着Web运用程序的繁芜性不断提升,以页面为中央的开拓办法的局限性变得明显起来。

与此同时,人们一贯在探求建立Web运用程序的更好方法,组件在客户机/做事器领域盛行起来。
JavaBeans和ActiveX被“快速运用程序开拓”(RAD)工具发行商推广给Java和Windows运用程序开拓者用来快速开拓繁芜的程序。
这些技能使某领域内的专家可以为本领域内的垂直运用编写组件,而开拓者可以直接拿来利用而不必节制这一领域的专门技能。

作为一种以组件为中央的开拓平台,JSP涌现了。
它以JavaBeans和Enterprise JavaBeans(EJB)组件包含商务和数据逻辑的模型为根本,供应大量标签和一个脚本平台用来在HTML页中显示由JavaBeans产生或回送的内容。
由于JSP的以组件为中央的性子,它可以被Java和非Java开拓者同样利用。
非Java开拓者可以通过JSP的标签(Tags)来利用高等Java开拓者创建的JavaBeans。
Java开拓者不仅可以创建和利用JavaBeans,还能在JSP页中利用Java措辞来更精密地掌握基于底层JavaBeans的表达逻辑。

现在来看看JSP是如何处理HTTP要求的。
在基本要求模型中,一个要求直接被送到JSP页中。
JSP代码掌握着进行逻辑处理时与JavaBeans组件的交互,并在动态天生的、稠浊了静态HTML代码的HTML页中显示结果。
Beans 可以是JavaBeans 或EJB组件。
其余,更加繁芜的要求模型可看作从被要求页呼叫其他JSP页或Java Servlets。

JSP引擎实际上要把JSP标签、JSP页中的Java代码乃至连同静态HTML内容都转换为大块的Java代码。
这些代码块被JSP引擎组织到用户看不到的Java Servlet中去,然后Servlet自动把它们编译成Java字节码。
这样,当网站的访问者要求一个JSP页时,在它不知道的情形下,一个已经天生的、预编译过的Servlet实际年夜将完成所有的事情,非常暗藏而又高效。
由于Servlet是编译过的,以是网页中的JSP代码不须要在每次要求该页时被阐明一遍。
JSP引擎只需在Servlet代码末了被修正后编译一次,然后这个编译过的Servlet就可以被实行了。
由于是JSP引擎自动天生并编译Servlet,不用程序员动手编译代码,以是JSP能带给你高效的性能和快速开拓所需的灵巧性。

和传统的CGI比较较,JSP有相称的上风。
首先,在速率上,传统的CGI程序须要利用系统的标准输入输出设备来实现动态网页的天生,而JSP是直接和做事器干系联的。
而且对付CGI来说,每一个访问就须要新增加一个进程来处理,进程不断地建立和销毁对付作为Web做事器的打算机将是不小的包袱。
其次,JSP是专门为Web开拓而设计的,其目的是为了建立基于Web的运用程序,个中包含了一整套的规范和工具。
利用JSP技能可以很方便地将一大堆JSP页面组合成为一个Web运用程序。

须要源码可添加

标签:

相关文章