软件需求规范文档
Software Requirements Specifications Document (SRS)

本文档参照IEEE Guide to Software Requirements Specifications (Std 830-1993). 本文档只用于定义软件的需求分析、功能和接口定义,不涉及软件的具体实现方法。

  • 项目名称:自动咖啡机

  • 开发团队:华中科技大学RTCSD第三小组

  • 版本号:(1.0)

  • 日期: (10/18/2017)

1. 引言

本项目是华中科技大学2017年14级机械本科《实施控制软件设计》课程第四次作业,也是课程设计的作业内容。需要各小组组成开发团队进行协同合作。本小组成员以及分工如下:

  • 张照博 (C语言代码编写、软件设计规格书撰写)
  • 彭彦毓 (物理建模、模块导出)
  • 陈志平 (C语言代码编写、Debug)
  • 李佳杰 (单元测试、概要设计说明书)
  • 刘玉松 (项目总结、说明文档)

1.1 编写目的

本文档用于指导自动咖啡机硬件及软件开发过程,与软件用户定义和明确软件的功能需求。本文档的目标读者为软件用户和软件开发项目组成员。

1.2 背景

1.2.1 立项目标

用户在咖啡机面板上选择自己想要喝的咖啡(美式、拿铁、卡布奇诺...)并按下开始按钮后,咖啡机开始按照设定的配方制作咖啡。

1.2.2 类似产品分析

主校区图书馆一楼大厅进门右侧就有一台自动咖啡机,支持联网付费,全自动咖啡现磨冲泡。支持多品种选择,价格从10元到30元不等。与本项目产品高度相似,但是外部无操作界面,全部由服务器通过移动端进行操作,远程控制咖啡机进行生产。

全自动咖啡机是整个咖啡机行业里发展最快的。从1999年GAGGIA发布了第一台能制作Espresso(意式浓缩咖啡)的全自动咖啡机,各个不同的咖啡机厂商都在致力于研究开发,使得其功能不断的完善,已经有能加热牛奶并把它按比例配在咖啡里的高端机型面市。好的全自动咖啡机制作出来的咖啡完全可以和商用专业机相媲美,而因其能自动磨豆且相对于专业机来说价格又低很多,所以从问世以来便一直受到家庭及办公场所的青睐。

1.3 定义和缩写

自动咖啡机能依靠机械电动磨粉、填充和烧煮咖啡,全部免除了手工的操作。或称全自动咖啡机,内部装有电子控制系统,用来控制磨豆粗细的调节,每杯的水量。

Automatic Coffee Machine (ACM??)

1.4 参考资料

自动咖啡机_百度百科
全自动咖啡机_百度百科

2. 任务概述

2.1 目标

制作流程为:Feeder机构取一空杯放到传送带上,传送带把空杯送到龙头下,牛奶、糖浆、浓缩咖啡液和热水按照配方比例混合后装入空杯,传送带把满杯的咖啡送到用户取杯处,用户取走咖啡后,自动咖啡机可以继续响应面板上的按钮制作下一杯咖啡。

2.2 用户的特点

身体健康,手指无残疾现象。有喝咖啡的习惯,并且愿意接受现冲咖啡。

2.3 假定和约束

  • 实验条件: 一块STM32的板子。可编程的的电脑。Github分布式协作管理。
  • 开发期限:2017年10月完成软件开发,2017年11月完成集成调试。
  • 开发流程:按照软件流程规范,进行需求分析文档撰写和评审、系统架构方案撰写和评审、单元模块代码开发和单元测试、软件集成测试、现场调试和bug修复等工作。

3. 需求规定

3.1 功能需求规定

3.1.1 功能1--美式咖啡

  • 功能描述:

    美式咖啡的原料就是沸水和咖啡粉,所以只需要Coffee 和 Water Part 正常工作即可。

  • 输入:按下“美式咖啡”
  • 参数:无

  • 处理过程:Feeder取空杯,传送带传动。两个Part的阀门打开,加热器加热。按照比例调节咖啡粉和沸水的配比。
  • 输出:美式清咖

3.1.2 功能2--拿铁

  • 功能描述:

    拿铁的原料是咖啡粉,沸水,牛奶。所以只需要Coffee、Milk 和 Water Part 正常工作即可

  • 输入:按下“拿铁”
  • 参数:无

  • 处理过程:Feeder取空杯,传送带传动。三个Part的阀门打开,加热器加热。按照比例调节咖啡粉和沸水以及牛奶的配比。
  • 输出:拿铁咖啡

