Exploring service-oriented development methodologies in theory and practice

From Master Projects
Jump to: navigation, search


has title::Exploring service-oriented development methodologies in theory and practice
status: finished
Master: project within::Software Engineering
Student name: student name::Peter van der Meer
number: student number::1578685
Dates
Start start date:=2008/05/01
End end date:=2009/02/03
Supervision
Supervisor: Patricia Lago
Second reader: has second reader::Qing Gu
Company: has company::Logica
Poster: has poster::Media:Media:Posternaam.pdf

Signature supervisor



..................................

Abstract

Over the past decade we observed the emergence of service-orientation, which is a relatively new software engineering paradigm that utilizes services as the basic construct to develop flexible and dynamic software systems. Engineering service-oriented software systems rely on a Service-Oriented Architecture (SOA), which is a software architecture style that supports the communication of a collection of services to perform tasks. These service-oriented systems or applications are developed during a so-called service-oriented development process. The main difference between a traditional software development process and a service-oriented development process or simply service engineering, is the shift of emphasis of developing respectively software to developing services. As a result, during service engineering one is confronted with new challenges in addition to those that were faced in traditional software development, such as how to govern and manage extern services, how to cope with dependencies of stakeholders etc. As a consequence, traditional software development methodologies, which are used to guide traditional software development projects, are not applicable during service-oriented development projects or simply SOA projects. In this thesis we identified 6 service aspects that are relevant for the service-oriented development process. These service aspects should be covered by so-called SOA-methodologies to guide and support SOA-projects. Furthermore in this thesis are 5 SOA-methodologies examined and assessed on the coverage of the identified service aspects. As a co-product of this thesis, the methodologies are compared with each other to determine the degree of lifecycle coverage and the objectives of each SOA-methodology. This results in an overview of current SOA-methodologies, complemented with a summary of dissimilarities and commonalities between these methodologies. The thesis also includes a case study, which is used to determine how SOA-projects are supported within Logica. The case study starts by selecting an SOA-project, which is defined as a project during which a service-oriented system or application is developed. The software development methodology that is used during this SOA-project is assessed on the coverage of the aforementioned service aspects. The results are subsequently used to conclude to what extent Logica's current software development methodology support the service aspects. Based on those conclusions, suggestions are given how to improve the methodology such that the methodology better supports SOA-projects in the future.