面向对象程序设计

一、项目简介

功能描述:

使用几十个字简单描述系统所完成的功能(每个同学自己总结,不能相同)。有无参考他人代码。
简单地实现qq的基本功能,注册、登录、查看好友列表与个人资料、添加陌生人、与好友聊天以及传输文件等;
有参考他人代码;

个人负责任务:

qq的好友列表、个人资料等的GUI界面设计以及有关数据库运用的部分,即用SQLyog建表存储用户信息,连接数据库以便获得每个用户的所有好友信息和好友关系以及实现好友列表更新。

团队博客链接:https://www.cnblogs.com/chtdeboke/p/15785462.html

二、功能架构图

三、个人任务简述

描述自己负责的模块、功能、完成了什么任务。

1. 完成的任务与功能:

简单描述将自己完成的有特色的地方、重难点地方。

序号 完成功能与任务 描述
1 界面设计 使用监听方便与好友开启聊天与添加陌生人、查看消息与资料等。
2 面向对象设计 使用了面向对象技术设计系统。
3 数据库读写编码部分 使用了DAO模式,使用了数据库连接池连接数据库,更加专注于编写数据访问代码。
4 数据库设计 采用MySQL数据库,存入所有用户的信息、好友与好友之间的关系数据,方便实现好友添加等功能。

四、本人负责功能详解

每个任务或模块按照以下结构描述:简述、关键代码截图。

1.界面设计

负责的界面设计主要是好友列表(即登录后的界面)和个人资料界面。

2.数据库读写部分

简述所完成模块采用的技术、难点及解决方法:
在SQLyog中建表存放用户信息,再通过JDBC让数据库与Java代码这边建立联系,根据User类完成更新好友列表,获取好友信息以及用户id与User的映射。截图如下:
![]
(https://img2020.cnblogs.com/blog/2174250/202201/2174250-20220112001508510-2140255778.png)

五、课程设计感想

描述课设中碰到的困难及自己为了解决困难的所思所想:
(1)在有关界面设计方面,由于好友列表的界面中有很多涉及到好友添加、聊天功能部分,为其安置多个监听以及弹窗,经常因为多个功能之间的相互联系导致监听反复修改、增删;
(2)在课设开始前通过讨论之后负责了数据库部分的代码,由于对上课时所学的数据库的内容掌握的不够全面与牢固,所以前期花了很多时间通过网上视频与他人的博客学习数据库的知识;
(3)在每个界面上原先很繁琐在用多个面板的堆叠,但通过在网上查找的资料学习了更加简便的设计;
(4)虽然在课设最开始的阶段,我们一起做了设计和构想,但在实现功能的过程中由于时间上的限制还是遇到很多没在设想中的问题,有些功能无法实现,不过在小组的共同讨论帮助下,我们能够相互学习,共同解决问题。

六、展望

可写两部分内容:

1. 自己所完成功能的不足之处及以后想要采取的改进方法:

(1)首先是界面设计上,一方面由于时间不足,很多未完成功能上牵扯到的设计没能展示出来,;另一方面也是运用得不够熟练,大多数时间花在功能实现上,没把界面完善与美化,导致我们的qq看上去有些简陋。
(2)由于存储在数据库中的信息种类太少,很多有关qq用户的资料信息例如签名、个人资料等没能在qq上体现,导致在相互传输好友间的数据时只能查看到用户的id、昵称、头像等,应该再巩固对数据库的学习。
(3)有些最初有设想到的功能未能有时间去实现,比如:群聊功能、传输文件功能、以及拉入黑名单等,在假期时间再进行讨论将原先我们一起想要实现的功能优化与完善。

2. 可选:课设后想要进一步做的事情:

(1)加强对多线程和网络编程的学习,对多线程和网络编程方面的知识掌握的还是在表面,这次课设负责的部分大多也并不是多线程与网络编程的内容,所以还想再深入了解和学习其相关方面的内容。

原文地址:https://www.cnblogs.com/qzmcflmf/p/15790781.html