Departamento de Electrónica e Telecomunicações Relatório Final



Documentos relacionados
Aprend.e Sistema integrado de formação e aprendizagem

EAmb V.1 ESPOSENDE AMBIENTE. GestProcessos Online. Manual do Utilizador

Manual de Administração Intranet BNI

MANUAL DE PROCEDIMENTOS PLATAFORMA DE INSCRIÇÕES ONLINE

Procedimentos para a divulgação de eventos no site da ECUM

Base de Dados para Administrações de Condomínios

Manual de utilização do Moodle

Escola Superior de Tecnologia de Setúbal. Projecto Final

A VISTA BACKSTAGE PRINCIPAIS OPÇÕES NO ECRÃ DE ACESSO

Manual de Utilizador. Disciplina de Projecto de Sistemas Industriais. Escola Superior de Tecnologia. Instituto Politécnico de Castelo Branco

Rock In Rio - Lisboa

GereComSaber. Disciplina de Desenvolvimento de Sistemas de Software. Sistema de Gestão de Serviços em Condomínios

CGA Directa. Manual do Utilizador. Acesso, Adesão e Lista de Subscritores

Tutorial: criação de uma Ficha de Voluntário online

TUTORIAL. Como criar um blogue/página pessoal no WordPress

Aplicações de Escritório Electrónico

Noções de. Microsoft SQL Server. Microsoft SQL Server

Plataforma de Benefícios Públicos Acesso externo

MANUAL UTILIZADOR SERVIÇO FTP

Engenharia de Requisitos Estudo de Caso

ZS Rest. Manual Avançado. Ementas : e SMS. v2011

Sistema GPB Gestão de Pombais

Google Sites. A g r u p a m e n t o C a m p o A b e r t o /

Guia Rápido de Vodafone Conferencing

Desenvolvimento de uma Aplicação WEB para monitorização de BD Oracle

Cenários do CEL. Acessar ao sistema

GereComSaber. Desenvolvimento de Sistemas de Software. Universidade do Minho Conselho de Cursos de Engenharia Licenciatura em Engenharia Informática

Ferramentas Web, Web 2.0 e Software Livre em EVT

Novo Formato de Logins Manual de Consulta

Aplicações de Escritório Electrónico

Ministério das Finanças Instituto de Informática. Departamento de Sistemas de Informação

Aplicações de Escritório Electrónico

02 - Usando o SiteMaster - Informações importantes

Ferramentas Web, Web 2.0 e Software Livre em EVT

Construção Páginas de Internet

1. Criar uma nova apresentação

Organizar a estrutura do site

Gescom isales. Aplicação Mobile Profissional para Vendedores

TUTORIAL DO ALUNO. Olá, bem vindo à plataforma de cursos a distância da Uniapae!!!

Índice. Como aceder ao serviço de Certificação PME? Como efectuar uma operação de renovação da certificação?

TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO - TIC 10º C. Planificação de. Curso Profissional de Técnico de Secretariado

Múltiplos Estágios processo com três estágios Inquérito de Satisfação Fase II

COLIBRI Ambiente Colaborativo Multimédia MÓDULO MOODLE. Rui Ribeiro FCCN - Dezembro 2010

Aplicação Prática de Lua para Web

GUIA PARA O PREENCHIMENTO DOS FORMULÁRIOS ENTIDADE GESTORA ERP PORTUGAL

Manual de Utilizador Plataforma de Estágios TIC.

Engenharia de Software III

Portal AEPQ Manual do utilizador

Bem- Vindo ao manual de instruções do ECO Editor de COnteúdo.


Java Mail Server. Manual do Utilizador

Administração da disciplina

2 Diagrama de Caso de Uso

Módulo de Administração de Utilizadores

CONSTRUÇÃO DE BLOG COM O BLOGGER

Manual de Utilizador

Apresentando o novo modelo de atendimento Centro Marista de Serviços - CMS. Curitiba, Julho de 2014

Engenharia de Software Sistemas Distribuídos

WEBSITE DEFIR PRO

Guia de Acesso/Apresentação de Pedidos de Apoio Sistema de Informação RURAL

SUAP Módulo Protocolo Manual do Usuário DTI DIRETORIA DE TECNOLOGIA DA INFORMAÇÃO SEÇÃO DE PROJETOS, SISTEMAS E PROCESSOS DE NEGÓCIO

WF Processos. Manual de Instruções

Sistema de Certificação de Competências TIC

Akropole Catequista. Todos os Ficheiros no Akropole Catequista trabalham com uma simples barra de edição, com 4 botões:

Manual do Gestor da Informação do Sistema

JSP trata-se de uma tecnologia que possibilita o desenvolvimento de páginas web dinâmicas utilizando todas as potencialidades do Java como linguagem

Licenciatura em Informática. - Análise e Conceção de Sistemas de Informação. Gestão de Condómino. Documento de Análise.

Manual de Transição TWT Sítio de Disciplina para Moodle 2.6

Educação Digital

Manual de Utilização do Sítio da Disciplina

Como criar e gerir um blog?

TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO. SISTEMAS DE GESTÃO DE BASE DE DADOS Microsoft Access TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO

Aplicações de Escritório Electrónico

Oficina de Construção de Páginas Web

Direcção Regional de Educação do Algarve

Portal Sindical. Manual Operacional Empresas/Escritórios

Manual utilização. Dezembro Instituto Politécnico de Viseu

Guia de Utilização. Acesso Universal

Tarefa Orientada 6 Edição de Dados

DOCUMENTO DE APOIO À APLICAÇÃO

Guia de Prova de Aptidão Profissional

Manual UNICURITIBA VIRTUAL para Professores

Índice. Como aceder ao serviço de Certificação PME? Como efectuar uma operação de renovação da certificação?

DHL PROVIEW MANUAL O DHL PROVIEW DÁ-LHE TOTAL CONTROLO SOBRE OS SEUS ENVIOS.

Manual do Fénix. Portal Secretaria da Escola Portal Conselho Científico Portal Direcção de Curso. Candidatura Online para o 2.

PHC dteamcontrol Externo

bit Tecnologia ao Serviço do Mundo Rural

4.1. UML Diagramas de casos de uso

Universidade do Minho. Licenciatura em Engenharia Informática. Desenvolvimento de Sistemas de Software. Gere Com Saber

PHC dteamcontrol Interno

Microsoft Office Outlook Web Access ABYARAIMOVEIS.COM.BR

Manual de Configuração

PROJ. Nº LLP NL-ERASMUS-ECUE

Channel. Visão Geral e Navegação. Tutorial. Atualizado com a versão 3.9

A sua empresa é uma Beta-Tester da Imoplataforma. Guia de Utilização

A interface do Microsoft Visual Studio 2005

Transcrição:

