热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

软工小队软件需求规格说明书

目录软件需求规格说明书一、引言1.1定位与目标1.2对象1.3软件需求分析理论1.4软件需求分析目标二、需求概述2.1项目背景2.2需求概述2.3小程序结构2.4NABCD模型分析

目录



  • 软件需求规格说明书

    • 一、 引言

      • 1.1 定位与目标

      • 1.2 对象

      • 1.3 软件需求分析理论

      • 1.4 软件需求分析目标



    • 二、 需求概述

      • 2.1 项目背景

      • 2.2 需求概述

      • 2.3 小程序结构

      • 2.4 NABCD模型分析



    • 三、 程序功能需求

      • 3.1 功能总览

      • 3.2 业务流程图

      • 3.3 产品原型图演示



    • 四、 软硬件及外部系统接口需求

      • 4.1 用户界面

      • 4.2 硬件需要

      • 4.3 运行环境



    • 五、 可靠性与可用性需求

      • 处理能力



    • PS:项目优化项:

      • 1.对项目方向进行了更改与专注

      • 2.添加了项目原型的设计

      • 3.添加了NABCD模型






软件需求规格说明书

一、 引言


1.1 定位与目标

微信小程序高度发达便利的今天,利用信息技术对大量复杂的信息进行有效的管理成为一种普遍而实用的手段。一方面,这为人们拓展了线下娱乐与社交方式,另一方面,小程序连接这一做法,为用户提供了极大的便利性。社交游戏合集能成为人们线下社交的一个重要组成部分,它对人们的社交积极性与参与度有很大的提高,它不但可以为人们免去聚会交流的尴尬与繁琐的游戏思考,同时也给予用户极大的便利性。为了方便人们进行线下聚会与交流,开发社交游戏合集是众多年轻用户之需。


1.2 对象

本《软件需求规格说明书》的预期读者是:

软工小队全体队员

软件工程课程任课老师

19信计1班部分参与测试人员


1.3 软件需求分析理论

软件需求分析是研究用户需求得到的东西,完全理解用户对软件需求的完整功能,确认用户软件功能需求, 建立可确认的、可验证的一个基本依据。软件需求分析是一个项目的开端, 也是项目实施最重要的关键点。据有关的机构分析结果表明,设计的软件产品存在完整性、 正确性不足等问题,80%以上是需求分析错误所导致的,而且由于需求分析错误造成根本性的功能问题尤为突出。因此,一个项目的成功软件需求分析是关键的一步。


1.4 软件需求分析目标

对实现软件的功能做全面的描述,帮助用户判断实现功能的正确性、一致性和完整性,促使用户在软件设计启动之前周密地、全面地思考软件需求。了解和描述软件实现所需的全部信息,为软件设计、确认和验证提供一个基准。

为软件管理人员进行软件成本计价和编制软件开发计划书提供依据。

需求分析的具体内容可以归纳为六个方面: 软件的功能需求, 软件与硬件或其他外部系统接口,软件的非功能性需求, 软件的反向需求, 软件设计和实现上的限制,阅读支持信息。

软件需求分析应尽量提供软件实现功能需求的全部信息, 使得软件设计人员和软件测试人员不再需要需求方的接触。 这就要求软件需求分析内容应正确、 完整、一致并且可验证。此外,为保证软件设计质量,便于软件功能的休整和验证,软件需求表达无岔意性,具有可追踪性和可修改性。


二、 需求概述


2.1 项目背景

将要开发的软件名为《交游星》,本项目的提出者是软工小队队员,而开发者是软工小队全体,主要用户暂时是广东技术师范大学本科生及研究生,该小程序独立于其他小程序,自成一个完整的系统,应用方便。


2.2 需求概述

下面就对社交游戏合集的设计进行需求分析:

首先,此小程序面向的对象是有线下交友、线下娱乐团建需求的年轻人群,所以须支持多个手机端同时在线。如果是社交游戏的话,第一个玩家进入小程序主页面后,可以选择想玩的小游戏(狼人杀、你画我猜、谁是卧底)并选择总人数而后创建房间,然后分享链接其他玩家进入游戏后房主开始游戏,接着系统(狼人杀、谁是卧底)会根据所选总人数分配身份牌、(你画我猜)给予几个词语给玩家选择。如果是酒桌游戏的话,(骰子游戏)玩家各自进入小程序进行摇骰子、(真心话、大冒险、小姐牌)同理第一个玩家进入小程序主页面创建房间后分享链接,玩家到齐后开始游戏。


2.3 小程序结构

图2.3小程序结构


2.4 NABCD模型分析

N —— Need,需求

