• Nenhum resultado encontrado

Desenvolvimento de uma solução para controlo e reporte das actividades de projecto - time report management

N/A
N/A
Protected

Academic year: 2021

Share "Desenvolvimento de uma solução para controlo e reporte das actividades de projecto - time report management"

Copied!
25
0
0

Texto

(1)

Universidade de Lisboa

Faculdade de Ciências

Departamento de Informática

DESENVOLVIMENTO DE UMA SOLUÇÃO

PARA CONTROLO E REPORTE DAS

ACTIVIDADES DE PROJECTO - TIME

REPORT MANAGEMENT

Filipe Miguel dos Santos da Costa Cabaço

PROJETO

Versão Pública

MESTRADO EM ENGENHARIA INFORMÁTICA

Especialização em Engenharia de Software

(2)
(3)

U

NIVERSIDADE DE

L

ISBOA

Faculdade de Ciências

Departamento de Informática

DESENVOLVIMENTO DE UMA SOLUÇÃO

PARA CONTROLO E REPORTE DAS

ACTIVIDADES DE PROJECTO - TIME

REPORT MANAGEMENT

Filipe Miguel dos Santos da Costa Cabaço

PROJETO

Trabalho orientado pela Professora Doutora Maria da Graça de Figueiredo Rodrigues Gaspar e coorientado pela Engenheira Ana Teresa Almeida

MESTRADO EM ENGENHARIA INFORMÁTICA

Especialização em Engenharia de Software

(4)
(5)

Agradecimentos

Considero este relatório o culminar de uma parte importante da minha formação académica, finalizando o meu percurso na Faculdade de Ciências no qual tive o privilégio e prazer de receber uma formação completa, aumentando os meus horizontes e ambições graças a professores competentes e inspiradores.

Quero agradecer aos meus diversos colegas de faculdade que estiveram sempre presentes em todas as etapas da minha vida académica que foram uma força motivadora e de apoio que se tornaram em verdadeiros amigos.

Também quero mostrar o meu apreço aos meus colegas fora meio académico, sempre dispostos a apoiar em todas as minhas. Em especial quero agradecer à minha namorada Isabel Ramos que esteve presente para ajudar em todas as fases, tornando-se um apoio muito importante.

Aos meus colegas de trabalho agradeço as horas de paciência, a capacidade de me integrarem na equipa e o apoio que deram tanto no projeto como na escrita deste relatório, foram sem dúvida um ponto fulcral na minha iniciação na vida profissional. Em especial quero agradecer a minha orientadora Teresa Almeida pelo excelente trabalho como orientadora, proporcionando-me uma oportunidade valiosa, mostrando como poderia melhorar. Queria também agradecer ao Nuno Reis por todo o conhecimento partilhado e ajuda no projeto descrito no relatório . E, por fim, quero agradecer aos meus colegas Bruno Santos e Jaime Vaz, colegas de faculdade que se tornaram colegas de trabalho, ajudaram em todas as fases do meu estágio, facilitando bastante a integração e aprendizagem.

À minha coordenadora de estágio, Graça Gaspar, agradeço toda a sua disponibilidade e minuciosidade ao longo de todo o projeto, aconselhando de forma objetiva e construtiva, ajudando assim bastante a escrita deste relatório.

Por fim quero agradecer a toda a minha família por terem sido essenciais e uma motivação para concluir a minha vida académica. Em especial, quero agradecer aos meus avós, quatro pessoas que me inspiraram desde cedo fomentaram a minha curiosidade cientifica que guia. E por ultimo, quero agradecer aos meus pais que fizeram de tudo para me facultar o melhor para mim, sempre com um excelente conselho, mostrando que devo sempre querer mais, tornando-se a minha motivação para desafios futuros.

(6)
(7)
(8)
(9)

Resumo

O desenvolvimento de software é um processo complexo, com diversos objetivos e vários intervenientes, com diferentes exigências e requisitos a serem cumpridos, exigências estas que podem ser prazos, funcionalidades ou arquiteturas, entre outros fatores importantes para o projeto. Esta diversidade de objetivos apresenta desafios para os gestores na preparação e planeamento de um projeto, sendo necessário abordar inúmeros elementos, de forma a concretizar os objetivos propostos. Um dos elementos chave, ao longo de todas as fases do projeto, é a calendarização de tarefas, influenciando, diretamente, o sucesso ou insucesso dos objetivos a cumprir pelos gestores e equipa de desenvolvimento.

