计算机毕业设计-程序论文-爱心服务捐赠管理系统本系统


本系统开发采用技术为JSP、Bootstrap、Ajax、SSM、Java、Tomcat、Maven

此文章为本人亲自指导加编写,禁止任何人抄袭以及各类盈利性传播, 相关的代码+部署+论文+ppt+代码讲解+答辩指导文件都有可私要

项目源码,请关注❥点赞收藏并私信博主,谢谢~

摘  要

近几年国人素质水平的提升,爱心志愿捐赠服务的活动也越来越多,通过一些捐赠活动可让更多的爱心人士投入到公共事业中来,汇聚小爱,温暖人间。让更多的需要帮助的一些山区留守儿童等得到关爱,通过建立一个专业的爱心捐赠服务平台,面对面的进行捐赠服务对象的管理,通过爱心捐赠系统,搭建起捐赠对象与爱心人士之间的桥梁,让更多需要帮扶的人得到帮助

本次设计的课题为爱心服务捐赠管理系统,主要通过采用Java语言编码,采用JSP进行动态交互设计,采用MySQL对数据信息存储,后台的架构为SSM,前端的界面设计为DIV+CSS,系统整体开发采用MVC的设计模式,在本次系统中主要分为管理员、爱心人士,主要的核心模块为捐赠物品分类、捐赠对象信息管理、捐赠爱心人士管理、优秀爱心志愿者管理、捐赠申请、审核、捐赠邮寄等,此系统设计后界面简洁,符合捐赠系统的实际功能要求

关键词: 捐赠对象;爱心志愿;捐赠服务;SSMMySQL

Abstract

The campus cafeteria is the place where meals are gathered most seriously during the meal time. The consistency of the students' time of class leads to a long queue waiting for meals during the meal time. In order to effectively alleviate the phenomenon of gathering for meals, there has been a campus canteen ordering management system, which can transfer the businesses in the campus canteen to online sales. Students can enter the system in advance to order their favorite meals. The way of purchase can go to the scene to pick up meals, and can also be delivered to the dormitory. This not only improves the phenomenon of dining on campus, but also hastens the canteen management mode, improves the efficiency of canteen management, and ensures the service quality of catering. It can solve the problem that students cannot eat on time when it is time to eat. Many students in colleges and universities have less class time, and most of them are in dormitories. Through the online in-campus canteen ordering system, they can have a convenient and fast dining experience.

For the purpose of the above analysis, the system to be designed this time is the campus canteen ordering management platform. The system design uses Java as the background language code, the front-end uses Html and css for design, and Ajax for asynchronous interaction. The overall architecture uses SSM. The system is mainly divided into the canteen window merchant, student and administrator roles. The main modules of the system design include dish classification setting, merchant dish release, dish listing Home page display of dishes, student registration, student purchase order, purchase order query. The use of the ordering system on campus can facilitate the daily dining of teachers and students, and effectively solve the problem of waiting for meals in the rush hour.

Key words: Management of homestay hotels; SSM architecture; MySQL database; JSP

     

1 概述..................................................... IV

1.1课题背景............................................. IV

1.2网站研究现状......................................... IV

1.3课题研究意义.......................................... V

1.4本文研究内容.......................................... V

2 技术架构概述............................................. VI

2.1 Java分析............................................. VI

2.2 Jsp分析.............................................. VI

2.3 Mybatis分析.......................................... VI

3 需求分析............................................... VIII

3.1系统可行性分析..................................... VIII

3.2 系统功能.......................................... VIII

3.3系统用例分析......................................... IX

4 总体模块设计............................................. XI

4.1系统模块设计......................................... XI

4.2 数据库设计........................................ XIII

5 系统实现............................................... XVII

5.1捐赠衣物类型设置................................... XVII

5.2捐赠爱心用户管理................................... XVII

5.3捐赠对象信息管理.................................. XVIII

5.4捐赠申请审核管理.................................... XIX

5.5捐赠活动发布......................................... XX

