Skip to main content

Ontology Annotation for Software Engineering Project Management in Multisite Distributed Software Development Environments

  • Chapter
  • First Online:
Software Project Management for Distributed Computing

Abstract

There are chronic issues in multisite distributed software development which need to be addressed in order to take advantages of the resource pools and around-the-clock work with the time zone differences. One of the most daunting challenges is to address the issues relating to communication and coordination and the unnecessary project delays often caused by miscommunication and improper coordination. There are many more issues in multisite software development, and no single project can address them all, nor should it try to; otherwise the work will be shallow. The objective of this research is to facilitate the software development activities focusing on communication and coordination in multisite distributed software development environments. In this chapter, we present software engineering ontology annotation (SEOAnno), the automated process of assigning software engineering domain concepts to the development process of software products. The SEOAnno aims to clarify any ambiguity in remote communication . We deploy software engineering ontology (SE ontology ) which can provide domain knowledge through an annotation process. For a proof-of-concept development, Java source code annotation is chosen because it is a common language and coding is centrally located and critical in multisite software development. The use of the SE ontology -based approach is illustrated and evaluated through a case study for software maintenance and evolution in multisite software development environment. The most complex though common activities in multisite software development environments require an awareness of highly diverse kinds of software artefacts and stakeholders distributed in different sites for the same project. Bug resolution is common yet a complex process for multisite software development. It involves the process of identifying, understanding, fixing a bug, and taking additional steps in order to avoid the recurrence of similar bugs in the future.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 109.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    http://docs.oracle.com/javase/tutorial/uiswing/examples/start/HelloWorldSwingProject/src/start/HelloWorldSwing.java (visited Sept 2, 2016)

  2. 2.

    http://seontology.wix.com/seoanno

  3. 3.

    https://docs.oracle.com/javase/tutorial/java/javaOO/classes.html (visited Sept 2, 2016)

