基于Linux的聊天软件.docx
- 文档编号:1187883
- 上传时间:2022-10-18
- 格式:DOCX
- 页数:40
- 大小:182.59KB
基于Linux的聊天软件.docx
《基于Linux的聊天软件.docx》由会员分享,可在线阅读,更多相关《基于Linux的聊天软件.docx(40页珍藏版)》请在冰豆网上搜索。
基于Linux的聊天软件
软件系统设计报告
Linux聊天软件
中国矿业大学计算机科学与技术学院2010年12月于
附表3:
题目
Linux聊天软件
设计日期
2010年9月15日至2010年12月30日
小组成员
在本次设计中承担的任务
文档成绩
超
概要设计、测试
优秀
黄颢
可行性研究、详细设计、编码、测试
优秀
金杰
可行性研究、需求分析、测试
优秀
波文
详细设计、需求分析、测试
优秀
黄颢
组长
指导教师签字:
年月日
Linux聊天软件
可行性研究报告
作者:
金杰、黄颢
日期:
10.9.15-25
1项目背景8
2任务概述8
2.1项目目标8
2.2项目围8
2.3初步想法10
3对现有系统的分析10
3.1处理流程和数据流程10
3.2局限性11
4所建议的系统11
4.1对所建议系统的说明11
4.2处理流程和数据流程11
4.3改进之处12
4.4可行性分析12
4.4.1经济可行性.12
4.4.2技术可行性12
4.4.3运行可行性.13
4.4.4法律可行性.14
5结论14
1项目背景
随着科技的发展,尤其是电子科技,网络技术等的快速发展,其中Internet的广泛应用最引人注目,当今,基于网络通讯技术的各种应用软件已经鳞次栉比,非常多了,如QICQUC等,在这次软件设计中,我们选择了较为熟悉和普遍的即时通讯软件来开发。
鉴于传统的windows,unix操作系统不开源,不能让我们在开发过程中学到关于开发环境的相关知识,并且在其上应用前景也不是很明朗,所以我们选择开源的LINUX操作系统并且搭建其下的开发环境来开发我们的软件,在学习软件设计的同时,也能学习到LINUX操作系统的知识和熟悉相关开发环境的使用。
学习Linux软件开发与编程应用,并且把软件工程的理念蕴于其中,而更达到锻炼学习实践的目的。
2任务概述2.1项目目标
设计一个可以运行在Linux平台下C/S架构的即时聊天系统,实现聊天的各种基本功能。
2.2项目围
A.功能:
能够正确注册,登录,退出;
能够查询、添加、删除好友;
能够查看好友资料信息和状态信息;能够实现个人资料信息维护、修改、更新个人状态信息;能能在显示好友列表时显示好友状态;能够实现正常地发送接收消息能够查看聊天记录
B.性能:
准确即时发送数据到指定用户;
能承载一定用户数量压力的服务器;
C输出:
注册信息,存储到数据库中;
个人信息表,存到相应的个人用户下;
个人状态表,存储个人ID、是否在线等;
好友列表,查看好友的信息、状态、ID等;
D输入:
输入ID登录,查找ID、添加好友ID;
修改个人信息、个人状态;
发送聊天信息,查看聊天记录;
二建立连接
服务器
.查
E
F安全方面:
IP与ID——对应,ID与密码匹配登录
G支持系统:
LINUX
H2010年12月30日。
2.3初步想法
初次开发软件,难度比较大,压力也很大,没什么想法,尽量吧。
基本分为几大模块:
C/S模型设计,使用Socket网络通信编程完成其模型的实现;数据库模块设计,使用mysqlCAPI编程实现;
图形模块设计,GTK编程实现;
开发平台,Linux系统中各种常用开发工具,Eclipse、myspl、CDT
gcc
3对现有系统的分析
现有系统基于Linux下,采用C/S模型结构,数据库来存储数据,Socket即时通信,以实现聊天软件的基本功能。
不过该系统图形化不简单,因为没有成熟的技术。
而系统所缺乏的注销、下载客户端、找回密码等功能,需要B/S
模块来实现。
3.1处理流程和数据流程
系统流程图表达系统各部件之间的有信息流动
用户聊天即时信息和聊天记录
3.2局限性
本系统的主要的局限性:
处理时间赶不上需要,响应不及时,不能完全实现即时通信,具有延迟性。
数据存储能力不足,数据库容量不大,更新不够及时。
并且我要说明,基于硬件限制、网络通信限制等各方面的因素,对现有系统的改进性维护已经不能完全解决问题。
4所建议的系统
本章将用来说明所建议系统的目标和要求将如何被满足。
4.1对所建议系统的说明
现有系统基于Linux下,采用C/S模型结构,数据库来存储数据,Socket
即时通信,以实现聊天软件的基本功能。
C/S模型设计:
使用Socket网络通信编程完成其模型的实现;数据库模块设计,使用mysqlCAPI编程实现;
图形模块设计,GTK编程实现;
开发平台,Linux系统中各种常用开发工具,Eclipse、myspl、CDT、gcc。
服务器充当中转站,交换用户信息,接收客户端信息,转发到另一客户端,实现对客户端登录用户的控制;
数据库存储用户基本信息、资料,即时更新客户端聊天信息,监控与保存聊天记录;客户端实现与服务器的,发送聊天容,接收服务器的响应。
4.2处理流程和数据流程
所建议系统的与原系统基本一样的处理流程和数据流程,不加以叙述
4.3改进之处
很好很强大,不过当多个用户同时申请响应时,如何处理应当考虑。
4.4可行性分析
(说明在建立所建议系统时,预期将带来的影响,包括:
)
4.4.1经济可行性
所建议系统的开发预计,市场需求无关,不能盈利,成本无价,重在积累经验,掌握技术,实践学习。
A.费用估计:
软件开发价格=12人•月*5XIXB*1.476+B/3+B/3)*1*1.2=925.632
平均工资B取20
B.效益估计:
本系统方便人们的交流联系,给Linux广大人民带来了新的快乐,支持他们一如既往地走下去,为Linux的发展作出了贡献。
开源系统,效益甚微,忽略不计。
(设计和维持运行而需要的各项经费开支,及对软件投入使用后,对用户经济上的影响。
)
4.4.2技术可行性
本节应说明技术条件方面的可行性,如:
a•小队成员人手一套Linux系统,一台笔记本,网线路由等,硬件资源齐全;
b.UbuntulO有大量开源软件支持,利用已有的C++数据库基础知识,善于学习、搜索有用源代码,理论上是可行的;
c.不过由于此次开发时初次,且经济效益不大,可能造成小队成员积极性不够,导致不能高质量、提前圆满完成任务,那也是有可能;
d.技术上可能遇到很多难题,如同时处理信息响应、通信协议的理解,C/S
模型的建立等,但是只要我们一起努力,不断吸收学习,相信这些都不是问题。
4.4.3运行可行性
使用该软件要求:
Linux系统,支持1O人以下客户端;
能简单操作使用Linux下的基本软件,最好使用过QC等聊天软件;
(说明为了建立和运行所建议系统,对用户单位机构、人员的数量和技术水平等方面的全部要求。
从用户单位的行政管理、工作制度等方面来看,是否能够使用该软件系统;
从用户单位的工作人员的素质来看,是否能满足使用该软件系统的要求等等,都是要考虑的。
)
4.4.4法律可行性
该软件基于Linux下开发,使用gcc、eclipse、mysql等开源工具,遵循软件开发公共准则,项目中如有使用其他开源代码部分会加以标示。
相信应该不会违反相应的法规。
(法律方面的可行性问题很多,如合同责任、侵犯专利权、侵犯等方面的陷阱,软件人员通常是不熟悉的,有可能陷入,务必要注意研究。
)
5结论
借着软件工程老师指导、督促的契机,融汇所学C++数据库知识,打开硬件设备,进入神奇的开源世界,打造属于我们自己的软件!
Linux聊天软件
软件需求说明书
作者:
波文、金杰
日期:
10.9.28-10.10.15
1需求分析概述错误!
未定义书签。
2数据流图错误!
未定义书签。
2.1顶层数据流图.错误!
未定义书签。
2.2分层数据流图.错误!
未定义书签。
2.2.1一层数据流图.错误!
未定义书签。
2.2.2二层数据流图.错误!
未定义书签。
3数据字典错误!
未定义书签。
3.1数据元素.错误!
未定义书签。
3.2数据流.错误!
未定义书签。
3.3数据存储.错误!
未定义书签。
4加工逻辑描述.错误!
未定义书签。
1需求分析概述
随着人们的生活的日趋网络化,网民不断的增加,越来越多的人加入到网聊的队伍中.聊天软件有很大的应用前景.现在有很多聊天软件,比如qq就是一个占有市场份额很大的,也是最流行的软件.
这次我们开发的软件就是一个具有简单的即时聊天应用系统,主要包括一些简单实用的功能,比如聊天,寻找好友.
为了实现预期的功能,我们主要把把软件分为客户端和服务器端,让二者分别实现相应
的功能然后在有机的组合在一起完成整个系统的功能.
客户端:
注册功能:
新用户的注册申请
登陆功能:
输入正确的与密码,发送登陆请求到服务器端,经服务器端的验证成功登陆或返回错误信息.
显示功能:
用不同的标示显示在线的好友和不在线好友,并显示相关功能的按键框方便用户的操作.
聊天:
用户可以选择文字或语音聊天.还可以给好友发送图片,文档资料.聊天记录的管理功能:
用户可以选择上传或者查看聊天记录.好友管理功能:
可以根据查找好友,添加好友,删除好友.
服务器端:
注册信息处理功能:
系统受理用户请求信息随机返回给用户一个,并把受理的信息送到
用户信息数据库中存储.
登陆信息处理功能:
对用户的与密码信息进行验证,如果正确就返回正确信息,否则返回登陆失败信息,并提示用户重新输入登陆信息.
系统返回信息处理功能:
对系统返回的信息进行处理,并给用户相关提示.用户请求信息处理功能:
对用户发出查找好友,添加好友,删除好友,聊天,上传聊天记录以及查看聊天记录的信息进行处理,向系统发出相关信息,并向用户返回相关信息.
2数据流图2.1顶层数据流图
2.2分层数据流图
221—层数据流图
数据库
2.2.2二层数据流图
客户端
用户
显示
注册
*
删除好
注销帐
查找好
文字
语音
友
友
加为
关信息
好友
.传聊
'载聊
天记录
k
i
J
服务器
I
号
查看相
服务器端
注销
注册申请
-I
登录
发送图片
好友管理
添加好友
账号密码
信息管理
昵称
/
保存聊天记录
聊天记录申请
客户请求
k丿
文件管理
厂•丄
性别年龄
状态
寻找好友
查看好友
语聊申请
数据库
3数据字典3.1数据元素
名称
别名
取值类型
长度
描述
位置
ID
Int
6到8位
惟一标识用户,Key,不可空
用户信息表,详细信息表,保护信息表,好友列表,聊天记录表
密码
Psw
Char
6-16
用户身份鉴定,不可空
用户信息表
登录状态
UserStatus
Int
1
用于记录当前用户的登录状态,不可空
用户信息表,用户状态表
年龄
Age
Smallint
0-99
记录用户年龄
详细信息表
地区
Area
Char
20
记录用户地区,可空
详细信息
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Linux 聊天 软件