基于JSP的健身俱乐部会员管理系统的设计与实现

news2024/11/15 10:00:40

【免费】基于JSP的健身俱乐部会员管理系统.zip资源-CSDN文库icon-default.png?t=N7T8https://download.csdn.net/download/JW_559/89416957

基于JSP的健身俱乐部会员管理系统的设计与实现

摘  要

目前我国虽然己经开发出了应用计算机操作的健身俱乐部管理系统,但管理软件,管理方法和管理思想三者往往相脱节。造成我国健身俱乐部信息管理系统极端化的缺陷。在国外健身俱乐部已经有了一整套涉猎了人力资源开发和管理,市场销售,广告制作投放计划到健身项目规划的管理系统,由此可见国外拥有了更加全面具体强大的俱乐部管理系统并已投入了使用并为其带来了巨大利益。

设计与实现信息管理系统要根据俱乐部对顾客及其员工管理的实际情况来设计。能更好的方便俱乐部对顾客、员工和健身设备进行集中的管理工作。本信息管理系统包括的功能为:修改登录密码、工作人员管理、会员卡类型管理、会员资料管理、健身器材管理、教练执教管理、安全退出系统。

本系统的发展适和了健身俱乐部的自动管理需求,经过对现实的需求探讨,本系统采用了JSP和MySQL数据库管理系统作为基础工具进行开发。运用了B/S的3层结构模式和瑞典MySQL AB公司开发的MySQL数据库,并在设计初期。首先,完成了数据库系统的搭建,在设计中录入了一些数据;其次,完成了数据库、开发环境软件和运行环境软件的衔接并最终实现了本系统的运行。JSP拥有Java语言“一次性编写,各处都能运行”的特点,用JSP为基础做成的这套俱乐部管理系统可以轻松移植到任何的平台进行运行。所以用JSP来开发是完全可行的。

关键词:健身中心JSPB/S结构

Design and Implementation of Fitness Club Membership Management System Based on JSP

Abstract

Although our country has developed a fitness club management system application of computer operations, but management software, management methods and ideas of the three phases are often disjointed. Cause of extreme fitness club information management system of the defects. Fitness club in a foreign country has been set forays into human resource development and management, marketing, advertising plans to launch a health project planning management system. Thus abroad have a more specific and comprehensive management system and powerful clubs have been put into use and its enormous benefits.

Design and implementation of information management systems to be designed according to the club management to customers and its employees actual situation. To better facilitate the club for customers, employees and fitness facilities for centralized management. The information management system includes functionality for: modify login password, member type management, staff management, member information management, fitness equipment management, coaching management, safe withdrawing.

The system is suitable for the development of automated management needs and fitness club, after the demand for the real discussion and MySQL database management system as a the system uses the fundamental tool development. The use Sweden MySQL AB of the  B/S three-layer structure model and developed in MySQL database and the early stages of design. First, build a complete database system, input some data in the design; secondly, finished databases software development environment and run time environment software interface and ultimately the operation of the system. JSP has the Java language, "once written, everywhere can run" features, based on JSP made of this club management system, you can easily migrate to any platform for running

Key words: Fitness center, JSP, B/S structure

第一章 绪论

随着计算机科学与技术的迅速发展,微机技术己经涉及到了人们生活和工作中的每一个角落,与之而来的高性能、高效率的计算机软件给其他各行各业的技术更新和科技革命都起到了推动的作用。

健身一种体育项目,尤指包括徒手或用器械的体操,体操可以增强力量、柔韧性、增加耐力、提高协调、控制身体各部分的能力,从而使身体强健。如今社会,很多人都长期处于紧张的环境压力。例如,面临高考升学、商务应酬、企业经营、人际交往、职位竞争等社会活动。所以,没有过多的时间进行运动,而进入亚健康状态。而健身俱乐部的出现,可以使人们用少量的时间来系统的、专业的锻炼身体,使人们获得健康。健身俱乐部的发展适应人们需求,所以俱乐部也需要更好的信息管理系统来帮助俱乐部管理,俱乐部有了发展,人们就能更好的利用时间进行锻炼。

如今的欧美国家,健身己经不是追求时尚,而是获得健康的方式。它己经逐步走入人们的生活,成为生活必需品。越来越多的人也开始接受健身这种活动。而健身俱乐部发展的也越来越迅速。在我国,俱乐部的数量和质量都远远落后于欧美等国家。在经济快速发展的同时,人们的生活水平也在不断的提高,所以越来越多的人对通过健身来锻炼身体的意识也越来越强。花在这上面的费用和时间也越来越多。所以,中国的健身业己经蓬勃发展,在北京,就出现了很多的著名俱乐部。

开发该健身俱乐部信息管理系统的目的是使健身俱乐部的工作效率得到提高。只要根据俱乐部对顾客及其员工管理的实际情况来设计就能更好的方便俱乐部对顾客、员工和健身设备进行集中的管理工作。

    1.  课题背景

中国加入WTO之后,越来越多的世界级企业和集团进入中国市场,加速了我们的经济发展,同时也对本土的企业和集团公司带了很多挑战,相对陈旧的低效率的企业管理体制己经不能适宜新的市场竞争的需要,为了能够适应新的挑战,利用企业局域网对企业资源进行合理利用,使企业管理规范化、科学化己经成为一种必然的趋势。企业管理系统的迅速发展改变了传统的管理手段,随着我国经济不断的持续发展,人民生活水平的的提高,也提高了管理效率,健康也就成为了人们追求高质量生活中十分关心的问题。科学高效的健身项目越来越受到广大消费者的青睐和认可,各种专业的健身俱乐部会所的出现为追求科学高效的人们提供了有利条件。

经调查,我国当前健身俱乐部会所拥有超过数万家,规模有大也有小,相对比较出名有中体倍力和青鸟等健身俱乐部,他们拥有学习国外的先进健身俱乐部管理经验以及利用Internet网等先进计算机技术,使得自己的业务由单一的通过俱乐部平台面向广大客户上升到了客户足不出户就可以享受到专业新闻的指导和科学健身知识,方便了客户的利益也在同行业中成为了佼佼者,他们的成功不仅归功于科学管理还要归功于计算机网络带来的便利,这是利用计算机软件及网络技术扩大其业务成功的典范,但是国内健身俱乐部应用这种模式的运营的又有多少呢?其实并不多,大多健身俱乐部的管理模式和业务交流还停留在传统的,低效率的用人管理的阶段,现代管理的需求致使人工管理模式己经越来越不能满足,一方面是因为每天的客户量越来越多,手工处理的方式避免不了会在业务和财务等方面上出现短板,给客户和俱乐部带来了不必要的麻烦,于此同时也给俱乐部的经营和管理带来了很多弊端;另一方面经营者也经常会由于财务管理和会员的管理而感到“头痛”,随着俱乐部的经营规模的不断壮大,上面的问题会越来越明显,一定会成为俱乐部发展的绊脚石。无论规模大小,各个健身俱乐部为了更好的生存和发展就必须在管理模式上引进先进的管理软件系统,从而在会员管理,会员管理,产品管理,新闻管理,项目管理,及活动管理等方面提高和改善了手工方式所不能达到的效果和价值。

将计算机管理应用在健身俱乐部的管理中也是近年来随着计算机被广泛的应用于各行各业之中的一个典范。健身俱乐部管理此外,一个集成开发和管理公司在每个主要部分(自、项目产品,活动)代表更先进的管理理念和管理方法健身对现代化管理的重要工具,这房子我们健身房越来越广泛的应用。

