zoukankan      html  css  js  c++  java
  • 软件工程实践作业

    软件工程实践作业

    五子棋微信小程序

    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. 结对心得与项目总结

    赵兵心得总结:第一次结队合作顺利完成,这得益于我们分工明确,共同交流讨论。然后结队的好处就是避免个人的思维定式,能更全面的考虑软件的需求用处,从而让我们的设计更加完善。

    黄灿华结对心得:我们进行了合理的分工安排,做完各自的任务后,在进行讨论修改各自任务中出现的问题,最后将两个任务合并起来,对项目进行审核和修改。在分工过程中,我们进行了不少的沟通交流,这促进了我们的任务进度跟完成度,也增强了我们的合作能力。

    项目总结:此项目只是初步构想,并未完善,仍需要花大量的时间去收集建议和修改模型,争取做到最适合学生。

  • 相关阅读:
    AcWing 第 12 场周赛
    AtCoder Beginner Contest 170 (D~F题,D筛法,E multiset使用,F Dijkstra算法改进)
    Codeforces Round #650 (Div. 3) F1经典离散化DP
    Codeforces Round #738 (Div. 2) (A~E)
    AtCoder Beginner Contest 214 (D并查集,E反悔贪心,F公共子序列DP)
    c++ 跨平台线程同步对象那些事儿——基于 ace
    博客园排名预测
    关于netty
    全局获取HttpContext
    【设计模式】设计模式学习笔记之(一)——类图、对象之间的关系及设计模式概要
  • 原文地址:https://www.cnblogs.com/hch123/p/hch--xiangmufenxi.html
Copyright © 2011-2022 走看看