需求分析
软件协会系统设计(初级)项目一方面是为了巩固javaSE的知识点,主要体现在对文件输入输出流、基于TCP/IP协议的网络编程、JDBC数据库连接技术三部分的使用,另一方面是对软件协会更完善的体系设想。
项目完成的主要功能如图1-1:
(1-1)
说明:借鉴于模拟QQ控制台的基本功能开发,但主体设计框架依旧是自己设想完成
- 概要设计
2.1 client和server结构设计:
2.2数据库设计:
user表:用户信息
connect_user表:朋友关系
offline_news表:离线消息
- 详细设计
3.1用户注册
3.2 协会所有成员显示流程分析
3.3退出登录
总结:功能服务大致流程
- 主要测试
说明:视频中未展示部分逻辑错误的处理,但在程序中已做存在
例如添加好友的对象不能为自己
- 安装及使用
使用IDEA打开server和client运行即可
1.如果都装在本机直接运行即可,若在不同主机上需修改client端ClientConnectServerThread.connectByName为server端IP或域名
2. server端druid.properties修改数据库信息
- 项目总结
6.1在项目中遇到的主要难题:
- 主体框架的设计。在编写程序时做过多次server和client端大小规模结构修改,主要是由于前期设计阶段考虑不充分,导致在开发过程中对各类进行多次修改调整。
- 功能实现的合理性。在对某一功能进行分析时考虑不到位,比如说添加好友,本应该是得到对方同意方可添加为好友,但在该项目中是直接默认同意(但还是有申请箱查看通知的功能实现),主要原因是作为基于控制台开发的项目,会使得菜单结构更为复杂难懂,如果是web项目则会明朗很多。
- 存在代码冗余的问题。有些部分即使多次重复出现一条语句也不太好化简。
6.2后续升级
- 普通成员的功能完善。包括通过软协币发布提问任务,上传文件等。
- 管理员的功能实现。包括发布公告等。