You are on page 1of 55

DEPARTAMENTO DE INFORMÁTICA Faculdade de Ciências - Universidade de Lisboa Bloco C6 - Piso 3 - Campo Grande, 1749-016 Lisboa Tel & Fax

: 351.217500084

RELATÓRIO DE PROJECTO sobre WEB APPLICATIONS realizado na LINK CONSULTING por Bruno Manuel Duarte Bento

Universidade de Lisboa
Faculdade de Ciências

DEPARTAMENTO DE INFORMÁTICA Faculdade de Ciências - Universidade de Lisboa Bloco C6 - Piso 3 - Campo Grande, 1749-016 Lisboa Tel & Fax: 351.217500084

RELATÓRIO DE PROJECTO sobre WEB APPLICATIONS realizado na LINK CONSULTING por Bruno Manuel Duarte Bento

Responsável pela FCUL: Eng. Pedro Antunes Responsável pela LINK CONSULTING : Eng. José Afonso Pires

Lisboa, Junho de 2005

Agradecimentos

Agora que este estágio se encontra concluído, gostaria de deixar algumas palavras de agradecimento às pessoas que tornaram a sua realização possível.

Em primeiro lugar, gostaria de agradecer o acompanhamento dado pelo coordenador do projecto Engº João Assunção, pelo Director da Unidade de Portais & Intranets, Engº José Afonso Pires e pelo Professor da Faculdade de Ciências da Universidade de Lisboa, Pedro Antunes, que tiveram a disponibilidade para rever e dar opiniões sobre o documento. Sem eles, o texto teria muitas mais gralhas do que certamente possui.

Gostaria de agradecer aos meus colegas de trabalho deste projecto e também, de um modo geral, a todos os colegas da Unidade de Portais & Intranets, de entre os quais destaco a Drª Cintia Cardoso, o Engº Paulo Monteiro e o Engº Paulo Mateus que contribuíram significativamente para os conhecimentos que hoje possuo.

Finalmente, à minha família, um enorme pedido de desculpas por estar tão ausente e não passar, nem de perto nem de longe, o tempo suficiente com eles. É devido a eles que posso ser quem sou e a quem tudo devo.

Lisboa, Junho de 2005 Bruno Bento

Indíce

1 1.1 1.2 1.3 1.4 2 2.1 2.2 2.3 2.4 3 3.1 3.2 3.2.1 3.2.2 3.2.3 3.2.4 3.2.5 3.3 3.3.1 3.3.2 3.4 3.4.1 3.4.2 3.4.3 3.5 4

INTRODUÇÃO .....................................................................................................................6
APRESENTAÇÃO DO PROJECTO ............................................................................................... 7 INSTITUIÇÃO LINK ................................................................................................................. 7 ESTRUTURA DO RELATÓRIO .................................................................................................... 9 RESUMO DO TRABALHO REALIZADO ...................................................................................... 9

OBJECTIVOS DO PROJECTO E CONTEXTO DO TRABALHO .............................10
OBJECTIVOS DO PRÉ-PROJECTO ........................................................................................... 11 OBJECTIVOS DO PROJECTO ................................................................................................... 11 PLANO INICIAL DO PROJECTO ............................................................................................... 12 CONTEXTO DO TRABALHO..................................................................................................... 13

METODOLOGIA E CALENDARIZAÇÃO DO TRABALHO......................................16
METODOLOGIA DE GESTÃO DE PROJECTOS ......................................................................... 17 MODELO DE DESENVOLVIMENTO ......................................................................................... 17 FASE DE VISÃO..................................................................................................................... 18 FASE DE CONCEPÇÃO ........................................................................................................... 18 FASE DE IMPLEMENTAÇÃO................................................................................................... 19 FASE DE TRANSIÇÃO ............................................................................................................ 19 FASE DE OPERAÇÃO ............................................................................................................. 20 ANÁLISE DO RISCO ................................................................................................................. 20 IDENTIFICAÇÃO DOS RISCOS ................................................................................................ 21 GESTÃO DOS RISCOS ............................................................................................................ 21 RECURSOS ............................................................................................................................... 22 ORGANIZAÇÃO E CONTROLO DO PROJECTO ........................................................................ 23 RECURSOS DE HARDWARE ..................................................................................................... 25 RECURSOS DE SOFTWARE...................................................................................................... 25 CALENDARIZAÇÃO FINAL DO TRABALHO ............................................................................. 27

TRABALHO REALIZADO ...............................................................................................28

4.1 TRABALHO REALIZADO NO PRÉ-PROJECTO ......................................................................... 29 4.1.1 NA SONAE MCH .................................................................................................................. 29 4.1.2 NO PEP ................................................................................................................................ 30 4.1.3 NO EBANKA ......................................................................................................................... 30 4.2 TRABALHO REALIZADO NO PROJECTO ................................................................................. 32 4.2.1 ARQUITECTURA TECNOLÓGICA ........................................................................................... 32 4.2.2 .NET FRAMEWORK E LINGUAGEM C# .................................................................................... 33 4.2.3 ARQUITECTURA FÍSICA ........................................................................................................ 36 4.2.4 ARQUITECTURA LÓGICA ...................................................................................................... 36 4.2.5 PLANO DE TESTES................................................................................................................. 47 4.2.6 TRABALHO REALIZADO POR MIM ......................................................................................... 48 5 5.1 SUMÁRIO E CONCLUSÕES............................................................................................49
SUMÁRIO ................................................................................................................................. 50

Relatório do Projecto em Engenharia Informática

Página 4 de 62

Indíce
5.2 6 7 7.1 7.2 8 8.1 8.2
CONCLUSÕES .......................................................................................................................... 50

GLOSSÁRIO .......................................................................................................................51 BIBLIOGRAFIA E REFERÊNCIAS................................................................................53
ENDEREÇOS WEB .................................................................................................................... 54 LIVROS E DOCUMENTOS ........................................................................................................ 54

ANEXOS ..............................................................................................................................56
ANEXO I – MODELO DE DADOS .............................................................................................. 57 ANEXO II – FIGURAS .............................................................................................................. 58

Relatório do Projecto em Engenharia Informática

Página 5 de 62

1 INTRODUÇÃO Relatório do Projecto em Engenharia Informática Página 6 de 62 .

Leiria. O estágio desenrolou-se na Unidade de Portais & Intranets (UPI). 23. que pretende que seja construído um Sistema de Informação com o objectivo de fazer a gestão de todo o seu processo de negócio. integração.iambiente. cujo propósito foi procurar desenvolver este património técnico. no contexto da reorganização das actividades do INESC.pdf . A LINK foi uma das empresas que solicitou um estágio à FCUL no qual fui integrado. O SIMLIS é uma empresa concessionária do Sistema Multimunicipal de Saneamento do Lis com vista à recolha. Esta empresa teve origem na transformação em estrutura empresarial dos Centros de Transferência de Tecnologia do INESC da área de Informática e Computadores. A LINK tem como “Missão” tornar os clientes líderes no alinhamento. numa empresa do país. 1. Neste capítulo faço a apresentação do estágio. Ourém e Porto de Mós. que veio a dar origem à LINK. com o objectivo de aí efectuar um Projecto em Engenharia Informática do Curso de especialização profissional em Engenharia da FCUL. desde 1 de Setembro de 2004 a 31 de Maio de 2005. durante um período de 9 meses. Duque D’Ávila. no âmbito dos Programas PEDIP. uma descrição da estrutura do relatório e uma pequena apresentação daquilo que fiz durante o estágio. Importa referir. decidiram os respectivos sócios efectuar o “spin-off” destas actividades numa única empresa. O projecto em causa é para o cliente Sistema Mutimunicipal do rio Lis do Saneamento Integrado (SIMLIS). em Lisboa. 1. A LINK.1 APRESENTAÇÃO DO PROJECTO Este projecto visa a integração de alunos da FCUL. bem como soluções de Comunicações móveis e de Portais de Voz e WAP.Introdução Este documento relata o estágio efectuado por mim. Estes Centros tinham sido criados em 1991 com base num contrato estabelecido com o PEDIP. na empresa link consulting (LINK). desenvolvimento e operacionalização de modelos de negócio electrónico e em consultoria e desenvolvimento de infra-estruturas de Telecomunicações. a origem e quais as funções da LINK. eficácia e segurança dos seus processos com as Tecnologias de Informação. nomeadamente na UPI. que tenham concluído os primeiros quatro anos da Licenciatura em Informática. Marinha Grande.pt/IPAMB_DPP/docs/SE131.2 INSTITUIÇÃO LINK Como já foi dito o estágio desenrolou-se na LINK. através da sua Relatório do Projecto em Engenharia Informática Página 7 de 62 . A LINK está situada na Av. criada em 1999. Dado ser essa a situação dos Centros da área de Informática e Computadores. é uma empresa de consultoria e serviços que intervém nas áreas de consultoria. No espírito original do contrato com o PEDIP existia o objectivo de que as actividades dos Centros de Transferência de Tecnologia viessem a ser totalmente suportadas por mecanismos de mercado. tratamento e rejeição de efluentes dos municípios de Batalha. Um projecto de execução SIMLIS pode ser encontrado na Internet em http://www. de forma resumida. aluno da Licenciatura em Informática da Faculdade de Ciências da Universidade de Lisboa.

Introdução experiência. Relatório do Projecto em Engenharia Informática Página 8 de 62 . E como “Visão” ser reconhecida entre as melhores empresas de consultoria e engenharia no sector das Tecnologias de Informação no país. competência e continua inovação em consultoria e engenharia de sistemas de informação. Figura 2 – Novos mercados onde a LINK aposta. pelos profissionais que aspiram a grandes desafios e pelos investidores que pretendem um investimento sólido. procurada pelos clientes que têm problemas complexos. Os principais clientes são os seguintes: Figura 1 – Principais clientes da LINK. A LINK também aposta na penetração de novos mercados.

são apresentados o Glossário. para a construção da aplicação para gestão de todo o processo de negócio do SIMLIS. com a duração de cerca de 2 meses. a Bibliografia e os Anexos usados. Relatório do Projecto em Engenharia Informática Página 9 de 62 . O quarto capítulo apresenta o Trabalho Realizado em fase de pré-projecto. a apresentação da instituição onde decorreu. 1. Na primeira. Refere também qual a minha colaboração concreta no projecto. tratando-se no essencial de uma introdução técnica ao tema.4 RESUMO DO TRABALHO REALIZADO De uma forma breve e sucinta. foi passado a realizar um relatório sobre todo o trabalho efectuado no período de estágio. onde é apresentado o estágio. E a segunda. o último mês de estágio. e na fase de projecto. para autoformação (com acompanhamento) em novas tecnologias e integração em equipas de projectos para a realização de pequenas tarefas. No terceiro capítulo é relatada a Metodologia de Trabalho usada no desenvolvimento do mesmo e a respectiva Calendarização. do qual resultou na integração em equipas de projecto e liberdade de autonomia. Por fim. podemos dividir o estágio em duas fases. O quinto capítulo apresenta um Sumário daquilo que foi feito e adicionalmente relata a Conclusão do Relatório. Por fim. documentando aquilo que foi feito e quais as ferramentas utilizadas. Adicionalmente desenvolve o Contexto de Trabalho do Projecto. Apresenta as várias abordagens estudadas para atingir os objectivos definidos e detalha aquela que foi escolhida.Introdução 1. a estrutura do relatório e um resumo do trabalho realizado. O segundo capítulo apresenta os Objectivos do Projecto e o plano inicial que foi elaborado para se atingir os mesmos.3 ESTRUTURA DO RELATÓRIO O primeiro capítulo é constituído pela a Introdução.

