个人电话簿信息管理系统.docx

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

个人电话簿信息管理系统.docx

《个人电话簿信息管理系统.docx》由会员分享,可在线阅读,更多相关《个人电话簿信息管理系统.docx(21页珍藏版)》请在冰点文库上搜索。

个人电话簿信息管理系统.docx

个人电话簿信息管理系统

代码行数

596

项目名称

个人电话簿管理系统

1.实训目的

面向对象程序设计课程设计是计算机科学与技术专业培养计划中的重要实践教学环节,旨在通过一个管理信息系统的开发,加深学生对Java语言的理解和应用,尤其是对面向对象编程思想、Java编码规范、JDBC访问数据库的理解,巩固软件工程课程的相关知识,了解软件开发的基本流程,进一步提高学生的学习能力、理解能力、表达能力及沟通能力。

2.实训内容

使用Eclipse为开发工具,使用MySQL为数据库服务器,基于JDBC技术,分析、设计并实现一个管理信息系统。

3.需求分析

3.1需求描述

登录:

输入账号和密码,完成登录操作,进入主界面,显示电话簿中的所有联系人姓名以及可进行的相关操作的选项。

退出:

登录后可进行退出操作,结束整个程序。

注册:

输入账户、密码和确认密码完成新用户的注册。

按字典序显示所有联系人的姓名:

登录成功后在主界面中以表格形式按字典序升序显示所有联系人的姓名。

添加联系人:

输入联系人的各项信息,完成联系人信息的添加操作,添加成功后以表格形式按字典序升序显示所有的联系人信息。

删除联系人:

根据联系人的主键,完成联系人的删除操作,删除成功后以表格形式按字典序升序显示剩余联系人的信息。

修改联系人:

输入联系人主键,显示联系人的详细信息,输入每个字段值,完成联系人信息的修改,修改成功后以表格形式按字典序升序显示所有的联系人信息。

查询联系人:

利用模糊查询完成对联系人名称的查询操作,获得包含查询关键字的联系人姓名列表,再输入某个联系人的主键,显示该联系人的详细信息。

 

3.2用例描述

图1用例图

4.功能设计

4.1系统层次方框图

图2系统层次方框图

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

1.登录功能

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

依据查询结果,如果成功则创建控制类(Controller)对象,显示欢迎信息和对用户信息进行维护的选项;如果失败,则显示提示信息并允许重新输入账号和密码。

图3登录功能时序图

图4登录功能活动图

2.注册功能

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

依次输入账户、密码和确认密码,当密码和确认密码不一致时,需要重新输入密码和确认密码。

之后,账户和密码封装至Login对象中,传递给业务层(LoginService),由业务层组合成添加SQL语句,发送至数据库访问类(DB),完成添加操作。

如果添加成功,则返回主界面,输入新注册的账户和密码进行登录;如果添加失败,则重新进行输入。

图5注册功能时序图

图6注册功能活动图

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

登录成功及完成对用户信息增、删、改操作后,均需要进行所有用户信息的显示,由控制类(Controller)调用视图层(MainView)中的方法,在方法中再利用业务层(UserService)完成对数据库访问类(DB)的访问,获取t_directory表的所有记录。

图7显示所有用户信息时序图

图8显示所有用户信息活动图

4.添加用户信息功能

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

如果添加成功,则显示所有用户信息(参考显示所有用户信息功能的实现);如果添加失败,则提示重新输入。

图9用户信息添加时序图

图10用户信息添加活动图

5.查询用户信息功能

在控制类(Controller)输出的选择信息的提示下(4表示执行添加操作),利用简单工厂模式创建视图层(QueryView)对象,之后回调接口方法,在方法中输入要查询的用户名,再对业务层(UserService)中查询方法执行调用,在该方法中向数据库访问类(DB)发送模糊查询SQL语句。

如果查询成功,则显示查询到的用户信息(参考显示所有用户信息功能的实现);如果查询失败,则提示重新输入。

图11查询用户信息时序图

图12查询用户信息活动图

5.数据设计

