您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 设计及方案 > 软件工程课程设计报告 之 详细设计报告
山东科技大学王昌帅wangchangshuai0010.iteye.com11详细设计说明书1、引言:1、1编写目的:在前一阶段(概要设计说明书)中,已解决了实现该系统需求的程序模块设计问题。包括如何把该系统划分成若干个模块、决定各个模块之间的接口、模块之间传递的信息,以及数据结构、模块结构的设计等。在以下的详细设计报告中将对在本阶段中对系统所做的所有详细设计进行说明。在本阶段中,确定应该如何具体地实现所要求的系统,从而在编码阶段可以把这个描述直接翻译成用具体的程序语言书写的程序。主要的工作有:根据在《需求分析说明书》中所描述的数据、功能、运行、性能需求,并依照《概要设计说明书》所确定的处理流程、总体结构和模块外部设计,设计软件系统的结构设计、逐个模块的程序描述(包括各模块的功能、性能、输入、输出、算法、程序逻辑、接口等等)在以下的各个阶段中,《用户操作手册》将与本阶段的工作紧密结合,努力作到让用户易懂易学。《测试报告》和《维护报告》也将参考本说明书,检验本系统的各项性能指标,及时发现纰漏及时修补,一定要把功能强大、稳定可靠、便于维护的机票预定系统交到用户手中。1、2项目背景:在本即时聊天工具项目的前一阶段,也就是需求分析阶段,已经将系统用户对本系统的需求做了详细的阐述,这些用户需求已经在上一阶段中对不同用户所提出的不同功能,实现的各种效果做了调研工作,并在需求规格说明书中得到详尽得叙述及阐明。本飞Q即时聊天系统项目主要由两部分形成:1、客户端;2、数据库服务器端;山东科技大学王昌帅wangchangshuai0010.iteye.com221、3文中特殊的定义和缩写:1.3.1定义SQLSERVER:系统服务器所使用的数据库管理系统(DBMS)。SQL:一种用于访问查询数据库的语言事务流:数据进入模块后可能有多种路径进行处理。主键:数据库表中的关键域。值互不相同。外部主键:数据库表中与其他表主键关联的域。ROLLBACK:数据库的错误恢复机制。1.3.2缩写系统:若未特别指出,统指本机票预定系统。SQL:StructuredQueryLanguage(结构化查询语言)。ATM:AsynchronousTransferMode(异步传输模式)。1、4参考资料:1.以下列出在概要设计过程中所使用到的有关资料:2.需求规格说明书飞Q软件开发小组3.概要设计说明书飞Q软件开发小组4.用户操作手册(初稿)飞Q软件开发小组5.软件工程及其应用周苏、王文等天津科学技术出版社6.软件工程张海藩清华大学出版社7.ComputerNetworkA.S.TanenbaunPrenticeHall8.网络上的资料文档所采用的标准是参照《软件工程导论》沈美明著的“计算机软件开发文档编写指南”。山东科技大学王昌帅wangchangshuai0010.iteye.com332.总体设计:2、1需求概要:应广大用户的要求,要求做一个性能更高更人性化的即使聊天工具,我飞Q软件设计小组努力为大家写一个更好的即时聊天工具。飞Q2012聊天系统的总目标是:在计算机网络,数据库和先进的开发平台上,利用现有的软件,配置一定的硬件,开发一个具有开放体系结构的、易扩充的、易维护的、具有良好人机交互界面的飞Q2012聊天系统,实现添加好友,删除好友,相互聊天系统,为人们聊天提供准确、精细、迅速的信息。根据可行性研究的结果和客户的要求,分析现有情况及问题,采用Client/Server结构,将飞Q2012聊天系统划分为两个子系统:客户端子系统,服务器端子系统。要求系统能有效、快速、安全、可靠和无误的完成上述操作。并要求客户机的界面要单明了,易于操作,服务器程序利于维护。2、2软件结构:各模块之间的关系已由概要设计给出下面介绍详细的设计1登陆模块山东科技大学王昌帅wangchangshuai0010.iteye.com44登录输入飞Q帐号和密码输入格式是否正确输入错误进入飞Q聊天主界面正确结束点击登录密码正确?登录失败密码正确密码错误申请帐号进入申请界面找回密码进入找回密码界面2申请模块山东科技大学王昌帅wangchangshuai0010.iteye.com55开始输入基本信息点击新用户注册信息是否完整显示已申请的QQ帐号,密码YN结束点击登录QQ进入QQ登陆界面3安全模块山东科技大学王昌帅wangchangshuai0010.iteye.com66开始点击安全概述点击修改密码点击常见欺骗点击修改密保立即完成是否设置密保输入验证密保Y设置密保N密保是否正确提交YN结束常见欺诈是否设置密保输入原密保问题输入密保问题YN密保问题是否正确N提交Y输入新密保提交提交判断安全状况修改密码修改密保隐患危险良好山东科技大学王昌帅wangchangshuai0010.iteye.com774聊天模块聊天窗口1聊天窗口2信息转换站信息转换站发送窗口1窗口2发送窗口2窗口1服务器端:1、申请模块山东科技大学王昌帅wangchangshuai0010.iteye.com88等待用户申请。。。启动线程用户请求将可申请帐号预读到内存中客户端此ip是否申请次数过多次数过多取出一个可申请的qq返回申请到的QQ在数据库中建立此人的基本信息档案结束返回申请到的QQ启动线程返回继续监听调用子线程c2、登录模块山东科技大学王昌帅wangchangshuai0010.iteye.com99等待用户申请。。。启动线程用户请求将密码预读到内存中客户端判断密码是否正确密码错误给其他好友发送登录信息、读取系统消息返回申请到的QQ返回用户的好友列表结束返回申请到的QQ启动线程返回继续监听调用子线程该帐号另一客户端判断是否是重复登录重复则发送终止命令不重复所以在线好友数据库读取系统消息读取好友列表3、添加好友模块山东科技大学王昌帅wangchangshuai0010.iteye.com1010等待用户。。。启动接收添加好友同意与否信息线程发送同意与否信息客户端子线程结束启动子线程返回继续监听调用子线程同意否?同意写入数据库同意信息数据库读取同意与否信息客户端不同意山东科技大学王昌帅wangchangshuai0010.iteye.com1111等待用户申请。。。启动接收添加好友请求线程用户请求客户端结束启动子线程返回继续监听调用子线程判断要添加的用户的添加权限允许任何人加入不允许任何人加入需要验证数据库山东科技大学王昌帅wangchangshuai0010.iteye.com1212等待用户申请。。。启动接收添加好友验证线程用户请求客户端子线程结束启动子线程返回继续监听调用子线程判断要添加的用户是否在线不在线在线数据库读取验证信息要添加的用户发送同意与否同意的同时数据库相应添加4、删除好友模块山东科技大学王昌帅wangchangshuai0010.iteye.com1313等待用户请求。。。启动删除好友请求线程用户请求客户端结束启动子线程返回继续监听调用子线程在双方数据库中删除对方数据库读取要删除的人另一客户端发送刷新界面命令删除成功5修改好友昵称模块山东科技大学王昌帅wangchangshuai0010.iteye.com1414等待用户请求。。。启动修改好友昵称请求线程用户请求客户端结束启动子线程返回继续监听调用子线程在数据库中修改数据数据库读取要修改的人6、查找用户模块山东科技大学王昌帅wangchangshuai0010.iteye.com1515等待用户请求。。。启动查找用户请求线程用户请求客户端精确结束启动子线程返回继续监听调用子线程数据库读取要删除的人判断是精确查找还是按条件构造SQL语句构造SQL语句按条件构造搜索结果列表返回结果返回结果列表7、安全模块7.1、设置密保模块山东科技大学王昌帅wangchangshuai0010.iteye.com1616等待用户请求。。。启动监听用户设置密保请求线程用户请求客户端结束启动子线程返回继续监听调用子线程数据库读取此用户的信息,及密保设置信息构造SQL语句写入数据库返回成功信息写入数据库完成后7.2、判断是否设置密保模块山东科技大学王昌帅wangchangshuai0010.iteye.com1717等待用户请求。。。启动监听用户请求线程用户请求客户端结束启动子线程返回继续监听调用子线程数据库返回密保问题信息得到该用户密保问题判断是否设置密保没有设置密保读取密保问题7.3、判断密保答案是否正确模块山东科技大学王昌帅wangchangshuai0010.iteye.com1818等待用户请求。。。启动接收用户密保答案线程用户请求客户端子线程结束启动子线程返回继续监听调用子线程数据库返回正确信息判断密保答案是否正确错误读取密保问题及答案获得密保答案返回数据7.4、修改密保模块山东科技大学王昌帅wangchangshuai0010.iteye.com1919等待用户请求。。。启动接收用户密保答案线程用户请求客户端子线程结束启动子线程返回继续监听调用子线程数据库返回正确信息判断密保答案是否正确错误读取密保问题及答案获得密保答案返回数据7.5、修改密码模块山东科技大学王昌帅wangchangshuai0010.iteye.com2020等待用户请求。。。启动接收用户重设密码线程用户请求客户端子线程结束返回继续监听数据库重设密码在数据库中重写此用户密码启动子线程调用子线程返回成功信息读取密码信息7.6、找回密码山东科技大学王昌帅wangchangshuai0010.iteye.com2121等待用户请求。。。启动监听用户请求线程用户请求客户端子线程结束启动子线程返回继续监听调用子线程数据库返回重设成功信息重设密码判断是否设置密保没有设置密保读取密保问题判断旧密码是否正确旧密码不正确写入数据库8、移动好友模块山东科技大学王昌帅wangchangshuai0010.iteye.com2222等待用户请求。。。启动移动好友昵称请求线程用户请求客户端结束启动子线程返回继续监听调用子线程在数据库中修改数据数据库读取基本信息9、组操作模块山东科技大学王昌帅wangchangshuai0010.iteye.com2323等待用户请求。。。启动组操作请求线程用户请求客户端结束启动子线程返回继续监听调用子线程在数据库中修改数据数据库读取基本信息判断是对组的什么操作赠加组删除组修改组的名称生成SQL语句10、发送系统消息模块山东科技大学王昌帅wangchangshuai0010.iteye.com2424开始判断是发哪种类型的系统消息服务器线程产生的不通的发送消息要求给相应的用户发送相应的系统消息用户1用户2用户3用户4。。。结束11、更新个人信息模块等待用户请求。。。启动修改个人信息请求线程用户请求客户端结束启动子线程返回继续监听调用子线程在数据库中修改数据数据库读取信息生成SQL语句12、请求ipPort模块山东科技大学王昌帅wangchangshuai0010.iteye.com2525等待用户请求。。。启动修改个人信息请求线程用户请求客户端结束启动子线程返回继续监听调用子线程读取信息读取ip和portHashmap读取另一用户ip和port判断ipport是否为空返回此人ip和chatport返回不在线信息13、心跳模块13.1、用户心跳接收处理模块山东科技大学王昌帅wangchangshuai0010.iteye.com2626等待用户请求。。。启动修改个人信息请求线程用户请求客户端结束启动子线程返回继续监听调用子线程读取信息读取ip和portHashmap读取另一用户ip和port判断ipport是否为空返回此人ip和chatport返回不在线信息13.2、服务器定时检测超时模块山东科技大学王昌帅wangchangshuai0010.iteye.com2727启动循环检测用户是否在线的线程是否超时?得到hashmap中的一个用户否得到hashmap中的下一个用户是推拉检测模块13.3、服务器推拉检测在线模块山东科技大学王昌帅wangchangshuai0010.itey
本文标题:软件工程课程设计报告 之 详细设计报告
链接地址:https://www.777doc.com/doc-4877412 .html