软件工程实践作业
五子棋微信小程序
1. 结对成员
一班 黄** 21
一班 赵* 31
使用墨刀进行原型设计
2. 需求分析
我们使用NABCD模型进行需求分析
2.1 N (Need,需求)
2.1.1用户需求
本款微信程序小游戏主要面向于青少年学生、儿童以及老人,用于他们开发智力,消遣娱乐。因此,我们追求的是规则简单,容易上手,速战速决的效果。
2.1.2 功能需求
平时在玩五子棋时只能人和人玩,要协调好时间地点等等,不能随时随地玩。
而且想打人机一样打对手开心一下都不可以。
2.1.3 性能需求
3.对于性能需求:
(1)、技术可行性
(2)、经济可行性
(3)、操作可行性
2.2 A (Approach,做法)
1.对于用户需求:我们这一个微信小游戏无需下载,可以随时谁地玩,满足更广大群众的需求。
2.对于功能需求;
游戏说明:游戏开始时,由黑子开局,将一枚棋子落在棋盘一坐标 上,然后由白棋落子,如此轮流下子,直到某一方首先在棋盘的竖、横或斜三方向上的五子连成线,则该方该局获胜;然后继续下一局,每胜一局得10分,输一局或平局得0分,先赢两局的一方为最终获胜者;在下棋途中可以悔棋(对方同意的情况下)。
功能列表如下:
a)选择人机对战或双人对战或者联机对战
b)输出棋盘;
c)显示用户行程,提示用户下子;
d)查看用户的输入是否出界;
e)悔棋,下错位置可以悔棋;
f)记录并显示每局游戏结束时的步数;
g)判断每局游戏输贏,显示每局游戏的获胜者及分数。
h)判断是否进行下一-局。
i)判最终赢家(三局两胜)
j)退出游戏。
具体功能描述:
(1) 棋盘是15*15的方格棋盘,下棋区为a[0][0]到a[14][14]。
(2)黑子先下,白子后下,两者交替下子,下子坐标范围为(1, 1)到(15,15)。
(3)当一方棋子下错位置时,输入(-1, -1)悔棋,屏幕提示悔棋方请输入下子位置。
(4) 当下子的坐标处有子时,提示有子请重下。
(5)每赢一-局积累10分,输一-局或平局得0分,先得够20分的一 方为最终赢家。
3.对于性能需求:
(1)、技术可行性
微信小程序有专门的开发者工具,能够满足开发需求。
(2)、经济可行性
一方面,系统中棋盘界面和更强劲的功能支持,再加三局两胜制的规则,不仅增加了游戏的趣味性,而且使游戏者更尽兴;另一方面系统开发成本低,现有PC机即可提供该系统开发工作需要的所有硬件设备环境。
(3)、操作可行性
微信小程序操作方便简单。使用前只要看明白游戏规则及其方法即可。
2.3 B (Benefit,好处)
1.能给用户带来较为便利的使用体验。用户在使用我们的产品时无需再去下载安装,直接在微信小程序就能直接使用,节约了用户的时间成本;
2.在给用户带来较好的游戏体验的同时,不会损耗用户太多的精力;
3.游戏难度不高,潜在覆盖用户范围广。
2.4 C (Competitors,竞争)
对比APP,我们的微信五子棋小程序不用下载就能随时随地玩,而且有APP的保存数据的功能(上一次结束的时候总分可以继承)。
对比同类微信小程序,我们的微信小程序后续可以继续增加新的功能拉开差距。例如换棋盘,换背景音乐等等。
2.5 D (Deliver,推广)
我们可以选择多种方式,比如:线下海报,易拉宝地推,线下单页推广,微信搜索-抢占小程序名称,小程序名称搜索优化,附近的小程序入口,小程序跳转小程序,APP分享到微信,公众号内容跳转小程序,聊天小程序,公众号底部广告,小游戏广告等等。
3.原型系统设计
我们是使用墨刀进行原型设计的
4.PSP表格
PSP2.1 |
Personal Software Process Stages |
预估耗时(分钟) |
实际耗时(分钟) |
Planning |
计划 |
20 |
20 |
Estimate |
估计这个任务需要多少时间 |
30 |
30 |
Development |
开发 |
360 |
- |
Analysis |
需求分析(包括学习新技术) |
120 |
120 |
Design Spec |
生产设计文档 |
20 |
20 |
Design Review |
设计复审(与同事审核设计文档) |
30 |
30 |
Coding Standard |
代码规范(为目前的开发制定合适的规范) |
20 |
20 |
Design |
具体设计 |
180 |
- |
Coding |
具体编码 |
360 |
- |
Code Review |
代码复审 |
180 |
- |
Test |
测试(自我测试,修改代码,提交修改) |
60 |
- |
Reporting |
报告 |
180 |
- |
Test Report |
测试报告 |
60 |
- |
Size Measurement |
计算工作量 |
10 |
- |
Postmortem & Process Improvement Plan |
事后总结,并提出过程改进计划 |
180 |
- |
All |
合计 |
1810 |
5. 结对心得与项目总结
赵兵心得总结:第一次结队合作顺利完成,这得益于我们分工明确,共同交流讨论。然后结队的好处就是避免个人的思维定式,能更全面的考虑软件的需求用处,从而让我们的设计更加完善。
黄灿华结对心得:我们进行了合理的分工安排,做完各自的任务后,在进行讨论修改各自任务中出现的问题,最后将两个任务合并起来,对项目进行审核和修改。在分工过程中,我们进行了不少的沟通交流,这促进了我们的任务进度跟完成度,也增强了我们的合作能力。
项目总结:此项目只是初步构想,并未完善,仍需要花大量的时间去收集建议和修改模型,争取做到最适合学生。