当前位置:文档之家› 软件工程课程设计报告范文之详细设计报告范文

软件工程课程设计报告范文之详细设计报告范文

软件工程课程设计报告范文之详细设计报告范文详细设计说明书1、引言:1、1编写目的:在前一阶段(概要设计说明书)中,已解决了实现该系统需求的程序模块设计问题。

包括如何把该系统划分成若干个模块、决定各个模块之间的接口、模块之间传递的信息,以及数据结构、模块结构的设计等。

在以下的详细设计报告中将对在本阶段中对系统所做的所有详细设计进行说明。

在本阶段中,确定应该如何具体地实现所要求的系统,从而在编码阶段可以把这个描述直接翻译成用具体的程序语言书写的程序。

主要的工作有:根据在《需求分析说明书》中所描述的数据、功能、运行、性能需求,并依照《概要设计说明书》所确定的处理流程、总体结构和模块外部设计,设计软件系统的结构设计、逐个模块的程序描述(包括各模块的功能、性能、输入、输出、算法、程序逻辑、接口等等)在以下的各个阶段中,《用户操作手册》将与本阶段的工作紧密结合,努力作到让用户易懂易学。

《测试报告》和《维护报告》也将参考本说明书,检验本系统的各项性能指标,及时发现纰漏及时修补,一定要把功能强大、稳定可靠、便于维护的机票预定系统交到用户手中。

1、2项目背景:在本即时聊天工具项目的前一阶段,也就是需求分析阶段,已经将系统用户对本系统的需求做了详细的阐述,这些用户需求已经在上一阶段中对不同用户所提出的不同功能,实现的各种效果做了调研工作,并在需求规格说明书中得到详尽得叙述及阐明。

本飞Q即时聊天系统项目主要由两部分形成:1、客户端;2、数据库服务器端;21、3文中特殊的定义和缩写:1.3.1定义SQLSERVER:系统服务器所使用的数据库管理系统(DBMS)。

SQL:一种用于访问查询数据库的语言事务流:数据进入模块后可能有多种路径进行处理。

主键:数据库表中的关键域。

值互不相同。

外部主键:数据库表中与其他表主键关联的域。

ROLLBACK:数据库的错误恢复机制。

1.3.2缩写系统:若未特别指出,统指本机票预定系统。

SQL:StructuredQueryLanguage(结构化查询语言)。

ATM:AynchronouTranferMode(异步传输模式)。

文档所采用的标准是参照《软件工程导论》沈美明著的“计算机软件开发文档编写指南”。

232.总体设计:2、1需求概要:应广大用户的要求,要求做一个性能更高更人性化的即使聊天工具,我飞Q软件设计小组努力为大家写一个更好的即时聊天工具。

飞Q2022聊天系统的总目标是:在计算机网络,数据库和先进的开发平台上,利用现有的软件,配置一定的硬件,开发一个具有开放体系结构的、易扩充的、易维护的、具有良好人机交互界面的飞Q2022聊天系统,实现添加好友,删除好友,相互聊天系统,为人们聊天提供准确、精细、迅速的信息。

根据可行性研究的结果和客户的要求,分析现有情况及问题,采用Client/Server结构,将飞Q2022聊天系统划分为两个子系统:客户端子系统,服务器端子系统。

要求系统能有效、快速、安全、可靠和无误的完成上述操作。

并要求客户机的界面要单明了,易于操作,服务器程序利于维护。

2、2软件结构:各模块之间的关系已由概要设计给出下面介绍详细的设计1登陆模块34登录找回密码输入错误输入飞Q帐号和密码申请帐号输入格式是否正确正确进入找回密码界面点击登录进入申请界面密码正确?密码正确进入飞Q聊天主界面密码错误登录失败结束2申请模块43安全模块556开始点击安全概述点击修改密码点击常见欺骗点击修改密保常见欺诈立即完成是否设置密保Y判断安全状况隐患危险N密保是否正确Y提交输入验证密保设置密保N密保问题是否正确提交Y提交N是否设置密保Y输入原密保问题输入密保问题N修改密码修改密保输入新密保提交良好结束674聊天模块聊天窗口1聊天窗口2窗口1窗口2发送发送窗口2信息转换站窗口1信息转换站服务器端:1、申请模块782、登录模块893、添加好友模块9启动接收添加好友同意与否信息线程10等待用户。

返回继续监听客户端发送同意与否信息启动子线程调用子线程读取同意与否信息不同意同意否?同意写入数据库数据库客户端同意信息子线程结束10启动接收添加好友请求线程11等待用户申请。

返回继续监听客户端用户请求启动子线程调用子线程不允许任何人加入判断要添加的用户的添加权限允许任何人加入数据库需要验证结束11启动接收添加好友验证线程12等待用户申请。

返回继续监听客户端用户请求启动子线程调用子线程读取验证信息判断要添加的用户是否在线发送同意与否不在线数据库在线子线程结束要添加的用户同意的同时数据库相应添加4、删除好友模块12启动删除好友请求线程13等待用户请求。

返回继续监听客户端用户请求启动子线程调用子线程删除成功读取要删除的人在双方数据库中删除对方数据库发送刷新界面命令另一客户端结束5修改好友昵称模块1314启动修改好友昵称请求线程等待用户请求。

返回继续监听客户端用户请求启动子线程调用子线程读取要修改的人在数据库中修改数据数据库结束6、查找用户模块14启动查找用户请求线程15等待用户请求。

返回继续监听客户端用户请求启动子线程调用子线程读取要删除的人判断是精确查找还是按条件按条件精确构造SQL语句构造SQL语句返回结果列表数据库构造搜索结果列表返回结果结束7、安全模块7.1、设置密保模块1521启动监听用户请求线程等待用户请求。