5.6爱心人士新增......................................... XX

6 系统测试............................................... XXII

总    结................................................. XXVI

致    谢................................................ XXVII

参考文献............................................... XXVIII

1 概述

1.1课题背景

现如今,在我国全面建设小康社会的遥远路途中,全社会的关注点不再只是国民经济和人民的发展,人们对于社会上的公益慈善事业的关注度也在不断地增加,越来越多的企事业单位和个人开始积极地参与社会公益活动并对其进行捐赠[1],其中不乏包括体育用品、学习用品以及生活用品等,并且捐赠的方式也大有不同,例如公益基金会、慈善组织、社区发展等。然而,由于我们在进行捐赠的管理过程中存在有一些问题,如信息不透明、流程不规范、结果不公布等,导致一些个人甚至是企业利用公益慈善事业,从中牟取私利,给捐赠者带来了很大的困扰和损失[2]。因此,爱心服务捐赠管理系统也就应运而生了。该系统可以实现捐赠过程中的信息公开化以及信息透明化,在简化我们捐赠流程的同时,又可以提高捐赠的效率,可谓是一石二鸟之举[3]。

1.2网站研究现状

当前,我国现有的爱心服务捐赠管理系统在社会公益事业中得到了广泛的应用,同时也收获了一致的好评。该系统的主要目的就是去帮助社会公益组织对捐赠者本人的信息进行统一管理,并且对捐助物的去向进行追踪,实现捐赠过程中的透明度,提高捐赠的有效性[4]。从某一程度上来说,爱心服务捐赠管理系统不仅仅局限于捐赠过程,其功能也有很多,现在我国使用最多的就是由中国红十字会主导研发设计的“博爱通捐赠管理系统”,该系统具有以下几个特点:首先是其具有的捐款功能,捐赠者可以在该系统上选择捐赠金额,之后在选择捐赠受益人或者是要捐赠的项目,并在线进行付款,完成捐赠过程;其次是公益捐赠项目的管理功能,社会公益组织可以在该系统上发布项目信息,其中包括有项目受益人、项目实施计划以及项目成本预算等[5];最后是消息公布功能,系统管理员可以在该系统内向用户发送捐赠和项目进展的通知,其中不乏包括有电子邮件、短信和社交媒体消息等方式。目前,国内外很多的社会公益组织都在使用此类捐赠管理系统去管理捐赠项目。例如,阿里巴巴公益平台、哥伦比亚大学等组织。这些系统在提高社会公益组织的公信力和透明度的同时,也为捐助者提供了更加方便快捷的捐款方式[6]。

1.3课题研究意义

爱心是中华民族所具有的传统美德,从古至今都是被肯定的,受儒家思想熏陶,被各朝各代所推崇。从古至今,贫富差距问题都或多或少的存在,其中也有不少为国家繁荣富强而奉献的伟人。邵逸夫捐赠了6013个学校,为我国教育事业添砖加瓦,被千万学子铭记[7];韩红老师每年组织百人援疆援藏活动,为贫困地区送温暖[8]。但是这些企业家、明星有渠道去进行捐赠,我们普通人呢?一件衣服、一双鞋子、一些书本我们通过哪里去捐赠呢?所以,我本次论文的主题是爱心服务捐赠系统,为的就是让普通人也可以进行到爱心捐赠之中去,爱心不止于百万富翁,爱心存在于普通人心中,举手之劳亦可以为贫苦地区的孩子提高生活质量,通过本系统精准对接被捐赠人,既可以使捐赠人更有参与感,也可以使捐赠落到实处,体现了捐赠的透明化和全民化,相信有了这个系统,会减少资源浪费和闲置现象,全民的幸福感会稳步提升,社会的发展指日可待[9]。

1.4本文研究内容