Departamento de Electrónica e Telecomunicações Relatório Final Título do Relatório: Plataforma Telemática para a Gestão de Processos e Fluxos de Trabalho para o Autor: Rui Miguel da Silva Santos Orientador: Prof. Doutor Aníbal Manuel de Oliveira Duarte Data: 15 Julho de 2005

(Página em branco) Página 2 de 76

Agradecimentos O autor gostaria de agradecer, a um pequeno grupo de pessoas, sem as quais a execução deste projecto não teria sido possível ou pelo menos não teria atingido o patamar de evolução actual. Se me esqueci de alguém as minhas sinceras desculpas. O autor gostaria de agradecer ao orientador do projecto, Prof. Doutor Aníbal Manuel de Oliveira Duarte por toda a ajuda prestada, compreensão e incentivo no decorrer de todo o projecto. A todos os colaboradores do GSBL, principalmente à Rita Santos ao Carlos Sousa e à Joana Tavares pelo apoio e ajuda constantes. Ao meu amor pela maneira como alterou a forma como encaro a vida, fazendo-me acreditar que existe uma razão para continuar a fazer mais e melhor. Obrigado pela paciência que tens tido para aturar as teimosias e o mau feitio, espero que os restantes anos da nossa vida em comunhão nos tragam tantas felicidades como os últimos três. Aos meus pais por toda a ajuda, paciência, incentivo e pelos princípios de vida que me transmitiram, são actualmente os meus pilares de suporte. Pai onde quer que estejas, sei que é um lugar melhor, Estarás sempre no meu coração. Página 3 de 76

Resumo O projecto da Plataforma Telemática para a Gestão de Processos e Fluxos de Trabalho para o tem como principal objectivo, a construção de uma aplicação baseada em ambiente Web que permita efectuar controlo e gestão tanto de informação como dos recursos humanos de uma organização bem como a automatização de fluxos de trabalho. A importância da aplicação è de extrema relevância para o gestor de projectos que a qualquer momento poderá saber por exemplo: Quanto tempo falta para o término de um determinado projecto; Quais os colaboradores que actualmente estão a trabalhar no projecto e qual o seu papel; etc. O mesmo, se constata para qualquer dos colaboradores, principalmente para rever assuntos tratados em sessões de discussão de determinado projecto. Pretende-se uma ferramenta de consulta rápida e fácil, não pecando no entanto em funcionalidade. Outro dos objectivos principais é a construção de uma aplicação dinâmica, ou seja, a ferramenta deverá ser planeada, construída e documentada de tal forma, que simplifique o mais possível a adição, a todo o momento, de funcionalidades adicionais. A aplicação é baseada numa estrutura matricial, disponibilizando na página principal a informação cruzada que relaciona colaboradores e projectos, permitindo a alteração de informação relevante nas páginas secundárias. Na altura da publicação deste relatório a aplicação já tinha atingido um ponto de funcionamento bastante elevado, principalmente a versão que fora desenvolvida para gestão de projectos do GSBL. Tendo sido possível verificar a utilidade da aplicação, principalmente nas várias reuniões de projecto onde a consulta das sessões anteriores por parte dos alunos e do Prof. Oliveira Duarte permitiu o acompanhamento mais rápido do assunto em causa. Página 4 de 76

Índice de Conteúdos Agradecimentos...3 Resumo...4 1 Introdução...8 2 Background... 10 2.1 Linguagens de programação...10 2.2 Definição de Workflow (fluxos de trabalho)...12 2.3 Tipos de Workflow...12 2.3.1 Ad ho...13 2.3.2 Administrativo...13 2.3.3 De produção...13 2.4 Worflow e a aplicação a desenvolver...14 3 Método / Approach Planeamento... 15 3.1 Planeamento da infra-estrutura de software/ Hardware...15 3.2 Levantamento de necessidades e modelação por UML...17 3.2.1 Funcionalidades básicas...17 3.2.2 Mecanismo de segurança...19 3.2.3 Mecanismos de manutenção dos dados dos projectos...21 3.2.4 Levantamento de necessidades para o módulo dos projectos...23 3.2.5 Mecanismos de manutenção dos dados dos membros...25 3.2.6 Levantamento de necessidades para o módulo dos membros...27 4 Método / Approach - Implementação... 29 4.1 Modelação e implementação da bases de dados...29 4.1.1 Utilizadores...30 4.1.2 Projectos...31 4.1.3 Associação de membros projectos e matriz...32 4.1.4 Associação de função ao utilizador da matriz...33 4.1.5 Associação de documentos aos projectos...34 4.1.6 Associação de sessões aos projectos...35 4.2 Implementação da aplicação...36 4.2.1 Pagina principal da matriz...37 4.2.2 Módulo de controlo dos projectos...38 4.2.3 Módulo de controlo dos membros...47 5 Resultados... 53 6 Discussão... 54 7 Conclusões... 55 Referências e Bibliografia... 56 Anexo A: Siglas e acrónimos... 58 Anexo B: Descrição/ listagem dos Stored Procedures desenvolvidos pelo aluno... 59 Página 5 de 76

Índice de Figuras Figure 1 - Diagrama da arquitectura do sistema (hardware/ software)...16 Figure 2 - Matriz de actividades...17 Figure 3 - Módulo de controlo de projectos...18 Figure 4 - Módulo de Controlo de Colaboradores...18 Figure 5 - Descrição da UC Autenticação...20 Figure 6 - Diagrama de actividades para autenticação...20 Figure 7 - Descrição da UC Manutenção dos dados associados aos projectos...21 Figure 8 - Diagrama de actividades para manutenção dos dados associados aos projectos...22 Figure 9 - UC que modela as funcionalidades disponibilizadas pelo módulo dos projectos...24 Figure 10 - Descrição da UC Manutenção dos dados associados aos membros...26 Figure 11 - Diagrama de actividades para manutenção dos dados associados aos membros...26 Figure 12 - UC que modela as funcionalidades disponibilizadas pelo módulo dos membros...28 Figure 13 - Conjunto de tabelas que definem os utilizadores...30 Figure 14 - Conjunto de tabelas que definem os projectos...31 Figure 15 - Diagrama que define as relações entre as 3 tabelas principais...32 Figure 16 - Diagrama que define a função exercida pelo utilizador em determinada matriz...33 Figure 17 - Diagrama relacional que define a associação de documentos a um projectos...34 Figure 18 - Diagrama relacional que define a associação de sessões aos projectos...35 Figure 19 - Página principal da matriz...37 Figure 20 - Página inicial do modulo dos projectos...38 Figure 21 - Pagina de autenticação...39 Figure 22 - Página de visualisação das sessões...39 Figure 23 - Menu lateral...40 Figure 24 - Página que permite a modificação das sessões...41 Figure 25 - Página que permite a inserção de novas sessões...41 Figure 26 - Tabs do módulo de controlo dos projectos...42 Figure 27 - Página de associação de membros ao projecto...43 Figure 28 - Alteração da associação de um membro ao projecto...44 Figure 29 - Listagem dos documentos associados ao projecto...45 Figure 30 - Mensagem indicando a inexistência de documentos associados ao projecto...45 Figure 31 - Adicionar documento ao projecto...46 Figure 32 - Alterar características de um qualquer documento associado ao projecto...47 Figure 33 - Dados pessoais do membro (página publica)...47 Figure 34 - Curriculum vitae do membro (página publica)...48 Figure 35 - Visualização dos dados pessoais do membro (página privada)...48 Figure 36 - Manutenção dos dados pessoais do membro...49 Página 6 de 76

