ssm学生公寓管理系统的设计与开发+jsp

摘 要

如今,科学技术的力量越来越强大,通过结合较为成熟的计算机技术,促进了学校、医疗、商城等许多行业领域的发展。为了顺应时代的变化,各行业结合互联网、人工智能等技术,纷纷开展了管理信息化建设。传统的学生公寓信息管理模式,主要以人工记录的方式统计和存储宿舍信息,这种管理模式容易丢失信息,并且不方便管理人员更新和查询相关数据。相比于传统管理模式,信息化管理模式主要使用计算机存储和管理相关信息记录,操作简单便捷,并且具体较强的灵活性,容易对数据实现查询和更新操作,有利于相关人员在同等时间内,完成更多的工作,并且能够尽可能的减少工作人员发生失误的概率。在idea集成开发平台上,学生公寓管理系统采用了B/S开发结构模式,并且通过使用Java语言编写相关代码,设计系统功能模块,MySQL数据库设计数据表格,存储宿舍信息,Tomcat服务器发布系统网址,处理请求和响应消息。本系统的开发,改进学校管理人员的工作模式,有利于简化工作流程,加快工作进度,提高信息处理效率。

2.1 B/S架构

浏览器/服务器结构,可以被简写为B/S结构(Browser/Server结构),是目前最受欢迎的软件开发结构之一[7]。B/S结构主要通过将系统网址发布到浏览器的方式,由用户在浏览器上进行网站访问,即可实现对系统的相关操作,进而满足实际的功能需求。服务器/客户机结构,可以被简写为C/S结构(Client/Server结构),其主要通过运行客户端程序面向系统的使用对象,进而实现系统的功能操作[8]。通过C/S结构开发的客户端应用程序具有较快的处理速度和响应时间,其在运行安全方面和性能稳定方面具有较大的优势。但是,由于用户需要下载客户端程序,并且通过进行正确的安装步骤,才可运行和使用系统,安装步骤繁琐,工作量大,灵活性不好,并且与系统相关的软、硬件均需要定期的升级和维护,所需的成本极高。相比之下,开发人员一般首先考虑使用C/S结构实现系统。
2.2 Java语言
Java语言是面向对象的编程语言,而比较常用的C语言,则是面向过程的编程语言。那么,面向对象与面向过程这两种开发方式具体哪些什么区别[9]。面向过程是将一个问题整体,分解成一个个具体的步骤,通过分阶段的使用函数对这些具体步骤的处理,最终实现对问题的解决。面向对象最主要的目的不是分阶段地实现每个步骤,而是以对象的方式对需要解决的问题进行分解,再通过描述对象的行为,实现问题的解决。面向对象的编程语言是科技进步的产物,它的出现顺应了社会的发展。面向对象的系统设计,可以继承和封装相关对象及其属性,提高功能代码的使用率,由此减少开发人员的设计压力。因此,研发人员大多使用面向对象的编程语言来解决实际的问题。
Java语言具有跨平台性、可移植性等特点,如此说明使用Java语言编程设计的系统,可以支持在不同的浏览器平台上运行,并且代码也可以被转移到其他开发环境中执行,便于在更多的其他任务中使用系统,以此可以延长软件的使用周期。Java语言具有较强的健壮性和稳定性,当系统因为输入错误或外界操作不正常而发生故障时,不会导致死机、崩溃现象的出现,而会给用户一定的错误提示信息,帮助用户找到出错的原因,然后在较短的时间内解决问题。语法简单,容易被理解和掌握[10]。除了上述特点外,Java语言还具有使用简单、容易学习、操作便捷等优点,因此许多开发人员会优先考虑使用Java语言对系统进行功能设计。
2.3 MySQL数据库
MySQL数据库是一种轻量级的关系型数据库,因为它占用的内存资源非常少,而且能够在较短的时间内,快速地响应用户需求,所以非常适应于中小型的系统的开发[11]。MySQL数据库代码具有开源性,设计人员可以在经过源代码设计人员的同意下,个性化地选择使用和修改相关代码,以适应所设计系统的开发和运行。MySQL数据库具有免费性,设计人员不需要额外支付数据库软件使用费用,就可以直接使用MySQL数据库,设计系统相关的数据表格,存储和管理一定的数据记录,由此极大地节约了系统的开发成本。除此之外,MySQL数据库还具有定时刷新功能以及较强的灵活性,在一定的时间范围内,对数据进行刷新操作,便于及时更新和存储数据,并且可以将不同的信息记录存放在不同的数据表格中,较为灵活支持关联不同的数据表格。
2.4 JSP技术
Java服务器页面,简写为JSP技术(Java Server Pages技术),其是一种使用较为频繁的动态页面设计技术[12]。由于JSP技术主要是基于Java进行编写的创建动态页面技术,故而其能够支持在不同的Java应用服务器上运行,并且可以在不同的网页上实现数据传递、信息记录、信息共享等功能。JSP技术继承了Java servlet的所有功能,所生成的web网页内容是与平台和协议无关,可以响应多种类型的请求,也能够交互式地生成数据和浏览页面[13]。除此之外,JSP技术具有预编译的特点,也就是首次运行时需要对JSP代码进行编译处理,而后再运行时,就无需再次进行编译,直接使用之前已经编译好的程序即可。JSP技术以在相关的HTML代码嵌入JSP标签的方式,在相应的用户页面中生成相关的JSP文件,对应用程序的相关显示界面进行创建。
2.5 SSM框架
SSM框架集是由Spring、SpringMVC和MyBatis框架而组成,SSM是一个比较合适的系统开发的web框架。从一定程度上,使用SSM框架对系统进行实现,能够提高软件的开发速度,节省一定的开发成本开销,并且所设计出来的系统具有较高的稳定性和扩展性[14]。其中,SpringMVC框架主要的工作是在极短的时间内,能够响应相关的消息请求,MyBatis框架主要的工作使得数据库透明化,以便于技术人员对数据库进行交互和访问工作,Spring框架主要的工作是整合处理SpringMVC和MyBatis所做的工作,协调分离处理各层工作,避免各层相互影响。由于SSM框架比较适合于开发高稳定性、高并发量的系统类型,并且SSM框架比较符合设计系统的实际需求,所以大多数的开发人员会优先使用SSM框架对信息管理系统进行设计和开发。

