为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

银行交易系统的设计与实现

2018-02-19 50页 doc 299KB 20阅读

用户头像

is_215732

暂无简介

举报
银行交易系统的设计与实现银行交易系统的设计与实现 更多相关参考论文设计文档资源请访问 银行交易系统的设计与实现 摘要 随着我国信息技术的发展,无论是国内银行之间还是国外银行之间,竞争都越来越激烈,怎样高效、方便、快捷的完成用户的要求是银行生存的当务之急。银行管理中的重中之重是有关银行账户与交易的管理,本系统便是为日常银行的交易事务设计的。 本系统设计时采用软件工程的思想,按照需求分析、概要设计、详细设计、程序编码、测试等过程开发了一个银行交易系统。对于后台的数据库,本系统采用SQL SERVER 2005与前台界面相关联。 整个系统以jav...
银行交易系统的设计与实现
银行交易系统的设计与实现 更多相关参考论文设计文档资源请访问 银行交易系统的设计与实现 摘要 随着我国信息技术的发展,无论是国内银行之间还是国外银行之间,竞争都越来越激烈,怎样高效、方便、快捷的完成用户的要求是银行生存的当务之急。银行管理中的重中之重是有关银行账户与交易的管理,本系统便是为日常银行的交易事务设计的。 本系统设计时采用软件工程的思想,按照需求分析、概要设计、详细设计、程序编码、测试等过程开发了一个银行交易系统。对于后台的数据库,本系统采用SQL SERVER 2005与前台界面相关联。 整个系统以java作为开发语言在Myeclipse8.5平台上进行设计开发。整个系统主要用来帮助银行处理日常业务,分为管理员模块和普通用户模块。管理员具有对系统的管理权限,可以管理用户信息和交易信息等,普通用户可以进行转账和取现等业务,方便了银行日常业务的操作。 关键词:JAVA;数据库;Myeclipse;银行交易系统 本参考设计材料,包含项目源代码,屏幕录像指导、项目运行截图、项目设计说明书、任务书、报告书以及文献参考翻译等,完 整的设计文件及源代码,资料请联系68661508索要 更多相关参考论文设计文档资源请访问 The design and implementation of Banks' trading system Abstract With the development of information technology in our country, whether between domestic Banks and foreign Banks, competition is increasingly fierce, how to efficient, convenient and fast to complete the user's requirements is a bank the priority of survival. Top priority is the bank account of bank management and transaction management, this system is designed for daily bank transactions. This system is designed by adopting the idea of software engineering, according to the demand analysis, general design, detailed design, program coding, testing process to develop a bank trading system. For the background database, this system USES the SQL SERVER 2005 that is associated with the front desk interface. The whole system with Java as a development language on Myeclipse8.5 platform for design and development. The whole system is mainly used to help Banks deal with day-to-day business, divided into administrators and ordinary users module. Administrator has administrative privileges on the system, users can manage information and transaction information, such as ordinary users can transfer and cash business, convenient bank daily business operations. Key words: Myeclipse;Database;Java;Banks' trading system 本参考设计材料,包含项目源代码,屏幕录像指导、项目运行截图、项目设计说明书、任务书、报告书以及文献参考翻译等,完 整的设计文件及源代码,资料请联系68661508索要 更多相关参考论文设计文档资源请访问 目 录 摘要 ..................................................................... i Abstract ................................................................ ii 1 概述 .................................................................. 1 1.1 课题名称的来源背景................................................. 1 1.2 信息系统与管理信息系统............................................. 1 1.2.1 信息系统 ....................................................... 1 1.2.2 管理信息系统 ................................................... 2 1.3 银行交易系统的现状与发展趋势....................................... 2 1.4 银行交易系统的意义................................................. 3 2 系统分析 .............................................................. 4 2.1 系统的功能......................................................... 4 2.2 用户需求分析....................................................... 4 2.3 应用程序结构....................................................... 4 2.4 系统开发环境....................................................... 5 3 开发工具简介 .......................................................... 6 3.1 Eclipse简介 ....................................................... 6 3.2 MyEclipse简介 ..................................................... 6 3.3 Eclipse与Myeclipse的区别 ......................................... 6 3.4 介绍JSP ........................................................... 6 3.5 JSP的由来 ......................................................... 7 3.6 Jsp的工作原理 ..................................................... 7 3.7 JSP的生命周期 ..................................................... 7 3.8 JSP与Javabean..................................................... 8 3.9 SQL Server 2005.................................................... 8 4 系统的功能设计 ........................................................ 9 本参考设计材料,包含项目源代码,屏幕录像指导、项目运行截图、项目设计说明书、任务书、报告书以及文献参考翻译等,完 整的设计文件及源代码,资料请联系68661508索要 更多相关参考论文设计文档资源请访问 4.1 功能概述........................................................... 9 4.2 后台数据库设计..................................................... 9 4.2.1 存储过程 ....................................................... 9 4.2.2 设计数据库中的表 .............................................. 10 4.2.3 设计局部E-R模式 .............................................. 11 4.2.4 设计全局E-R模式 .............................................. 13 4.2.5 数据字典 ...................................................... 14 5 系统设计 ............................................................. 18 5.1 系统设计综述...................................... 错误~未定义书签。 5.2 系统操作模块...................................................... 19 5.2.1 系统操作主界面 ................................................ 19 5.2.2 用户账号管理模块 .............................................. 20 5.2.3 账户信息添加模块 .............................................. 22 5.2.4 用户取现模块 .................................................. 25 5.2.5 查询余额管理模块 .............................................. 27 5.2.6 账户明细记录模块 .............................................. 28 6 系统测试 ............................................................. 31 6.1 软件测试基本理论.................................. 错误~未定义书签。 6.1.1 软件测试 ...................................... 错误~未定义书签。 6.1.2 软件测试工程师 ................................................ 32 6.1.3 软件测试基本原则 .............................................. 32 6.1.4 软件测试分类 .................................................. 32 6.2 软件测试过程...................................................... 33 6.2.1 单元测试 ...................................................... 33 6.2.2 集成测试 ...................................................... 33 6.2.3 系统测试 ...................................................... 34 6.2.4 验收测试 ...................................................... 34 6.3 本系统测试实例.................................................... 34 本参考设计材料,包含项目源代码,屏幕录像指导、项目运行截图、项目设计说明书、任务书、报告书以及文献参考翻译等,完 整的设计文件及源代码,资料请联系68661508索要 更多相关参考论文设计文档资源请访问 6.4 系统整体测试...................................................... 35 6.5 不足与改进........................................................ 35 总结 .................................................................... 37 参考文献 ................................................................ 36 致谢 .................................................................... 37 本参考设计材料,包含项目源代码,屏幕录像指导、项目运行截图、项目设计说明书、任务书、报告书以及文献参考翻译等,完 整的设计文件及源代码,资料请联系68661508索要 更多相关参考论文设计文档资源请访问 1 概述 1.1 课题名称的来源背景 银行,通俗的来讲就是人们将暂时不用的钱存进去,交代给银行相关人员进行负责、管理,而在人们需要花费钱时再将它们取出来的金融机构。早在我国西周时期,劳动人们就已经有了银行的些许概念,他们主要是用金属货币来进行交换,促进商品的流通,以满足自己的生活需求。但是,当时的生产力水平毕竟跟现在无法比拟,所谓银行的发展受到很大的限制。真正银行的出现则是在著名的意大利水城威尼斯,由于威尼斯当时是屈指可数的国际贸易中心,频繁的商品交易促进了商品交换的需要,于是出现了保管货币资金的委托人,并有发票做担保。随着委托人手中的货币积累的越来越多,他们不得不考虑扩大这项日渐发展的规模,并开始从事与今天银行相像的存取款业务等,这已经很类似于今天我们随处可见的银行了。而银行的发展最重要的得益于19世纪科学技术的不断进步以及资本主义生产力的蓬勃发展,极大的促进了银行的发展。各国的银行业务不仅在本国范围内高速发展,更是在世界范围内日益进步,壮大。随着社会分工越来越细,各个部门分管的职能有所区别,银行又划分为不同的属性。就我国来说,银行分为中央银行,即中国人们银行,商业银行,政策性银行。我们常见的中国工商银行,中国农业银行,中国银行,中国建设银行,交通银行便是属于商业银行。 随着经济的发展,人们对银行业务的需求也越来越高,越来越多样化。为了促进银行的发展,各种银行系统也渐渐完善。本系统的开发主要是根据银行的实际需求而进行,系统整体包括:基础资料管理、银行业务管理、财务报表管理、系统维护管理四大功能模块。对银行的日常业务进行全面管理。“银行交易系统”的出现在传统的银行经营管理模式基础上,结合计算机和网络的应用,使得银行内部信息量增大,方便了银行管理人员的操作,提高了工作效率,减轻了他们的工作量,方便了银行的管理,更重要的是为用户带来极大的便利。银行已经成为我们日常生活中不可缺少的一部分,已经渗透我们生活的方方面面,并且随着我国经济的发展,银行更会在金融方面发挥不可替代的作用。 1.2 信息系统与管理信息系统 1.2.1 信息系统 21世纪是信息科学技术飞速发展的时代,信息技术的应用可谓空前广泛,网络的发展更是促进了信息化的发展。而全球经济的一体化与信息化又是相辅相成的,所以正确客观的认识信息化是必要的。 信息系统虽然感觉庞大陌生,其实早已出现,并逐步改变着我们的日常生活。信息系统实质是一个人机一体化系统,它由人以及计算机硬件、计算机软件、网络、设备、数据资源和相关制度组成,目的是及时、准确地对数据进行输入、存储、处理、输出及控制,也就是对数据实现集中、高效、便利的管理,达到项目的有序,做出正确决策。银行管理系统恰恰需要这种方便周到的信息系统。信息系统包括信息处理系统、管理信息系统、决策支持系统、专家系统和虚拟办公室系统。我们常用的是信息本参考设计材料,包含项目源代码,屏幕录像指导、项目运行截图、项目设计说明书、任务书、报告书以及文献参考翻译等,完 整的设计文件及源代码,资料请联系68661508索要 更多相关参考论文设计文档资源请访问 处理和传输。信息处理系统(Data Processing System,简称DPS)对数据仓库进行处理,需要用到联机分析处理和数据挖掘技术从而产生新的数据。数据传输功能也即数据通信,将数据从一方传到另一方,进行交流通信。决策支持系统是对大量收集到的数据进行统计分析,帮助用户解决半结构化和非结构化决策问题,主要是运用概率学和统计学。对于专家系统,则分属于人工智能,是智能领域中最为活跃。虚拟办公室则是可以把任何场所当做办公室的系统,方便了管理人员对工作人员的管理,同时给工作人员带来生活上的便捷,提高了工作积极性和效率。 1.2.2 管理信息系统 随着人类进入信息时代,信息管理的水平越来越成为衡量国家综合实力的重要标志。信息成为了一种无形的,价值量巨大的资源。过去的所谓的资源多为人、物、资金、能源等。随着信息技术的发展,无形的信息资源也成为我们得以发展的重要因素。把握了无形的信息资源,才能更好的利用有形资源。因而,对于各种信息的管理必须引起我们的高度重视,人们因此研究出来管理信息系统。管理信息系统(MIS)由手工最基础的操作到机器辅助设备,再到如今的使用计算机、打印机等设备发展而来,是一个复杂多元高效准确的人机系统。主要是结合计算机、数据库、网络以及管理学、概率学、统计学等对信息进行合理处理、正确管理。管理信息系统不仅可以对数据有处理功能,而且可以根据提供的现有条件和约束条件的控制下,为各个部门制定,比如企业财务管理、库存进出货管理等。除此之外,还具有对计划执行的控制功能,对计划检查,监督。 管理信息系统既是一个技术系统,又是一个社会系统。工作既可以实现人机分离,也可以实现人机统一。不同的情境运用不同的策略,二者相互协调,充分发挥其作用,高效完成作业,大大节约了工作人员的劳动时间。管理信息系统的开发分为五大阶段:规划、设计、实施、维护和评价。完善的管理系统在我国已有了广泛的应用,适应了现代化管理的需要,成为谋求发展的必由之路。 1.3 银行交易系统的现状与发展趋势 银行交易系统在银行系统中占有重要地位,用户需求增多,市场竞争增大,对银行的经营提出了更高的要求。提高银行核心竞争力除了人为因素外,银行交易系统起的作用更为关键。银行的运行效率、盈利能力、成本和管理水平的高低和银行所使用的交易系统直接挂钩,如果有一套好的银行交易系统,可大大减少应用开发和维护成本,进一步提高银行的综合实力。在这种市场机制之下,促进了银行交易系统的发展。虽然银行交易系统已经广泛用于银行的日常管理中,但不可避免的会出现一些问题需要不断改善。例如,系统不应仅仅局限于功能的实现,还应注意与操作人员的交互是否人性化,最直观的就是界面是否符合使用效果等诸多问题。需要在使用中不断升级,需要快速迭代的进化程序。 为了进一步提升银行交易系统的质量,在设计方面已经注重从简思维,繁琐的操作会影响执行效率,只有操作简单,理解简单,才能愿意使得人们消费。其次,更应注意享受银行服务,尽量将银行业务与人们生活结合起来,方便人们的日常生活。再本参考设计材料,包含项目源代码,屏幕录像指导、项目运行截图、项目设计说明书、任务书、报告书以及文献参考翻译等,完 整的设计文件及源代码,资料请联系68661508索要 更多相关参考论文设计文档资源请访问 次,合理利用网络,提高银行服务质量。 1.4 银行交易系统的意义 时间就是金钱,效率就是质量。采用银行交易系统无疑大大提高了银行业务的执行效率,增强了银行的核心竞争力,以面对当今世界对金融等各方面提出的各种风险。同时,提高了银行管理效率,方便了管理员及用户的使用,保障了银行的发展,保证了人们的正常生活。 本参考设计材料,包含项目源代码,屏幕录像指导、项目运行截图、项目设计说明书、任务书、报告书以及文献参考翻译等,完 整的设计文件及源代码,资料请联系68661508索要 更多相关参考论文设计文档资源请访问 2 系统分析 管理信息系统常用的开发有结构化系统开发方法、原型方法、面向对象的开发方法、计算机辅助开发方法。本系统采用的是最常用的管理信息系统开发方法——结构化系统开发方法。该方法具体分为四个步骤,即系统调研分析、数据库设计实现、界面设计实现和系统功能设计实现,这其中系统调研分析阶段是最为关键,基础、重要。 2.1 系统的功能 该系统开发的主要任务是实现银行的管理。目的是提高银行管理的工作效率,改善工作环境,降低银行管理成本,实现工作的现代化、系统化、化、自动化。 该系统开发主要分为两大部分:前台的操作界面部分和后台的数据库部分。 前台的操作界面主要实现用户的各种基本操作,比如对基础资料管理、银行业务管理、财务报表管理等功能。 后台的数据库方面主要实现系统用到的数据的管理。 2.2 用户需求分析 软件开发流程为系统需求分析、系统需求定义、总体设计、软件需求分析、数据建模、编码/单元测试、联合测试、系统测试和运行维护。在进行系统设计和开发之前,基础且关键的步骤为进行用户需求分析。对用户的需求进行调查分析,通过与用户的沟通充分了解系统应有的功能,确定系统的总体框架,实现,并形成完整的用户需求分析文档。此文档的使用贯穿在系统设计、开发、测试、维护整个过程中,是进行相关活动的参考依据。同时,在设计过程中也可以进一步与用户交流,达到尽量完善系统的目的。 该系统经过需求分析,最终确定将其分为管理模块和交易模块。管理模块包括超级管理员和普通管理员的操作模块。交易模块包括取现、转账、查看交易记录等模块。 2.3 应用程序结构 应用程序有两种模式:客户端/服务器端应用程序(C/S),该程序一般独立运行;浏览器/服务器端应用程序(B/S),该程序借助浏览器运行。 本系统前台采用的就是建立在B/S架构上的web服务器端的脚本程序,采用了动态网页技术。静态网页和动态网页的区别是web服务器对待方式不同,效率也有区别。 从用户应用角度来看,可把应用程序系统的组成部分分成data layer(数据层)、business layer(业务逻辑层)、persentation layer(显示层)等3个层次。业务逻辑处理中用到servlet,servlet由java和html结合而成。在做显示时主要用jsp,jsp也有java和html结合而成。 本参考设计材料,包含项目源代码,屏幕录像指导、项目运行截图、项目设计说明书、任务书、报告书以及文献参考翻译等,完 整的设计文件及源代码,资料请联系68661508索要 更多相关参考论文设计文档资源请访问 2.4 系统开发环境 (1)数据库的选择: 数据库的选择需要结合系统要求、自己机器的情况以及自己的兴趣进行选择。数据库有高低级之分,ACCESS简单易懂,属于低级数据库;DB2,QRACLE,SYBASE则由于比较系统,实力很强,属于高级数据库。本系统中选择了中级数据库——SQL Server 2005。 SQL Server 2005是微软公司开发的,基于客户端/服务器的关系型数据库管理系统,对应用程序提供了安全可靠,且高效的数据管理平台。可以用于大规模练级事务处理(OLTP),有报表、分析、集成、通知、复制等功能。如此强大功能的SQL Server 2005安装简便,组织、管理数据简单明了,卸载方便容易。 (2)开发工具的选择: My Eclipse Enterprise Workbench,简称MyEclipse是我学习期间相对熟悉的一种开发工具。MyEclipse属于企业级工作平台,极易部署,极大的提高了应用程序编程的工作效率,且为J2EE提供了丰富的集成开发环境,容易上手,方便管理,界面熟悉。所以这次系统的设计选择在MyEclipse上进行。 本系统整体确定使用下面的开发环境:采用的网络操作系统为:Windows7;采用的数据库服务器为:SQL Server 2005;采用的服务器平台为:Windows7;采用的前台开发工具为:MYECLIPSE;采用的数据访问对象为:JAVA;采用的网络开发语言为:JAVA 本参考设计材料,包含项目源代码,屏幕录像指导、项目运行截图、项目设计说明书、任务书、报告书以及文献参考翻译等,完 整的设计文件及源代码,资料请联系68661508索要 更多相关参考论文设计文档资源请访问 3 开发工具简介 3.1 Eclipse简介 大学较为熟悉的开发工具之一为ECLIPSE,与J2EE结合起来使用不仅方便了我们编程,更是由于它本身的操作比较简单,使得我们对编程的兴趣有了很大提高。之后,随着认识上的提高与进一步的学习,偶然用到了MYECLIPSE。下面就来简单讨论下二者。 Eclipse的好处是它包含着JDK(Java Development Kit,JAVA 开发工具),这归功于它自带的一个插件集。虽然就eclipse来看,它仅仅是个框架和相关插件结合起来的跨平台的、源码开放的、有java开发环境的开发工具。正是因为eclipse中插件的一致性,所以开发人员所使用的开发环境也保持一致,这样交付给用户的产品的性质也大同小异。例如,eclipse的开发语言是java,但也支持C编程、C++编程等,再加上简洁的界面和人性化的设计,方便了开发人员的使用。 3.2 MyEclipse简介 对于myeclipse来说,它更像是eclipse的集合,eclipse工作依靠插件,因此也可以认为myeclipse强大的功能来自eclipse的各类插件,使得这款产品更满足人们的需要,适应行业的发展。Myeclipse中功能众多,可以完成hibernate,spring,和structs布局,除了普通的编程外,还可以进行调试与测试、设计图样,每种功能对应一种插件,并且这些插件相互独立,互不影响,开发人员可以根据自己的编程需要适当的升级其中某一个插件,而不影响其他插件。这与软件工程中的模块思想类似,只是更容易操作,如此强大却简便的操作深得人心。Myeclipse功能的价值远远大于市场上单独的软件功能,且无论对于个人还是企业来说,其价格都是可以被接受的。这些原因都导致myeclipse的市场占有率越来越大,日渐受到开发人员的欢迎。 3.3 Eclipse与Myeclipse的区别 Eclipse与myeclipse的区别如下: Eclipse主要用来进行java应用程序开发,myeclipse主要用来进行javaee应用程序开发,若在eclipse上进行javaee开发,只需安装个相关插件就可以。当然,由于myeclipse所有插件都已存在,形成了一种高级编程环境,程序开发运行时会出现一段反应时间,比eclipse慢些。 3.4 介绍JSP JSP(Java Server Page),是一种实现普通静态HTML和动态HTML混合编码的技术。JSP的基础是Java Servlet,将Java Servlet与JSP配合使用可以较好的完成大型的web应用程序开发。JSP是sun公司在1998年提出的一种动态网页技术,其本质还是本参考设计材料,包含项目源代码,屏幕录像指导、项目运行截图、项目设计说明书、任务书、报告书以及文献参考翻译等,完 整的设计文件及源代码,资料请联系68661508索要 更多相关参考论文设计文档资源请访问 servlet,jsp最终会被转化成的servlet。对于我们熟知的html,它属于网页文件,而.asp、.php 和.jsp则属于镶嵌型的脚本语言,是建立在B/S架构上的web服务器端的脚本程序。服务器对待网页方式的不同决定了该网页是属于静态网页还是动态网页。Jsp设计目的在于简化表示层,实质为html与java的结合。JSP页面的成分分为三种:脚本元素、指令、动作。JSP还继承了java面向对象的优点,极大方便了人员使用。 3.5 JSP的由来 JSP的由来:传统的应用程序模型中表示层、业务层和数据层都在一个应用中,也就是所谓的单层结构。三层绑在一起,增加了各层的工作负担。这种模型无论是对代码的修改、维护还是重复性使用都不方便,最主要的是该模型没有伸缩性,复用率低,造成人力、物力等资源的浪费。不仅对用户使用的要求高,而且对编程人员来说更是一件头疼的事。之后,出现的web应用程序模型改变了以上状况。Web应用程序模型就是我们熟悉的三层架构模式。客户端用来做为显示界面,将客户端的请求提交给服务器,服务器响应相关服务,再将结果返回给浏览器,交代给用户,使程序各层分工明确,相互独立,减少了各层的工作量,便于管理人员进行管理、维护,方便用户操作。尤其对于数据库来说只需和组件相通即可,不必连接每个用户。虽然由传统的应用程序模型到web应用程序模型得到诸多改进,例如提高了灵活性等,但也对开发人员提出了较高要求。他们需要熟悉HTTP、HTTPS等分布式协议,考虑所处理事务的一致性以及安全性等。这样就引出了我们对J2EE的关注。J2EE只需开发者利用它的可重用构件、JSP和EJB以及简便的连接数据库的方式(JDBC、XML等)便可实现开发。EJB是J2EE的基石,JSP则是J2EE的核心。因此,人们开始大量使用JSP。 3.6 Jsp的工作原理 JSP在首次载入时被翻译成servlet文件(*.java),JSP引擎调用java编译器将*.java编译成class,然后JSP引擎调用JVM执行*.class,将运行结果返回给服务器,服务器封装响应后返回给客户端。 3.7 JSP的生命周期 JSP的生命周期分为三个阶段,分别是翻译阶段、编译阶段和执行阶段。翻译阶段主要是当容器接受到客户端第一次对jsp的请求后,先判断被请求的jsp是否存在,若不存在返回404错误,若存在,将该jsp先翻译成一个Servlet。编译阶段主要是将Servlet的源文件编译成一个字节码文件,然后由容器将其装载进虚拟机并实例化(单例)。对于执行阶段来说主要是调用Servlet的init()方法、service方法、destroy()方法。值得我们重视的是如果被请求的jsp源文件内容发生变化,那么要重新将jsp翻译成Servlet,再编译、装载和实例化,最后运行Servlet。如果第二次请求jsp时,此时若被请求的jsp已经有对应的Servlet实例,那么就直接运行该Servlet。 本参考设计材料,包含项目源代码,屏幕录像指导、项目运行截图、项目设计说明书、任务书、报告书以及文献参考翻译等,完 整的设计文件及源代码,资料请联系68661508索要 更多相关参考论文设计文档资源请访问 3.8 JSP与Javabean 提到JSP不得不提到javabean。使用Javabean的目的有三方面:第一,用来封装 数据访问,事务控制逻辑的代码;第二,用来封装jsp中的一些脚本,数据信息,业务, 便于重用,可以减少jsp中脚本的使用;第三,作为一个可重用的组件来使用。javabean按照位置可以分为两类:其一,可视化JavaBean,位于客户端(例如: 在Swing中处理事件的JavaBean);其二,不可视化JavaBean,位于服务端,用于封装数据信息,业务,数据。Javabean实质就是java中的可重用组件,普通的java类,可以实现Serializable接口并且是一种无参构造器,有自己相应的属性,最关键的就是相应属性有对应public的setter和getter。这点和JSP结合起来完善了编程的需要。对于useBean,主要用于在JSP页面中初始化一个Java实例,setProperty用来为JavaBean实例的属性赋值,getProperty用来输出JavaBean实例的属性。 3.9 SQL Server 2005 一个系统的数据往往繁多杂乱,光靠人为的统计是不足以完成系统要求的。为了有效方便的管理这些数据,我们广泛的使用了专门的数据库。数据库中的数据既有联系性又有独立性,被每个有相应权限的人员进行增删改查,这就需要用到数据库管理系统(database management system,DBMS),方便用户访问计算机软硬件资源以及数据。由于数据库界面设计简单,但功能强大,因此方便了数据的整理、保存,提高了工作效率。 SQL Server是由赛贝斯公司在1987年发布的数据库系统,经过之后微软公司参与其中的设计,该系统有了进一步提升。在1995年,微软正式发布了Microsoft SQL Server 6.0系统。而SQL Server 2005系统也由微软公司在2005年发布。SQL Server中SQL是Structured Query Language的意思,即结构化查询语言。这种语言可以对数据库中数据进行操作,方便人员和计算机的交流沟通。 SQL Server系统有数据库引擎、报表服务和分析服务等服务集成。数据库分割成用户数据库和系统数据库,可以用于多个行业。数据库的业务操作环境和模拟分析环境是不同的,只有当数据库置于真正的业务环境中,我们才能更好的掌握它们的优缺点。SQL Server 2005在以前版本的基础上,改善了一些功能。将好的功能保留下来升级,将不适合的功能索性淘汰。 对于数据库来说,安全性至关重要。SQL Server 2005提供了身份验证、安全对象的权限设置等机制保证数据完整。数据库中默认sa是SQL Server的登录名,该用户名不能删除,且拥有SQL Server的全部权限。如果由混合模式进入SQL Server后,我们应及时为sa设置一个秘密。该密码可以通过设置它的复杂性和密码过期时间来提高数据库安全性。数据库中不仅有数据,更是有这些数据的用户。因此,管理这些用户也是一项大任务。在SQL Server 2005中数据库用户并不能拥有数据库中表、视图等对象,只能架构操作这些对象。管理员有着全部权限,可以对普通用户进行创建、修改、删除等操作,保证数据库数据简洁和完整。管理员可以通过角色权限管理用户。首先创建角色,赋予角色相关权限,再将角色和用户关联起来,这些用户也就拥有了相关角色的权限。这样管理员可以对用户进行成批操作,减少了管理员的工作量,提高了工作效率。 本参考设计材料,包含项目源代码,屏幕录像指导、项目运行截图、项目设计说明书、任务书、报告书以及文献参考翻译等,完 整的设计文件及源代码,资料请联系68661508索要 更多相关参考论文设计文档资源请访问 4 系统的功能设计 4.1 功能概述 该系统实现的功能主要分为两部分,一部分是管理员模块,另一部分就是普通账户模块。管理员分为超级管理员和普通管理员。超级管理员可以对用户账号进行管理(对可以使用该系统的账号添加、删除),对银行数据进行备份管理。除此之外,管理员都可以进行账户管理(账户基本信息的添加、查询);挂失管理(可以对账户进行挂失和解冻);交易记录管理(查看、修改、删除)。普通账户可以进行用户账号管理(修改个人密码)和交易管理(查询余额、转账、取现、查看历史记录)。 系统流程图如图4-1所示: 用户账号管理 账户信息管理 挂失管理 Y 交易记录管理 是否为 开 退 管理员 始 出 数据管理 N 账号管理 交易管理 图4-1系统流程图 4.2 后台数据库设计 4.2.1 存储过程 (1)综述SQL存储过程 经过该系统基本模块的实现,各个功能也日渐明了,接着的关键任务就是保存其庞本参考设计材料,包含项目源代码,屏幕录像指导、项目运行截图、项目设计说明书、任务书、报告书以及文献参考翻译等,完 整的设计文件及源代码,资料请联系68661508索要 更多相关参考论文设计文档资源请访问 大的数据,需要分析各个模块需要哪些表,各表需要有哪些字段,各个字段有哪些属性各表之间有哪些联系,设定各表的主键和外键等工作。这也就是简单的数据库设计。操作数据库的完整步骤为创建新的数据库、设置数据库名称、指定数据库的存储位置、完成事务日志文件、创建数据库完成、使用数据库、删除数据库。 大学期间认真学习过数据库的触发器,其实,在接触到存储过程之后,认识到触发器就是存储过程,只不过是其中一种而已。两者客观看来就是在流程控制语句下的SQL语句,触发器和存储过程都对数据库起着非常重要的作用。 存储过程完成过程中,会将编译后的SQL语句存储在数据库中,这些SQL具有与用户需求相关的功能,在使用这些SQL语句时,通过给定它的名称参数执行。 本系统中采用的数据库是SQL SERVER 2005,该版本的存储过程分为用户自定义的和系统自带的。用户自定义的存储过程可以根据用户自己的需求创建完成。系统自带的存储过程需要存储在master中,且可以和其他数据库相互调用,保证对数据库操作的顺利准确的完成。为了更好的满足本系统的需求,我采用了用户自定义的存储过程,不用在计算机上自己写SQL程序,节约了时间,方便管理。具体说来,其优点如下:存储过程执行速度快,因为使用存储过程时只需调用语句,不是SQL语句块,节省了网络流量,减少执行时间。并且,存储过程的安全性也足以令人放心,管理员可以授权给各个普通用户,避免普通用户破坏数据,保证了数据的完整完全。值得考虑清楚的是,存储过程与函数不同。虽然两者都有参数和返回值,但是函数可以直接被其他函数调用,而存储过程只有当名称前加上EXEC保留字时才能被调用。操作是否执行成功,由存储过程的返回值指示。存储过程可以有参数也可以无参数,无参数相对简单,如果是更新或者插入数据最好使用带有参数的存储过程,需要用到@符号。 对于SQL数据库中最为核心的事务——存储过程,它可以常驻内存,由于数据量巨大时需要分页技术,ASP便保证了这一需要的实现。使用普通的SQL语句经常会丢失数据或者显示出现错误,因为SQL语句需要顺序读取。为了简单性和系统内存的最小利用原理,保证资源充分利用,我们更应使用存储过程。 创建存储过程简单易行,只需平时常用的SQL语句和流程控制语句便可根据自己的需要完成。完成之后,这些相关的信息就会在服务器资源管理器中的节点下出现,点击运行该存储过程即可实现。 4.2.2 设计数据库中的表 除了索引、存储过程,建表是创建数据库中最基本的操作。表就是客观存在的事物,我们也称之为实体,一个实体可以对应一张表或者多张表,这主要需要具体情况具体看待。而实体的属性,就是表中的字段。 前面已经提到实体间的关系有一对一、一对多和多对多三种关系。表中的一对一关系描述主表和其他表的关联关系,需要借助外键。比如当学生信息表中学生学号唯一,成绩表中的学号可以设置为外键,二者构成一对一关系。对于一对多,是在理解一对一的基础上进行。比如每个班级很多学生,一个年级很多班级,这些构成了一对多关系。多对多的例子也很好找。餐厅吃饭,一道菜可以被很多人点,一个人也可以点很多道菜。 为保证表的完整性,在建表过程中应注意基本表的几个特性。第一,原子性。表中字段为最小数据单位。第二,原始性。表中的数据时原始记录。第三,演绎性。由基本表和其他相关表可以共同到处需要的数据。第四,稳定性。保证表的长期储存。 本参考设计材料,包含项目源代码,屏幕录像指导、项目运行截图、项目设计说明书、任务书、报告书以及文献参考翻译等,完 整的设计文件及源代码,资料请联系68661508索要 更多相关参考论文设计文档资源请访问 数据库中除了基本表外,临时表和中间表也较为常用。中间表之所以不是基本表是因为它没有属性。中间表不仅有自身的主键,还有其他两个表的主键,目的就是将这两个表关联起来,中间表起到桥梁作用。这是用于多对多的情况,若是一对多或者一对一便不需要使用中间表,两个表直接联系起来就可以。临时表的表名以“#”开头,将临时数据存放在临时表中,用户推出连接时数据库自动清空临时表的数据,提高了资源利用率。这种临时表称为本地临时表,只对用户自己可见,其他用户不可见。另外一种常用的临时表就是全局临时表,以“##”开头,它与本地临时表有两点不同。第一,当本用户断掉实例连接时,若该表还正在被其他用户使用,它的数据不能被清除。当所有用户断开对它的使用时,才会清除临时表的数据。第二,基于上述特性,该表对所有用户可见。 建表过程离不开三大范式。第一范式对应属性的原子性,属性不可分割性。第二范式是第一范式的拓展,具体说就是若表中与主键的字段有依赖关系,则构成第二范式。第二范式也有唯一性要求。第三范式更进一层,避免了字段的冗余。但是冗余程度与数据的访问速率不成反比关系,关键看系统的实际要求。在数据库设计中更遵循第三范式。 4.2.3 设计局部E-R模式 (1)实体和属性的定义: 银行管理员的定义如图4-2所示: 银行管理员 添加时间 用户名 密码 权限 图4-2银行管理员的定义 普通账户的定义如图4-3所示: 账户信息 账号 地址 密码 余额 本参考设计材料,包含项目源代码,屏幕录像指导、项目运行截图、项目设计说明书、任务书、报告书以及文献参考翻译等,完 整的设计文件及源代码,资料请联系68661508索要 更多相关参考论文设计文档资源请访问 图4-3普通账户的定义 交易记录信息的定义如图4-4所示: 交易记录 转出账户 转账金额 添加时间 转入账户 图4-4 交易记录信息的定义 (2)实体关系定义: R)由实体、关系和属性三部分构成,主要通过单纯构造数据间的结实体关系(E- 构来展现它们之间的关系,与数据的处理过程无关。实体是指现实中的任何事物。属性是指各个实体具有的特点,可以表现它们的本质或非本质特点。联系是指实体之间存在的某种关系。 E-R图简单易懂,主要用到四种基本图形:实体用矩形框表示,实体的属性用椭圆形框表示,实体之间的联系用菱形框表示,实体和属性通过直线连接起来,在直线上标明联系的种类。 联系的种类则分为三种:一对一联系(1:1)、一对多联系(1:N)、多对多联系(M : N)。该银行交易系统的实体关系部分如下各图所示: 一个管理员可以管理多个普通账户,一个普通账户被多个管理员管理。如图4-5所示: 管理员 普通账户 管理 图4-5 管理员与普通账户关系图(多对多的关系) 一个管理员可以管理多个出入账信息,一个出入账信息被多个管理员管理。如图4-6所示: N N 出入账信息 管理员 管理 图4-6管理员与出入账信息关系图(多对多的关系) 本参考设计材料,包含项目源代码,屏幕录像指导、项目运行截图、项目设计说明书、任务书、报告书以及文献参考翻译等,完 整的设计文件及源代码,资料请联系68661508索要 更多相关参考论文设计文档资源请访问 一个普通账户可以管理一个普通账号,一个普通账户被一个普通账号管理。如图4-7所示: 1 1 普通账户 普通账号 管理 图4-7 普通账户与普通账号关系图(一对一的关系) 总的关系图。如图4-8所示: 用户名 密码 权限 N N 银行管理员 管理 管理 N N 1 1 普通账号 普通账户 管理 余额 账号 身份证 姓名 图4-8 总的E-R图 4.2.4 设计全局E-R模式 E-R模型中只有实体、联系和属性。在应用中,数据库的用户往往有多个。设计数据库是我们应先考虑单个用户的需求,形成局部E-R模型。我们在做出局部的E-R模型之后,就要从全局出发,为系统构造全局的ER的模型。全局模型是局部模型的整合,保证了数据库的完整性。 具体来说,设计全局ER模型步骤为:首先确定所有的局部ER模型,识别出这些局部公共的实体类型,然后将这些局部ER模型两两合并,检查这两个局部ER模型是否有冲突,如果有,将其消除,再次合并,检查是否还有其他冲突,直至没有冲突为止。依次将剩余没有合并的局部ER 模式合并,直至所有的局部模型合并起来没有冲突为止。 本参考设计材料,包含项目源代码,屏幕录像指导、项目运行截图、项目设计说明书、任务书、报告书以及文献参考翻译等,完 整的设计文件及源代码,资料请联系68661508索要 更多相关参考论文设计文档资源请访问 这里的关键是消除冲突。分析冲突的种类,大致分为属性冲突,命名冲突和结构冲突三种。属性冲突如计量单位不一致等。命名冲突如属性、实体或者联系的名称不一致,包括同名异义和异名同义。对于结构冲突,表现为实体间的联系在各个局部ER模式中呈现不同,或者实体的属性在局部ER模式中表现不同,再或者同一个对象的抽象也有不同。这些都是我们在消除冲突时应关注的地方。 ER模型需要优化,最终应保证可以准确反映用户需求,实体个数和类型尽量少,实体所含属性个数尽量少,实体间联系也尽量少。 4.2.5 数据字典 数据字典经常用在软件系统开发过程中的数据库部分,在系统的需求分析阶段结束后,需要将涉及到的实体和它们之间的关系制作成表,这些表形成了数据字典。数据字典预留在数据库中,是存储数据的数据,描述数据库中各类数据的属性等特征,是一个数据集合,方便管理人员对数据的分析和整理,是软件开发过程中必不可少的工具。数据元素、数据结构、数据流、数据存储和处理过程构成了完整的数据字典,可以手动存储和自动存储,属于文档类。 数据字典描述数据和存储数据主要依靠数据项和数据机构。数据字典中最小的数据单位是数据项,一个数据结构由一个或几个数据项构成。数据字典中还可以包含用户的信息,用户的权限以及审计信息等,可以把数据字典当做数据库中心处理,任何相关数据都可以在数据字典中找到信息。数据流也由数据项构成,包括数据流名称、来源等。数据存储只涉及逻辑结构。处理过程是对流程图的一种解释说明,也是逻辑说明,不涉及物理结构。 (1)数据字典列表——数据流,如表4-1所示: 数据存储名称:管理员信息 数据来源:管理员信息表 数据去向:管理员登录模块 数据组成:管理员信息,管理员姓名+管理员密码+管理员权限+添加时间 描述:存储了管理员的基本信息 数据存储名称:银行普通账户信息 数据来源:账户信息表 数据去向:银行账户管理模块 数据组成:银行普通账户信息=账号+密码+姓名+性别+身份证号+地址+余额+状态等 描述:存储了银行普通账户的基本信息 本参考设计材料,包含项目源代码,屏幕录像指导、项目运行截图、项目设计说明书、任务书、报告书以及文献参考翻译等,完 整的设计文件及源代码,资料请联系68661508索要 更多相关参考论文设计文档资源请访问 数据存储名称:交易记录信息 数据来源:交易记录信息表 数据去向:交易记录模块 数据组成:交易记录信息=转出账号+转入账号+转账金额+添加时间等 描述:存储了交易记录的基本信息 数据存储名称:账户取现信息 数据来源:交易记录信息表 数据去向:交易管理模块 数据组成:取现记录信息=账号+取现金额 描述:存储了取现记录 表4-1 数据流 (2)数据字典列表——数据处理,如表4-2所示和表4-3所示: 表4-2 数据处理1 名称: 身份验证 描述:银行管理员经过身份验证进入系统进行管理 输入:银行管理员的用户名、密码 过程:判断身份是否合法 名称: 查询银行交易系统中的信息 描述:根据需求列出条件查询信息 输入: 输入与查询相关的条件 过程:查询所需要的信息 表4-3 数据处理 输出: 查询得到的新的页面 表4-3 数据处理2 名字:输入信息 描述:输入账户名称、密码、转账金额等相关信息 输入: 输入管理员和普通账户需要输入的信息 过程: 将需要输入银行交易系统中的数据输入 输出: 输入信息后新的页面 名字:增、删、改、查信息 描述:对普通账号的信息、交易记录增删改查 输入: 输入要增删改查信息 本参考设计材料,包含项目源代码,屏幕录像指导、项目运行截图、项目设计说明书、任务书、报告书以及文献参考翻译等,完 整的设计文件及源代码,资料请联系68661508索要 过程:对需要修改的信息做处理 输出: 增删改查后新的页面 更多相关参考论文设计文档资源请访问 (3)数据字典列表——数据存储,如表4-4所示: 表4-4数据存储 名字: 数据库信息 别名:无 描述:存储了银行交易系统数据库的相关信息 数据组成:数据库信息=管理员信息+普通账户信息+账户交易信息 输出: 所有相关信息的页面 (4)数据表图例 allusers(用户)表,如表4-5所示: 表4-5 用户表 序号 列名 数据类型 大小 允许空 最大长度 1 ID int 4 否 10 2 username varchar 50 是 255 3 pwd varchar 66 是 255 4 cx varchar 50 是 255 5 addtime datetime 8 是 100 Zhanghuxinxi(账户信息)表,如表4-6所示: 表4-6 账户信息表 序号 列名 数据类型 大小 允许为空 最大长度 1 ID int 4 否 10 2 zhanghao varchar 50 否 255 3 mima varchar 66 否 255 4 xingming varchar 50 否 255 5 xingbie varchar 50 是 255 6 shenfenzheng varvhar 50 否 255 7 dizhi varvhar 50 是 255 8 yue float 8 否 20 9 zhuangtai varvhar 50 否 255 本参考设计材料,包含项目源代码,屏幕录像指导、项目运行截图、项目设计说明书、任务书、报告书以及文献参考翻译等,完 整的设计文件及源代码,资料请联系68661508索要 更多相关参考论文设计文档资源请访问 10 beizhu varvhar 50 是 255 11 addtime datetime 8 是 100 Zhuanzhangjilu(账户记录)表,如表4-7所示: 表4-7 交易记录表 序号 列名 数据类型 大小 允许为空 最大长度 1 ID int 4 否 10 2 zhuanchuzhanghao varchar 50 否 255 3 zhuanruzhanghao varchar 50 是 255 4 zhuanzhangjine varchar 50 是 255 5 beizhu varchar 66 是 255 6 addtime datetime 8 是 100 7 leixing varchar 50 否 255 本参考设计材料,包含项目源代码,屏幕录像指导、项目运行截图、项目设计说明书、任务书、报告书以及文献参考翻译等,完 整的设计文件及源代码,资料请联系68661508索要 更多相关参考论文设计文档资源请访问 5 系统设计 5.1 系统设计综述 系统首页是用户的登录界面,按照权限的不同分为管理员身份和普通账户身份。默认设置管理员名称为admin,密码为admin。普通账户的名称和密码由管理员录入。只有当各自名称和密码均相符时,才能进入各自的模块。如图5-1为系统设计流程图: 开始 登录系统 N N 出错三次 身份验证 本参考设计材料,包含项目源代码,屏幕录像指导、项目运行截图、项目设计说明书、任务书、报告书以及文献参考翻译等,完 整的设计文件及源代码,资料请联系68661508索要 更多相关参考论文设计文档资源请访问 Y Y 进入系统 操作系统 退出系统 图5-1 系统设计流程图 5.2 系统操作模块 5.2.1 系统操作主界面 若是超级管理员进入该银行交易系统后,可以看到有用户账号管理、账户管理、挂失管理、交易记录管理和数据管理模块。若是普通管理员进入该系统,则只能对账户管理、挂失管理和交易记录管理模块操作。若是普通账户进入该银行交易系统,则有用户账户管理和交易管理模块。主界面的设计看似简单,其实包含了三种不同的权限,超级管理员权限最大,可以管理普通管理员和普通用户。而普通管理员则相当于实体银行中柜员的身份,只可以管理自己的密码和管理普通账户。 5.2.2 用户账号管理模块 该模块主要实现超级管理员对银行交易系统中用户账户管理。可以通过输入用户名和密码进行授予权限,也可以通过删除用户的信息达到回收权限的功能。 图中有一位超级管理员“admin”,其密码为“admin”。还有另外三名普通管理员,分别为“b”、“c”和“d”,为方便管理,超级管理员模块中可以看到普通管理员的用户名、密码、添加时间等信息。若点击“删除”,可以取消该普通管理员对系统的操作权限,这样可以方便超级管理员的操作,提高了实际操作的可行性。此模块的操作界面如图5-2所示: 本参考设计材料,包含项目源代码,屏幕录像指导、项目运行截图、项目设计说明书、任务书、报告书以及文献参考翻译等,完 整的设计文件及源代码,资料请联系68661508索要 更多相关参考论文设计文档资源请访问 图5-2 用户管理界面 此模块的实现代码如下: <% if (request.getSession().getAttribute("cx").equals("超级管理员")) { } else//否则的话,为登录失败 { out.print(""); } %> <%@ page language="java" pageEncoding="gb2312"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+ "://"+request.getServerName()+ ":"+request.getServerPort()+path+"/"; %> <%@ page language="java" import="java.sql.*" %> 修改密码
本参考设计材料,包含项目源代码,屏幕录像指导、项目运行截图、项目设计说明书、任务书、报告书以及文献参考翻译等,完 整的设计文件及源代码,资料请联系68661508索要 更多相关参考论文设计文档资源请访问
用户名: *
密码: *
确认密码: *
 