目前健身俱乐部会所的计算机管理水平还是很低,我也曾实地走访过几家健身俱乐部,他们的计算机应用是处在刚刚起步时的使用阶段,但是俱乐部采用计算机软件管理业务、财务和活动记录等诸多问题即将成为健身俱乐部会所和其他相关企业发展的必然趋势和必不可少的工具。 

    1.  课题研究的目的和意义

中国2008奥运会成功举办,全民健身的热浪一浪高过一浪,最近这些年,各种层次、类型的健身俱乐部在全国各地不断的发展起来。这象征着中国体育基制改革逐步向纵深的方向发展,基层的体育组织机构正在不断的发生改变,制度的创新不断出现。健身俱乐部的不断兴起受到全国各界人民的欢迎。随着社会不断的进步,人民的富足,城市化发展的加速,越来越多的占地被高楼大厦所取代,加之环境的恶化和工作节奏的加快,高效科学的健身俱乐部逐渐被广大消费者所认可,为向广大消费者提供专业的健身服务,实施专业化、科学化的管理是俱乐部共同追求的目标。作为经营者,应该培养市场意识,将工业与健身行业相结合,建立自己的管理系统,在硬件上达到一定的高度,在软件上要有自己的一套管理模式。只有具备了高效地管理、个性化的服务,才会使这个行业有更长远地发展。

在当今这个人民素质逐渐提高、社会经济不断发展的时代,网络技术己经进入高速的发展时期,信息化的时代变革给所有的领域不断带来新的机会。跟着电脑办公自动化的普及,公司的自动化管理、顾客的自动化管理出现了,这全都都归功于电脑发展的巨大奉献,网络的世界里蕴藏着无数的生机,这只有你想不到的事情,没有你做不到的。

计算机的办公自动化己经将管理从传统模式解放出来,但只是作为一个机器对它来说是一种巨大的浪费,由计算机联合所组成的互联网正在改变整个管理思路与体系。他可以实现单位管理最根本的需求:投入最少的资源做最有效率的工作。将计算机装备起来,然后根据自我的管理理念,顾客信息管理不但需要创造一个全新的客户数据管理与事业关系管理系统,而且还要将它放在最前面,换掉经营者的以前的大部分办公程序,将会更大程度的减轻管理者的工作任务,提高事业人员的管理效率,用一个更加优秀可靠的事业形象呈现在客户们的面前,并且在客户资料的收集、统计等方面更加的快速,更能迅速有效的予给管理者参考。这些都为我们开发这样的软件提供了良好的条件,使经营现代化、科学化成为可育昌。

随着北京奥运会申办成功,人们的健身意识不断增强。物质和意识的双重保障便注定了中国健身业的发展会越来越好,而这正是一个管理公司得以生存并发展的基础。现在中国健身行业的发展现状差不多和国外20年前一样,国内俱乐部的历史只有短短四五年,经营者在管理上没有丰富的经验。我们正好可以利用国外成熟的经营管理经验来为中国健身产业服务并促进其发展。管理公司虽然引进国外的管理系统,但由于国情的不同,所以经营模式和数据不能照搬,而是借鉴过来适应国内的具体需要。即使是一套管理标准,在不同的地方,不同的俱乐部,也要配合其具体情况而定。

目前,国内己研究开发了一些健身俱乐部的管理软件,比较突出的有贝尔健身俱乐部管理软件、飞跃健身俱乐部管理软件、飞扬健身俱乐部管理软件等,这些软件的功能较为全面,涉及了客户、经营者、会员等的多方面的管理,使俱乐部的经营管理更为科学化、技术化,方便化。现在国内较为出名的大型健身俱乐部例如中体倍力,青鸟都建立了较为完善的基于C/S模式的网络管理机智,是百姓可以足不出户就可以想享受到网络带来的方便快捷的专业的健身指导和服务。

另外,随着信息技术的日益成熟和普及,健身行业的不断发展和盛行,与国外的交流与合作将成为一个必然趋势。随之带来的问题就是要实现俱乐部管理的网络化。但就网上收集的资料来看,目前多数的软件都是PB, Delphi等开发完成的,这些只能用于俱乐部内部的经营和管理,却脱离了互联网这个大平台,客户本可以足不出户就可以了解自己的健身状况和健身俱乐部相关信息,这种开发己经与客户的需求背道而驰,为了能够使客户和健身俱乐部更好的联系和互动,采用C/S模式开发动态的网站,实现数据库的动态维护将是一个发展方向。我们可以借鉴己开发软件的优点,根据实际需求调查,在此基础上开发出功能较为完善的基于Web的网络管理系统,JSP是在ASP和PHP技术之后,一种新兴的动态网站开发技术,它不像ASP技术的安全性较差,也不像PHP技术扩展性较小,在继承了他们优点的基础之上,还能够支持XML技术,使得功能更加强大,逐渐成为新兴网站开发的首选技术,这次我们用JSP开发这一软件,正迎合了这一技术发展趋势,对我们来说也是一次挑战。

    1.  课题发展前景及趋势

本课题是采用JSP技术进行开发的基于WEB的健身俱乐部管理系统,随着近些年Internet的飞速发展,传统的提供静态网页的Web服务己经无法满足广大Internet用户的需求,动态网页技术随之诞生,如ASP, PHP, JSP等,其中JSP 由于具备“一次编写,随处运行(Write Once,Run Anywhere)”的特点,在WEB应用开发中得到了广泛的应用。应用JSP技术开发健身俱乐部管理系统能够使JSP在网络技术中的性能得到淋漓尽致的发挥,调查研究表明,大多数健身俱乐部管理软件的主要问题是受阻基于健身俱乐部会所内部的管理的,脱离了与广大客户的联系,它变的孤立而且功能受限,一个脱离了广大客户的管理系统,就必将在未来的市场中无用武之地。更与现今的常用的软件开发模式B/S, C/S模式背道而驰,加之这样JSP技术可以支持多种运行平台,运行速度快,难易程度低,扩展性安全性好,数据库支持多等特点,为设计者、使用者和维护者提供了方便。

核心问题之一在当前发展趋势的发展健身俱乐部管理系统和互联网结合引发需求为健身俱乐部管理互联网规模的健身俱乐部,因为根据越来越多的业务信息交换、健身俱乐部和俱乐部之间扩大管理进一步追求不同,更方便数据共享政策,没有燃烧我的摩托车这己经满足于一个简单的方法来共享文件和信息,但不再是吗?看看核心大人,数据库自己的健康,我将客户机器系统。互联网络系统结构转换的原因对服务器模型,虽然它总是根据俱乐部自身的进步,特别是大型健身俱乐部,国际发展工作我必须跨地区可能己经有一些客户,甚至国际体系和数据传输,信息共享和表示当互联网可以跨境区域,用户可以享受伟大的不可避免的俱乐部坚决持有许多客人突然,他占领的激烈的市场竞争能力,互联网网络之间的联系,更多的顾客和健身俱乐部与客户服务工作与客户提供的俱乐部信息管理系统网络通过一个良好的快速查询、分析,建立科学的管理手段,健康俱乐部的大规模数据管理和报告的一种多层次的总结,所以健身房网络管理迫切需要另一个互联网俱乐部管理提供各种服务管理如何结合管理支持系统和互联网网络技术提供有机网络,一组查询为什么时间管理俱乐部内部的一个综合管理系统,己经报告的基础,一个重大的挑战。

    1.  课题内容简介

本课题解决的问题是如何通过设计一个切实可行的软件系统来解决健身俱乐部管理目前存在的一系列问题。该课题是基于Windows的操作系统,后台数据库采用MySQL,前端使用JSP进行开发。