在本内容的设计中主要是从六方面角度进行分析阐述,第一部分主要是对系统的背景进行调研,以及对当前的已有的相似系统进行对比分析,第二部分主要是对开发中的一些架构以及涉及到的语言在本系统中的优势进行分析,第三部分主要是对系统的设计过程中整理的需求以及一些可行性进行分析,第四部分主要是对系统的底层逻辑架构以及交互的过程图等进行设计,第五部分主要是对整体系统的代码编写开发进行设计,第六部分是对设计完成后的测试以及测试用例进行编写。

2 技术架构概述

2.1 Java技术

Java语言基本是目前设计网站的最为热门的开发语言,Java其实很多方面还是跟C++相似的,但相对于C++来说Java更易于对象编码,Java中将指针进行了废除,且java不支持goto语句[10],Java具有自己的特性,封装、继承、多态,通过这三类特性可让接口得以实现,以及让类的父子级进行继承,Java语言具有强的可移植性,可通过不同的运行环境进行编译,对于硬件环境都是可移植的,而且Java还支持多线程的编码以及搞性能的运转[11],在编译运行java程序时要通过环境进行源文件的解读,通过对于的java虚拟机来运行class文件,然后运行成功。

2.2 Jsp界面设计

JSP是一种界面前端的开发语言技术,全称为Java Server Pages,顾名思义为Java的服务页面技术,在JSP中主要是在html静态界面的基础上进行动态化设计,在界面中可对Java的代码进行解析融合[12],主要通过<%%>来嵌入实现,JSP是一种Servlet,主要作用就是对web应用的前端程序进行处理。在JSP同样可进行数据库的调用执行操作以及对一些动态c标签或者是s标签的嵌入以及一些不同界面的数据中转传递。相对于ASP来说,JSP基于Java基础也是跨平台的,且编译同样为class文件,相对于静态html来说,增加了数据的后台处理以及用户的真实交互[13]。

2.3 Mybatis架构

MySQL作为底层的优质的Orm的半自动架构,而相对比来说Hibernate为对象型的全自动架构,在进行数据的关联查询时主要是通过手动的SQL编写实现,这样可确保查询服务性能的最大化[14],正因为开发者自己编写SQL,因此对应一些繁琐的复杂查询的项目来说,Mybatis的SQL执行性能灵活度非常高,而Hibernate则较为固定,对多表查询来说效率较低,在Mybatis中可将架构分为三层,第一层为API接口层,主要是通过dao层的mapper接口进行定义[15],对外展示一些数据调用层处理,第二层为SQL层,主要是通过xml对SQL进行匹配定义以及SQL的解析和SQL的执行映射等,第三层则为对JDBC的封装,包含一些底层的链接事务处理,以及一些加载的底层配置等[16]。

3 需求分析

3.1系统可行性分析

(1)技术可行性:

在对技术方面进行考量,主要是对当前已存在的一些技术结合自己平时接触的一些软件知识架构或者是自己易于上手的一些软件等进行选择,首先作为一个编码小白来说尽量选择开发语言简单的,因此综合选择Java,Java基本只需在学习后对自己的业务类进行编码学习,不需要考虑一些繁琐的底层机制,且Java可选择的架构较为多,从中选择了Spring、Mybatis,对于接口类架构层选择SpringMVC,对于底层的JDBC封装来说则Mybatis更为有效,可将底层业务代码和执行SQL分离,这样解决了数据库的耦合度问题。

(2)经济可行性:

从软件开发经济角度来说,首先是判断投入时长比,分析需要投入的人次以及技术人员和维护人员需要后期的投入开发时间,需要判断软件的体量大小,在前期初期设计时若体量较大则可分为几期进行开发,对于一些一次性的投入,比如软件的购买、技术类的花销,则在使用时尽量选择开源技术,保证这类投入的最低消耗,网络和服务器的投入则需要正常的采买,保证服务的客观因素不受影响。

(3)法律可行性:

从软件设计来说,首要注意的就是法律可行,一切开发都要建立在合规的基础上,从一开始的设计的思路的构建,到对一些参考文献的搜集,以及对一些开源的语言和架构的利用,在SSM架构的搭建中也是通过一些学术论坛和网站对知识进行变换来实现的,在模块的设计以及代码的设计也都是自身参与全部设计的,采用的软件MySQL、JDK等都是开源的,因此法律来说是完全合规的。