已有管理员列表:

<% ResultSet RS_result=connDbBean.executeQuery("select * from allusers order by id desc" );//在数据库中执行查询操作 String id=""; String username=""; String pwd=""; String cx=""; String addtime=""; 本参考设计材料,包含项目源代码,屏幕录像指导、项目运行截图、项目设计说明书、任务书、报告书以及文献参考翻译等,完 整的设计文件及源代码,资料请联系68661508索要 更多相关参考论文设计文档资源请访问 int i=0; while(RS_result.next()){ i=i+1; id=RS_result.getString("id"); username=RS_result.getString("username"); pwd=RS_result.getString("pwd"); cx=RS_result.getString("cx"); addtime=RS_result.getString("addtime"); %> <% } %>
序号 用户名 密码 权限 添加时间 操作
<%=i %> <%=username %> <%=pwd %> <%=cx %> <%=addtime %> 删除
5.2.3 账户信息添加模块 该模块主要是通过管理员的操作实现账户基本信息的添加录入。需要用到账号、密码、姓名、性别、身份证号、地址、余额和状态等字段。账号、密码、姓名、身份证和余额为其中的必填信息,若其中有一项为填写,当点击提交按钮时,系统便会提示某项不得为空,请填写后再提交,这就保证了系统在录入账户信息时,避免了对账户信息重要数据的遗漏,便于对系统数据的录入和对数据的管理。该模块的操作界面如图5-3所示: 本参考设计材料,包含项目源代码,屏幕录像指导、项目运行截图、项目设计说明书、任务书、报告书以及文献参考翻译等,完 整的设计文件及源代码,资料请联系68661508索要 更多相关参考论文设计文档资源请访问 图5-3添加账户界面 此模块的实现代码如下: <%@ page language="java" pageEncoding="gb2312"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+ ":"+request.getServerPort()+path+"/"; %> <%@ page language="java" import="java.sql.*" %> 帐户信息
//添加账户信息表单 添加帐户信息:

帐号: *
密码: *
姓名: *
性别:
身份证: *
地址:
余额: *
状态:
备注:
 
5.2.4 用户取现模块 该模块主要针对普通账户,他们进入银行交易系统后可以输入取现金额,点击提交确认操作。普通用户登录系统之后,账号一栏便会自动提取到当前用户的账号,并显示在框中,用户只需输入所要提取的金额数量之后,点击确认即可。若是所取的数量大于账号中的余额,系统便会提示余额不足,请用户重新输入。此模块的操作界面如图5-4所示: 图5-4用户取现界面 此模块的实现代码如下: <%@ page language="java" pageEncoding="gb2312"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+ ":"+request.getServerPort()+path+"/"; %> <%@ page language="java" import="java.sql.*" %> 本参考设计材料,包含项目源代码,屏幕录像指导、项目运行截图、项目设计说明书、任务书、报告书以及文献参考翻译等,完 整的设计文件及源代码,资料请联系68661508索要 更多相关参考论文设计文档资源请访问 转帐记录
//取现表单 取现:

帐号:  *
取现金额:
 
本参考设计材料,包含项目源代码,屏幕录像指导、项目运行截图、项目设计说明书、任务书、报告书以及文献参考翻译等,完 整的设计文件及源代码,资料请联系68661508索要 更多相关参考论文设计文档资源请访问 5.2.5 查询余额管理模块 此模块主要针对普通账户对自己银行卡余额的查询,通过自己账户进入系统后,可 以看到自己的账户姓名和余额。用户进入系统后,账号、姓名、余额都会通过对后台数 据库中表信息的读取,显示到界面上,使用户对自己银行账号金额的情况一目了然,界 面简单,数据明显,方便了用户的读取与使用操作。此模块的操作界面如图5-5所示: 图5-5 用户余额查询界面 此模块的实现代码如下: <%@ page language="java" pageEncoding="gb2312"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+ ":"+request.getServerPort()+path+"/"; %> <%@ page language="java" import="java.sql.*" %> 帐户信息 <% String id=request.getParameter("id"); %>
查询余额:

<%//对数据库进行查询操作,得到账户信息 String sql="select * from zhanghuxinxi where zhanghao='"+request.getSession().getAttribute("username")+"'"; String zhanghao="";String mima="";String xingming="";String xingbie=""; String shenfenzheng="";String dizhi="";String yue="";String zhuangtai=""; String beizhu=""; ResultSet RS_result=connDbBean.executeQuery(sql); while(RS_result.next()){zhanghao=RS_result.getString("zhanghao"); mima=RS_result.getString("mima");xingming=RS_result.getString("xingming"); yue=RS_result.getString("yue");zhuangtai=RS_result.getString("zhuangtai"); beizhu=RS_result.getString("beizhu");} %>
帐号:
姓名:
余额:
5.2.6 账户明细记录模块 此模块主要针对普通账户查看自己的历史交易记录,可以查出转出账号、转入账号、 本参考设计材料,包含项目源代码,屏幕录像指导、项目运行截图、项目设计说明书、任务书、报告书以及文献参考翻译等,完 整的设计文件及源代码,资料请联系68661508索要 更多相关参考论文设计文档资源请访问 转账金额、备注信息、类型和操作时间信息。如果交易记录需要打印,可以点击“打印 本页”,将本页的交易记录打印出来。用户登录系统,进行完所需的银行交易,例如转 账或取现之后,点击“查看历史记录”,系统便可根据数据库中各个表的情况,读取其 中所需的数据显示在界面上,包括转出账号、转入账号、转账金额、备注、类型(取现 或转账)等信息,方便用户对自己交易记录的查询,并且知道自己金额的去向。此模块 的操作界面如图5-6所示: 图5-6用户交易记录界面 此模块的实现代码如下: <%@ page language="java" pageEncoding="gb2312"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+ ":"+request.getServerPort()+path+"/"; %> <%@ page language="java" import="java.sql.*" %> 转帐记录