本课题所研究的健身俱乐部管理系统主要由六个模块组成,即人事资料模块、预约管理模块、器材管理模块、会员管理模块、系统管理模块。运行本系统先由登陆界面窗口进入用户权限认证窗口,通过用户名和口令验证的用户方可进入系统主窗口进行浏览与操作。

会员管理子系统:包括会员个人信息的修改、会员的增加和删除、会员信息查询以及会员卡的管理。

预约管理子系统:包括健身预约信息的录入、和删除。

人事资料管理子系统:包括人事资料的添加、删除、修改功能。

器材管理子系统:包括器材信息的录入、增加和删除、修改、产品信息查询。

考勤、工资管理子系统:包括考勤、工资信息的录入、增加和删除、修改。

系统维护子系统:包括修改密码、修改用户名、删除管理员和增加管理员四个功能模块。

用户管理模块:管理员添加、删除、查询用户基本信息和设置用户权限。

    1.  开发工具

此次设计主要采用MyEclipse加Tomcat后台服务器进行,设计过程中页面主要使用JSP技术完成,下面对MyEclipse、Tomcat和MySQL数据库进行简要介绍。

      1.  MyEclipse

MyEclipse,是一个十分优秀的用于开发Java, J2EE的Eclipse插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开元产品的支持十分不错。MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对Eclipse IDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML, Struts, JSP, CSS, Javascript, SQL, Hibernate。

      1.  Tomcat 

Tomcat是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应对HTML页面的访问请求。实际上Tomcat 部分是Apache 服务器的扩展,但它是独立运行的,所以当运行Tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。

      1.  MySQL 

MySQL是最流行的开放源码SQL数据库管理系统,它是由MySQL AB公司开发、发布并支持的。MySQL AB是由多名MySQL开发人创办的一家商业公司。它是一家第二代开放源码公司,结合了开放源码价值取向、方法和成功的商业模型。

数据库是数据的结构化集合,计算机是处理大量数据的理想工具,因此,数据库管理系统在计算方面扮演着关键的中心角色,或是作为独立的实用工具,或是作为其他应用程序的组成部分。

MySQL服务器还有一套实用的特性集合,这些特性是通过与我们用户密切合作而开发的。在我们的基准测试主页上,给出了MySQL服务器和其他数据库管理器的比较结果。

MySQL服务器最初是为处理大型数据库而开发的,与已有的解决方案相比,它的速度更快,多年以来,它已成功用于众多要求很高的生产环境。尽管MySQL始终在不断发展,但目前MySQL服务器已能提供丰富和有用的功能。它具有良好的连通性、速度和安全性,这使得MySQL十分适用于访问Internet上的数据库。 

每次发布的MySQL服务器均是可用的,权当用户尝试源自“灰色区域”的代码时才会出现问题。当然,新用户不了解“灰色区域”是什么。因此,在本节中,我们介绍了目前已知的这类区域。本节所做的介绍主要针对MySQL服务器5.5版和更高版本,在最新版本中,更正了所有已知和通报的缺陷,但“缺陷”一节所列的除外,这类缺陷与设计无关。

      1.  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)系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。相比ASP/.net的局限性是显而易见的。

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

(4)多样化和功能强大的开发工具支持。Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下

(5)支持服务器端组件。Web应用需要强大的服务器端组件来支持,开发人员需要利用其他工具设计实现复杂功能的组件供Web页面调用,以增强系统性能。JSP可以使用成熟的JavaBeans 组件来实现复杂商务功能。

内部对象说明:request 客户端请求,此请求会包含来自GET/POST请求的参数; response 网页传回客户端的响应;pageContext 网页的属性是在这里管理; session 与请求有关的会话; application servlet正在执行的内容;out 用来传送响应的输出流; config 代码片段配置对象;page JSP网页本身; exception 针对错误网页,未捕捉的例外。

      1.  JavaScript

JavaScript是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言。同时也是一种广泛用于客户端Web开发的脚本语言,常用来给HTML网页添加动态功能,比如响应用户的各种操作。JavaScript的一个重要功能就是面向对象的功能,通过基于对象的程序设计,可以用更直观、模块化和可重复使用的方式进行程序开发。在HTML基础上,使用JavaScript可以开发交互式Web网页。JavaScript的出现使得网页和用户之间实现了一种实时性的、动态的、交互性的关系,使网页包含更多活跃的元素和更加精彩的内容。在本系统中很多地方使用了JavaScript技术,比如说,检验用户输入数据的有效性,是否重复,是否为空等等。

    1.  软硬件需求

硬件需求:

CPU:Pentium以上计算机

内存: 512M以上

软件需求:

操作系统版本:Windows XP /vista/Win7

开发工具:MyEclipse

后台服务器:Apache Tomcat 7.0

开发语言:Java

浏览器:IE6.0

需求分析

2.1 需求调研

在项目的开始是需求调研,并且走访了健身会所,经过一系列的调查与谈话中发现,健身会所市场的管理和规范问题,是困扰我们多年的一个老问题,也是政府管理中的一个难点,健身的一个最基本的业务,表面上看,它只是健身会所业务的一个简单的部分,但是它涉及到管理与客户服务等多方面。

2.2 可行性分析

在项目的开发过程中,可行性分析是非常重要的一个环节,它是基于技术等进行分析之后得出的一个结论,这个结论说明了这个项目是否可以继续开展,本章从技术可行性、操作可行性、安全可行性、社会可行性等方面综合阐述了项目的可行性。

2.2.1技术可行性

技术上的可行性主要是根据系统分析得到的需要开发的软件,来分析利用现有技术是否能实现待开发的软件。本系统需要连接到互联网上,运用jsp+servlet技术开发,方便快捷,开发所需要的软件工具都是简单易操作的且开源,安全,可维护性强,本系统在MyEclipse的开发环境下采用java语言编写,Java语言具有较强的可移植性,安全性和稳定性,可以在不同的系统上运行,本系统采用的服务器是Apache-Tomcat-7.0版本,开发技术则采用的是jsp+servlet技术。下面介绍本系统使用的几种常见的技术:

2.2.1.1 JSP技术

JSP(Java Server Page服务器网页)是从1998年开始出现的新技术。由Sun公司倡导,基于JavaServlet以及整个Java体系的web开发技术,并且他是由许多公司参与一起建立的一种动态网页技术标准。在传统的网页HTML文件(*.htm,*.html)中加入脚本片段和JSP标记(Tag),构成JSP网页(*.jsp)。JSP技术为创建显示动态生成内容的web页面提供了简便的方法。JSP作为Java家族的一员,承袭了Java的特点,即跨平台的特性,也即一次编译,到处运行。

对于我们现在的使用,JSP无疑是一种非常方便的工具,可以精确的写出自己想要的界面效果,这也是我使用JSP技术的重要原因。

JSP网站开发标准给出了两种使用JSP的技术,可以归纳为模式一、模式二。

模式一:JSP+JavaBeans技术。在这种模式中,JSP页面独自响应请求并将处理结果返回给客户。Bean处理所有数据访问,JSP实现页面的表现,以实现内容生成与显示相分离。当处理复杂的大型应用时,页面被嵌入大量的脚本或Java代码段,当需要处理的商业逻辑复杂时,这种情况会变得非常糟糕,大量的内嵌代码使得页面程序变得复杂,对于前端界面设计人员,这是不可思议的事情。所以模式一可用于小型应用,不能够满足大型应用的需要。

模式二:JSP+Servlet+JavaBeans技术。Servlet技术是一种采用Java技术来实现CGI功能的一种技术,Servlet技术非常适于服务器端的处理和编程,并且Servlet会长期驻留在内存。

