Tópicos Especiais em Engenharia de Software 2 - Work Report


This document describes the work done during the Tópicos Especiais em Engenharia de Software 2 course. This course was taught by Dsc Claudia Werner and was hold during the second period of the 2015 PESC-UFRJ academic year. The work was a continuation of the research started during the Reutilização de Software course (also taught by Dsc Claudia Werner during the first period of the 2015 academic year).

The initial research was mainly about Software Processes Composition. It involved, among other tasks, a basic literature review and produced a document that shows some important related articles and describes some problems that we believe that are related to the Development Processes Composition. In contrast with the first research - that involved a more theoretical investigation - the work described in this document had a more practical approach. It consisted, among other things, in the implementation of an API that provides some operators for Processes Composition and Processes Tailoring. These operators manipulate only processes described in BPMN and were firstly introduced by (Istoan 2012) and (Pillat 2012). The work also involved the integration of this API with a web application called ProcessHub Web.


The software development area - as other areas - faces a very competitive scenario (Cerpa 2009). Maximizes human resources and deliver better softwares with low costs are a goal gold. IT Companies had heavily invested in software process development improvement as strategy to achieve this goal (Sommerville 2004) (Dumas 2013) (Kelly 1999). We truly believe that organizations could have benefits in adopting techniques of Business Process Managment to improve the quality of their services. This adoption - specially in large scale - inevitably requires Processes Composition and Processes Tailoring. This work gives a small contribution to this area since it explores some real problems related with Processes Composition and Processes Tailoring.

The rest of this document is organized as follows: Section 2 shows the scope and the plan of work. Section 3 discusses the operators implemented in the work. While the Section 3.1 presents the Composition Operators, the Section 3.2 describes the Tailoring Operators. Section 4 presents some technical details. The ProcessHub-BPMN-Manipulation module is introduced in Section 5. Section 6 presents the ProcessHub-WebApp module. The conclusions of the work are discussed in Section 7.

Scope and Plan

Scope of work

At the beginning of the course we defined the initial scope of the work and it was divided in four main milestones:

  1. Implement Composition Operators
  2. Implement Tailoring Operators
  3. Implement the generation of a BPMNt file
  4. Integrate the operators with a web application

Plan of Work

We divided the development in unit of work known as 'Sprints'. Each sprint had well defined milestone (delivery product) and the duration of 2 weeks (the interval between the classroom lessons). The sprints and milestones were organized as described in the plan below:

  • Sprint 1: Implement Composition Operators
  • Sprint 2: Implement Basic and High Level Tailoring Operators
  • Sprint 3: Implement the generation of a BPMNt file
  • Sprint 4: Integrate the operators with the web application module

The Figure 1 shows this plan in a Gantt Project Graph.