Software Project Management for Combined Software and Data Engineering

  • Seyyed M. Shah
  • James Welch
  • Jim Davies
  • Jeremy Gibbons
Chapter
Part of the Computer Communications and Networks book series (CCN)

Abstract

This chapter presents a methodology for combining software and data engineering life cycles in large software projects. Software and data engineering use multiple stages to form a life cycle for the creation of a system. Large projects often have elements of both software and data engineering. These are usually kept independent from each other as the development approaches are quite divergent; software engineering tends to be top-down, prescriptive and rigid, while data engineering tends to be bottom-up, descriptive and fluid. The methodology presented in this chapter defines a system for sharing and reuse of artefacts between software and data engineering development processes, in spite of the differences in development philosophies. The methodology helps to identify dependencies to support project planning, reduces effort by reuse and collaboration and increases quality by application of best practices. The central aspect of the methodology is a table which is used to define the synchronisation points between the two development domains, where collaboration between the separate life cycles can occur. Developers engaged in either life cycle can use a synchronisation table created for the project to send and receive shared artefacts between life cycles. This work is informed by the development and management of the ALIGNED project, a large, multi-partner, interdisciplinary project that involves both software and data engineering.

Keywords

Data engineering Software engineering Life cycles Reuse Project management 

References

  1. 1.
    Davies J, Gibbons J, Welch J, Crichton E (2014) Model-driven engineering of information systems: 10 years and 1000 versions. Sci Comput Program 2014:88–104CrossRefGoogle Scholar
  2. 2.
    Davies J, Gibbons J, Milward A, Milward D, Shah S, Solanki M, Welch J (2015) Domain specific modelling for clinical research. In: Proceedings of the workshop on domain-specific modeling. ACM, New YorkGoogle Scholar
  3. 3.
    Dimou A, Kontokostas D, Freudenberg M, Verborgh R, Lehmann J, Mannens E, Hellmann S, de Walle RV (2015) Assessing and refining mappings to rdf to improve dataset quality. In: Proceedings of the 14th international semantic web conferenceGoogle Scholar
  4. 4.
    Feeney KC, O’Sullivan D, Tai W, Brennan R (2014) Improving curated web-data quality with structured harvesting and assessment. Int J Semant Web Inf Syst 2014:35–62CrossRefGoogle Scholar
  5. 5.
    Schandl T, Blumauer, A (2010) PoolParty: SKOS thesaurus management utilizing linked data. In: The semantic web: research and applications: 7th extended semantic web conference, ESWC 2010, Heraklion, May 30–June 3, 2010, Proceedings, Part II, Springer, BerlinGoogle Scholar
  6. 6.
    Kontokostas D, Mader C, Dirschl C, Eck K, Leuthold M, Lehmann J, Hellmann S (2016) Semantically enhanced quality assurance in the JURION business use case. In: The semantic web. Latest advances and new domains: 13th international conference, ESWC 2016, Heraklion, Proceedings, Springer, May 29–June 2 2016Google Scholar
  7. 7.
    Royce WW (1970) Managing the development of large software systems. In: Proceedings of IEEE WESCON. Los AngelesGoogle Scholar
  8. 8.
    Larman C, Basili VR (2003) Iterative and incremental development: a brief history. Computer 2003:47–56CrossRefGoogle Scholar
  9. 9.
    Martin J (1991) Rapid application development. Macmillan Publishing Co., IndianapolisGoogle Scholar
  10. 10.
    Fowler M, Highsmith J (2001) The agile manifesto. Software Dev 9(8):28–35Google Scholar
  11. 11.
    Selic B (2003) The pragmatics of model-driven development. In: IEEE Softw. Sept 2003, pp 19–25Google Scholar
  12. 12.
    Auer S, Bühmann L, Dirschl C, Erling O, Hausenblas M, Isele R, Lehmann J, Martin M, Mendes PN, van Nuffelen B, Stadler C, Tramp S, Williams H (2012) Managing the life-cycle of linked data with the LOD2 stack. In: The semantic web – ISWC 2012: 11th International Semantic Web Conference, Boston, 11–15 Nov2012, Proceedings, Part II, Springer, Berlin/HeidelbergGoogle Scholar
  13. 13.
    Reiter R (1978) On closed world data bases. Springer US, BostonCrossRefGoogle Scholar
  14. 14.
    Hitzler P, Janowicz K (2013) Linked data, big data, and the 4th paradigm. Semantic Web 2013:233–235Google Scholar
  15. 15.
    Cleve A, Mens T, Hainaut J-L (2010) Data- intensive system evolution. Computer 2010:110–112CrossRefGoogle Scholar
  16. 16.
    Mattmann CA, Crichton DJ, Hart AF, Goodale C, Hughes JS, Kelly S, Cinquini L, Painter TH, Lazio J, Waliser D et al (2011) Architecting data-intensive software systems. Springer, New YorkCrossRefGoogle Scholar
  17. 17.
    Zaveri A, Rula A, Maurino A, Pietrobon R, Lehmann J, Auer S (2015) Quality assessment for linked data: a survey. Semant Web 2015:63–93CrossRefGoogle Scholar
  18. 18.
    Anderson, KM 2015 Embrace the challenges: software engineering in a big data world. In: Proceedings of the First International Workshop on BIG Data Software Engineering, IEEE Press, PiscatawayGoogle Scholar
  19. 19.
    Qiu D, Li B, Su Z (2013) An empirical analysis of the co-evolution of schema and code in database applications. In: Proceedings of the 2013 9th joint meeting on foundations of software engineering. ACM, New YorkGoogle Scholar
  20. 20.
    Bentley J (1986) Programming pearls. ACM, New YorkMATHGoogle Scholar

Copyright information

© Springer International Publishing AG 2017

Authors and Affiliations

  • Seyyed M. Shah
    • 1
  • James Welch
    • 1
  • Jim Davies
    • 1
  • Jeremy Gibbons
    • 1
  1. 1.Software Engineering Group, Department of Computer ScienceUniversity of OxfordOxfordUK

Personalised recommendations