从开发的观点看,模式二具有更清晰的页面表现,清楚的开发者角色划分,在大规模项目开发中,模式二更被采用,模式二也更符合当前流行的MVC结构(Model/view/controller),其中Servlet对应controller,处于控制者的位置,处理HTTP请求,负责生成JSP中使用的Beans组件或对象,并判断应将请求传递给哪个JSP等,JSP对应view,负责生成最终的动态网页并返回给浏览器。而JavaBeans对应的是Model,实现各个具体的应用逻辑与功能。

2.2.1.2 MyEclipse Enterprise Workbench 8.5

MyEclipse企业级工作平台(My Eclipse Enterprise Workbench,简称MyEclipse)是对EclipseIDE的扩展,利用它可以在数据库和J2EE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的J2EE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSF,CSS,Javascript,SQL,Hibernate。

MyEclipse 是一个十分优秀的用于开发Java, J2EE的Eclipse插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持十分不错。MyEclipse目前支持Java Servlet,AJAX, JSP, JSF, Struts,Spring, Hibernate,EJB3,JDBC数据库链接工具等多项功能。可以说MyEclipse几乎囊括了目前所有主流开源产品的专属Eclipse开发工具。

2.2.1.3 SQLServer2005

SQLServer2005最初的开发者的意图是用SQLServer2005和他们自己的快速低级例程(ISAM)去连接表格。不管怎样,在经过一些测试后,开发者得出结论:SQLServer2005并没有他们需要的那么快和灵活。这导致了一个使用几乎和SQLServer2005一样的API接口的用于他们的数据库的新的SQL接口的产生,这样,这个API被设计成允许为用于SQLServer2005而写的第三方代码更容易移植到SQLServer2005。

Microsoft SQL Server 2005 是一个全面的数据库平台,使用集成的商业智能 (BI)工具提供了企业级的数据管理。Microsoft SQL Server 2005数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使您可以构建和管理用于业务的高可用和高性能的数据应用程序。

2.2.1.4 JDBC技术

JDBC技术是Java Data Base Connectivity的缩写,它是SUN公司提供的一种支持基本SQL功能的通用的应用程序接口(Application Programming Interface)。它是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC为工具/数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯 Java API 编写数据库应用程序,同时,JDBC也是个商标名。通过执行相应SQL语句,完成对不同数据库的访问。因此,开发人员使用JDBC API可以不必编写一个应用程序来访问Sybase数据库,又另外编写一个应用程序去访问Oracle数据库,再写一个应用程序访问Microsoft的SQL Server。不但如此,使用Java语言编写的应用程序可以在任何支持Java的平台上运行,不必在不同的平台上开发不同的应用程序。

简单地说,JDBC能完成下列三件事:

  1. 同一个数据库建立连接;
  2. 向数据库建立连接;
  3. 处理数据库返回的结果。

JDBC是一种通用低层的应用程序编程接口,它在不同的数据库功能模块的层次上提供一个统一的用户界面。说JDBC是一处低级的API,是指它直接调用SQL命令,它比其他的一些数据库连接API要容易使用些,但它有同样可以作为更高级的,用户版面更友好的API或开发工具基础。

浏览器端程序要访问数据库,首先通过中间件,然后由中间件对数据库操作权限进行认证,认证通过才能对数据库进行操作,数据库访问的三层结构如图2-1所示。

图2-1  数据库访问三层结构

用户对数据库的存取权限认证是中间件中完成,对数据库的查询、插入、更新和删除操作等都封装在中间件中,该中间件位于服务器端,中间件对数据库进行操作后,再将处理结果通过Web服务器返回到浏览器端用户。这样,在用户端输入的用户名和密码,可以通过加密算法进行加密后在网络上传输,在中间件中进行解密认证,然后再进行数据库的存取操作,数据库存取权限的用户名和密码出现在位于服务器端的中间件中,这样就更加安全。本系统采用的正是这样的三层结构的数据库访问模式。

在三层模型中,命令将被发送到服务的“中间层”,而“中间层”将SQL语句发送到数据库。数据库处理SQL语句并将结果返回“中间层”,然后“中间层”将它们返回用户。其模型如图2-2所示。

图2-2  JDBC的三层模型

因为“中间层”可以进行对访问的控制并协同数据库的更新,并且可以使用一个易用的高层API,这个API可以由“中间层”进行转换,转换成低层的调用。所以在许多种情况下,三层模型可以提供更好的性能,本系统中所采用的就是此种模型。

简单地说,JDBC 可以做三件事:与数据库建立连接,发送SQL语句并且获得数据,最后根据得到的数据进行处理。

数据库连接如图2-3所示:

图2-3  数据库的连接处理

在建立数据连接时,要判断连接是否建立成功了,如果没有建立成功,要进行异常的捕捉等的错误处理,如果连接建立起来了,那么就继续进行。得到数据库连接后,就要执行事先写好的SQL语句,通常可以用预编译命令,防止SQL注入,在执行时,如果SQL语句出现错误,也要进行异常的捕捉和处理,如果SQL语句正确,则成功之后就会返回ResultSet这个结果集,我们可以对其进行一些操作。

2.2.1.5 B/S模式

B/S模式是一种以Web技术为基础的新型的MIS系统平台模式。把传统C/S模式中的服务器部分分解为一个数据服务器与一个或多个应用服务器(Web服务器),从而构成一个三层结构的客户服务器体系。

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

第二层Web服务器将启动相应的进程来响应这一请求,并动态生成一串HTML代码,其中嵌入处理的结果,返回给客户机的浏览器。如果客户机提交的请求包括数据的存取,Web服务器还需与数据库服务器协同完成这一处理工作。

第三层数据库服务器的任务类似于C/S模式,负责协调不同的Web服务器发出的SQL请求,管理数据库。

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

再次,它使用户的操作变得更简单。对于C/S模式,客户应用程序有自己特定的规格,使用者需要接受专门培训。而采用B/S模式时,客户端只是一个简单易用的浏览器软件。无论是决策层还是操作层的人员都无需培训,就可以直接使用。B/S模式的这种特点,可以让MIS系统维护的限制因素变得更少。

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

现有的硬件和软件在功能上是可以满足系统开发的需求,开发所需要的软件工具也都是简单易操作的,开发人员的技术水平完全可以胜任系统的开发。所以该系统在技术上是可行的。

2.2.1.6 EL技术

EL全名为Expression Language,它原本是JSTL 1.0为方便存取数据所自定义的语言。

表达式这种语言的灵感来自于ECMAScript和XPath表达式语言,它的格式为${express},它提供了在 JSP 中简化表达式的方法。它是一种比较简单的语言,基于可用的命名空间(PageContext 属性)、嵌套属性和对集合、操作符(算术型、关系型和逻辑型)的访问符、映射到 Java 类中静态方法的可扩展函数以及一组隐式对象。

    EL 提供了在 JSP 脚本编制元素范围外使用运行时表达式的功能。脚本编制元素是指页面中能够用于在 JSP 文件中嵌入 Java 代码的元素。它们通常用于对象操作以及执行那些影响所生成内容的计算。JSP 2.0 将 EL 表达式添加为一种脚本编制元素。

2.2.2 操作可行性

该系统具有易用性,B/S结构使得客户端不必安装任何软件,只要有浏览器并连接到Internet或企业内部的Intranet上即可使用,免除了非专业人员操作技术上的困难。服务器操作系统采用Windows 7,Web服务器为Apache-Tomcat7.0版本,数据库为MySQL。

该系统具有友好亲切的使用界面,功能丰富并且使用简单,一般用户无需培训即可使用,对运行的平台和机器配置要求不高,便于配置和应用。

2.2.3 社会可行性