我的交易记录列表:

本参考设计材料,包含项目源代码,屏幕录像指导、项目运行截图、项目设计说明书、任务书、报告书以及文献参考翻译等,完 整的设计文件及源代码,资料请联系68661508索要 更多相关参考论文设计文档资源请访问 <%//对数据库进行账户记录 String sql=""; sql="select * from zhuanzhangjilu where 1=1"; sql=sql+" and (zhuanchuzhanghao like '%"+request.getSession().getAttribute("username")+"%' or zhuanruzhanghao like '%"+request.getSession().getAttribute("username")+"%' )"; sql=sql+" order by id desc"; ResultSet RS_result=connDbBean.executeQuery(sql); String id=""; String zhuanchuzhanghao="";String zhuanruzhanghao=""; String zhuanzhangjine=""; String beizhu=""; String addtime=""; String leixing=""; int i=0; while(RS_result.next()){ i=i+1; id=RS_result.getString("id"); zhuanchuzhanghao=RS_result.getString("zhuanchuzhanghao"); zhuanruzhanghao=RS_result.getString("zhuanruzhanghao"); zhuanzhangjine=RS_result.getString("zhuanzhangjine"); beizhu=RS_result.getString("beizhu"); addtime=RS_result.getString("addtime"); leixing=RS_result.getString("leixing"); %> <% } %>
序号 转出帐号转入账号 转帐金额 备注 类型 添加时间
<%=i %> <%=zhuanchuzhanghao %> <%=zhuanruzhanghao %><%=zhuanzhangjine %> <%=beizhu %> <%=leixing %> <%=addtime %>

