軟件需求工程--KAOS建模

1.(10%)說明你目前研究的系統的問題描述(參考附件第11頁)

研究的系統是教學樓中放置的自動咖啡販賣機系統。該系統的工作流程是,首先用戶通過點擊販賣機上的觸摸屏選擇購買的咖啡種類,然後根據提示完成網上支付。如果支付成功,販賣機會開始製作咖啡,在等待一段時間後,咖啡製作完成,用戶可以從販賣機中取出咖啡。

該系統在軟件發過程開中需要使用正規的需求工程方法,可以使用KAOS建模方法。


2.(30%)給出該系統的目標模型(參考附件第3.2節,並說明你採用了哪些目標模式)

首先畫出自動咖啡販賣機的功能性需求和非功能性需求。並根據不同的策略將目標分解爲子目標。這裏用的是案例驅動分解,所有枚舉的子目標必須完全覆蓋父目標。例如,功能性需求和非功能性需求就需求覆蓋到所有的需求。

圖1中的葉子結點可進一步分解爲子目標。

圖1 一般目標模式

分析圖1中的葉子結點“Cheap System”(圖2)。該模式採用時間點驅動分解,首先需要建立系統,然後需要運行和維護系統。這個模式中說明了節省系統成本和系統的穩定性和可靠性是矛盾的。

圖2 Cheap System目標模式


圖3 Safe System目標模式

 

圖4 Efficient System目標模式

圖3和圖4分別是對於“Safe System”和“EfficientSystem”的目標建模。對於“Safe System”,首先是不能發生意外事故如咖啡噴濺出來讓顧客燙傷。其次是要保證系統的健壯和可靠,然後還要保障系統的安全,其中涉及到安全支付以及防止其他人通過網絡對該設備進行入侵。

“EfficientSystem”也需要保證系統的健壯和可靠,如果在顧客購買過程中咖啡機出現問題需要重啓,那麼對造成顧客時間的浪費,用戶體驗就會降低。“Efficient System”同時需要基礎服務程序的快速運行以及較快的咖啡製作時間。

考慮自動咖啡販賣機的一個具體問題,滿足顧客購買咖啡需求的場景。


圖5 服務響應目標模式

圖5中,爲了實現響應用戶需求的目標,首先需要提供用戶接口,例如在屏幕上顯示咖啡的種類,付款方式等,用戶可以通過點擊屏幕進行選擇,這項任務的責任人是系統設計者。在用戶選擇咖啡完成付款開始製作之後,系統不希望用戶取消這個請求。在用戶進行操作後,系統要捕獲到這些請求並且通知用戶請求現在正在處理的狀態。

請求的狀態分爲以下四類:

• 開始時,屏幕上要列出可以選擇的咖啡的種類,用戶通過點擊相應的選項進行選擇。

• 用戶選擇了咖啡後,屏幕上出現付款方式,根據不同的咖啡種類收取不同的費用。支付通過網上支付完成。

• 用戶完成付款後,屏幕上出現倒計時顯示製作咖啡還需要多久。給用戶一個時間上的反饋。

• 咖啡製作完成後,界面上提示用戶現在可以取出咖啡。

採用的目標模式:

• 完成型目標:要求系統最終滿足的性質。本系統要求最終能給顧客提供其所選擇的咖啡。

• 終止型目標:要求系統最終不再滿足的性質。

• 維持性目標:要求系統始終滿足的性質。本系統需要具有健壯性和穩定性,要保持其能正常工作。

• 避免型目標:要求系統從不滿足的性質。避免系統出現宕機不工作的情況。

3.(10%)給出該系統的責任模型之一(參考附件第3.3節)

責任模型描述的是對於每一個agent,他需要負責的需求或者是對他的期望,也可以是分配給他的任務。


圖6 咖啡自動販賣機公司的責任模型

圖6中列出了咖啡自動販賣機公司需要負責則的任務需求。包括販賣機機身的設計,提供內置程序及用戶接口,對用戶支付安全性的擔保,機器出現問題時的解決方案,日常的更新和維護等。

4.(10%)給出該系統的對象模型之一(參考附件第3.4節)

對象模型是用來定義和記錄應用領域中相關的概念,提出概念間的靜態約束從而滿足設計需求。在對象模型中有三種對象共存,分別是實體、agent和關聯。圖7中顯示,咖啡自動販賣機由屏幕、咖啡製作設備、控制器、電源組成,其中控制器由邏輯控制器(PLC)和計時器組成。

    

圖7 咖啡自動販賣機公司的對象模型

5.(10%)給出該系統中主要對象的操作過程模型(參考附件第3.5節)

Kaos的操作過程模型描述的是agent需要滿足的需求。

圖8描述了自動咖啡機的操作過程模型。爲了節約能耗,當沒有顧客的時候,咖啡機是處在休眠的狀態。當咖啡機接收到顧客的觸屏點擊事件時,它被喚醒並且記錄下顧客所選擇的咖啡種類。然後將用戶選擇的咖啡信息傳遞給記錄的實體“Guest chosen coffee record”。接着根據這一信息觸發付款方式界面的顯示這一事件,隨即產生一個進程等待顧客付款,這個進程將顧客付款的狀態傳給“Guest payment record”實體記錄。並且根據記錄,如果顧客付款成功,可以觸發製作咖啡的指令,產生製作咖啡這一具體操作。當咖啡製作完成後,產生“製作完成”這一事件,並且通過這一事件觸發通知顧客取咖啡的操作,這一操作完成後,說明整個購買流程結束,產生“購買完成”事件。

  