O objetivo deste trabalho é o desenvolvimento de uma aplicação web, com o intuito de prevenir e mitigar problemas relacionados com o cumprimento de tarefas planeadas, determinando o estado de execução e a conclusão das tarefas, com base nos dados introduzidos pelos membros da equipa de desenvolvimento do projeto.

Tendo em vista que são necessárias inúmeras entradas por parte dos utilizadores, foi dada particular relevância às questões relativas à usabilidade e portabilidade do software desenvolvido, tentando-se simplificar processos de aquisição de dados, por parte dos intervenientes, de forma a garantir um processo rápido, seguro e eficiente.

Assim, o projeto em causa irá ajudar o desenvolvimento de boas práticas, necessárias para entregas de software nos prazos estabelecidos, com a qualidade exigida pelo cliente, apresentando aos gestores valores concretos, com os quais poderão avaliar e planear com mais exatidão o trabalho das equipas de desenvolvimento, mitigando assim, possíveis riscos.

Palavras-chave: Monitorização, Gestão de Projetos, Tarefas, Planeamento, Calendarização, Aplicação Web

(10)
(11)

Abstract

Software development is a complex process, with various objectives and multiple users, with different demands and requirements to be fulfilled, from deadlines to functionalities or system architecture and any other elements that are relevant for a project. This diversity presents challenges to project managers when scheduling and planning a project, with various factors to account for, to guarantee that all objectives are accomplished. One of the key aspects of managing software development, during all its phases, is the correct scheduling of tasks, which affects, directly, the success or failure of the goals set by project managers.

This work presents a solution, by exposing the development of a tool with the goal of monitoring the software project tasks, using a simple, intuitive and multi-platform tool, preventing or reducing the impact of task planning errors using input of the development teams.

With this objective in mind, additional relevance was given to usability and portability, simplifying processes of data acquisition, improving fulfillment speed, safety and more efficient information gathering.

As such, the final goal was the implementation of good development practices that are needed for a well-managed software project, with the quality demanded by the client and within the deadlines proposed in the project planning, presenting the project managers with valuable data to evaluate and plan more precisely the various teams, avoiding future errors or delays.

Keywords: Monitoring, Project Management, Tasks, Planning, Scheduling, Web

(12)
(13)

Conteúdo

Capítulo 1 Introdução ... 15 1.1 Motivação ... 15 1.2 Objetivos ... 15 1.3 Notação Adotada ... 15 1.4 Organização do documento ... 15

Capítulo 2 Trabalho relacionado ... 16

2.1 Aplicações Similares ... 16

2.2 Método atual da instituição de acolhimento ... 16

Capítulo 3 Enquadramento ... 17 3.1 Instituição de Acolhimento ... 17 3.2 Ferramentas de Desenvolvimento ... 17 3.3 Processo de Desenvolvimento ... 17 3.4 Plataforma de Desenvolvimento ... 17 3.5 Calendarização do Projeto ... 18

Capítulo 4 Fase de Análise ... 19

4.1 Documentação produzida... 19

4.2 Conclusão ... 19

Capítulo 5 Fase Desenho ... 20

5.1 Modelo de dados ... 20

5.2 Modelação do Sistema ... 20

Capítulo 6 Fase Implementação ... 21

6.1 Módulo de Acesso à Camada de Dados ... 21

6.2 Módulo de Automatização de Registo ... 21

6.3 RESTful API ... 21

Capítulo 7 Fase de Testes ... 22

7.1 Testes Unitários ... 22

7.2 Testes de Sistema ... 22

7.3 Testes de Aceitação ... 22

7.4 Conclusão ... 22

Capítulo 8 Conclusão ... 23

8.1 Influência da fase de análise na fase de desenho ... 23

(14)

8.3 Uso de MVC para aplicações Web ... 23 Capítulo 9 Bibliografia ... 24