3 系统分析

当用户确定开发一款程序时,是需要遵循下面的顺序进行工作,概括为:系统分析–>系统设计–>系统开发–>系统测试,无论这个过程是否有变更或者迭代,都是按照这样的顺序开展工作的。系统分析就是分析系统需要做什么的问题,主要目的就是确定系统的功能,这也为接下来的工作做了一个好的开端。

3.1 系统可行性分析

开发一款程序软件不仅需要时间,也需要人力,物力资源。而进行可行性分析这个环节就是解决用户这方面的疑问,看看程序在当前的条件下是否可以进行开发。

3.1.1 技术可行性分析

此程序选用的开发语言是Java,这种编程语言有着丰富的数据类型,在指令控制语句上也比较完善,更重要的就是对类与对象的大力支持,这些优点为程序开发者提供了技术保障,尤其是现在代码都逐渐模块化,有关系统功能开发的源码在网络上都公开展示了,所以让具备一定计算机开发基础的开发人员独立开发系统在技术上也逐渐容易。

3.1.2 经济可行性分析

开发此程序最关键的设备就是一台电脑,无论是学校计算机室配备的电脑,还是自己入学以来购置的笔记本,都是可以符合开发要求的设备,另外在网络上,学校本已完全覆盖了校园网,所以在设备以及网络上无须考虑经济问题。

3.1.3 运行可行性分析

随着电脑软件以及配套硬件的完善升级,当下的计算机环境是一片大好,尤其是计算机已经广泛普及到家家户户,所以计算机设备现在是随处可见,由于本次开发的程序占有的资源耗费较小,在一般的电脑或笔记本上都能轻松运转起来。
通过上面的可行性描述,可以从经济,技术,运行方面解决程序开发是否可行的问题。因此可以认为该程序软件是可以进行开发的。

3.2 系统性能分析

系统性能分析也是比较重要的内容,进行系统性能分析就是为了确保系统的功能要能够在生活中运行使用时,达到规定的指标,因此一个完整的系统软件,是需要进行系统的性能分析这个步骤的。本次进行性能分析主要从易用性指标,可扩展性指标,系统健壮性指标,系统安全性指标这几个方面进行分析。

3.2.1 易用性指标

本次程序软件的开发的目的就是让使用者可以通过使用该软件提高信息数据的管理效率,同时该程序软件也需要针对不同的操作用户设置对应的功能,因此,此程序的操作流程应该尽量与用户日常操作软件的行为习惯相贴合,另外,程序软件的设计与开发也应考虑非计算机专业用户的计算机操作水平,要让大部分使用者都可以轻松操作程序提供的各个功能。