随着社会的发展和计算机技术的进步,人类越来越依赖于信息化的管理系统,这种系统能更加方便的获得信息以及处理信息。人们都改变了过去的思维,开始走向了互联网的时代,在社会中成为了一种新的潮流。

2.2.4 可行性小结

本章在技术可行性上、操作可行性上以及社会可行性上进行了详细的介绍,在技术方面通过介绍JSP技术和EL技术等常见技术,说明了开发本系统的可行性,而在操作方面,也是利用了简单易于操作的平台和数据库,所以开发本系统是简单而快速的。经以上分析,说明该系统在开发上是可行的,在技术、操作和社会上都有可行性,可以进行开发。

2.3 功能模块需求分析

本系统最大的特点是使用操作简单、友好的提示信息。

会员制健身中心管理系统的设计与实现,主要是以提高健身会所形象、便捷客户服务与增强健身中心管理为主旨,主要有以下七大功能:

1、修改登录密码;

2、工作人员管理;

3、会员卡类型管理;

4、会员资料管理;

5、健身器材管理;

6、教练执教管理;

7、安全退出。

2.4 界面需求

界面设计目前已经成为评价软件质量的一条重要指标,一个好的用户界面可以增加用户使用系统的信心和兴趣,提高工作效率,JSP技术是用JAVA语言作为脚本语言的,JSP网页为整个服务器端的JAVA库单元提供了一个接口来服务于HTTP的应用程序。 创建动态页面非常方便。用户界面是指软件系统与用户交互的接口,通常包括输出、输入、人-机对话的界面格式等。

1.输出设计

输出是由计算机对输入的原始信息进行加工处理,形成高质量的有效信息,并使之具有一定的格式,提供管理者使用,这是输出设计的主要职责和目标。

系统设计的过程正好和实施过程相反,并不是从输入设计到输出设计,而是从输出设计到输入设计,这是因为输出表格直接与使用者相联系,设计的出发点应当是保证输出表格方便地为使用者服务,正确及时反映和组成用于各部门的有用信息。输出设计的原则是考虑既要全面反映不同管理层的各项需要,又要言简意赅,不要将用户需要和不需要的都提供给用户。

2.输入设计

输入数据的收集和录入是比较费事的,需要大量的人力和一定设备,并且容易出错。如果输入系统的数据有错误,则处理后的输出将扩大这些错误,因此输入数据的正确性对于整个系统质量的好坏是具有决定性意义的。

输入设计的原则如下:

输入量应保持在能满足处理要求的最低限度。设计中可采用设置字段初值,下拉式数据窗口等方式尽量减少用户键盘输入量。输入量越少,错误率就越少,数据准备时间也减少。

第三章 系统分析与设计

3.1 数据库的分析与设计

计算机信息系 统以数据库为核心,在数据库管理系统的支持下,进行信息的收集、整理、存储、检索、更新、加工、统计和传播等操作。数据库已经成为现在信息系统等计算机系统的基础与核心部分。数据库设计的好坏直接影响到整个系统的质量和效率。

数据库的设计一般经过规划。需求分析、概念设计、逻辑设计、物理设计5个步骤。

3.1.1数据库的概念结构设计

概念设计是指在数据分析的基础上自底向上的建立整个系统的数据库概念结构,从用户的角度进行视图设计,然后将视图集成,最后对集成的结构分析优化得到最后结果。

数据库的概念结构设计采用实体—联系(E-R)模型设计方法。E-R模型法的组成元素有:实体、属性、联系,E-R模型用E-R图表示,是提示用户工作环境中所涉及的事物,属性则是对实体特性的描述。

概念设计的目标是产生反映企业组织信息要求的数据库概念结构,即概念模式。概念模式是独立于数据库逻辑结构,独立于支持数据库的DBMS,不依赖于计算机系统的,根据以上对数据库的需求分析,并结合系统概念模型的特点及建立方法,建立E-R模型图。

图3-1 E-R图各元素

  1. 系统模块E-R图,如图3-2所示:

  

图3-2 系统模块E-R图

2)会员资料实体E-R图,如图3-3所示:

图3-3 会员资料实体E-R图

3.1.2数据库的逻辑结构设计

我们知道,数据库概念模型独立于任何特定的数据库管理系统,因此,需要根据具体使用的数据库管理系统的特点进行转换。即转化为按计算机观点处理的逻辑关系模型,E-R模型向关系数据库模型转换应遵循下列原则:

*每一个实体要转换成一个关系

*所有的主键必须定义非空(NOT NULL)

*对于二元联系应按照一对多、弱对实、一对一、多对多等联系来定义外键。

根据E-R模型,会员制健身中心管理系统建立了以下逻辑数据结构,下面是各数据表的详细说明。

本系统的数据库名:db_jianshen2017_g,一共有四个表,分别如下:

序号

列名

数据类型

长度

小数位

标识

主键

外键

允许空

默认值

说明

1

card_id

int

11

2

card_leixiong

varchar

50

3

card_guize

text

4

card_youhuizhengce

text

5

card_one1

varchar

50

6

card_one2

varchar

50

7

card_one3

varchar

50

8

card_one4

varchar

50

9

card_one5

int

11

10

card_one6

int

11

11

card_one7

datetime

12

card_one8

datetime

表3-1 会员卡信息表

序号

列名

数据类型

长度

小数位

标识

主键

外键

允许空

默认值

说明

1

qicai_id

int

11

2

qicai_name

varchar

50

3

qicai_goumairiqi

varchar

50

4

qicai_beizhu

text

5

qicai_one1

varchar

50

6

qicai_one2

varchar

50

7

qicai_one3

varchar

50

8

qicai_one4

varchar

50

9

qicai_one5

int

11

10

qicai_one6

int

11

11

qicai_one7

datetime

12

qicai_one8

datetime

表3-2 健身器材表

序号

列名

数据类型

长度

小数位

标识

主键

外键

允许空

默认值

说明

1

user_id

int

11

2

user_name

varchar

50

3

user_pw

varchar

50

4

user_type

int

11

5

user_realname

varchar

50

6

user_address

varchar

50

7

user_sex

varchar

50

8

user_tel

varchar

50

9

user_email

varchar

50

10

user_qq

varchar

50

11

user_man

varchar

50

12

user_age

varchar

50

13

user_birthday

varchar

50

14

user_xueli

varchar

50

15

user_one1

varchar

50

16

user_one2

varchar

50

17

user_one3

varchar

50

18

user_one4

varchar

50

19

user_one5

varchar

50

20

user_one6

int

11

21

user_one7

int

11

22

user_one8

int

11

23

user_one9

datetime

24

user_one10

datetime

25

user_one11

bigint

20

26

user_one12

bigint

20

表3-3 工作人员表

序号

列名

数据类型

长度

小数位

标识

主键

外键

允许空

默认值

说明

1

zhijiao_id

int

11

2

zhijiao_jiaolian_id

int

11

3

zhijiao_jiaolian_name

varchar

50

4

zhijiao_kecheng

varchar

50

5

zhijiao_huiyuan

varchar

50

6

zhijiao_one1

varchar

50

7

zhijiao_one2

varchar

50

8

zhijiao_one3

varchar

50

9

zhijiao_one4

varchar

50

10

zhijiao_one5

int

11

11

zhijiao_one6

int

11

12

zhijiao_one7

datetime

13

zhijiao_one8

datetime

表3-4 教练执教表

3.1.3 数据库的连接原理