Figure 37 - Manutenção dos dados pessoais do membro ( expansão dos mecanismos de upload da foto e de alteração da palavra chave)...50 Figure 38 - Tabs do módulo de controlo dos modulos...50 Figure 39 - Página de associação de projectos ao membro...51 Figure 40 - Curriculum vitae do membro (página privada)...52 Figure 41 - Manutenção do curriculum vitae do membro...52 Página 7 de 76

1 Introdução Vivemos num mundo cada vez mais globalizado, num mundo de verdades inconstantes, onde o acesso à informação em tempo real tem vindo a ganhar cada vez mais importância. Qualquer organização tem que, de alguma forma possuir algum mecanismo de organização de informação que permita controlar todos os factores internos ( estado de projectos, produtividade dos funcionários, etc.. ) e externos ( estado político do pais, índice do mercado ) que directa ou indirectamente possam influenciar o funcionamento de toda a máquina organizacional. O bom funcionamento e desempenho deste mecanismo poderá ser a diferença entre uma empresa rentável e com possibilidades de crescimento e uma empresa medíocre com sérias dificuldades em subsistir. Sendo os computadores máquinas de armazenamento de informação por defeito é fácil perceber de que modo a informática veio revolucionar o acesso e a organização de grandes quantidades de informação inerentes a cada organização. Se ao supramencionado associarmos o crescimento nos últimos anos em velocidade e em capacidade de armazenamento de é fácil compreender porque razão a informática se tornou numa das ferramentas mais utilizadas para a implementação de mecanismos de organização. Facilmente, hoje em dia com um computador; ferramentas e conhecimento necessários, é possível construir aplicações informáticas que vão de encontro às necessidades especificas de qualquer entidade. Apesar de no mercado já existir um amplo numero de ferramentas com a finalidade de facilitar todo o mecanismo de gestão e controle de projectos e recursos humanos, a sua falta de especificidade para as necessidades de uma determinada organização, torna-se num handicap adoptado por todo o tecido empresarial. bastante grande para ser É no seguimento deste raciocínio, que surge a necessidade de construção da aplicação em causa para a organização e controlo eficaz de todas as actividades e colaboradores. Página 8 de 76

Pretende-se uma aplicação que não seja só capaz de organizar informação mas que também tenha a capacidade de modelar fluxos de trabalho. Ou seja a plataforma terá de possuir mecanismos que permitem automatizar processos empresariais em que o trabalho de certas pessoas vive em dependência constante, sendo possível a qualquer momento consultar a informação de progresso relativa. Página 9 de 76

2 Background 2.1 Linguagens de programação HTML é a base de funcionamento de qualquer browser, dês do mais sofisticado ao mais simples. Inicialmente desenvolvido por Tim Berners-Lee com a finalidade de facilitar a publicação e leitura de textos científicos em ambientes Web. Rapidamente se tornou numa ferramenta revolucionária sendo actualmente a base para um variadas actividades: comércio electrónico; banking; casinos digitais; etc. Surgindo no inicio dos anos 90, sofreu bastantes alterações até assumir a forma que actualmente é utilizada. Apesar das várias alterações o HTML nunca deixou de ser uma linguagem de hipertexto, sendo a sua principal função a publicação de texto. À medida que a internet se foi tornando cada vez mais universal e a sua utilização mais difundida, as fraquezas do HTML começaram a tornar-se cada vez mais evidentes. Houve assim a necessidade de desenvolver ferramentas que permitissem ultrapassar essas limitações. O ASP, juntamente com outras tecnologias que apareceram mais ou menos pela mesma altura, surgiu desse esforço. Sendo uma solução voltada para o servidor (todo o esforço de processamento de dados é executado na(s) máquina(s) provedora(s) do(s) serviço(s)), O programador não necessitava de se preocupar com o modo como as páginas desenvolvidas em ASP eram visualizadas ou funcionavam em browsers diferentes. Todo o código era processado no servidor e somente o resultado desse processamento era enviado para o Web Browser sobre a forma de código HTML e VB Script. Apesar das suas potencialidades, o ASP era bastante difícil de dominar e o desenvolvimento de aplicações de alguma dimensão podia tornar-se numa tarefa bastante árdua. O ASP.NET sendo o sucessor do ASP, veio revolucionar completamente o modo de construir aplicações para ambiente Web. Baseado em linguagens de programação strong-typed languages, conseguiu trazer todas as Página 10 de 76

potencialidades e facilidades da programação orientada a objectos para o desenvolvimento de páginas Web. Juntamente com uma nova tecnologia de acesso a dados de seu nome ADO.NET, desenhado de raiz para funcionamento em ambiente Web usa um método de acesso aos dados disconnected, ou seja a ligação aos dados é mantida pelo tempo estritamente necessário. Deste modo, permite a implementação de serviços extremamente rápidos, baseados em bases de dados centralizadas, mesmo em situações de elevado numero de pedidos de acesso aos serviços. A ideia por trás do ASP.NET é bastante simples. Tornar o desenvolvimento de páginas Web num processo tão simples como o de desenvolver aplicações para ambientes Windows utilizando a linguagem de programação que o utilizador se sentir mais à vontade. Actualmente é possível desenvolver aplicações utilizando o C++.NET, o C#.NET( que é a evolução do C++), o J#.NET (que é a evolução do Java) e o VB.NET (que é a evolução do Visual Basic v6.0). No entanto o funcionamento da plataforma.net permite a utilização de qualquer outra linguagem de programação que tenha sido desenvolvida por um third-party developer como as versões.net de Eiffel e Perl. Isto é possível porque: O código desenvolvido em qualquer linguagem.net é primeiro copilado para uma linguagem intermédia IL (Intermidiatre Language code) e só depois gerado o código final pelo copilador CLR ( Common Language Runtime ). A Microsoft publicou uma serie de regras CLS ( Common Language Specifications ) que define os requerimentos básicos e padrões para permitir a outras empresas o desenvolvimento de linguagens que possam vir a ser copiladas pelo CLR. Página 11 de 76

