自動咖啡機項目-軟件規格說明書

軟件需求規範文檔
Software Requirements Specifications Document (SRS)編程

本文檔參照IEEE Guide to Software Requirements Specifications (Std 830-1993). 本文檔只用於定義軟件的需求分析、功能和接口定義,不涉及軟件的具體實現方法。ubuntu

  • 項目名稱:自動咖啡機瀏覽器

  • 開發團隊:華中科技大學RTCSD第三小組服務器

  • 版本號:(1.0)架構

  • 日期: (10/18/2017)app

1. 引言

本項目是華中科技大學2017年14級機械本科《實施控制軟件設計》課程第四次做業,也是課程設計的做業內容。須要各小組組成開發團隊進行協同合做。本小組成員以及分工以下:less

  • 張照博 (C語言代碼編寫、軟件設計規格書撰寫)
  • 彭彥毓 (物理建模、模塊導出)
  • 陳志平 (C語言代碼編寫、Debug)
  • 李佳傑 (單元測試、概要設計說明書)
  • 劉玉鬆 (項目總結、說明文檔)

1.1 編寫目的

本文檔用於指導自動咖啡機硬件及軟件開發過程,與軟件用戶定義和明確軟件的功能需求。本文檔的目標讀者爲軟件用戶和軟件開發項目組成員。electron

1.2 背景

1.2.1 立項目標

用戶在咖啡機面板上選擇本身想要喝的咖啡(美式、拿鐵、卡布奇諾...)並按下開始按鈕後,咖啡機開始按照設定的配方製做咖啡。tcp

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 硬件設備及接口

STM3二、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.

相關文章
相關標籤/搜索