(44.192.112.123) 您好!臺灣時間:2021/03/07 17:46
字體大小: 字級放大   字級縮小   預設字形  
回查詢結果

詳目顯示:::

我願授權國圖
: 
twitterline
研究生:何寬昱
研究生(外文):HO, KUAN-YU
論文名稱:基於挖掘程式碼儲存庫之團隊貢獻度分析
論文名稱(外文):Measure Student's Contribution in Web Programming Projects by Exploring Source Code Repository
指導教授:陳錫民陳錫民引用關係
指導教授(外文):CHEN, HSI-MIN
口試委員:李信杰李文廷
口試委員(外文):LEE, SHIN-JIELEE, WEN-TIN
口試日期:2020-07-13
學位類別:碩士
校院名稱:逢甲大學
系所名稱:資訊工程學系
學門:工程學門
學類:電資工程學類
論文種類:學術論文
論文出版年:2020
畢業學年度:108
語文別:中文
論文頁數:60
中文關鍵詞:團隊專案持續整合自動化程式碼品質
外文關鍵詞:Group ProjectContinuous IntegrationAutomationCode Quality
相關次數:
  • 被引用被引用:0
  • 點閱點閱:23
  • 評分評分:系統版面圖檔系統版面圖檔系統版面圖檔系統版面圖檔系統版面圖檔
  • 下載下載:0
  • 收藏至我的研究室書目清單書目收藏:0
現今的大型軟體系統通常都由團隊進行開發,因此一個優秀的軟體開發人員
除了需要具備軟體開發相關的技術之外,也需要擁有良好的溝通及協作的能力,
所以在許多軟體開發相關的課程中都會包含團隊專案,藉此訓練學生們專業技術
以及團隊合作的能力。但是大多數課程中都僅要求學生完成功能性的需求,而較
少要求軟體品質,這在團隊專案的開發中會造成組員難以閱讀他人的程式碼,並
嚴重地影響開發速度。因此,我們提出了一套以程式碼品質驅動的團隊專案評量
系統,本系統可以接受團隊專案的交付,並在每次交付後檢查程式碼撰寫風格,
並即時地給予回饋,協助學生團隊維持團隊專案的程式碼品質。
然而,老師無法客觀地評估所有學生在團隊專案的貢獻,因此我們提出了一
套基於挖掘程式碼儲存庫的度量標準,其中包含產能及品質兩大分類,並藉此分
析學生在團隊專案中的個人貢獻。我們透過實驗發現學期成績優異的學生在團隊
專案中提交次數較多以及較常引入和修復錯誤,但並不一定會修改較多的程式碼;
而團隊專案最終發表時,有 53.6%的團隊符合我們所訂定的程式碼撰寫風格,這
意味著本系統可以幫助多數團隊維持其程式碼品質。
Large software systems are usually developed by teams nowadays. In addition to the relevant technical skills of software development, good communication and collaboration skills are also required to become an excellent developer. Therefore, group projects are included in almost every course to train students' professional skills and teamwork abilities. Though, most of the students are only required to accomplish functional requirements and not the quality of the software. It seriously affects the development speed because it difficult for team members to read others' code during the development process.
Since, we propose a quality-driven assessment system for group projects, which can accept the delivery of group projects. Check the coding style after each delivery and provide immediate feedback to help student teams maintain the code quality for their group projects. However, it is not possible to objectively assess the contribution of all students in group projects, so we propose a set of repository mining-based metrics, which includes two major categories of productivity and quality. Aim to analyze the individual contributions of students in group projects. We found that usually, outstanding students in this semester submitted, introduced errors more times and fixed errors more times in the group projects, but not necessarily modify more code. 53.6% of the group projects match up to the coding style which we established when they complete their group project. Which means the system can help most teams maintain code-quality of their group project.

誌謝 i
摘要 ii
Abstract iii
目錄 iv
圖目錄 vi
表目錄 viii
第一章 緒論 1
1.1 研究背景 1
1.2 研究目的 2
1.3 研究原創性 2
1.4 重要性 3
1.5 研究問題 4
1.6 論文結構 4
第二章 背景技術 5
2.1 版本控制系統 5
2.2 持續整合工具 5
2.3 程式碼撰寫風格檢查工具 6
2.4 程式碼品質與安全性檢查工具 7
第三章 文獻回顧 8
3.1 自動化程式評量系統 8
3.2 團隊貢獻度分析 9
第四章 系統設計與方法 11
4.1 系統目的 11
4.2 系統架構 12
4.3 程式碼撰寫風格的檢查流程 13
第五章 系統展示 15
第六章 度量標準 21
6.1 個人能力 21
6.2 團隊貢獻度 26
第七章 實驗設計與結果 28
7.1 實驗設計 28
7.2 實驗結果 29
7.2.1 個人能力 29
7.2.2 團隊貢獻度 40
第八章 結論與未來研究 47
參考文獻 49