2 OBJECTIVOS DO PROJECTO E CONTEXTO DO TRABALHO Relatório do Projecto em Engenharia Informática Página 10 de 62 .

Net. contida nos imensos volumes de processos existentes. Adquirir experiência profissional. Os objectivos focaram com aspectos tecnológicos bem como os relativos a questões de metodologia de trabalho. Relatório do Projecto em Engenharia Informática Página 11 de 62 . uma aplicação informática útil para o SIMLIS e que siga as especificações efectuadas e aprovadas. de uma forma mais pormenorizada. De seguida será efectuada a descrição. Aprofundamento da capacidade de redacção de relatórios. Do mencionado anteriormente destacam-se: Aprendizagem da plataforma .Objectivos do Projecto e Contexto do Trabalho 2. em particular dos WebServices. Em termos da integração na equipa de projecto. Actualmente os colaboradores do SIMLIS têm a necessidade de aceder a diversa informação díspar e não relacionada. 2. Contacto com a documentação funcional e técnica.2 OBJECTIVOS DO PROJECTO Nesta secção serão descritos os objectivos da fase de projecto. ou seja. Autonomia na realização de tarefas de desenvolvimento. Realização de testes unitários aos componentes desenvolvidos. Contudo. é importante mencionar outros objectivos que estiveram sempre presentes e que são: A integração numa equipa de projecto. Interiorizar a metodologia de desenvolvimento de projectos. Desenvolvimento de competências de programação. Sabe-se que o objectivo principal é o resultado prático do projecto. foram definidos os seguintes objectivos: Análise de documentos de requisitos a fim de alcançar o desenvolvimento de componentes.1 OBJECTIVOS DO PRÉ-PROJECTO Esta secção encarrega-se de apresentar os objectivos da fase de pré-projecto de uma forma resumida. Elaboração do manual do utilizador. no que toca ao aplicativo a implementar. os principais objectivos deste projecto.

Este projecto foi elaborado por uma equipa de consultores. As funcionalidades a implementar no futuro são descritas no capítulo 5. O plano do projecto é algo que será actualizado ao longo do tempo. Registar. 2. os processos que se encontram no SIMLIS nem sempre se encontram à disposição e em bom estado de conservação ou não se sabe onde estão armazenados. A partir das páginas ASP.2. Deste modo. No que toca a aspectos técnicos. DH. a interface da aplicação perante o utilizador é baseada em HTML produzido por ASP.NET no sistema WWW é que permite o acesso à informação através de diversos locais e podendo eventualmente aceder com diversos dispositivos. A solução apresentada tem como objectivo reduzir a circulação do volume de papel em que assentam os processos.NET pode-se aceder a toda a informação armazenada na Base de Dados (SQL Server 2000 SP2 com Reporting Services). bem como efectuar a gestão dos dados. No capítulo 4.NET. Pesquisar e Consultar informação relativa a Parcelas e Interessados. Com este sistema a SIMLIS pretende atingir os seguintes resultados: Importar a informação contida em Excel para um repositório único. os utilizadores podem aceder à informação a partir de qualquer PC instalado no interior do SIMLIS ou através de um PC externo com ligação à Intranet (caso sejam cumpridos todos os requisitos em termos de configuração de rede e segurança). demorando por vezes muito tempo até que se encontrem. Relatório do Projecto em Engenharia Informática Página 12 de 62 . tornando impossível a sua consulta e mesmo tornando difícil o controlo dos prazos estipulados. com a ajuda de uma Base de Dados Relacional e uma aplicação para gerir a mesma. Uma das grandes vantagens de se ter utilizado documentos ASP. O modelo de desenvolvimento da aplicação é constituído por diversas fases que serão abordadas com maior detalhe no capítulo 3. Por outro lado. diminuir o tempo de apreciação dos processos de constituição de expropriação e ter um registo sobre os contactos efectuados. são apresentadas as funcionalidades implementadas por mim durante o projecto. recursos e riscos envolvidos na elaboração do mesmo. Estes problemas são facilmente ultrapassados. Registar a obtenção de licenças RAN. e que sirva de apoio à decisão com base em toda a informação e historial que a Base de Dados disponibiliza.1.6.2.Objectivos do Projecto e Contexto do Trabalho Por vezes alguns processos podem estar entregues a uma entidade externa por um determinado período de tempo. registo da documentação e controlo de pagamentos.3 PLANO INICIAL DO PROJECTO O planeamento de um projecto é algo bastante importante e que nos dá uma perspectiva do tempo necessário. Registar e controlar os pagamentos a titulo de indemnização e compensatórios efectuados aos proprietários. REN.

Dizer que o processo de Expropriação consiste na aquisição de uma propriedade privada mediante o pagamento de uma indemnização e o processo de Servidão consiste na autorização de passagem de tubagens pelo terreno de outrem. vou desenvolver o principal objecto de trabalho. É preciso referir todas as entidades que são envolvidas e como funcionam. Servidões e Expropriações. No capítulo 3. o projecto desenrolou-se na UPI (instalações da LINK) e por fim é instalado nas instalações do cliente SIMLIS em Leiria. Relatório do Projecto em Engenharia Informática Página 13 de 62 . Ao longo deste capitulo.5 é apresentada a Calendarização Final. que corresponde ao verdadeiro tempo despendido no projecto. é algo demasiado vago.4 CONTEXTO DO TRABALHO Em termos de localização. sobre o qual incidiu o trabalho.Objectivos do Projecto e Contexto do Trabalho ID 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 33 34 35 36 37 38 39 40 41 42 Task Name 22 SMLS_04_0269 Gestão do Projecto Planeamento Start Up Controlo Encerramento Desenho e Concepção Levantamento das Interfaces Aplicacionais Elaboração da Arquitectura de Informação Arquitectura de Informação Aprovada Especificação de Requisitos Funcionais Especificação de Requisitos Funcionais Aprovada Elaboração do Guião Interactivo Guião Interactivo Aprovado Concepção do Design Gráfico Design Gráfico Aprovado Desenho dos Ambientes e Sistemas Desenho dos Ambientes e Sistemas Aprovado Especificação de Testes de Aceitação Desenho Técnico Desenvolvimento Desenvolvimento e Parametrização Importação de dados Fim do Desenvolvimento Testes de Integração Transição Infra Estrutura Documentação Formação Testes de Aceitação Correcções Entrada em Produção 01-27 01-10 12-09 12-07 12-03 12-02 11-26 11-24 01-27 01-28 '04 Dec 29 06 13 20 '05 Jan 03 10 '05 Feb 24 31 07 27 17 Figura 3 – Calendarização Inicial A Calendarização apresentada anteriormente trata-se da Calendarização Inicial proposta pela equipa LINK tendo em conta os requisitos e envolvimento da equipa do cliente. 2.