2.2 Definição de Workflow (fluxos de trabalho) Dentro de uma organização, pessoas interagem entre si para executar um trabalho. Cada uma tem sua própria lista de tarefas a cumprir. Jorge deve procurar potenciais clientes e efectuar a inserção dos seus dados numa base de dados. Então, Guerra entrará em contacto com o cliente procurando compreender as necessidades especificas deste. Mais tarde, Paulo escreverá um relatório para o cliente detalhando em pormenor os serviços/ produtos oferecidos pela organização que melhor irão de encontro as necessidades especificas do cliente. Pelo que se descreveu atrás, é possível verificar que o trabalho destes colaboradores flui entre cada um deles. Cada pessoa realiza o seu trabalho ou tarefa delegando o resultado para que os outros possam prosseguir com a sua parte. Workflow é um conjunto de regras que governam a sequência de actividades necessárias para completar um trabalho/ tarefa envolvendo diversos participantes. Sistemas de Gestão de fluxos de trabalho permitem automatizar, total ou parcialmente, um processo empresarial/ organizacional gerindo toda a sequência de fluxo de trabalho alertando adequadamente as entidades envolvidas perante as suas responsabilidades quando for necessário. É comum o termo "workflow" ser usado com significado mais abrangente. O significado alternativo mais comum, está relacionado com a troca de informações entre os participantes de um trabalho executado em colaboração. Sistemas de Gestão de Documentos são usualmente chamados de sistema de workflow, principalmente porque possibilitam a troca de informações em geral de maneira ordenada. 2.3 Tipos de Workflow Há pouco consenso sobre a definição de workflow, ou mesmo sobre quais as características que são essenciais para um sistema de gestão de workflow. No entanto a literatura tipicamente refere três tipos distintos de Workflow: ad hoc, administrativo e de produção. Página 12 de 76

2.3.1 Ad ho Workflows ad hoc executam processos de escritório, tais como documentação ou venda de produtos. Ou seja, não existe um padrão pré- definido de fluxo de informações entre pessoas. Tarefas desse tipo workflow são tipicamente de caracter muito humanos, por outras palavras envolvem coordenação, colaboração ou co-decisão humana. A ordem e a coordenação das tarefas em um workflow ad hoc não são automatizadas, mas sim controladas por seres humanos e as decisões sobre estas dão-se em tempo real. Esta classe de workflow tipicamente envolve pequenos grupos de profissionais na execução de pequenas actividades não consideradas de missão demasiado crítica para o negócio da organização e que requerem uma solução rápida e o mais eficaz possível. 2.3.2 Administrativo Workflow administrativo envolve processos repetitivos e previsíveis com regras simples de coordenação de tarefas, tais como escrever um relatório de despesas ou uma solicitação de viagem seguida de uma actividade de autorização. A ordem e a coordenação de tarefas em workflows administrativos podem ser automatizadas. Esta classe de workflow não abrange processos de informação complexos e não requer acesso a sistemas de informação múltiplos que sejam usados no suporte à produção e/ou no serviços a clientes. Também não actua na missão crítica do negócio. 2.3.3 De produção Workflows de produção envolvem processos de negócio repetitivos e previsíveis, tais como de empréstimo ou pedidos de seguro. Diferentemente dos workflows administrativo, os workflows de produção normalmente abrangem um processo de informação complexo, envolvendo acesso a múltiplos sistemas de Página 13 de 76

informação. A ordem e coordenação das tarefas nesses workflows podem ser automatizadas. Contudo, esta automação é complicada devido a: Complexidade do processo de informação; Acesso a sistemas de informação múltiplos para executar o trabalho e recuperar dados para tomadas de decisões (workflows administrativos são dependentes de seres humanos para a maioria das decisões e trabalhos executados). 2.4 Worflow e a aplicação a desenvolver Normalmente as aplicações baseadas em tecnologia IT desenvolvidas para Gestão de fluxos de trabalho tem como principal objectivo auxiliar o processo de aplicação dos dois últimos tipos de workflow (Administrativo e de produção). Uma vez que o Workflow Ad Hoc, pelas suas características de aleatoriedade, o tornam bastante difícil de modelar utilizando um computador, talvez só utilizando algum sistema de inteligência artificial como redes neurais. Pretende-se que, numa primeira fase a aplicação a desenvolver, tenha características de um sistema de Gestão de workflow administrativo, sendo a sua principal função a de armazenamento e referência para quem trabalha em determinado projecto, mas há medida que o seu desenvolvimento for progredindo a aplicação poderá tornar-se um híbrido sendo possível aplicar também a um ambiente de workflow de produção. Página 14 de 76

3 Método / Approach Planeamento Inicialmente o pretendido era a construção de uma plataforma/ aplicação baseada em ambiente Web para gestão de processos e fluxos de trabalho para o programa Aveiro Norte. Assim, e uma vez que existia uma carência de nível similar no GSBL, a ferramenta foi desenvolvida numa primeira fase para controle de projectos e recursos humanos dentro do Grupo, não sendo no entanto descuidada necessidade de dotar a aplicação de características que facilmente permitam, numa segunda fase, a adaptação para o programa Aveiro Norte ou para qualquer organização que pretenda usufruir das potencialidades da mesma. 3.1 Planeamento da infra-estrutura de software/ Hardware Como referido no ponto 1.1 a tecnologia para o desenvolvimento da aplicação será baseado em tecnologia Microsoft, mais propriamente a tecnologia ASP.NET. Logo toda o planeamento de servidores/ cliente terá de ser tal, que permitia o correcto funcionamento das páginas desenvolvidas: O Servidor que irá providenciar todo o serviço Web será baseado em tecnologia da Microsoft. O Internet Information Services (IIS), neste caso a versão 5.1, sendo necessário para o correcto redireccionamento dos pedidos de páginas baseadas em ASP.NET (.aspx) para os serviços que irão copilar as páginas HTML; O servidor de base de dados escolhido para armazenar, de uma forma centralizada, toda a informação relativa às várias entidades associadas à matriz de actividade. Foi também ele um produto Microsoft. O SQL Server 2000, que devido à sua longevidade e aceitação por parte da maioria dos programadores de aplicações baseadas em base de dados, já deu provas mais que suficientes da sua qualidade e estabilidade de funcionamento; Página 15 de 76

No cliente as tecnologias utilizadas foram o HTML, DHTML Javascript e CSS. Teoricamente existem inúmeros browsers no mercado que não teriam problemas de funcionamento com estas linguagens, mas no entanto, testes realizados demonstraram que o correcto funcionamento da aplicação só foi atingido mediante a utilização do Internet Explorer 6.0. De seguida apresenta-se o diagrama da arquitectura utilizada. Note-se a importância em isolar o servidor de SQL, que somente poderá ser acedido directamente pela máquina que implementa o servidor Web, conseguindo-se assim um nível de segurança bastante mais elevado para os dados armazenados na máquina provedora do serviço de base de dados. Figure 1 - Diagrama da arquitectura do sistema (hardware/ software) Página 16 de 76

