基于个人用户信息管理系统Word格式文档下载.docx

上传人:b****1 文档编号:3996298 上传时间:2023-05-02 格式:DOCX 页数:41 大小:192.28KB
下载 相关 举报
基于个人用户信息管理系统Word格式文档下载.docx_第1页
第1页 / 共41页
基于个人用户信息管理系统Word格式文档下载.docx_第2页
第2页 / 共41页
基于个人用户信息管理系统Word格式文档下载.docx_第3页
第3页 / 共41页
基于个人用户信息管理系统Word格式文档下载.docx_第4页
第4页 / 共41页
基于个人用户信息管理系统Word格式文档下载.docx_第5页
第5页 / 共41页
基于个人用户信息管理系统Word格式文档下载.docx_第6页
第6页 / 共41页
基于个人用户信息管理系统Word格式文档下载.docx_第7页
第7页 / 共41页
基于个人用户信息管理系统Word格式文档下载.docx_第8页
第8页 / 共41页
基于个人用户信息管理系统Word格式文档下载.docx_第9页
第9页 / 共41页
基于个人用户信息管理系统Word格式文档下载.docx_第10页
第10页 / 共41页
基于个人用户信息管理系统Word格式文档下载.docx_第11页
第11页 / 共41页
基于个人用户信息管理系统Word格式文档下载.docx_第12页
第12页 / 共41页
基于个人用户信息管理系统Word格式文档下载.docx_第13页
第13页 / 共41页
基于个人用户信息管理系统Word格式文档下载.docx_第14页
第14页 / 共41页
基于个人用户信息管理系统Word格式文档下载.docx_第15页
第15页 / 共41页
基于个人用户信息管理系统Word格式文档下载.docx_第16页
第16页 / 共41页
基于个人用户信息管理系统Word格式文档下载.docx_第17页
第17页 / 共41页
基于个人用户信息管理系统Word格式文档下载.docx_第18页
第18页 / 共41页
基于个人用户信息管理系统Word格式文档下载.docx_第19页
第19页 / 共41页
基于个人用户信息管理系统Word格式文档下载.docx_第20页
第20页 / 共41页
亲,该文档总共41页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

基于个人用户信息管理系统Word格式文档下载.docx

《基于个人用户信息管理系统Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《基于个人用户信息管理系统Word格式文档下载.docx(41页珍藏版)》请在冰点文库上搜索。

基于个人用户信息管理系统Word格式文档下载.docx

亍二

^iriclude^J用户信息营理

4.功能设计

4.1系统层次方框图

为保证系统具有较好的可维护性和可扩展性,对系统进行分层设计,共分四层:

视图层:

接收用户输入信息,显示界面信息和用户信息

控制层:

访问流程控制

业务层:

完成具体功能的实现

数据库访问层:

完成对数据库访问操作的封装

具体结构如下图所示:

4.2算法设计(活动图或时序图)

1•登录功能