返回继续监听客户端用户请求没有设置密保启动子线程调用子线程读取密保问题判断是否设置密保旧密码不正确判断旧密码是否正确返回重设成功信息数据库重设密码写入数据库子线程结束8、移动好友模块2122启动移动好友昵称请求线程等待用户请求。

返回继续监听客户端用户请求启动子线程调用子线程读取基本信息在数据库中修改数据数据库结束9、组操作模块22启动组操作请求线程23等待用户请求。

返回继续监听客户端用户请求启动子线程调用子线程读取基本信息判断是对组的什么操作赠加组删除组修改组的名称生成SQL语句在数据库中修改数据数据库结束10、发送系统消息模块2324开始服务器线程产生的不通的发送消息要求判断是发哪种类型的系统消息用户1用户3用户2用户4给相应的用户发送相应的系统消息。

结束11、更新个人信息模块启动修改个人信息请求线程等待用户请求。

返回继续监听客户端用户请求启动子线程调用子线程读取信息生成SQL语句在数据库中修改数据数据库结束242512、请求ipPort模块启动修改个人信息请求线程等待用户请求。

返回继续监听客户端用户请求启动子线程调用子线程读取信息读取ip和port读取另一用户ip和portHahmap返回此人ip和chatport判断ipport是否为空返回不在线信息结束13、心跳模块13.1、用户心跳接收处理模块25启动修改个人信息请求线程26等待用户请求。

返回继续监听客户端用户请求启动子线程调用子线程读取信息读取ip和port读取另一用户ip和portHahmap返回此人ip和chatport判断ipport是否为空返回不在线信息结束13.2、服务器定时检测超时模块2627启动循环检测用户是否在线的线程得到hahmap中的一个用户是否超时?是推拉检测模块否得到hahmap中的下一个用户13.3、服务器推拉检测在线模块2728启动循环检测用户是否在线的线程客户端是否在线我在线向用户询问是否在限定时间得到用户客户端响应是更新记录接收用户心跳时刻的hahmap否在数据库中相应修改从记录接收用户状态的hahmap删除此用户从记录接收用户在线信息的hahmap删除此用户从记录接收用户心跳时刻的hahmap删除此用户数据库此线程结束14、添加可利用飞Q号28开始否读取数据库中可申请的帐号数Sleep一小时判断数量是否过少否是添加一些可利用的帐号添加到内存中的可申请帐号arraylit中3、程序描述:客户端总模块:29291登陆模块1登录过程对在飞Q登录信息界面中输入的各项信息进行初步检验。

若发现错误,输入数据全部清空,以让用户重新输入一次。

若未发现错误,转入主界面。

其中的错误种类有:输入数据不匹配帐号数据库没有该帐号密码与对应账号的密码不匹配2输入数据不能为空if(账号为空){请输入账号再登陆}eleif(账号长度小于6或对于20){请输入正确的账号,账号可以位数字或Email地址。

}eleif(密码为空){请输入密码后再登陆}ele{通知服务器账号为:某某某密码为:某某某的请求登陆}2申请过程对之前没有申请飞Q的用户,不能登录飞Q,而必须点击申请,成为飞Q大家庭点击之后转入申请界面3寻找忘记密码过程对之前申请飞Q的用户,如果忘记密码,请不要担心,点击界面上的“忘记密码”,点击之后转入寻找密码界面301.的一员。

312申请模块对在飞Q申请信息界面中输入的各项信息进行账号申请。

若发现错误,输入数据全部清空,以让用户重新输入一次。

若未发现错误,转入账号申请成功界面。

if(昵称为空){请输入昵称}eleif(密码格式错误(小于6或大于20)){密码必须6-20个字符!密码框清空,重新输入}eleif(两次密码输入不匹配){两次密码输入不一致密码框清空,重新输入}ele{获取注册信息点击新用户注册,向服务器传输注册信息}31323增删改查模块3.1查找好友模块Search类获取查找信息点击查找把查找信息传递给服务器}}eleif(条件查找){获取查找信息点击查找把查找信息传递给服务器}Search_rault类if(点击添加好友){if(添加好友选择的是自己) 3233{对不起,自己不能加自己为好友!重新选择}ele{把选择的好友发送给服务器}}eleif(关闭){放弃添加为好友}Addfriend类if(确定添加为好友){把选择的好友信息发送给服务器}eleif(取消){放弃添加为好友}3.2删除好友模块找到你要删除的对象所在的用户组,展开,找到该用户,右击,点击好友删除,然后刷新好友列表;更改头像:点击更换头像,即可转入更换头像界面,界面中陈列了各种头像,点击你想要的头像,即可显示该头像的不同样式,一供你参考。

思考之后确实想更换,点击确定,立刻刷新所有界面,确保头像更换。

如果不想更换,点击取消即可。

3.4好友移动模块3334找到你要移动的对象所在的用户组,展开,找到该用户,右击,点击移动,在弹出框中选择移动的组对象,向服务器发送相应的数据,然后刷新好友列表;3.5组操作模块<1>修改找到你要修改的用户组,右击点击重命名,向服务器发送该账号的修改组信息,刷新好友列表,即可看见修改成果.<2>删除找到你要删除用户组,展开,右击,点击删除分组,向服务器发送该账号的删除组信息,然后刷新好友列表;如果,要删除的是默认分组“我的好友”,系统不提供删除权限。

<3>添加在好友列表中右击,点击添加分组,输入分组名,点击确定,向服务器发送该账号的组信息,不想添加,点击取消。

相关主题