跳到主要內容

臺灣博碩士論文加值系統

(44.192.48.196) 您好!臺灣時間:2024/06/26 02:41
字體大小: 字級放大   字級縮小   預設字形  
回查詢結果 :::

詳目顯示

: 
twitterline
研究生:蔡哲弘
研究生(外文):TSAI, CHE-HUNG
論文名稱:擴充 concurrentSpec 以降低在物聯網系統中維護系統與子系統規格的成本:以 Smart Cone 為例
論文名稱(外文):Extending concurrentSpec to Support Maintaining System and Subsystem Specifications in IoT System: A Case Study with Smart Cone
指導教授:鄭有進鄭有進引用關係謝金雲
指導教授(外文):CHENG, YU CHINHSIEH, CHIN-YUN
口試委員:鄭有進謝金雲林惠勇劉立頌
口試委員(外文):CHENG, YU CHINHSIEH, CHIN-YUNLIN, HUEI-YUNGLIU, ALAN
口試日期:2023-06-06
學位類別:碩士
校院名稱:國立臺北科技大學
系所名稱:資訊工程系
學門:工程學門
學類:電資工程學類
論文種類:學術論文
論文出版年:2023
畢業學年度:111
語文別:中文
論文頁數:49
中文關鍵詞:物聯網行為驅動開發concurrentSpec
外文關鍵詞:Internet of ThingsBehavior-Driven DevelopmentconcurrentSpec
相關次數:
  • 被引用被引用:0
  • 點閱點閱:100
  • 評分評分:
  • 下載下載:5
  • 收藏至我的研究室書目清單書目收藏:0
