第三组(geomystory)修改后的需求分析

学习了软件工程之后,我们只是大致了解了编写大型软件需要软件工程,否则就会遇到“软件危机”,具体的软件危机是什么,我们却不甚了解。大家熟悉软件工程经典的秋千图,它介绍了软件开发中个各种问题,看的时候不免觉得好笑,但是当你的软件足够大,这些问题就会出现在你的面前。

因为生产实习着重培养开发过程,软件工程是不可或缺的,现在我们进行到了需求分析这一步。于是我们依样画葫芦,按照老师提供的框架,分析(猜测)用户需求,实际采访用户,使用NABCD框架进行系统分析。

蓦然回首,需求分析之前还有两步:

  1.问题确立——既然是开放性问题,各组随机选题,我们来做个游戏吧,模仿“‘欧几里得’”这款几何游戏就很不错,炫酷的文本编辑器没有太多可以实现的而且不太好玩,别的游戏都不好玩或者可能不好做,投票通过;

  2.可行性分析——uwp中是可以用unity技术的,c#手写一个几何引擎应该也不难,可行;

在问题确立上与可行性分析之中,埋藏了一个很大的坑,不过相信我们有能力来解决这个问题,那么不用回头了,专心做需求分析吧。

我们的需求分析都做完了,才想起需求分析到底要做什么:设计人员根据需求设计软件的界面、功能、接口,实现人员要根据需求实现自己心目中的设计,假设不会过度需求分析的情况下,需求分析至少能保证我们的秋千尽可能的接近用户心中的那个轮胎。不过,如果没有“欧几里得”这款游戏,我们能保证小组中的每个成员心中都有同一个“哈姆雷特”吗?能保证新加入成员时,他的心中也是这个“geomystery”吗?

综合以上考虑,我们将会把需求分析精细化,将我们这款软件的基础更加牢固,不过既然选择了极限编程模型,整体的文档体量会缩小一些,希望可以构建等比例缩小的软件工程金字塔。

需求分析正文:

需求从用户开始,游戏是人类的天性,每个人都喜欢玩游戏,游戏吸引人的地方在于不同的游戏有不同的乐趣,李如意惊险刺激,持续反馈,虚拟成就等等,我们做的这款游戏,最终的目的就是吸引人(开发者的希望)和好玩(用户的最求)。

因为我们并没有被某个公司委托,所以我们自身也客串用户。

N(Need, 需求)

·与老师探讨的过程中,出现了第一个需求:学习是不是也能像游戏一样吸引人。如果能把游戏和学习结合起来,比如在游戏中加入“即时反馈”系统,这也涉及到定位问题,我们的软件到底是一款游戏软件,还是一款学习软件,最终的讨论结果是,游戏(加上学习元素)。

·解密类游戏是一个吸引人的游戏类别,当然,解密游戏也有很多种,大家可以找到很多“密室逃脱”“侦探”小游戏,“古墓丽影”中的劳拉在探险的过程中也需要解决很多谜题,前一段时间风靡手机端的游戏“纪念碑谷”总给人一种柳暗花明之感,我们也可以制造一款解谜游戏。

·时间有限是开发人员的限制,大家都不想去编剧本,不想写角色扮演类游戏(RPG)解谜剧本,可以考虑纯粹一些的解谜。就像“宝石迷阵”“鳄鱼洗澡”游戏一样,创造一个环境,纯粹的解谜,这样可以把时间专注于编码开发而不是编剧。

·几何相对于物理类容易许多,不需要物理学中力学那样复杂的游戏引擎支持,定义一个坐标系,画直线圆,满足条件(例如玩家画出了一个圆的圆心,必须是推理画出来的,而不是随便画出来的)就可以过关。闯关!对,闯关类游戏,达成条件就能过关。

·有些玩家喜欢容易上手的关卡,有些玩家喜欢困难的挑战,这就是用户调研环节G用户提到的“难易比例适中”,合理的关卡设计能让用户玩的开心,增加游戏“黏度”。

·各个游戏总是有奇奇怪怪的成就系统,甚至扫雷也有:

成就系统有魔力,这是公认的,我们的软件也要有成就系统。

·组员C有舍友是游戏的资深玩家,组员C受到影响也经常玩这款游戏,给我们提供了一些额外的建议,有的关卡解法可能用户难以想到,而闯关通常是不允许用户跳跃的,这样会造成用户长久的卡在同一个地方,回想起“友商”“开心消消乐”的做法,软件需要有可以跳过关卡的功能,或者能有一些小提示。

·政策需求,软件需要满足一个国家地区的法律法规,我们的软件需要一个防沉迷系统。

·盈利系统是用户不需要甚至讨厌的,却是游戏开发商需要的,而我们作为软件的实际开发者,也会受到此影响,未来可能会有免费去广告,充值钻石,购买过关,购买提示等功能。

 A(approach, 做法)