3.1.3 功能3--卡布奇诺

  • 功能描述:

    卡布奇诺的原料是咖啡粉,沸水,糖、牛奶。所以需要Coffee、Milk、Sugar 和 Water Part 正常工作方可运行。

  • 输入:按下“卡布奇诺”
  • 参数:无

  • 处理过程:Feeder取空杯,传送带传动。四个Part的阀门打开,加热器加热。按照1:1:1比例调节咖啡粉和糖以及牛奶的配比。
  • 输出:卡布奇诺

3.2 性能需求的规定

3.2.1 精度要求

由于实力有限,目前只规定了产品类型,具体的口味清淡暂时无法顾及

3.2.2 实时性要求

对于实时性的需求不大,反应时间控制在五秒内即可。生产过程不予考虑

3.2.3 开放性和扩展性

后期添加产品类型的浓淡之分。本质上是添加了不同的输入按钮。或者可以添加二级输入。需要扩展命令集。

3.3 输入输出要求

硬件接口:

按钮

软件接口:

I/O接口

3.4 数据存储和管理能力要求

数据保存

在按钮被按下后,需要保存当前的输入。确保不会因为生产期间再次被按下按钮从而产生信号冲突。

3.5 故障和错误处理要求

不存在的。

3.6 其他特殊要求

要求生产过程中不接受按钮的信号量,短暂屏蔽,生产完成后才可以接受新的输入。

4. 用例

4.1 用例1:***操作过程

4.2 用例2:***实时画面

5. 运行环境规定

5.1 硬件设备及接口

STM32、PLC可编程控制器

5.2 软件平台及配置

Matlab/Simulink物理建模以及代码模块生成、gcc-ubuntu整体代码生成

5.3 通信协议

超文本咖啡壶控制协议(英文:Hyper Text Coffee Pot Control Protocol,HTCPCP)是一种用于控制、监测和诊断咖啡壶的协议。

6. 附录

6.1 **协议定义
这个协议在文档RFC 2324(发布于1998年4月1日)中被定义。尽管互联网国际标准机构经常在4月1日发布一些恶搞之作,他们还是让这个协议看上去像是一个真的、非虚构的协议(比如HTTP)。文本编辑器Emacs甚至完全兼容于这个协议,Mozilla也发布了数个补丁来扩展旗下产品的功能。Mosaic浏览器可能支持此协议。
HTCPCP是HTTP协议的扩展。HTCPCP请求通过URI架构coffee:来引用,并且还包含了若干种HTTP请求:
BREW或POST:令HTCPCP服务器(咖啡壶)煮咖啡。GET:从服务器获取咖啡。PROPFIND:获取咖啡的元数据。WHEN:让服务器停止向咖啡中加入牛奶(如适用),即英文"say when"之意。这个协议还定义了两种错误答复:
406 Not Acceptable(不能接受的):HTCPCP服务器由于某种原因而暂时不能煮咖啡。服务器在回复中应当包含一组可接受的咖啡类型列表。418 I'm a teapot(我是茶壶):HTCPCP服务器是一个茶壶。这个错误答复可能是由一个又矮又胖的东西发出的。

6.1.1 The BREW method, and the use of POST

Commands to control a coffee pot are sent from client to coffee
server using either the BREW or POST method, and a message body with
Content-Type set to "application/coffee-pot-command".

A coffee pot server MUST accept both the BREW and POST method
equivalently. However, the use of POST for causing actions to happen
is deprecated.

Coffee pots heat water using electronic mechanisms, so there is no
fire. Thus, no firewalls are necessary, and firewall control policy
is irrelevant. However, POST may be a trademark for coffee, and so
the BREW method has been added. The BREW method may be used with
other HTTP-based protocols (e.g., the Hyper Text Brewery Control
Protocol).

6.1.2 GET method

In HTTP, the GET method is used to mean "retrieve whatever
information (in the form of an entity) identified by the Request-
URI." If the Request-URI refers to a data-producing process, it is
the produced data which shall be returned as the entity in the
response and not the source text of the process, unless that text
happens to be the output of the process.

In HTCPCP, the resources associated with a coffee pot are physical,
and not information resources. The "data" for most coffee URIs
contain no caffeine.

6.1.3 PROPFIND method

If a cup of coffee is data, metadata about the brewed resource is
discovered using the PROPFIND method [WEBDAV].

6.1.4 WHEN method

When coffee is poured, and milk is offered, it is necessary for the
holder of the recipient of milk to say "when" at the time when
sufficient milk has been introduced into the coffee. For this
purpose, the "WHEN" method has been added to HTCPCP. Enough? Say
WHEN.

转载于:https://www.cnblogs.com/hustwolfzzb/p/7711409.html

