Você está na página 1de 6

EDUCAÇÃO E

FORMAÇÃO DE
ADULTOS

P R O J E C T O FINAL
PROGRAMADOR/A DE INFORMÁTICA

2020 | 2021

TEMA: Gestão de Projetos

FORMADOR: Luís Cardoso


01 Introdução
O objetivo deste trabalho é a aplicação prática dos conceitos teóricos
desenvolvidos ao longo dos módulos na implementação de um sistema de gestão de
projetos no âmbito da informática. Uma empresa que presta serviços de consultoria
pretende uma aplicação que faça a gestão dos projetos que tem em casa.

02 Descrição geral do Sistema


O sistema deve permitir gerir os colaboradores da empresa:
• Criar, editar e apagar;
• Realizar consultas;

Em relação aos colaboradores é necessário guardar no sistema os seguintes dados:


• Nome;
• Número de Identificação Fiscal (NIF);
• Morada
• Nivel de habilitação (1 a 8 - sendo 6 licenciatura)
• Valor Hora;
• Tecnologias de domínio

Os colaboradores podem ser de 3 tipos diferentes e cada um deles tem as suas


tecnologias:
• Programador
o Tecnologias de domínio

• Gestor de Redes
o Tecnologias de domínio

• Operacional técnico
o Tecnologias de domínio

Cada tipo de colaborador tem à escolha no mínimo 4 tecnologias/Competências.


As competências são restritas ao tipo de colaborador, não podendo um programador
acumular tecnologias/Competências de redes por exemplo.

O sistema deve permitir gerir os Projetos da empresa:


• Criar, editar e apagar;
• Realizar consultas;
• Calcular Custos.
Em relação aos Projetos é necessário guardar no sistema os seguintes dados:
• Nome;
• Descrição da intervenção
• Tecnologias/Competências necessárias
• Colaboradores associados

A qualquer momento deve ser possível acrescentar ou remover


• Tecnologias/Competências
• Colaboradores

Em relação às Tecnologias/Competências é necessário guardar no sistema os seguintes


dados:
• Nome;
• Área de atividade;
• Custo da tecnologia (exemplo licenças)

03 Funcionalidades Requeridas para o Sistema e


Interface com o Utilizador
O sistema deverá efectuar a gestão tanto dos colaboradores como dos
projetos. Assim, deve existir um menu principal que permita fazer a selecção entre
ambos:

Menu Principal

Gestão de Projetos
Gestão de Colaboradores

Sair

O submenu de gestão de colaboradores é o seguinte:

Gestão de Colaboradores

Inserir novo colaborador


Consultar colaborador
Listar todos os colaboradores
Alterar colaborador
Eliminar colaborador

Voltar
• Ao selecionar a opção “Inserir um novo colaborador” permite introduzir os dados
do colaborador na base de dados. Note que para o inserir deve pedir ao utilizador
todas as Tecnologias/Competências de domínio;

• A opção “Listar colaboradores” permite listar no ecrã os colaboradores, podendo


filtrar por um determinado tipo de área de atividade, nome ou Nif.

O submenu que faz a gestão de projetos é o seguinte:

Gestão de Projetos

Inserir novo projeto


Consultar projeto
Alterar projeto
Eliminar projeto
Custos atuais

Voltar

• A opção “Inserir novo projeto”: esta opção criar um projeto adicionando


inicialmente os seguintes campos:
• Nome;
• Descrição da intervenção
• Tecnologias/Competências necessárias
As Tecnologias/Competências necessárias vão condicionar o próximo campo:
• Colaboradores associados
Só consigo associar um colaborador ao projeto caso tenha pelo menos uma
Tecnologia / Competência associada ao projeto. No momento da associação é
necessário estimar o nº de horas que cada colaborador estará afeto ao projeto.

• A opção “Alterar projeto”: permite tanto alterar os dados do projeto como


adicionar/remover:
• Tecnologias/Competências necessárias
• Colaboradores associados

• A opção “Custos Atuais”: Permite calcular o custo do projeto, juntando os custos


das Tecnologias e dos colaboradores, tendo em conta que cada colaborar tem um
valor hora definido.
04 Especificação da Implementação do Sistema
A implementação do sistema acima descrito deve obedecer necessariamente
ao que a seguir se especifica.

O projecto deverá implementar:


• A classe Abstrata Colaborador, que guarda a informação que é comum a todos
os colaboradores.

• A classe Programador, a classe Redes e a classe Técnico que derivam da classe


Colaborador (herança) e que tratam diferenciadamente as Tecnologias e
Competências.

• A classe Tecnologia que guarda a informação relativa a uma


Tecnologias/Competências.

• A classe Projeto que guarda a informação relativa a um projeto.

• A classe GestorProjetos tem como função a comunicação com uma base de


dados de projetos gerindo as entradas e saídas de projetos e colaboradores.

Interface mínima obrigatória:

interface IGestorProjetos
{
bool InsereColaborador(Colaborador colaborador, int[] tecnologias);

bool EliminaColaborador(int NIF);

public Colaborador ProcuraColaborador(int NIF);


public List<Colaborador> ProcuraColaboradores();

bool InsereProjeto(Projeto projeto, int[] tecnologias);


bool InsereColaboradorProjeto(Colaborador colaborador, );

public List<Tecnologia> ProcuraColaboradorTecnologias(int nif);


public List<Tecnologia> ProcuraProjetoTecnologias(string nomeProjeto);

public List<Colaborador> ProcuraProjetoColaboradores(string nomeProjeto);


public double[] CustoProjeto(string nomeProjeto);
}
A interface gráfica com utilizador não obriga a nenhum requisito específico.

05 Níveis de Avaliação

Critérios de Avaliação

• Aplicação – 70% para 140 pontos


• Relatório – 30% para 60 pontos

06 Considerações Gerais
5.1 Participação
O projeto é individual.

5.2 Linguagem de Programação


Sugere-se que o trabalho seja implementado em C# para a plataforma
Windows pelo Microsoft VisualStudio. A avaliação incide sobre todos os aspetos do
programa: adequação com a matéria lecionada, conceção, qualidade, desempenho,
eficiência da solução, modularidade, estrutura e documentação do código e qualidade
do relatório.

5.3 Material a Entregar


O aluno deverá entregar o projeto por tarefa MS TEAMS com os seguintes
elementos:
• O relatório em Microsoft Office Word
• O projeto em .zip.

O relatório deverá limitar-se a incluir informação ou comentários que sejam


considerados úteis para a avaliação do trabalho. Além da comum organização de um
relatório (introdução, desenvolvimento e conclusão) deverá conter um manual
técnico. O manual técnico consiste:
• Descrição completa da arquitetura do programa;
• Diagrama de classes
• Representação da base de dados no modelo relacional.
A data de entrega, o nome do Formador, o nome do Formando e o curso do
autor do projeto, devem estar claramente visíveis na capa do relatório.

Bom trabalho.

Luís Cardoso

Você também pode gostar