圖8 咖啡自動販賣機的操作過程模型

6.(10%)給出該系統的目標實現的潛在障礙(參考附件3.6節)

障礙是指違反目標、期望或需求的情況。對於一個安全性的系統,處理潛在的障礙很重要,這使得分析員能在需求工程階段解決可能發生的特殊情況,而不是在系統運行時出問題纔來解決,從而保證系統的健壯性。

考慮到咖啡自動販賣機會如下潛在障礙:

• 購買過程中發生停電的情況,販賣機無法工作。

• 顧客通過網上支付方式進行支付後,販賣機出現網絡問題,無法獲取到支付狀態信息。

• 有人通過網絡對販賣機進行攻擊,或是通過某些手段不付款就取得咖啡。

• 機器故障

其中網絡故障又可以根據時間點具體劃分:

• 顧客付款前網絡故障,無法進行支付,不能完成交易

• 顧客向網上支付平臺付款完成後,付款平臺將支付狀態反饋給販賣機前發生網絡故障。顧客已經支付,但是機器沒有獲取消息,支付狀態不一致,不能完成交易。

• 販賣機在收到顧客付款信息後網絡出現問題,不影響本次交易。

根據上述的四點潛在故障,可以設計相應的解決措施。圖9中顯示的是不同潛在故障對應的解決措施。

• 對於停電的問題,可以提供備用電源。

• 對於網絡故障,因爲涉及到網絡運營商,網絡線路等方面,沒有可以徹底解決這個問題的方案。但是可以通過保證支付狀態的一致性來避免顧客的經濟損失。

• 對於黑客的問題,可以提供系統安全性保障來防止系統被黑。

• 對於機器故障的問題,可以從兩個方面考慮:首先是軟件維護,經常更新系統,保證軟件的運行;其次是要對自動咖啡販賣機的組件定期進行檢查更換。


圖9 構建穩定可靠的自動咖啡販賣機的解決方案

7.  (20%)參照IEEE標準模板撰寫該系統的需求說明文檔 (參考附件3.7節)

1. Introduction

1.1 Purpose

本系統的需求文檔是爲了更爲清晰明確的闡述咖啡自動販賣機的需求,該文檔可供系統設計開發人員使用。

1.2 Scope

該系統的目的是爲顧客提供自動購買咖啡的服務。使用的軟件需要能控制咖啡機硬件自動製作咖啡,並且能完成從顧客選擇咖啡,支付確認,製作咖啡,完成製作整個流程。

1.3 Definitions, acronyms, and abbreviations

1.4 References

朱軍山,潘堅,張向萍,等.全自動咖啡機的研究[J].家電科技,2005(5):49-51.

李瑋.全自動咖啡機設計現狀及發展趨勢[J].科技與創新,2015(9):24-24.

1.5 Overview

本需求文檔將分別從以下幾個方面進行介紹。需求文檔的第二部分先進行總體介紹:首先是對產品的整體描述,包括外部組件的交互,接口的定義以及產品整體結構的設計。其次介紹產品的主要功能,接着會介紹本產品的使用者的一些特徵,包括他們的教育程度、社會經歷和技術知識。之後會說明對本次產品的開發者的約束和一些其他因素限制。最後會說明在下一個版本出來時帶的附加需求和對於軟件開發人員和測試人員的具體需求。在第三部分對需求的細節進行描述。

2. Overall description

2.1 Product perspective

本產品的設計需要通過軟硬件交互。首先軟件控制整個咖啡購買過程的工作流,包括顧客選擇咖啡的類型,顧客支付,產生指令傳遞給硬件開始製作咖啡,接收硬件傳回的咖啡製作完成的指令,提醒顧客取咖啡這幾項功能。

硬件方面,首先需要的是能製作咖啡的一套硬件設備,並且提供可編程接口。其次需要提供與用戶交互的顯示屏,能提供觸屏操作。

最後需要設計整個機箱來裝載所有設備。

2.2 Product functions

本產品的主要功能是爲用戶提供自動咖啡販賣服務。即客戶選擇一款咖啡付款後即可通過自動化操作來製作咖啡。

2.3 User characteristics

本產品面向的人羣特徵主要是中青年人羣,首先用戶要有購買咖啡的需求,能接受自動化的咖啡製作方式,其次需要用戶能使用如支付寶等網上支付方式。這類人羣主要以學生和上班人羣爲主。

2.4 Constraints

對開發人員的限制,咖啡機的軟件系統需在單片機上進行嵌入式編程,這樣可以降低硬件成本。

2.5 Assumptions and dependencies

開發人員需要考慮該產品的能耗問題,儘量降低能耗。同時也需要考慮支付安全的問題。

2.6 Apportioning of requirements

在之後的版本中,可能會添加咖啡類型、支付方式、口味選擇等,所以需要軟件設計有可擴展性。

3. Specific requirements

• 這一部分描述具體需求細節,本產品共有以下需求:

• 沒有用戶時進入待機狀態,降低能耗;

• 有用戶時能及時並正確地響應用戶操作;

• 根據用戶的咖啡類型選擇能計算出付款金額,並有相應的用戶付款界面;

• 能判斷用戶支付是否成功,將支付狀態反饋給用戶,如果成功的話開始自動製作咖啡;

• 在咖啡製作好後提示用戶取出咖啡。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章