(15)

Capítulo 1

Introdução

Por motivos de confidencialidade, nesta versão pública é apresentada a estrutura da tese mas a informação está omitida.

1.1 Motivação

Descrição da motivação para a criação do projeto.

Conteúdo omitido por razões de confidencialidade do trabalho.

1.2 Objetivos

Descrição dos objetivos pretendidos da aplicação

Conteúdo omitido por razões de confidencialidade do trabalho.

1.3 Notação Adotada

Notação utilizada no documento.

Conteúdo omitido por razões de confidencialidade do trabalho.

1.4 Organização do documento

Detalhada a organização do documento.

(16)

Capítulo 2

Trabalho relacionado

Nesta secção irei discutir produtos similares à solução proposta neste documento, concluindo com o porquê de não serem adequadas ao objetivo pretendido. Por fim, irei abordar o trabalho atual da empresa, na área de gestão e monitorização de tarefas e, quais os métodos utilizados, concluindo com a minha opinião sobre a sua eficácia.

2.1 Aplicações Similares

Analise de diversas aplicações semelhantes à ferramenta desenvolvida, abordando as diversas vantagens e desvantagens de cada aplicação, concluindo comparando com os objetivos propostos pelo projeto desenvolvido.

Conteúdo omitido por razões de confidencialidade do trabalho.

2.2 Método atual da instituição de acolhimento

Descrito os métodos atualmente adotados pela empresa de acolhimento para registo de atividades dos diversos trabalhadores, concluindo com uma analise das vantagens e desvantagens do método atual.

(17)

Capítulo 3

Enquadramento

Nesta secção irei descrever o enquadramento do trabalho na instituição de acolhimento, as ferramentas a usar, o processo de desenvolvimento, a plataforma de desenvolvimento e a calendarização do projeto.

3.1 Instituição de Acolhimento

É descrita a estrutura interna da instituição de acolhimento.

Conteúdo omitido por razões de confidencialidade do trabalho.

3.2 Ferramentas de Desenvolvimento

São especificadas as diversas ferramentas utilizadas no desenvolvimento do projeto.

Conteúdo omitido por razões de confidencialidade do trabalho.

3.3 Processo de Desenvolvimento

Aborda qual o processo de desenvolvimento utilizado para a implementação do projeto.

Conteúdo omitido por razões de confidencialidade do trabalho.

3.4 Plataforma de Desenvolvimento

Descrição da plataforma de desenvolvimento a ser utilizada pelo projeto. Conteúdo omitido por razões de confidencialidade do trabalho.

(18)

3.5 Calendarização do Projeto

Mapa de Gantt e planeamento temporal das diversas tarefas associadas ao desenvolvimento do projeto e respetiva conclusão sobre o cumprimento das datas estipuladas.

(19)

Capítulo 4

Fase de Análise

Seguindo a metodologia utilizada na instituição de acolhimento, foi produzida documentação de forma a determinar os objetivos, requisitos e funcionamento da aplicação. Neste capítulo, serão descritas as diferentes fases de análise e, qual a documentação produzida associada.

4.1 Documentação produzida

Descrição de toda a documentação produzida e anexada ao documento. Conteúdo omitido por razões de confidencialidade do trabalho.

4.2 Conclusão

São enunciadas as diversas vantagens e desvantagens da fase de análise e de toda a sua documentação.

(20)

Capítulo 5

Fase Desenho

De forma a garantir uma implementação rápida e com código de qualidade, é necessário haver documentação para garantir que as diversas equipas realizem as suas tarefas corretamente. Neste capítulo descrevo os documentos produzidos e como foi realizada a construção dos mesmos.

5.1 Modelo de dados

Descrito qual o modelo de dados escolhido e o motivo de ter sido escolhido. Conteúdo omitido por razões de confidencialidade do trabalho.

5.2 Modelação do Sistema

Descrita a arquitetura de sistema selecionada para o projeto e os motivos. Conteúdo omitido por razões de confidencialidade do trabalho.

(21)

Capítulo 6

Fase Implementação