5.1类图设计

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

●数据库访问层:

DB类

●数据封装类:

Login类、User类

●业务层:

Loginservice类、Userservice类

●控制层:

Controller类

●视图层:

Addview类、Deleteview类、Modifyview类、Queryview类、Mainview类、

Operation类、txt类

●其它:

Test类

1.数据库访问层

DB类用于封装JDBC的操作,完成对数据库的直接访问,采用单态模式创建对象,具体内容如下所示:

图13数据库访问层类图

2.数据封装类

Login类和User类分别用于登录、注册操作时的数据封装和用户信息管理时的数据封装,具体内容如下图所示:

图14数据封装类类图

 

3.业务层

LoginService类进行登录、注册等对Login类的访问操作,UserService类进行用户信息管理的操作,两者均采用单态模式创建对象,具体内容如下图所示:

图15业务层类图

4.控制层

Controller类用于进行系统的流程控制,具体内容如下所示

图16控制层类图

5.视图层

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

图17MainView类图

 

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

图18视图层类图

6.其它

Test类是程序的主类,用于启动系统,具体内容如下:

图19Test类图

5.2数据表设计

t_login表

序号

字段名

类型

长度

备注

1

username

varchar

20

主键,不为空

2

password

varchar

20

不为空

t_directory表

序号

字段名

类型

长度

备注

1

id

int

4

主键、自增、不为空

2

name

varchar

20

不为空

3

phonenumber

varchar

20

不为空

4

email

varchar

20

6.运行结果

1.注册

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

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

图20注册成功

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

图21注册失败

2.登录

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

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

图22登录

3.添加

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

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

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

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

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

图23添加成功

4.删除

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

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

输入要删除的用户的id(主键)值,完成删除。

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

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

图24删除成功

5.修改

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

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

输入要修改的用户的id(主键)值,显示该用户的信息。

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

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

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

图25修改成功

6.查询

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

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

利用模糊查询完成对联系人名称的查询操作,获得包含查询关键字的联系人姓名列表,再输入某个联系人的主键,显示该联系人的详细信息。

图26查询成功

7.导出

输入“5”,选择导出操作。

如果输入“0”表示返回上一级菜单,输入其他则表示导出。

图27导出成功

图28导出的文本文档

8.退出

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

图29退出

8.关键代码

1)按姓名升序排列

publicListgetAllUsers(){

Stringsql="select*fromt_directoryORDERBYNAMEASC";

ResultSetrs=db.executeQueryNoParam(sql);

Listusers=null;

try{

users=this.getList(rs);

}catch(SQLExceptione){

e.printStackTrace();

}finally{

db.close();

}

returnusers;

}

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

 

publicclassController{

publicvoidcontroller()throwsInputMismatchException{

Scannerscan=newScanner(System.in);

while(true){

System.out.println("请选择操作:

");

System.out.println("1.增加2.删除3.修改4.查询5.导出6.退出”);

inti=scan.nextInt();

UserServiceservice=UserService.getInstance();

Operationo=null;

booleanflag=true;

switch(i){

case1:

o=newAddView();

break;

case2:

o=newDeleteView();

break;

case3:

o=newModifyView();

break;

case4:

o=newQueryView();

break;

case5:

o=newtxt();

break;

case6:

System.out.println("ヾ( ̄▽ ̄)Bye~Bye~");

return;

default:

System.out.println("请输入1-6");

flag=false;

}

if(flag){

o.operation(service);

}

}

}

}

 

publicinterfaceOperation{

voidoperation(UserServiceservice)throwsInputMismatchException;

}

9.实训总结

在这三周Java程序设计的实训时间里,老师针对我们本学期的学习,有针对性地对我们进行了很有价值的实训工作,从最基础的Java语句,到jdbc连接数据库进行增删改查等操作。

经过了这次磨练,我又一次感受到只有付出才能有收获,成功永远是属于不懈努力的人们的。

 

成绩

Score

 

 

教师签字日期

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

当前位置:首页 > IT计算机 > 电脑基础知识

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

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