本参考设计材料,包含项目源代码,屏幕录像指导、项目运行截图、项目设计说明书、任务书、报告书以及文献参考翻译等,完 整的设计文件及源代码,资料请联系68661508索要 更多相关参考论文设计文档资源请访问 以上数据共<%=i %>条, 打印本页 6 系统测试 6.1 软件测试基本理论 6.1.1 软件测试 任何软件在发布之前都要经过测试,以保证软件是否完成了用户需求,是否达到了本参考设计材料,包含项目源代码,屏幕录像指导、项目运行截图、项目设计说明书、任务书、报告书以及文献参考翻译等,完 整的设计文件及源代码,资料请联系68661508索要 更多相关参考论文设计文档资源请访问 相关的质量标准。人们在软件开发过程中,日渐认识到软件测试的重要性,良好的测试过程不仅方便开发人员发现程序问题的出处,更重要的是保证在软件发布后的质量,也进一步有利于对软件的后期维护。这一过程也渐已形成行业,软件测试工程师在市场上很是火爆,需求也很大。可见,软件测试对软件行业的重要性。同时,我们应该对软件测试有一个正确的认识。软件测试是为了发现程序中的错误而进行的过程,并不是说测试过程中没有发现错误就是好的,而是发现出问题才更有效的达到了测试的目的,以防止产品在投入使用之后才发现漏洞,造成经济损失与精力浪费。其次,测试方案对测试阶段工作的完成起着重要作用。好的测试方案被定义为极可能发现没有发现的漏洞的方案。有经验的编程人员和测试人员会总结出一些好的测试方案,这些有利于缩短工作时间,提高了测试效率。再次,没有发现漏洞的测试其实也是很有价值的,他们是完整的测试,是评定软件产品质量的一种方法,值得人们借鉴和采用。 6.1.2 软件测试工程师 软件测试工程师不仅仅只是指能够测试出软件的错误,理解产品的需求,并且更专业的来说,应该是能够写出相应的测试规范和测试用例的专业人员。他们相当于软件企业中的质量管理人员,及时对软件产品进行监督与检查,发现错误,提示程序员及时对软件进行修改,最终保证产品的正常运行。 软件测试工程师可以按期级别和职位的区分而分为初级软件测试工程师、中级软件测试工程师、高级软件测试工程师。初级软件工程师一般做些基础性的工作,例如按照一定的测试方案和流程对软件产品进行测试,这类测试大多是以用户的身份进行功能性测试,以此最直观、最快捷的方式检查软件产品中是否存在缺陷与不足,找出漏洞与需要改进的地方。对于稍高层次的中级软件测试工程师,他们已经从初级阶段走了,有了一些在测试方面的实际工作经验,对软件产品中哪些模块可能会出现什么缺陷也有了一定的了解。因此,他们主要的任务是根据自己的经验编写完善的软件测试方案和相关的测试文档,并且与项目组成员一起商定完美的软件测试阶段的工作计划安排,合理把握软件测试相关任务,能够使用合适的测试工具完成测试任务。更高层次上,是高级软件测试工程师的任务。他们不仅需要熟练掌握各类软件测试和软件开发技术,并且更应从宏观层次上把握软件测试行业的发展趋势与动态,以便能够对以后可能出现的问题进行正确的评估和分析。看似简单的软件测试工作,其实需要软件测试人员的创新能力与综合分析能力,工作中保持高度的耐心和责任心,执着认真、追求完美,并且还应具备大量的编程经验与发现问题的能力。 6.1.3 软件测试基本原则 软件测试需要遵循一些基本的原则,以便更好的完成测试工作。测试最好应该在需求阶段就开始进行,因为如果最后才发现产品其实并不能够满足用户的需求,这将会是最大最严重的错误。一个正规的软件企业不会将软件测试的任务全权委托给程序员自己进行,因为程序员本事身难发现自己所编程序的错误,软件测试的工作应该由正规的软件测试部门来进行,保证产品的质量。对于测试时用例的选取既要考虑到合法的输入,又要保证有不合法的输入和边界条件。若软件测试人员发现到了软件的错误,应该由其编程人员进行确认。若是遇到严重的错误,编程人员都无法确认的,则需要评审会集体本参考设计材料,包含项目源代码,屏幕录像指导、项目运行截图、项目设计说明书、任务书、报告书以及文献参考翻译等,完 整的设计文件及源代码,资料请联系68661508索要 更多相关参考论文设计文档资源请访问 进行分析和讨论,进行严格的确认,保证这个错误的严重程度是否真的影响产品。一个严格的软件测试计划,会使繁琐的测试工作事半功倍,该计划需要有一定的指导性。对于测试时间的安排应该合理,按要求按步骤有条不紊的进行,以求达到一个尽量完美的测试。应该严格执行测试计划,排除测试的随意性。测试计划包括:所测软件的功能,输入和输出,测试内容,各项测试的进度安排,资源要求,测试资料,测试工具和测试用例的选择等等,还应包括测试的控制方式和过程,测试的评价标准等。对于测试计划,要明确规定,不要随意解释。同时,还需要注意的是,测试过程中的测试计划、测试用例、错误统计、分析报告等文档,应该妥善的保存起来,为今后的软件维护提供依据和方便。并且,这些测试计划和用例的文档很有用,如果发现某一程序模块似乎比其他程序模块有更多的错误倾向时,则应当花费较多的时间和代价去测试该程序模块,节省了测试精力。 6.1.4 软件测试分类 测试方式有很多种。按其是否注重软件具体实现的功能和软件内部结构划分可以分为白盒测试、黑盒测试和灰盒测试。按其测试过程是否需要执行程序的角度可以分为静态测试和动态测试。若从软件开发的过程按阶段划分则有单元测试、集成测试、确认测试、系统测试和验收测试。 6.2 软件测试过程 经过大量前人的总结,现在我们已经基本形成了一套基本的软件测试过程。基本分为四个阶段:单元测试、集成测试、系统测试和最后的验收测试。 6.2.1 单元测试 单元测试中又可以根据自身情况去采用静态测试或者动态测试,或者索性两者结合起来一起使用。静态测试相对常见,也就是通过人工结合文档检查代码,审查代码的逻辑、风格、规则是否符合相关规范。如果面对复杂的问题,静态测试往往工作效率低,浪费时间,且查找的错误相对少,很容易忽略软件中潜在的错误。为了解决这一问题,我们还可以采用动态测试。动态测试一般是测试人员通过测试工具进行测试,或者通过运行程序直观的得出结论。这样,不仅提高了工作效率,重要的是更容易发现错误,是测试工作系统化、完整化、规范化。 6.2.2 集成测试 集成测试,顾名思义是将各个模块集合起来进行的测试。主要检查模块间接口是否满足相关的规范,且尽量达到高内聚低耦合的要求。这一过程需要参考规格说明书中的需求进行测试,看软件体系是否满足要求。单元测试可以由开发人员进行,集成测试一般由专门的软件测试人员或部门进行。因为这个阶段需要有准备计划的进行,因此测试人员的主要任务还应包含对测试工作的设计、执行和总结。在测试过程中需要有缺陷记录,发现缺陷,修改缺陷,然后进行回归测试,为下一步的系统测试打牢基础。 本参考设计材料,包含项目源代码,屏幕录像指导、项目运行截图、项目设计说明书、任务书、报告书以及文献参考翻译等,完 整的设计文件及源代码,资料请联系68661508索要 更多相关参考论文设计文档资源请访问 6.2.3 系统测试 系统测试则是在上述两步完成之后将软件置于模拟的现实情况下进行测试,把已经经过确认的软件纳入实际运行环境中,与其他系统成分组合在一起。这一阶段主要检查系统是否和软硬件、网络、用户计算机配置、操作系统等相连接,能否在用户的要求上运行。 6.2.4 验收测试 验收测试则是在专门的测试人员测试完系统,保证可以交付给用户时,由用户验收时所做的测试。他们真正的对系统进行操作,测试人员配合检查,做出错误分析,改进系统,并生成总结报告。最后,由用户验收成功。 6.3 本系统测试实例 在该银行交易系统中,包含管理员和普通账户模块,具体又有账户添加、账户查看、转账、取现、备份、交易记录等子系统,用于银行交易日常运作的整个过程,各个子系统相互关联,因此可以采用安装先单元测试,再集成测试,然后系统测试,最后整体验收测试的步骤进行。且这样进行,降低了测试难度,节省了测试时间。下面列举了该系统测试时的部分实例: 1.对于登录模块,我们需要验证用户身份。当用户名是“admin”,密码是“admin”时可以进入管理员模块。若其中之一发生错误,系统即可提示“你输入的用户不存在或密码错误,或帐户处于挂失状态,请重新登录!”。管理员可以添加普通用户,例如有普通账户名称为“2010004579”,密码为“2010004579”,则当输入时便会进入普通账户模块,这个模块中只有交易模块和更改自己信息模块。 2.对于密码用户的密码修改模块,当用户输入密码,但未在“确认密码”再次输入密码时,若点击“确认”,系统会提示“请输入确认密码”;若“新密码”与“确认密码”输入不一致时,若点击“确认”,系统也会有提示“两次输入密码不一致”。 3.对于挂失模块,若管理员点击“挂失”时,可看到普通账号的状态由“正常”改为“挂失”,并且该账号进入系统时,系统会提示“你输入的用户不存在或密码错误,或帐户处于挂失状态,请重新登录!”。若将挂失的账号解冻,普通账户的状态会由“挂失”改为“正常”,并且可以进入系统。 4.对于用户交易模块,若从取现模块中交易了100,则在交易记录中便会显示取现100的信息;若从转账模块中交易了100,则在交易记录中便会显示转账100的信息,并且会显示出转入账号和转出账号。 5.对于用户交易模块中,若取现金额或转账金额大于本身账号的余额,系统便会认为这是错误操作,会提示“对不起,余额不足,操作失败~~”。 6.对于超级管理员模块中,若超级管理员将普通管理员的信息删除,便会将该普通管理员对系统的权限收回。当该普通管理员想进入系统时,系统会提示“你输入的用户不存在或密码错误,或帐户处于挂失状态,请重新登录!”。 本参考设计材料,包含项目源代码,屏幕录像指导、项目运行截图、项目设计说明书、任务书、报告书以及文献参考翻译等,完 整的设计文件及源代码,资料请联系68661508索要 更多相关参考论文设计文档资源请访问 6.4 系统整体测试 在进行完单元测试和集成测试之后,为了保证系统正确无误的运行,还要进一步进行多次整体测试。从用户登录到中间的各项功能模块的测试,直至最后退出系统,保证不会出现功能错误和性能错误。这一阶段需要参考用户需求分析进行仔细对照,检查是否确实完成了用户需求,验证软件产品是否与系统需求用例不相符合或与之矛盾,确保软件系统测试活动及其结果及时通知相关小组和个人,保证将系统完美的交付给用户使用。当然,这之后还应不定期的根据需要对系统进行跟踪维护,保证系统的寿命。 6.5 不足与改进 由于时间比较紧张,所学知识有限,在系统设计过程中难免出现不足。比如系统界面设计的虽然简单明了,但是不够美观,只用了myeclipse做背景处理,如果时间充足用photoshop会更好些;又比如在信息录入时,数据规范比较宽松,在真正的银行交易系统中,这些需要进一步加强。 结论 本文主要通过对银行交易系统的背景掌握和调查分析,逐步了解了该系统在银行业务处理过程中的作用以及流程,并切身感受到银行交易系统对银行业务的重大影响。一个全面高效且具有人性化的银行交易系统往往影响着银行的办事效率,从而影响整个金融界的发展。 本参考设计材料,包含项目源代码,屏幕录像指导、项目运行截图、项目设计说明书、任务书、报告书以及文献参考翻译等,完 整的设计文件及源代码,资料请联系68661508索要 更多相关参考论文设计文档资源请访问 在开发此银行交易系统过程中,我将大学的一些基础课程的理论与实习时所获得的实践能力相结合,使得自己不仅巩固了基础知识,更是提高了自己的编程技巧。尤其在JSP编程方面,从单独的网页制作到模块关联,再到最后系统整合,将以前所学真正的融会贯通,开发能力有所提高。除了JSP,一个重要的应用就是在数据库方面,扎实了SQL语句基础,领悟了数据库使用的实质,特别对数据库的存储过程有了深一步的认识与应用,这些是课本上吸取不来的。同时,该系统模块完成过程中还涉及到软件工程导论中软件测试的一些方法,将理论用于实践,是提高自己的绝对途径。 由于这次是系统的完成一个项目的开发,发现了很多以前未重视的问题,并且在开发过程中有了些项目经验。比如,在设定系统课题后,不应急于进入编程阶段,对系统进行需求分析、总体设计、模块设计、界面和数据库如何设计业同样重要。这些都是为之后的编程奠定基础,前面的一系列活动编写成文档,才能在编程过程中目标明确,节约开发时间,提高开发效率。重要的是在软件测试阶段,先前的软件需求分析更是尤为关键。 该系统基本实现了银行交易系统需要的功能,比如管理员模块、普通账户模块、交易记录模块、转账和取现模块等。在以前知识的基础上,使得这次系统有了很好的可扩展性,便于后期的维护和升级。但是也存在一些问题,毕竟时间精力和知识有限,页面不够人性化,过于单调,数据完整性和安全性有所欠缺,都是值得改进的地方。 随着经济的发展,人们生活水平的提高,银行将会随处可见,影响我们生活的方方面面。比如可以将网络应用于银行,实现现金直接通过无形的交易方便我们出行娱乐等。这些功能都值得我们去进一步加强。 参考文献 [1]张永常.Java程序设计实用教程[M].北京:电子工业出版社,2006.8 [2]柳西玲.许斌编著.Java语言应用开发基础.北京:清华大学出版社,2006 [3][美]Cay S. Horstmann、Gary Cornell. Java核心技术卷I:基础知识(第8版)(英文影印版).人民邮电出版社,2008.11 本参考设计材料,包含项目源代码,屏幕录像指导、项目运行截图、项目设计说明书、任务书、报告书以及文献参考翻译等,完 整的设计文件及源代码,资料请联系68661508索要 更多相关参考论文设计文档资源请访问 [4]陈国君等编著.Java2程序设计基础.北京:清华大学出版社,2006 [5][美]Bruce Eckel. Thinking In Java.英文第4版.北京:机械工业出版社,2007 [6]朱喜福等编.Java程序设计.北京: 人民邮电出版社,2005 [7]袁然、郑自国、邹丰义著.java案例开发集锦.电子工业出版社,2005.9 [8]严明Oracle教程.苏州:苏州大学出版社,2010.11 [9]林信良. JSP & Servlet学习笔记[M].清华大学出版社, 2012.5 [10]孙卫琴. Tomcat与Java web 开发技术详解[M].第2版.电子工业出版社, 2009.1 [11][美]Herbert Schidt著.Java参考大全.鄢爱兰.鹿江春译.北京:清华大学出版社,2006 [12]宛延闿等编著.实用Java程序设计教程.北京:机械工业出版社,2006 [13]Chen,Li; Foster, Steven; Le, Hoai.Concepts Vs. programming skills in java learning. ASEE Annual Conference Proceedings, p 805-814, 2003 [14]Anonymous.QNAP announces beta version of multimedia player solution for Android platforms.Worldwide Computer Products News,2010 [15]Shawn Every.Pro Android Media[M].State of California: APRESS,2009 致谢 这次毕业设计的完成,标志着我大学四年的美好并且难忘时光也已接近尾声。 本参考设计材料,包含项目源代码,屏幕录像指导、项目运行截图、项目设计说明书、任务书、报告书以及文献参考翻译等,完 整的设计文件及源代码,资料请联系68661508索要 更多相关参考论文设计文档资源请访问 首先感谢母校给了我一个很好的学习机会,三年的在校经历,每天老师们的谆谆教诲,认真授课为我的理论知识奠定了良好的基础,将会使我在以后的工作生活中受益匪浅。 再次更应感谢上海杰普提供的大四学习机会,这次毕业设计的完成仅有学校的理论知识是远远不够的,重要的是大四这年在杰普学到的实践能力,提高了我们的编程技巧,增加了我们对编程的兴趣。比如李娜老师,任青松老师都对我们耐心讲课,手把手教会我们如何搭建环境,如何高效编写代码等。 最后特别感谢冯秀芳老师、任青松老师、罗成果老师对我设计过程中的指导,为帮助我顺利完成毕业设计投入了自己的时间和精力。 外文文献 An Environment for Self-Assessing Java Programming Skills 本参考设计材料,包含项目源代码,屏幕录像指导、项目运行截图、项目设计说明书、任务书、报告书以及文献参考翻译等,完 整的设计文件及源代码,资料请联系68661508索要 更多相关参考论文设计文档资源请访问 in Undergraduate First Programming Courses Abstract In this paper we propose a new environment for allowing students of a first programming undergraduate course to test their Java code. This environment allows the student to learn the basics of the Java language without necessarily knowing the object-oriented features of the language itself,and the teacher to propose new tests by making use of a graphical test editor. Moreover, the client-server architecture of the web-based version of the environment is designed so that the student does not even need a Java virtual machine on its computing device, but only a web browser. This latter feature makes our environment a useful tool for ubiquitous testing of Java programming skills. 1. Introduction A continuously growing number of undergraduate first programming courses use Java as the first programming language,recognizing this language’s role in the development of web-based systems and the emerging prominence of the object-oriented approach to software development (see, for example, [4]). There is no doubt that the principal features of object-oriented programming are of great benefit when it comes to constructing large software systems, but it is a long journey from the first programming course to the construction of such systems. For this reason, several educators argued that it is better to introduce students to structured programming before turning to object-oriented programming and to other approaches that are beneficial for programming in the large (see, for example, [2]). Motivated by the apparently contrasting desire of using Java as the first programming language and of following the ―structured programming before object-oriented programming‖ approach, a simple application, called JavaMM (or, equivalently, Java--), has been developed at the Department of Computer Science of the University of Florence.This application allows the students to familiarize themselves with the basic structures of the Java 本参考设计材料,包含项目源代码,屏幕录像指导、项目运行截图、项目设计说明书、任务书、报告书以及文献参考翻译等,完 整的设计文件及源代码,资料请联系68661508索要 更多相关参考论文设计文档资源请访问 programming language and with the basic notions of structured programming, without having to bother with issues related to object-oriented programming from the very beginning of the course. A detailed description of Java-- (along with a survey of existing tools for teaching Java) can be found in [1]: The application itself is freely available starting from the Java-- home page (see [9]). Java-- has been successfully used since 2002 within the first programming course of the degree program in Computer Science: In particular, the tool has been used during the first month of the course,while successively the students have been introduced to a more sophisticated IDE (such as JCreator LE [10]). According to the survey compiled at the end of the course, the students seemed to appreciate the tool: Only one student over almost one hundred complained about Java--, without specifying the reasons of the complaint. Moreover, the number of students that passed the exam at the end of the first edition of the course, in which Java-- was used, increased by more than 40% with respect to the previous edition. In this paper, we propose an extension of Java-- that includes a self-test exercise component, which allows students to test their knowledge of the Java language by writing and checking the correctness of a method performing a specific required task. This file contains the specification of the method to be tested, the specification of a correct implementation of the method, and the specification of how the test input has to be chosen. The checker interprets the XML file in order to compare the result of the submitted method with the correct method on the specified input. Subsequently, it generates either an error message specifying the input that caused the error or a message stating that the test has been passed.From the teacher point of view, we have developed a graphical tool that allows the user to easily generate new tests, that is, to create the XML file associated with a test (of course, the teacher has to write and compile the Java code containing the correct implementation of the method to be tested).Most of the textbooks on Java programming make use of several different kinds of self-test exercises. Moreover, several authoring programs enables teachers to make (Web-based) interactive teaching materials based on these exercise-types: An example of such programs, available both for Windows-based and for MacOS-based computers, is the set of Hot Potatoes 本参考设计材料,包含项目源代码,屏幕录像指导、项目运行截图、项目设计说明书、任务书、报告书以及文献参考翻译等,完 整的设计文件及源代码,资料请联系68661508索要 更多相关参考论文设计文档资源请访问 applications (see [8]).However, as far as the authors know, no tool is available to generate Java code-writing exercises that allows the students to verify that their solutions is semantically (not only syntactically) correct. In [7] a test-first approach to programming and to learning is described: To this aim the author first uses an ad hoc framework, and then uses JUnit. His extreme teaching approach, however, is based on the assumption that objects really need to come first, while, as we said before, our approach assumes that structured programming comes before object-oriented programming. For this reason, we decided to integrate the Java-- with the self-test exercise component (of course, our tool can be also used within a Java course where objects are taught first).In the paper, we also propose a web-based client-server version of Java-- (including the self-test exercise component) that allows the students to make use of this tool by means of basically any web browser, without even needing a Java virtual machine. In particular, the proposed environment consists of two main ingredients. From the client point of view, there are static HTML pages, which allows the user to write Java code, to submit the code to a Java compiler, to see either the compilation errors or the standard output messages, and to test the implementation of a specified method. From the server point of view, there is a collection of servlets (for an introduction to servlets, see [3]), which receive and compile Java codes, and generate either error or standard output HTML pages. The main advantage of this approach is the fact that the client software requirements are extremely light, and basically any currently available mobile computing device can be used in order to utilize the Java-- tool (of course, standard computers can also be used. . . ). In other words, this environment turns out to be a useful tool for ubiquitous programming and learning Java.The paper is structured as follows. In Section 2, we describe the structure of the XML file that specifies a test, and we briefly describe the graphical tool that allows to generate this XML file. In Section 3, instead, we describe the component of Java-- that allows the student to execute one test, while in Section 4 we introduce the software architecture of the web-based client-server version of Java--. Finally, in Section 5 we present some preliminary evaluation results regarding the effectiveness of the Java-- tool, while in Section 6 we propose some directions for future research and developments. 本参考设计材料,包含项目源代码,屏幕录像指导、项目运行截图、项目设计说明书、任务书、报告书以及文献参考翻译等,完 整的设计文件及源代码,资料请联系68661508索要 更多相关参考论文设计文档资源请访问 2. The test specification Each test in our framework consists of checking the correctness of a method implementation. Thus, a test is described by specifying the signature of the method, that is, the name of the method, the type of its returned value, and the list of the types of its parameters. Since our target is to deploy a self-test tool for undergraduate students of a first programming course based on the ―structured programming before object-oriented programming‖ approach, in the first version of our program we have decided to allow only a subset of primitive data types, the String class type, and arrays of these types. In particular, the returned values and the input parameter can be int, double, char, boolean, String, or an array of any of the previous types. The document type definition (DTD) associated with the XML file containing a method specification is the following one: Note that, besides the signature of a method, the above DTD file contains some more elements. In particular, a test description has to specify the name of the class that contains the correct implementation of the method, which has been coded and compiled by the teacher. Moreover, the test can be performed on fixed values of the parameters, on random values of the parameters, or on a combination of fixed and random values: In the case of randomly chosen input values, the test description has to specify the range within which the random values have to be chosen. Finally, in the case of randomly chosen values, the test can specify how many times it has to be performed.As an example, let us suppose that we want to test the 本参考设计材料,包含项目源代码,屏幕录像指导、项目运行截图、项目设计说明书、任务书、报告书以及文献参考翻译等,完 整的设计文件及源代码,资料请联系68661508索要 更多相关参考论文设计文档资源请访问 implementation of a method maxBetweenTwo, which is supposed to return the maximum between two input integer numbers: ?10 and 10. Moreover, suppose that the correct implementation of this method is contained in the class Maximum. Then, the XML file specifying such a test is the following one: 1 Maximum INT INT ?10 INT 10 The XML files containing the specification of a test can be manually created by the teacher: However, a simple graphical interface has been developed in order to support this task. Once the test has been specified, the teacher has to write and compile the class containing the correct implementation of the method. In our example, this class might be the following one: 本参考设计材料,包含项目源代码,屏幕录像指导、项目运行截图、项目设计说明书、任务书、报告书以及文献参考翻译等,完 整的设计文件及源代码,资料请联系68661508索要 更多相关参考论文设计文档资源请访问 public class Maximum { public int maxBetweenTwo( int a, int b ) { return a>b?a:b; } } Finally, the teacher can associate with the test a natural language description of the test itself (to be included in the file description.txt) and a code template of the method that the student has to code (to be included in the file template.txt). In the example of the maximum between two integers, the description might be ―Write a method, called maxBetweenTwo, that, given two integers, returns the maximum between them‖, while the code template might be the following one: int maxBetweenTwo( int a, int b ) {} 3. The test execution Figure 1 shows the interface through which the student can execute a test (all the other functionalities of the JavaMM program are described in [1]). As shown in the first picture, the student can choose one test among all those that have been specified by the teacher (in our case, there are three tests available). Once the student has chosen a test, the corresponding code template and description text are shown in the code and in the test description panel, respectively (as shown in the second and in the third figure).At that point, the student has to write the code that implements the method: This code can finally be tested by clicking on the Test button. If the implementation is correct (or at least passes the test), a confirmation message is shown in the Output panel, otherwise a failure message is shown in this panel (we are assuming that the code written by the student is syntactically correct, since otherwise a compilation error would appear in the Errors panel). The failure message also specifies the name of the method, the value of the input parameter that caused the failure, the expected result, and the obtained result (see, for example, the last picture of Figure 1 where the test failure is due to the fact that the body of the method maxBetweenTwo contained the instruction return a 注意,除了方法的签名,上面的DTD文件包含更多的元素。特别是,一个测试描述指定类的名称,包含正确的实施方法,编码和编制的老师。此外,测试可以执行固定值的参数,参数的随机值,或固定和随机值的组合:在随机选择的输入值的情况下,测试描述指定的范围内随机值必须选择。最后,在随机选择的值的情况下,测试可以指定要执行多少次。作为一个例子,让我们假设我们想要测试的实现方法maxBetweenTwo,它应该返回两个输入之间的最大整数数字:?10和10。此外,假设的正确实现该方法包含在类最大。然后,XML文件指定这样的测试是下列之一: 1 Maximum INT INT ?10 INT 10 XML文件包含测试的规范可以手动创建老师:但是,一个简单的图形界面开发为了支持这项任务。一旦测试已指定,老师必须编写和编译的类包含正确的实现方法。在我们的例子中,这个类可能是下列之一: public class Maximum { public int maxBetweenTwo( int a, int b ) { return a>b?a:b; } 本参考设计材料,包含项目源代码,屏幕录像指导、项目运行截图、项目设计说明书、任务书、报告书以及文献参考翻译等,完 整的设计文件及源代码,资料请联系68661508索要 更多相关参考论文设计文档资源请访问 } 最后,老师可以与测试测试本身的自然语言描述(包含在文件description.txt)和一个代码模板的方法,学生必须代码(包含在文件template.txt)。在两个整数之间的最大的例子中,描述可能“编写一个方法,称为maxBetweenTwo,给定两个整数,返回它们之间的最大”,而代码模板可能是下列之一: int maxBetweenTwo( int a, int b ) {} 3.测试执行 图1显示了界面,学生可以通过执行测试(JavaMM项目的所有其他功能[1]中描述)。第一张图片所示,学生可以选择一个测试在所有那些被老师指定的(在我们的例子中,有三个测试可用)。学生选择一个测试后,对应的代码模板和描述文本中所示的代码和测试描述面板,分别(第二和第三图所示)。在这一点上,学生必须写代码实现方法:这段代码最终可以通过单击Test按钮进行测试。如果实现是正确的(或至少通过测试),确认消息输出所示面板,否则失败消息显示在这个面板(我们假定代码写的学生在语法上是正确的,因为否则编译错误出现在错误面板)。失败消息还指定方法的名称,输入参数的值导 预期的结果,获得的结果(见,例如,最后画的图1测试失败是由于身体的方法致失败, maxBetweenTwo指令返回一个包含
/
本文档为【银行交易系统的设计与实现】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索