Após este processo o valor de indemnização será estabelecido pelo tribunal. Parcela representa uma área de terreno necessário para a implantação da infraestrutura. Infra-estrutura responsável pelo transporte efluente. o Publicação dos Editais. Projecto é uma empreitada de execução de determinadas infra-estruturas dos diversos subsistemas. o Primeira notificação aos interessados das parcelas que não têm acordo. no entanto. Relatório do Projecto em Engenharia Informática Página 14 de 62 . que pode ser resolvido a qualquer altura. o Garantias Bancárias. poderá ainda ser constituído por Estações Elevatórias.Objectivos do Projecto e Contexto do Trabalho De seguida irei descrever. DUP é a Declaração de Utilidade Pública emitida pelo Ministério do Ambiente. O processo de litígio é único por parcela e é decomposto em dois processos sequencias. Vistoria é a identificação de todas as características da parcela por um perito nomeado pelo tribunal. do sistema de saneamento da área de intervenção do SIMLIS. Se não existir acordo para a utilização da parcela com pelo menos um dos interessados então a parcela encontra-se em litígio. o propósito de cada um dos tipos de entidades envolvidas e como funcionam. Vistoria e Arbitragem. Se após este processo se mantiver o litígio então será despoleta a arbitragem. O processo de litígio é concluído sem no entanto se ter chegado a acordo com os interessados. Para este processo é necessário juntar determinados documentos dos quais vão ficar registados os seguintes: o Licenças de RAN e REN no caso de existir alguma parcela com estas naturezas. Numa parcela é construída somente uma infra-estrutura e pode ser possuída por vários interessados. detalhadamente. Litigio é o conjunto dos processos legais para a entrada no terreno e registo da servidão no caso de não existir acordo. Confrontações consiste na identificação de objectos/terrenos que confinam com a parcela. Arbitragem é a avaliação da parcela por um perito nomeado pelo tribunal. onde o perito vai avaliar a parcela e emitir o relatório a enviar para o tribunal. para o SIMLIS e para os proprietários. ETAR e Emissários). Uma infra-estrutura pertence a um único subsistema e projecto e pode ser construída em várias parcelas. Um mesmo projecto poderá envolver obras em diversos subsistemas. Subsistema é um conjunto de todas as infra-estruturas com unidades finais de tratamento (bastar ter uma ETAR para já ser um subsistema.

A mesma entidade se associada a mais de uma parcela. Cada pagamento contem referências dos documentos associados ao pagamento. Relatório do Projecto em Engenharia Informática Página 15 de 62 . a identificação da DUP obtida. se uma mesma carta for enviada a múltiplos interessados de uma parcela. do SIMLIS para o exterior identificada por nº de ordem interno indexado ao ano. procuradores e outros utilizadores) . Referência Documento identifica a referência para um documento físico arquivado. arrendatário. do exterior para o SIMLIS. Pagamento identifica um pagamento efectuado pelo SIMLIS no âmbito de obtenção de contracto de servidão para uma parcela. resulta em vários contactos efectuados. Correspondência é de entrada. Após a obtenção de DUP. Um pagamento pode ter mais do que um documento associado. Um pagamento somente é efectuado para uma parcela. Um interessado só existe no contexto de uma parcela. Correspondência é a entidade que representa um contacto de correspondência do SIMLIS. Uma despesa é associada a um pedido de pagamento. o Contacto – notificações. é tratada como sendo interessados diferentes. Pedido Pagamento é o conjunto de todos os documentos que comprovam a ocorrência das despesas elegíveis das respectivas candidaturas aos fundos comunitários e que permitem receber os respectivos subsídios. Pagamentos com valores negativos são recebimentos. o Pagamento – documentos associados a pagamentos. documentos enviados a interessados de parcelas. o Pedido DUP – documentos manipulados no âmbito de um pedido DUP.Objectivos do Projecto e Contexto do Trabalho A DUP é pedida para cada infra-estrutura com parcelas sem acordo e todos os interessados dessas parcelas notificados. Um interessado pode ser contactado pelo SIMLIS várias vezes. Para um mesmo pedido de pagamento e parcela uma despesa de uma dado tipo é única. Despesa é o conjunto de todos os documentos que comprovam a ocorrência das despesas elegíveis por parcela e tipo de pagamento. Cada contacto contem as referências dos documentos enviados ao interessado. Um contacto somente é efectuado a um interessado. Um pedido pagamento é o conjunto de todas as despesas. Correspondência é de saída. Um contacto pode ter mais do que um documento enviado. que ainda não tenham DUP definida. Correspondência é sempre dirigida a um destinatário. Contacto identifica uma comunicação entre o SIMLIS e um interessado. Várias entidades contêm referências a documentos nomeadamente: o Parcela – documentos associados a uma parcela. Interessados são todas as entidades envolvidas na parcela (proprietário. é associada às parcelas. da infra-estrutura.

3 METODOLOGIA E CALENDARIZAÇÃO DO TRABALHO Relatório do Projecto em Engenharia Informática Página 16 de 62 .

Figuras. encontra-se representado na Figura 4 Metodologia de Gestão de Projectos da LINK. Pelo contrário. deve seguir uma metodologia que combine métodos compreensivos para todas as fases do trabalho. Este modelo resulta da adaptação do modelo seguido pelo Project Management Institute (PMI) e é aplicável a qualquer tipo de projecto. de acordo com o plano de projecto. sendo tomadas decisões apenas quando preciso. para se passar ao processo de encerramento. engloba na sua estrutura organizacional uma área designada por Project Support Office (PSO). Esta metodologia tem como objectivo ajudar ao planeamento das tarefas de cada fase do desenvolvimento. ou quando é assegurada pelos fluxos de reporting de progresso da execução dos trabalhos. e cada ciclo resulta numa nova release da aplicação.Metodologia de desenvolvimento da LINK.2 MODELO DE DESENVOLVIMENTO O desenvolvimento de software é um processo complexo.Metodologia e Calendarização do Trabalho 3. Podemos observar que o modelo divide-se em cinco macro-processos que respeitam ao arranque do projecto. Entre os processos de execução e de controlo verifica-se um ciclo que só é quebrado quando estão criadas as condições. consciente da importância da gestão dos seus projectos. ou dependendo totalmente na qualidade das tecnologias disponíveis. O modelo apresentado processa-se em ciclos. O modelo de desenvolvimento usado foi o Modelo da LINK que é uma metodologia iterativa que segue uma instanciação do RUP. Este modelo é apresentado esquematicamente na Figura 5 . controlo e encerramento do projecto. no anexo II . desenvolveu uma metodologia para esse efeito e tem vindo a desenvolver sistemas de informação de suporte à mesma. que não deverá ser realizado ao acaso. definido quer devido à necessidade de lançamentos faseados com funcionalidade incremental. no anexo II . O PSO tem como missão garantir a qualidade da gestão dos projectos LINK.“Metodologia de Gestão de Projectos”. Isto processa-se usualmente de acordo com um plano de releases. Cada um dos macro-processos acima referenciados encontra-se detalhado no documento de referência da Link Consulting (2004) . aplicável a qualquer tecnologia escolhida. 3. técnicas para assegurar a qualidade do software e uma filosofia de coordenação. O modelo de gestão de projectos da LINK. ferramentas de desenvolvimento.1 METODOLOGIA DE GESTÃO DE PROJECTOS A LINK.Figuras. independente da tecnologia envolvida. Relatório do Projecto em Engenharia Informática Página 17 de 62 . como se pode observar. execução. ao planeamento. quer por ser exigida a construção prévia de protótipos que têm que ser evoluídos para os produtos finais. dos quais é obtido feedback que se poderá traduzir na aprovação dos trabalhos executados ou em pedidos de correcção. que não está disponível*. controle e gestão dos recursos disponíveis. bem como a definição da melhor forma de as realizar.

inicia-se a fase de Transição. para o desenvolvimento da próxima release da aplicação. Esta fase termina com o roll-out (entrega) definitivo da aplicação e a sua disponibilização aos utilizadores em geral. Os principais critérios de avaliação da Fase de Concepção são normalmente os seguintes: A estabilidade da visão da aplicação. por vezes evidenciada com alguns casos de uso iniciais.2. É durante a Fase de Visão que se estabelecem as regras de negócio para a aplicação a desenvolver e se define o âmbito do projecto.2 Fase de Concepção A Fase de Concepção tem como objectivo a análise e desenho da aplicação. Alguns dos principais critérios a ter em conta na Fase de Visão são: A concordância dos vários intervenientes relativamente ao âmbito e estimativas. A credibilidade das estimativas. O tratamento e resolução dos maiores riscos técnicos. de forma a ser possível predizer com certeza o esforço necessário para completar o desenvolvimento. Os resultados expectáveis desta fase são apresentados de seguida: Uma visão genérica dos requisitos fundamentais. Elaboração de um ou mais protótipos. esta deve assegurar o acordo relativamente aos objectivos a serem desenvolvidos.1 Fase de Visão A primeira Fase de Visão coincide normalmente com a elaboração da proposta. Quando a aplicação está pronta a entrar em operação. 3. As actividades desta fase asseguram a estabilidade da arquitectura e requisitos e a minimização dos riscos.2. A passagem para a Fase de Implementação ocorre no final da fase de desenho. riscos e o processo de desenvolvimento. prioridade. 3. apenas disponível a um conjunto restrito de utilizadores.Metodologia e Calendarização do Trabalho A passagem da Fase de Visão para a Fase de Concepção dá-se sempre que há uma definição de objectivos a desenvolver. Retoma-se então a fase de Visão. Genericamente. A compreensão dos requisitos essenciais. características chave e constrangimentos principais da aplicação a desenvolver. A estabilidade da arquitectura. normalmente com uma release beta (também conhecida como piloto). os resultados da Fase de Concepção são em geral os seguintes: Relatório do Projecto em Engenharia Informática Página 18 de 62 .

codificação. conteúdo a descrição de release. integradas numa release e cuidadosamente testadas. Ser acompanhado de uma primeira versão dos manuais de utilização e instalação.3 Fase de Implementação Durante a fase de implementação. O desenho detalhado. A revisão da lista de riscos e do caso de negócio apresentado na visão. são produzidos um conjunto de documentos que descrevem o resultado da análise de concepção da aplicação. integração e documentação. por forma a ser disponibilizado à comunidade de utilizadores. Levantamento das entidades. desenho. A concorrência dos intervenientes de que a aplicação está consciente com a visão inicial. Este deverá no mínimo compreender os seguintes aspectos: Estar integrado nas plataformas adequadas. Relatório do Projecto em Engenharia Informática Página 19 de 62 .Metodologia e Calendarização do Trabalho O modelo de casos de uso e a captura de requisitos suplementares. As estimativas por caso de uso devem incluir as fases de análise. não funcionais. Disponibilizar a release final da aplicação. da forma mais rápida e prática. Os critérios de avaliação para esta Fase de Implementação são: A estabilidade e maturidade do desenvolvimento. ou seja conseguir: A autonomia dos utilizadores fase ao suporte. 3. A Fase de Concepção termina com as estimativas dos tempos de implementação por parte da equipa de desenvolvimento. A preparação de todos os intervenientes para a transição da aplicação.2. Nesta fase. não associados a um caso de uso especifico. testes unitários. O desenho da interface com o utilizador. O resultado desta fase é “uma aplicação” pronta a ser disponibilizada aos seus utilizadores finais.4 Fase de Transição O objectivo principal da Fase de Transição é fazer transitar a aplicação para a sua comunidade de utilizadores. Resultados dos testes. todas as componentes e funcionalidades da aplicação são desenvolvidas.2. 3.

Relatório do Projecto em Engenharia Informática Página 20 de 62 . 3.“Metodologia de Desenvolvimento de Aplicações Workflow”. Alterações que resultem de mudanças face aos requisitos especificados nos documentos produzidos na Fase de Concepção. Testes. é o estudo e escolha de medidas alternativas que permitam minimizar e controlar os riscos. João (2003) . A Fase de Transição inclui o seguinte: Testes para validar o sistema relativamente às expectativas dos utilizadores. porque nem todos os projectos estão sujeitos aos mesmos riscos.3 ANÁLISE DO RISCO Sempre que somos confrontados com um projecto de desenvolvimento de software. ou seja. a fase de operação compreende a garantia da aplicação. Se é o caso. 3. a operação paralela com as aplicações que está substituir. Cada uma das fases mencionadas anteriormente encontra-se detalhada no documento de referência de Assunção.Metodologia e Calendarização do Trabalho A Fase de Transição inicia-se sempre que o desenvolvimento se encontra “maduro” o suficiente para ser disponibilizado aos seus utilizadores finais. Se é o caso. Os critérios de avaliação para esta fase centram-se exclusivamente na satisfação dos seus utilizadores. Isto requer tipicamente que um subconjunto das funcionalidades sejam completadas a um nível aceitável de qualidade. a identificação dos riscos inerentes ao projecto em questão. conversação de base de dados operacionais. que assegura apenas a manutenção correctiva dos desenvolvimentos efectuados pela LINK. A garantia exclui os aspectos como os seguintes: O suporte a anomalias de sistemas externos. A análise do risco é constituída por duas actividades.2. e que a documentação para os utilizadores esteja disponível de forma que a transição forneça resultados positivos a todas as partes. a segunda é a gestão dos riscos identificados na actividade anteriormente.5 Fase de Operação No caso da metodologia de desenvolvimento de aplicações da LINK. No final desta fase decide-se se os objectivos da visão foram atingidos e se deve iniciar outro ciclo de desenvolvimento. sendo a primeira. Formação dos utilizadores e administradores. temos que ter em conta a análise do risco relacionada com processo de desenvolvimento. que não se encontra disponível*.

Contudo foi atribuída uma Relatório do Projecto em Engenharia Informática Página 21 de 62 . riscos técnicos e riscos de negócio.3. o Impossibilidade de garantir a manutenção do sistema. Riscos técnicos o Interface inapropriada para o tipo de utilizador. Entretanto foi utilizada tecnologia sobre a qual nunca tinha sido usada e como tal não se sabia dar uma estimativa exacta. são apresentadas as medidas que poderão permitir minimizar e controlar cada um dos riscos indicados. Riscos de negócio o Falta de formação dos utilizadores.3.2 Gestão dos Riscos Finalmente. 3. o Atraso na entrega do produto final. o Tecnologia inadequada.Metodologia e Calendarização do Trabalho De seguida são apresentados os que foram mais importantes no projecto e como foram abordados. No inicio do projecto foram definidos os recursos de hardware e software necessários. Riscos do projecto o Interpretação incorrecta dos requisitos do cliente. o Desenvolver um produto cujo custo final seja muito elevado. Os que mais poderão influenciar o projecto a ser desenvolvido são: Riscos de projecto o Interpretação incorrecta dos requisitos do cliente. 3. o Perder o apoio da direcção do SIMLIS. o Desenvolver um produto que não venha a ser utilizado.1 Identificação dos Riscos Os riscos que vamos enfrentar são de três tipos: riscos de projecto. O contacto por parte da direcção do SIMLIS com a aplicação que estava a ser desenvolvida permitiu que qualquer erro resultante de má interpretação fosse corrigido de imediato. o Desenvolver um produto cujo custo final seja muito elevado.

o Perder o apoio da direcção do SIMLIS. A melhor maneira de combater este risco foi a criação de documentação. só quando os utilizadores começarem a utilizar a aplicação é que podemos tirar conclusões. Este risco foi combatido com a escolha das tecnologias mais poderosas que existem actualmente no mercado. para auxiliar os programadores e informar sobre todos os passos do processo de desenvolvimento de software. Para evitar este risco foi necessário levar a sério a calendarização do projecto. o Impossibilidade de garantir a manutenção do sistema.Metodologia e Calendarização do Trabalho tarefa para autoformação na tecnologia em questão tendo em conta os recursos monetários disponíveis. preparar adequadamente as restantes e controlar os prazos definidos para a realização de cada uma. o Tecnologia inadequada. Riscos de negócio o Falta de formação dos utilizadores. Contudo. assim como o grau de conhecimento e objectivos dos utilizadores da aplicação. Também será fornecido um Manual do Utilizador para ajudar os utilizadores na utilização do sistema. No entanto.4 RECURSOS Para que o planeamento efectuado seja cumprido é necessário dispor de recursos humanos. certificar-se das tarefas já concluídas. Este risco é travado com o fornecimento do Manual do Utilizador e através de formação dada pelos responsáveis da LINK aos utilizadores finais. Riscos técnicos o Interface inapropriada para o tipo de utilizador. Este risco poderá ser superado no futuro com a adaptação da nova tecnologia através do processo de migração. 3. No entanto tentou-se identificar o melhor possível o domínio da aplicação. hoje em dia. Este risco segue as medidas a serem tomadas no risco da “Interface inapropriada para o tipo de utilizador”. as aplicações da Web. o Atraso na entrega do produto final. de hardware e de software. o Desenvolver um produto que não venha a ser utilizado. sabe-se que no futuro aparecerão novas tecnologias mais potentes. têm vindo a ser muito populares daí que se opta-se pela criação de ecrãs da aplicação sob a forma de páginas HTML. de acordo com a calendarização. É conveniente manter a direcção informada em relação ao estado do processo de desenvolvimento de software. Quanto a este risco. Relatório do Projecto em Engenharia Informática Página 22 de 62 .

4. A elaboração e distribuição de relatórios periódicos de situação do projecto. bem como o planeamento das acções de resposta aos mesmos. bem como os canais e processos de comunicação. assegurando a comunicação com os vários stakeholders. A constituição e gestão da equipa de projecto e a direcção das reuniões com a equipa de projecto.Metodologia e Calendarização do Trabalho 3. tempo.1 Organização e Controlo do Projecto 3. nomeadamente âmbito. A garantia da correcta identificação e quantificação dos riscos do projecto. O gestor de projecto do cliente tem como responsabilidades: Relatório do Projecto em Engenharia Informática Página 23 de 62 .4. qualidade e organização. identificando desvios e propondo acções correctivas. da LINK tem como responsabilidades: O planeamento e controlo dos objectivos do projecto.1. comparando a situação actual face ao planeado. capazes de assegurarem o sucesso do projecto. Figura 6 – Organização do Projecto O Gestor de Projecto.1 Organização do Projecto A Organização do Projecto apresentada tem como objectivo definir os níveis de responsabilidade e decisão. O controlo do projecto. Engº João Assunção. custos.

aptos a definirem os requisitos funcionais e de desempenho da solução. na elaboração dos relatórios de progresso do projecto. Assegurar. assegurando a comunicação com a Gestão do Projecto. Reuniões de controlo de projecto. da LINK tem como responsabilidades: O planeamento e controlo do processo de desenvolvimento de software. A Equipa do Cliente tem como responsabilidades: A Equipa do Cliente. coordenada pelo Responsável Técnico na vertente de execução técnica e pelo Gestor de Projecto da LINK na vertente de gestão de recursos humanos. A decisão sobre as opções tecnológicas que melhor se enquadrem face aos requisitos da solução a desenvolver.4. tem como responsabilidades: A equipa de consultores.1. Engº Carlos Dias e por mim. A garantia da qualidade do software desenvolvido. conjuntamente com o gestor de projecto da LINK. conjuntamente com o gestor de projecto da LINK. especialmente nos componentes definidos sendo da responsabilidade da sua organização. bem como de verificarem a conformidade da solução final face aos requisitos. Colaborar. testes de carga e desempenho).Metodologia e Calendarização do Trabalho Assegurar e coordenar o envolvimento dos elementos da sua organização de acordo com o definido no plano do projecto. A distribuição da execução das tarefas de garantia de qualidade (especificação de requisitos. Relatório do Projecto em Engenharia Informática Página 24 de 62 . testes de integração. constituída por Engº Paulo Mateus. assegurará a execução de todas as actividades de acordo com o planeamento acordado. cuja coordenação é da exclusiva responsabilidade do Gestor de Projecto do Cliente. Engº Paulo Mateus. Bruno Bento. o controlo do projecto. especificação de testes) e de controlo de qualidade (testes de unidade.2 Controlo do Projecto Para efectuar o Controlo do Projecto foram usados os seguintes procedimentos de comunicação: Relatórios de controlo de projecto. O Responsável Técnico. A elaboração e distribuição de relatórios periódicos de progresso do projecto. A Equipa de Consultores. 3. pode contar com Utilizadores Chave.

O trabalho em curso. Máquinas clientes de desenvolvimento. Esta ferramenta foi adoptada para controlar o código fonte do projecto.Metodologia e Calendarização do Trabalho Ao longo do Ciclo de Vida do projecto foram produzidos periodicamente relatórios de progresso. Com esta ferramenta é possível dentro da equipa de desenvolvimento. 3.3 Recursos de software O software instalado nestas máquinas para o desenvolvimento da aplicação pretendida é: Microsoft Visual Source Safe o O VSS é uma ferramenta de colaboração para programadores de aplicações. Os documentos em questão são a especificação técnica e funcional. Concurrent Version System o O CVS é também uma ferramenta de controlo de versões e acessos de um sistema durante o processo de desenvolvimento. reflectem a situação de cada componente do projecto relatada pelos coordenadores de cada um dos pacotes de trabalho. Visual Studio 2003 Relatório do Projecto em Engenharia Informática Página 25 de 62 . A grande vantagem de usar este software e não outro semelhante existente no mercado prende-se com a integração com os produtos Microsoft.4. O planeamento do trabalho para o próximo período. destinados ao Gestor de Projecto. Evidenciam: O trabalho concluído desde a última reunião.2 Recursos de hardware Os recursos de hardware utilizados no desenvolvimento da aplicação foram os seguintes: Máquina servidor de Base de Dados. tendo por objectivo a revisão dos relatórios de progresso. O trabalho em atraso. 3. entre outros. Máquina servidor de web. Esta é a ferramenta de eleição na LINK para controlo de versões de documentos. controlar os acessos e versões. Estes relatórios. o manual do utilizador e de instalação. As reuniões de controlo de progresso tiveram uma periodicidade semanal.4.

Na decisão da escolha do software pesou o SIMLIS ter um contrato com a Microsoft no que toca aos produtos. visualizar conceitos mais rapidamente e comunicar informações com maior eficiência. Microsoft Internet Information Services o O IIS é um servidor Web da plataforma Microsoft.0 o Ferramenta utilizada para visualizar as páginas web. .Metodologia e Calendarização do Trabalho o O VS 2003 é o ambiente de desenvolvimento das aplicações . Microsoft SQL Server 2000 o O SQL Server é uma base de dados de referência do mercado proporcionando uma base sólida e escalável do sistema. Esta ferramenta faz parte do pacote do SQL Server. Microsoft Office Word 2003 o Processador de texto escolhido para processar todos os documentos realizados para o projecto.NET Framework o Trata-se da infra-estrutura básica sobre a qual as aplicações correm. Microsoft Office Visio 2003 o É uma ferramenta simples e flexível para criar com facilidade gráficos e fluxogramas para entender. Internet Explorer v6. Os produtos anteriormente seleccionados para a realização do projecto foram aqueles que têm em conta o valor que trazem para o SIMLIS quer para este projecto quer a médio e longo prazo. Microsoft Windows XP Professional Version 2002 Service Pack 2 o Sistema operativo sobre o qual todas as ferramentas mencionadas anteriormente correm.NET. SQL Server Enterprise Manager o Ferramenta que oferece um ambiente para criar e gerir Base de Dados. Esta ferramenta faz parte do pacote do SQL Server. bem como navegar pelos dados. Relatório do Projecto em Engenharia Informática Página 26 de 62 . SQL Server Query Analyzer o Ferramenta que oferece um ambiente extremamente flexível para correr ad hoc queries.

Este contratempo permitiu que mais tarde o desenvolvimento do código para a aplicação fosse mais rápido.5 CALENDARIZAÇÃO FINAL DO TRABALHO Apesar do esforço feito para cumprir à risca a calendarização inicial. o plano de projecto final não será aqui exposto.Metodologia e Calendarização do Trabalho 3. A falta de experiência da minha parte. nomeadamente na resolução de bugs (problemas). levou a que pontualmente fosse notado algum atraso. que mais tarde foi recuperado com um esforço adicional da minha parte. Relatório do Projecto em Engenharia Informática Página 27 de 62 . é sempre de esperar que aconteçam sempre imprevistos que levem ao atraso das tarefas definidas. Sendo considerada informação sensível no que toca à sua divulgação ao exterior.

4 TRABALHO REALIZADO Relatório do Projecto em Engenharia Informática Página 28 de 62 .

Enriquecimento de algumas componentes do WF Bens e Serviços. que permitem no futuro uma maior rapidez na alteração das interfaces. encontra-se um exemplo que ilustra os resultados que se pretendem obter com este desenvolvimento. alguns componentes comuns. no anexo II .1 TRABALHO REALIZADO NO PRÉ-PROJECTO Esta secção encarrega-se de relatar o trabalho realizado durante a fase de préprojecto de uma forma resumida. reduzindo esforço de Na Figura 7 . que está de acordo com o grafismo da Worklist Única e da própria NGI (Nova Geração do INSITE). e também no enriquecimento de conhecimentos das novas tecnologias. Melhoria significativa na usabilidade de alguns dos ecrãs que serão alterados.1 Na Sonae MCH A minha primeira colaboração foi dada no projecto que era para o cliente Sonae Distribuição – Modelo Continente Hipermercados e consistiu num processo de uniformização dos layouts das aplicações WF (WorkFlow). As vantagens deste desenvolvimento são várias: Restabelecimento de um padrão uniforme de interface para o utilizador.Trabalho Realizado 4. 4.1. Como já foi mencionado no capítulo 2. Pretendia-se alterar o design e as cores para corresponder ao conteúdo do Guião Interactivo Genérico que entretanto fora actualizado. A minha participação no projecto foi nas seguintes etapas definidas na metodologia: Desenvolvimento o Alterações das Interfaces o Passagens a Staging (pré-produção) Transição o Preparação da Passagem a Produção Relatório do Projecto em Engenharia em Informática Página 29 de 62 . De seguida são apresentados os projectos em que estive inserido nesta fase.Exemplo de um ecrã do WF Bens e Serviços.1. os objectivos do pré-projecto consistiam na adaptação ao trabalho em equipas de trabalho segundo a Organização e Controlo do Projecto. Adopção de desenvolvimento.Figuras. Este ponto é especialmente importante tendo em conta o crescente número de utilizadores deste WF.

“Proposta Desenvolvimento: PEP . consulta de câmbios. consulta de saldos. o qual não se encontra disponível*.2 No PEP Noutra aplicação da Sonae. mostra um dos ecrãs da aplicação PEP. O PEP é um sistema de informação. Paulo (2004) . A proposta de desenvolvimento do PEP que me foi pedido para implementar encontra-se no documento de referência de Monteiro. “Planeamento de Eventos Promocionais”.Folha “Definição de Promoções” da aplicação PEP.promosoft. PEP. 4.18”. consulta de movimentos. fornecedores e encomendas. o objectivo era desenvolver novas funcionalidades. etc. extravio de cheques. A Figura 8 . A figura seguinte mostra o ambiente da aplicação eBanka na sua vertente de Home Banking: Relatório do Projecto em Engenharia Informática Página 30 de 62 .com/) que é um produto constituído por Home Banking com componente de portal institucional e tem como objectivo responder às necessidades das instituições bancárias que pretendem utilizar a Internet como mais um canal de comunicação com os seus actuais e potenciais clientes.1. que permite a gestão centralizada das lojas.Trabalho Realizado Neste trabalho também tive a oportunidade de aprofundar os meus conhecimentos em folhas de estilo CSS.1.3 No eBanka Terminei a primeira fase do estágio num projecto que se chama eBanka (http://ebanka. com destaque para a gestão de produtos. JavaScript e HTML. no anexo II Figuras. Desta maneira permite que os clientes efectuem operações de transferências internas e externas. utilizando a tecnologia VBA em Excel onde pude aprofundar os meus conhecimentos académicos. 4.Desenvolvimento da template v1. cuja principal base é o sistema Retek. pedidos de cheques.

Contudo. um responsável técnico e um consultor. Eu desempenhei a função de consultor. verificar se os clientes estão registados no sistema e invocar um Componente COM.Trabalho Realizado Figura 9 – Aplicação eBanka A equipa deste projecto era constituída por um gestor de projecto. Relatório do Projecto em Engenharia Informática Página 31 de 62 . A minha contribuição neste projecto consistia em desenvolver um WebService que é responsável por receber as operações dos clientes.Net. Toda a comunicação entre os servidores WebServices e os seus clientes é através de mensagens XML sobre o protocolo HTTP. Este WebService também é responsável por manipular todas as mensagens XML retornadas pelo Componente COM. que fornece a descrição de tudo que um WebService possui. onde executei as tarefas que me foram atribuídas. utilizando a tecnologia C# sobre WebServices do . este protocolo chama-se SOAP. WebServices são uma nova e inovadora técnica para a troca de dados via Web que se tem utilizado muito para fornecer e consumir serviços na Web. esta manipulação foi feita com a ajudas das classes de manipulação de XML do .Net. Mas para a comunicação ser baseada em XML é necessário um protocolo que seja responsável por encapsular as chamadas dos métodos e propriedades dos objectos em XML. para um cliente invocar os serviços fornecidos por um servidor é necessário que conheça a assinatura desses serviços e isto é conseguido através do padrão WSDL.

No entanto para a concretização da interface web application é necessário ter uma infra-estrutura sobre o qual a aplicação corre. Existiam duas soluções possíveis para resolver o problema.2 TRABALHO REALIZADO NO PROJECTO 4.Net Framework.NET e HTML criadas. mas também a escolha do servidor de Base de Dados.Trabalho Realizado 4.2 foi reservado à . Antes da criação do projecto foi necessário decidir. esta solução permite o acesso à informação através da Internet. O capítulo 4. As windows applications consistem em aplicações com interface com o utilizador semelhante aos dos programas actuais para o Sistema Operativo Windows. onde estas foram abrangidas de uma forma mais resumida. Para desenvolver a aplicação para o negócio do SIMLIS foi colocada a questão do tipo de interface. optou-se pela . porque é uma linguagem nova e moderna que visa facilitar o desenvolvimento de aplicações.Net Framework optámos por escolher a linguagem de programação C#.2. A escolha da interface anteriormente mencionada levou à necessidade de utilização de um servidor web para permitir o acesso às páginas ASP. as web applications são aplicações destinadas a serem vistas sobre a Internet em browsers. por parte dos browsers instalados nas máquinas do SIMLIS e por qualquer máquina com acesso à Internet. Relatório do Projecto em Engenharia Informática Página 32 de 62 . Como infra-estrutura. No entanto.Net Framework e à linguagem C#.1 Arquitectura tecnológica Este capitulo foi reservado ao relato das soluções tecnológicas abordadas e adoptadas para a realização do projecto. uma vez que as actualizações reflectem para todos os utilizações sem afectar nada.2. Dentro da . não só a escolha de um servidor web se tornou necessária. windows application ou web application. A solução escolhida foi a interface das web applications. e quais os mecanismos de comunicação da aplicação com a Base de Dados a implementar e qual a interface mais apropriada para o sistema. Desta modo são apresentadas as seguintes vantagens no seu uso: Os utilizadores SIMLIS podem aceder de uma forma fácil à informação a partir de qualquer PC instalado no interior do SIMLIS ou através de um PC externo com ligação à Internet. Facilita a manutenção do sistema. embora exista outra concorrente forte como a J2EE da Sun. pelo que. em fase de especificação técnica quais as linguagens de programação a utilizar. somente ter um browser. Não necessita de ser instalado nada no computador do cliente.

NET utilizou-se o VS 2003.Net Framework trata-se da infra-estrutura.Net. dentro da equipa de desenvolvimento. pois a integração das ferramentas com o VSS é total. Mas o SQL Server tem algumas vantagens em comparação com Oracle e viceversa. Este ambiente de desenvolvimento abrangente para múltiplas linguagens. testes e instalação de aplicações. Como ferramenta de desenvolvimento de aplicações . Como ferramentas de controlo de versões e acessos do projecto durante o processo de desenvolvimento usou-se o VSS e o CVS. usar e gerir. O VSS é uma ferramenta que permite de forma segura. O conjunto de produtos seleccionados para concretizar o projecto SIMLIS passou pelo facto de o SIMLIS possuir um acordo de licenciamento com a Microsoft para usar os seus produtos.NET oferece aos programadores poderosas ferramentas de design. permitindo também que as melhores práticas e orientações possam ser partilhadas num ambiente de trabalho em equipa. Relatório do Projecto em Engenharia Informática Página 33 de 62 .2. construção. mas decidiu-se usar este utilitário para manipular os documentos do projecto. Esta infra-estrutura é constituída por diversas partes. Também oferece um ambiente altamente produtivo para o desenvolvimento de uma ampla variedade de aplicações e tecnologias conectadas com a plataforma . Esta ferramenta foi adoptada para controlar o código fonte do projecto. o VS 2003 .Net Framework. tal como é ilustrado na figura 11.Net Framework e linguagem C# Este capitulo foi dedicado para explicar de forma resumida uma das partes preponderantes onde incidiu o projecto realizado. Relativamente ao servidor de Base de Dados tínhamos a oportunidade de escolher entre o SQL Server e o Oracle. controlar os acessos e versões. Ambos os Sistemas de Gestão de Base de Dados referenciados são grandes potências no mercado. Apesar de tudo a escolha foi obvia já que o cliente com a escolha do SQL Server.Trabalho Realizado A solução passava pela implementação através da utilização do Servidor Web da Microsoft. que podem ser usados para construir sistemas eficientes e estáveis. não teria adição de custos. É geralmente mais fácil de instalar.2 . Através do uso do ambiente de runtime de alta performance Microsoft . A . decidimos escolher o SQL Server. 4. chamado IIS. e sobre a qual as aplicações correm. que visa obter uma forma simples e unificada de desenvolvimento de aplicações. Algumas vantagens do SQL Server são as seguintes: É mais barato comprar que o Oracle. destinada ao rápido desenvolvimento e integração de aplicações. O CVS também permite o controlo de acesso e versões.

antes de o executar. O CLR possui um compilador just-in-time que se encarrega de traduzir código intermédio para código nativo do processador. O CLR encontra-se a executar por cima do sistema operativo.NET Todas as aplicações escritas para a .NET correm dentro de uma máquina virtual chamada CLR. Por cima da máquina virtual básica. utilizando os seus serviços. existe um conjunto de bibliotecas estandardizadas que permitem às aplicações tomar pedido de um rico conjunto de APIs. Tradução de código intermédio para código nativo o Ao compilar um programa na plataforma . Existem também mecanismos que permitem garantir que o código a executar é valido e não irá corromper outros programas que se encontrem a executar no CLR. Carregamento dinâmico de classes o O CLR torna possível carregar em tempo de execução segmentos de código que antes não estavam presentes na máquina virtual.NET. tipicamente este é traduzido de uma linguagem de alto nível para uma linguagem intermédia chamada MSIL.Trabalho Realizado Figura 10 – Arquitectura da plataforma . Segurança o O CLR mecanismos que permitem atribuir permissões ao código baseadas na sua proveniência e em quem está a executar. Existe um conjunto de bibliotecas básicas. denominadas por Base Class Relatório do Projecto em Engenharia Informática Página 34 de 62 . O código que se encontra a executar aqui dentro chama-se managed code e beneficia de várias características como: Gestão automática de memória o O CLR dispõe de um garbage collector que se encarrega de limpar os objectos que já não estão a ser utilizados pelas aplicações.

em certa medida. encontram-se bibliotecas que permitem aceder a base de dados (ADO. que possui um vasto conjunto de bibliotecas.NET) e manipular informação em geral (por exemplo. garbage collection. acesso a recursos de rede e outras. Tipicamente a manipulação de componentes faz-se de forma visual. Na . mas também noutras linguagens. em XML). estruturas de dados básicas (hash tables. Robusta e moderna o O C# é uma linguagem orientada aos objectos. excepções. possuindo mecanismos como. que permitem uma gestão robusta dos erros nos programas. O C# em si não possui bibliotecas. que oferecem recursos como acesso a ficheiros. Um ponto interessante é que o . que acho que são dignas de referência: Orientada aos componentes o Um dos grandes passos em termos de engenharia de software.NET Framework.NET Framework. listas. Contudo os programas escritos nesta linguagem executam sobre a .NET) e criar interfaces com o utilizador em Windows (Windows Forms). Relatório do Projecto em Engenharia Informática Página 35 de 62 . fazendo com que a transição para o C# seja relativamente pacífica. Combina as melhores características do C++. Familiar o O C# baseia a sua sintaxe na linguagem C++ e.NET foi pensado não apenas para aplicações que sejam programadas em C#. Hoje em dia existem muitos programadores que já conhecem essas linguagens. na linguagem Java. por drag-and-drop e. foi o conceito de componente. Eis as principais características desta nova linguagem. do Visual Basic e mesmo do Java. Quanto ao C# posso dizer que é uma linguagem nova e moderna que visa facilitar o desenvolvimento de aplicações.NET e com as aplicações que se encontram a correr no CLR. etc. as linguagens de alto nível são compiladas para uma linguagem intermédia chamada MSIL. assim como outras funcionalidades que permitem uma grande versatilidade em C#. A Common Language Specification constitui uma norma que especifica o que é que tem de ser suportado a nível de uma linguagem de programação para esta ser compatível com a infraestrutura . No topo da hierarquia estão as bibliotecas que permitem efectuar desenvolvimento web (ASP.Trabalho Realizado Library. É esse código que é executado no CLR. No entanto uma nova linguagem por muito poderosa que seja não é verdadeiramente útil se não tiver um grande número de bibliotecas de funções directamente disponíveis. Em seguida. Um componente é uma unidade binária de código que pode ser incluída numa aplicação. que liberta o programador da gestão explícita da memória.). configuração das suas propriedades e interligações.

4. Esta resposta é a informação que o IIS envia à aplicação C#. Camada de lógica de negócio. Para que tal seja possível é preciso efectuar uma conexão entre estes dois servidores.Net Data Provider. passando o IIS a ser cliente do servidor de Base de Dados. que constrói uma página ASP.3 Arquitectura física O conjunto de soluções escolhidas no capítulo 4. Essa conexão é realizada via SQL Server . o servidor da Base de Dados enviá-la-á para o IIS. deu origem à seguinte arquitectura: Figura 11 – Arquitectura física Os componentes apresentados relacionam-se da forma apresentada a seguir.4 Arquitectura lógica A arquitectura de desenvolvimento da aplicação pode ser caracterizada num serviço de três camadas: Camada de apresentação. O servidor IIS recebe pedidos dos browsers das máquinas cliente e é responsável por dirigi-los ao servidor da Base de Dados.1.NET e passa ao browser.2. Depois de executar a resposta ao pedido.Trabalho Realizado 4.2.2. Relatório do Projecto em Engenharia Informática Página 36 de 62 .

Ao exterior são oferecidas capacidades de execução de consultas. Aqui residem os dados dos utilizadores. torna-se muito mais simples realizar a manutenção da interface do utilizador. Todos os pedidos de informação são efectuados à lógica de negócio.Trabalho Realizado Camada de base de dados. Por fim temos a camada de Base de Dados como base de toda a aplicação. remoções usando o standard SQL. onde as linguagens estão muito mais direccionadas por forma a permitir fácil e rápida implementação de consultas. deixando de estar dependente do Sistema de Gestão de Base de Dados utilizado. As potencialidades disponíveis dependem sempre de qual o Sistema de Gestão de Base de Dados escolhido. actualizações. Assim. Qualquer mudança neste componente da arquitectura não influência outros. inserções. Relatório do Projecto em Engenharia Informática Página 37 de 62 . actualizações. Figura 12 – Arquitectura lógica A arquitectura lógica apresentada permite que a interface com o utilizador apenas trate de aspectos de visualização de informação. VB ou outras semelhantes que permitem muito maior flexibilidade e complexidade em relação ao que está disponível nos Sistemas de Gestão de Base de Dados. inserções e remoções. Esta camada é implementada utilizando tipicamente linguagens como o C#. sendo que a utilização de funcionalidades especificas do Sistema de Gestão de Base de Dados para melhoria de performance ou facilitação do desenvolvimento é totalmente independente e não afecta de forma alguma a implementação da lógica de negócio e da interface gráfica. A camada lógica de negócio permite separar a lógica de negócio da Base de Dados.

dando a sensação que a aplicação é constituída somente por este componente.aspx. Os componentes utilizados foram: HTML Controls o São os controlos HTML básicos (Div. Validation Controls o São Web Server Controls que contêm lógica para validar o input de outros Server controls.. . o browser. onde o reaproveitamento do código é grande e facilita muito a programação.). inserir. O modelo utilizado foi o code behind.aspx. alterar e eliminar sobre a informação da Base de Dados de uma forma transparente. existe apenas. Nesta secção faço uma explicação sobre o funcionamento da aplicação em geral.2. na caixa de texto Address.aspx. 4.NET.NET. para cada ficheiro . a parte HTML e a parte da declaração dos componentes do ASP.aspx.cs encontra-se o código C# correspondente às funcionalidades da interface. Neste modelo. De seguida é abordada a validação de dados.4.1. 4.).NET. aqui encontramos uma verdadeira separação do HTML e do código C#. estruturas de dados e linguagens utilizadas para realizar esta camada.1 Camada de apresentação O primeiro componente do sistema é o único que é visível para o utilizador. Table. HTML Server Controls o São controlos HTML executados no servidor Web (Calendar.2. existe um ficheiro . No ficheiro . Datagrid. http://localhost/SIMLIS_WEB/homepage.4. extensão dos ficheiros ASP. B.NET existem dois modelos de programação: code behind e code in page.2. Web User Controls o São Web Server Controls definido pelo programador.1 Modelo de programação Em ASP. No ficheiro aspx. Web Server Controls o São os controlos ASP.Trabalho Realizado 4... Relatório do Projecto em Engenharia Informática Página 38 de 62 ..4.cs onde está escrito todo o código. terminando com a segurança da aplicação. para se utilizar a mesma o utilizador tem que ter um browser aberto e depois carregar sobre o menu Favorites e escolher a opção SIMLIS ou então escrever o URL da aplicação. . pesquisar.2 Interface HTML Relativamente ao funcionamento da aplicação. A partir deste utilitário o utilizador pode efectuar operações de consultar.1.

inserção.Figuras. actualização e remoção de registos. O Menu SIMLIS permite ao utilizador aceder às seguintes opções: Área de gestão de dados relativos a Pagamentos. nesta caso. Área de gestão de dados auxiliares. para além da Barra de Funcionalidades. Cada um dos itens apresentados no Menu SIMLIS quando seleccionados.Ecrã principal da aplicação do SIMLIS. A página seleccionada é constituída por um Menu Lateral que permite navegar entre os vários dados relativos à área gestão de dados seleccionada. que foram desenhados para permitir reutilizar funcionalidades comuns da interface do utilizador: <uc1:cabecalhopage id="Cabecalho" Tipo=”C” runat="server"></uc1:cabecalhopage> o Este usercontrol é responsável pela apresentação da barra de cabeçalho correspondente à área de gestão de dados seleccionada e servir como link para o Menu SIMLIS. por um rodapé. Em todas as páginas do SIMLIS existe a barra de funcionalidades que está exibida na Figura 15 do anexo II .Trabalho Realizado Figura 13 – Inicialização da aplicação a partir dos Favorites Após seleccionada a opção SIMLIS. Relatório do Projecto em Engenharia Informática Página 39 de 62 . ao Cadastro. reservada às operações de pesquisa. Para o efeito foram utilizados usercontrols (ficheiros . a página principal da aplicação é exibida como mostra a Figura 14 .ascx). no anexo II .Figuras. por uma Área de Operação. Nesta barra podemos encontrar funcionalidades que estão apresentadas na Figura 16 do anexo II .Figuras. Área de gestão de dados relativos a Candidatura a Fundos de Coesão. consulta. exibem uma página semelhante à apresentada na Figura 17 do anexo II .Figuras. Área de gestão de dados relativos ao Cadastro.

<uc5:Menu id="MenuLateral" runat="server" ElemId="C" ElemSelected="InterL" SubElemSelected="InterC"></uc5:Menu> ElemOpen="InterL" o Este usercontrol é responsável pela construção do menu lateral correspondente à área de dados seleccionada. 19.Figuras.NET. neste caso. Ver a Figura 24 do anexo II . foi utilizado um usercontrol de pesquisa. e servir como link para cada área de dados. < uc2:FooterPage id="Footer" runat="server"></uc2:FooterPage> o Este usercontrol é responsável pela construção do rodapé comum a todas as áreas de dados. 22. foi a área de dados relativos ao Cadastro. 21. como por exemplo: <asp:CheckBox> <asp:Panel> <asp:TextBox> <asp:ValidationSummary> <asp:Button> <asp:CompareValidator> Os controlos de HTML utilizados foram: <Div> <A href> <Br> <Table> Relatório do Projecto em Engenharia Informática Página 40 de 62 . daí serem aplicados diversos usercontrols para cada uma das operações. que agrupa um conjunto de outros usercontrols e de controlos ASP. No caso da operação escolhida tenha sido a pesquisa.Trabalho Realizado Ver as Figuras 18.Figuras. porque esta varia consoante a operação escolhida. Ver a Figura 23 do anexo II . 20. Na Área da Operação não foi mencionado nenhum usercontrol. <uc3:MenuCabecalho id="MenuCabecalho" runat="server"></uc3:MenuCabecalho> o Este usercontrol é responsável pela construção do menu do cabeçalho correspondente à Barra de Funcionalidades. no anexo II . que apresentam as várias barras de cabeçalho da aplicação.Figuras.

que constroem a página de inserção. ilustra o uso dos controlos referenciados . ilustra a utilização do controlo <asp:DataGrid>. actualização. ou exibir um calendário para o utilizador seleccionar uma data. Os controlos utilizados servem para exibir os campos a preencher e para validar os dados digitados ou seleccionados pelo utilizador nesses campos. consulta e remoção foi utilizado um usercontrol responsável por encapsular um conjunto de controlos ASP. Ainda na operação de pesquisa foi utilizado outro usercontrol para apresentar a listagem das ocorrências encontradas segundo o critério de pesquisa escolhido. A área da operação de inserção está disponível a partir da selecção do tópico inserir do menu lateral. A Figura 25 do anexo II . actualização. este controlo apresenta um grande número de funcionalidades para formatar a listagem dos dados apresentados. dentro da área de dados seleccionada. Este usercontrol recebe um objecto Pesquisa com os dados dos campos de pesquisa e depois é responsável por chamar os métodos da camada da lógica de negócio para receber os dados da Base de Dados e por fim apresenta-os ao utilizador através dum controlo <asp:DataGrid>.NET.Trabalho Realizado <input> <H3> <Label> Os usercontrols usados dentro do usercontrol de pesquisa tem a função preencher DropDownLists (caixas de selecção).Figuras. De seguida são exibidos alguns controlos utilizados: <asp:ValidationSummary> <asp:Panel> <asp:Hyperlink> <asp:RequiredFieldValidator> <asp:Label> <asp:Button> Alguns controlos de HTML utilizados foram: <Table> <Label> <Input> <Div> A Figura 26 no anexo II . preencher a DropDownList dos subsistemas com todos os subsistemas disponíveis no sistema. Na operação de inserção.Figuras. como por exemplo. Relatório do Projecto em Engenharia Informática Página 41 de 62 . consulta e remoção.

ou seja pelo browser. antes de inserir um dado identificador na Base de Dados temos de verificar se já lá existe. não está disponível*. A .Net Framework juntamente com o IIS disponibilizam sistemas de autenticação. o utilizador pode corrigi-lo.Trabalho Realizado As operações de actualização e remoção estão disponíveis a partir da listagem das ocorrências ou da operação de consulta. mais propriamente dito.1. telefones.4. Por fim a operação de consulta está disponível a partir da listagem. Relatório do Projecto em Engenharia Informática Página 42 de 62 . onde se encontra o funcionamento da interface com maior detalhe. Na aplicação desenvolvida existem vários formulários de inserção e actualização referentes a diversos tipos de informação. Das duas formas apresentadas.2. numa actualização posterior desse registo. etc. É obvio que os erros ortográficos não são apanhados pelos validadores. 4. Todos os outros itens quer desta área de dados quer das restantes.3 Validação de dados Um aspecto muito importante a nível da camada de apresentação é a validação de dados. optou-se pelo método de Windows Integrated Authentication e Digest Authentication pelo facto de estes tipos de autenticação já se encontrarem implementados. através da linguagem JavaScript ou do lado do servidor (serverside) pelo código C#.Figuras.“SMLS_04_0269 Manual Utilizador”.1. como por exemplo. Contudo.4 Segurança Outro aspecto que requer destaque neste documento é a segurança. pelo que se torna obrigatório analisar a coerência dos valores digitados pelo utilizador. por exemplo. é apresentado um ecrã com o uso da linguagem JavaScript. datas.. Mas o que acontece é que por vezes não é possível fazer as validações do lado do cliente. 4. Validações feitas no lado do cliente (clientside). nº de contribuintes e bilhetes de identidade.4. Nunca podemos ficar na expectativa que o utilizador insira valores coerentes com os da Base de Dados.NET desenvolvida. De seguida na Figura 27 no anexo II . Existem duas formas de validar os dados introduzidos pelo utilizador. O documento de referência de Bento.2. seguem o mesmo raciocínio. a validação de utilizadores que entram na aplicação ASP. a primeira é a preferível porque não requer o consumo de recursos do servidor e por isso sempre que foi possível optou-se pelo uso desta linguagem. porque. idades. nomes. Bruno (2005) . sem aperceber-se do acontecido. moradas. pode digitar dados numéricos no nome de uma pessoa para criar um novo registo.

<authorization> <deny users=”[comma separated list of users]” roles=”[comma separated list of roles]” /> <allow users=”[comma separated list of users]” roles=”[comma separated list of roles]” /> </authorization> O método Digest Authentication só é utilizado caso o método Windows Integrated Authentication falhe.web> mode=”Windows” /> Depois de termos indicado o tipo de autenticação. cujas verificações são feitas com base no ficheiro de configuração.config. o processo é encaminhado para a aplicação ASP. Após ter sido feita a autenticação no IIS.config o tipo de autenticação.NET.web> <authentication </system. a password é cifrada antes de ser enviada sobre a rede. Por outro lado.Trabalho Realizado Figura 28 – Métodos de Autenticação fornecidos pelo IIS No método Windows Integrated Authentication a autenticação é feita através do sistema operativo Windows que vai utilizar os utilizadores registados no sistema operativo que. tivemos de definir as autorizações tanto de utilizadores (users) como de grupos (roles) de utilizadores. no método Digest Authentication os utilizadores fornecem um username e password para se conectarem. recorrendo ao uso das tags que se segue: <system. no entanto. da aplicação. web. normalmente. já existem no sistema das empresas. Relatório do Projecto em Engenharia Informática Página 43 de 62 . Windows. Para concretizar o nosso objectivo tivemos que definir no web.

neste caso uma ad hoc query.Net Data Provider para acesso à Base de Dados using System. inserir. Um exemplo de como usar estas bibliotecas é mostrado de seguida. tratando os dados de modo a que estes se encontrem de acordo com as regras de negócio do sistema.4. de seguida foi necessário utilizar um objecto SqlConnection para abrir uma ligação com o data source. neste caso numa ad hoc query (instrução SQL executada directamente). via SQL Server . eliminar e actualizar informação das diversas entidades sobre a Base de Dados. SqlDataReader o Representa a maneira mais rápida para ir buscar um conjunto de dados a partir de uma Base de Dados.Net Data Provider são: SqlConnection o Representa um única conexão persistente ao SQL Server data source.2. com o valor dos campos digitados pelo utilizador. A .2.Net Framework fornece um conjunto de classes para facilitar o acesso das aplicações às Base de Dados de diversos tipos. SqlCommand o Representa alguma coisa que pode ser executada. Os objectos mencionados anteriormente foram utilizados nas operações de pesquisar. Relatório do Projecto em Engenharia Informática Página 44 de 62 . consultar.Net Data Provider.Trabalho Realizado 4.SqlClient. SqlParameter o Representa um parâmetro a ser passado. Quando se abre uma conexão é preciso que se defina a propriedade ConnectionString do objecto SqlConnection. Os principais objectos utilizados do SqlServer .2 Camada de lógica de negócio A lógica de negócio estabelece a ligação entre a camada de interface e o Sistema de Gestão de Base de Dados. cujo nome é ADO.Data.2. A linguagem de programação eleita para o desenvolvimento desta camada foi o C# pelas razões mencionadas no capítulo 4. SqlConnection myConnection = new SqlConnection().NET. Comentários em C# //importar o conjunto de classes fornecidas pelo SqlServer . Para realizar a camada de lógica de negócio da operação de pesquisa definimos um objecto Pesquisa.

Para além do objecto Info foi também necessário utilizar um objecto SqlConnection. tal como na operação de pesquisa.ExecuteReader(). Ao invés da operação de pesquisa. Para definir um critério foi necessário recorrer à utilização do objecto SqlParameter. SqlDbType. resultset. while(myReader. SqlCommand myCommand = new SqlCommand(). Propriedade do objecto SqlCommand que define a ad hoc query a executar myCommand. neste caso subsistemaId SqlParameterCollection Params = myCommand. //INTERESSADO_ID -> InteressadoId myReader. Executar a ad hoc query sob o efeito de transacção myCommand. foi necessário preparar um objecto SqlCommand com a ad hoc query a ser executada mediante um dado critério de pesquisa definido pelo utilizador através da interface.Parameters. este objecto foi criado por nós para guardar os dados vindos da Base de Dados para posterior manipulação. //SUB_SISTEMA_ID -> SubSistemaId } Cada resultado do conjunto de resultados é colocado num objecto Info. este método retorna a primeira coluna da primeira linha do resultset.Add(new SqlParameter("@subsistemaId".” Connection String + De seguida.Transaction. não se pode modificar quaisquer dados. neste caso.Connection. Params["@subsistemaId"]. Criar um atributo do critério de pesquisa.ConnecyionString “UserID=sa. não pretendemos obter o identificador atribuído à nova ocorrência a quando da inserção.ExecuteScalar(). = “Server=SQLSRV01. Por fim.”. Params. neste caso. object ret = myCommand. O conjunto de resultados. Ou utiliza-se o ExecuteNonQuery().Int)). SqlParameter e definir as suas propriedades.Dados.” + “Pwd=.Connection = _ctx. Na camada de lógica de negócio da operação de inserção criámos um objecto Info com o valor do campos digitados pelo utilizador.CommandText = “SELECT nome FROM Interessado”.Read()){ myReader.Transaction = _ctx.” + “Database=SMLS_04_0269. onde se utilizou o método ExecuteReader() do objecto SqlCommand.GetInt32(0). utilizou-se o objecto SqlDataReader para ir buscar o conjunto de dados devolvidos pelo critério definido na operação pesquisar sobre a Base de Dados. este método não retorna um resultset. retorna o identificador atribuído à nova ocorrência. SqlDataReader myReader = myCommand. contido num SqlDataReader é forwardonly e read-only. SqlCommand. Associar um comando à conexão definida anteriormente myCommand. isto significa que. Relatório do Projecto em Engenharia Informática Página 45 de 62 .Value = “S1”.Trabalho Realizado myConnection. como podemos observar a seguir.GetString(1).Dados. na operação de inserção utiliza-se o ExecuteScalar(). somente se pode ler as linhas dentro de um resultset sequencialmente a partir do inicio ao fim.

As quatro principais instruções T-SQL usadas para manipular os dados SQL Server foram: SELECT o Instrução que permite ir buscar os dados armazenados na Base de Dados.4. isto para saber quais os campos a actualizar. E de seguida foi definido o modo como estas tabelas se relacionam entre si. Para a operação de actualização foram utilizados as mesmas propriedades e métodos dos objectos mencionados na operação de pesquisa. Relatório do Projecto em Engenharia Informática Página 46 de 62 . o outro com os dados não actualizados.ExecuteNonQuery(). As Ad hoc queries fornecem uma maneira rápida de ir buscar dados á Base de Dados ou de fazer alterações na Base de Dados. com excepção do método ExecuteReader(). Para aceder e manipular os dados da Base de Dados SQL Server usou-se ad hoc queries.3 Camada de Base de Dados Esta camada é responsável pela persistência dos dados da aplicação. Para a operação de consulta foram utilizados as mesmas propriedades e métodos dos objectos mencionados na operação de pesquisa. do objecto SqlCommand.Trabalho Realizado myCommand. com excepção dos objectos Info. A informação foi organizada em tabelas. um com os novos dados actualizados. que foi substituído pelo método ExecuteNonQuery() e do objecto Pesquisa que foi substituído por dois objectos Info.2.ExecuteNonQuery(). Para a operação de eliminação foram utilizados as mesmas propriedades e métodos dos objectos mencionados na operação de actualização. 4. INSERT o Instrução permite adicionar novos dados à Base de Dados. DELETE o Através desta instrução é possível eliminar dados a partir da Base de Dados. atributos e registos. isto foi conseguido com a utilização de uma Base de Dados. O Sistema de Gestão de Base de Dados foi o SQL Server. Para construir as ad hoc queries foi utilizada a ferramenta SQL Server Query Analyzer. myCommand. UPDATE o Esta instrução permite modificar dados que já se encontram na Base de Dados.

No Anexo I encontra-se o Modelo de Dados da aplicação. 4. tendo em conta o baixo orçamento e a importância que estes trazem para o SIMLIS.2. O objectivo dos testes é avaliar a conformidade da aplicação desenvolvida relativamente aos requisitos especificados e ao desenho. o sistema não permite e apresenta uma mensagem a informar. Teste a executar o Por exemplo. inserir interessado já existente. Perfil Cadastro. Passos/detalhe do teste o Por exemplo. foi o SQL Server Enterprise Manager. garantindo deste modo a qualidade do código produzido. uma vez que. relacionamentos de tabelas. Teste o Por exemplo. campos e dados. Escolher Parcela e de seguida inserir novo registo usando o NOME de um interessado já existente. o tempo de resposta não é importante e a quantidade de dados é baixa. os Testes de Carga não são de tanta importância. Para a aplicação em questão foram escolhidos fazer Testes Funcionais (caixa preta). Requisitos/Pré-Condições o Por exemplo. Responsável pela execução Data execução Relatório do Projecto em Engenharia Informática Página 47 de 62 . e criar diagramas de base de dados. 1.5 Plano de testes Este capitulo foca sobre o plano de testes a executar sobre a aplicação desenvolvida anteriormente. FU – Funcional e UI – User Interface.Trabalho Realizado O ambiente de desenvolvimento usado para gerir tabelas. Classe Teste o Por exemplo. Por exemplo. Resultado esperado o Por exemplo. Cada especificação de testes é identificada por: Ref.

Pagamentos. para as entidades Interessado. efectuados por uma equipa. Quando entrei no projecto o meu trabalho foi ler os documentos da especificação funcional e técnica que tinha de seguir para realizar o trabalho. Eu fiquei responsável por desenvolver a camada de interface. serão feitos os testes pelo cliente para se dar a aceitação da aplicação.“SMLS_04_0269 Especificação Técnica” e Mateus. fui responsável pela elaboração do Manual de Utilização da aplicação. não está disponível*.NET. Gestão de Referências de Documentos de Contacto. distinta da de desenvolvimento. Gestão de Despesas. a minha contribuição foi dada nas Fases de Implementação. Gestão de Pedidos Dup. para depois ser feita uma reunião com o Responsável Técnico para tirar dúvidas que eventualmente surgissem. Gestão de Correspondência e Gestão de Pedidos de Pagamento. Relatório do Projecto em Engenharia Informática Página 48 de 62 . sempre que possível.Trabalho Realizado Resultado Após a realização destes testes. e a camada da lógica de negócio. Na Fase de Transição. Passada esta altura fui integrado na equipa de desenvolvimento. Por fim também fui integrado na Fase de Operação onde terei como funções assegurar a manutenção correctiva dos desenvolvimentos efectuados.6 Trabalho realizado por mim No projecto em questão. Durante a fase de planeamento decidiu-se que eu na Fase de Implementação iria ter a oportunidade de fazer um pouco de tudo excepto o Modelo de Dados que iria ser feito por outro elemento experiente nessa área. Transição e Operação onde fui um dos elementos da equipa responsável pela implementação da aplicação Web. O documento de referência de Mateus. Contacto.2. as páginas ASP. Paulo (2004) . os ficheiros de acesso à Base de Dados. Gestão de Referências Documentos da Pedido Dup. onde se encontra a especificação técnica e funcional do projecto. Paulo (2004) .“SMLS_04_0269 Especificação Funcional”. 4.

5 SUMÁRIO E CONCLUSÕES Relatório do Projecto em Engenharia em Informática Página 49 de 62 .

2 CONCLUSÕES Durante este período de estágio na LINK tive a oportunidade de trabalhar com um conjunto diversificado de tecnologias na área das Web Applications.Sumário e Conclusões 5.1 SUMÁRIO Este capitulo apresenta uma síntese do trabalho que foi realizado neste estágio. foi necessário configurar o IIS para criar uma Web que receba os pedidos dos clientes e envie-os à aplicação para respectivo processamento e que devolva o resultado do processamento ao cliente. Aqui foi-me dada a possibilidade de integração em ambientes de produção. ganhar autonomia e experiência profissional. Por fim. quer pelos clientes.. passando assim a possuir um titulo de MCP (Microsoft Certified Professional). registo de documentação e controlo de pagamentos. este estágio permitiu-me realizar uma certificação “Microsoft 70-315: Developing and Implementing Web Applications with Microsoft Visual C#. actualizar. muito poderosas para a criação de aplicações. onde destaco as cadeiras de Fundamentos de Sistemas de Informação. onde destaco a unidade em que estive inserido durante este período. que revolucionaram o mercado quer pelo ambiente de execução quer pelas linguagens que dispõe. Tive o privilégio de prestar os meus serviços numa das grandes empresas deste país na área de consultoria informática. consultar e eliminar sobre a informação que se encontra numa Base de Dados. quer pela diversidade de áreas de competência. O resultado deste estágio foi o desenvolvimento de uma Web Application que permite efectuar as operações inserir. nas tecnologias que utilizei para a realização do projecto. Tecnologias de Base de Dados. pesquisar. contactos efectuados.NET”. Relatório do Projecto em Engenharia Informática Página 50 de 62 . Este estágio foi a ponte entre a vida académica e a vida profissional. 5. Para o efeito. a aquisição de novos conhecimentos. A parte curricular da licenciatura teve papel preponderante na minha formação. Programação Imperativa. A aplicação em questão foi desenvolvida de forma a ser acedida através da Internet. a UPI. que permitirá aos colaboradores SIMLIS obter um registo de vários pontos fulcrais como. Interfaces Pessoa-Máquina e Projecto de Sistemas de Informação que contribuíram de forma decisiva para a angariação de outros conhecimentos fundamentais para a realização deste projecto.

6 GLOSSÁRIO Relatório do Projecto em Engenharia em Informática Página 51 de 62 .

por serem dados pessoais. * ** ADO API ASP ASP. Alguns dados não podem ser divulgados.Glossário A lista de siglas e abreviaturas utilizadas neste documento encontram-se organizadas por ordem alfabética ascendente.NET BCL CLR CLS CSS CVS ETAR HTML IE IIS INESC FCUL LINK MCH MSIL PC PEDIP PL/SQL PMI PSO RUP SIMLIS SOAP T-SQL UPI URL VBA VS VSS XML XSL WAP WBS WSDL WWW Documento interno que não pode ser divulgado. Modelo Continente Hipermercados Microsoft Intermediate Language Personal Computer Programa Estrutural de Desenvolvimento para a Indústria Portuguesa Procedural Language / Structured Query Language Project Management Institute Project Support Office Rational Unified Process Saneamento Integrado dos Municípios do Lis Simple Object Access Protocol Transact-Structured Query Language Unidade de Portais & Intranets Uniform Resource Locator Visual Basic for Applications Visual Studio Visual Source Safe Extensible Markup Language Extensible Stylesheet Language Wireless Application Protocol Work Breakdown Structure WebServices Description Language World Wide Web Página 52 de 62 Relatório do Projecto em Engenharia Informática . S.NET Base Class Library Common Language Runtime Common Language Specification Cascading Style Sheets Concurrent Version System Estação de Tratamento de Águas Residuais HyperText Markup Language Internet Explorer Internet Information Services Instituto de Engenharia de Sistemas de Computadores Faculdade de Ciências da Universidade de Lisboa Link Consulting – Tecnologias de Informação. Access Data Objects Application Programming Interface Active Server Pages Active Server Pages .A.

7 BIBLIOGRAFIA E REFERÊNCIAS Relatório do Projecto em Engenharia em Informática Página 53 de 62 .

Hernâni (2002) . http://www.Portal de Documentação sobre Programação para a Web http://www.Site da Link Consulting – Tecnologias de Informação.“Metodologia de Gestão de Projectos” Relatório do Projecto em Engenharia Informática Página 54 de 62 .link.pt .1 ENDEREÇOS WEB http://msdn.NET” Microsoft .NET Framework SDK” USA: Microsoft. 2000 Marques.pontonetpt.Portal de Documentação sobre Programação .softsteel. Paulo e Cardoso. João (2003) .“Programação com ASP.adp.com .“A plataforma . João (2003) .Bibliografia e Referências 7. Centro de Cálculo do Instituto Superior de Engenharia de Lisboa Link Consulting (2004) .NET http://www.codeproject.Portal de Documentação sobre Programação para a Web http://www.hitmill. Amit (2003) .com .“C# Curso Completo” Assunção.NET”.com/aspnet .Site sobre programação C# http://www.2 LIVROS E DOCUMENTOS Kalani.“MCAD/MCSD Training Guide (70-315): Designing And Implementing Web Applications With Visual C# .uk/tutorials/cSharp/contents.Site das Águas de Portugal 7.“Proposta nº SMLS_04_0269” Link Consulting (2004) .com/library .w3schools. S. Luís (2003) .com/programming/dotnet/csharphtml .html .microsoft.“Metodologia de Desenvolvimento de Aplicações Workflow” Vieira.A.NET” Falcão.Site com uma série de Links para sites de C# http://www.co.“Documentação do .pt .Portal de Documentação sobre Programação http://www.

Bibliografia e Referências Mateus.“Proposta Desenvolvimento: PEP . Paulo (2004) .“SMLS_04_0269 Manual Utilizador” Monteiro.18” Relatório do Projecto em Engenharia Informática Página 55 de 62 .“SMLS_04_0269 Especificação Funcional” Bento.Desenvolvimento da template v1. Bruno (2005) . Paulo (2004) . Paulo (2004) .“SMLS_04_0269 Especificação Técnica” Mateus.