软件工程生产实习报告.docx
- 文档编号:8466903
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:31
- 大小:2.78MB
软件工程生产实习报告.docx
《软件工程生产实习报告.docx》由会员分享,可在线阅读,更多相关《软件工程生产实习报告.docx(31页珍藏版)》请在冰豆网上搜索。
软件工程生产实习报告软件工程生产实习报告暑假生产实习报告书专业:
软件工程班级:
081111学生姓名:
xx学号:
xxxxxx指导教师:
xx2011年8月5号1.需求分析需求分析1.1目标目标该系统属于游戏开发项目,其主要是实现五子棋的网络对战功能,即玩家可以通过网络的方式实现对战,其模式类似与QQ游戏,通过帐号密码登录,列出在线列表框,点击玩家进行五子棋对战。
1.2用户特点用户特点1.2.1系统结构层次模块图系统结构层次模块图图表11总体组织架构2.概要设计概要设计2.1服务器管理模块设计服务器管理模块设计2.1.1功能描述功能描述该系统主要实现网络通信下的操作,通过网络传输实现五子棋对战,判断用户落子后的输赢情况。
2.1.2功能界面说明功能界面说明启动界面:
通过点击启动按钮,启动服务器。
2.1.3操作效果图操作效果图图2-1服务器启动操作效果图2.1.4界面操作说明界面操作说明点击启动按钮即可启动服务器。
2.1.5服务器工作原理服务器工作原理服务器通过TCP/IP协议的通讯,创建一个SOCKET,开启系统的一个端口用于网络传输,默认的端口号为5000。
服务器首先获取本机的IP,然后开启端口,通过监听端口判断是否有连接信息传入,如果发现则与客户端进行连接,再通过操作信息的发送接收来响应并处理消息。
五子棋的规则判断也是服务器的主要功能之一。
2.1.6流程图流程图图2-2用户服务器工作简要流程图2.2用户登录注册管理模块设计用户登录注册管理模块设计2.2.1功能描述功能描述输入正确的用户名及密码登录游戏并进入用户列表界面。
点击注册进行用户注册操作。
2.2.2功能界面说明功能界面说明登录:
输入用户名密码点击登录进行游戏。
注册:
输入用户名,昵称,2次密码,符合要求后注册完成。
2.2.3操作效果图操作效果图图2-3登录界面效果图图2-4注册界面效果图2.2.4流程图流程图图2-5登录注册界面简要流程图2.3用户列表模块设计用户列表模块设计2.3.1功能描述功能描述本模块用于显示用户的在线状态,以及对邀请对战、邀请聊天,查看信息等操作。
2.3.2功能界面说明功能界面说明右键:
点击人物头像,弹出操作对话框,点击相应条目进行操作。
左键:
双击人物头像,弹出聊天窗口进行聊天。
2.3.3操作效果图操作效果图图2-6用户列表效果图2.3.4流程图流程图图2-7用户列表管理简要流程图2.4网络聊天模块设计网络聊天模块设计2.4.1功能描述功能描述通过用户列表的左键双击响应,弹出聊天窗口,输入聊天内容点击发送进行聊天。
2.4.2功能界面说明功能界面说明发送:
在聊天框内输入内容点击发送键进行信息发送。
回复:
双击聊天内容显示框的某人的信息就可以实现与某人的对话回复。
2.4.3操作效果图操作效果图图2-8聊天窗口效果图2.4.4流程图流程图图2-9聊天传输简要流程图2.5对战棋盘模块设计对战棋盘模块设计2.5.1功能描述功能描述五子棋对战主界面,棋盘位于本界面,实现的功能主要是玩家落子信息的记录,传入服务器端进行处理。
2.5.2功能界面功能界面说明说明准备:
进入对战后的双方需要点击准备,双方都准备后,游戏开始。
信息显示:
显示玩家落子的区域,以及玩家棋子的颜色。
2.5.3操作效果图操作效果图图2-10五子棋对战效果图2.5.4流程图流程图图2-11五子棋对战简要流程图3.详细设计详细设计3.1登录模块登录模块3.1.1模块运行流程图模块运行流程图图3-1登录界面详细流程图3.1.2登录模块功能分解表登录模块功能分解表逻辑处理层:
数据序号制审日表核期处理方法名类型处理说明BoolIsUserInfoNull判断用户名密码是否为空(longlUserID,stringpwd)判读登录是否成功BoolIsLoginSuccess(longlFlag)根据传入标志lFlag,0表示登录失败,1表示登录成功3.1.3登录模块与数据传输模块公共接口登录模块与数据传输模块公共接口3.2注册模块注册模块3.2.1模块流程图模块流程图图3-2注册界面详细流程图3.2.2注册模块功能分解表注册模块功能分解表逻辑处理层:
数据序号制审日表核期处理方法名类型处理说明判断输入信息是否有空BoolIsUserInfoNull(longid,stringname,stringpwd)判读用户昵称格式是否正确BoolChecNameFormat(stringname)判断用户名里面是否有一些禁止用户输入的特殊标志判断两次输入的密码是否相同BoolCheckUserPwd(stringpwdfst,stringpwdsnd)判断册是否成功BoolIsRegisteSuccess(longlFlag)根据传入标志lFlag,0表示注册失败,1表示注册成功3.2.3注册模块与数据传输接口注册模块与数据传输接口3.3用户列表模块用户列表模块3.3.1模块运行流程图模块运行流程图图3-3用户列表详细流程图3.3.2用户列表模块功能分解表用户列表模块功能分解表逻辑处理层:
数据序号制审日表核期处理方法名类型处理说明判断用户是否空闲私有BoolCheckUserState(longid)根据id在本地用户列表中查找对应的用户状态,判断是否空闲初始化成员列表私有BoolInitUserList(char*nameList)从nameList中根据间隔标志,提取出一个个用户信息,插入用户列表判断对方是否同意对战私有BoolCheckEnemyAnswer(boolbFlag)3.3.3用户列表模块与数据传输模块接口用户列表模块与数据传输模块接口3.4用户对战模块用户对战模块3.4.1模块运行流程图模块运行流程图图3-4对战界面详细流程图3.4.2对战模块功能分解表对战模块功能分解表逻辑处理层:
数据序号制审日表核期处理方法名类型处理说明初始化棋盘信息BoolInitMapInfo()将棋盘上的下子位置清0将屏幕坐标转化成棋盘位置VoidScreenToMapPos(int&x,int&y)将传入的屏幕的(x,y)坐标转化成棋盘上的行,列值判断当前位置是否可以下BoolCheckPosState(introw,intcol)放置棋子VoidSetGridPos(introw,intcol,intcolor)根据row,col,将棋盘上该位置设置为颜色为color的棋子将对方上次落子位置清0VoidInitEnemyLastPos()根据对方最后一步落子位置,将该位置的color清03.4.3对战模块与数据传输模块接口图对战模块与数据传输模块接口图3.5数据传输模块数据传输模块3.5.1模块流程图模块流程图该传输流程既可以用户于客户端向服务器发送数据,也可以用于服务器向客户端发送数据,图3-5服务器数据传输详细流程图3.5.2数据传输模块功能分解表数据传输模块功能分解表数据序号制审日表核期处理方法名类型处理说明组装数据包VoidCreateDataPackage(intnType,char*param,char*dataBuf)发送数据包BoolSendDataPackage(char*sendBuf)接受数据包BoolRecvDataPackage(char*recvBuf)BoolAnalysisDataPackage解析数据包(char*dataBuf,int&nType,char*param)3.5.3数据传输模块对外提供接口数据传输模块对外提供接口3.6服务端数据处理模块服务端数据处理模块3.6.1模块流程图模块流程图1(登录,注册,用户列表信息处理模块)(登录,注册,用户列表信息处理模块)图3-6服务器对登录、注册、列表数据处理详细流程图3.6.2服务端数据模块功能分解表服务端数据模块功能分解表1数据序号制审日表核期处理方法名类型处理说明判端用户是否存在BoolIsUserExist(longid)通过用户的id在数据库中检索是否有该用户的记录将用户信息插入数据表BoolIsertUserInfo(longid,stringname,stringpwd,)取得数据库中所有在线的用户名VoidGetUserList(char*buf)通过检索数据库,将用户名序列以一定的格式存入buf中返回3.6.3服务端数据模块与数据传输模块接口服务端数据模块与数据传输模块接口13.6.4模块流程图模块流程图2(对战信息处理模块)(对战信息处理模块)图3-7服务器对对战数据处理详细流程图3.6.5服务端数据模块功能分解表2数据序号制审日表核期处理方法名类型处理说明判断双方是否都准备好BoolIsPlayersReady()设置玩家下子位置VoidPutDownGrid(introw,intcol)更新数库中玩家积分BoolUpdateUserScore(longid,intscore)VoidInitEnemyLastPos()将对方上次落子位置清0根据对方最后一步落子位置,将该位置的color清0初始化棋盘状态BoolInitMapInfo()3.6.6服务端数据模块与数据传输模块接口服务端数据模块与数据传输模块接口23.7数据描述表数据描述表序号名称制表审核日期数据说明:
ClassCUserprivate:
longm_lID;/表示玩家IDboolm_bColor;/表示玩家颜色boolm_bBusy;/表示用户状态ClassCGridMapprivate:
intm_nID;/表示棋盘编号boolm_bEmpty;/表示棋盘当前有无玩家intm_Grid1515;/表示一个15x15的棋盘intm_nlastRow;/表示棋盘上最后一次落子的行号intm_nlastCol;/表示棋盘上最后一次落子的列号数据项说明:
ClassCUser中boolm_bColor;为1时表示玩家为黑方,为0时表示玩家为白方boolm_bBusy;为1时表示玩家处于对战状态,为0时表示玩家处于空闲状态ClassCGridMap中m_Grid1515数组中,0表示当前位置未落子,1表示当前位置为黑子,2表示当前位置为白子。
4显示效果显示效果4.1用户登录界面用户登录界面说明:
本界面是用户登录游戏的入口。
4.2用户注册界面用户注册界面说明:
本界面是用户注册帐号的入口。
4.3用户列表界面用户列表界面说明:
本界面是邀请玩家对战,聊天的主界面。
4.4对战界面对战界面说明:
本界面是五子棋游戏对战的主界面。
4.5聊天界面聊天界面说明:
本界面是玩家与玩家之间进行通信的界面。
4.6服务器端界面服务器端界面说明:
本界面是启动服务器开启传输功能的界面。
5总结总结
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 生产 实习 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)