Java聊天系统设计课程设计说明书(源程序)
更新时间:2024-06-02 04:45:01 阅读量: 综合文库 文档下载
Java聊天系统详细设计
1 引言
1.1编写目的
聊天系统详细设计是设计的第三个阶段,这个阶段的主要任务是在聊天概要设计的基础上,对概要设计中产生的功能模块进行过程描述,设计功能模块的内部细节,包括数据结构和算法,为编写源代码提供必要的说明。
概要设计解决了软件系统总体设计问题,包括整体软件系统的结构,功能模块的划分,模块功能和模块间的联系等,详细设计则是要解决如何实现各个模块的内部功能,及模块设计,具体的说,模块设计就是为已经产生的聊天系统各个子系统设计详细的算法,但这并不等同于系统实现阶段用具体语言编码,它只是对实现细节做精确的描述,这样编码阶段就可以将详细中对功能实现的描述,直接翻译,转化为用某种程序设计语言写的程序。
1.2 背景
根据山东科技大学教学要求,实现理论与实践相结合的办学理念,培养21世纪高素质人才,校方安排了与操作系统课程相关的课程设计。
1.3 定义
1. 项目名称 :Java聊天系统 2. 项目提出者:山东科技大学 3. 项目开发者:三个臭皮匠小组 4. 用户 :聊天群
5. 运行环境 :XP, win7,win8 unix操作平台 6. 开发平台 :Eclipse 、Java
7.Eclipse:软件开发工具,J2EE可视化开发平台。 8.Java :面向对象开发语言。
1.4 参考资料
[1]《软件工程实验指导书》清华大学出版社 2003
[2]王珊,萨师煊编著《数据库系统概论》高等教育出版社 2006
[3]钱乐秋编著《软件工程》 清华大学出版社 2007 [4]张海藩编著《软件工程导论》 清华大学出版社 2008
[5]汤子瀛编著《计算机操作系统》第三版 西安电子科技大学出版社 2007
2.总体设计
2.1 需求概要
(1)用户注册模块:
对于有意使用本产品的用户首先要登陆我官网http://www.sisi.com并打开相关的账户注册链接,进入账户注册页面。根据相关提示操作:输入账户名,密码,确认密码,注册邮箱等(详细内容请到官网查询),在填写完相关信息后点击“注册”,会提示用户注册成功,并会给启用注册邮箱发送注册成功激活链接,用户只有通过打开邮箱激活成功以后才能登陆并使用本聊天软件(sisi)。
(2)客户端下载模块:
对天已经成功注册并激活的用户只需要到我官网http://www.sisi.com下载本聊天软件客户端,下载成功后打开并成功安装即可使用。
(3)用记登陆模块:
用打开sisi聊天工具,会看到简洁美观的登陆界面,界面是有本聊天工具的LOG并提示用户输入已经注册成功的账号和密码,输入完成后只需要点击下方的“确认”按钮即可成功登陆本聊天软件。用户还可以点击“取消”按钮取消登陆。 同时登陆界面还有“保存密码”“自动登陆”“登陆状态”等功能按钮,用户可以根据自己的需求自己选择。
对于还没有注册的用户也可以点击右下角“注册账号”按钮进入我官方注册网站进行账号注册。
(4)主界面功能模块:
本聊天工具为用户提供了非常丰富的功能选择如:皮肤更换,状态选择,天气情况,天气预报,等级显示,联系人搜索,功能设置,好友分类,好友删除功能,
私聊世界,群聊天地(根据不同的用户需求我们可以增加更多的功能以供不同的用户使用)
(5)私聊世界模块:
用户使用本软件时只需要点击聊天对象的头像即可进入私聊界面,在私聊界面中我们为用户提供如下的基本功能:文字聊天功能,视频聊天功能,单语音聊天功能,文件传输功能,远程协助功能,应用程序功能,在文字聊天界面中我们提供给了用户有:字体选择工具栏,表情选择工具栏,窗口抖动功能,图片发送工具栏,屏幕截图工具栏,聊天记录功能(更多功能会根据用户的需求和我们的调查在以后的软件开发中加入)
(6)群聊天地模块:
用户如要使用群聊功能只需在主界面打开群聊功能就可使用,本软件可让用户最多可以建立3个群,并可以邀请好友加入自己建立的聊天群,也以加入别人的聊天群,并所有与用户相关的群都在用户的群聊天地显示出来,用户只需要打开要进行群聊的群号即可进入群聊功能界面。
在群聊界面中本软件为用户提供了如下功能:群通讯录,群共享功能,群设置功能,备注名修改功能,群语音功能,群视频功能,字体选择功能,头像选择功能,表情发送工具栏,图片发送工具栏,群消息记录功能,删除群成员功能,退出群功能等等。
2.2软件结构
各个模块之间的关系已由概要设计给出。
2.2.1客户端系统详细设计图
2.2.1.1相关功能具体实现流程
(1).登录流程:
(2)处理好友请求:
(3).注册流程
2.2.2服务器端系统详细设计图
2.2.2.1监听好友消息流程
2.2.2.2 服务器端主要类UML关系图
ServerListenThreadServerReciveThread- textarea:JTextArea- textfield:JTextField- combobox:JComboBox- client:Node- userInfoList:UserInfoList+ isstop:boolean- server;ServerSocket- combobox:JComboBox- textarea:JTextArea- textfield:JTextField- userInfolist:UserInfoList- client:Node- recvThread:ServerReceiveThread+ isstop:boolean+ run()void+ ServerReceiveThread()+ rund():void+sendToAll();void+sendUserList():void聊天室服务端主要包括7个文件,它们的功能如下:
(1)ServerListen.java:ServerListen类其父类为Thread,实现侦听客户端的连接,并响应用户登录的功能,函数run实现相应的功能,当服务器启动时就会创建侦听线程,并调用该类的start函数开始运行线程,而start函数又会调用run函数来实现。
(2)ServerReceiveThread.java:该类是实现接受客户端的信息的功能,该类主要功能在run函数中实现,当侦听线程接收到用户登录请求后就会为该用户创建一个独立的线程并调用该类的的start函数,开始运行线程而start函数又会调用run函数,真正操作在run函数中进行.成员函数sendToAll,实现向所有在线用户转发聊天信息功能在该函数中遍历用户链表依次像所有用户转发聊天信息。添加成员函数sendUerList,实现向所有在线用户发送用户列表的功能,在该函数中遍历用户链表,依次向所有在线用户发送用户链表。
正在阅读:
我想说的话精彩10篇03-26
研究生中期考核表05-14
人教版九年级上全一册第十三章 热量的计算(2020年秋绵阳南山双语学校暑期学习)06-11
数据式审计及其在我国的运用04-05
电力应用文写作教程07-07
Python语法基础_控制流05-10
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 设计
- 源程序
- 说明书
- 课程
- 聊天
- 系统
- Java
- 2019届高考地理一轮复习第五单元地表形态的塑造第一讲营造地表形
- 消防装备和技术在涂装车间的应用探讨
- 潮州市雅森陶瓷实业有限公司年产2300万件日用陶瓷生产线建设项目
- 建筑幕墙工程设计收费办法(试行)
- 农村中学防流控辍工作的实践与思考
- 肇庆市砂石开采企业名录2018版148家
- 地理必修二3月份月考试题
- 如何提高公诉人心理素质
- 策划书
- 浅谈小学数学教学中的操作活动(一年级学习准备期)
- 鞋材纸板市场前景预测及投资规划分析报告(目录)
- 三年级数学智力题
- 小班音乐游戏:《咕噜咕噜的大皮球》
- 政工类代发表期刊杂志 政工高级政工职称论文评定要求
- 啤酒年产200吨糖化车间设计瞧瞧
- 山东省工程勘察设计行业企业名录2018版2554家
- 小学英语阅读理解讲解及习题
- 第二部分是导学教程
- 妈妈写给女儿的心里话精选文章
- 《平凡的世界》中的孙少平孙少安形象比较分析 毕业论文