自动咖啡机项目-软件规格说明书相关推荐

  1. 自动咖啡机项目--参照 IEEE Guide to Software Requirements Specifications 标准

    软件需求规范文档 Software Requirements Specifications Document (SRS) 本文档参照IEEE Guide to Software Requirement ...

  2. 项目需求规格说明书(国标) 一般格式

    需求规格说明书 1 引言   1.1 目的 需求规格说明书是整个软件开发工作的基础,它用委托单位和承办单位都能理解的语言,清晰明确地描述所开发软件的功能.性能和软.硬件运行环境需求.   1.2 背景 ...

  3. 中国式小学生计算题软件规格说明书

    功能规格说明书 此次作业说明:原型设计 + 用户规格说明书 原型设计工具:墨刀 作业效果:MathExam 开发者 ?? 335 吴沂章 ?? 318 林锃寒 一.引言 编写目的 明确MathExam ...

  4. 碧瑶答疑网—选题报告和项目需求规格说明书

    一.选题报告 团队名称:bug终结者 团队成员:陈锐群.沈杰钊.李宗晓.方泽慧.古维城 项目名称:碧瑶答疑网 一.项目描述: 随着互联网的快速发展,用户交换和分享信息的途径也越来越多样化,用户的信息需 ...

  5. 树屋项目--软件概要设计说明书

    软件概要设计说明书 1.引言 1.1目的 该文档主要是描述树屋系统的概要设计,主要内容包括系统功能简介,系统结构设计,系统接口设计,模块设计和界面设计等. 1.2范围 1.2.1 系统目标 开发一个包 ...

  6. 需求规格说明书(模板)

    状态: 秘级: XXXXXXXXXXXX项目 需求规格说明书 西安XXXXXX技术有限公司 20XX年XX月 修订版本 日期 版本 说明 作者 审批人 20XX-0X-0X 1.0 创建 XXX X ...

  7. 需求规格说明书,自留

    XX项目 需求规格说明书 文档编号: 文档信息: 文档名称: 文档类别:工程类 密   级:内部 版本信息:1.0 建立日期: 创 建 人: 批 准 人: 批准日期: 保 管 人:存放位置:配置库 编 ...

  8. 《次元唤醒 需求规格说明书v1.0》

    一.团队分工 组员 工作比例 参与范围 王诚荣 17% 原型设计,需求规格说明书整合,LOGO设计 马祎特 22% PPT制作,演讲,博客模板,用户描述 陈斌 21% 评审表格制作,引言,项目描述,功 ...

  9. 软件工程-团队项目-班级网站软件需求规格说明书

    目录 一. 引言... 2 1.1 定位与目标... 2 1.2 对象... 2 1.3 软件需求分析理论... 2 1.4 软件需求分析目标... 3 二. 需求概述... 4 2.1 项目背景.. ...

最新文章

  1. python脚本实例手机端-Python脚本实现自动化Android手机apk安装实例
  2. 有人说Julia比Python好,还给出了5个理由
  3. LINUX安装REDIS集群
  4. java基础之抽象类和接口
  5. Python dir和vars的区别
  6. 怎么绕过论坛回复_铝散热片铆钉怎么压得快,有没有自动化设备
  7. 浪潮服务器可管理和维护性,专注用户需求,浪潮服务器提供优质高效的产品
  8. RDP报表工具数据字典配置及使用说明
  9. matlab fftshift
  10. c#进行三角形周长面积计算公式_C#程序设计 输入三角形三边长,并计算的周长和面积...
  11. Unity-URP-基于模板的延迟渲染
  12. 解决win10邮箱无法登陆163企业邮箱的问题
  13. 机器人开发--pgv 视觉引导(Position Guided Vision)
  14. verilog设计简易正弦波信号发生器_信号发生器入门手册-白皮书 (上)
  15. 当编程语言都变成女孩子,你会不会喜欢她们!
  16. 江苏事业单位计算机类结构化面试,2017江苏事业单位结构化面试常见问题及应对方法...
  17. UltraISO 制作U盘镜像步骤
  18. 百问网7天物联网智能家居 学习心得 打卡第五天
  19. 基于PLUS模型+InVEST模型 生态系统服务多情景模拟预测
  20. 科大讯飞 一面 15MIn

热门文章

  1. 埃加洛尔虚拟服务器,魔兽世界二区包括哪些服务器?
  2. Python爬取网站用户手机号_python爬取招聘网站:拉勾网
  3. 基于lnmp的电商服务平台的搭建
  4. hive 如何解析包含 json 的字符串字段
  5. c# winform datagridview 根据分辨率自动调整行高
  6. HTML学习笔记-基础知识整理
  7. 机器视觉特点 机器视觉实际应用
  8. 惠普暗影精灵8pro和联想r7000区别 惠普暗影精灵8pro和联想r7000p参数对比
  9. 阿里创作平台内容号怎么发布信息
  10. Blog外挂之:热门文章与导航栏