资源预览内容
第1页 / 共16页
第2页 / 共16页
第3页 / 共16页
第4页 / 共16页
第5页 / 共16页
第6页 / 共16页
第7页 / 共16页
第8页 / 共16页
第9页 / 共16页
第10页 / 共16页
亲,该文档总共16页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
UML课程设计报告 设计题目: 学 院: 专 业: 姓 名: 学 号: 年月日本项目的主要内容1. MyQQ问题陈述 MyQQ系统涉众MyQQ功能概述2. MyQQ需求分析 MyQQ用例析取 MyQQ用例规约 MyQQ术语3. MyQQ架构分析与设计 MyQQ架构设计MyQQ关键抽象4. MyQQ用例分析 MyQQ分析类的析取MyQQ分析类机制5. MyQQ子系统设计及子系统中类的设计 客户端注册模块 客户端登录模块 客户端QQ模块 客户端消息发送模块 服务器控制台模块 用户信息管理模块1、 项目概述及功能介绍1.1 概述随着网络的发展,即时通信软件近年来很受网民们的青睐,本课程设计以腾讯公司的QQ作为建模参考,也仅对QQ客户端软件进行建模。1.2 功能MyQQ聊天工具是一个通过数据库交换聊天消息的软件,主要实现以下目标:1、用户注册,申请QQ号码;2、用户登录;3、个人信息显示;4、好友列表;5、聊天窗本设置;6、好友视频;7、好友聊天;8、聊天信息提示。1.3 开发环境本软件使用VisualStudio2008、SQLServer2005实现。二、项目模块划分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对象中的一个属性,可以通过该属性的Add和Remove方法想列表中添加和移除元素5.2.4客户端消息发送模块 在用Socket发送消息时,只能以二进制流的形式进行发送,并且Socket发送的内存流不能大于1024,当发送大容量的图片时,要对图片进行分流发送,可以调用Memory Stream对象的Read()方法来读取指定的块的消息。5.2.5服务器控制台模块 在本模块中使用了Binary Formatter对象,该对象是以二进制格式将对象或整个链接图形序列化或这反序列化。5.2.6用户信息管理模块在本模块使用了连接数据库的功能,将数据库中保存的用户的信息相匹配的展现出来。在修改个人信息部分,将更新的信息的信息保存至数据库。
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号