3.2 系统功能

(1)捐赠对象管理

在管理员端可对一些爱心驿站的捐赠对象人员进行管理,对人员的一些基本家庭信息以及一些个人信息进行录入,可对人员信息维护。

(2)捐赠爱心人士管理

可对一些爱心人士信息进行管理,可对爱心人士进行推广发布,对人心居民进行宣传推广。

(3)捐献注册用户

可对捐赠的注册人员信息进行管理,对人员的一些注册账号、以及注册个人信息进行维护。

(4)爱心捐赠申请

人员可进行爱心的捐赠的申请,可对申请记录进行查询,对捐赠人以及捐赠的对象进行设置,可发布捐赠信息。

(5)捐赠审核

管理员端可进行捐赠的审核操作,可对捐赠数据进行审核,审核通过后需输入快递邮寄信息。

(6)捐赠活动发布

管理员可对捐赠活动进行发布,可设置活动的图片信息以及活动信息进行管理设置。

(7)捐赠公告

管理员可发布一些捐赠的公告信息,可在首页对捐赠数据展示

(8)捐赠衣物类型

管理员可对捐赠的类型进行设置,可对类型进行定义。

3.3系统用例分析

在系统端主要分为管理员和用户,管理员主要负责捐赠的对象以及捐赠的衣服的类型以及捐赠的人员信息进行管理,可对捐赠进行申请和审核,用户端则主要是捐赠人的捐赠活动查询以及捐赠申请、快递邮寄。

图3.1系统用例图

3.4系统性能分析

在本次系统设计中除了对核心的业务模块进行梳理,同样要对一些非业务功能进行考虑设计,比如从一些安全性的角度、兼容性角度以及一些并发量的角度等进行分析。

安全性来说主要是要保证用户在此系统中的基本信息不被泄露,保证人员的信息完整性以及保证数据的保密性,可进行一些加密操作。

兼容来说,主要是是对一些不同的浏览器进行兼容,以及对一些不同的服务器的部署进行操作,保证界面正常可操作。

响应度,主要是是保证系统在操作是的交互过程不超过3s响应,保证数据的存储和查询的快速有效。

4 总体模块设计

4.1系统模块设计

通过此系统的设计主要模块有用户注册登录、用户管理、捐赠对象管理、服饰类型管理、捐赠管理、捐赠审核、优秀爱心人士管理等服务。

图4.1系统模块图

人员可在此平台进行注册,通过注册后形成自己的账号信息,后台可查询都此人的注册完整信息,注册爱心人士用例的实现顺序图如图4.2所示。

管理员可对捐赠对象进行创建,可通过输入对象的信息进行为空验证后进行提交,创建捐赠对象用例的实现顺序图如图4.3所示。

管理员可发布一些捐赠的额活动信息,可通过活动进行展示,发布捐赠活动顺序图如图4.4所示。

4.2 数据库设计

在系统的数据存储中主要是通过MySQL进行表式存储,在本系统中主要是通过对以上的模块进行划分,然后根据每个模块对应的字段值进行表字段设计,在数据库中逻辑设计中可通过E-R图进行关联。

依据建立的ER图对数据库表进行转换,爱心公益信息表如表4.1所示

表4.1爱心公益信息表

列名

字段属性列

约束默认

属性描述

aixingyxizj

Int(6)

int增加

爱心公益id(主键)

aixingyxier

varchar(30)

爱心公益标题

aixingyxigf

varchar(155)

活动内容

aixingyxicxw

files

爱心公益描述图

aixingyxiewe

date

格式yyyy-mm

爱心公益日期

aixingyxifdf

Int(2)

0或者1

爱心公益状态

爱心捐赠人士如表4.2所示,

表4.2 平台爱心捐赠人士信息表

列名

字段属性列

约束默认

属性描述

aixinjuminzj

int(6)