在主界面(MainView)输入账号和密码,封装成Login对象后发后给业务层(LoginService),在业务层中组合成执行登录操作的SQL语句,再将其传递给数据库访问类(DB,由其完成数据库的查询操作。

依据查询结果,如果成功则创建控制类(Controller)对象,显示欢迎信息和对用户信息进行维护的选

项;

如果失败,则显示提示信息并允许重新输入账号和密码。

图4.1登录功能时序图

图4.2登录功能活动图

2•注册功能

在主界面输入数字1,表示进行注册操作。

依次输入账户、密码和确认密码,当密码和确认密码不一

致时,需要重新输入密码和确认密码。

之后,账户和密码封装至Login对象中,传递给业务层

(LoginService),由业务层组合成添加SQL语句,发送至数据库访问类(DB),完成添加操作。

如果添

加成功,则返回主界面,输入新注册的账户和密码进行登录;

如果添加失败,则重新进行输入。

图4.2注册功能时序图

图4.2注册功能活动图

 

3•显示所有用户信息功能

登录成功及完成对用户信息增、删、改操作后,均需要进行所有用户信息的显示,由控制类

完成对数据

(Controller)调用视图层(MainView)中的方法,在方法中再利用业务层(UserService库访问类(DB的访问,获取tuser表的所有记录。

匚ontroller

MainVie;

■/

UserServic

DB

歸用方'

谓用方法

>

1*

就歪「表耶莓

记录的SQL语句

4.添加用户信息功能

返巨lListH蠡

Li打中的薮据

远回结果集

在控制类(Controller)输出的选择信息的提示下(1表示执行添加操作),利用简单工厂模式创建视图层(AddView)对象,之后回调接口方法,完成对业务层(UserService)中注册方法的调用,在该

方法中向数据库访问类(DB发送添加SQL语句。

如果添加成功,则显示所有用户信息(参考显示所有用户信息功能的实现);

如果添加失败,则提示重新输入。

创建对象

接口回调

添加SQL语匀

图4.5用户信息添加时序图

A

Y

图4.6

用户信息添加活动图

5•查询用户信息功能

在控制类(Controller)输出的选择信息的提示下(4表示执行添加操作),利用简单工厂模式创建

视图层(QueryView)对象,之后回调接口方法,在方法中输入要查询的用户名,再对业务层(UserService)

中查询方法执行调用,在该方法中向数据库访问类(DB发送模糊查询SQL语句。

如果查询成功,则显

示查询到的用户信息(参考显示所有用户信息功能的实现);

如果查询失败,则提示重新输入。

Controller

QueryVie-v

喽口叵逅

ifi回童询运爭

UEerService

DE

—►

刃行模欄当甬

V

遗回琶诲结集集

侷空童恆方:

图4.7查询用户信息时序图

(调用摄匚方:

去(疾匚三调)

®

图4.7查询用户信息活动图注:

删除用户信息和修改用户信息的功能设计请参考添加用户信息操作。

5.数据设计

5.1类图设计

根据分析,系统由13个类构成,分别为:

DB类

数据封装类:

Login类、User类

LoginService类、UserService类

Controller类

AddView类、DeleteView类、ModifyView类、QueryView类、MainView类、Operation类

其它:

Test类

1.数据库访问层

DB类用于封装JDBC的操作,完成对数据库的直接访问,采用单态模式创建对象。

2.数据封装类

Login类和User类分别用于登录、注册操作时的数据封装和用户信息管理时的数据封装。

3.业务层

LoginService类进行登录、注册等对Login类的访问操作,UserService类进行用户信息管理的操

作,两者均采用单态模式创建对象。

4.控制层

Controller类用于进行系统的流程控制。

5.视图层

MainView类用于完成登录、注册等提示信息的显示和系统主界面的显示,具体内容如下所示:

Operation接口是增、删、改、查等操作的抽象,AddView类、DeleteView类、ModifyView类和QueryView类均使用Operation接口,分别完成增、删、改、查等操作,利用简单工厂模式与Controller类建立关

系.

6.其它

Test类是程序的主类,用于启动系统。

5.2数据表设计

根据概要设计中Login类图和User类图可知,系统需要两张表t_login和t_user,其中,t_login

表用于存储登录信息,t_user表用于存储用户基本信息,两张表之间没有关联关系,具体结构如下所示:

表5-1tlogin表

序号

字段名

类型

长度

备注

1

id

int

4

主键

2

account

char

20

唯一性、不为空

3

password

不为空

表5-2tuser表

name

sex

0表示男,1表示女

birthday

date

默认

6.运行结果

1•注册

1”进

程序运行后,首先显示系统的登录界面,在其中可输入账号和密码进行登录操作,或输入“

行账户注册。

注册成功后需要重新输入账号和密码进行登录。

success1

regist亡r

pleaseinputyouraccount:

图5.1注册界面

如果输入的密码和确认密码不一致,则需要重新输入。

pleaseinputyouraccountandpasswordtologirijenter1forregisteronenewuser,pleaseinputaccount:

pleaseinputpassword:

pleaseinputconfirmationpassword:

passwordisnotequalsconfirmationpassword,inputagain'

图5.2密码和确认密码不一致

2•登录

用户可在系统首界面直接输入账号和密码进行登录,或在注册成功后再进行登录。

登录成功后显示所有用户信息和系统主控制界面。

pleaseinputyourpassword:

welcometoyoul

id|name|sei|birthday

5陈男1990-01-04

pleaseselectyouroperation:

1.insert2.delete3.modify4.query5.已xit

图5.3登录成功后的显示

3•添加

输入“1”,选择添加用户信息操作。

输入“0”表示返回上一级菜单。

依次输入用户的姓名、性别和生日,完成添加。

添加成功后,显示成功的提示信息,并显示所有用户信息和系统主控制界面。

如果添加失败,则显示失败的提示信息,并提示重新输入。

pleaseselectyouroperation:

1.insert2.delete3.inodify4.query5*exit

pleaseinputname\sex\birthdaytoADD・ifreturninput0:

addsuccess

welcometoyou!

id|name

5陈男

6李明男

1.insert2.delete3.modify

1990-01-04

2000-07-04

4.query5.eiit

图5.4添加用户信息界面

4•删除

输入“2”,选择删除用户信息操作。

如果输入“0”表示返回上一级菜单。

输入要删除的用户的id

(主键)值,完成删除。

删除成功后,显示成功的提示信息,并显示所有用户信息和系统主控制界面。

如果删除失败,则显示删除失败的提示信息,并提示重新输入。

nsert2.delete3.modify4.query5*eiit

pleaseinputuseridtoDELETE,ifreturninput0:

deletesuccess

welcometoyouI

id|name|sex|birthday

6李明男2000-07-04

图5.5删除用户信息界面

5.修改

输入“3”,选择修改用户信息操作。

输入要修改的用户的id

(主键)值,显示该用户的信息。

再依次输入要修改的用户名、性别和生日,执行修改操作。

修改成功后,显示成功的提示信息,并显示所有用户信息和系统主控制界面。

如果修改失败,则显示删除失败的提示信息,并提示重新输入。

@1^寿X扌火變

pleaseselectyauropeiatiqii;

1・insert2・de1ete3・modify4.ciucry5・esit

pleaseinputuser'

idtoMODIFY,ifreturninput0:

|

6李明男2000-07-01

pleaseinputn(?

wname:

pleaseinputnewser:

pleaseinputnewbirthday;

modifysuccess

welcometoyoui

id|naine|sex|birthday

6李超男2001-05-01

plea官cselectyouroperation:

1.insert2.delete3.modify4.query5.exit

图5.6修改用户信息界面

6.查询

输入“4”,选择查询用户信息操作。

输入要查询的用户名,显

示以改名称作为关键字的所有用户的信息,之后显示所有用户信息和系统主控制界面。

pleaseselectyourcpexation:

L・insert2・delete3・modify4・query5.exit

pleaseinputnameioquery,ifreturninput0:

id|tiarne|sei|Sirthday

6李超男2001-0571

weLcometoyou'

id|name|sesIbirthday

1*insert2.delete3*modifyJquery5.exit

图5.7查询到用户信息的界面

如果没有查询到相应信息,则显示没有数据的提示,并可进行重新输入。

Linsert2・delete3.modify4.query5.exit

pleaseinputnametoquery,ifreturninput0:

noresult

图5.8没有查询到用户信息的界面

6.退出

输入“5”,表示退出系统,结束整个程序。

1.insert2,delete3.modify

4,query

5.exit

Bye

图5.9退出系统界面

7.关键代码

一、数据库访问类(DB.java)

packagecn.edu.ccut.util;

importjava.sql.*;

publicclassDB{

privateConnectioncon;

privatePreparedStatementpre;

privateResultSetrs;

privatestaticDBdb;

static{

try{

Class.forName("

com.mysql.jdbc.Driver"

);

}catch(ClassNotFoundExceptione){

e.printStackTrace();

}

privateDB(){}

publicstaticDBgetInstance(){

if(db==null){

db=newDB();

returndb;

privatevoidbuildConnection(){

con=DriverManager.getConnection("

jdbc:

mysql:

//localhost:

3306/demo"

"

root"

"

}catch(SQLExceptione){

publicResultSetexecuteQueryByParam(Stringsql,Object...o){

this.buildConnection();

pre=con.prepareStatement(sql);

for(inti=0;

i<

o.length;

i++){

pre.setObject(i+1,o[i]);

rs=pre.executeQuery();

returnrs;

publicResultSetexecuteQueryNoParam(Stringsql){

;

publicintexecuteUpdate(Stringsql,Object...o){

intcount=pre.executeUpdate();

returncount;

return0;

publicvoidclose(){

if(rs!

=null){

rs.close();

pre.close();

con.close();

二、数据封装类

1.Login.java

packagecn.edu.ccut.po;

importjava.sql.Date;

publicclassUser{

privateintid;

privateStringname;

privateintsex;

privateDatebirthday;

publicintgetId(){

returnid;

publicvoidsetld(intid){

this.id=id;

publicStringgetName(){

returnname;

publicvoidsetName(Stringname){this.name=name;

publicintgetSex(){

returnsex;

publicvoidsetSex(intsex){

this.sex=sex;

publicDategetBirthday(){

returnbirthday;

publicvoidsetBirthday(Datebirthday){this.birthday=birthday;

2.User.java

publicclassLogin{

privateStringusername;

privateStringpassword;

publicStringgetUsername(){returnusername;

publicvoidsetUsername(Stringusername){this.username=username;

publicStringgetPassword(){

returnpassword;

publicvoidsetPassword(Stringpassword){this.password=password;

三、业务层

1、LoginService.java

packagecn.edu.ccut.service;

importcn.edu.ccut.po.Login;

importcn.edu.ccut.util.DB;

importjava.sql.ResultSet;

importjava.sql.SQLException;

publicclassLoginService{

privateDBdb;

privatestaticLoginServiceservice;

privateLoginService(){

db=DB.getInstance();

publicstaticLoginServicegetInstatnce(){

if(service==null){

service=newLoginService();

returnservice;

publicbooleanlogin(LoginIo){

Stringsql="

select*fromt_loginwhereusername=?

andpassword=?

ResultSetrs=db.executeQueryByParam(sql,lo.getUsername(),lo.getPassword());

try{

if(rs.next())

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2