UML课程设计文档-
- 格式:doc
- 大小:879.50 KB
- 文档页数:16
UML 课 程 设 计 报 告
设计题目: 学 院: 专 业: 姓 名: 学 号:
年月日 本项目的主要内容 1.MyQQ问题陈述
MyQQ系统涉众 MyQQ功能概述
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 用例分析 2.3 MyQQ ULM用例文档 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用户必须申请QQ号,并记住密码 后置条件 如果能聊天,则系统记录用户与好友的聊天记录 好友不在线,可以发送离线消息 基本事件流 (1) 用例起始于QQ用户需要与自己的好友聊天 (2) 系统显示用户的好友列表 (3) 用户选择想聊天的好友,点击选择与其聊天 (4) 系统打开用户与好友的聊天界面 (5) 用户与好友进行聊天,系统记录聊天内容 (6) 用户关闭聊天窗口,聊天结束,系统记录聊天记录结束,用例结束 备选事件流 A-1 系统在打开聊天窗口之后,用户随时都可以终止该用例 (1)系统提醒用户当前的操作都会被取消 (2)用户确认后,当前用例结束,也可选择取消,则继续后续操作 A-1 系统打开聊天窗口失败 (1)系统显示打开聊天窗口失败,并提醒用户重新提交聊天请求 (2)用户可以重新提交聊天请求,也可结束此用例 A-2 好友不在线 (1)系统显示对方离线或隐身,可能无法立即回复,你可以给他发送邮件或离线消息 (2)用户可以发送邮件或离线消息,也可结束此用例 补充约束-数据需求 补充约束-业务规则 B-1 用户可以查看自己的聊天记录但不能更改聊天记录 待解决问题 暂无 相关图
选择一个想聊天的好友
点击发送消息
与好友聊天关闭聊天窗口
显示好友列表打开聊天窗口记录聊天记录
系统用户 2.3.3 与好友视频 用例名 与好友视频 简要描述 用户通过该用例与自己的好友视频聊天 参与者 QQ用户 涉众 QQ用户:与自己的好友聊天 相关用例 无 前置条件 QQ用户和好友正确登录到该系统 QQ用户必须联网 QQ用户必须申请QQ号,并记住密码 后置条件 如果连接成功,则可以视频聊天 基本事件流 (1) 用例起始于QQ用户与好友视频聊天 (2) 系统显示用户的好友列表 (3) 用户选择想聊天的好友,点击选择视频 (4) 系统确定连接成功 (5) 连接成功后,则可以和好友聊天 备选事件流 A-1 用户在选择是否确认视频之前,好友随时都可以终止该用例 (1)用户选择取消,则继续后续操作 A-1 系统视频好友失败 (1)用户可以重新提交视频信息,也可结束此用例 补充约束-数据需求 补充约束-业务规则 B-1 用户只能删除自己已添加的好友 待解决问题 暂无 相关图 2.3.4 查看个人信息
用例名 查看基本信息 简要描述 用户通过该用例设置自己的基本信息 参与者 QQ用户 涉众 QQ用户:查看自己的基本信息 相关用例 无 前置条件 QQ用户正确登录到该系统 QQ用户必须联网 QQ用户必须申请QQ号,并记住密码 后置条件 看到个人信息 基本事件流 (1) 用例起始于QQ用户需要查看自己的基本信息 备选事件流 补充约束-数据需求 补充约束-业务规则 B-1 每一个用户只能查看自己的基本信息 待解决问题 暂无 相关图
2.4 主要界面 1、登陆界面 2、注册界面 3、好友列表界面 4、聊天界面 5、好友视频界面 6、显示用户信息界面 2.5 MyQQ术语 1、命令消息:在消息封装中,一类可以传递命令的消息,例如登录、登出、更新状态,此类消息的内容一般为空,作用只是传递一个命令,并不需要实际的内容 2、普通消息:普通聊天消息或者文件、视频消息,会有大量的数据内容,一般来说是,普通消息是比命令消息数据量大的多的。
三、系统架构设计 3.1架构分析与设计 下图为MyQQ工作时各层依赖关系
客户:按状态本地,连接在局域网内,可注册和登录,登陆后可以向在线好友发送文本聊天信息,并且可以进行视频聊天和文件传输。
控制台:从数据库中读取数据,显示以注册用户的状态信息,并且可以删除无用的注册信息,来减轻数据的复杂度。
3.2 MyQQd的关键抽象 系统关键抽象即系统实体类图,系统实体类图描述了系统中的类及其相互之间的关系,它反映了系统中包含的各种对象的类型以及对象间的各种静态关系。主要描述了系统实体层中各实体类的属性及其相互关系,是对实体层中各模块的细化描述。 四、MyQQ用例分析 4.1 分析类的析取
4.2分析机制的设计 五、MyQQ子系统设计 5.1子系统的划分 5.1.1客户端注册模块 注册模块主要是在客户端第一次使用企业QQ程序时对当前用户进行注册,申请属于自己的qq号,并将注册的信息发送给服务器端进行记录。 5.1.2客户端登录模块 登录模块主要是在登陆界面,将用户名和密码发送到服务器端,当服务器端有该用户时,将返回一个登录成功的消息,通过该消息,将关闭登录窗体,进入QQ窗体。而当输入有误时,则不能进行到好友界面。也没有登录失败的提示。 5.1.3客户端QQ模块 QQ模块主要是显示已注册的所有用户的名称,并根据用户在线的情况设置用户名称前的图标样式。 5.1.4客户端消息发送模块 消息发送模块主要是用于实现客户端与远程客户端的消息通信,不但可以发送大容量的图片还可以实现视频连接。 5.1.5服务器控制台模块 该模块是客户端与远程客户端相互通信的一个中转站,并且在该窗体上显示已注册的所有用户信息。 5.1.6用户信息管理模块 该模块是对用客户端用户的个人信息的查看,以及数据库中有误信息的更改。 5.2子系统设计 5.2.1客户端注册模块 在注册模块应用了INI文件,以及获取windows路径的技术,他么都是利用API函数实现的,所以在命名空间中添加Using System.Runtime.InteropServices命名空间内。 5.2.2客户端登录模块 在UDP协议的监听事件中通过开启一个线程,来现实局域网信息的发送和接收。 5.2.3客户端QQ模块 在本窗体中使用Inner List列表记录当前已注册用户的信息,并将Inner List列表中的信息添加到tree View1空间中,Inner List用于存储项目的ArrayList对象,它是CollectionBase对象中的一个属性,