int增加

爱心居民(主键)

aixinjuminfe

varchar(15)

必须唯一

爱心居民账号

aixinjumintr

varchar(35)

爱心居民密码

aixinjuminfg

varchar(45)

爱心居民名字

aixinjuminxc

varchar(5)

爱心居民状态

发布捐赠公告信息如表4.3所示,

表4.3捐赠资讯表

列名

字段属性列

约束默认

属性描述

pintaizixidzj

int(6)

int增加

平台资讯ID(主键)

pintaizixidfs

varchar(15)

必须唯一

爱心资讯标题

pintaizixier

varchar(35)

爱心资讯公告

pintaizixigfx

varchar(45)

爱心资讯日期

捐赠详情记录表如表4.4所示,

表4.4捐赠详情记录信息表

列名

字段属性列

约束默认

属性描述

juanzenidzj

int(6)

int增加

捐赠ID(主键)

juanzeniferr

varchar(15)

必须唯一

衣物类型id(外键)

juanzenidfds

Date

捐赠日期

juanzenisxv

varchar(45)

衣物新旧程度

juanzenifgfh

int(6)

衣物描述

juanzenixcer

Date

捐赠对象id(外键)

juanzenigrt

int(6)

捐赠爱心人士(外键)

juanzenicfg

varchar(45)

邮寄快递类型

juanzenity

varchar(45)

邮寄快递单号

juanzeniffrt

varchar(5)

0或者1

捐赠邮寄审核

衣服详细分类信息表如表4.5所示,

表4.5衣物详情分类信息表

列名

字段属性列

约束默认

属性描述

fenleizhujih

int(6)

int增加

分类ID(主键)

fenleizhujfrr

varchar(15)

必须唯一

赠物分组名称

fenleizhujhfv

varchar(35)

赠物分组描述

fenleizhujdrf

varchar(5)

赠物分组状态

贡献爱心居民信息表如表4.7所示,

表4.7贡献爱心居民信息表

列名

字段属性列

约束默认

属性描述

renyuandid

int(6)

int增加

人员ID

renyuandfdf

varchar(15)

必须唯一

捐助者名

renyuandyun

Date

捐助者头像

renyuandcvr

varchar(45)

优秀爱心实际介绍

renyuandeth

Date

日期格式

发布日期

捐赠对象信息表如表4.8所示,

表4.8捐赠对象信息表

列名

字段属性列

约束默认

属性描述

bangfuredzid

int(6)

int增加

帮扶人员对象ID

bangfuredfe

varchar(15)

必须唯一

帮扶人员姓名

bangfuredgh

Date

帮扶人员电话

bangfureddf

varchar(45)

捐赠类型

bangfuredcv

varchar(45)

帮扶人员地址

bangfuredvb

varchar(45)

帮扶人员介绍

bangfuredhj

varchar(45)

帮扶人员家庭描述

5 系统实现

5.1捐赠衣物类型设置

管理员使用管理员账号登录此系统,点击服饰分类管理,在此界面可对服饰分类信息进行新增操作,输入服饰类型名称和类型描述信息后,则完成服饰分类信息添加的操作,管理员对此信息可进行删除和编辑操作。在左侧界面中主要是通过menu进行设计,在右侧为查询的table的实体信息,通过在初始化界面时设计page为1,然后通过showdatapage进行数据的分页的查询,通过controller层进行调用,然后首先进行getcount的总数页码值,通过pagehilper对分页值进行计算,在底层的SQL层执行select * from types limit进行分页数据查询,最后进行数据的result的展示,在界面层获取到list数据后通过foreach进行循环展示。

图5.1系统捐赠分类设置

5.2捐赠爱心用户管理

