仿腾讯QQ软件系统开发文档.docx
《仿腾讯QQ软件系统开发文档.docx》由会员分享,可在线阅读,更多相关《仿腾讯QQ软件系统开发文档.docx(53页珍藏版)》请在冰豆网上搜索。
仿腾讯QQ软件系统开发文档
软件文档写作期末考核
2013年5月28日
一、即时通讯系统软件项目计划书
一项目概述
1.1目的
依照腾讯公司即时聊天工具QQ的设计,实现局域网网络通信的各项基本功能。
以便在不连网的情况下,局域网可以进行通信。
1.2项目背景
计算机网络发展至今已经大大超越了人们当初的预想,无认是人们日常的工作还是学习,我们都越来越我的依靠到互联网。
各种实时性的聊天娱乐软件也同时诞生,为我们的即时通讯带来了众多的方便,比如说大家所熟知的腾讯QQ,微软的MSN、移动的Fetion等,都是做比较成功的实时聊天工具。
网络聊天成为现代人们生活必不可缺的一部分,它增强了人与人之间的沟通。
通过它人们可以结识来自世界各地的朋友,成为知己商业伙伴等,成为情感交流和生活联系的主要方式。
当下的腾讯QQ为我国大众的平台。
其当下的用户注册量已过六亿。
实际有效用户也达到1.6亿。
据市场调查。
当下90%以上的学生及社会青年人士上网主要包括四大模块:
聊天游戏影视交友。
而且几乎每个登陆互联网的朋友都会打开聊天工具QQ。
为更进一步创新和丰富现今的聊天方式。
为此,将意向开发聊天软件。
本项目以仿照腾讯QQ实现局域网即时聊天系统
1.3项目的范围和目标
1.3.1范围描述
采用客户/服务器模式,分为客户端程序和服务器程序。
服务器采用WINSOCKI/O模型中的任一种,支持多个客户同时在线聊天。
客户端程序各服务器程序通过网络交换聊天字符串内容,服务器窗口的列表框中显示当前在线用户,支持客户端之间的私聊
1.3.2主要功能
1).支持本地保存密码、登陆账号
2).能正常登陆和隐身登陆,以及退出登陆
3).支持好友列表,并能正确的自动更新、能显示在线好友,并与不在线好友予以区分、能查找、增加、删除好友.支持自定义好友分组、排序.支持好友来消息提示.能显示个人、好友信息
4).能修改基本的个人信息、支持修改个人在线状态、支持对好友增加备注、支持设置隐私权限、支持加入黑名单、支持从好友列表中搜索特定好友
5).能主面板最小化、最大化、隐藏操作、支持多个帐户同时登陆,且互不影响、支持屏蔽特定好友消息、显示输入消息窗口,能及时显示输入的消息、能显示接收到的好友消息、支持设置消息字体、支持发送图片、支持聊天消息离线记录、支持发送、接收文件、支持显示好友登陆IP、支持打开多个聊天窗口,且互不影响
6).能正确处理客户端登陆、能注册帐号、能查询、增加、删除好友、能正确实现对个人信息进行维护、修改、更新、能正确实现个人帐户中好友列表维护、对不在线好友发送消息时,能暂时保存聊天消息、能正确维护各登陆帐户、实现自动判定登陆帐号是否离线、实现其它描述功能
1.3.3系统流程图
1.3.4技术约束
由于缺乏开发经验,加大了系统实现的难度时间控制上,会出现一定的误差。
对WINSOCKET不熟练。
二项目估算
2.1使用的历史数据
无参考
2.2使用的评估技术
由于本项目主要还是靠基于编程语言实现的,所以采用了认可度比较高的COCOMOⅡ模型。
2.3工作量、成本、时间估算
预计代码行L=30(L是以KLOC计数的源代码行)
成本估算:
E=5.2*L0.91=114.8639(E是以人员为单位的工作量)
D=13.47*E0.35=70.8650(D是以月为单位的所需时间)
S=0.54*E0.35=2.8409(S是以人计的人员需求量)
DOC=49*L1.01=1520(DOC是以页数为单位的文本量)
工作量估算:
a=3.6,b=1.20,S是以千源代码行(KLOC)计数的程序规模
E=a*Sb=3.6*301.2=213.2299
时间估算:
c=2.5,d=.32
t=c*Ed=2.5*213.22990.32=13.9≈14月
三风险评估
3.1风险识别
1).作为先决条件的任务不能按时完成
2).需求不明确,在开发过程中不断变化
3).项目开发过程中出现的错误,需要比预期更多的测试、设计和实现工作
4).缺乏对软件开发策略各标准的遵循,经验不足
5).技术的不确定性
6).设计、实现、接口、验证、维护、规约的二义性
3.2风险应对策略
1).依据项目过程进展情况,对重要风险进行过程跟踪,对其它风险进行定期跟踪,在不同过程进展情况下,跟踪不同的风险项目。
2).定期检查项目进展。
审核工作成果
四项目进度计划
4.1项目任务分解
软件任务
任务描述
任务持续时间(周)
A
可行性分析与项目开发计划
1
B
需求分析
3
C
框架设计
1
D
详细设计(包括绘制模型)
3
E
编码
3
F
测试
2
G
运行维护
1
4.2时间安排
开始时间:
-------6月1日结束时间:
--------12月25日
五关键问题
5.1技术因素
1).数据库掌握数据库设计技术;掌握对数据库的基本操作;能较准确的描述并实现用户需求;了解数据库优化技术;最终掌握数据库编程(mysqlCAPI编程),实现系统的数据库模块.
2).Socket通信理解Socket网络通信编程思想;掌握Socket网络编程技术;能够使用Socket进行网络编程;深入学习多进程多线程的并发处理,最终完成C/S模式实现.
5.2非技术因素
1).时间的不合理分配。
2).还有其他一些物质方面的约束。
六软件配置
6.1开发平台
硬件资源:
微型计算机
软件资源:
MicrosoftVisualC++6.0
MicrosoftSQLServer2005
6.2开发工具
Visualc++语言。
七人员组织
7.1人员及其角色
以团队形式展开,做到团结合作。
八附录
参考资料
【1】《VC++深入详解》孙鑫余安萍编著
【2】《visiualc++网络高级编程》陈伟著
二、仿QQ即时通讯系统软件可行性分析报告
1引言
随着计算机网络技术的快速发展,许多企业、机关、学校都纷纷建立起自己的局域网。
为了方便局域网内部用户的信息交流与即时通信,本人本着学以致用的原则,以c#为开发平台,开发了这套即时通信系统,以满足网络用户的通讯需求。
在本人开发的聊天系统中,用户聊天信息采用服务器转发方式,保证只要当前在线的用户都可以接收到。
本聊天系统包括服务器程序和客户端程序,服务器包括聊天信息即时转发等功能。
客户端具有登陆、聊天等功能。
该系统具有操作简单、界面友好、功能专一、使用方便等特点。
本文就系统的原理、系统的开发过程做了详细的介绍,重点介绍了系统的总体方案、各功能模块的设计思路、设计方法与设计过程。
也对系统内部通信原理与通信机制进行了论述。
1.1编写目的:
在编写本软件之前,我们查阅了很多资料,并经过细致的讨论和分析,之后由软件项目小组提出了这份可行性分析报告。
这份报告对仿QQ即时通讯系统软件进行了全面细致的分析,并且为下一步的需求分析提供了一个可行性前提,是整个项目可以顺利有序的进行,还可以为后期的验收工作提供一个参考的标准。
以及避免在以后的项目开发中出现巨大的损失。
1.2项目背景:
开发软件名称:
仿QQ即时通讯系统软件
项目任务提出者:
桂林电子科技大学软件文档课程小组
项目开发者:
桂林电子科技大学软件文档课程小组
用户:
适用于所有人员
项目与其他软件,系统的关系:
本项目采用客户机/服务器原理,客户端的程序是建立在WindowsNT系统上以MicrosoftVisualC++6.0为开发软件的应用程序,服务器端自行编写操作系统的工作站,是采用SQL为开发软件的数据库服务程序。
具有很好的可移植性,可在应用范围较广的WINDOWS系列操作系统上使用。
1.3参考资料:
《实用软件工程》,郑人杰等,清华大学出版社。
《软件工程》,钱乐秋等,清华大学出版社。
《软件工程—方法与实践》,许家珆主编.电子工业出版社2007
《UML面向对象技术与实践》,宋波等,科学出版社,2005
2.可行性研究的前提
2.1要求
主要功能:
用户信息、数据的录入、删除、修改及查询;用户登录信息的录入。
性能要求:
用户提供的信息必须及时的反映在管理员的工作平台上。
用户的数据必须无差错的存储在系统的主服务器上。
对服务器上的数据必须进行及时正确的刷新。
输入要求:
用户登录信息,密码详实。
输出要求:
简捷,快速,实时,美观,大方。
安全与保密要求:
服务器的管理员享有对该系统用户信息数据库的管理与修改。
用户只享有对自己对应的部分修改。
完成期限:
预计两个月,即截止2013年12月25日。
2.2目标:
系统实现后,大大提高同学和老师的交谈的方便性。
加强了师生间及同
间的联系,减少信息交流的烦琐过程及其带来的开销。
2.3条件,假定和限制
建议软件寿命:
10年。
经费来源:
自费。
硬件条件:
自己编写的服务器,终端为安装了WindowsXP或linux的PC机。
运行环境:
Windows系统或linux系统
数据库:
MicrosoftSQLServer2005
投入运行最迟时间:
2013/12/25
2.4可行性研究方法
2.5决定可行性的主要因素
成本/效益分析结果,效益〉成本。
技术可行,利用三年来的学习所掌握的现有技术可完全承担开发任务。
操作可行,软件能被原有工作人员快速接受。
3.技术可行性分析
3.1系统简要描述
仿QQ即时通讯系统软件是安装了WindowsXP或linux的PC机,主要目的是向服务器传递数据。
当用户在进行聊天时,终端向服务器发出请求,服务器根据信息库的实时数据,向终端发送数据,显示在终端的屏幕上。
并且服务器记录了所有用户的聊天记录,能够实现修改个人资料、查看好友资料、添加分组、移动好友、添加、删除好友、QQ号申请、密保验证、取回密码、更换皮肤、修改备注查找条件查找精确查找好友状态变更提醒收发系统消息更换头像发送表情字体大小的设置等功能
3.2处理流程和数据流程
4.社会因素可行性分析
整个社会大环境需要这样的社交软件加强人与人之间的沟通。
4.1法律因素
该系统为广大用户使用,而且具备相关方面的合法性,又是我们开发小组独立研发,所有软件都选用正版.所有技术资料都由提出方保管。
因此相信此项目无法律问题。
4.2用户使用可行性
由于本系统是现代软件开发的,开发工作建立在详细需求分析之上,并且对开发环境进行了深入调查,人员素质完全满足要求,简单实用,所以,使用本软件人员要求有一定计算机基础的人员,系统管理员要求由计算机的专业知识.管理人员也需经一般培训.
5.结论意见
经过以上各个方面的研究,可见这个开发项目在技术、操作、经济以及法律
和社会各个方面满足可行性条件,因此决定着手组织开发。
三、即时通讯系统软件需求规格说明书
1、前言
1.1编写目的
本文档描述了IM即时通讯系统项目的产品需求。
1.2预期的读者和阅读建议
预期的读者和阅读建议参见表1。
表1
读者分类
阅读重点
备注
项目经理
全文
市场人员/客户代表
了解本文档对需求的理解是否和他们要求的一致
市场人员/客户代表
系统设计人员
理解产品需求,在设计时把握产品需求。
系统设计人员
系统测试人员
了解产品需求,为测试提供参考
系统测试人员
2术语、定义和缩略语
2.1术语、定义
术语、定义参见表2。
表2
术语/定义
说明
需求提供者
提出有效软件需求的客户(用户)
IM
InternetMessage的缩写
通讯
在协议基础上,客户端和客户端通过服务器端进行交互。
Socket
套接字
C/S结构
Client(客户端)/Server(服务器)结构的简称
系统终端用户
IM即时通讯系统使用者
权限
给系统每个用户分配的允许操作和使用范围。
验证
用户进入系统前系统对用户身份的识别。
视图
显示给用户看到的操作结果。
模块
能完成一定功能的系统的小块组成部分。
数据库
系统存放有用信息(数据)的库。
添加
对数据库中的信息的增加。
修改
重新定义数据库中的某条信息。
删除
对数据库中的无用信息的清除。
查询
查找定义数据库中的某条信息。
异常
所有正常情况以外的情况。
2.2缩略语
缩略语参见表3。
表3
缩略语
原文
中文含义
RP
RequisitePro
需求管理工具
ID
Identitfy
用户标识
C/S
Client/Server
客户/服务器
SQL
StructQueryLanguage
结构化查询语言
TCP/IP
TransferControlProtcol/InternetProtcol
流式通信协议/网络协议
IM
InternetMessage
因特网消息
SQA
SoftwareQualityAssurance
软件质量保证
RM
RequirementsManagement
需求管理
PR
PeerReviews
同行评审
2.3综合描述(可选)
2.3.1产品前景
IE时代的今天,网络的深入使人与人的沟通交流更为方便快捷,信息交流更是人类生活中不可缺少的一部分,传统的传递信息方法要耗费人力,财力,时间,常常因为认为因素不能即使通信而导致出现严重后果,而IM(InternetMessage)系统是传输交流的载体,通过交流,可以及时,准确的了解对方。
为了缩短了人们的距离,达到及时高效的传递对方的信息,即时通讯软件的使用使企业的管理流程更加便捷,企业的反应速度更加迅速。
2.3.2功能概述
功能类别
子功能
系统管理
服务器设置
退出系统
用户管理
用户注册
用户登录验证
添加好友
删除好友
密码找回
用户上线时给好友发通知信息
用户资料查询
消息管理
聊天信息发送
聊天信息回复
聊天信息保存
系统广播消息
系统帮助
使用帮助文档
2.3.3运行环境
服务器端系统运行环境基本要求
基本硬件要求:
CPU:
P43.0GHZ及其以上
内存:
1G及其以上
硬盘空间:
60G及其以上
网卡
100M/S
显示设备
15寸及其以上彩显
基本软件环境要求
操作系统
Win2000/2003Server/及其以上版本
JDK
jdk1.5.0_07及其以上版本
JDBC驱动
SQLServer2000DriverforJDBCServicesetup.exe
数据库
MS-SQL2000(SP3)及其以上版本
IM即时通讯服务器端软件
Version1.0及其以上
网速
100M/S
客户端系统运行环境基本要求
基本硬件要求:
CPU:
1.0GHZ及其以上
内存:
128M及其以上
硬盘空间:
2G及其以上
网卡
10M/S
显示设备
15寸及其以上彩显
基本软件环境要求
操作系统
Win98/win2000/winXP及其以上版本
IM即时通讯客户端软件
Version1.0及其以上
网速
35.5K/S
3需求
3.1功能需求
SR_F_01服务器端系统配置功能
SR_F_01_01
服务器端初次安装设置:
服务器端的IP、访问的断口号
SR_F_02用户管理功能
SR_F_02_01
用户注册功能:
用户资料的添加、修改
SR_F_02_02
用户登录功能:
包括用户登录处理、隐身登录、上线通知好友功能
SR_F_02_03
好友管理功能:
包括好友的查找、添加、删除、在线用户的显示以及好友的基本资料的浏览
SR_F_03消息管理功能:
SR_F_03_01
与好友发送消息功能:
消息内容包括基本文字的发送
SR_F_03_02
好友消息回复功能:
消息内容包括基本文字的发送
SR_F_03_03
信息记录功能:
客户端以及服务器端的好友发送信息的保存
SR_F_03_04
广播消息接收功能:
客户端能接受到服务器端的广播消息
SR_F_05系统帮助功能:
SR_F_05_01
系统帮助功能:
提供系统使用的帮助文档。
3.1.1SR_F_01配置服务器:
SR_F_01_01服务器设置
需求描述:
对服务器端初次安装设置:
设置服务器端的IP、访问的断口号,启动/停止对客户端的服务,从而方便移植和使用
执行者:
系统管理员、服务器
优先级:
关键的
前置条件:
C01服务器端软件正常运行,网络正常,端口号不被占用
后置条件:
R01接受设置IP,端口号请求
正常过程:
N01系统管理员通过界面对服务器端进行服务器端的IP,端口号的设置
N02服务器接受设置
N03系统管理员启动/停止对客户端的服务
N04系统释放资源、正常退出
N05用例结束
可选过程(可选):
无
异常过程(可选):
E01服务器本身没有响应自己对服务器断IP,端口号的设置请求(在N01之后)
E02服务器无法启动/停止对客户端的服务(在N03之后)
E03系统无法释放占有资源和无法退出(在N04之后)
特殊需求(可选):
S01系统提供稳定的、可靠的、及时的客户端请求
3.1.2SR_F_02用户管理:
SR_F_02_01用户注册
需求描述:
用户向服务器发出注册请求,从而用户拥有自己的ID,以实现登陆使用此软件。
执行者:
用户、服务器
优先级:
关键的
前置条件:
C01用户向服务器端发出申请用户ID请求
后置条件:
R01服务器成功响应并接受用户的请求
正常过程:
N01用户向服务器端发出连接请求
N02服务器端响应并接受客户端的请求,成功建立通讯连接
N03用户再向服务器端发送注册用户ID请求
N04服务器端接受来自客户端用户的请求并做注册处理
N05服务器端向用户发送请求并返回拥护注册ID号
N06用户得到注册ID号
N07用例结束
可选过程(可选):
A01注册时,个人信息的填写不需要全部填写
异常过程(可选):
E01用户无法连接到服务器(在N01之后)
E02服务器对客户请求处理失败,数据库服务中断(在N04之后)
E03用户没有成功得到注册ID号(在N05之后)
特殊需求(可选):
无
SR_F_02_02用户登录
需求描述:
用户拥有自己登录ID后,通过输入服务器分配的自己的登录ID号向服务器发送登录请求,从而可以有权使用软件的其他功能。
执行者:
用户、服务器
优先级:
关键的
前置条件:
C01用户向服务器端发出登录服务器请求
C02用户输入合法的登录ID和登录密码
后置条件:
R01用户已经成功注册登录ID
R02服务器成功响应并接受用户的请求
正常过程:
N01用户输入正确的登录ID和登录密码,选择登录方式
N02用户再向服务器端发送登录请求
N03服务器端接受来自客户端用户的请求并向数据库服务器核对用户ID和密码
N04成功登录,服务器返回用户好友情况等信息
N05用例结束
可选过程(可选):
A01用户选择是隐身登录还是正常登录方式
异常过程(可选):
E01用户连接服务器超时(在N02后)
E02用户登录失败,用户登录ID和登录密码有一个或两个错误(在N03之后)
特殊需求(可选):
无
SR_F_02_03管理好友
需求描述:
用户成功登录后,可进行好友的查找、添加、删除、在线用户的显示以及好友的基本资料的浏览操作
执行者:
用户、服务器
优先级:
关键的
前置条件:
C01用户已经成功登录服务器
C02添加/删除/在线用户显示好友时存在好友的ID
后置条件:
R01用户已经成功注册登录ID
R02服务器成功响应并接受用户的添加/删除/查找好友的请求
正常过程:
N01用户合法登录后,服务器返回该用户的好友列表,以及好友的在线情况,并提供添加/删除/查找好友的渠道
N02添加/删除/查找好友时,用户选择正确的好友ID,并向服务器端发送添加/删除/查找好友请求
N03服务器端接受来自用户的请求并做添加/删除/查找处理
N04成功添加/删除/查找,服务器返回处理结果,成功添加/删除/查找
N05用例结束
可选过程(可选):
A01用户查找好友时候可同过已有的对方用户ID,也可通过在线好友列表查找
异常过程(可选):
E01用户连接服务器超时(在N02之后)
E02用户添加//查找好友失败,要查找的用户ID不存在(在N03之后)
特殊需求(可选):
无
SR_F_02_04找回密码
需求描述:
用户曾经向服务器端成功注册过用户ID,并且设置了密码保护,此时,用户密码忘记或者他人盗取并修改了密码,于是用户可通过此功能向服务器发送请求,当密码保护问题的问题和答案都符合用户早期设置的密码保护是的问题与答案一致是,服务器就会返回此用户ID的密码,密码找回就成功完成
执行者:
用户、服务器
优先级:
有用的
前置条件:
C01用户曾经向服务器成功注册过登录ID
C02用户设置了密码保护
后置条件:
R01用户还记得自己的密码保护问题与答案
正常过程:
N01用户向服务器发送找回密码请求
N02服务器响应并要求得到要找回密码的登录ID号
N03用户向服务器发送要找回的登录ID号
N04服务器得到要找回的登录ID号,并取得该ID号设置的密码保护问题,同时返回给用户,要求用户添写对应问题的答案
N05用户根据服务器返回的密码问题,填写密码问题的答案,将答案传给服务器
N06服务器接收到答案做处理,返回用户登录ID的密码
N07用户得到服务器送来的密码,密码找回成功结束
N08用例结束
可选过程(可选):
无
异常过程(可选):
E01用户发送找回密码请求失败,连接请求(在N01之后)
E02用户号码不存在(在N03之后)
E03用户密码问题错误(在N06之后)
特殊需求(可选):
无
3.1.3SR_F_03消息管理:
SR_F_03_01发送信息
需求描述:
用户彼此之间进行通讯时,一方同另一方是进行通讯交流就是通过发送消息达到表达意思的目的
执行者:
用户、服务器
优先级:
重要的
前置条件:
C01两个用户以上同时都与服务器连接上了
C02用户拥有自己的好友
后置条件:
R01服务器转发信息
正常过程:
N01用户给服务器进行消息发送请求
N02服务器响应用户请求
N03用户选择要发送消息的好友对象,编辑消息内容,发送消息
N04服务器接收到用户发来的消息,并对消息进行解包分析,得出消息的接收对象与消息的内容
N05服务器根据消息的接收对象,向该消息的内容返回给接收消息的对象,也就另一用户
N06另一用户得到消息,消息发送完毕
N07用例结束
可选过程(可选):
A01用户编辑消息时,可选择文字的字体
A02用户编辑消息时,可选择文字的大小