目 录
1 系统描述... 4
1.1 论文研究目的和意义... 4
1.2 研究内容及目标... 4
2 系统需求分析... 4
2.1 体系结构... 4
2.2 系统功能需求... 5
2.3 各模块用例描述... 5
3 系统总体设计... 7
3.1 系统功能模块设计... 7
3.2 数据库设计... 8
4系统详细设计与实现... 9
4.1系统项目工程... 9
4.2 系统实现相关页面... 10
4.3 各功能的详细实现... 10
4.4 Server 端实现技术... 15
5 系统测试... 15
5.1测试目的... 16
5.2测试方法... 16
5.3 本系统的测试... 16
6 总结... 19
参考文献... 19
随着Internet信息技术的高速发展和个人使用计算机的情况和频率呈几何增长,越来越多的个人信息有时自己都很难记清楚,一直以来人们使用传统人工的方式管理文件信息,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。因此建立一个个人信息管理系统是非常必要的。
本论文研究从以上角度出发研究个人信息管理系统,个人信息管理系统是对个人信息数据的一个采集和存储,使用计算机对个人信息进行管理,具有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、成本低等。因此,开发这样一套管理软件是实际应用的需要。该系统基本上满足了用户个人信息管理方面的需求,用户界面友好。此系统更加贴近信息电子化处理,从而降低了人工并增加了信息的准确性。
本课题为个人信息管理系统,是基于管理信息系统开发的,其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。该系统要求建立数据一致性和完整性强、安全性好的数据库。该系统要实现的功能包括四个方面:1登录与注册 2 个人基本信息管理模块 3用户个人通讯录模块 4日程安排模块
该系统要求确保输入的个人各项信息正确无误,且能够快速的安全的无差错的存储至数据库,还要及时对数据进行更新输出时要保证数据完整真实,该系统输入时要方便,安全与保密。在涉及到信息管理的时候,必须保证只有个人用户能自己的信息进行修改,删除等操作,另外个人查询信息时要保证不能更改信息内容,该系统为用户提供友好的界面,使用户操作更方便。对于管理员来说管理员可以直接进入数据后台,进行系统维护,检验非法数据,对所有用户进行查看和删除个人数据。
本系统主要运用 B/S 结构,本系统有个人用户和管理员两个角色,管理员主要通过数据库对注册用户进行管理,防止水军的注入等,然后一些数据库的维护。个人用户户模块下又分为登录与注册模块,个人基本信息管理模块,用户个人通讯录模块,日程安排模块。
系统总体结构图如下图2-1所示:
图2-1系统总体结构图
在个人管理系统中,可以对系统的主要参与者和主要的业务实体分别创建对应的构件并进行映射,根据类图创建系统的构件图,包括主程序构件,主界面构件以及各个子程序的构件等。
根据构件及关系创建的构件图如下图2-2
图2-2系统构件图
本系统主要是在对个人基本信息的分析上进行设计的,根据需要,本系统主要具备了以下特点和功能:(1)具有良好的人机界面;(2)具有较好的权限管理;(3)方便查询和修改数据;(4)数据稳定性;(5)实用性;要具有管理中心,如个人基本信息管理、登录与注册等相关个人的多种常用功能。
个人信息管理系统的基本管理方法:在个人信息管理中,我们可以对自己的基本信息进行操作,具体的操作有:查看个人基本信息、修改个人基本信息、修改登录密码;在通讯录管理中,我们可以查看通讯录、增加联系人、修改和删除联系人;在日程安排管理中,我们可以对平常要做的事情做一个备忘,如增加日程、查看日程、也可以对日程进行修改和删除;
1.管理员用例描述
图2-3管理员用例图
2.个人用户用例描述:
图2-4个人用户用例图
本系统共包括4个模块,8项子功能,系统总体功能结构如图3-1所示。
图3-1管理系统功能结构图
各个功能模块的介绍:
(1)用户登录与注册
个人通过用户名和密码登录系统;注册时应提供本人的基本信息
(2)查看个人信息
显示个人基本信息:登录名、用户密码、出生日期、用户住址、用户邮箱等。
(3)修改个人信息
用户可以修改自己的基本信息。如果修改了登录名,下次登录时应使用新的登录名。用户可以修改登录密码.以及其他的基本信息。
(5)查看通讯录
用户可以浏览通讯录列表,也可按照姓名检索。
(6)维护通讯录
用户可以增加、修改、删除联系人。
(7)查看日程安排
用户可以查看日程安排列表,也可以查看某一日程的时间和内容等。
(8)维护日程
一个新的日程安排包括日程时间、内容。用户可以对日程进行添加、修改、删除等。
(9)管理员模块
直接操作数据库,进行系统维护,代码检测,以及检验非法数据,查看所有用户的用户名和密码和删除某些非法用户。
3.2.1概念模型设计
用户表概念模型如下图:
图3-2用户表概念模型图
通讯录表概念模型如下图:
图3-3通讯录表概念模型图
日程表概念模型如下图:
图3-4日程表概念模型图
3.2.2 数据库表的设计
在完成数据库的概念模型设计后,即可以开始数据库表的设计。考虑程序设计的简易性及通用性,本系统采用MySql8.0数据库,并在其下创建3个数据表,其结构分别如下:
(1)用户表(user表)其字段列表如表3.3所示:
表3-1用户表(user)
字段名称 |
字段类型 |
字段长度 |
字段说明 |
字段含义 |
id |
int |
11 |
主键,非空,自增 |
标识号 |
userName |
varchar |
20 |
非空 |
用户登录名 |
password |
varchar |
20 |
非空 |
用户登录密码 |
birth |
datetime |
|
无 |
出生日期 |
location |
varchar |
80 |
无 |
用户住址 |
|
varchar |
20 |
无 |
用户邮箱 |
(2)通讯录管理表(friends)用于管理通讯录。及管理联系人(好友)。其字段列表如表5.2所示:
表3-2通讯录表(friends)
字段名称 |
字段类型 |
字段长度 |
字段说明 |
字段含义 |
id |
int |
11 |
主键,非空,自增 |
好友标识号 |
userName |
varchar |
20 |
非空 |
用户登录名 |
friendName |
varchar |
20 |
非空 |
好友名称 |
friendPhone |
varchar |
20 |
无 |
好友电话 |
friendEmail |
varchar |
20 |
无 |
好友邮箱 |
friendplace |
varchar |
80 |
无 |
好友住址 |
(3)日程安排管理表(schedule)用于管理用户的日程安排,其字段列表如表5.3所示:
表3-3日程安排表(schedule)
字段名称 |
字段类型 |
字段长度 |
字段说明 |
字段含义 |
id |
int |
11 |
主键,非空,自增 |
日程标识符 |
userName |
varchar |
20 |
非空 |
用户登录名 |
thing |
varchar |
255 |
非空 |
日程内容 |
date |
Date |
20 |
非空 |
日程时间 |
该项目采用MVC设计模式,MVC全名是Model View Controller,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。MVC设计模式简单的说就是将代码分类、分层。各层的作用如下:
M:Model 模型,负责数据库操作,以及业务逻辑的实现,是mvc的精华之所在。
V:View 视图,负责用户与系统之间的交互,以及数据的渲染。
C:Controller 控制器,程序的入口,负责响应用户操作并调用相对应的业务逻辑模块完成整个功能需求
在本项目中,Modle层的设计主要由Dao层来实现,即项目结构中的cn.juhao.Dao.Controller层的设计主要采用Action层和Service层以及javabean(实体类)来实现,即cn.juhao.Action,以及cn.juhao.Service层和cn.juhao.entity来实现,View层的设计由所有的jsp界面来实现,即webroot下面的所有jsp界面。Spring框架贯穿于三层架构的每一层中,所有的对象基本都由spring容器创建。项目工程结构图如下图4-1。
图4-1项目工程结构图
本系统包含的的页面主要有:用户注册、用户登陆页面、系统主页面、显示个人信息页面,修改个人信息页面,通讯录相关操作页面,日程管理页面以及管理员操作页面。
4.3.1用户注册功能
该界面是为用户注册提供的界面,让用户可以注册自己的用户名及密码以及个人的基本信息,在登录时可以得到与自己有关信息。用户注册界面如下图4-2所示,将基本信息输入后点击提交按钮可将信息保存至数据库实现用户注册功能
图4-2用户注册界面图
4.3.2用户登陆功能
该界面实现用户登录即用户名和密码验证。实现用户的密码及用户名与数据库匹配,保证系统的安全性,若登陆成功则将用户的用户名保存在Session中,同时该界面提供注册按钮,如果用户未注册,可先行注册再登陆,用户登录窗口如图4-3所示:
图4-3用户登录界面图
4.3.3系统主界面
登录成功后就进入系统的主界面,如图4-4所示,在这个界面可以显示系统可以进行的操作,可以分别点击菜单栏的子菜单进行相关操作。本界面的主要功能是为了对系统进行安全性管理。方便用户使用其他功能。
图4-4系统主界面图
4.3.4个人信息管理功能
(1)点击主界面的个人信息管理,即可跳转至该界面让用户进行个人信息的查看,并且提供修改个人信息的链接,一点击即可进行修改操作。如图4-5所示。
图4-5查看个人信息界面图
(2)点击查看个人信息界面的修改信息按钮后,界面跳转至修改个人信息界面,在修改个人信息界面,系统从session中取出此时用户的基本信息,将基本信息显示在此界面上,用户可根据需要进行修改,修改成功后点击提交按钮。便重新跳转至查看个人信息界面。修改个人信息界面如图4-6所示。
图4-6修改个人信息界面
4.3.5通讯录管理功能
(1)点击主界面的通讯录管理功能则进入查看个人用户的所有联系人界面,该界面可以对联系人进行增加,查看删除以及通过姓名进行查询。显示所有联系人信息界面如下图4-7所示。
图4-7显示所有联系人信息图
(2)点击界面上的增加好友链接,则进入增加联系人界面,在界面上输入要增加的联系人信息,点击添加按钮,则进入数据库进行添加,如何查询跳转至显示所有联系人信息界面进行其他操作。添加联系人信息界面如下图4-8所示。
图4-8增加联系人界面图
(3)输入联系人姓名点击界面上的查找即可对联系人进行修改或者删除操作。
图4-9查询联系人界面图
(4)查询到联系人后可以点击界面上的修改或删除按钮即可对联系人进行修改或者删除操作。
图4-10删除或修改联系人信息图
4.3.6日程安排管理功能
(1)点击主界面的日程安排管理功能则进入查看个人用户的所有日程安排界面,该界面可以对日程事件进行增加,删除以及修改。显示所有日程安排信息功能界面如下图4-11所示。
图4-11显示所有日程信息界面
(2)在显示所有日程信息界面上即可对日程安排信息进行修改或者删除操作。如图4-12所示进行日程更新操作。
4-12更新日程界面
(3)点击删除按钮即可进行对日程事件的删除操作。
4.3.7管理员登陆功能
该界面实现管理员登录即管理员的用户名和密码验证。从而进入系统维护界面。保证系统的安全性,管理员登录窗口如图4-13所示:
4-13管理员登陆
4.3.7管理员系统维护功能
登陆成功以后管理员可以进行所有用户的查看,并且检测系统的安全性,对水军注入等问题进行清理,释放系统资源,减轻服务器压力等,如图4-14所示。
4-14管理员维护图
Server端基于Java的Web框架SSH(Struts/Hibernate/Spring)实现,数据库使用MySQL8.0 ,使用Struts来处理逻辑代码以及 http请求,然后交予Service层去对Dao层的数据库进行操作,数据库连接采用hibernate进行管理,并且用spring实现对Action,Dao,Service以及事务对象进行管理,网络通讯协议使用HTTP。
系统测试是对所有计算机项目进行的整体的性能考核。测试对于整个系统来说是至关重要的一环,其重要性是为了展现整个系统的流畅性和完整性以及质量,是对整个项目的最终使用过程上不出现问题进行的最终检测环节。系统测试的主题不但包括需要测试的系统,还包括软件开发过程所需要的硬件环境以及其他硬性条件,包括数据和其他的软件支持及相应的转接功能设备。在测试过程中,负责测试的人员应满足以下条件:开发人员不得参与此次测试过程;测试用例应由两部分组成:输入条件和想要的得到的结果;应选用不合理的条件与非法字符输入进行检测。
(1)通过系统测试测试软件是否符合软件需求。
(2)通过系统测试验证数据库的连接.
(3)通过系统测试测试增加,删除,更新,查找等功能是否符合要求。
(4)通过系统测试测试系统的安全性能以及可靠性。。
(5)通过系统测试寻找系统中出现的bug,进一步完善该系统。
本系统采用的测试是UI测试和黑盒测试,用户界面测试是指测试用户界面的风格是否满足客户要求,文字是否正确,页面是否美观,操作是否友好等等。UI 测试的目标是确保用户界面会通过测试对象的功能来为用户提供相应的访问或浏览功能。包括用户友好性、人性化、易操作性测试。黑盒测试又称功能测试。通过一系列的测试检查计划对项目进行的检测过程,来检测系统中可能出现的错误,包括可能存在的数据库建表错误以及数据录入错误和结构性的错误。
5.3.1系统界面测试:
本系统的主界面如下图5-1所示,界面清晰,操作友好符号要求
5-1系统主界面测试图
5.3.2系统登陆注册测试:
测试需求 |
测试重点 |
测试结果 |
注册功能 |
是否能正常注册并且实现跳转至登陆界面 |
注册功能正常 |
用户登陆功能 |
能否实现登陆进入主界面和登陆失败提示失败信息 |
登陆功能正常 |
管理员登陆功能 |
能否实现管理员登陆 |
管理员登陆功能正常 |
表5-1登陆注册测试表
注册功能正常如图5-2,注册成功后在登陆界面上给出提示信息。并且把当前注册的用户名和密码自动回显到登陆页面。登陆失败测试结果如图5-2,登陆失败在登陆界面显示提示信息。
图5-2登陆失败测试图
5.3.3个人信息功能测试:
表5-2通讯录操作测试表
测试需求 |
测试重点 |
测试结果 |
查看个人基本信息 |
是否能正常显示个人基本信息 |
基本信息显示正常 |
修改个人基本信息 |
能否修改个人基本信息。 |
修改功能正常 |
如图5-3查看个人基本信息以及更新功能正常
图5-3查看联系人功能测试图
5.3.3通讯录功能测试:
表5-3通讯录操作测试表
测试需求 |
测试重点 |
测试结果 |
查看通讯录 |
是否能正常显示通讯录信息 |
通讯录信息显示正常 |
添加联系人 |
能否添加联系人 |
添加联系人功能正常 |
修改联系人 |
能否修改联系人 |
修改联系人功能正常 |
删除联系人 |
能否删除联系人 |
删除联系人功能正常 |
查找联系人 |
能否按姓名查找联系人 |
查找功能正常 |
如图5-4,5-5所示,查找联系人功能正常,输入联系人姓名,即可正常查找到所有符合要求的联系人的信息。
图5-5查找联系人测试图
图5-6查找成功测试图
5.3.3日程安排功能测试:
表5-4日程安排操作测试表
测试需求 |
测试重点 |
测试结果 |
查看日程安排 |
是否能正常显示通讯录信息 |
日程安排信息信息显示正常 |
删除日程安排 |
能否删除日程安排 |
删除功能正常 |
修改日程安排 |
能否修改日程安排 |
修改功能正常 |
如图5-7对所要删除的日程点击删除按钮,即可日程
图5-7删除日程安排前
图5-8删除日程后
该项目完成了个人信息管理的基本操作。通过这段时间的设计,不仅将以前所学的充分利用,而且还增加了用数据库开发软件的经验。深刻体会到软件开发不仅是编程,它需要方方面面的考虑,同时也必须具备比较全面的知识。本系统由于只针对个人信息管理进行研究分析,在使用时需搭建JAVA和数据库平台,因此只适应于对个人的管理,不适应于群体的管理,因此本系统有一定的局限性。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。
此次课程设计,让我在实践中学习,增强了领悟、创新和推断的能力。掌握自学的方法,形成工程理论整体模式,使工作、学习、生活都步入系统化流程;思考方式成熟,逻辑性规范、明确。这些方法的提高是终身受益的,让我真正懂得了生活和学习的基本规律
由于设计时间较短,所以该系统还有许多不尽如人意的地方,比如用户界面不够美观,使用功能不够完善,出错处理不够等问题。接下来准备对系统各方面更多的功能进行分析设计,使本系统更加完善,将进一步研发使之能成为大众所用。为此本系统还有许多有待进一步改善的地方。我也充分了解了什么是ssh框架,以前对此不是很熟悉,然而通过这次自己亲手的编程对这一模式有了充分的理解,实训也锻炼了我在编程方面的一些逻辑思考能力,使我知道在做一个系统之前你要现有一些准备工作,不可能一开始就敲代码,因为没有逻辑的思维,没有整体的设计在编程时你会遇到很多的麻烦,特别是在设计数据库时,如果数据库没有设计完善,进行查询和插入更新时会遇到很多的麻烦。此外,在编程时还要有清晰的思路,代码要写的清晰,读起来要流畅,只有这样代码运行时才能尽可能出少的错误。在设计模块时要将各个模块分开来设计,不要之间来回的交叉,这样可以使程序看起来非常的规范。总之,在这次的设计中得到了很大的收获,使自己一学期来的学习得到了检验。画上了句号。
[1] 张孝祥、徐明华, JAVA基础与案例开发详解, 清华大学出版社, 2009.grtgrtg
[2] 汪云飞 , JavaEE开发的颠覆者-Spring Boot实战,电子工业出版社,2017.
[3] 陈恒、楼偶俊、张立杰, Java EE框架整合开发入门到实战,清华大学出版社,2018.
[4] 埃克尔,Java编程思想第4版, 人民邮电出版社,2013
[5] 杨冠宝,高海慧,码出高效-Java开发手册,电子工业出版社,2018
[6] 杨冠宝,阿里巴巴Java开发手册,电子工业出版社,2017
[7] 李刚,轻量级Java EE企业应用实战,电子工业出版社,2018