[1]O. Macek and M. Kom´rek, "Evaluation of Student Teamwork," In Proceedings of 2012 IEEE 25th Conference on Software Engineering Education and Training, pp. 130-133, 2012.
[2]G. Matturro, F. Raschetti and C. Fontán," In Proceedings of Soft Skills in Software Development Teams: A Survey of the Points of View of Team Leaders and Team Members," 2015 IEEE/ACM 8th International Workshop on Cooperative and Human Aspects of Software Engineering, pp. 101-104, 2015.
[3]D. Damian and A. Borici, "Teamwork, coordination and customer relationship management skills: As important as technical skills in preparing our SE graduates," In Proceedings of 2012 First International Workshop on Software Engineering Education Based on Real-World Experiences (EduRex), pp. 37-40, 2012.
[4] J. Straub, S. Kerlin and D. Whalen, "Teaching software project management using project based learning (PBL) and group projects," In Proceedings of 2017 IEEE International Conference on Electro Information Technology (EIT), pp. 016-021, 2017.
[5] L. Collingbourne and W. K. G. Seah, "Teaching project management using a real-world group project," In Proceedings of 2015 IEEE Frontiers in Education Conference (FIE), pp. 1-8, 2015.
[6]S. Battur et al., "Enhancing the Students Project with Team Based Learning Approach: A Case Study," In Proceedings of 2016 IEEE 4th International Conference on MOOCs, Innovation and Technology in Education (MITE), pp. 275-280, 2016.
[7]J. Lima, C. Treude, F. F. Filho and U. Kulesza, "Assessing developer contribution with repository mining-based metrics," In Proceedings of 2015 IEEE International Conference on Software Maintenance and Evolution (ICSME), pp. 536-540, 2015.
[8]G. S. d. A. Junior and S. R. d. L. Meira, "Towards Effective Productivity Measurement in Software Projects," In Proceedings of 2009 Fourth International Conference on Software Engineering Advances, pp. 241-249, 2009.
[9]X. Fang, "Using a coding standard to improve program quality," In Proceedings of Proceedings Second Asia-Pacific Conference on Quality Software, pp. 73-78, 2001.
[10]D. Spinellis, "Git," in IEEE Software, vol. 29, no. 3, pp. 100-101, May-June 2012.
[11]N. Seth and R. Khare, "ACI (automated Continuous Integration) using Jenkins: Key for successful embedded Software development," In Proceedings of Proceedings 2015 2nd International Conference on Recent Advances in Engineering & Computational Sciences (RAECS), pp. 1-6, 2015.
[12] J.M. Hethey, “GitLab Repository Management,” Packt Publishing Ltd, 2013.
[13]A. Agarwal, S. Gupta and T. Choudhury, "Continuous and Integrated Software Development using DevOps," In Proceedings of 2018 International Conference on Advances in Computing and Communication Engineering (ICACCE), pp. 290-293, 2018.
[14]P. Agrawal and N. Rawat, "Devops, A New Approach To Cloud Development & Testing," In Proceedings of 2019 International Conference on Issues and Challenges in Intelligent Computing Techniques (ICICT), pp. 1-4, 2019.
[15]P. Perera, R. Silva and I. Perera, "Improve software quality through practicing DevOps," In Proceedings of 2017 Seventeenth International Conference on Advances in ICT for Emerging Regions (ICTer), pp. 1-6, 2017.
[16]P. Perera, M. Bandara and I. Perera, "Evaluating the impact of DevOps practice in Sri Lankan software development organizations," In Proceedings of 2016 Sixteenth International Conference on Advances in ICT for Emerging Regions (ICTer), pp. 281-287, 2016.
[17]HTMLLint:
https://htmlhint.com/
[18] stylelint:
https://stylelint.io/
[19]D. Marcilio, R. Bonifácio, E. Monteiro, E. Canedo, W. Luz and G. Pinto, "Are Static Analysis Violations Really Fixed? A Closer Look at Realistic Usage of SonarQube," In Proceedings of 2019 IEEE/ACM 27th International Conference on Program Comprehension (ICPC), Montreal, pp. 209-219, 2019.
[20]H. Wu, Y. Liu, L. Qiu and Y. Liu, "Online Judge System and Its Applications in C Language Teaching," In Proceedings of 2016 International Symposium on Educational Technology (ISET), 2016, pp. 57-60, 2016.
[21]H. M. Chen, W. H. Chen, C. C. Lee," An Automated Assessment System for Analysis of Coding Convention Violations in Java Programming Assignments," Journal of Information Science and Engineering, Vol. 34, No. 5, 2018.
[22] R. M. Parizi, P. Spoletini and A. Singh, "Measuring Team Members’ Contributions in Software Engineering Projects using Git-driven Technology," In Proceedings of 2018 IEEE Frontiers in Education Conference (FIE), pp. 1-5, 2018.
[23]GitPrime:
https://www.gitprime.com/
[24]P. R. de Bassi, G. M. P. Wanderley, P. H. Banali and E. C. Paraiso, "Measuring  Developers' Contribution in Source Code using Quality Metrics," In Proceedings of 2018 IEEE 22nd International Conference on Computer Supported Cooperative Work in Design (CSCWD), pp. 39-44, 2018.

QRCODE
 
 
 
 
 
                                                                                                                                                                                                                                                                                                                                                                                                               
第一頁 上一頁 下一頁 最後一頁 top
系統版面圖檔 系統版面圖檔