志愿者服务系统设计与实现.docx
ABSTRACTWith the increase in the number of volunteers and volunteers in the field of services has also increased rapidly, involving multiple areas of poverty alleviation and development, community construction, environmental protection, large competitions, emergency relief and other. Rising complexity of volunteer business management process, therefore in order to improve the efficiency of the volunteer service, need to use advanced computer technology to develop automation of volunteer service system, to achieve volunteer management, information dissemination and management.At first, the paper describes the volunteer service system development background, elaborated the system to achieve the objective and significance, and focuses on the system in the domestic and foreign research status, and describing the system research methods, proposes a volunteer service system based on Java EE. Secondly, the detailed analysis the main content of Java EE, respectively is the JSP technology and Java Bean database access technology and its application in the development of volunteer service system are analyzed, and also describes B / S architecture technology, Tomcat server and My SQL number database technology, for the development of volunteer service system provides the basis. Then the from four aspects of the management feasibility, economic feasibility and social feasibility and technical feasibility argued the system development is feasible, through the research and analysis of volunteers, using a prototype analysis method todeduce the system business logic function, respectively is voluntary user management, project management, attendance management and information release management in four key function, analysis the system logic of the business process, from the aspect of system security, response and consistency of performance analysis, insure the business processing systems to meet the demand of efficient, safe and reliable. Then, the design of the system is carried out. Based on the system analysis, the design of the system is carried out. First, design the overall structure of the system, then the key functional modules for the system implementation process of the design, while the design of a high performance database, support for the operation of the system. Last, the paper uses Java programming language to develop related components in the process of volunteering system operation. They connect to the database components,operation of the database components, and describe the key function for the realization of the content and the algorithm flow.KEY WORDS:Volunteer service system, Java, B/S architecture, Database目录摘要IABSTRACTII第一章 绪论11.1 论文研究背景11.2 论文研究意义11.3 国内外研究现状11.3.1 国外研究现状11.3.2 国内研究现状21.4 论文研究方法31.5 本文主要内容31.6 本文组织结构4第二章 背景技术52.1 系统体系架构52.2 J2EE 框架技术52.3 系统核心实现技术62.3.1 MVC 模式62.3.2 Servlet 技术72.2.3 JSP 技术72.3.4 JavaBean 组件技术82.4 服务器技术92.5 My SQL92.6 本章小结10第三章 系统需求分析113.1 系统可行性分析113.1.1 管理可行性分析113.1.2 经济可行性分析113.1.3 社会可行性分析113.1.4 技术可行性分析113.2 系统业务流程分析113.3 系统角色用例分析123.4 系统非功能需求分析153.5 本章小结16第四章 系统设计174.1 系统设计原则174.2 系统网络架构设计174.3 系统软件架构设计184.4 系统功能结构设计204.4.1 志愿者用户管理功能204.4.2 志愿者项目管理功能204.4.3 志愿者培训管理功能214.4.4 志愿者考勤管理功能224.4.5 志愿者信息发布管理功能234.4.6 应急预案管理功能234.5 系统数据库表结构设计244.5.1 数据库概念设计244.5.2 数据库表设计254.6 本章小结28第五章 系统实现315.1 系统实现环境315.2 系统核心技术实现325.2.1 定义系统 Bean325.2.2 会话 Bean 的实现方法335.3 系统数据库访问接口实现345.4 系统功能实现395.5 系统测试及结果分析515.5.1 系统功能测试515.5.2 系统性能测试525.6 本章小结54第六章 总结与展望556.1 本文总结556.2 未来工作展望55参考文献57致谢61第一章 绪论第一章 绪论1.1 论文研究背景随着志愿服务事业快速发展的形势要求,志愿服务项目众多,志愿者服务人员也越来越多,因此传统的人工、半人工管理模式已经不适合现代志愿服务工作的需求,亟需开发一个功能完善的志愿者服务系统,建立覆盖志愿服务全过程及一体化在线综合管理服务系统,能够采集、统计志愿服务运行情况,以便能够将数据作为社会建设综合指标和精神文明创建工作测评的基本依据。志愿者平台的基础功能是志愿者志愿项目报名、上下岗考勤和服务时间统计,在此基础上对项目发布、招募录用、在线培训、交流分享、激励维系等进行信息化管理,具有重要的作用和意义。1.2 论文研究意义随着互联网、分布式计算和数据库技术的高速发展,志愿者服务系统得到了广泛的应用,实现了志愿者服务自动化、信息化管理模式,提高了志愿者信息管理工作质量和工作效率。理论意义:志愿者服务系统开发和实现完成后,其可以丰富志愿者管理的方法,并且验证系统开发技术、架构是可用的,可以在志愿者服务领域得到广泛的应用。实用价值:志愿者服务系统可以为志愿者管理机构提供自动化、智能化的管理工具,为志愿者提供信息的实时性发布和管理,具有较高的实用价值。社会经济效益:志愿者服务系统可以改变志愿者管理方式,使用先进的计算机工具提供志愿者信息管理,能够突破时间、空间限制,形成一种新型的志愿者服务管理模式,这也是志愿者服务行业发展和应用的关键方向,可以有效提高志愿者服务行业信息化水平。1.3 国内外研究现状1.3.1 国外研究现状目前,国外志愿者服务信息管理已经取得了非常高的信息化管理成绩。据统计,截至 2015 年末,欧美等西方国家大约有 60%左右的志愿者服务信息管理采3用自动化、智能化管理的方式,以便满足科研用户需求,保障志愿者服务信息管理能够得到快速处理。美国、日本、韩国、英国等国家研究人员先后使用分布式管理系统架构 B/S 体系架构开发设计了分布式的志愿者服务信息管理系统,该类系统可以充分地利用新型的网络平台,随时随地的接入系统。因此,使用这种系统架构可以有效的提高志愿者服务信息管理效率。随着多媒体通信、数据库技术、云计算技术、软件工程技术的快速发展和进步,志愿者服务信息管理系统已经取得了广泛的普及,具有重要的作用,尤其是在志愿者服务信息管理系统领域,取得了显著的成效。为了提高志愿者服务信息管理效率和质量,在志愿者服务信息管理系统的开发和实现过程中引入了先进的工作流技术,该技术可以实时化地根据企业需求构建实时性、可扩展性的志愿者服务信息管理流程。美国华盛顿州立大学在志愿者服务信息管理系统中引入了组件技术、云计算技术,能够很好的评估志愿者服务信息管理需要的成本;德国慕尼黑大学开发了有一种基于大数据分析的志愿者服务信息管理系统,并且在系统实现时引入了风险评估机制,能够利用大数据技术评估志愿者服务信息管理存在的风险,确保志愿者服务信息管理高效率、高质量和智能化1。1.3.2 国内研究现状在国内,志愿者服务系统能够通过应用业务软件,依托互联网云平台,将传统的纸质办公方式转移到以计算机为核心的网络中,有效利用计算机的自动化和智能化处理功能。随着我国政府给予政策性支持,有关专家也在志愿者服务系统领域投入了巨大的人力、物力和财力,购买了许多的应用服务器、防火墙服务器、光纤存储阵列服务器等,组建了功能完善的硬件机房,同时开发设计了许多的志愿者服务系统。李敏2在社区服务系统的开发与设计过程中引入了构件化思想, 利用模块化思想开发系统。付婷婷3等人在系统开发与设计中引入了 ASP .NET 技术,这些技术可以大幅度提升志愿者服务系统的交互性、便捷性、安全性和一致性。钟燕红4在志愿者服务系统开发中引入了 B/S 架构模式,其可以有效的将志愿者服务系统划分为三个逻辑不通的层次架构,并且可以大幅度提升系统逻辑独立性和可扩展性。王晖玲5等人在志愿者服务系统实现过程中引入了工作流技术,该技术可以根据志愿者服务系统的实际需求,动态调整系统流程,可以大幅度提升了志愿者服务信息管理质量,具有重要的作用。王浩楠6等人将 JSP 技术引入到了志愿者服务系统开发过程中,能够适应现代网络用户作业需求,提高了系统的可移植性。邹敏7等人基于 J2EE 技术开发和实现了一套完整的志愿者服务系统,可以大幅度提高志愿者服务信息管理工作的质量,保证志愿者服务系统管理顺利,具有较好的作用。目前,国内外志愿者服务系统已经在架构上采用了分布式 C/S 体系架构、B/S 体系架构或二者的混合架构等先进模式,在开发技术上,引入了工作流技术、数据挖掘技术、组件技术等,有力地促进了志愿者服务系统的开发和实现性能。1.4 论文研究方法志愿者服务系统开发过程中,采用的研究方法包括文献研究法、经验探索法和调查研究法8。(1) 文献研究法。通过对志愿者服务系统相关文献的查阅、整理和分析, 总结前人在该领域的研究成果和不足,为本论文的理论研究奠定基础。(2) 经验探索法。论文研究过程中,通过从分布式管理系统设计、实现与部署运行得到的经验,解决工作实际中遇到和接触一些有碍系统开发与设计存在的问题,总结解决经验,将其运用于系统设计与实现过程中,对今后的工作具有很好的指导作用和应用价值。(3) 调查研究法。论文对志愿者服务管理工作涉及到的人员实施调查走访,综合指导意见,提出一个适于志愿者服务管理未来发展的、较为完善的分布式管理系统。1.5 本文主要内容本文通过文献阅读、软件工程、需求管理、系统设计和系统实现等研究方法的结合下,开发了一个功能完善的志愿者服务系统,研究内容主要分为系统需求分析、系统功能设计、系统功能实现等三个关键方面:(1) 系统需求分析。志愿者服务管理过程中,其涉及的业务非常多,如志愿者用户管理、志愿者项目管理等,这些业务管理过程中,涉及的业务种类多, 管理的信息内容也较多,因此为了能够更好的实现系统功能,本文对系统进行了调研和分析,规范了志愿者服务管理流程,完成了系统的逻辑业务功能分析,分别是志愿者用户管理、项目管理、培训管理、考勤管理、信息发布管理和应急预案管理等六个关键功能,分析了系统的逻辑业务流程,从系统安全性、响应性、一致性等方面进行了性能分析,保证系统业务处理满足高效、安全和可靠的需求。(2) 系统功能设计。论文首先描述了系统设计原理,描述了系统的总体架构,针对系统总体功能架构、系统软硬件服务部署架构进行了重点设计,同时描述了系统的数据库访问组件,分别是系统访问接口、访问工程和相关的核心类, 对系统功能模块进行了详细设计,同时针对系统的数据库进行了设计,使用系统E-R 图和关系表设计了一个数据插入、修改、删除和查询等操作安全、可靠的系第一章 绪论统数据库。(3) 系统功能实现。论文采用了 B/S 体系架构,基于 IE 浏览器可以登录前台页面处理逻辑业务,因此为了能够适应网络分布式管理,论文采用 Java 程序语言开发了 JavaBean 数据库访问组件和 JSP 页面,能够提高系统的访问性能,同时为系统提供一个功能完善的系统处理服务。1.6 本文组织结构第一章描述了志愿者服务系统开发的背景,阐述了系统实现的目的与意义, 同时重点介绍了系统国内外研究现状,并且描述了系统研究方法,提出了一种基于 Java 程序语言志愿者服务系统。第二章详细地分析了 J2EE 技术的主要内容,分别是JSP 技术、JavaBean 数据库访问技术,分析了其在志愿者服务系统开发中的应用,同时描述了 B/S 体系架构技术、Tomcat 服务器、MySQL 数据库技术,为志愿者服务系统开发提供基础。第三章从管理可行性、经济可行性、社会可行性和技术可行性四个方面验证了系统开发是可行的,通过对志愿者进行调研和分析,使用原型化分析方法导出了系统的逻辑业务功能,分别是志愿者用户管理、项目管理、培训管理、考勤管理、信息发布管理和应急预案管理等六个关键功能,分析了系统的逻辑业务流程, 从系统安全性、响应性、一致性等方面进行了性能分析,保证系统业务处理满足高效、安全和可靠的需求。第四章对系统进行了设计。在系统分析的基础之上,针对系统实施了设计。首先设计了系统的总体体系架构,接着针对系统的关键功能模块的流程实施了设计,同时设计了一个性能优良的数据库,支撑系统的运行。第五章根据系统的主要功能模块,使用 Java 程序设计语言开发了志愿者服务系统操作过程中的相关组件,分别是连接数据库组件、操作数据库组件、处理字符串和实践的字符串,并且描述关键功能的实现内容和算法流程,描述了系统实现的运行截图和性能测试结果。第六章总结了论文主要工作内容,同时对未来发展方向进行了展望。4第二章 背景技术第二章 背景技术2.1 系统体系架构志愿者服务系统设计过程中,为了能够适应未来海量用户并发操作系统,访问系统的而数据资源,需要大幅度提升分布式软件的交互性能、处理速度,志愿者服务系统设计过程中采用一种三层的B/S 架构9。志愿者服务系统运行过程中, 系统的用户资源会迅速上升,基于 C/S 体系架构模式的系统不能够满足海量用户使用,比如由于志愿者大多非计算机专业人员,C/S 架构10的系统在安装过程中, 由于不同的计算机硬件资源、软件操作系统等不同,出现的问题也各不相同,B/S 架构图如图 2-1 所示。客户端Web 服务器数据库服务器HTTP界面结果HTTP请求SQL 请求图 2-1 B/S 体系架构图2.2 J2EE 框架技术志愿者服务系统开发过程中,其可以采用强大的 J2EE 开发平台,该平台与传统的应用开发不同,该系统的各个组成部分均采用了先关的组成标准和规格, 根据不同的服务类型和系统的估摸,可以使用 J2EE 平台进行选择性开发11,以便能够有效地降低企业分布式管理系统的开发成本,并且能够迅速的进行部署和使用,缩短了开发周期12,J2EE 技术已经经过验证,适用于各类企业的应用程序,比如自动化管理系统、金融服务系统、通讯管理系统13。本文基于 J2EE 开发平台,将其应用于志愿者服务系统。J2EE 技术开发模型的架构是多层的,其由不同的应用组件共同构成,同时组件分布于系统的各个应用层14,目前,从使用的角度来讲,Sun 公司提取使用 J2EE 平台技术。在 J2EE 架构体系里,Struts 是一种具体的应用架构,该架构是一种当前较为流行的分布式管理系统开发软件,其可以与当前的 Web 业务进行相互结合,为程序员提供编写程序的 GUI 界面15,Struts 的最重要的理念是将逻辑业务功能处理从输出页面中分离出来,以便能够更好地将应用程序的输入、操作处理和输6出分开,近年来,Struts 已经成为 Java 程序设计员最为广泛使用的一种设计模型16。志愿者服务系统采用 Struts 三种框架模型,其可以将志愿者服务系统分为表示层、业务逻辑层、数据访问层17,可以将系统的运行界面、逻辑业务处理、数据处理等进行逻辑业务分离。Struts 模式主要包括三个关键组成内容18,分别是模型、视图、控制器三个关键部分,可以实现应用输入、处理和输出。Struts 是 J2EE 的一种具体应用实现,其继承了 J2EE 的关键功能和各项特性,并且能够根据 J2EE 技术的相关特点作出了相关的适应性变化和扩展19,图2-2 为 Struts 框架响应用户请求的处理过程如图 2-2 所示。用户请求ActionServer接受请求根据ActionMapping将请求映射至Action需要ActionFormActionServer接受请求调用Action的Validate()方法调用Action的execute()方法验证成功产生错误返回客户端执行成功产生错误信息调用Action的execute()方法返回ActionForward对象根据ActionForward转发下一个JSP或Action产生视图响应客户图 2-4 Struts 工作原理2.3 系统核心实现技术2.3.1 MVC 模式MVC 是 Model、View、Control 三个词的缩写,其可以负责完成模式、视图和控制之间的信息转换和处理功能,并且利用先进的数据库操作实现信息的加工和管理,控制数据视图,将 Java 语言开发的程序进行操作和处理,接着可以把第二章 背景技术处理完的数据反馈给 Model,接着反馈给用户端20。MVC 模式如图 2-3 所示。模型查询状态变化通知改变状态访问应用功能用户行为视图选择视图控制图 2-3 系统 MVC 开发模式2.3.2 Servlet 技术Servlet 是 Sun 公司在服务器端的重要技术组件,它被称为 Java 服务器端的应用性相关的小程序,它能够编写动态的 Web 页面进行处理21,可以实现独立的、协议的及相关的平台特点,他们的角色就是服务器响应客户请求之间的中间层的处理功能,也就是 HTTP 之上的应用程序或数据库处理程序,并且 Web 浏览器功能能够访问服务器,并对数据进行加工和处理,Web 服务器就可以实时的加载系统业务功能,因此可以支持 Web 服务器处理 Java 类型的虚拟机,并且能够和公共网关接口进行 CGI 比较类似,这样的 Web 服务器可以完全支持 Servlet 的功能和类型,在实现服务器处理内容的安全性和可移植性中,具有重要的作用和意义22。Servlet 容器如果存在相关的运行程序,此时Web 服务器就可以为其提供强大的操作处理性能,通常情况下,Web 服务器处理可以针对客户端的各种资源进行有效的请求和处理,如果客户端 Servlet 可以实现逻辑业务请求进行处理。2.2.3 JSP 技术随着志愿者服务系统的快速提升和进步,志愿者服务系统的开发和实现过程中已经引入了多种技术,尤其是前台页面处理技术,前台页面处理技术已经有了很多,比如 PHP 技术、Dreamweaver 技术、JSP 技术、ASP .NET 技术。本文提出的志愿者服务系统开发过程中,系统开发采用 JSP 技术,该技术主要包括以下几个方面的关键优势:JSP 技术可以与 JavaEE 平台、Struts 架构、Hibernate 架构等进行相互配合和结合,进一步能够实现一个功能完善的前台页面处理系统923,并且能够将其应用到分布式管理系统开发过程中。JSP 可以为基于 JavaEE 架构开发的分布式管理系统提供应用服务处理功能,实现分布式管理系统事务分析与处理。JSP 技术可以为分布式管理系统软件提供用户身份验证、数据存储、时间日期等基础性能服务。JSP 技术具有平台无关系,因此JSP 技术开发的志愿者服务系统可以适用于不同的终端设备,并且为分布式管理系统的前台输入输出提供硬件终端设备,包括 PC 终端设备、移动智能终端设备和嵌入式终端设备等。具有重要的作用,具体的,两种工作模式如图 2-4 所示。J2EE服务器客户端层EJB容器信息系统层HTTPS客户端Enterprise JavaBeansSOAP客户端Web服务器JSP,ServletsHTML/XML客户端Enterprise JavaBeans关系数据库传统应用ERP系统Web容器其它服务JNDI,JMS,JavaMail图 2-4 JSP 工作模式2.3.4 JavaBean 组件技术志愿者服务系统实现过程中,为了提高数据操作的准确度和系统的可移植 性,论文采用 Java 程序设计语言开发了一个功能完善的 JavaBean 数据库访问组件24,这个组件可以负责数据库连接、插入、删除、修改和查询等操作,这些组件可以将应用程序封装在组件中,能够重复性使用,提高应用软件开发的速度, 缩短了志愿者服务系统开发的生命周期25。在应用软件开发过程中,数据库操作是系统最为关键的一个功能,数据库操作功能封装到组件中之后,可以为用户提供接口文件,明确展示系统数据库接口操作的参数资源,这样就可以解决重复性的简单劳动,将软件工程师的精力集中到应用系统架构设计、先进技术开发过程中,更好的提高应用系统的处理速度和性能26。JavaBean 组件实现过程中,其可以为用户提供的功能包括很多种,比如提供一个强大的基础类库资源、Web 服务资源、用户界面资源,并且支持 Java 语言开发应用程序,能够进一步改进系统的工作性能27。志愿者服务系统设计与实现过程中,系统数据操作之前必须建立一个稳定的、可靠的数据操作连接功能,可以实现数据库的驱动程序加载、数据库驱动程序的连接状态管理、数据库离线传输数据等功能,数据库连接组件可以提高系统的连接功能,连接数据库的 JavaBean 组件可以连接的功能分别是 SQLServer、Oracle、MySQL 等。插入数据库的 JavaBean 组件可以根据用户需求,实现数据信息插入管理,数据插入规程中,能够保持数据库的实时连接,这样就可以批量的将数据插入到数据库中,实现数据库的写入操作。数据库删除组件可以有效的执行数据库的删除操作,这样就可以实现数据库的删除操作管理,实现数据库的删除管理操作,进一步的改进数据库的相关操作。修改数据库内容的 JavaBean 组件可以更好的启动数据库的修改操作,这样就可以实现数据库内容的操作管理,可以根据操作需求改进数据库内容;查询数据库的 JavaBean 组件可以实现数据内容的查询管理,这样就可以进一步改进数据库的查询管理操作28。2.4 服务器技术志愿者服务系统在运行过程中,其最关键的是实现逻辑业务处理,在业务处理过程中需要实现信息的加工、处理和整合,在这个处理过程中需要利用Web 服务技术,一般实现逻辑业务解析、整合和处理29。志愿者服务系统开发过程中, 采用的 Web 服务技术为 Tomcat 服务器,该服务器是一个小型服务器,通常配置在 Apache 类服务器硬件上,实现 HTML 网页的逻辑业务请求和操作处理,配置更加准确,Tomcat 服务器可以对 Servlet 和 JSP 页面进行有效的实现和运行,能够实现 HTML 页面的进行处理,Tomcat 服务器可以实现一个独立性的 Servlet 容器,就可以实现数据库的操作和解析30。2.5 My SQL志愿者服务系统运行管理过程中,为了能够提高系统操作的性能,同时为了能够更好的支持 SUN 公司提出的 JSP 程序设计技术、Java 开发语言和 JavaBean 数据库访问技术31。志愿者服务系统开发过程中采用了MySQL 数据库, MySQL 是一款处理业务功能强大的关系数据库管理系统,具备 Web 逻辑业务数据处理功能,进一步改善了 MySQL 的应用特性,与微软推出的相关软件开发工具进行结合, 具有较高的结合程度。MySQL 数据库处理系统具有以下几个方面的关键特点,详细描述如下:(1) 数据库动态管理与优化处理功能。MySQL 数据库处理系统能够结合数据用户的使用环境和动态数据处理请求,智能化的完成数据库管理系统的优化处第二章 背景技术理过程,提高数据库管理的有效性和效率32。(2) MySQL 拥有较多的程序设计接口。MySQL 数据库处理系统为事务处理过程中提供了 TransactSQL 等程序设计与实现接口,更好地支持分布式管理系统的数据库连接操作管理,为用户提供 JavaBean 数据库访问组件开发模式,为用户提供了程序设计与实现接口33。(3) MySQL 能够更加充分的支持 Web 服务。MySQL 增加了对 XML 技术、HTTP技术的支持操作,能够将数据分析与数据挖掘应用于网络数据处理过程,具有强大的在线数据处理功能。(4) 具有更好的伸缩性和可靠性34。MySQL 能够平稳的运行在 Windows、linux 等操作系统中,支持多核处理器、多线程操作,具有强大的可伸缩性和可靠性。(5) MySQL 管理模式简单。MySQL 可以与微软公司开发的操作系统相互结合,更好的利用微软公司开发的 Visual Studio 工具实现系统功能。2.6 本章小结本章详细地分析了 JavaEE 技术的主要内容,分别是JSP 技术、JavaBean 数据库访问技术,分析了其在志愿者服务系统开发中的应用,同时描述了 Struts 技术、B/S 体系架构技术、Web 服务器技术、SQL Server 数据库技术,为志愿者服务系统开发提供基础。10第三章 系统需求分析第三章 系统需求分析3.1 系统可行性分析3.1.1 管理可行性分析目前,随着计算机技术、网络机技术和数据库技术的快速发展和进步,许多用户接受了专业的计算机教育和培训,其掌握了计算机操作知识,为系统部署和运行提供了基础。3.1.2 经济可行性分析志愿者服务管理部门已经构建或租用了先进的云端系统,这些系统可以虚拟化软硬件服务资源,因此志愿者服务系统开发过程中,其需要的数据存储器、路由器、交换机、光缆线路、防火墙等设备已经购置,这些设备不需要重复性的购买和建设,因此系统开发中仅需要耗费一些软件成本,同时系统完成之后,可以实现无纸化办公,节约资金,因此经济方面是可行的。3.1.3 社会可行性分析志愿者服务系统部署运行之后,其可以为用户提供强大的系统处理服务功 能,实现志愿者服务的信息化、智能化、自动化,能够大幅度提升社会信息化水平,并且促进志愿者服务共享管理,具有较强的社会影响力。3.1.4 技术可行性分析志愿者服务系统开发过程中,其采用的技术为 JSP 技术、JavaBean 数据库访问技术、B/S 体系架构技术、Tomcat 服务器和 MySQL 数据库技术,这些技术已经在分布式管理系统开发过程中得到了广泛使用,使用经验较为成熟,因此技术方面是可行的。3.2 系统业务流程分析志愿者服务系统可以针对不同的用户权限设置不同层次的信息加工处理模式,以便能够在这个志愿者服务管理过程中采用不同深度的处理模式,并且能够实现有效的保护志愿者服务系统用户隐私的目的,同时可以快速的发布志愿者服务信息。具体的,志愿者服务系统业务流程如图 3-1 所示。11第三章 系统需求分析开始输入系统服务地址输入用户账号和密码是否高级授权用户?No是否普通授权用户?NoYesYes添加志愿者项目服务信息数查看志愿者服务信息参与志愿者项目统计考勤情况生成考勤报告查看考勤结果结束图 3-1 志愿者服务系统业务功能流程3.3 系统角色用例分析用例分析是开发技术人员和客户之间确定的设计契约。在整个志愿者管理系统开发设计中用例贯穿了主线。将系统行为传达给最终客户是用例分析最重要的作用。1) 角色的确定系统的执行者首先需要进行用例模型的确定。执行者与系统交互的信息包括12第三章 系统需求分析网络、数据、软件、硬件设备、存储等。执行者需要进行特定角色的定义。角色表示能够使用某个功能的人或事,是一个群体概念,角色不是个体。角色不是一个实际的用户,而是表示某一特定的用户类。同一个角色可以由多个用户担任, 而多个角色也可以由同一用户充当。2) 用例的确定在确定系统角色后,就需要对执行者进行用例确定。执行者通过用例可以产生能够估量的价值结果,是系统的一种行为。执行者想要系统完成的事情可以通过用例来进行描述。对各个角色对系统需求进行分析是查找用例的最佳方法。通常在进行用例确定时需要遵守以下这些原则:1) 用例要简单,用例是系统的高级视图。2) 用例要独立实现。用例关注系统功能而不是怎样实现。3) 用例需要关注系统用户。在系统设计时需要对用户的系统需求进行详细分析。4) 对用例和角色进行描述。用例和角色需要简短的话进行描述,并且在用例图中体现出来。在实际系统中如果需要建立用例后,那么就需要更加完整的细节,可能会用到实现路径、前置与后置条件、用例事件流等。建立用例中的逻辑流程是用例事件流的主要目的, 并且一系列的活动组成了用例事件流,从而使角色完成某些共同的活动。4)建立用例模型实例从上文分析可知,本文研究的志愿者管理系统中的角色主要有系统管理员、志愿者管理员和普通志愿者。其中系统管理员为最高权限,可对系统所有功能进行任意操作,亦可增加新用户以及数据库文件备份操作;志愿者管理员权限低于系统管理员权限,又高于普通志愿者,其职责是志愿者业务信息的决策和分析, 而普通志愿者根据相关任务安排进行操作和查询。在用户权限设置部分,由于考虑到系统管理员本身也是一个用户,所以志愿者管理员所拥有的功能系统管理员也应该拥有。论文在用例图的绘制上采取了继承关系。志愿者管理系统在确定了角色以后,然后就是对用例集合进行定义了。根据系统的需求分析,本文对志愿者管理系统总体设计思想进行了抽象图描述,如图3-2 所示。14用户管理数据库项目管理客户端培训管理考勤管理信息发布管理应急预案管理用户界面层系统实现层数据层图 3-2 志愿者管理系统总体示意图论文对志愿者管理系统进行了用例分析,系统中系统管理员角色用例分析如图 3-3 所示。Include新增用户用户管理Include用户信息更新权限管理系统管理员日志管理备份管理图 3-3 系统管理员用例图论文接下来对志愿者管理员用例图进行了分析,如图3-4所示。第三章 系统需求分析项目管理Include培训安排培训管理Include培训考试志愿者管理员考勤管理应急预案管理图3-4 志愿者管理