DIMANAGER: A TOOL FOR DISTRIBUTED SOFTWARE
DEVELOPMENT MANAGEMENT
Elisa H. Moriya Huzita, Maria Edith Villela Pedras, Gabriel Preti Santiago, Tania F. Calvi Tait
Universidade Estadual de Maringá – Departamento de Informática
Av. Colombo, 5790
87020-900 Maringá - Estado do Paraná - Brasil
Keywords: distributed softw
are, management, tool
Abstract: In a competitive world, is ver
y important that to have tools that offer an adequate support to the project
manager with information about the development process. However at the moment, there is no a complete
environment offering the adequate resources to develop distributed software, integrating both technical
aspects related to software development and the management aspects. So it is very interesting to develop
tools that offer an adequate support to project manager with technical and managerial information. This
paper presents DIMANAGER - a tool to manage the distributed software development, including planning
and monitoring aspects. It is part of the DiSEN environment and offers the adequate technical and
managerial information for the project manager. These information can be used to make decision about how
the resources can be better used and also make decision regarding the actions that need to be taken to obtain
a software with quality.
1 INTRODUCTION
The large dissemination of computer network, the
hardware’s cost reduction and the large diffusion of
Internet have encouraged studies about distributed
systems and also the development of corresponding
software. From now we will use the term distributed
software to refer for one that is executed in an
environment with several nodes that are in
geographically different places. Particularly, the
distributed software requires an efficient
management during their development and it
becomes more interesting if we have tools that offer
the necessary support. These tools should offer
support to define cost estimation, effort for
development and duration estimate of the project
development and also the definition of an adequate
distribution of the tasks among team members. Also
it is necessary plan a viable program to develop the
project activities and a way of controlling them on a
continuous base. However at the moment, there is
no a complete
environment that offers the adequate
resources to develop distributed software,
integrating both technical aspects related to software
development and the managerial aspects. So it is
very interesting to develop tools that offer an
adequate
support to project manager with technical
and management information. This paper presents
DIMANAGER – a Distributed software
development management tool - to support the
software developer to manage the development of
distributed software at the context of DiSEN –
Distributed Software Environment (Pascutti, 2002)
that is an environment in which the MDSODI
Distributed Software Development Methodology
(Huzita, 2001) is part of and is being developed as a
research project. The DIMANAGER
contributes
offering to the project manager very important
information related to the technical and managerial
aspects and thus support adequately the decision
making during the software development. Its
prototype version, its validation, the conclusions and
the future directions for our research are also
presented.
659
H. Moriya Huzita E., Edith Villela Pedras M., Preti Santiago G. and F. Calvi Tait T. (2004).
DIMANAGER: A TOOL FOR DISTRIBUTED SOFTWARE DEVELOPMENT MANAGEMENT.
In Proceedings of the Sixth International Conference on Enterprise Information Systems, pages 659-662
DOI: 10.5220/0002623506590662
Copyright
c
SciTePress
2 THE SOFTWARE PROJECT
MANAGEMENT
The project management aims to guarantee that the
established process is executed, coordinating and
monitoring the software engineering activities.
Generally, the project management is little
approached/practiced and the development teams are
unable to measure the project performance, verify
the failures points and establish improvement.
On the other hand, several difficulties are
inherent to the project management, such as: a) the
process dynamic; b) adaptation for the environment
depending on the existing resources, tools, personal
or team ability; c) the software development is
difficult to control and measured because it is a
creative and intellectual activity; d) several variables
that are involved, such as methodologies, tools,
technologies and others.
There are several tools, such as: ToolManager
(Oliveira, Rouiller and Vasc
oncelos, 2001), tool to
manage the cooperative software development at the
PROSOFT context (Lima, Reis e Nunes, 1998), tool
to support the component development
(Pfaffenseller, Pfaffenseller e Kroth, 2001) among
others.
However they are tools that support only some
aspects during the software development. The
DIMANAGER, presented in this paper, differs of
them because it is part of DiSEN environment. It
will be integrated with others tools that offer support
to the MDSODI. The integration will occur through
a repository (Moro, 2003).
3 DIMANAGER TOOL
The DIMANAGER (Pedras, 2003) was developed
considering concepts related to CASE tools and
relevant aspects for the project such as: planning;
organization of the activities in order to achieve the
established objectives; control; people allocation;
and coordination. Also, some other characteristics
were considered: distributed software; managerial
information and WEB. DIMANAGER considers the
distributed software
characteristics such as:
concurrence/parallelism; communication,
synchronization and distribution, throughout the
process. The architecture is presented disposed in
layers. As DiSEN, is a distributed environment, it
can have many workspaces and tools depending on
what is available in each workspace. As a tool, the
DIMANAGER might be available in one or more of
these workspaces. See figure 01.
Works
p
ace
DIMANAGE
R
Figure 1: DIMANAGER representation in DiSEN.
DIMANAGER tool must send and receive
information about the projects that are being
developed in the DiSEN. The information
interchange between DIMANAGER and DiSEN
occurs through the data repository (Moro, 2003).
The relevant data about the project which can be
stored in this repository are: the activity executed in
each phase; the teams and their participants; the
chronogram; the participant’s technical performance
and the problems identified in each activity.
3.1 The DIMANAGER Main
Functionalities
The DIMANAGER functional requisites are:
planning and controlling the project (figure 02).
In the project planning the activities involve:
project and users inclusion. In this
planning is
included the information that will be used to control
the project: phase; activity; chronogram; participant;
function; participation; situation, and problems.
agent
manager
planning
controlling
Application layer (tools)
Reposi
tory
Dynamic
supervisor
Workspace
Manager
Application management layer (distribution/coordination)
Persistence
support
Naming
support
Transactio
n
support
Platform (Operational Systems, Computer, Network Resources)
Middleware Abstraction Manage
r
Middleware
object
manager
Agent
support
CORBA JINI RMI
ICEIS 2004 - INFORMATION SYSTEMS ANALYSIS AND SPECIFICATION
660
In the project control are deal information about
the project related to participants and the activities
that are performed.
Figure 2: DIMANAGER domain model.
Other specific aspects are considered by
DIMANAGER tool: identification of the activities
within project, metrics identification, participants,
activities, and chronogram.
Each participant must document the activities
performed and so generating data to project
controlling.
Related to the human resources, the
DIMANAGER tool presents the participants
coordinator and the activities coordinator, along
project manager are responsible for analysing the
project results. Thus, based on data about
participants, activities and metrics, the project
manager can visualize the results related to the
activities performed for each participant, analyse the
performance of each one and verify if project is
developed according the established budget and
time.
3.2 DIMANAGER Tool Presentation
Elements are disposed in DIMANAGER tool in
three main components: presentation; services and
users, as seen on figure 03.
The Presentation component contains a brief
description with concepts, characteristics, structure,
purpose and functionalities that the tool offers. The
Users component, shows to the project manager all
users that work in the project. They are classified as:
manager or participant. Manager has a greater level
of access permission
The Services component, as see on figure 04,
offers to the project manager three functionalities:
project planning; project updating and project
controlling. Relevant information related to:
activities; problems; chronogram; team;
participation can be supplied to DIMANAGER tool.
Figure 3: DIMANAGER components
.
Activities
They can be specified according to each project
phase: requisite; analysis; project; implementation
and test. Each activity is related with chronogram
and participants. Also, the sequence of activities
must be established as well as the classification of
activities states that can be: in progress, in planning,
stopped, cancelled, and finished.
Problems
Problems are classified in: technical and
organizational. Technical problems involve, for
instance, the communication fault whereas
organizational problems are related to: human
resources; business and strategies; questions related
to outsourcing among others.
Chronogram
This indicator make possible for user to have a
general vision of the situation of the project. Each
activity will be defined according to necessary effort
for its execution (participant/hour); result; initial and
final date and state.
Team
This indicator identifies the teams of the project
as well as its situation. DIMANAGER deals with
teams by their characterization for distributed
software, which are defined by geographic
localization or activity.
4 DIMANAGER VALIDATION
The validation process was defined and performed
aiming at verifying viability and acceptance of
DIMANAGER tool by professional of the area. Two
aspects were approached in the validation process:
(a) managerial aspects indicators and (b)
DIMANAGER tool.
Projec
t
planning
Projec
t
controlling
Project
manager
DIMANAGER: A TOOL FOR DISTRIBUTED SOFTWARE DEVELOPMENT MANAGEMENT
661
The first one – managerial aspects indicators
(Santiago & Tait, 2003) have been applied and they
were accepted well and considered relevant by
participants of the validation process. However,
some aspects were pointed out as important: show
an indicator for restrictions related to time and costs;
present an automatic control of projects with
message for the manager to know about possible
chronogram delay.
The second aspect – DIMANAGER tool -
evaluated points as: visualization; usefulness of the
project management; applicability and of
development of projects in areas geographically
apart were asked for the participants. Interviewers
considered this tool relevant and pointed out that: it
controls
each project phase and promotes an
adequate project control.
5 FINAL CONSIDERATIONS
DIMANAGER tool token into consideration three
important aspects: distributed software management;
organizational and technical aspects and metrics.
This tool is directed to the project management in
the distributed software development.
In the project development data about technical
and organizational aspects are generated by
DIMANAGER for a specific project and it can be
used as part of historic data. DIMANAGER uses
human/hour effort as metric.
From DIMANAGER tool, five elements must be
more considered for the future researches: (1) costs;
(2) data repository interface; (3) version control; (4)
managerial reports and (5) an evaluation of the
DIMANAGER tool in the DiSEN environment as
altogether.
Finally, an important aspect considered in the
development of the DIMANAGER tool was the
approach of management aspects in the distributed
software management. Thus, besides DIMANAGER
tool construction and its integration with DiSEN
environment, this
research brings management
aspects in the distributed software management as
consolidate approach and certainly, can be an area
that will bring many contributions linking
management aspects and distributed software
engineering.
REFERENCES
HUZITA, E. H. M. Metodologia para desenvolvimento
baseada em objetos distribuídos inteligentes. Maringá-
PR, 2001. Relatório de Projeto de Pesquisa -
Departamento de Informática. Maringá-PR, 50f.
Universidade Estadual de Maringá.
HUZITA, E. H. M. Metodologia para desenvolvimento
baseada em objetos distribuídos inteligentes. Maringá-
PR, 2003. Relatório de Projeto de Pesquisa -
Departamento de Informática. Maringá-PR, 50f.
Universidade Estadual de Maringá.
LIMA, C. A. G. de; REIS, R. Q.; NUNES, D. J.
Gerenciamento do Processo de Desenvolvimento
Cooperativo de Software no Ambiente PROSOFT. In:
SIMPÓSIO BRASILEIRO DE ENGENHARIA DE
SOFTWARE, XII, 1998, Maringá-PR. Anais. Maringá-
PR, 1998, p. 221-236.
MORO, C. F. Suporte À Persistência De Artefatos Para O
Ambiente De Desenvolvimento Distribuído De
Software DiSEN. Maringá-PR, 2003, 98 f. Dissertação
de Mestrado em Informática. Universidade Estadual
de Maringá/Universidade Federal do Paraná
PASCUTTI, M. C. D. Uma Proposta de Arquitetura de um
Ambiente de Desenvolvimento de Software
Distribuído Baseada em Agentes. Porto Alegre-RS,
2002, 101 f. Programa de Pós-Graduação em
Computação. Universidade Federal do Rio Grande do
Sul.
OLIVEIRA, S. R. B.; ROUILLER, A. C.;
VASCONCELOS, A. M. L. de. ToolManager: Uma
Camada de Gerenciamento de ferramentas CASE a um
Ambiente Centrado no Processo. In: Conferência
Internacional De Tecnologia De Software: Qualidade
De Software, XII, 2001, Curitiba-PR. Anais, 2001. p.
84-94.
PEDRAS, M. E. V. Uma Ferramenta de Apoio ao
Gerenciamento de Desenvolvimento de Software
Distribuído. Maringá-Pr, 2003, 95 f. Dissertação de
Mestrado em Informática. Universidade Estadual de
Maringá/Universidade Federal do Paraná.
PFAFFENSELLER, M.; PFAFFENSELLER, M.;
KROTH E. Uma ferramenta de apoio ao
Desenvolvimento de Sotware Baseado em
componentes. In: WORKSHOP DE
COMPONENTES, I, 2001, Maringá-PR. Workshop
Desenvolvimento Baseado em Componentes.
Universidade Estadual de Maringá - Maringá-PR,
2001.
SANTIAGO, G. P.; TAIT, T. F. C. Indicadores de
Aspectos Gerenciais para o Desenvolvimento de
Software Distribuído. In (Huzita, 2003)
ICEIS 2004 - INFORMATION SYSTEMS ANALYSIS AND SPECIFICATION
662