技术上我们需要一个能表达几何的方法,需要数学中的坐标系几何定律,需要几何的元素(例如点线圆),这些凭我们所学的知识可以应付,然后我们需要在计算机中实现几何的方法,他们包括UWPC#,但是光有这个还不够,我们发现Unity自身就可以写UWP程序(选项中选择提交到WINDOWS应用商店)不一定好学,DirectX可以让我们的程序更漂亮,但是DX有大量本级实现的细节,必须使用C++,而UWP的C++实现比较复杂,所以我们的计算机图形学还是通过C#来实现,那样的话我们的软件看起来可能会很“朴素”,并不吸引人。后来我们发现了NuGet中的Win2D它封装了DX,而且可以与XAML配合,正是我们需要的。还有一些技术来实现,就是图形计算需要解方程,而方程在计算机中的表达就是矩阵,这就意味着我们使用了线性代数。需要注意的是,交互方式设计对游戏体验影响很大,应该着重优化,

B(Benefit, 好处)

  • 一款游戏,最重要的是带给玩家快乐,我们这款游戏关卡设计难易比例均衡,能让人愉快的继续玩下去;
  • 寓教于乐是很多老师的追求,本款游戏可以实现,在游戏的过程中用户加深对几何的理解,数学几何轻轻松松拿100分;
  • 自由模式以及经典画法演示开启了一扇崭新的大门,用户可以创造保存他们喜欢的“几何城堡”,这个图形是用数学描述的,和矢量图形一样,显而易见的好处就是放大缩小不会失真,这也算是一个小型的“几何画板”;
  • 软件提供经典的几何算法的演示,比如尺规作正十七边形的动画演示,让热爱数学,热爱几何的人有独特的收获;

C(Competitors, 竞争)

我们选择“欧几里得”这款软件作为主要的竞争对手。

  • 未被满足的需求:“缺个女朋友”(可以认为代表社交,联网需求,也可以认为是客户无理取闹),多语言支持,登录账号来保存进度,老玩家鼓励系统,历史上悬而未决的几何难题题库
  • 平手:游戏模式设计,关卡设计,合理的提示,
  • 我方优势:跳过关卡功能,"解析几何"功能,成就系统,计时系统,尺规作图动画演示
  • 我方劣势:术语表,定理查询,记录保存与重现操作历史,历史成绩查询,模型实现以及算法优化,隐藏的第四颗星(优秀的关卡设计)
  • 对用户无用的功能:防沉迷系统,盈利系统(广告,充值),精力系统(变相防沉迷,实际是盈利)

D(Delivery, 推广)

  • 这一款软件是生产实习的作业,将会提交到WINDOWS AppStore
  • 朋友之间的推广将会成为本游戏的第一批用户,这或许是我们的软件进入AppStore排行榜的关键
  • 免费促销活动,将会吸引一批尝鲜的用户
  • 我们没钱打广告

电梯演说

各位领导/投资人/合作伙伴: 我们的产品 <几何迷城 geomystery> 是为了解决N <游戏与学习不能兼得> 的痛苦, 他们需要C<通过游戏打发无聊的时间,同时还能兼顾学习>, 但是现有的方案并没有很好地解决这些需求,我们有独特的办法A,<例如尺规作图实践与游戏闯关结合>, 它能给用户带来好处B,<难易结合,定义严格,使用户着迷而不沉迷>, 远远超过竞争对手C<“欧几里得”>. 同时,我们有高效率的推广D方法:<发布到商店,限时免费>,能很快地让大部分用户知道我们的产品,并进一步传播。

时间: 2024-11-03 21:05:45

第三组(geomystory)修改后的需求分析的相关文章

wamp中修改后mysq数据库l闪退无法登陆解决办法