本系统采用Hibernate对数据库进行管理。Hibernate 是一个开放源代码的对象关系映射框架,它对 JDBC 进行了轻量级的对象封装,使 Java 程序员可以随心所欲的使用对象编程思维来操纵数据库。它不仅提供了从 Java 类到数据表之间的映射,也提供了数据查询和恢复机制。相对于使用 JDBC 和 SQL 来手工操作数据库,Hibernate 可以大大减少操作数据库的工作量。 另外 Hibernate 可以利用代理模式来简化载入类的过程,这将大大减少利用 Hibernate QL 从数据库提取数据的代码的编写量,从而节约开发时间和开发成本。 Hibernate 可以和多种Web 服务器或者应用服务器良好集成,如今已经支持几乎所有的流行的数据库服务器。

Hibernate 技术本质上是一个提供数据库服务的中间件。它的架构如图3-5所示:

3-3 Hibernatre架构图

图3-3显示了 Hibernate 的工作原理,它是利用数据库以及其他一些配置文件如 Hibernate .properties ,XML Mapping 等来为应用程序提供数据持久化服务的。

Hibernate 具有很大的灵活性,但同时它的体系结构比较复杂,提供了好几种不同的运行方式。在轻型体系中,应用程序提供 JDBC 连接,并且自行管理事务,这种方式使用了 Hibernate 的一个最小子集;在全面解决体系中,对于应用程序来说,所有底层的 JDBC/JTA API 都被抽象了,Hibernate 会替你照管所有的细节。 

3.2中文乱码问题处理

在程序中经常会遇到中文乱码的情况,如果手动的在servlet和jsp页面进行设置,相当麻烦。因此,在程序的开始就写了一个过滤器SetCharacterEncodingFilter。

在web.xml中配置:

<filter>

<filter-name>SetCharacterEncodingFilter</filter-name>

<filter-class>myweb.util.filter.SetCharacterEncodingFilter</filter-class>

<init-param>

<param-name>encoding</param-name>

<param-value>gb2312</param-value>

</init-param></filter>

<filter-mapping>

<filter-name>SetCharacterEncodingFilter</filter-name>

