UML课程设计文档Word文件下载.docx
《UML课程设计文档Word文件下载.docx》由会员分享,可在线阅读,更多相关《UML课程设计文档Word文件下载.docx(15页珍藏版)》请在冰豆网上搜索。
2.MyQQ需求分析
MyQQ用例析取
MyQQ用例规约
MyQQ术语
3.MyQQ架构分析与设计
MyQQ架构设计
MyQQ关键抽象
4.MyQQ用例分析
MyQQ分析类的析取
MyQQ分析类机制
5.MyQQ子系统设计及子系统中类的设计
客户端注册模块
客户端登录模块
客户端QQ模块
客户端消息发送模块
服务器控制台模块
用户信息管理模块
一、项目概述及功能介绍
1.1概述
随着网络的发展,即时通信软件近年来很受网民们的青睐,本课程设计以腾讯公司的QQ作为建模参考,也仅对QQ客户端软件进行建模。
1.2功能
MyQQ聊天工具是一个通过数据库交换聊天消息的软件,主要实现以下目标:
1、用户注册,申请QQ号码;
2、用户登录;
3、个人信息显示;
4、好友列表;
5、聊天窗本设置;
6、好友视频
;
7、好友聊天;
8、聊天信息提示.
1.3开发环境
本软件使用Visual
Studio
2008、SQL
Server
2005实现。
二、项目模块划分
2.1图片管理工具模块的功能结构图如下:
2。
2用例分析
3MyQQULM用例文档
2.3.1用户注册
用例名
用户注册
简要描述
用户通过该用例注册QQ账号
参与者
QQ用户
涉众
QQ用户:
注册QQ账号
相关用例
无
前置条件
用户必须联网
后置条件
如果注册成功,则系统记录本次注册的信息并返回给用户一个账号
基本事件流
(1)用例起始于用户需要注册自己的账号
(2)用户填写基本信息,并点击注册
(3)系统记录用户的基本信息,并返回给用户一个账号,用例结束
备选事件流
A-1用户在点击注册之前,随时都可以终止该用例
(1)系统提醒用户当前的操作都会被取消
(2)用户确认后,当前用例结束,也可选择取消,则继续后续操作
A—2系统注册失败
(1)系统显示注册失败,并提醒用户重新提交注册信息
(2)用户可以重新提交注册信息,也可结束此用例
补充约束—数据需求
D-1注册信息包括:
IP地址、端口号、昵称、密码、真实姓名、年龄、性别、星座、血型
补充约束-业务规则
B-1每一个IP地址只能一个QQ账号
待解决问题
暂无
相关图
2.3。
2与好友聊天
与好友聊天
用户通过该用例与自己的好友聊天
QQ用户、好友
与自己的好友聊天
好友:
QQ用户和好友正确登录到该系统
QQ用户必须联网
QQ用户必须申请QQ号,并记住密码
如果能聊天,则系统记录用户与好友的聊天记录
好友不在线,可以发送离线消息
(1)用例起始于QQ用户需要与自己的好友聊天
(2)系统显示用户的好友列表
(3)用户选择想聊天的好友,点击选择与其聊天
(4)系统打开用户与好友的聊天界面
(5)用户与好友进行聊天,系统记录聊天内容
(6)用户关闭聊天窗口,聊天结束,系统记录聊天记录结束,用例结束
A-1系统在打开聊天窗口之后,用户随时都可以终止该用例
A—1系统打开聊天窗口失败
(1)系统显示打开聊天窗口失败,并提醒用户重新提交聊天请求
(2)用户可以重新提交聊天请求,也可结束此用例
A—2好友不在线
(1)系统显示对方离线或隐身,可能无法立即回复,你可以给他发送邮件或离线消息
(2)用户可以发送邮件或离线消息,也可结束此用例
补充约束-数据需求
B-1用户可以查看自己的聊天记录但不能更改聊天记录
3与好友视频
与好友视频
用户通过该用例与自己的好友视频聊天
如果连接成功,则可以视频聊天
(1)用例起始于QQ用户与好友视频聊天
(3)用户选择想聊天的好友,点击选择视频
(4)系统确定连接成功
(5)连接成功后,则可以和好友聊天
A-1用户在选择是否确认视频之前,好友随时都可以终止该用例
(1)用户选择取消,则继续后续操作
A-1系统视频好友失败
(1)用户可以重新提交视频信息,也可结束此用例
补充约束—业务规则
B-1用户只能删除自己已添加的好友
3。
4查看个人信息
查看基本信息
用户通过该用例设置自己的基本信息
查看自己的基本信息
QQ用户正确登录到该系统
看到个人信息
(1)用例起始于QQ用户需要查看自己的基本信息
B—1每一个用户只能查看自己的基本信息
2.4主要界面
1、登陆界面
2、注册界面
3、好友列表界面
4、聊天界面
5、好友视频界面
6、显示用户信息界面
5MyQQ术语
1、命令消息:
在消息封装中,一类可以传递命令的消息,例如登录、登出、更新状态,此类消息的内容一般为空,作用只是传递一个命令,并不需要实际的内容
2、普通消息:
普通聊天消息或者文件、视频消息,会有大量的数据内容,一般来说是,普通消息是比命令消息数据量大的多的。
三、系统架构设计
1架构分析与设计
下图为MyQQ工作时各层依赖关系
客户:
按状态本地,连接在局域网内,可注册和登录,登陆后可以向在线好友发送文本聊天信息,并且可以进行视频聊天和文件传输。
控制台:
从数据库中读取数据,显示以注册用户的状态信息,并且可以删除无用的注册信息,来减轻数据的复杂度。
2MyQQd的关键抽象
系统关键抽象即系统实体类图,系统实体类图描述了系统中的类及其相互之间的关系,它反映了系统中包含的各种对象的类型以及对象间的各种静态关系。
主要描述了系统实体层中各实体类的属性及其相互关系,是对实体层中各模块的细化描述。
四、MyQQ用例分析
4.1分析类的析取
4.2分析机制的设计
五、MyQQ子系统设计
5.1子系统的划分
5.1.1客户端注册模块
注册模块主要是在客户端第一次使用企业QQ程序时对当前用户进行注册,申请属于自己的qq号,并将注册的信息发送给服务器端进行记录.
5。
1。
2客户端登录模块
登录模块主要是在登陆界面,将用户名和密码发送到服务器端,当服务器端有该用户时,将返回一个登录成功的消息,通过该消息,将关闭登录窗体,进入QQ窗体。
而当输入有误时,则不能进行到好友界面。
也没有登录失败的提示。
5.1.3客户端QQ模块
QQ模块主要是显示已注册的所有用户的名称,并根据用户在线的情况设置用户名称前的图标样式.
4客户端消息发送模块
消息发送模块主要是用于实现客户端与远程客户端的消息通信,不但可以发送大容量的图片还可以实现视频连接。
1.5服务器控制台模块
该模块是客户端与远程客户端相互通信的一个中转站,并且在该窗体上显示已注册的所有用户信息。
5.1。
6用户信息管理模块
该模块是对用客户端用户的个人信息的查看,以及数据库中有误信息的更改.
2子系统设计
2.1客户端注册模块
在注册模块应用了INI文件,以及获取windows路径的技术,他么都是利用API函数实现的,所以在命名空间中添加UsingSystem。
Runtime.InteropServices命名空间内。
在UDP协议的监听事件中通过开启一个线程,来现实局域网信息的发送和接收。
5.2。
3客户端QQ模块
在本窗体中使用InnerList列表记录当前已注册用户的信息,并将InnerList列表中的信息添加到treeView1空间中,InnerList用于存储项目的ArrayList对象,它是CollectionBase对象中的一个属性,可以通过该属性的Add和Remove方法想列表中添加和移除元素
在用Socket发送消息时,只能以二进制流的形式进行发送,并且Socket发送的内存流不能大于1024,当发送大容量的图片时,要对图片进行分流发送,可以调用MemoryStream对象的Read()方法来读取指定的块的消息。
2.5服务器控制台模块
在本模块中使用了BinaryFormatter对象,该对象是以二进制格式将对象或整个链接图形序列化或这反序列化。
5.2.6用户信息管理模块
在本模块使用了连接数据库的功能,将数据库中保存的用户的信息相匹配的展现出来。
在修改个人信息部分,将更新的信息的信息保存至数据库。