WampServer安装后密码是空的, 修改一般有三种方式: 一是通过phpMyAdmin直接修改: 二是使用WAMP的MySql控制台修改. 三是重置密码 第一种: 1.在phpMyAdmin界面中点击[用户],将用户概况中的所有用户名为[root] 用户的密码都改为[要修改的密码]. 修改是点击[编辑权限],设置密码即可. 2.在目录wamp\apps下找到phpmyadmin文件夹下的[config.inc.php]文件, 修改[$cfg['Servers'][$i]['password'

实力玩家分享《后三组六杀号心得》技巧分析

后三组六杀2码公式 ┿导师Q[8285655]精准一对一指导, 长久盈利轻松賸率95%,已助上千人成功翻盘,欢迎增加,沟通交流!我分享这些不为别的,只为像我一样的人能早日翻盘! 后三直选和定位胆从根本上讲形态是一致的,后三为000-999中选取单一数字进行游戏,定位胆为10个数中选取单一数字.两者的不同在于,在保证同样的中jiang概率下后三可人为操作性大于定位胆.举个例子:保证投注中奖概率为百分之五十的情况下,后三需要投注500个号码,假使我们选择000-499此500个号码,定位胆我们选择0

《实时控制软件设计》第三组第二天工作日志

Daily Summary 2016.1.5 今天由于成员闲余时间较少,完成的任务主要有一下两项: 界面组开会讨论了界面所需完成的功能,对之前的初步想法进行了修改,得到了最终界面所需各模块并编写了文档. 控制组根据界面组的讨论结果,分析了接下来编程的大致框架与内容,得到两套方案并编写了文档. 具体各部分内容如下: 界面组讨论结果: 原有界面模块 修改后界面模块 修改说明: 修改1处:删除“暂定”按钮 修改2处:删除“投币入口”按钮 修改3处:改为“找零”按钮 修改4处:改为“实付”按钮 修改5处

飞谷云六期第三组——基于Spark的机器学习

项目正式开始时间:2015.10.15. 随笔内容:本次项目的主题是基于Spark的ML.对于ML的学习有大概半年了,正好在网上关注到了由上海交通大学所主办的这个飞谷云的大数据项目,我所报名的这期已经是飞谷云的第六期了,在网上和群里了解了一段时间后大算报名参与一次,毕竟之前没有参与过真正的项目开发,也刚好趁着在学习ML的这个时间通过项目把理论和实践都加强.在这篇随笔中,我打算把这次项目的每个过程都写进来,一是为了给正在进行的项目提供一个全程记录:二是给自己一个留念,毕竟是自己独立完成的一个ML方

三组I/O复用模型的比较

概论: select.poll和epoll三组I/O复用系统调用,这3组系统调用都能同时监听多个文件描述符.它们将等待由timeout参数指定的超时时间,直到一个或者多个文件描述符上有事件发生时返回.返回值是就绪的文件描述符的数量.返回0表示没有事件发生,超时. 我们从事件集.最大支持文件描述符的数量.工作模式和具体实现等四个方面进一步比较它们的异同. 事件集: 这三个函数都是通过某种结构体变量来告诉内核监听哪些文件描述符上的哪些事件,并使用该结构体类型的参数来获取内核处理的结果. select

PBOC金融IC卡,卡片与终端交互的13个步骤,简介-第三组

七:终端风险管理-必选但包含可选步骤异常文件:终端检查应用主账号是否在异常文件列表(卡号黑名单)中.商户强制联机:商户可以将当前交易强制为联机处理.最低限额:控制交易当前交易金额或同一张卡片连续几笔交易累积金额超过某个数值时则要求联机授权.随机交易选择:控制交易基于当前交易的金额随机决定交易是否联机授权.(可选支持)频度检查:要求卡片在连续脱机交易一定次数后要求进行一次联机交易.新卡检查:判断卡片是否为初次使用. 6个 [终端必须具备风险管理功能,但其中的检查项是可以选择的.终端通过终端和卡片提

【基于WPF+OneNote+Oracle的中文图片识别系统阶段总结】之篇三:批量处理后的txt文件入库处理

篇一:WPF常用知识以及本项目设计总结:http://www.cnblogs.com/baiboy/p/wpf.html 篇二:基于OneNote难点突破和批量识别:http://www.cnblogs.com/baiboy/p/wpf1.html 篇三:批量处理后的txt文件入库处理:http://www.cnblogs.com/baiboy/p/wpf2.html 篇四:关于OneNote入库处理以及审核:http://www.cnblogs.com/baiboy/p/wpf3.html [

做web项目时对代码修改后浏览器端不生效的应对方法(持续更新)

做web项目时,经常会遇到修改了代码,但浏览器端没有生效,原因是多种多样的,我会根据我遇到的情况逐步更新解决办法 1.运行的时候采用debug模式,一般情况下使用项目部署按钮右边那个按钮下的tomcat7中的run就行,如果使用的是serves中的run serves,这种情况貌似不会自动编译 2.点击project菜单下的clean选项,在打开的窗口中选择你使用的项目,ok,这样会删除tomcat容器中关于该项目的一些信息,然后重新部署,运行 3.删除电脑中tomcat文件夹,重新解压,然后在

解决Sublime文件被修改后关闭不提示保存的现象

解决Sublime文件被修改后关闭不提示保存的现象 这是因为Sublime有一个热推出功能,即退出时不会提示是否保存文件,而是直接退出,下次打开软件时,文件保持退出前的状态,没来得及保存的内容都在,其实并没有真实的写在原文件里. 对于不习惯使用该新功能的伙伴们,如何关闭呢,按以下步骤进行设置就可以. 第一步:菜单栏->首选项->设置-默认,将打开Sublime的默认配置文件. 第二步:将该配置文件全部内容复制出来. 第三步:菜单栏->首选项->设置-用户,此时将打开一个空白的文件.