3.2 Levantamento de necessidades e modelação por UML 3.2.1 Funcionalidades básicas A função primária da aplicação, seria o de permitir a consulta rápida de informação indicadora do papel desempenhado por todos os elementos do GSBL nas tarefas actualmente em curso. A visualização da informação teria por base um modelo matricial em que as colunas representariam os colaboradores e as linhas os respectivos projectos. A estrutura da aplicação seria dinâmica para permitir a todo o momento a alteração da informação cruzada. Tal seria conseguido com a integração de dois módulos adicionais: Um primeiro especializado na actividade (projecto) que permitiria alterar informação individual, de cada uma das actividades; Um segundo, em que seria desenvolvida a função supracitada mas desta vez aplicada aos colaboradores. Inicialmente foi executado um modelo simulador em Microsoft Excel pela Eng. Rita Santos, onde ficou bem assente a matriz e os dois módulos associados. As imagens seguintes transparecem o modelo: Figure 2 - Matriz de actividades Página 17 de 76

Figure 3 - Módulo de controlo de projectos Figure 4 - Módulo de Controlo de Colaboradores Página 18 de 76

O desenvolvimento de qualquer aplicação é um processo interactivo. Ou seja, normalmente à medida que se progride na implementação da mesma vão aparecendo questões/ necessidades a nível de planeamento e implementação, que irão de alguma forma alterar o modelo inicial. No nosso caso, o modelo inicial como se pode verificar pelas imagens era bastante simples, o que já por si pressupunha bastantes alterações/ adições futuras. Assim sendo, todos os modelos que de seguida serão apresentados são relativos à versão final do projecto, sendo que a informação supramencionada pretende funcionar como uma mais valia na compreensão do progresso no desenvolvimento da aplicação. 3.2.2 Mecanismo de segurança O mecanismo de segurança inicialmente planeado para o projecto era bastante simples: Resumindo-se a apenas uma entidade, o utilizador, que a partir do momento que dá a sua entrada no sistema por intermédio de um login e a respectiva password, poderá efectuar quaisquer alterações ao nível dos projectos, independentemente de possuir papel activo no mesmo ou não. Sendo que no módulo do utilizador só estará autorizado a alterar os seus próprios dados pessoais. A criação do login ou password, bem como adição de novos utilizadores e projectos, é actualmente um processo manual e a ser efectuado pelo administrador das bases de dados. No entanto um esforço bastante grande no planeamento e construção de um ambiente de administração de suporte à matriz está e será realizado pela Eng. Rita Santos e pelo aluno, de modo a aumentar a segurança e dinamismo da aplicação. De seguida é apresentada a descrição da UC de autenticação, bem como o respectivo diagrama de actividades: Página 19 de 76

Finalidade da Use Case: Pré-condição: Pos-condição: Limitações: Sequência básica de eventos: A. Disponibiliza aplicação Use Case (UC) - Autenticação Efectuar autenticação na plataforma. Nenhuma identificada. Após a autenticação o utilizador é redireccionado para a área privada respectiva. Nenhuma identificada. B. Consulta informação de projectos/ membros. C. Disponibiliza mecanismo de autenticação. D. Preenche campos login e password. E. Verifica a coerência dos valores inseridos com os actualmente armazenados na base de dados. F. Autentica o utilizador perante o sistema. Sequência alternativa de eventos: Condição que despela a sequência alternativa de eventos: Os dados inseridos não são coerentes com os valores armazenados na base de dados. E1. É apresentada uma mensagem de erro ao utilizador indicando que não foi possível efectuar a autenticação devido a um erro nas credenciais inseridas. E2. É novamente executado o passo C na sequência básica de eventos. Figure 5 - Descrição da UC Autenticação Figure 6 - Diagrama de actividades para autenticação Página 20 de 76

3.2.3 Mecanismos de manutenção dos dados dos projectos Apresenta-se de seguida as descrições do UC bem como o respectivo diagrama de actividades referente ao mecanismo de manutenção para os projectos: Use Case (UC) Manutenção dos dados associados aos projectos Finalidade da Use Case: Pré-condição: Pos-condição: Editar/ Eliminar/Adicionar dados associados aos projectos. O utilizador terá anteriormente de se ter autenticado perante o sistema. Nenhuma identificada. Limitações: Sequência básica de eventos: A. Disponibiliza aplicação Nenhuma identificada. B. Consulta informação de projectos.. C. Disponibiliza as opções de Editar/Eliminar/Adicionar Informação D. Escolhe se quer Editar/Eliminar/Adicionar informação. E. Efectua manutenção dos dados F. Envia as alterações. G. Efectua as modificações respectivas na base de dados Sequência alternativa de eventos: Condição que despela a sequência alternativa de eventos: O utilizador muda de ideias e decide cancelar a manutenção de dados. E1. É novamente executado o passo B na sequência básica de eventos. Sequência alternativa de eventos: Condição que despela a sequência alternativa de eventos: Os dados inseridos não são validos. F1. É apresentada uma mensagem de erro ao utilizador indicando porque razão a manutenção de dados carece de validade. F1. É novamente executado o passo E na sequência básica de eventos. Figure 7 - Descrição da UC Manutenção dos dados associados aos projectos Página 21 de 76

Figure 8 - Diagrama de actividades para manutenção dos dados associados aos projectos Página 22 de 76

3.2.4 Levantamento de necessidades para o módulo dos projectos Uma vez efectuada a modulação em UML do funcionamento do mecanismo é agora necessário colocar a questão: que funcionalidades será útil disponibilizar quando o utilizador navegar para a página de um determinado projecto? Por outras palavras que informação associada ao projecto poderei Eliminar/ Adicionar/ Editar? De uma primeira análise à página da matriz na modelação em Excel pode-se dês de logo tirar que será necessário alterar a associação de cada um dos membros ao projecto em causa; Pretende-se um controlo de progresso dos projectos. É provavelmente esta a funcionalidade mais importante. A melhor solução conseguida para se conseguir atingir esse objectivo foi a criação da entidade sessão. Na prática o pretendido é que sempre que ocorra algum evento de alguma relevância para o projecto em curso, os responsáveis pelo projecto irão adicionar uma nova sessão. Sessão essa que conterá uma referência temporal, uma pequena descrição do evento e todos os documentos que de alguma forma tenham algo a ver com a sessão em causa; Como normalmente associado a um projecto existem bastantes documentos que de alguma forma acabam por se dispersar A adição de uma funcionalidade que de alguma forma permita Adicionar/ Eliminar documentos é sem sombra de duvidas de grande utilidade. Página 23 de 76

Para finalizar é apresentado o Use Case respeitante ao modulo dos projectos: Figure 9 - UC que modela as funcionalidades disponibilizadas pelo módulo dos projectos Página 24 de 76

