跳到主要內容

臺灣博碩士論文加值系統

(3.235.174.99) 您好!臺灣時間:2021/07/24 20:12
字體大小: 字級放大   字級縮小   預設字形  
回查詢結果 :::

詳目顯示

: 
twitterline
研究生:吳政原
研究生(外文):Cheng-YuanWu
論文名稱:一個透過 CRC 卡片以幫助開放原始碼社群中程式協同開發的連結方法
論文名稱(外文):A Linking Approach to Facilitate Collective Ownership in Open Source Community with CRC Cards
指導教授:焦惠津
指導教授(外文):Hewi-Jin Jiau
學位類別:碩士
校院名稱:國立成功大學
系所名稱:電腦與通信工程研究所
學門:工程學門
學類:電資工程學類
論文種類:學術論文
論文出版年:2012
畢業學年度:100
語文別:英文
論文頁數:42
中文關鍵詞:連結程式協同開發開放原始碼開放原始碼社群程式理解
外文關鍵詞:linklinkingtraceabilitycollective ownershipopen sourceopen source communityCRC cardsprogram comprehension
相關次數:
  • 被引用被引用:0
  • 點閱點閱:113
  • 評分評分:
  • 下載下載:3
  • 收藏至我的研究室書目清單書目收藏:0
程式協同開發在開放原始碼社群中是很重要的一項活動。然而,現今開放原始碼專案大多沒有保留開發文件,這使得新加入社群的成員難以了解專案,也使得程式協同開發難以進行。這篇論文建議在開放原始碼社群中使用CRC Cards來當作開發文件,並提出一個連結方法來透過 CRC Cards 幫助原始碼社群中的程式協同開發。為了衡量這個方法的效果,共有一百位受試者參與了一個實驗。實驗的結果以及受試者的反應顯示這個方法能有效地幫助獲得專案的知識以及確認對於專案的知識是否正確。
Collective ownership is an important practice in open source community. However, most current open source projects do not keep documentation. This makes new participants hard to understand the project and burdens collective ownership in the community. In this thesis, CRC cards are suggested being used in open source community as documentation. In order to help CRC cards fit in the open source context, an approach using linking technique is presented, which improves collective ownership on CRC cards and source code. An experiment is conducted with 100 subjects to evaluate the effects of the approach. The results and the responses from the subjects show that the approach provides great help on recovering knowledge and confirming understanding and misunderstanding.
1 Introduction (p.1)
2 Related Works (p.5)
2.1 CRC cards (p.5)
2.2 Program comprehension (p.6)
2.3 Traceability links (p.7)
3 The Linking Approach (p.9)
3.1 Use CRC cards as documentation (p.10)
3.2 The overview of the linking approach (p.11)
3.3 Knowledge recovery and understanding checking during linking (p.13)
3.4 Knowledge recovery and understanding checking during consistency checking and through
modification suggestions (p.14)
3.5 Fast building and refinement of CRC cards and source code (p.15)
3.6 Enhance the adaptation of CRC cards in open source community (p.16)
3.7 Apply the linking approach in open source community (p.17)
3.7.1 A project with existing source code (p.17)
3.7.2 A project with existing CRC cards (p.18)
3.7.3 A project with existing CRC cards and source code (p.18)
4 Experiment (p.20)
4.1 Experiment context: subjects (p.21)
4.2 Experiment process (p.21)
4.3 Experiment context: objects (p.22)
4.3.1 The tasks (p.22)
4.3.2 The implementation of the approach (p.22)
4.3.3 Questionnaire (p.24)
4.3.4 The procedure of source code improvement (p.24)
5 Results and Findings (p.26)
5.1 The improvement of the source code (p.27)
5.2 The responses on the effect of the linking approach (p.28)
5.3 Threats to Validity (p.29)
5.3.1 Internal Validity (p.29)
5.3.2 External Validity (p.29)
6 Conclusion and Future Works (p.31)
References (p.34)
Vita (p.42)
[1] E. Capra, C. Francalanci, and F. Merlo, “An empirical study on the relationship between software design quality, development effort and governance in open source projects, IEEE Transactions on Software Engineering, vol. 34, pp. 765–782, Nov.-Dec. 2008.
[2] F.-R. Wang, D. He, and J. Chen, “Motivations of individuals and firms participating in open source community, in Proceedings of 2005 International Conference on Machine Learning and Cybernetics, vol. 1, pp. 309–314, Aug. 2005.
[3] U. Raja and M. Tretter, “Defining and evaluating a measure of open source project survivability, IEEE Transactions on Software Engineering, vol. 38, pp. 163–174, Jan.-Feb. 2012.
[4] The Google Open Source Programs Office, http://code.google.com/intl/en/opensource/.
[5] Android open source project, http://source.android.com/.
[6] Facebook Developers, https://developers.facebook.com/.
[7] K. Beck, “Embracing change with extreme programming, IEEE Computer, vol. 32, pp. 70–77, Oct. 1999.
[8] K. Beck, Extreme Programming Explained: Embrace Change. Addison-Wesley Professional, 1999.
[9] M. E. Nordberg III, “Managing code ownership, IEEE Software, vol. 20, pp. 26–33, Mar./Apr. 2003.
[10] S. K. Shah, “Motivation, governance, and the viability of hybrid forms in open source software development, Management Science, vol. 52, no. 7, pp. 1000–1014, 2006.
[11] G. von Krogh, S. Spaeth, and K. R. Lakhani, “Community, joining, and specialization in open source software innovation: a case study, Research Policy, vol. 32, pp. 1217–1241, July 2003.
[12] A. Ko, R. DeLine, and G. Venolia, “Information needs in collocated software development teams, in Proceedings of the 29th International Conference on Software Engineering (ICSE), pp. 344–353, May 2007.
[13] P. Laplante, A. Gold, and T. Costello, “Open source software: Is it worth converting?, IT Professional, vol. 9, pp. 28–33, July-Aug. 2007.
[14] M. Hertzum, “The importance of trust in software engineers’ assessment and choice of information sources, Inf. Organ., vol. 12, pp. 1–18, 2002.
[15] T. D. Latoza, “Maintaining mental models: A study of developer work habits, in Proceedings of the 28th International Conference on Software Engineering (ICSE), pp. 492–501, 2006.
[16] K. Beck and W. Cunningham, “A laboratory for teaching object oriented thinking, in Conference proceedings on Object-oriented programming systems, languages and applications (OOPSLA'89), pp. 1–6, 1989.
[17] R. Biddle, J. Noble, and E. Tempero, “Reflections on crc cards and oo design, in Proceedings of the 40th International Conference on Tools Pacific: Objects for internet, mobile and embedded applications (CRPIT'02), pp. 201–205, 2002.
[18] C. Schulte, J. Magenheim, J. Niere, and W. Schafer, “Thinking in objects and their collaboration: Introducing object-oriented technology, Computer Science Education, vol. 13, no. 4, pp. 269–288, 2003.
[19] K. A. Gray, M. Guzdial, and S. Rugaber, “Extending crc cards into a complete design process, Proceedings of the 8th annual conference on Innovation and technology in computer science education (ITiCSE'03 ), vol. 35, no. 3, pp. 226–226, 2003.
[20] J. B¨orstler, “Improving crc-card role-play with role-play diagrams, in Conference proceedings on Object-oriented programming systems, languages and applications (OOPSLA'05).
[21] R. Wirfs-Brock and A. Mckean, Object Design-Roles, Responsibilities and Collaborations. Addison-Wesley Professional, 2003.
[22] P. Selfridge and G. Heineman, “Graphical support for code-level software understanding, in Proceedings of the 9th Joint Conference On Knowledge-Based Software Engineering, pp. 117–124, Sep. 1994.
[23] N. Walkinshaw, M. Roper, and M. Wood, “Understanding object-oriented source code from the behavioural perspective, in Proceedings of the 13th International Workshop on Program Comprehension (IWPC), pp. 215–224, May 2005.
[24] W. Zhao, L. Zhang, Y. Liu, J. Luo, and J. Sun, “Understanding how the requirements are implemented in source code, in Proceedings of the 10th Asia-Pacific Software Engineering Conference (APSEC), pp. 68–77, Dec. 2003.
[25] Z. Han, L. Wang, L. Yu, X. Chen, J. Zhao, and X. Li, “Design pattern directed clustering for understanding open source code, in IEEE 17th International Conference on Program Comprehension (ICPC'09), pp. 295–296, May 2009.
[26] N. F. M. Sani, A. M. Zin, and S. Idris, “Object-oriented codes representation of program understanding system, in International Symposium on Information Technology (ITSim), vol. 1, pp. 1–5, Aug. 2008.
[27] B. Cornelissen, A. Zaidman, and A. van Deursen, “A controlled experiment for program comprehension through trace visualization, IEEE Transactions on Software Engineering, vol. 37, pp. 341–355, May-June 2011.
[28] M. Pinzger, K. Grafenhain, P. Knab, and H. Gall, “A tool for visual understanding of source code dependencies, in Proceedings of the 16th IEEE International Conference on Program Comprehension (ICPC'08), pp. 254–259, June 2008.
[29] M. Lanza, S. Ducasse, H. Gall, and M. Pinzger, “Codecrawler - an information visualization
tool for program comprehension, in Proceedings of the 27th International Conference on Software Engineering (ICSE), pp. 672–673, May 2005.
[30] H. Muller and K. Klashinsky, “Rigi: a system for programming-in-the-large, in Proceedings of the 10th International Conference on Software Engineering (ICSE), pp. 80–86, Apr. 1988.
[31] J. Pu, Z. Zhang, J. Kang, Y. Xu, and H. Yang, “Using aspect orientation in understanding legacy cobol code, in Proceedings of the 31st Annual International Computer Software and Applications Conference (COMPSAC), vol. 2, pp. 385–390, July 2007.
[32] J. Maletic and A. Marcus, “Using latent semantic analysis to identify similarities in source code to support program understanding, in Proceedings of the 12th IEEE International Conference on Tools with Artificial Intelligence (ICTAI), pp. 46–53, 2000.
[33] A. Seibel, “From software traceability to global model management and back again, in Proceedings of the 15th European Conference on Software Maintenance and Reengineering (CSMR), pp. 381–384, Mar. 2011.
[34] B. Burgstaller and A. Egyed, “Understanding where requirements are implemented, in Proceedings of 26th IEEE International Conference on Software Maintenance (ICSM), pp. 1–5, Sep. 2010.
[35] A. De Lucia, M. Di Penta, R. Oliveto, and F. Zurolo, “Improving comprehensibility of source code via traceability information: a controlled experiment, in Proceedings of the 14th IEEE International Conference on Program Comprehension (ICPC'06), pp. 317–326, 2006.
[36] J. Dick, “Design traceability, IEEE Software, vol. 22, pp. 14–16, Nov.-Dec. 2005.
[37] A. De Lucia, F. Fasano, R. Oliveto, and G. Tortora, “Enhancing an artefact management system with traceability recovery features, in Proceedings of the 20th IEEE International Conference on Software Maintenance (ICSM), pp. 306–315, Sep. 2004.
[38] J. Richardson and J. Green, “Automating traceability for generated software artifacts, in Proceedings of the 19th International Conference on Automated Software Engineering, pp. 24–33, Sep. 2004.
[39] H. Kagdi, J. Maletic, and B. Sharif, “Mining software repositories for traceability links, in Proceedings of the 15th IEEE International Conference on Program Comprehension (ICPC'07), pp. 145–154, June 2007.
[40] I. Omoronyia, G. Sindre, M. Roper, J. Ferguson, and M. Wood, “Use case to source code traceability: The developer navigation view point, in Proceedings of the 17th IEEE International Requirements Engineering Conference (RE'09), pp. 237–242, Aug. 31 - Sep. 4 2009.
[41] J. Hayes, A. Dekhtyar, and J. Osborne, “Improving requirements tracing via information retrieval, in Proceedings of the 11th IEEE International Requirements Engineering Conference, pp. 138–147, Sep. 2003.
[42] G. Antoniol, G. Canfora, G. Casazza, A. De Lucia, and E. Merlo, “Recovering traceability links between code and documentation, IEEE Transactions on Software Engineering, vol. 28, pp. 970–983, Oct. 2002.
[43] H.-Y. Jiang, T. Nguyen, C. Chang, and F. Dong, “Traceability link evolution management with incremental latent semantic indexing, in Proceedings of the 31st An-nual International Computer Software and Applications Conference (COMPSAC), vol. 1, pp. 309–316, July 2007.
[44] A. Marcus and J. Maletic, “Recovering documentation-to-source-code traceability links using latent semantic indexing, in Proceedings of the 25th International Conference on Software Engineering (ICSE), pp. 125–135, May 2003.
[45] A. Qusef, R. Oliveto, and A. De Lucia, “Recovering traceability links between unit tests and classes under test: An improved method, in Proceedings of 26th IEEE International Conference on Software Maintenance (ICSM), pp. 1–10, Sep. 2010.
[46] G. Antoniol, G. Canfora, G. Casazza, and A. De Lucia, “Identifying the starting impact set of a maintenance request: a case study, in Proceedings of the Fourth European Software Maintenance and Reengineering, pp. 227–230, Feb. 2000.
[47] N. Ali, Y.-G. Gueheneuc, and G. Antoniol, “Trust-based requirements traceability, in Proceedings of the 19th IEEE International Conference on Program Comprehension (ICPC'11), pp. 111–120, June 2011.
[48] X. Chen and J. Grundy, “Improving automated documentation to code traceability by combining retrieval techniques, in Proceedings of the 26th IEEE/ACM International Conference on Automated Software Engineering (ASE), pp. 223–232, Nov. 2011.
[49] S. Ratanotayanon, S. Sim, and R. Gallardo-Valencia, “Supporting program comprehension in agile with links to user stories, in Proceedings of the Agile Conference, pp. 26–32, Aug. 2009.
[50] B. Fluri, M.Wursch, and H. Gall, “Do code and comments co-evolve? on the relation between source code and comment changes, in Proceedings of the 14th Working Conference on Reverse Engineering (WCRE), pp. 70–79, Oct. 2007.
[51] M. Robillard, W. Coelho, and G. Murphy, “How effective developers investigate source code: an exploratory study, IEEE Transactions on Software Engineering, vol. 30, pp. 889–903, Dec. 2004.
[52] B. Nuseibeh, S. Easterbrook, and A. Russo, “Leveraging inconsistency in software development, IEEE Computer, vol. 33, pp. 24–29, Apr. 2000.
連結至畢業學校之論文網頁點我開啟連結
註: 此連結為研究生畢業學校所提供,不一定有電子全文可供下載,若連結有誤,請點選上方之〝勘誤回報〞功能,我們會盡快修正,謝謝!
QRCODE
 
 
 
 
 
                                                                                                                                                                                                                                                                                                                                                                                                               
第一頁 上一頁 下一頁 最後一頁 top