Peekaboo——项目系统设计与数据库设计
这个作业属于哪个课程 | 软件工程实践2022年春-F班 |
---|---|
这个作业要求在哪里 | 团队作业三—概要设计与数据库设计 |
这个作业的目标 | 继续完善设计类图,设计好系统和数据库、制定好计划和分工; |
其他参考文献 | csdn、博客园 |
目录
- 一、开发计划
- 1、时间安排
- 2、分工安排
- 二、团队绩效
- 1、分工与贡献度
- 2、工作流程
- 三、类图完善
- 1、改进的类图
- 2、设计思路
- 四、系统和数据库设计
- 1、体系结构设计
- 2、功能模块层次图
- 3、ER图
- 4、表结构设计
- 5、设计思路
- 五、系统安全和权限设计
- 1、系统安全设计
- 5.1.1 登陆用户爆破
- 5.1.2 端口漏洞
- 5.1.3 sql注入防护
- 5.1.4 用户加密
- 5.1.5 数据备份
- 2、权限设计
- 3、设计思路
- 六、问题与改进
- 七、附录
- 1、GitCode团队仓库链接
- 2、系统设计说明书
- 3、数据库设计说明书
- 4、系统设计和数据库设计答辩PPT
一、开发计划
1、时间安排
时间 | 计划 | 里程碑 |
---|---|---|
3.13-3.18 | 组队以及团队展示、讨论开发的游戏类型、玩法 | |
3.19-3.26 | 明确游戏使用2D还是3D开发 | |
3.27-4.2 | 进行界面原型设计以及需求分析 | |
4.3-4.9 | 制定代码规范、明确开发分工、寻找游戏素材 | |
4.10-4.16 | 进行系统设计和数据库设计 | |
4.17-4.19 | 完成游戏场景和游戏人物 | Peekaboo0.1 |
4.20-4.26 | 实现游戏基础玩法、道具机制和技能机制 | Peekaboo 0.2 |
4.27-4.29 | 完成UI界面 | Peekaboo 0.3 |
4.30-5.5 | 完成服务端并部署至服务器,实现拥有联机功能版本 | Peekaboo 0.4 |
5.6-5.7 | 对游戏进行基本流程测试并修复BUG,完成版本 | Peekaboo 0.5 |
5.8-5.15 | 对游戏进行性能测试,优化游戏性能 | Peekaboo0.6 |
5.16-6.17 | 寻找游戏潜在BUG并修复,丰富游戏地图、人物、技能等 | Peekaboo1.0 |
2、分工安排
学号 | 姓名 | 分工 |
---|---|---|
221900107 | 官兴栩 | 后端接口、游戏角色和技能设计、复审 |
221900103 | 陈杰 | 游戏角色和技能设计、地图和道具设计 |
221900439 | 林淳 | 美工 |
131801106 | 陈耀龙 | 地图和道具设计 |
221900108 | 侯沛延 | 游戏角色和技能设计、地图和道具设计 |
221900131 | 余延瀚 | 游戏角色和技能设计、地图和道具设计 |
221900132 | 钟苏华 | 游戏角色和技能设计、地图和道具设计、房间功能实现 |
221900311 | 黄加旺 | 地图和道具设计 |
221900324 | 吴苏谊宝 | 登录注册、个人中心等功能实现 |
二、团队绩效
1、分工与贡献度
学号 | 贡献内容 | 贡献度比例 |
---|---|---|
221900107 | 系统设计说明书大纲和部分内容、博客部分内容、PPT部分内容、分配工作、复审、评审表 | 13% |
221900131 | 数据库设计说明书、博客部分内容、PPT部分内容 | 13% |
221900132 | PPT提纲、系统设计说明书(网络连接模块) | 12% |
221900108 | 数据库设计说明书、博客部分内容、PPT部分内容 | 13% |
131801106 | 博客提纲、系统设计说明书(房间列表功能模块内容) | 11% |
221900103 | 博客部分内容、系统设计说明书(游戏设置、权限设计) | 12% |
221900324 | 系统设计说明书(登录注册功能模块) | 11% |
221900311 | 系统设计说明书(权限设计) | 10% |
221900439 | ppt模板 | 1% |
2、工作流程
三、类图完善
1、改进的类图
2、设计思路
我们首先将大致的功能块列出,分别为用户模块、房间模块、游戏本体模块,考虑他们应该具备的功能,并设计承载它们的实体类与类中基本属性方法,将模块内部的关系确定好,再进行模块之间的交互处理,理清它们之间的关系,这样一个初步的类图就实现好了。
然后就是对模块内部类进行模式化的设计,例如用户模块和房间模块采用MVC模式来设计,完善类中方法。等功能模块完成后,接着实现系统的界面模块,对于整体的细节再进行斟酌,例如对游戏类中关于地图元素类不合理之处进行修改等,复审确定整体类图中没有较大问题之后就开始进行类图的绘制。
四、系统和数据库设计
1、体系结构设计
2、功能模块层次图
3、ER图
用户数据E-R图:
端口管理E-R图:
角色E-R图:
游戏资源E-R图:
4、表结构设计
5、设计思路
- 系统设计思路:
采用面向对象软件体系结构设计方法以及客户端-服务端的CS软件体系结构。
游戏整体分为两个部分,一个是功能部分,另一个则是游戏本体。功能部分主要负责一些游戏外的基础操作,例如登录注册等,而游戏本体这里指的是客户端游戏的主要内容,整个游戏最重要的部分。
游戏的数据也相应的分为两个部分,一个是静态数据(不会经常发生改变和交互),例如登录注册、端口、用户信息等,另一个则是动态数据,即游戏游玩时,角色移动等一直在变化的数据。我们将静态的数据使用数据库储存,然后通过接口访问获取,动态的数据则是通过网络框架GDNet实现即时同步操作。 - 数据库设计思路:
首先进行数据库的外部设计,规定好标识符和状态并进行约定的制定。其次根据上次需求分析的结果进行数据字典的设计,接着根据数据字典进行结构设计,第一步是概念结构设计,划分模块,分为用户数据模块、端口管理模块、角色模块、游戏资源模块,并绘制出对应模块的E-R图,确定好E-R图中每个实体的属性、主键以及实体之间的关系;第二步是逻辑结构设计,我们利用E-R进行关系模型以及表的设计;第三步则是进行物理结构设计,确定好每张表中每个字段的类型、长度、是否为主键等等。最后是数据库的安全保密设计,对数据库的故障处理、并发控制、信息加密等方面进行考虑和设计。
五、系统安全和权限设计
1、系统安全设计
5.1.1 登陆用户爆破
- 不要使用弱密码,尽量采用字母+数字+特殊字符的密码;
- 限制密码输入次数,超过次数就当天锁定账户。
5.1.2 端口漏洞
- 限制登录的IP地址,也就是仅放通我自己的运维电脑的IP可以登录服务器,其他IP都不允许登录我的服务器。开启防火墙,防止外界访问服务器端口。
5.1.3 sql注入防护
- 在数据提交到数据库之前,对所有可能来自用户输入的数据进行严格的检查。
- 在设计与数据库连接并访问数据时,在需要填入数值或数据的地方,使用参数来给值。
5.1.4 用户加密
- 使用MD5对用户密码进行加密,并加入一段写死的随机字符串即使用固定的salt,最后保存到数据库。
5.1.5 数据备份
- 每月一次对服务器进行备份,并且对修改过的数据进行及时的备份,以便出现系统崩溃时(通常是硬盘出错),可以及时地将系统恢复到正常状态。
2、权限设计
- 只有管理员能够对数据库进行访问和更改
- 所有登录用户都能够创建房间成为房主,只有房主才能够修改房间信息
- 登录用户能够查看他人信息,但是无法进行更改
- 登录用户能够查看自己的基本信息并进行更改
- 非登录用户无法访问除登录及注册界面之外的其它界面
3、设计思路
- 遵循最小权限原则,即指应限定系统或网络中每个主体所必须拥有的最小权限,确保系统故障、错误、网络部件篡改等原则造成的损失最小
- 遵循职责分离原则,即分配不同的任务给不同职位的人,或者在多个人之间对某个特定的安全操作过程分配相关的特权
- 遵循默认安全原则,即需要为系统的安全措施提供默认的配置,包括默认账号、默认权限、默认策略,默认安全原则也是保持系统简单化的重要方式
- 遵循心理可接受原则,即对资源的访问不应该因为安全机制的出现而变得更加困难
六、问题与改进
- 问题一:同一局游戏猎人玩家和猎物玩家是同时进入游戏吗?那在猎物进行隐藏的时候猎人玩家此时的视角是怎么样的?
答: 同一局游戏中猎人玩家与猎物玩家同时进入游戏,在猎物进行躲藏的时候猎人的视角是不能看到地图上的任何东西,我们会显示一些插画给猎人观看为了不让猎人过于无聊。 - 问题二:胜利的那一方有什么奖励吗?
答: 我们会以天梯排行榜得形式进行发放游戏奖励。 - 问题三:市面上躲猫猫游戏大多都是3D的,这样的话牵扯到猎人追逐视野有限的问题,但是2D作为上帝视角,不会导致猎人在追捕的时候相当于拥有了相当全局的视野吗?
答: 游戏玩家视角为俯视,玩家能看到的视线范围大约地图的十分之一,而且视角是跟随玩家移动而移动的,在猎人追捕过程中在地图中有许许多多的道具可以帮助猎物逃脱出猎人的视野进行再次躲藏。 - 问题四:那其他物品的位置会变吗?
答: 地图中的道具生成的位置是随机的。 - 问题五:地图是否会随机生成的,每次进入游戏是否会不一样?
答: 地图的道路是大致相同的,但是地图上的其他障碍元素会随机放置,让猎人无法容易区分障碍还是猎物。
七、附录
1、GitCode团队仓库链接
PEEKABOO仓库
2、系统设计说明书
PEEKABOO系统设计说明书
3、数据库设计说明书
PEEKABOO数据库设计说明书
4、系统设计和数据库设计答辩PPT
PEEKABOO答辩PPT
Peekaboo——项目系统设计与数据库设计相关推荐
- 团队作业第五次—项目系统设计与数据库设计
作业描述 所属课程 软件工程1916|W(福州大学) 作业要求 团队作业第五次-项目系统设计与数据库设计 团队名称 待就业六人组 作业目标 宏观的对系统的整体结构设计,并在此基础上,进行数据库设计 系 ...
- 项目系统设计与数据库设计(那周余嘉熊掌将得队)
作业格式 课程名称:软件工程1916|W(福州大学) 作业要求:团队作业第五次-项目系统设计与数据库设计 团队名称: 那周余嘉熊掌将得队 作业目标:进行数据库设计和系统设计,完善类图,绘制评审表 团队 ...
- 项目小结之数据库设计
最近做了一个小项目完整的数据库设计,想总结一些设计上的所得,希望大家多多指教. 有时一个项目,普通程序员一般不会去接触数据库设计,一般都有专业的DBA或是老程序员去设计,下面是我推测的几点可能原因: ...
- 项目开发周期与数据库设计对比
项目开发周期与数据库设计对比 项目开发周期 数据库设计 需求分析 分析客户的业务和数据处理需求. 1. 收集信息(不怕多,但怕漏): 2. 标识对象: 3. ...
- 系统设计和数据库设计答辩问题汇总
总体来说大家的系统说明书格式普遍存在问题,格式不统一,也和作业规定中的没有具体明确有关系.有若干团队项目系统说明书完成度不高. 那周余嘉熊掌将得队 追光的人 echo 基于云的胜利冲锋队 待就业六人组 ...
- 谈谈实际项目中对 数据库设计 的一些思考
注:本人开发经验尚浅,下文主要谈的是自己的一些想法,不足之处请指出. 最近半年时间都花在管理系统的开放上面,对数据库的设计有一些自己的想法,在我看来数据库设计的key point就是妥协.一个设计的比 ...
- 浅析实际项目中对数据库设计的一些思考
从数据库管理系统的开放层面来讲,数据库设计的key point就是妥协.一个设计的比较好的数据库都是在业务逻辑.设计规约和便于开发这三者之前来回考量,从而获得3-win的结果.下面主要是在思考和总结的 ...
- 在线 OJ 项目(二) · 操作数据库 · 设计前后端交互的 API · 实现在线编译运行功能
一.操作数据库前的准备 二.封装操作数据库数据的相关操作 三.设计前后端交互的 API 四.实现在线编译运行功能 一.操作数据库前的准备 设计数据库表 我们需要对数据库中存储的题目进行操作. 创建一个 ...
- 软件工程电商系统数据库定义_某个电子商务系统项目的数据库设计
杨教授工作室,版权所有,盗版必究, 1/13 页 1 1.1 EbookStore/EBank 项目的数据源设计 1.1.1 本项目中的数据库设计概述 1 .数据库设计 ( 1 )数据库设计方法 一般 ...
最新文章
- 天池NLP中文预训练模型赛来了!
- 编译 | 5G时代的游戏世界:一年后的AR与VR将会发生的几个变化
- Python中双冒号的作用[::]
- 谢烟客---------Linux之Bash基础特性(2)
- 文巾解题 6. Z 字形变换
- 关于URL指向的icon的存储问题
- iOS打电话发短信发邮件总结
- 通过回调函数阻止进程创建(验证结束,方案完全可行)
- 隐私和网络安全将是未来科技发展的屏障
- SpringMVC整合Redis2.9.0
- 《数字摄影与摄像》学习笔记——摄影课理论基础
- Flink实现异步IO实战
- php安装libpng,求助:libpng编译问题
- 轻松斩断信息安全黑手!就这?
- 海森堡量子力学与计算机,量子力学诞生后的120年,没有人真正懂他
- gnuplot入门教程
- Tomcat在IIS下同端口运行方法(我用的tomcat8.5 iis 10网上各种坑)
- Three.js-光线投射(raycaster)
- 农总行计算机类,中国农业银行总行计算机类笔试经验【精选】
- 06_权限管理(黑)
热门文章
- 冰河的大学生活,两个好基友:二神和波妞,哈哈,挺有意思的
- 微信接口第三方php原理,微信第三方登录原理
- 如何将谷歌卫星地图转成80坐标并测量面积
- 消防信号总线原理_消防报警联动系统中,什么叫回路总线什么叫RS-485总线?
- SVLsimulator与apollo6.0联合仿真
- 前端文档网站快速生成工具
- 【智能金融】黑科技让银行们“长牙齿”,是该让马云颤抖了!
- PHP WEB程序设计信息表,WEB程序设计(PHP)2020知到答案全套
- 数据预处理 - 归一化与Z-Score标准化
- 【过关斩将】高胜寒带你理清 “为什么从上家公司离职?”