3.2.5 Mecanismos de manutenção dos dados dos membros Apresenta-se de seguida a descriçõe do UC bem como o respectivo diagrama de actividades referentes ao mecanismo de manutenção para os membros: Use Case (UC) Manutenção dos dados associados aos membros Finalidade da Use Case: Pré-condição: Pos-condição: Limitações: Editar/ Eliminar/Adicionar dados pessoais dos membros. O utilizador terá anteriormente de se ter autenticado perante o sistema. Nenhuma identificada. Somente o utilizador respectivo poderá efectuar alterações aos seus dados pessoais. Sequência básica de eventos: A. Disponibiliza aplicação B. Consulta informação de membros.. C. Disponibiliza as opções de Editar/Eliminar/Adicionar Informação D. Escolhe se quer Editar/Eliminar/Adicionar informação. E. Efectua manutenção dos dados F. Envia as alterações. G. Efectua as modificações respectivas na base de dados Sequência alternativa de eventos: Condição que despela a sequência alternativa de eventos: A informação consultada não é a do utilizador que efectuou o login B1. É novamente executado o passo B na sequência básica de eventos. Sequência alternativa de eventos: Condição que despela a sequência alternativa de eventos: O utilizador muda de ideias e decide cancelar a manutenção de dados. E1. É novamente executado o passo B na sequência básica de eventos. Sequência alternativa de eventos: Condição que despela a sequência alternativa de eventos: Os dados inseridos não são validos. F1. É apresentada uma mensagem de erro ao utilizador indicando porque razão a manutenção de dados carece de validade. F1. É novamente executado o passo E na sequência básica de eventos. Página 25 de 76

Figure 10 - Descrição da UC Manutenção dos dados associados aos membros Figure 11 - Diagrama de actividades para manutenção dos dados associados aos membros Página 26 de 76

3.2.6 Levantamento de necessidades para o módulo dos membros Relativamente aos membros a pergunta é a mesma que informação relativa aos membros fará sentido disponibilizar neste modulo para Eliminar/ Adicionar/ Editar? De uma primeira análise à página da matriz na modelação em Excel, e utilizando o mesmo raciocínio que para o módulo dos membros pode-se dês de logo tirar que será necessário alterar a associação de cada um dos projectos ao membro em causa. Esta é a única informação relativa ao membro que poderá ser editada por qualquer membro que se possa autenticar perante o sistema; Associado ao membro existem dados pessoais. Nome, Fotografia, e- mail, Função exercida etc.. que fará sentido somente o próprio membro poder alterar; Também fará sentido a adição da funcionalidade de alteração da palavra chave utilizada pelo utilizador para se autenticar perante o sistema; Fará também sentido adicionar um mecanismo de adição/ Edição de um pequeno curriculum vitae pessoal de modo a quem visita possa ter uma ideia mais geral do historial de um determinado membro. Página 27 de 76

Para finalizar é apresentado o Use Case respeitante ao modulo dos membros: Figure 12 - UC que modela as funcionalidades disponibilizadas pelo módulo dos membros Página 28 de 76

4 Método / Approach - Implementação Na base do desenvolvimento da aplicação está a tecnologia mais recente da Microsoft para construção de paginas Web dinâmicas. A tecnologia.net. O autor tendo tido cerca de 3 anos de experiência profissional de programação em Visual Basic for applications, seria de esperar que a linguagem de adopção para o desenvolvimento da matriz de actividades fosse o VB.NET, que representava uma curva de aprendizagem menos acentuada. No entanto, a necessidade de colaborar com outros elementos do GSBL que tomaram a linguagem C como a linguagem de eleição, levou o autor a repensar a estratégia inicial, adoptando o C#.NET como linguagem de desenvolvimento. Obviamente, tal representou um atraso, uma vez que a aprendizagem se tornou mais morosa, mas também se tornou numa mais valia para o enriquecimento dos conhecimentos do autor, contribuindo para um balanço positivo. 4.1 Modelação e implementação da bases de dados A plataforma a ser desenvolvida terá por trás toda uma estrutura de base de dados baseada em SQL Server 2000, que irá funcionar como pilar de suporte a toda a aplicação. Toda a estrutura teve de ser construída de raiz baseada no levantamento de necessidades. Vamos então começar por definir as tabelas principais da nossa base de dados. Aparentemente seriam apenas; a tabela, que iria armazenar os dados dos utilizadores e a tabela, que iria armazenar os dados dos projectos. Com a necessidade de existência de varias aplicações a correr de forma independente (por exemplo para controlar sectores distintos de uma empresa), foi necessário criar uma terceira tabela Matriz, que permite seleccionar por exemplo no caso anterior, o sector respectivo. As ligações irão tornar-se mais evidentes para o final da implementação. Página 29 de 76

4.1.1 Utilizadores Figure 13 - Conjunto de tabelas que definem os utilizadores Como é visível pela Figure 13 os Utilizadores são completamente definidos através das 3 tabelas que tem uma ligação de um para um entre a tabela de utilizadores e as restantes. A tabela Utilizadores irá armazenar os dados pessoais mais comuns bem como os dados de segurança password e login. A tabela Curriculum armazena os dados relativos ao currículo do utilizador e finalmente a Utilizadores_Fotos como o próprio nome indica irá armazenar o ficheiro binário da fotografia do utilizador. Página 30 de 76

4.1.2 Projectos Figure 14 - Conjunto de tabelas que definem os projectos Pela Figure 14 tira-se que os Projectos são completamente definidos através das 3 tabelas. Sendo que a Tabela Projecto_Descricao limita-se a ser uma extensão da tabela Projectos (ligação de um para um) tendo como finalidade primária evitar a sobrecarga da tabela projectos obtendo-se assim um ganho em performance. Quanto à tabela tipo_projecto esta tem uma ligação de um para muitos com a tabela projectos tendo como principal função evitar a duplicação de informação do tipo string evitando assim uma sobrecarga desnecessária das bases de dados contribuindo também assim para a melhoria de performance. Página 31 de 76

4.1.3 Associação de membros projectos e matriz Figure 15 - Diagrama que define as relações entre as 3 tabelas principais Estando definidas as três entidades principais é agora necessário associalas de modo compreensível. Vamos começar pelas tabelas de associação à matriz: Matriz_Projectos é uma tabela com uma relação de muitos para um com as tabelas Matriz e Projectos e tem como finalidade adicionar projectos a uma matriz especifica, ou seja não basta definir o projecto na tabela Projectos para automaticamente este passar a existir no espaço da aplicação é necessário associar o mesmo a uma ou mais matrizes; Matriz_Utilizador é uma tabela com uma relação de muitos para um com as tabelas Matriz e Utilizadores e permite a associação de um utilizador a uma matriz especifica. Finalmente a tabela Projecto_Membros irá associar o membro inscrito numa determinada matriz com um qualquer projecto dessa mesma matriz. O campo Quantificação essencialmente é uma referência para a função que irá Página 32 de 76