3.2.2 可扩展性指标

当前需要开发的程序软件是根据当下的用户需求进行设计开发的,但是随着时间的推移,社会大环境的改变,开发出的程序也是需要与时俱进的,需要根据用户不断变换的需求进行相应的功能内容的扩展,需要注意的就是,当对成型的程序进行功能模块新增时,仍然需要保证程序原有架构以及功能不能受到影响,新增的功能模块在系统中也能够运行正常,该指标达标也就可以保证此程序是可以在满足信息管理要求下,从容应对市场环境的变化。

3.2.3 健壮性指标

程序软件的开发就是为了投入使用时,可以一直稳定的处理各种数据信息,程序软件一旦不稳定,也会给使用者带来干扰。因此从性能分析的角度,就要要求程序软件在应对使用者的误操作,或者是使用者因为各种原因,填写有误的数据等情况时,程序要一直保持稳定,并能够正常让使用者进行使用。当程序的某个功能模块出现异常时,程序的其它功能模块也要能够确保正常使用。程序的健壮性指标达标可以让使用者产生良好的用户体验。

3.2.4 安全性指标

程序软件的安全问题是首要问题,毕竟程序对应数据库里面存放的数据信息是庞大的,里面也包括了许多重要的个人信息,这就对程序要具备一个完善的安全机制提出了要求。因此程序必须要设置登录功能用以进行用户身份的检查,以及身份和权限的匹配,通过对不同用户身份进行功能约束,绝不容忍用户越权操作程序。另外,也需要时刻防范计算机病毒,还有黑客,通过采取针对性的办法进行安全应对,确保程序时刻处于安全的环境,让使用者放心使用。

3.3 系统流程分析

3.3.1 操作流程分析

程序上交给用户进行使用时,需要提供程序的操作流程图(如图3.1所示),这样便于用户容易理解程序的具体工作步骤,现如今程序的操作流程都有一个大致的标准,即先通过登录页面提交登录数据,通过程序验证正确之后,用户才能在程序功能操作区页面操作对应的功能。
在这里插入图片描述

3.3.2 登录流程分析

在这个部分,需要对程序的登录功能模块的运行流程(如图3.2所示),进行单独说明。程序设置登录模块也是为了安全起见,让用户使用放心,登录模块主要就是让用户提交登录信息,程序进行数据验证,验证通过的用户才能够成功登录程序。在这里插入图片描述

3.3.3 信息添加流程分析

程序的添加功能就是提供给操作者录入信息的功能,不管是涉及到用户信息添加,还是其它功能模块涉及到的信息添加,程序的信息添加流程(如图3.3所示)都是一致的。程序都是先对操作者录入的数据进行判定,这个判定规则是一段提前编写完成的程序代码,当程序判定数据符合要求时,才会把操作者录入的数据登记在数据表里面,比如添加的用户信息,就会把新添加的用户信息写入用户信息的数据表文件里面。在这里插入图片描述

3.3.4 信息删除流程分析

当从程序里面删除某种无效数据时,遵循程序的信息删除流程(如图3.4所示),先要选中操作者需要删除的数据,程序为了预防操作者误删信息,也会进行提示,当操作者真正确定要删选中的信息时,该信息就会从数据库中被永久删除。在这里插入图片描述

4 系统概要设计

本次拟开发的系统为了节约开发成本,也为了后期在维护和升级上的便利性,打算通过浏览器来实现系统功能界面的展示,让程序软件的主要事务集中在后台的服务器端处理,前端部分只用处理少量的事务逻辑。下面使用一张图(如图4.1所示)来说明程序的工作原理。在这里插入图片描述

1.功能分析

在这里插入图片描述

2.数据库分析

开发一个系统也需要提前设计数据库。这里的数据库是相关数据的集合,存储在一起的这些数据也是按照一定的组织方式进行的。目前,数据库能够服务于多种应用程序,则是源于它存储方式最佳,具备数据冗余率低的优势。虽然数据库为程序提供信息存储服务,但它与程序之间也可以保持较高的独立性。总而言之,数据库经历了很长一段时间的发展,从最初的不为人知,到现在的人尽皆知,其相关技术也越发成熟,同时也拥有着坚实的理论基础。

第五章 系统实现