Para uma aplicação cumprir todos os requisitos estipulados é necessário que a implementação seja cuidada, utilizando ao máximo as capacidades das plataformas escolhidas. Com esse fim, nesta secção do documento, irei descrever o que considero ser dos elementos mais importantes na aplicação.

6.1 Módulo de Acesso à Camada de Dados

Descrito o método criado para acesso à camada de dados.

Conteúdo omitido por razões de confidencialidade do trabalho.

6.2 Módulo de Automatização de Registo

Descrito o método criado para registo de processos automático. Conteúdo omitido por razões de confidencialidade do trabalho.

6.3 RESTful API

Descrição do serviço web criado para a aplicação.

Conteúdo omitido por razões de confidencialidade do trabalho.

(22)

Capítulo 7

Fase de Testes

Todas as aplicações necessitam de garantir um mínimo de qualidade, para que o cliente fique satisfeito com o produto, cumprindo os requisitos por ele estipulados. Neste capitulo, irei explicar como foi feita a fase de testes e qual a minha análise sobre o mesmo.

7.1 Testes Unitários

Descrição dos testes unitários realizados.

Conteúdo omitido por razões de confidencialidade do trabalho.

7.2 Testes de Sistema

Descrição dos testes de sistema realizados.

Conteúdo omitido por razões de confidencialidade do trabalho.

7.3 Testes de Aceitação

Descrição dos testes aceitação realizados.

Conteúdo omitido por razões de confidencialidade do trabalho.

7.4 Conclusão

Conclusão e discussão dos resultados dos testes.

(23)

Capítulo 8

Conclusão

Durante o desenvolvimento do projeto, tive a oportunidade de aprender bastante sobre as suas diversas fases, unindo componentes funcionais a componentes técnicas, o que permitiu ter uma perspetiva bastante abrangente, de como se processa a implementação de projetos de maiores dimensões e adaptados ao negócio.

Com base nesta experiencia, detalho de seguida três constatações que, a meu ver, são relevantes e que me levaram a pensar e a ver desenvolvimento de aplicações de forma diferente.

8.1 Influência da fase de análise na fase de desenho

Decomposição de como a fase de análise influenciou as decisões da fase de desenho do sistema.

Conteúdo omitido por razões de confidencialidade do trabalho.

8.2 Discussão do uso de plataformas de desenvolvimentos

Opinião sobre a utilização de uma plataforma de desenvolvimento ajuda ou limita o desenvolvimento de aplicações.

Conteúdo omitido por razões de confidencialidade do trabalho.

8.3 Uso de MVC para aplicações Web

Discussão da utilização do desenho arquitetural MVC em aplicações web. Conteúdo omitido por razões de confidencialidade do trabalho.

(24)

Capítulo 9 Bibliografia

Bibliografia usada na construção do documento.

Conteúdo omitido por razões de confidencialidade do trabalho.

(25)

Referências

Documentos relacionados

Para atingir este fim, foram adotados diversos métodos: busca bibliográfica sobre os conceitos envolvidos na relação do desenvolvimento de software com

Objetivo: Garantir estimativas mais realistas e precisas para o projeto, ao considerar nesta estimativa o esforço necessário (em horas ou percentual do projeto) para

Ainda segundo Gil (2002), como a revisão bibliográfica esclarece os pressupostos teóricos que dão fundamentação à pesquisa e às contribuições oferecidas por

Para identificar quais treinamentos serão necessários para cada trabalhador ou equipe dentro de uma organização desenvolver um programa eficaz de T&D, pode-se buscar

VUOLO, J.H. Fundamentos da Teoria de Erros, Edgard Blucher Ltda, São Paulo, 1992 YIN, R.K. Estudo de caso: planejamento e métodos, Bookman, Porto Alegre, 2005.. Quando a

A tabela 25 apresenta os resultados brutos desta avaliação em relação à característica busca e a tabela 26 exibe o resultado ponderado para esta característica.. A tabela 27

Para essa implementação deve-se observar que muitos sistemas têm sido construídos baseados exclusivamente em requisitos técnicos, deixando a arquitetura implícita

Por último, temos o vídeo que está sendo exibido dentro do celular, que é segurado e comentado por alguém, e compartilhado e comentado no perfil de BolsoWoman no Twitter. No