ser exercida pelo utilizador no projecto em causa e o Papel_Membro uma descrição um pouco mais descritiva do papel desempenhado pelo utilizador. 4.1.4 Associação de função ao utilizador da matriz Figure 16 - Diagrama que define a função exercida pelo utilizador em determinada matriz A relação acima descrita permite associar uma função pre-definida ao utilizador da matriz. Função essa que é armazenada na tabela funcao existindo na tabela Matriz_Uilizador a chave estrangeira funcao_id que permite efectuar a ligação entre as duas tabelas. Na eventualidade de não existir a função exercida pelo utilizador na tabela funcao este irá escolher a referência outras nessa mesma tabela e será criado uma nova função na tabela Outras_funções cuja definição textual será da responsabilidade do utilizador. Página 33 de 76

4.1.5 Associação de documentos aos projectos Figure 17 - Diagrama relacional que define a associação de documentos a um projectos Como foi referido no levantamento de necessidades pretende-se que associado aos projectos existem documentos. Tal funcionalidade é implementada pela tabela Documentos que possui ligação de muitos para um com as tabelas que referenciam os utilizadores e projectos associados à matriz. De modo que para alem de se poder associar um documento a determinado projecto também seja possível saber quem foi o utilizador que efectivamente efectuou a inserção do documento. Adicionalmente a tabela Documentos_area permite associar uma área temática que é dada pela tabela Areas a qualquer documento. Assim será mais fácil para quem visualiza a listagem de documentos perceber a finalidade de certo documento, principalmente quando o projecto for abundante em documentação. Página 34 de 76

4.1.6 Associação de sessões aos projectos Figure 18 - Diagrama relacional que define a associação de sessões aos projectos A ultima funcionalidade que nos falta descrever por meio de estrutura relacional é a criação da entidade sessões. Como foi referindo no levantamento de necessidades tem como principal objectivo efectuar um Tracking do projecto, ou por outras palavras ter uma ideia do progresso/ estado do projecto ( planeamento, implementação, etc...). A relação com os projectos da matriz é conseguida por intermédio da tabela Sessoes, mais propriamente através da chave estrangeira matriz_projectos_id porque pretende-se que um determinado projecto tenha associado um numero indefinido de sessões( ligação de um para muitos entre as tabelas Matriz_Projectos e Sessoes ). Associado as sessões teremos também documentos que também são em numero indeterminado por sessão, logo a ligação de um para muitos entre a tabela Sessoes e a tabela Images que para alem de relacionar os documentos com uma determinada sessão também armazena os ficheiros binários respeitantes aos documentos bem como as suas características ( Nome do ficheiro, tipo, tamanho, etc. ) Página 35 de 76

4.2 Implementação da aplicação Finalizada a modelação de base de dados é chegada a hora de finalmente aplicar toda a informação atrás referida para finalmente construir a nossa aplicação. Como já foi referenciado na parte inicial a arquitectura da aplicação é baseada em camadas, sendo a camada de mais baixo nível o servidor de SQL em que, por uma questão de performance e organização todas as chamadas ao servidor são efectuadas por Stored Procedures (listados no anexo C). A segunda camada é o ASP.NET propriamente dito que foi praticamente todo desenvolvido fazendo uso do Visual Studio.Net fazendo uso da linguagem C#. E a ultima camada que é o código que é enviado para o Browser Javascript. HTML/ DHTM/ Note-se que todas as imagens seguintes são tiradas da versão da matriz que se encontra actualmente em funcionamento para o GSBL, uma vez que a aplicação da mesma ao ainda se encontra em curso. Página 36 de 76

4.2.1 Pagina principal da matriz Figure 19 - Página principal da matriz A Figure 19 mostra o aspecto final da matriz de actividades. O principio de funcionamento é muito simples, os números que cruzam as linhas e colunas permitem de uma forma rápida e precisa saber o peso dos colaboradores nos vários projectos. Para uma informação detalhada de um projecto, incluindo as várias sessões de discussão que já se realizaram ou qualquer actividade que de alguma forma tenha algo em comum com o projecto, documentação, etc. bastará pressionar o botão direito do rato sobre o projecto pretendido e o browser será redireccionada para o módulo de controlo de projectos. Para uma informação detalhada do membro, currículo, dados pessoais, dados de segurança ou mesmo para alterar os seus próprios dados pessoais bastará realizar o mesmo processo mas desta vez pressionando o botão do rato sobre o membro em causa sendo redireccionado para o módulo de controlo dos membros. Página 37 de 76

4.2.2 Módulo de controlo dos projectos Quando o utilizador navega para um dos projectos associados à matriz irá visualizar uma página genérica (Figure 20) que lhe dará a possibilidade de navegar para uma página publica do projecto em causa se este a tiver ou então entrar no espaço do projecto na matriz. Para entrar neste ultimo, se ainda não o tiver feito o membro terá de se autenticar de modo a poder consultar/ modificar a informação relativa ao projecto especifico (Figure 21). É demonstrado de seguida as duas páginas em causa. Note-se a existência na primeira figura de um pequeno cadeado junto ao link Área do projecto na matriz que indica que para navegar para este local é necessário autenticar-se. Figure 20 - Página inicial do modulo dos projectos Página 38 de 76

Figure 21 - Pagina de autenticação Note-se o menu lateral na ultima figura que permite executar certas funções. No caso descrito. Página do projecto irá enviar o utilizador para a página publica do projecto, se tal existir e Home retorna à pagina principal da matriz. Este menu será uma constante em toda a aplicação, sendo no entanto o seu conteúdo dinâmico variando segundo determinados critérios. Uma vez efectuada a autenticação o utilizador depara-se finalmente com a estrutura que implementa a área do projecto na matriz. Mais precisamente o sub-módulo que permite processar sessões (Figure 22). Figure 22 - Página de visualisação das sessões Página 39 de 76

Toda a estrutura de visualização de sessões é baseada em datalist paginado, tendo sido tomado grande atenção aos detalhes pela Eng. Rita Santos de modo a tornar a aplicação o mais intuitiva possível. Juntamente com cada uma das sessões está associada uma pequena cruz vermelha que permite eliminar a sessão em causa, não tendo sido esquecido obviamente a velha mensagem de aviso (Tem a certeza que pretende apagar esta sessão?). Mais existe também um lápis que como seria de esperar permite a edição da sessão. O menu lateral (Figure 23) também ele sofreu alterações, apresentando agora duas novas opções. Uma para efectuar o logout sendo redireccionado para a raiz da aplicação e outra para inserir uma nova sessão. Figure 23 - Menu lateral Vamos agora ver em mais detalhe a inserção/ modificação das sessões (Figure 24 e Figure 25): Página 40 de 76

Figure 24 - Página que permite a modificação das sessões Figure 25 - Página que permite a inserção de novas sessões Página 41 de 76

