| 研究生: |
簡子欽 Chien, Tzu-Chin |
|---|---|
| 論文名稱: |
基於使用者故事之強韌性分析方法: 改善軟體需求與初步設計落差研究 USRA: A Novel Robustness Analysis Approach Based on User Story for Bridging Software Requirements and Preliminary Design |
| 指導教授: |
朱治平
Chu, Chih-Ping |
| 學位類別: |
碩士 Master |
| 系所名稱: |
電機資訊學院 - 資訊工程學系 Department of Computer Science and Information Engineering |
| 論文出版年: | 2014 |
| 畢業學年度: | 102 |
| 語文別: | 英文 |
| 論文頁數: | 76 |
| 中文關鍵詞: | 敏捷式開發 、使用者故事 、強韌性分析 、初步概念設計 |
| 外文關鍵詞: | Agile Development, User story, Robustness Analysis, Preliminary Design |
| 相關次數: | 點閱:80 下載:3 |
| 分享至: |
| 查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報 |
敏捷(Agility)核心精神隨著軟體開發、應用、管理的演進逐漸受到重視,並且開啟了客戶價值、軟體即服務等近代軟體工程思惟之重要里程碑。本研究提出一基於使用者故事之強韌性分析方法(USRA)以協助降低軟體需求與初步設計落差研究。其目的為指引開發者在於敏捷式反覆流程框架中如何降低需求與設計差異的一種新思維方式,進而希望提高軟體設計品質。
USRA係由三塊不同模組所集合而成: 一、適當審視、拆解使用者故事使其符合應用觀點,二、建構以使用者故事為基礎之強韌分析圖(USRD),三、確認分析圖職責並進行相關整合以展現概念架構,並且持續探索潛在需求。此外,針對軟體需求定義清楚明確且變動不大專案所採用以計畫為基礎(Plan-based)與敏捷開發(Agile Development)混合開發方法,提供第二模組運用之前的延伸步驟:一種量化方式衡量初步設計時所需考量需求面向(Aspect)。
本研究方法之三塊基礎模組應用部分工業技術研究院計畫管理系統來進行實驗性評估,開發過程中,USRA所得之設計觀點在阿爾法(Alpha)測試中與實際系統設計進行交互比較驗證其有效性,並更進一步探討其方法之限制。結果顯示,USRA不失為一種引領初步概念設計思考的途徑;另外針對模組擴充部分,則使用軟體需求與規範:會議管理系統(Feather, Martin S 等人闡述) 典型範例來進行展示,利用行為模式分析與格近似度(Lattice Closeness) 方法量化影響核心功能因子,形成需求面向,以協助初步設計時之考量。
For now agility concept having been anchored gradually in modern engineering, it is feasible to promote agile philosophy, such as customer value, working software and service orientation, into software development process. This thesis proposes USRA (User Story-Based Robustness Analysis), a novel robustness analysis approach based on user story to bridge the gap between software requirements and preliminary design in agile development framework. USRA consists of 3 modules: (1) analyzing and refining user story, (2) constructing user story-based robustness diagram, and (3) shaping conceptual architecture. Furthermore, for a mixture approach of plan-based and agile development in case of requirements with clear-commitment and little changed-demand, USRA prepends an extended process to the module (2) for identifying cross-cutting requirements aspect through modeling concerns. To verify the effectiveness of the proposed 3 modules, a system, Project Management System (PMS), during the development was employed to study. The results of requirement concerns listed from USRA were compared with the work of application system that developers did in alpha testing. Finally, a benchmark of experimental material Meeting Scheduler System (MSS) from Requirement Specification Exemplars (Feather, Martin S et al., 1995) was used to drive the extended process of module (2) for identify the prioritization of cross-cutting requirements aspect.
[1] J. Araújo, E. Baniassad, P. Clements, A. Moreira, A. Rashid, and B. Tekinerdogan, "Early aspects: The current landscape," Technical Notes, CMU/SEI and Lancaster University, 2005.
[2] F. Bachmann, L. Bass, M. Klein, and C. Shelton, "Designing software architectures to achieve quality attribute requirements," Software, IEE Proceedings -, vol. 152, pp. 153-165, 2005.
[3] E. Baniassad, P. C. Clements, J. Araujo, A. Moreira, A. Rashid, and B. Tekinerdogan, "Discovering early aspects," Software, IEEE, vol. 23, pp. 61-70, 2006.
[4] L. Bass, M. Klein, and F. Bachmann, "Quality attribute design primitives and the attribute driven design method," Software Product-Family Engineering, vol. 2290, pp. 169-186, 2002.
[5] K. Beck and C. Andres, Extreme programming explained: embrace change: Addison-Wesley Professional, 2004.
[6] T. Chen, "Overview of Scrum Framework," TeddySoft, 2013.
[7] L. Chung, B. Nixon, E. Yu, and J. Mylopoulos, "Non-functional Requirements," Software Engineering, 2000.
[8] M. Cohn, User stories applied: For agile software development: Addison-Wesley Professional, 2004.
[9] M. Cohn, "User Stories, Epics and Themes," Mountain Goat Software, Oct 24, 2011.
[10] I. DeveloperWorks, "User story-driven development practice," 2012.
[11] R. Dewsbury, Google web toolkit applications: Pearson Education, 2007.
[12] I. DIS, "9241-210: 2010. Ergonomics of human system interaction-Part 210: Human-centred design for interactive systems," International Organization for Standardization (ISO), Switzerland, 2009.
[13] P. Dugerdil, J. Belmonte, and D. Kony, "Using Robustness Diagrams to Help With Software Understanding: an Eclipse Plug-in," Int. J. of Software Engineering, IJSE, vol. 2, pp. 135-150, 2009.
[14] M. S. Feather, S. Fickas, A. Finkelstein, and A. Van Lamsweerde, "Requirements and specification exemplars," Automated Software Engineering, vol. 4, pp. 419-438, 1997.
[15] M. Fowler and J. Highsmith, "The agile manifesto," Software Development, vol. 9, pp. 28-35, 2001.
[16] W. B. Frakes, Information retrieval: Data structures & algorithms: Pearson Education India, 1992.
[17] I. S. Group, "The ROI of Reducing Rework Through Effective Requirements Management," IBM Corporation 2009.
[18] C. Hoffmeister, Applied software architecture: Addison-Wesley Professional, 2000.
[19] I. Jacobson, Object-oriented software engineering: a use case driven approach: Pearson Education India, 1992.
[20] C. Keith, Agile game development with Scrum: Pearson Education, 2010.
[21] H. Kniberg, "Scrum and XP from the Trenches," InfoQ Enterprise Software Development Series, 2007.
[22] Z. Li, L. Li, F. Zhu, and Q. Zhao, "A New Algorithm of Closeness Degree for Fuzzy Pattern Recognition," 2010.
[23] J. Miller, "The user experience [Internet]," Internet Computing, IEEE, vol. 9, pp. 90-92, 2005.
[24] B. Nuseibeh and S. Easterbrook, "Requirements engineering: a roadmap," in Proceedings of the Conference on the Future of Software Engineering, 2000, pp. 35-46.
[25] A. P. V. Pais, C. E. Oliveira, and P. Leite, "Robustness diagram: a bridge between business modelling and system design," in OOIS 2001, ed: Springer, 2001, pp. 530-539.
[26] D. Port, A. W. Brown, and B. Boehm, "Balancing Plan-Driven and Agile Methods in Software Engineering Project Courses," Computer Science Education, vol. 12, pp. 187-195, 2002.
[27] M. Potel, "MVP: Model-View-Presenter The Taligent Programming Model for C++ and Java," Taligent Inc, 1996.
[28] A. Rashid, "Aspect-oriented requirements engineering: An introduction," in International Requirements Engineering, 2008. RE'08. 16th IEEE, 2008, pp. 306-309.
[29] S. Robertson and J. Robertson, "Mastering the requirements process. 1999," Harlow, UK: Addison Wesley.
[30] D. Rosenberg, Use Case Driven Object Modeling: MA: Addison Wesley, 1999.
[31] D. Rosenberg, M. Collins-Cope, and M. Stephens, Agile development with ICONIX process: people, process, and pragmatism: Apress, 2005.
[32] D. Rosenberg and M. Stephens, "Robustness Analysis," Use Case Driven Object Modeling with UML: Theory and Practice, pp. 101-142, 2007.
[33] K. Scott and D. Rosenberg, "Successful Robustness Analysis," Software Development, vol. 9, 2010.
[34] I. Sommerville, "Software Engineering; 9 edition," ed: Addison Wesley, 2010, p. 729.
[35] C. P. Team, "’CMMI for Development version 1.3–Improving processes for developing better products and services’," SEI Report CMU/SEI-2010-TR-0332010.
[36] J. Tyree and A. Akerman, "Architecture decisions: Demystifying architecture," Software, IEEE, vol. 22, pp. 19-27, 2005.
[37] I.-T.-I. T. Union, "User Requirements Notation (URN) –Language definition " Nov. 2008.
[38] B. Wake, "INVEST in Good Stories, and SMART Tasks," ed, 2003.
[39] W. C. Wake, Extreme programming explored vol. 1: Addison-Wesley Reading, 2002.
[40] S. S. Yau and J. J. P. Tsai, "A survey of software design techniques," Software Engineering, IEEE Transactions on, vol. SE-12, pp. 713-721, 1986.