软件工程实习总结
一.实习题目
c/s模式下的ณ网络游戏平台(类似于联众)
二.题目要求
a. 平台上至少能够提供两种游戏(仅供两人参加)供用户选择。
b. 服务器端实现用户账号、密码的管理,监控用户上下线状态管理。
c. 服务器端实现用户游戏数据及文本通信数据的中转交换。
d. 客户端能够连接到服务器并选择游戏种类和游戏桌面,并参与游戏。
e. 客户端能够通过服务器进行文本通信。
三.小组成员及分工
组长:黄? 飞
成员:黄? 飞? 王润琛? 陈? 磊 韩振军 王向富
四.人员安排及进度
a. 人员安排:
黄? 飞:系统设计,文档管理:2周,系统的集成与总结:1周
陈? 磊:编写项目计划文档:0。5周,需求,概要文档的编写:2周
王润琛:系统设计:1周,程序主要模块的实现:2周
韩振军:需求的收集与文档:1周,软件测试与分析:1周
王向富:编写软件测试计划:1周,软件测试:1周。
b. 进度:
第一阶段 项目启动:? 实习分析;项目简单分工。
第二阶段 需求分析:? 确定软件性能;功能;编写文档。
第三阶段 概要设计:? 确定总体架构,程序模块。
第四阶段 详细设计:? 设计客户端,服务器端细节。
❤第五阶段 软件实现:? 编写源代码。
第六阶段 软件测试:? 完成测试及文档。
第七阶段 项目总结:? 总结提高,答辩。
五.系统架构
?整体架构图:
六.实现的功能与未实现的功能
a. 实现的功能:
客户端:
1)用户登陆:用户运行客户端软件后,弹出登陆框,用户通过输入帐号和密码登陆平台,高级实现程度有记住密码选项。
2)用户注册:登陆框有注册选项,供用户注册新平台帐号。用户需要输入新的帐号名,密码,以及一些基本资料:姓名,性别,出生日期,邮箱。
3)用户修改资料:用户可以在登陆后修改个人基本资料,除帐号外其他资料均可选择修改。
4)用户选择游戏:用户登陆后,平台界面即会显示所支持游戏,用户可选择要进行的游戏。平台与游戏捆绑安装,在高级实现程度下服务器新增加游戏通过新的安装文件提供给用户。
服务器端:
1)批准新用户注册:基本实现程度为由服务器自动批准,既用户名不与现有用户冲突并且用户名和密码长度符合规范及予以批准。高级实现程度为服务器与管理员双重批准,既服务器批准后只具有参观游戏和聊天等功能但不能参加游戏,需等管理员批准后赋予正式的用户权利。
2)删除用户:服务器管理员可以从数据库删除任意已注册用户。为防止误操作等情况发生,高级实现程度中删除用户操作只是暂时禁止该用户登陆,数유据库保留该用户资料一周后再自动删除。
b. 待实现的功能:
1.用户登录的限制
用户在不同地点以相同的用户名登录。
注册时对新用户名的符号(如非法字符)检查
2.用户的异常掉线
在游戏过程中,玩家的中途异常掉线,服务器对玩家的在线信息的监听,并及时修改。
3.游戏的添加
此平台须在对游戏进行修改的情况下使游戏嵌入平台,尚缺少良好的对游戏的管理。
七.系统演示
a. 客户端;
b. 服务器端。
ร八.实习总结
这个项目所涉及的技术比较多,主要包括 ت:网络通信,数据库通信与操作,用户的界面设计。我们采用vc++ 语言进行编程,主要调用mfc中的类函数,其中自己编写了一些类函数,具体的细节见详细设计文档。
作为一个游戏对战,它所能允许的最大的游戏玩家是衡量好坏的一个重要标准,对于每个用户以产生独立的线程对其进行调度,控制就成为该对战平台的一个重要问题。
解决方案:
建立两个线程池,主要负责管理线程的生成,结束和任务分配等工作,线程池类相当于一个容器,在容器中运行很多个线程,应用程序只需要将工作交给线程池,线程池负责协调和分配内部工作。
九.经验总结与参考书目
经验总结:
1.本软件在初期的设计中不是十分的完善,致使在进行编码的阶段不断地修改,使得软件件项目的进度和程序的质量受到很大的影响。
2.协同开发组员间的配合很重要,尤其是各个部分如果不按照一定的标准,就使组员间的合作出现很大的问题。我们这次本来打算使用vc。net,但是由于有些组员不是很熟悉,后来改用mfc。