A modificação/ inserção de sessões (Figure 23 e Figure 24 respectivamente) é um processo bastante simples, bastando preencher todos os campos e pressionando o botão Modificar/ Adicionar é possível Alterar/ Criar respectivamente uma sessão. Se por alguma razão o utilizador não tiver preenchido todos os campos correctamente ( data mal estruturada, campos em branco que não deveriam estar ) o erro é assinalado e é dada a possibilidade ao utilizador de corrigir o erro antes de ser efectuada alguma alteração, ou seja existe uma validação dos dados. Note-se a utilização de um controlo de texto rico (RichTextBox) que permite ter todas as funcionalidades de um editor de texto para a edição dos assuntos. Associado à sessão existe também um mecanismo de upload para os Documentos que irão ter alguma associação com a sessão. Para adicionar qualquer documento basta pressionar o botão Procurar (Browse se o sistema estiver com a linguagem nativa em Inglês ) e escolher em qualquer unidade do sistema operativo o ficheiro a adicionar. No topo da aplicação pode-se verificar pequenas Tabs (Figure 26) que para alem de darem uma ideia do sub-módulo activo permitem navegar para a listagem dos membros associados ao projecto e para o sub módulo de controlo de documentos. Figure 26 - Tabs do módulo de controlo dos projectos De Seguida passamos para o sub-módulo que permite a visualização/ Edição dos dados que associam membros ao projecto (Figure 27). Página 42 de 76

Figure 27 - Página de associação de membros ao projecto Página 43 de 76

O interface é bastante simples e intuitivo sendo a sua compreensão e utilização simples. Para alteração dos dados de um qualquer membro bastará pressionar o pequeno lápis junto da foto respectiva do membro (Figure 28). Figure 28 - Alteração da associação de um membro ao projecto Os campos tornam-se editáveis e o lápis é substituído por um outro com um traço vermelho por cima que cancela a edição e uma pequena disquete que permite gravar as alterações. Como seria de esperar existe validação de dados não sendo possivel a adição de um peso sem descrição. De seguida navega-se para o ultimo sub-módulo do modulo dos projectos, o mecanismo de manutenção de dados associados ao projecto (Figure 29). Página 44 de 76

Figure 29 - Listagem dos documentos associados ao projecto A página é iniciada com uma listagem de documentos actualmente associados ao projecto se este já possuir algum documento, ou uma mensagem a indicar que não existe documentos associados se for esse o caso.(figure 30) Figure 30 - Mensagem indicando a inexistência de documentos associados ao projecto Para inserir um novo documento basta pressionar no menu lateral o link Adicionar documento, sendo imediatamente redireccionado para a página abaixo (Figure 31) Página 45 de 76

Figure 31 - Adicionar documento ao projecto Adicionar documentos é bastante simples bastando escolher os documentos( é possível adicionar dois de cada vez) e as respectivas áreas temáticas. É também possível escolher a ultima opção que irá enviar um e-mail para o coordenador do projecto, avisando que novos documentos foram associados ao projecto. Para modificar os dados de um qualquer documento basta, na listagem dos documentos pressionar o lápis ao lado do respectivo (Figure 32). A maior parte da informação que irá aparecer é puramente informativa sendo possível apenas alterar o nome do ficheiro, a descrição e as áreas temáticas. Note-se as pequenas imagens que tem aparecido ao longo de toda a aplicação no canto superior esquerdo e que permitem apagar o documento (cruz vermelha) gravar alterações (disquete) e cancelar a edição (lápis com risco por cima. Página 46 de 76

Figure 32 - Alterar características de um qualquer documento associado ao projecto 4.2.3 Módulo de controlo dos membros Cenário: Um utilizador chega até á pagina da matriz e pretende consultar informação publica de um qualquer membro, pressiona o botão do rato sobre o nome do membro e será redireccionado para a página abaixo (Figure 33). Se o membro tiver um currículo associado também será possível, fazendo uso das tabs superiores, navegar para a página que permite visualizar o currículo do membro (Figure 34). Se o membro não tiver currículo inserido a tab Curriculum será omitida Figure 33 - Dados pessoais do membro (página publica) Página 47 de 76

Figure 34 - Curriculum vitae do membro (página publica) Note-se a ausência de qualquer opção que permita editar a informação quer para os dados pessoais quer para o currículo, mas a existência de um mecanismo de autenticação por baixo do menu lateral. O utilizador ao autenticar-se no sistema será redireccionado directamente para a sua área pessoal (Figure 35) sendo que apesar de poder continuar a visualizar a informação pessoal de qualquer dos membros, só poderá alterar a sua. Figure 35 - Visualização dos dados pessoais do membro (página privada) Página 48 de 76

Para Alterar os dados pessoais basta ou pressionar o botão do rato sobre o lapis como nos casos anteriores ou fazer uso do menu lateral ( Modificar dados ) sendo o membro enviado para a página seguinte (Figure 36). Figure 36 - Manutenção dos dados pessoais do membro Inicialmente apenas será disponibilizado a alteração dos dados pessoais genéricos, sendo que quando na função for escolhida a opção Outras será disponibilizado ao utilizador uma nova caixa de texto onde o utilizador poderá escrever uma função que não exista na listadas pré-definidas. Expandindo a alteração da Fotografia e a alteração da dos dados de segurança pressionando os links respectivos (Figure 37) é possível a alteração( Inserção se ainda não existir nenhuma) da fotografia do membro e da palavra chave. Toda a inserção de dados é validada, ou seja campos que não podem ser deixados em branco são assinalados, é verificada a coerência da palavra chave antiga, etc.. Página 49 de 76

Figure 37 - Manutenção dos dados pessoais do membro ( expansão dos mecanismos de upload da foto e de alteração da palavra chave) Como pode ser verificado pela (Figure 38) as Tabs associadas ao módulo dos membros disponibiliza todas as funcionalidades já referidas acima. Figure 38 - Tabs do módulo de controlo dos modulos Quanto ao sub-módulo que permite visualiza/ alterar a informação que relaciona o membro a projectos, o funcionamento é similar ao que efectua a associação contrária no módulo dos projectos( formas diferentes de ver a mesma informação) e por isso não será discutido (Figure 39). Página 50 de 76

Figure 39 - Página de associação de projectos ao membro Por ultimo temos o sub-módulo do currículo (Figure 40) que disponibiliza uma listagem de todos os itens do currículo. A única diferença relativamente à pagina publica e a existência de um mecanismo de edição do currículo (lápis/ menu lateral Modificar curriculum vitae ). Navegando para a edição do currículo chega-se à página representada pela Figure 41, onde será possível Alterar/ Eliminar o currículo do membro. Como em outros casos a inserção de dados é toda validada só permitindo gravar alterações quando existir conformidade. Página 51 de 76

Figure 40 - Curriculum vitae do membro (página privada) Figure 41 - Manutenção do curriculum vitae do membro Página 52 de 76