5.1个人中心
个人中心模块设计的主要目的是方便用户对密码等个人信息进行管理,用户可以根据自己的实际需求,选择每隔一段时间,对个人账户的密码等相关信息进行更新操作,修改密码界面设计如图5-1所示,个人信息界面如图5-2所示。
在这里插入图片描述
5.2基础数据管理
基础数据管理模块设计的主要目的是方便用户对相关的公告类型、楼宇信息进行管理,用户可以选择查看公告类型、楼宇的详细信息,修改公告类型、楼宇的名称,删除失效的公告类型、楼宇信息记录,公告类型管理界面设计如图5-3所示,楼宇管理界面设计如图5-4所示。在这里插入图片描述
5.3公告管理
公告管理模块设计的主要目的是方便用户对相关的公告信息进行管理,用户以选择查看公告图片,增加公告信息记录,删除失效的公告信息记录,公告管理界面设计如图5-5所示。在这里插入图片描述
5.4学生管理
学生管理模块设计的主要目的是方便管理用户对相关的学生信息进行管理,管理用户可以选择查看学生的电子邮箱,修改学生的手机号码,删除注销的学生信息记录,学生管理界面设计如图5-6所示。在这里插入图片描述
5.5公寓管理
公寓管理模块设计的主要目的是方便用户对相关的公寓、公寓人员信息进行管理,用户可以选择查看公寓、公寓人员的详细信息,修改公寓的楼层信息,添加公寓人员的入住时间信息,删除失效的公寓信息记录,公寓管理界面设计如图5-7所示,公寓人员管理界面设计如图5-8所示。在这里插入图片描述
在这里插入图片描述
5.6宿管管理
宿管管理模块设计的主要目的是方便管理用户对相关的宿管信息进行管理,管理用户可以选择查看宿管的电子邮箱,修改宿管的手机号码,删除注销的宿管信息记录,宿管管理界面设计如图5-9所示。在这里插入图片描述
5.7访客管理
访客管理模块设计的主要目的是方便用户对访客信息进行管理,用户可以选择查看访客的详细信息,修改访客姓名,删除注销的访客信息记录,访客管理界面设计如图5-10所示。在这里插入图片描述

6 系统测试

程序软件一旦被开发完成之后,在真正投入日常生活中进行运行使用之前,是必须要经历测试这一个重要的操作环节,因为开发期间注重的是每个单独功能模块的开发,尽管每次开发完成一个单独功能模块时,会通过单元测试进行检验,检验合格才会让程序员继续开发下一个子功能模块,以此类推,当程序员完成所有的系统子功能模块的开发时,这个时候就需要引进系统测试,系统测试就是把所有的子功能模块集成到一起,构建成整个系统,在指定的运行环境下进行运行,主要就是测试系统的所有功能模块在一起是否良好运行,一旦程序软件通过了系统测试这一环节,就意味着它可以进行最终的验收测试了,这个测试步骤的操作用户是程序面向的客户或者是最终用户了。

6.1 系统测试的特点

系统测试也是为了保证系统正式上线后,可以稳定正常运行,给使用者带来便利。系统测试也有其对应的特点:
(1)系统测试它包括了端到端的完整测试;
(2)系统测试也对程序软件的架构方面,程序软件的业务需求等方面进行了测试;
(3)系统测试一旦采用正确的方法进行,这将减少程序正式上线之后产生的各种错误;
系统测试一般都是在跟生产环境相似的环境当中运行,程序的功能比如添加功能,删除功能,修改功能等都会使用同样的数据在新系统和现有系统中进行比较,这样做让用户对新系统中的添加,修改,删除等功能能够更好地理解,也能提升用户对新系统的满意度。

说明文档


前台登录页面
http://localhost:8080/项目名称/front/pages/login/login.jsp

后台登录页面
http://localhost:8080/项目名称/jsp/login.jsp

管理员 			账户:admin 		密码:admin
用户 			账户:a1 		密码:admin
用户 			账户:a2 		密码:admin

在src\main\resources\config.properties中编辑

	jdbc_url=jdbc:mysql://127.0.0.1:3306/项目名称?useUnicode=true&characterEncoding=UTF-8&tinyInt1isBit=false

	jdbc_username=root	    数据库用户名 root
	jdbc_password=123456	用户密码    123456


图片存放路径: src\main\webapp\upload 里面上传图片名里面不能有中文
  • 24
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

懒羊羊h

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值