我们的项目具有以下功能:



  1. 提供社交小游戏,在用户聚会、社交场合需要小游戏来活跃、带动气氛的时候,以方便简单的方式提供小游戏;

     你画我猜

     谁是卧底

     狼人杀

  2. 提供酒桌小游戏,以胜负欲提升体验感,推动酒桌流程地进行;

     摇骰子

     小姐牌

     真心话大冒险

  3. 可在程序自行查询各个小游戏的基本规则,帮助不熟悉规则的玩家快速了解规则;

  4. 附加需求一:对你画我猜,谁是卧底等游戏添加数据库,用户可实现自己出题来进行游戏。

A —— Approach方法

我们的平台基于 web实现。有如下优势:

web 端方便用户访问,无需额外下载客户端。

web 端迭代速度快,产品升级代价小

web 端无论在 PC 还是在移动设备都可以访问,打破了平台的限制。

B——Benfit,好处

促进交友:本小程序能将有共同兴趣的彼此陌生的众人聚集到一起,通过益智 有交流性的游戏拉进彼此的距离,促进想进一步接触的人的关系。

使用方便:由于无需下载app,只在小程序上即可享受游戏的乐趣,不需要占用太大的内存。

可选择性更多:相比较类似的游戏小程序,其它小程序均只是单一独立的游戏,本小程序集合了狼人杀 你画我猜 谁是卧底跟几个小游戏,可选择性较强。

C —— Conpetitors,竞争

优势:

1、通过市场调研与分析,寻求用户的建议,寻找志同道合的科研朋友,交流合作,加速项目发展。

2、进行大数据分析,针对不同用户和不同的场合,往适合自己的方向发展,走在社交的最前沿。

3、加入自己的独特风格,全新的创意,吸引用户的眼球。

劣势:

1、市场大,竞争对手多。

2、作为市场新的竞争者,需要和已有的产品竞争,需要说服用户放弃一个已经使用了很久的产品,来用我们的产品,具有很大的困难。

D —— Delivery, 推广

• 从本班的同学们开始推广,开展线下测试,参考使用感受及建议,修复bug,并完善产品。

• 从本学院的师弟师妹进行推广,扩大范围,制作传单,通过扫码即可进入平台。

• 在学院内市场饱和之后,向整个学校推广。经过同意后,在各学院张贴海报,扫码使用。


三、 程序功能需求


3.1 功能总览

表 3.1 功能总览


3.2 业务流程图

该小程序是基于微信小程序成熟与流行的一种专注于线下的社交小游戏合集,用户可自由选择想进行的游戏,部分不熟悉规则的用户还可以自行查询与了解规则,减少游戏主持者解释游戏的麻烦;而管理员可对其中部分游戏题库进行增加与删除等操作,优化游戏题库。

图3.2 业务流程图


3.3 产品原型图演示