在開發物聯網系統時,我們會對系統下各個子系統進行需求分析,並使用 Behavior-Driven Development(BDD)將分析完的需求轉換成可執行的規格,接著使用 concurrentSpec ——一個用來解決物聯網系統中所遇到的並行處理問題的 BDD 測試工具,執行這些規格。然而,在各個子系統都已經擁有相對應規格的情況下,進一步描述系統規格時,我們發現系統規格會與子系統規格產生重疊,導致當子系統規格改動時,會連帶影響到系統規格也必須跟著改動。為了減少系統規格受到子系統規格改動的影響,本論文透過新增 SystemScenario 與 SystemScenarioOutline 兩個關鍵字對 concurrentSpec 進行擴充,進而精簡化系統規格,減少系統規格與子系統規格重疊的篇幅,並讓 concurrentSpec 在執行精簡後的系統規格時,仍會執行未包含於系統規格內的子系統規格內容,確保精簡後的系統規格仍可正確執行。最後,本論文會搭配實驗室現有的物聯網專案「智慧三角錐系統(Smart Cone)」為實例,呈現 concurrentSpec 在物聯網系統上的應用。
When developing Internet of Things(IoT) systems, we conduct requirement analysis for each subsystem within the system, and use Behavior-Driven Development(BDD) to record the analyzed requirements into executable specifications. We use concurrentSpec, a BDD testing framework designed to address the concurrent issues in IoT systems, to execute these specifications. However, since each subsystem already has its corresponding specifications, we found that system specifications will duplicate with subsystem specifications. Consequently, when the specifications of a subsystem change, it will consequently affect the system specifications. In order to reduce the impact of changes, this thesis expands concurrentSpec by adding two keywords, SystemScenario and SystemScenarioOutline to reduce the duplication. When the reduced system specifications are executed by concurrentSpec, concurrentSpec will also execute the subsystem specifications' elements that not in system specifications, thereby ensuring the reduced specifications' execution results are correct. Finally, this thesis will use the existing IoT project in our laboratory, the ``SmartCone System'', as an example to show the application of concurrentSpec to IoT systems.
中文摘要 i
ABSTRACT ii
誌謝 iv
目錄 v
圖目錄 vii
第一章 緒論 1
1.1 研究動機與背景 1
1.2 研究目標 1
1.3 論文架構 2
第二章 背景知識 3
2.1 Test-Driven Development 3
2.2 Behavior-Driven Development 3
2.3 concurrentSpec 4
2.4 Problem Frames 7
2.5 Smart Cone 7
2.6 Whole-Part Behavioral Specification of Internet of Things Systems 8
第三章 工具擴充 10
3.1 交通錐開機的例子 10
3.2 Smart Cone 系統專案結構 14
3.3 工具架構 16
3.4 SystemScenario 17
3.4.1 SystemScenario 17
3.4.2 SelectScenario 18
3.4.3 建立 step 樹狀結構 19
3.4.4 execute 19
3.4.5 報表 24
3.5 SystemScenarioOutline 29
3.5.1 SystemScenarioOutline 32
3.5.2 SelectScenarioOutine 32
3.5.3 建立 step 樹狀結構 32
3.5.4 WithExamples 32
3.5.5 execute 33
3.5.6 報表 34
第四章 案例展示 36
4.1 測試環境 36
4.1.1 Cone domain 36
4.1.2 Work Site Computer domain 38
4.1.3 驗證裝置 39
4.2 system scenario 40
4.3 system sceanrio outline 43
第五章 結論與未來研究方向 46
5.1 結論 46
5.2 未來研究方向 46
參考文獻 47
[1] 鍾欣哲. 一個結合 problem frames 與行為驅動開發的 iot 系統需求分析方法. Master’s thesis, 國立臺北科技大學資訊工程系, 2021. https://hdl.handle.net/11296/45juj2.
[2] J. Smart. BDD in Action: Behavior-Driven Development for the whole software lifecycle. Manning, 2014.
[3] Bing-YunWang,Yi-ChunYen,andYuChinCheng.Specifyinginternetofthingsbehaviors in behavior-driven development: Concurrency enhancement and tool support. Applied Sciences, 13(2):787, 2023.
[4] Bing-Yun Wang, Yi-Chun Yen, Che-Hung Tsai, Kun-Che Li, and Cheng Yu Chin. Whole part behavioral specification of internet of things systems: Applying behavior-driven de- velopment with problem frames. Manuscript submitted for publication, 2023.
[5] 江威逸. 使用 problem frames 開發物聯網系統:以 smart cone 為例. Master’s thesis, 國立臺北科技大學資訊工程系, 2021. https://hdl.handle.net/11296/a23t7z.
[6] Kent Beck. Test-driven development: by example. Addison-Wesley Professional, 2003.
[7] Richard Lawrence and Paul Rayner. Behavior-Driven Development with Cucumber. Addison-Wesley Professional, 2019.
[8] Dan North. Introducing bdd, 2006. https://dannorth.net/introducing-bdd/, Accessed: 2023-03-31.
[9] Gojko Adzic. Specification by example: how successful teams deliver the right software. Simon and Schuster, 2011.
[10] Cucumber. Gherkin reference, 2022. https://cucumber.io/docs/gherkin/reference/, Accessed: 2023-03-31.
[11] Cucumber. What are executable specifications?, 2019. https://cucumber.io/blog/hiptest/what-are-executable-specifications/, Accessed: 2023-03-31.
[12] Cucumber. Cucumber-jvm, 2019. https://cucumber.io/docs/installation/java/, Accessed: 2023-03-31.
[13] Behave, 2023. https://behave.readthedocs.io/en/latest/, Accessed: 2023-03-31.
[14] concurrenspec, 2023. https://github.com/benny870704/concurrentSpec, Accessed: 2023-05-05.
[15] 李昆哲. 基於 gherkin 語法之行為驅動開發測試工具 concurrentspec 的功能改善與擴充. Master’s thesis, 國立臺北科技大學資訊工程系, 2023.
[16] Michael Jackson. Problem frames: analysing and structuring software development problems. Addison-Wesley, 2001.
[17] Yi-Chun Yen, Bing-Yun Wang, Xin-Zhe Zhong, Wei-Yi Chiang, Chin-Yun Hsieh, and Yu Chin Cheng. Applying problem frames in behavior-driven development for smart cone system. In 2021 28th Asia-Pacific Software Engineering Conference (APSEC), pages 566-567. IEEE, 2021.
[18] unittest,2022.https://docs.python.org/3.9/library/unittest.html,Accessed: 2023-05-14.
[19] Arduino, 2023. https://www.arduino.cc/, Accessed: 2023-05-15.
[20] Data sheet-adxl345, 2022. https://www.analog.com/media/en/technical-documentation/data-sheets/adxl345.pdf, Accessed: 2023-05-15.
[21] Raspberry pi, 2023. https://www.raspberrypi.org/, Accessed: 2023-05-15.
[22] Ky-004 button-module, 2017. https://datasheetspdf.com/pdf-file/1402019/Joy-IT/KY-004/1, Accessed: 2023-05-15.
[23] Gerard Meszaros. xUnit test patterns: Refactoring test code. Pearson Education, 2007.
QRCODE
 
 
 
 
 
                                                                                                                                                                                                                                                                                                                                                                                                               
第一頁 上一頁 下一頁 最後一頁 top