管理员点击爱心捐赠用户管理模块,在此界面输入爱心捐赠用户的姓名、身份证号、用户名、密码、电话、邮箱的信息后,就完成了爱心捐赠用户信息的添加,管理员对这些信息可进行删除和编辑操作,在输入框内输入姓名,可对爱心捐赠用户的信息进行查询。通过menu进行设计,在右侧为查询的table的实体信息,通过在初始化界面时设计page为1,然后通过showdatapage进行数据的分页的查询,通过controller层进行调用,然后首先进行getcount的总数页码值,通过pagehilper对分页值进行计算,在底层的SQL层执行select * from types limit进行分页数据查询,最后进行数据的result的展示,在界面层获取到list数据后通过foreach进行循环展示。

图5.2捐赠爱心用户

核心代码如下:

  if (page == null || page == 0) {

            Pagefenye.setToPageNo(1);

            list = renService.fenyecahxun(1);

        } else {

            Pagefenye.setToPageNo(page);

            list = renService.fenyecahxun(page);

        }

        moxing.addshujxinx("renList", list);

        moxing.addshujxinx("Pagefenye", Pagefenye);

        return "aixinuser/showren";

5.3捐赠对象信息管理

此界面管理员对捐赠对象的人员名称、电话、地址、救助描述、家庭情况、捐赠类型的信息输入完成后,即完成对捐赠对象的新增操作,管理员对这些信息可进行删除和编辑操作,输入捐赠对象的姓名即可完成查询。通过menu进行设计,在右侧为查询的table的实体信息,通过在初始化界面时设计page为1,然后通过showdatapage进行数据的分页的查询,通过controller层进行调用,然后首先进行getcount的总数页码值,通过pagehilper对分页值进行计算,在底层的SQL层执行select * from types limit进行分页数据查询,最后进行数据的result的展示,在界面层获取到list数据后通过foreach进行循环展示。

图5.3系统人员对象设置

5.4捐赠申请审核管理

管理员使用账号登录此系统,在捐赠管理模块可看到捐赠对象、衣服、新旧程度、数量、爱心人士、捐赠描述、捐赠日期的信息,管理员对此信息申请可进行审核通过和审核驳回的操作。在controller层可对所有的待审核的数据值进行获取,通过querydatabystatus进行数据的查询,然后通过select进行数据查询过滤,通过resultmap对结果集进行封装,在查询后foreach进行展示,可通过updatestatus进行更新操作,通过点击审核进行edit编辑,对status状态值进行更新。

图5.4捐赠审核

捐赠核心代码如下:

  @RequestMapping(value = "/add" )

    private String add(Juanzeng juanzeng, HttpServletRequest request) throws Exception {

        HttpSession session=request.getSession();

        Integer rentuserid=(Integer) session.getAttribute("userId");

        juanzeng.setStuid(rentuserid);

        Date currentTime = new Date();

        SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");

        String dateString = formatter.format(currentTime);

        juanzeng.setRiqi(dateString);

        juanzeng.setStatus(0);

            juanzengService.add(juanzeng);

        return "redirect:/juanzeng/showjuanzengstu";

    }

5.5捐赠活动发布

管理员进入系统后,在爱心捐赠活动管理界面,输入捐赠活动名称、活动描述、举办地址和举办时间后,并选择活动图片进行上传,即可完成对捐赠活动的发布操作。在界面中右侧进行addcontent的新增,通过对input中的数据内容进行填写,然后通过文件进行上传file的绑定,对数据值信息进行post方法的提交,通过js对数据验证后进行controller层的接收封装,然后通过调用service进行add方法保存,底层通过insert保存插入。

图5.5捐赠活动新增

5.6爱心人士新增

管理员登录此系统,点击优秀爱心捐赠用户管理,在此界面输入爱心人士姓名、爱心人士优秀事迹,并上传爱心人士照片后,点击提交,即可完成对爱心人士的新增操作。通过对内容进行填写,然后对input中的数据内容进行填写,然后通过文件进行上传file的绑定,对爱心人士的头像进行上传,对数据值信息进行post方法的提交,通过js对数据验证后进行controller层的接收封装,然后通过调用service进行add方法保存,底层通过insert保存插入。最后将result结果返回到界面,重定向到查询信息。

图5.6爱心人士新增

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值