| 研究生: |
王崇響 Wang, Chong-Siang |
|---|---|
| 論文名稱: |
一個對開發者提供所有權資訊以及提醒合作需要的工具 A Tool for Providing Ownership Information and Reminding Coordination Needs to Developers |
| 指導教授: |
焦惠津
Jiau, Hewijin Christine |
| 學位類別: |
碩士 Master |
| 系所名稱: |
電機資訊學院 - 電腦與通信工程研究所 Institute of Computer & Communication Engineering |
| 論文出版年: | 2016 |
| 畢業學年度: | 104 |
| 語文別: | 英文 |
| 論文頁數: | 43 |
| 中文關鍵詞: | 共同合作的軟體開發方式 、協調 、共同所有權 、所有權資訊 |
| 外文關鍵詞: | Collaborative Software Development, Coordination, Collective Ownership, Ownership Information |
| 相關次數: | 點閱:152 下載:0 |
| 分享至: |
| 查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報 |
軟體是由人們所開發創造,並且被人們使用以及為人們提供服務。在共同合作的軟體開發方式 (collaborative software development) 之下,軟體社群內的開發者和軟體使用者結合在一起來進行軟體開發活動。軟體的原始碼 (source codes) 可以被任何社群人員使用或進行修改,產出的軟體共同屬於每一個參與軟體社群的社群人員。在軟體的開發過程中,開發者經常須要和其他開發者協調 (coordinate) 以進行軟體的開發,然而在共同合作的軟體開發方式之下,每個原始檔都會被許多的開發者進行開發、修改或維護,使得開發者需要花許多時間去辨識適當的協調對象。在這篇論文中,所有權資訊 (ownership information) 被用來解決這樣的問題,藉由過往的上傳資料,每個開發者對於修改過的原始檔的所有權將可以被量測出來。其中五個因子被計算並加總得到所有權資訊的數值。論文中也提出一個軟體工具來提供使用者原始檔的所有權資訊,並且在軟體開發過程中適時提醒使用者進行協調。問卷調查的結果顯示所有權資訊可以有效的在共同合作的軟體開發方式之下找到協調對象,且軟體工具也可以有效的提醒使用者進行協調。
Software is created by people, with people and for people. In collaborative software development, developers and end-users in the software community joint together to work on common software engineering activities. Every member of the community has knowledge about the developing software, and can coordinate with each other. The ownership of source codes is collective. Code files can be changed or used by any members. The software belongs to all members who join the software community. During development, developers always need to coordinate with each other. It is time-consuming and error-prone to developers to figure out the proper developer to coordinate with in collaborative software development because many developers have ever developed, changed and maintained the same code file. In this thesis, ownership information is proposed to solve the difficulties. Ownership value is quantified by historical committed data and it represents contribution and expertise of a developer to the code file. The proper developer to coordinate with can be identified by ownership information. A tool, OwnerDetector, is also proposed in the thesis to provide ownership information and remind coordination needs to developers during software development. The results of questionnaires show that ownership information is effective to identify the proper developer to coordinate with, and OwnerDetector is effective in reminding coordination needs and notifying committed changes to test members and related developers.
[1] T. Kilamo, I. Hammouda, and M. A. Chatti, “Teaching collaborative software development: A case study,” 34th Int’l Conf. Softw. Eng. (ICSE), 2012.
[2] C. R. de Souza and D. F. Redmiles, “The awareness network, to whom should i display my actions? and, whose actions should i monitor?,” IEEE Trans. Softw. Eng., 2011.
[3] D. Damian, L. Izquierdo, J. Singer, and I. Kwan, “Awareness in the wild: Why communication breakdowns occur,” Int’l Conf. Global Softw. Eng., 2007.
[4] B. Curtis, H. Krasner, and N. Iscoe, “A field study of the software design process for large systems,” ACM/IEEE 30th Int’l Conf. Softw. Eng., vol. 31, 1998.
[5] C. Bird, N. Nagappan, B. Murphy, H. Gall, and P. Devanbu, “Don’t touch my code!: Examining the effects of ownership on software quality,” Proc. Symp. and the 13th European Conf. Foundations of Softw. Eng., 2011.
[6] M. Greiler, K. Herzig, and J. Czerwonka, “Code ownership and software quality: A replication study,” IEEE/ACM 12th Working Conf. Mining Softw. Repositories, 2015.
[7] F. Rahman and P. Devanbu, “Ownership, experience and defects: A fine-grained study of authorship,” Int’l Conf. Softw. Eng., 2011.
[8] Wikipedia: Collaborative Software Development Model. https://en.wikipedia.org/, 2016.
[9] W. Luo, T. Li, J. Wang, X. Wu, and Z. Xie, “Modelling for software collaborative development process,” Spring Congress on Engineering and Technology (S-CET), 2012.
[10] Oxford Learner’s Dictionaries: Ownership. http://www.oxfordlearnersdictionaries.com/, 2016.
[11] S. Eldh and B. Murphy, “Code ownership perspectives,” IEEE Softw., 2015.
[12] M. Nordberg, “Managing code ownership,” IEEE Softw, 2003.
[13] C. Farag´o, P. Hegedus, G. Lad´anyi, and R. Ferenc, “Impact of version history metrics on maintainability,” Int’l Conf. Advanced Softw. Eng. and Its Applications, 2015.
[14] M. Cataldo and J. D. Herbsleb, “Coordination breakdowns and their impact on development productivity and software failures,” IEEE Trans. Softw. Eng., 2013.
[15] C. R. de Souza and D. F. Redmiles, “An empirical study of software developers’ management of dependencies and changes,” 2008.
[16] P. Dourish and V. Bellotti, “Awareness and coordination in shared workspaces,” Proc. ACM Conf. Computer-supported cooperative work, 1992.
[17] K. Blincoe, G. Valetto, and D. Damian, “Facilitating coordination between software developers: A study and techniques for timely and efficient recommendations,” IEEE Trans. Softw. Eng., 2015.
[18] P. Dewan and R. Hegde, “Semi-synchronous conflict detection and resolution,” Proc. Tenth European Conf. Computer-Supported Cooperative Work, 2007.
[19] A. Sarma, D. F. Redmiles, and A. der Hoek, “Palantir: Early detection of development conflicts arising from parallel code changes,” IEEE Trans. Softw. Eng., 2012.
[20] A. Sarma, L. Maccherone, P. Wagstrom, and J. Herbsleb, “Tesseract: Interactive visual exploration of socio-technical relationships in software development,” IEEE 31st Int’l Conf. Softw. Eng., 2009.
[21] C. R. de Souza, S. Quirk, E. Trainer, and D. F. Redmiles, “Supporting collaborative software development through the visualization of socio-technical dependencies,” Proc. Int’l ACM Conf. Supporting group work, 2007.
[22] C. R. de Souza, J. M. Costa, and M. Cataldo, “Analyzing the scalability of coordination requirements of a distributed software project,” Journal of the Brazilian Computer Society, vol. 18, 2012.
[23] L. Hattori and M.