<url-pattern>/*</url-pattern>//*表示工程下所有的页面都会有此过滤器的处理

</filter-mapping>

对应的SetCharacterEncodingFilter.java文件中的重要代码,在初始化init()方法中定义:

public void init(FilterConfig filterConfig) throws ServletException {

    this.filterConfig = filterConfig;

        this.encoding = filterConfig.getInitParameter("encoding");

        String value = filterConfig.getInitParameter("ignore");

        }

在工具包util包中同样定义了DataFormate类来处理字符转换:

       public static String toUni(String gbStr){

        String uniStr = ""; /*把字符串转换成uincode编码*/

        if(gbStr == null){

          gbStr = "";

        }

        try{

          byte[] tempByte = gbStr.getBytes("GB2312");

          uniStr = new String(tempByte,"ISO8859_1");

        }catch(Exception ex){

        }

        return uniStr;

      }

      /* 把字符串转换成Utf8编码*/

  public static String toUtf8String(String s) {

        StringBuffer sb = new StringBuffer();

        for (int i = 0; i < s.length(); i++) {

             char c = s.charAt(i);

              if (c >= 0 && c <= 255) {

                sb.append(c);

                }

              else {

                   byte[] b;

                    try {

                       b = Character.toString(c).getBytes("utf-8");

                     }catch (Exception ex) {

                        System.out.println(ex);b = new byte[0];

                     }

                         for (int j = 0; j < b.length; j++) {

                           int k = b[j];

                           if (k < 0) {

                             k += 256;

                           }

                           sb.append("%" + Integer.toHexString(k).

                                     toUpperCase());  } }

       return sb.toString();  }

第四章 系统功能实现

在管理信息系统的生命周期中,经过了需求分析、系统设计等阶段之后,便开始了系统实施阶段。在系统分析和设计阶段,系统开发工作主要是集中在逻辑、功能和技术设计上,系统实施阶段要继承此前面各个阶段的工作成果,将技术设计转化为物理实现,因此系统实施的成果是系统分析和设计阶段的结晶。

4.1系统登陆页面实现

  1. 描述:为了保证系统的安全性,要先使用本系统必须先登陆到系统中,用户需要正确的账号和密码登录本系统。

    2.会员登录的流程图,如图4-1所示:

图4-1 会员登录的流程图

3.程序运行效果图,如图4-2所示:

图4-2 系统登陆页面设计

4.在登陆页面输入用户名和密码以,点击提交按钮,跳转到登陆的service中,在该service中会对用户名,密码,验证码进行判断,验证通过进入对应的页面,loginservice关键代码:

public String login(String userName,String userPw,int userType)

{

String result="no";

String sql="from TAdmin where userName=? and userPw=?";

Object[] con={userName,userPw};

List adminList=adminDAO.getHibernateTemplate().find(sql,con);

if(adminList.size()==0)

{

 result="no";

}

else

{

 WebContext ctx = WebContextFactory.get();

 HttpSession session=ctx.getSession();

 TAdmin admin=(TAdmin)adminList.get(0);

 session.setAttribute("userType", 0);

             session.setAttribute("admin", admin);

             result="yes";

}

return result;

}

4.2 管理员功能模块

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

2.程序运行效果图,如图4-3所示:

图4-3 管理员主页面

在每个jsp页面将会对相关用户进行拦截操作,这样可以提高安全性,防止用户不经过登陆页面而进入任何子菜单页面:

if(session.getAttribute("user")==null)

{

 out.print("<script>alert('请先登录!');window.open('../index.jsp','_self')</script>");  

}

4.2.1 工作人员管理

4.2.1.1查询工作人员信息

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

2.程序效果图,如图4-4所示:

图4-4工作人员信息

4.2.1.2添加工作人员添加

1.描述:输入要添加工作人员的信息以后,点击添加按钮添加工作人员。

2.程序效果图,如图4-5所示:

图4-5添加工作人员

4.2.2会员资料管理

4.2.2.1会员资料管理

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

2.程序效果图,如图4-6所示:

图4-6会员资料管理

4.2.2.2会员资料删除

1.描述:先是点击会员管理,页面跳转到会员管理界面,浏览所有的会员资料,点击要删除的会员资料,弹出的确定对话框,即可删除该会员资料。

2.程序效果图,如图4-7所示:

图4-7会员资料删除

4.2.3健身器材管理

4.2.3.1健身器材信息

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

2.程序效果图如图4-8所示:

图4-8查询健器材信息

4.2.3.2添加健身器材信息

1.描述:管理员输入健身器材相关正确信息后点击录入按钮,如果是没有输入完整的健身器材信息,都会给出相应的错误提示,不能录入成功。输入数据都通过form表单中定义的方法οnsubmit="return checkForm()"来检查,checkForm()函数中是各种的校验输入数据的方式。

2.程序效果图,如图4-9所示:

图4-9添加健身器材信息

4.2.3.3删除健身器材信息

1.描述:先是点击健身器材信息管理,页面跳转到健身器材信息管理界面,浏览所有的健身器材信息,点击要删除的健身器材信息,弹出的确定对话框,即可删除该健身器材信息。

2.程序效果图,如图4-10所示:

图4-10删除健器材信息

4.2.4 教练执教管理

4.2.4.1教练执教管理

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

2.程序效果图,如图4-11所示:

图4-11教练执教管理页面

4.2.5.2教练执教录入

1.描述:管理员输入教练相关正确信息后点击录入按钮,如果是没有输入完整的教练执教,都会给出相应的错误提示,不能录入成功。输入数据都通过form表单中定义的方法οnsubmit="return checkForm()"来检查,checkForm()函数中是各种的校验输入数据的方式。

2.程序效果图,如图4-12所示:

图4-12 教练执教录入

4.2.6 修改密码

1.描述:输入用户名和用户的原有密码,输入新密码以后点击修改按钮即可修改密码成功。

2.程序效果图,如图4-13所示:

图4-13 修改密码

4.2.7 退出系统

1.描述:点此按钮回到系统的主页面。

2.关键代码:主要是通过javascript语句来实现, item_word[8][4]="退出系统";

item_link[8][4]="javascript:window.open('../index.jsp','_self')"; 


第五章 系统测试

软件测试指的是一种用来鉴定软件是否正确、完整的过程。我们通过测试已经写好的程序来发现其中可能隐藏的问题,从而提高软件的质量,一般而言我们的做法是,在规定的条件下对程序进行操作,发现程序的错误,来衡量软件的质量。

5.1 测试的任务及目标

    软件测试不仅是软件开发的一个组成部分,更是非常重要的一部分,在开发过程中,测试应该贯穿我们的整个开发,测试在软件开发中的地位是不言而喻的,它和软件开发缺一不可,所以我们要更加重视测试。

5.1.1 测试的任务

在软件开发中,我们不可避免的产生许多错误,这使得软件中隐藏着许多的问题,而这些问题在一定的条件下被触发,便会让你更软件的运行出现差错,导致或多或少的经济损失,所以测试是非常必要的。因此在软件投入生产性运行之前,尽可能多地发现软件中的错误。

5.1.2 测试的目标

(1)测试的目的是为了发现程序中的错误而执行程序的过程。

(2)好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案。

(3)成功的测试是发现了到今为止尚未发现的的错误的测试。

5.2 测试方案

测试有两种方法:黑盒测试和白盒测试。

黑盒测试是一种看不到程序内部结构的测试方法,它又被称为功能测试,在程序的借口进行测试,检查功能是否能够按照说明书进行正确的反应,程序员要做的就是输入数据,然后验证得到的结果是否正确,这样能够保持外部新的完整性。白盒测试又叫结构测试,完全了解程序的结构和处理过程,这种方法按照程序内部的逻辑测试程序,检验程序中每条通路是否都能按照预定要求正确工作。

5.3 测试过程

在测试之初,由于将数据库中的数据是随便输入,没有实用性,为了使系统更加完善,在系统测试的过程中,本系统将一开始编程随便输入的数据全部清理后,输入了一些有效的测试数据,这样可以更真实的反映系统的功能实现情况。

这样不断发现问题,经过反复的测试、调试,把问题一个个的解决,最终系统可以正常运行。

5.4 测试用例

测试是软件开发时期的最后一个阶段,也是软件质量保证中至关重要的一个环节,它的目的是发现程序的错误和不足之处。

本系统采用黑盒测试中的等价类法,对系统进行测试。检测失物招领系统有问题需要大量的输入数据,下面只列出一部分测试用例:

5.4.1 主页面的登录模块测试

测试流程: 1.打开系统首页,输入错误的登录信息

           2.登录

           3.输入正确的登录信息

           4.登录

           5.测试结果

模块名称

测试用例

预期结果

实际结果

是否通过

登录模块

用户名:null   密码:null  

弹出错误提示,请输入用户名

登陆失败,提示请输入用户名

通过

登录模块

用户名:m1

密码:null  

弹出错误提示,请输入密码

失败,提示输入密码

通过

登录模块

用户名:m1

 密码:1

弹出错误提示,用户名或者密码错误

登陆失败,提示用户名或者密码错误

通过

表5-1 主页面登录模块测试

5.4.2 游客注册测试

建立有效等价类是游客输入的各个信息都正确,期望结果:注册成功!无效等价类如表5-2所示:

无效等价类

期望结果

用户名空缺

请输入用户名!

用户密码空缺

确认密码空缺

请输入用户密码!

请输入确认密码!

联系电话空缺

请输入联系电话!

QQ空缺

请输入QQ!

邮箱空缺

请输入邮箱地址!

来自空缺

请输入来自哪里!

名称空缺

用户名已存在!

密码错误

两次输入的密码不一致!

联系电话格式不正确

输入的联系电话格式不正确!

QQ格式不正确

输入的QQ格式不正确!

邮箱格式不正确

输入的邮箱格式不正确!

表5-2  游客注册无效等价类

测试用例:

第1组:用户名:bb                 用户密码:aa      

确认密码:aa               联系电话:18234086882      

QQ:1104014730             E-mail:1104014730@qq.com      

来自:山西

测试结果:提示注册成功!

第2组:用户名:                   用户密码:aa      

确认密码:aa               联系电话:18234086882      

QQ:1104014730             E-mail:1104014730@qq.com      

来自:山西

测试结果:请输入用户名!

第3组:用户名:bb                 用户密码:      

确认密码:aa               联系电话:18234086882      

QQ:1104014730             E-mail:1104014730@qq.com      

来自:山西

测试结果:请输入用户密码!

第4组:用户名:bb                 用户密码:aa      

确认密码:                 联系电话:18234086882      

QQ:1104014730             E-mail:1104014730@qq.com      

来自:山西

测试结果:请输入确认密码!

第5组:用户名:bb                 用户密码:aa      

确认密码:aa               联系电话:18234086882      

QQ:                       E-mail:1104014730@qq.com      

来自:山西

测试结果:请输入QQ!

第6组:用户名:bb                 用户密码:aa      

确认密码:aa               联系电话:18234086882      

QQ:1104014730             E-mail:      

来自:山西

测试结果:请输入邮箱地址!

第7组:用户名:bb                 用户密码:aa      

确认密码:aa               联系电话:18234086882      

QQ:1104014730             E-mail:1104014730@qq.com      

来自:

测试结果:请输入来自哪里!

第8组:用户名:admin              用户密码:aa      

确认密码:aa               联系电话:18234086882      

QQ:1104014730             E-mail:1104014730@qq.com      

来自:山西

测试结果:用户名已存在!

第9组:用户名:admin              用户密码:aa      

确认密码:aaa              联系电话:18234086882      

QQ:1104014730             E-mail:1104014730@qq.com      

来自:山西

测试结果:两次输入的密码不一致!

第10组:用户名:admin              用户密码:aa      

确认密码:aaa              联系电话:1      

QQ:1104014730             E-mail:1104014730@qq.com      

来自:山西

测试结果:输入的联系电话格式不正确!

第11组:用户名:admin              用户密码:aa      

确认密码:aaa              联系电话:18234086882      

QQ:aa                     E-mail:1104014730@qq.com      

来自:山西

测试结果:输入的QQ格式不正确!

第12组:用户名:admin              用户密码:aa      

确认密码:aaa              联系电话:18234086882      

QQ:aa                     E-mail:1104014730      

来自:山西

测试结果:输入的邮箱格式不正确!

5.5 其他错误

在程序设计实现的过程中不可避免的会产生各种难以预料的错误,如书写错误、传值类型不一致、参数传递问题等等。这些都需要通过细心的检测与不断的调试才能够排除。比如在servlet路径配置时因粗心错误导致运行导致所报错误,如图5-1所示:

图 5-1由于servlet路径配置错误,运行时的提示

5.6 小结

在本章中,通过对软件的测试验证了软件程序的质量,分别对登录部分进行了等价类测试,等价类测试不考虑内部的结构,将程序的输入分为若干个有代表性的部分,从每个部分选取数据进行测试,通过对这些模块的测试可以基本证明程序具有一定的健壮性和质量性。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1808287.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Flutter 实现dispose探测控件

文章目录 前言一、什么是dispose探测控件&#xff1f;1、通常情况2、使用dispose探测控件 二、如何实现1、继承StatefulWidget2、定义dipose回调3、定义child4、重载Dispose方法5、build child 三、完整代码四、使用示例1、基本用法2、设置定义数据 总结 前言 开发flutter一般…

LabVIEW调用DLL时需注意的问题

在LabVIEW中调用DLL&#xff08;动态链接库&#xff09;是实现与外部代码集成的一种强大方式&#xff0c;但也存在一些常见的陷阱和复杂性。本文将从参数传递、数据类型匹配、内存管理、线程安全、调试和错误处理等多个角度详细介绍LabVIEW调用DLL时需要注意的问题&#xff0c;…

第1回 最开始的两行代码

当你按下开机键的那一刻,在主板上提前写死的固件程序BIOS会将硬盘启动区中的512(B)的数据,原封不动地复制到内存中的0x7c00这个位置,并跳转到那个位置: 下面我们针对每一步做详细介绍. 开机后初始化指向BIOS CPU中有一个PC寄存器,里面存储这将要执行的指令在内存中的地…

推测性解码:加速多模态大型语言模型的推理

大模型&#xff08;LLMs&#xff09;以其卓越的性能在多个应用场景中大放异彩。然而&#xff0c;随着应用的深入&#xff0c;这些模型的推理速度问题逐渐凸显。为了解决这一挑战&#xff0c;推测性解码&#xff08;Speculative Decoding, SPD&#xff09;技术应运而生。本文深入…

ROS geometry_msgs和sensor_msgs

ROS geometry_msgs和sensor_msgs geometry_msgs geometry_msgs 是 ROS&#xff08;Robot Operating System&#xff09;中用于几何计算和空间表示的一个核心消息包。它定义了一系列消息类型&#xff0c;用于表示位置、方向、速度等几何概念。以下是一些 geometry_msgs 中定义…

Tessy学习系列(三):单元测试——官方例程isValueInRange

一、工程创建 &#xff08;1&#xff09;新建工程 注意&#xff1a;工程名称以及路劲不能包含空格和中文 &#xff08;2&#xff09;新建测试集与单元测试模块 新建测试集 新建单元测试模块 设置测试模块为单元测试模块并选择GNU GCC编译器如果需要其他的编译器&#xff0c;…

SSM物流管理系统的设计与实现-计算机毕业设计源码44323

摘 要 科技进步的飞速发展引起人们日常生活的巨大变化&#xff0c;电子信息技术的飞速发展使得电子信息技术的各个领域的应用水平得到普及和应用。信息时代的到来已成为不可阻挡的时尚潮流&#xff0c;人类发展的历史正进入一个新时代。在现实运用中&#xff0c;应用软件的工作…

vue-router全部搞定(附源码)

源码下载链接&#xff08;先转存&#xff0c;后下载&#xff09;&#xff1a;https://pan.quark.cn/s/b0c6edd68c21 怎么用vue-cli搭建项目 我们固然可以用传统htmljs的方式来搭建vue项目&#xff0c;但是如果组件很多&#xff0c;就需要通过Vue.component的方式一个个去引入…

flask实现抽奖程序(一)

后端代码E:\LearningProject\lottery\app.py from flask import Flask, render_template import randomapp Flask(__name__)employees [赵一, 钱二, 孙三, 李四, 周五, 吴六, 郑七, 王八]app.route(/) def hello_world():return render_template(index.html, employeesemplo…

14.《C语言》——【牛客网BC116—BC123题目讲解】

亲爱的读者&#xff0c;大家好&#xff01;我是一名正在学习编程的高校生。在这个博客里&#xff0c;我将和大家一起探讨编程技巧、分享实用工具&#xff0c;并交流学习心得。希望通过我的博客&#xff0c;你能学到有用的知识&#xff0c;提高自己的技能&#xff0c;成为一名优…

【语音告警】Zabbix语音播报-报警媒介部分配置-语音报警灯|声光报警器|网络信号灯

阅读说明 本文为博灵语音通知终端与Zabbix报警媒介的配置&#xff0c;对接完成后可以实现Zabbix的声光语音告警&#xff0c;播报效果可以参考 Modbus-博灵语音通知终端与PLC联动告警介绍 对接前需配置好通知终端的IP地址&#xff0c;设备参数参见 其他完整的Zabbix语音播报报…

重邮计算机网络803-(2)物理层

一.物理层 1.介绍 物理层的主要任务描述为确定与传输媒体的接口的一些特性&#xff0c;即&#xff1a; ①机械特性 指明接口所用接线器的形状和尺寸、引线数目和排列、固定和锁定装置等等。 ②电气特性 指明在接口电缆的各条线上出现的电压的范围。 ③功能特性 指明某条线上…

Long-Context LLM综述

目录 前言1. Preliminary2. 方法分类3. 长度外推3.1 位置外推和插值位置外推插值 3.2 上下文窗口分割与滑动3.3 提示压缩 4. 注意力近似4.1 低秩分解4.2 稀疏注意力4.3 Softmax-free Attention 5. Attention-free Transformers5.1 状态空间模型(State Space Model, SSM)5.2 位置…

Redis实战——创建账户及连接数据库

一、创建一个新账户 要创建一个带有免费数据库的新账户&#xff0c;请按照以下步骤操作&#xff1a; 前往 Redis Cloud 的注册页面。有两种开始使用 Redis Cloud 的选项&#xff1a; 在表单中输入您的信息&#xff0c;然后选择“Get Started”&#xff08;开始使用&#xff…

PR如何让音频淡入淡出

PR如何让音频淡入淡出 方法一&#xff1a;效果控件关键帧方法二&#xff1a;音频轨道关键帧 以淡入为例&#xff0c;介绍如何设置淡入的两种方法&#xff0c;推荐使用第二种。淡出效果类似。 方法一&#xff1a;效果控件关键帧 选中音频&#xff0c;点击效果控件 在淡入结束的…

差动放大器

差动器的出现是为了解决直接耦合电路存在的零点漂移问题&#xff0c;另外&#xff0c;差动放大器还有灵活的输入&#xff0c;输出方式。 一&#xff0c;基本差动放大器 差动放大器在电路结构上具有对称性&#xff0c;三极管VT1&#xff0c;VT2同型号&#xff0c;R1R2,R3R4,R5…

Web学习_SQL注入_布尔盲注

盲注就是在SQL注入过程中&#xff0c;SQL语句执行后&#xff0c;查询到的数据不能 回显到前端页面。此时&#xff0c;我们需要利用一些方法进行判断或者尝 试&#xff0c;这个过程称之为盲注。而布尔盲注就是SQL语句执行后&#xff0c;页面 不返回具体数据&#xff0c;数据库只…

SQL(一)基本语法

文章目录 一、Sql 语言基本特点二、数据查询&#xff08;按执行顺序排列&#xff09;1. From & Join2. Where3. Group by4. Having5. Select6. Distinct7. Order by8. Limit/ Offset 三、功能公式1. 字符处理2. 时间处理3. 统计计算 一、Sql 语言基本特点 不区分大小写分号…

平面设计神器CorelDRAW2021精简版,你值得拥有!

亲爱的设计师小伙伴们&#xff0c;今天我要为大家种草一款神奇的软件——CorelDRAW平面设计软件2021精简版&#xff01;&#x1f929;✨作为一名专业的图形设计师&#xff0c;我深知一个好工具对于我们的工作有多么重要。而这款软件简直就是我们设计师的救星&#xff01;&#…

新技术前沿-2024-构建个人知识库和小语言模型

OllamaWebUIAnythingLLM&#xff0c;构建安全可靠的个人/企业知识库 1 技术路线一 1.1 搭建本地大模型Ollama 1.2 搭建用户界面open WebUI 使用Docker Desktop Open-webui。它可以快速基于Ollama构筑本地UI。 如果没有科学上网&#xff0c;很可能会拉不动&#xff0c;可以试…