References

  1. Wongthongtham P et al (2008) Development of a software engineering ontology for multi-site software development. IEEE Trans Knowl Data Eng 21:1205–1217

    Article  Google Scholar 

  2. Ã…gerfalk PJ et al (2005) A framework for considering opportunities and threats in distributed software development. In: Proceedings of the International workshop on distributed software development. Austrian Computer Society, Paris, 29 Aug 2005

    Google Scholar 

  3. Conchúir EÓ et al (2009) Global software development: where are the benefits? Commun ACM 52(8):127–131

    Article  Google Scholar 

  4. Islam S, Joarder MMA, Houmb SH (2009) Goal and risk factors in offshore outsourced software development from vendor’s viewpoint. Global Software Engineering, 2009. ICGSE 2009. Fourth IEEE International Conference on. Limerick, Ireland

    Google Scholar 

  5. Thissen MR et al (2007) Communication tools for distributed software development teams, Proceedings of the 2007 ACM SIGMIS CPR conference on Computer personnel research: The global information technology workforce. ACM, St. Louis, pp 28–35

    Google Scholar 

  6. Biehl JT et al (2008) Impromptu: a new interaction framework for supporting collaboration in multiple display environments and its field evaluation for co-located software development, Proceedings of the SIGCHI Conference on Human Factors in Computing Systems. ACM, Florence, pp 939–948

    Google Scholar 

  7. Salinger S et al (2010) Saros: an eclipse plug-in for distributed party programming, Proceedings of the 2010 ICSE Workshop on Cooperative and Human Aspects of Software Engineering. ACM, Cape Town, pp 48–55

    Google Scholar 

  8. Dillon TS, Chang E, Wongthongtham P (2008) Ontology-based software engineering- software engineering 2.0. In: Software Engineering, 2008. ASWEC 2008. 19th Australian Conference on. Perth, Australia

    Google Scholar 

  9. Blanco-Fernández Y et al (2008) A flexible semantic inference methodology to reason about user preferences in knowledge-based recommender systems. Knowl-Based Syst 21(4):305–320

    Article  Google Scholar 

  10. Borges A et al (2013) Ontologies supporting the distributed software development: a systematic mapping study, Proceedings of the 17th international conference on evaluation and assessment in software engineering. ACM, Porto de Galinhas, pp 153–164

    Google Scholar 

  11. Wongthongtham P et al (2006) Ontology-based multi-site software development methodology and tools. J Syst Archit 52(11):640–653

    Article  Google Scholar 

  12. Bourque P (2003) SWEBOK guide call for reviewers. 29 May 2003. Available from: http://serl.cs.colorado.edu/~serl/seworld/database/3552.html

    Google Scholar 

  13. Carmel E, Agarwal R (2001) Tactical approaches for alleviating distance in global software development. IEEE Softw 18(2):22–29

    Article  Google Scholar 

  14. Herbsleb JD et al (2001) An empirical study of global software development: distance and speed. In: 23rd International Conference on Software Engineering (ICSE’01). Toronto, Canada

    Google Scholar 

  15. Herbsleb JD, Moitra D (2001) Global software development. IEEE Softw 18:16–20

    Article  Google Scholar 

  16. Boulton C (2008) IBM’s social beehive and discovery search. eWeek.com

    Google Scholar 

  17. Giri K (2011) Role of ontology in semantic web. DESIDOC J Libr Inf Technol 31(2):116–120

    Article  Google Scholar 

  18. Paydar S, Kahani M (2011) An agent-based framework for automated testing of web-based systems. J Softw Eng Appl 4:86–94

    Article  Google Scholar 

  19. Portillo-Rodríguez J et al (2014) Using agents to manage socio-technical congruence in a global software engineering project. Inf Sci 264(0):230–259

    Article  Google Scholar 

  20. Lee C-S, Wang M-H (2009) Ontology-based computational intelligent multi-agent and its application to CMMI assessment. Appl Intell 30(3):203–219

    Article  Google Scholar 

  21. Nunes I et al (2011) On the development of multi-agent systems product lines: a domain engineering process, in agent-oriented software engineering X. Springer, Berlin/Heidelberg, pp 125–139

    Google Scholar 

  22. Chira C (2007) A multi-agent approach to distributed computing. Comput Intell:43–45

    Google Scholar 

  23. Robillard M, Walker R, Zimmermann T (2010) Recommendation systems for software engineering. Softw IEEE 27(4):80–86

    Article  Google Scholar 

  24. Ponzanelli L (2014) Holistic recommender systems for software engineering, Companion Proceedings of the 36th international conference on software engineering. ACM, Hyderabad, pp 686–689

    Google Scholar 

  25. Xin X et al (2013) Accurate developer recommendation for bug resolution. In: Reverse Engineering (WCRE), 2013 20th Working conference on. Koblenz, Germany

    Google Scholar 

  26. Begel A, Yit Phang K, Zimmermann T (2010) Codebook: discovering and exploiting relationships in software repositories. In: Software Engineering, 2010 ACM/IEEE 32nd international conference on. Cape Town, South Africa

    Google Scholar 

  27. Moraes A et al (2010) Recommending experts using communication history, Proceedings of the 2nd international workshop on recommendation systems for software engineering. ACM, Cape Town, pp 41–45

    Google Scholar 

  28. Steinmacher I, Wiese IS, Gerosa MA (2012) Recommending mentors to software project newcomers. In: Recommendation Systems for Software Engineering (RSSE), 2012 third international workshop on. Zurich, Switzerland

    Google Scholar 

  29. Xiang PF et al (2008) Ensemble: a recommendation tool for promoting communication in software teams, Proceedings of the 2008 international workshop on recommendation systems for software engineering. ACM, Atlanta, pp 1–1

    Google Scholar 

  30. Sawadsky N, Murphy GC (2011) Fishtail: from task context to source code examples, Proceedings of the 1st workshop on developing tools as plug-ins. ACM, Waikiki, pp 48–51

    Google Scholar 

  31. Cordeiro J, Antunes B, Gomes P (2012) Context-based recommendation to support problem solving in software development. In: Recommendation Systems for Software Engineering (RSSE), 2012 third international workshop on. Zurich, Switzerland

    Google Scholar 

  32. Ashok B et al (2009) DebugAdvisor: a recommender system for debugging, Proceedings of the the 7th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on the foundations of software engineering. ACM, Amsterdam, pp 373–382

    Google Scholar 

  33. Borges A et al (2013) Ontologies supporting the distributed software development: a systematic mapping study. In: Proceedings of the 17th International Conference on Evaluation and Assessment in Software Engineering. ACM, Porto de Galinhas, Brazil

    Google Scholar 

  34. Lim SL et al (2013) Using web 2.0 for stakeholder analysis: stakesource and its application in ten industrial projects. In: Maalej W, Thurimella AK (eds) Managing requirements knowledge. Springer, Berlin, pp 221–242

    Chapter  Google Scholar 

  35. Lim SL, Quercia D, Finkelstein A (2010) StakeNet: using social networks to analyse the stakeholders of large-scale software projects, Proceedings of the 32nd ACM/IEEE international conference on software engineering, 1st edn. ACM, Cape Town, pp 295–304

    Google Scholar 

  36. Liu L. et al. (2014) An ontology-based advisement approach for SOA design patterns. In: The 8th international conference on knowledge management in organizations. Springer, Dordrecht

    Google Scholar 

  37. Ovaska P, Rossi M, Marttiin P (2003) Architecture as a coordination tool in multi-site software development. Softw Process: Improv Pract 8(4):233–247

    Article  Google Scholar 

  38. Hass G (2003) Configuration management principles and practice. Addison-Wesley Longman Publishing Co

    Google Scholar 

  39. Gracia J, Mena E (2008) Web-based measure of semantic relatedness, Web Information Systems Engineering-WISE 2008. Springer, Berlin/Heidelberg, pp 136–150

    Google Scholar 

  40. Parsia B, Sirin E 2004 Pellet: an owl dl reasoner. In: Third international semantic web conference

    Google Scholar 

  41. Ashraf J, Hussain OK, Hussain FK (2012) A framework for measuring ontology usage on the web. Comput J 56:1083–1101

    Article  Google Scholar 

  42. Hepp M (2007) Possible ontologies: how reality constrains the development of relevant ontologies. Internet Comput 11(1):90–96

    Article  Google Scholar 

  43. Brickley D, Miller L (2010) FOAF vocabulary specification 0.98. In: Namespace document. RDF and Semantic Web developer community. http://www.loeyeol.com/siteagent/xmlns.com/foaf/spec/20100809.html

  44. Weibel S et al (1998) Dublin core metadata for resource discovery. Internet Engineering Task Force. Network Working Group, pp 1–8

    Google Scholar 

  45. Miles A, Bechhofer S (2009) SKOS simple knowledge organization system reference. Technical report, W3C

    Google Scholar 

  46. Breslin JG et al (2005) Towards semantically-interlinked online communities, The semantic web: research and applications. Springer, Berlin/Heidelberg, pp 500–514

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Pornpit Wongthongtham .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2017 Springer International Publishing AG

About this chapter

Cite this chapter

Wongthongtham, P., Pakdeetrakulwong, U., Marzooq, S.H. (2017). Ontology Annotation for Software Engineering Project Management in Multisite Distributed Software Development Environments. In: Mahmood, Z. (eds) Software Project Management for Distributed Computing. Computer Communications and Networks. Springer, Cham. https://doi.org/10.1007/978-3-319-54325-3_13

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-54325-3_13

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-54324-6

  • Online ISBN: 978-3-319-54325-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics