| 研究生: |
陳建旭 Chen, Jian-Xu |
|---|---|
| 論文名稱: |
做到位:在瀑布式流程中引進持續整合所需之流程調整 Do it Right: Process Adaptation with Continuous Integration in Waterfall Process |
| 指導教授: |
焦惠津
Jiau, Hewijin Christine |
| 共同指導教授: |
斯國峰
Ssu, Kuo-Feng |
| 學位類別: |
碩士 Master |
| 系所名稱: |
電機資訊學院 - 電腦與通信工程研究所 Institute of Computer & Communication Engineering |
| 論文出版年: | 2020 |
| 畢業學年度: | 108 |
| 語文別: | 英文 |
| 論文頁數: | 57 |
| 中文關鍵詞: | 軟體開發流程 、瀑布模型 、持續整合 、流程調整 、理論 |
| 外文關鍵詞: | software development process, waterfall model, continuous integration, process adaptation, theory |
| 相關次數: | 點閱:78 下載:0 |
| 分享至: |
| 查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報 |
有鑑於持續整合的好處與在各種專案環境下的廣泛運用,即便是採用瀑布式開發流程的專案也開始採用持續整合。專案經理將持續整合引入到採用瀑布式開發流程之中以減少大量軟體缺陷累積至整合階段才得以發現的狀況。為了達成此目的,本論文中提出了一個理論來說明將持續整合引入到採用瀑布式開發流程之中必須作出的流程調整。實證性假設驗證的結果顯示,在測試不充分的情況下,單純採用持續整合並不能減少大量軟體缺陷累積至整合階段才得以發現的狀況。為了能充分發揮 CI 的效果,開發團隊需要作到位。也就是說,除了採用 CI 之外,開發團隊還應該著重在充足測試以及頻繁提交程式碼等軟體流程調整上。
Due to the success and widespread use of CI, projects following waterfall process start to use CI. Waterfall project managers adopt CI to mitigate the late inflow of defects during the integration phase. To achieve this goal, process adaptation is required to introduce CI in waterfall process. In this thesis, a theory is proposed to describe the necessary process adaptation. The result of empirical hypothesis testing indicates that when testing is not sufficient, adopting CI can not mitigate the late inflow of defects during the integration phase. To fully leverage the value of CI, the development team should do it right. That is, along with adopting CI, the development team should also focus on process adaptation such as sufficient testing and frequent commits.
[1] Github actions, Accessed Jun. 2020.
[2] A. Alami, M. L. Cohn, and A. Wasowski. Why does code review work for open source software communities? In Proceedings of the 41st International Conference on Software Engineering, ICSE ’19, page 1073–1083, Montreal, Quebec, Canada, 2019.
[3] K. Beck. Extreme programming explained: embrace change. Addison-Wesley Professional, 2000.
[4] M. Beller, G. Gousios, and A. Zaidman. Oops, my tests broke the build: An explorative analysis of travis ci with github. In Proceedings of the 14th International Conference on Mining Software Repositories, MSR ’17, pages 356—-367, 2017.
[5] Y. Brun, R. Holmes, M. D. Ernst, and D. Notkin. Early detection of collaboration conflicts and risks. IEEE Transactions on Software Engineering, 39(10):1358–1375, oct 2013.
[6] A. Fabijan, P. Dmitriev, H. H. Olsson, and J. Bosch. The evolution of continuous experimentation in software product development: From data to a data-driven organization at scale. In Proceedings of the 39th International Conference on Software Engineering, ICSE ’17, page 770–780, Buenos Aires, Argentina, 2017.
[7] B. Fitzgerald, K.-J. Stol, R. O’Sullivan, and D. O’Brien. Scaling agile methods to regulated environments: An industry case study. In Proceedings of the 2013 International Conference on Software Engineering, ICSE ’13, pages 863–872, San Francisco, CA, USA, 2013.
[8] M. Fowler. Continuous integration, 2006. Accessed Jun. 2020.
[9] M. Fowler and J. Highsmith. The agile manifesto. Software Development, 9(8):28– 35, 2001.
[10] K. Gallaba and S. McIntosh. Use and misuse of continuous integration features: An empirical study of projects that (mis)use travis CI. IEEE Transactions on Software Engineering, 46(1):33–50, Jan 2020.
[11] G. Gousios, M.-A. Storey, and A. Bacchelli. Work practices and challenges in pull-based development: The contributor’s perspective. In Proceedings of the 38th International Conference on Software Engineering, ICSE ’16, page 285–296, Austin, Texas, USA, 2016.
[12] M. Hilton, T. Tunnell, K. Huang, D. Marinov, and D. Dig. Usage, costs, and benefits of continuous integration in open-source projects. In Proceedings of the 31st IEEE/ACM International Conference on Automated Software Engineering, ASE 2016, page 426–437, Singapore, Singapore, 2016.
[13] K. Kevic, B. Murphy, L. Williams, and J. Beckmann. Characterizing experimentation in continuous deployment: A case study on bing. In Proceedings of the 39th International Conference on Software Engineering: Software Engineering in Practice Track, ICSE-SEIP ’17, page 123–132, Buenos Aires, Argentina, 2017.
[14] E. Knauss, P. Pelliccione, R. Heldal, M. °Agren, S. Hellman, and D. Maniette. Continuous integration beyond the team: A tooling perspective on challenges in the automotive industry. In Proceedings of the 10th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement, ESEM ’16, pages 1–6, Ciudad Real, Spain, 2016.
[15] E. Laukkanen, J. Itkonen, and C. Lassenius. Problems, causes and solutions when adopting continuous delivery—a systematic literature review. Information and Software Technology, 82:55–79, Feb 2017.
[16] E. Laukkanen, M. Paasivaara, and T. Arvonen. Stakeholder perceptions of the adoption of continuous integration – a case study. In Proceedings of the 2015 Agile Conference, Washington, D.C., USA, Aug 2015.
[17] M. Leppanen, S. Makinen, M. Pagels, V.-P. Eloranta, J. Itkonen, M. V. Mantyla, and T. Mannisto. The highways and country roads to continuous deployment. IEEE Software, 32(2):64–72, Mar 2015.
[18] M. Machalica, A. Samylkin, M. Porth, and S. Chandra. Predictive test selection. In Proceedings of the 41st International Conference on Software Engineering: Software Engineering in Practice, ICSE-SEIP ’19, page 91–100, 2019.
[19] P. Mallozzi, P. Pelliccione, A. Knauss, C. Berger, and N. Mohammadiha. Autonomous vehicles: State of the art, future trends, and challenges. In Automotive Systems and Software Engineering, pages 347–367. Springer International Publishing, 2019.
[20] N. Mellegard, H. Burden, D. Levin, K. Lind, and A. Magazinius. Contrasting big bang with continuous integration through defect reports. IEEE Software, 37(3):14–20, May 2020.
[21] H. H. Olsson, H. Alahyari, and J. Bosch. Climbing the stairway to heaven – a mulitiple-case study exploring barriers in the transition from agile development towards continuous deployment of software. In Proceedings of the 2012 38th Euromicro Conference on Software Engineering and Advanced Applications, pages 392–399, Cesme, Izmir, Turkey, Sep 2012.
[22] I. Steinmacher, G. Pinto, I. S. Wiese, and M. A. Gerosa. Almost there: A study on quasi-contributors in open source software projects. In Proceedings of the 40th International Conference on Software Engineering, ICSE ’18, page 256–266, Gothenburg, Sweden, 2018.
[23] R. van der Valk, P. Pelliccione, P. Lago, R. Heldal, E. Knauss, and J. Juul. Transparency and contracts: Continuous integration and delivery in the automotive ecosystem. In Proceedings of the 40th International Conference on Software Engi- neering: Software Engineering in Practice, ICSE-SEIP ’18, page 23–32, Gothen- burg, Sweden, 2018.
[24] B. Vasilescu, Y. Yu, H.Wang, P. Devanbu, and V. Filkov. Quality and productivity outcomes relating to continuous integration in github. In Proceedings of the 2015 10th Joint Meeting on Foundations of Software Engineering, ESEC/FSE 2015, page 805–816, Bergamo, Italy, 2015.
[25] VersionOne. 13th annual state of agile report, 2019. Accessed Jun. 2020.
[26] Y. Zhao, A. Serebrenik, Y. Zhou, V. Filkov, and B. Vasilescu. The impact of continuous integration on other software development practices: A large-scale empirical study. In Proceedings of the 32nd IEEE/ACM International Conference on Automated Software Engineering, ASE 2017, page 60–71, Urbana-Champaign, IL, USA, 2017.
[27] C. Ziftci and J. Reardon. Who broke the build? automatically identifying changesthat induce test failures in continuous integration at google scale. In Proceedings of the 39th International Conference on Software Engineering: Software Engineering in Practice Track, ICSE-SEIP ’17, pages 113—-122, Buenos Aires, Argentina, 2017.
校內:2025-09-01公開