




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、案例:即时通信系统1、 问题描述设计一个即时通信系统,实现多个用户进行网上聊天的功能,各个聊天客户端通过注册、登录才可以和好友进行通信。系统既包括客户端部分、也包括服务器端部分。在客户端能够实现消息的查看,添加和删除网上的好友,与选定的好友进行通信,查询自己与好友的聊天记录等功能。服务器端负责好友的在线维护,同时服务器还应该具有保存用户资料和用户聊天记录的功能。此外,当用户不在线时,收到的好友消息能够被保存,使用户在下次登录时可以查看。2、建立用例模型(1)确定参与者当考虑构造一个系统时,首先要确定系统的边界,即主体。系统边界定义了由谁(参与者)使用系统,系统能够为参与者提供什么功能(用例)。
2、根据定义,参与者是指所有存在于系统外部并与系统进行交互的人或其他系统。为了确定参与者,需要考虑谁或什么使用系统,它们在与系统的交互中扮演什么角色,然后归纳它们。一般地,寻找参与者可以从一下问题入手:l 系统开发完成后,有哪些人会使用这个系统?l 系统需要从哪些人或其他系统获取数据?l 系统会为哪些人或其他系统提供数据?l 系统会与哪些其他系统相关联?l 系统是由谁维护和管理的?l 谁启动或关闭系统?这些问题有助于抽象出系统的参与者。分析:l 对于即时通信系统,参与聊天的客户(Client)显然是系统的参与者。l 为了完成在线客户的管理和客户信息的验证等功能,需要有一个服务器(Server)。l
3、 为了实现客户信息和通信记录的存储等功能,需要有一个数据库(DataBase)。(2)确定用例确定参与者后,就可以根据参与者来确定系统的用例,用例是参与者想要系统做的事情。需找用例可以从以下问题入手(针对每一个参与者):l 参与者希望系统提供什么功能?l 参与者是否会在系统中创建、修改、删除、访问、存储数据?如果是的话,参与者又是如何来完成这些操作的?l 参与者是否会将外部的某些事件通知给该系统?l 系统是否会将内部的某些事件通知给该参与者?分析:l 参与者Client使用的用例有:Register(注册账号)、Log in(登录系统)、Log out(退出系统)、Send Message(发
4、送消息)、Add Friends (添加好友)、Delete Friends(删除好友)、Query Record(查询聊天记录)等。l 参与者Server使用的用例有:Log in(登录系统)、Log out(退出系统)、Add Friends (添加好友)等。l 参与者Database使用的用例有:Register(注册账号)、Send Message(发送消息)、Add Friends (添加好友)、Delete Friends(删除好友)、Query Record(查询聊天记录)等。在用例的抽取过程中,必须注意:用例必须是由某一个参与者触发而产生的活动。如果存在与参与者不进行交互的用例
5、,就可以考虑将其并入其他用例;或者检查该用例相对应的参与者是否被遗漏?然后补上相应的参与者。反之,每个参与者也必须至少涉及到一个用例,如果发现有不与用例相关联的参与者存在,就应该考虑该参与者是否与系统发生交互?若是,则由该参与者确定一个新的用例;若不是,则该参与者是一个多余的模型元素,应该将其删除。3、用例描述用例图只是在总体上描述了系统所能提供的各种服务,但是没有提供任何细节信息。为此,对于每个用例,还需要有详细的说明,即用例描述。对于用例描述的格式和内容,没有硬性规定,但一般应包括以下几部分:l 用例名称l 用例编号l 参与者l 简要描述l 事件流:包括基本事件流、可选事件流和异常事件流l
6、 前置条件l 后置条件对于上述用例图中的用例,其描述如下表:表1:用例“注册账号”的描述用例名称:Register用例编号:UC001优先级:高参与者:客户、数据库简要描述:客户在即时通信系统中注册前置条件:客户端应用程序主界面已经启动基本事件流:1、客户单击“注册”按钮;2、系统弹出一个注册交互对话框;3、客户输入注册信息;4、客户单击“提交”按钮,发送注册信息到数据库;5、数据库保存注册信息,并自动生成一个数字ID返回;6、客户端弹出对话框显示注册的ID,提示注册成功7、用例终止。可选事件流:在单击“提交”按钮前,客户可随时单击“取消”按钮,关闭注册窗口,返回客户端界面异常事件流:提示注册
7、错误,请稍后再试,客户确认,然后返回客户端主界面后置条件:客户获得一个ID,可用此ID登录系统开始即时通信表2:用例“登录系统”的描述用例名称:Log in用例编号:UC002优先级:高参与者:客户、服务器简要描述:客户登录即时通信系统前置条件:客户端应用程序主界面已经启动,并且已经有了注册ID基本事件流:1、客户输入ID和密码;2、客户单击“登录”按钮,发送登录请求到服务器;3、服务器执行“验证用户”用例,将登录请求中的信息发送给数据库;4、数据库将ID和密码与数据库中的注册记录比对;5、如果用户信息合法,数据库发送合法信息、用户的详细注册资料和用户不在线期间收到的离线消息给服务器,否则进入
8、可选事件流。6、服务器将客户加入在线用户列表,返回登录成功消息和离线消息给客户,并将在线用户列表发送给所有的在线用户。7、提示登录成功,更新好友列表的状态信息并显示离线消息8、用例终止可选事件流:将用户不合法消息发送给客户,提示重新登录异常事件流:提示登录失败,请稍后再试,客户确认,然后返回客户端主界面后置条件:主界面显示用户好友及好友的在线状态表3:用例“发送消息”的描述用例名称:Send Message用例编号:UC003优先级:高参与者:客户、数据库简要描述:客户给自己的好友(在线和离线)发送消息前置条件:客户已成功登录即时通信系统基本事件流:1、客户选择一个好友;2、系统激活主界面消息
9、编辑文本框;3、客户在文本框中输入、编辑消息,然后单击“发送”按钮;4、如果好友不在线,发送消息给数据库,数据库保存该聊天记录;否则执行可选事件流5、数据库返回聊天记录已保存的通知。6、系统提示“对方在登录时会看到您发的消息”7、用例终止可选事件流:1、从好友列表中读出此用户的通信参数,将消息直接发送给用户2、用户返回消息收到通知3、系统提示客户“消息已成功发送对方”异常事件流:提示消息发送失败,请稍后再试,客户确认,然后返回客户端主界面后置条件:客户返回登录后的主界面状态表4:用例“添加好友”的描述用例名称:Add Friends用例编号:UC004优先级:高参与者:客户、数据库、服务器简要描述:客户端查询数据库列表并选择添加好友前置条件:客户已成功登录即时通信系统基本事件流:1、客户单击“添加好友”按钮;2、系统弹出“用户浏览”对话框;3、客户端发送查询请求给数据库;4、数据库返回用户信息给用户浏览对话框5、客户选择需要添加的好友,并单击“添加”按钮。6、系统更新客户的好友列表,新添加的好友展示为离线状态;7、客户发送刚添加的好友消息给服务器;8、服务器查询在线用户列表,如果用户在线,返回消息给客户,否则执
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 生产调度培训教材
- 油墨合同协议书
- 公职人员廉政协议书
- 迁移坟墓用工合同协议
- 车辆批量采购合同协议
- 车辆私人定制合同协议
- 抖音用户服务协议
- 旅游咨询顾问服务合同
- 农村房屋改造与翻建协议
- 清洁合作协议书
- 2023医美术后科学修护指南
- 2023年广西物流职业技术学院教师招聘考试笔试题库及答案
- 湖北省天门市2024届中考联考生物试题含解析
- 广佛环线佛山西站至广州北站段项目输电线路迁改工程环境影响报告表
- 辅导员基础知识试题及答案
- 火龙罐技术课件
- 输水及灌溉工程施工监理实施细则
- 《电业安全工作规程》
- 小学英语四年级下册Unit 1 Part B Read and write教学设计2
- 风电场专用箱式变电站技术要求编制说明
- 社会冲突理论课件
评论
0/150
提交评论