[墨刀原型](https://modao.cc/app/fa7df32113bf26b04b9f47b72e27c976c89110aa 《小程序副本副本》 )


四、 软硬件及外部系统接口需求


4.1 用户界面

用户界面是程序中用户能看见并与之交互作用的部分,设计一个好的用户界面是非常重要的,本设计将为用户提供美观,大方,直观,操作简单的用户界面。


4.2 硬件需要

移动终端硬件配置应遵循如下原则:具有高的可靠性,可用性和安全性。


4.3 运行环境

微信小程序运行在多种平台上:iOS/iPadOS 微信客户端、Android 微信客户端、Windows PC 微信客户端、Mac 微信客户端、小程序硬件框架和用于调试的微信开发者工具等。

各平台脚本执行环境以及用于渲染非原生组件的环境是各不相同的:

●在 iOS、iPadOS 和 Mac OS 上,小程序逻辑层的 Javascript 代码运行在 JavascriptCore 中,视图层是由 WKWebView 来渲染的,环境有 iOS 14、iPad OS 14、Mac OS 11.4 等;

●在 Android 上,小程序逻辑层的 Javascript 代码运行在 V8 中,视图层是由基于 Mobile Chrome 内核的自研 XWeb 引擎来渲染的;

●在 Windows 上,小程序逻辑层 Javascript 和视图层 Javascript 都是用 Chrome 内核;

●在 开发工具上,小程序逻辑层的 Javascript 代码是运行在 NW.js 中,视图层是由 Chromium Webview 来渲染的。


五、 可靠性与可用性需求


处理能力

由于是线下测评小程序,其处理能力主要考虑小程序能承载的最大并发用户数,按照实际情况的规划,小程序至少能承载的最大并发用户数要求达到100,随服务器容量而定。


PS:项目优化项:


1.对项目方向进行了更改与专注

将项目方向由社交与游戏并重,转为了将项目重心转为以游戏为重心


2.添加了项目原型的设计

有了原型能给用户和开发人员更直观、更简单地对项目的了解与喜欢


3.添加了NABCD模型

对客户需求进行需求分析 ,采用NABCD模型。 NABCD模型解释如下:

N,需求(need),解决用户的需求; A,做法(approach),解决需求的手段; B,好处(benefit),产品会给客户/用户带来什么好处; C,竞争(competitors),市场

使需求分析更为准确有效



推荐阅读
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • Java和JavaScript是什么关系?java跟javaScript都是编程语言,只是java跟javaScript没有什么太大关系,一个是脚本语言(前端语言),一个是面向对象 ... [详细]
  • 如何实现JDK版本的切换功能,解决开发环境冲突问题
    本文介绍了在开发过程中遇到JDK版本冲突的情况,以及如何通过修改环境变量实现JDK版本的切换功能,解决开发环境冲突的问题。通过合理的切换环境,可以更好地进行项目开发。同时,提醒读者注意不仅限于1.7和1.8版本的转换,还要适应不同项目和个人开发习惯的需求。 ... [详细]
  • 恶意软件分析的最佳编程语言及其应用
    本文介绍了学习恶意软件分析和逆向工程领域时最适合的编程语言,并重点讨论了Python的优点。Python是一种解释型、多用途的语言,具有可读性高、可快速开发、易于学习的特点。作者分享了在本地恶意软件分析中使用Python的经验,包括快速复制恶意软件组件以更好地理解其工作。此外,作者还提到了Python的跨平台优势,使得在不同操作系统上运行代码变得更加方便。 ... [详细]
  • 本文介绍了使用Java实现大数乘法的分治算法,包括输入数据的处理、普通大数乘法的结果和Karatsuba大数乘法的结果。通过改变long类型可以适应不同范围的大数乘法计算。 ... [详细]
  • Java序列化对象传给PHP的方法及原理解析
    本文介绍了Java序列化对象传给PHP的方法及原理,包括Java对象传递的方式、序列化的方式、PHP中的序列化用法介绍、Java是否能反序列化PHP的数据、Java序列化的原理以及解决Java序列化中的问题。同时还解释了序列化的概念和作用,以及代码执行序列化所需要的权限。最后指出,序列化会将对象实例的所有字段都进行序列化,使得数据能够被表示为实例的序列化数据,但只有能够解释该格式的代码才能够确定数据的内容。 ... [详细]
  • IT方面的论坛太多了,有综合,有专业,有行业,在各个论坛里混了几年,体会颇深,以前是论坛哪里人多 ... [详细]
  • 本文介绍了RxJava在Android开发中的广泛应用以及其在事件总线(Event Bus)实现中的使用方法。RxJava是一种基于观察者模式的异步java库,可以提高开发效率、降低维护成本。通过RxJava,开发者可以实现事件的异步处理和链式操作。对于已经具备RxJava基础的开发者来说,本文将详细介绍如何利用RxJava实现事件总线,并提供了使用建议。 ... [详细]
  • 2016 linux发行版排行_灵越7590 安装 linux (manjarognome)
    RT之前做了一次灵越7590黑苹果炒作业的文章,希望能够分享给更多不想折腾的人。kawauso:教你如何给灵越7590黑苹果抄作业​zhuanlan.z ... [详细]
  • 本文介绍了JavaScript进化到TypeScript的历史和背景,解释了TypeScript相对于JavaScript的优势和特点。作者分享了自己对TypeScript的观察和认识,并提到了在项目开发中使用TypeScript的好处。最后,作者表示对TypeScript进行尝试和探索的态度。 ... [详细]
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • 本文介绍了C#中生成随机数的三种方法,并分析了其中存在的问题。首先介绍了使用Random类生成随机数的默认方法,但在高并发情况下可能会出现重复的情况。接着通过循环生成了一系列随机数,进一步突显了这个问题。文章指出,随机数生成在任何编程语言中都是必备的功能,但Random类生成的随机数并不可靠。最后,提出了需要寻找其他可靠的随机数生成方法的建议。 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • 如何压缩网站页面以减少页面加载时间
    本文介绍了影响网站打开时间的两个因素,即网页加载速度和网站页面大小。重点讲解了如何通过压缩网站页面来减少页面加载时间。具体包括图片压缩、Javascript压缩、CSS压缩和HTML压缩等方法,并推荐了相应的压缩工具。此外,还提到了一款Google Chrome插件——网页加载速度分析工具Speed Tracer。 ... [详细]
author-avatar
杨斜2602934873
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有