Você está na página 1de 55

DEPARTAMENTO DE INFORMTICA Faculdade de Cincias - Universidade de Lisboa Bloco C6 - Piso 3 - Campo Grande, 1749-016 Lisboa Tel & Fax:

351.217500084

RELATRIO DE PROJECTO sobre WEB APPLICATIONS realizado na LINK CONSULTING por Bruno Manuel Duarte Bento

Universidade de Lisboa
Faculdade de Cincias

DEPARTAMENTO DE INFORMTICA Faculdade de Cincias - Universidade de Lisboa Bloco C6 - Piso 3 - Campo Grande, 1749-016 Lisboa Tel & Fax: 351.217500084

RELATRIO DE PROJECTO sobre WEB APPLICATIONS realizado na LINK CONSULTING por Bruno Manuel Duarte Bento

Responsvel pela FCUL: Eng. Pedro Antunes Responsvel pela LINK CONSULTING : Eng. Jos Afonso Pires

Lisboa, Junho de 2005

Agradecimentos

Agora que este estgio se encontra concludo, gostaria de deixar algumas palavras de agradecimento s pessoas que tornaram a sua realizao possvel.

Em primeiro lugar, gostaria de agradecer o acompanhamento dado pelo coordenador do projecto Eng Joo Assuno, pelo Director da Unidade de Portais & Intranets, Eng Jos Afonso Pires e pelo Professor da Faculdade de Cincias da Universidade de Lisboa, Pedro Antunes, que tiveram a disponibilidade para rever e dar opinies 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 tambm, 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 contriburam significativamente para os conhecimentos que hoje possuo.

Finalmente, minha famlia, um enorme pedido de desculpas por estar to ausente e no 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

Indce

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

INTRODUO .....................................................................................................................6
APRESENTAO DO PROJECTO ............................................................................................... 7 INSTITUIO LINK ................................................................................................................. 7 ESTRUTURA DO RELATRIO .................................................................................................... 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 CALENDARIZAO DO TRABALHO......................................16


METODOLOGIA DE GESTO DE PROJECTOS ......................................................................... 17 MODELO DE DESENVOLVIMENTO ......................................................................................... 17 FASE DE VISO..................................................................................................................... 18 FASE DE CONCEPO ........................................................................................................... 18 FASE DE IMPLEMENTAO................................................................................................... 19 FASE DE TRANSIO ............................................................................................................ 19 FASE DE OPERAO ............................................................................................................. 20 ANLISE DO RISCO ................................................................................................................. 20 IDENTIFICAO DOS RISCOS ................................................................................................ 21 GESTO DOS RISCOS ............................................................................................................ 21 RECURSOS ............................................................................................................................... 22 ORGANIZAO E CONTROLO DO PROJECTO ........................................................................ 23 RECURSOS DE HARDWARE ..................................................................................................... 25 RECURSOS DE SOFTWARE...................................................................................................... 25 CALENDARIZAO 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 TECNOLGICA ........................................................................................... 32 4.2.2 .NET FRAMEWORK E LINGUAGEM C# .................................................................................... 33 4.2.3 ARQUITECTURA FSICA ........................................................................................................ 36 4.2.4 ARQUITECTURA LGICA ...................................................................................................... 36 4.2.5 PLANO DE TESTES................................................................................................................. 47 4.2.6 TRABALHO REALIZADO POR MIM ......................................................................................... 48 5 5.1 SUMRIO E CONCLUSES............................................................................................49
SUMRIO ................................................................................................................................. 50

Relatrio do Projecto em Engenharia Informtica

Pgina 4 de 62

Indce
5.2 6 7 7.1 7.2 8 8.1 8.2
CONCLUSES .......................................................................................................................... 50

GLOSSRIO .......................................................................................................................51 BIBLIOGRAFIA E REFERNCIAS................................................................................53


ENDEREOS WEB .................................................................................................................... 54 LIVROS E DOCUMENTOS ........................................................................................................ 54

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

Relatrio do Projecto em Engenharia Informtica

Pgina 5 de 62

1 INTRODUO

Relatrio do Projecto em Engenharia Informtica

Pgina 6 de 62

Introduo

Este documento relata o estgio efectuado por mim, aluno da Licenciatura em Informtica da Faculdade de Cincias da Universidade de Lisboa, na empresa link consulting (LINK). Neste captulo fao a apresentao do estgio, uma descrio da estrutura do relatrio e uma pequena apresentao daquilo que fiz durante o estgio.

1.1 APRESENTAO DO PROJECTO


Este projecto visa a integrao de alunos da FCUL, que tenham concludo os primeiros quatro anos da Licenciatura em Informtica, numa empresa do pas, com o objectivo de a efectuar um Projecto em Engenharia Informtica do Curso de especializao profissional em Engenharia da FCUL. A LINK foi uma das empresas que solicitou um estgio FCUL no qual fui integrado. O estgio desenrolou-se na Unidade de Portais & Intranets (UPI), durante um perodo de 9 meses, desde 1 de Setembro de 2004 a 31 de Maio de 2005. O projecto em causa para o cliente Sistema Mutimunicipal do rio Lis do Saneamento Integrado (SIMLIS), que pretende que seja construdo um Sistema de Informao com o objectivo de fazer a gesto de todo o seu processo de negcio. O SIMLIS uma empresa concessionria do Sistema Multimunicipal de Saneamento do Lis com vista recolha, tratamento e rejeio de efluentes dos municpios de Batalha, Leiria, Marinha Grande, Ourm e Porto de Ms. Um projecto de execuo SIMLIS pode ser encontrado na Internet em http://www.iambiente.pt/IPAMB_DPP/docs/SE131.pdf .

1.2 INSTITUIO LINK


Como j foi dito o estgio desenrolou-se na LINK, nomeadamente na UPI. Importa referir, de forma resumida, a origem e quais as funes da LINK. A LINK est situada na Av. Duque Dvila, 23, em Lisboa. Esta empresa teve origem na transformao em estrutura empresarial dos Centros de Transferncia de Tecnologia do INESC da rea de Informtica e Computadores. Estes Centros tinham sido criados em 1991 com base num contrato estabelecido com o PEDIP, no mbito dos Programas PEDIP. No esprito original do contrato com o PEDIP existia o objectivo de que as actividades dos Centros de Transferncia de Tecnologia viessem a ser totalmente suportadas por mecanismos de mercado. Dado ser essa a situao dos Centros da rea de Informtica e Computadores, no contexto da reorganizao das actividades do INESC, decidiram os respectivos scios efectuar o spin-off destas actividades numa nica empresa, que veio a dar origem LINK, cujo propsito foi procurar desenvolver este patrimnio tcnico. A LINK, criada em 1999, uma empresa de consultoria e servios que intervm nas reas de consultoria, desenvolvimento e operacionalizao de modelos de negcio electrnico e em consultoria e desenvolvimento de infra-estruturas de Telecomunicaes, bem como solues de Comunicaes mveis e de Portais de Voz e WAP. A LINK tem como Misso tornar os clientes lderes no alinhamento, integrao, eficcia e segurana dos seus processos com as Tecnologias de Informao, atravs da sua Relatrio do Projecto em Engenharia Informtica Pgina 7 de 62

Introduo experincia, competncia e continua inovao em consultoria e engenharia de sistemas de informao. E como Viso ser reconhecida entre as melhores empresas de consultoria e engenharia no sector das Tecnologias de Informao no pas; procurada pelos clientes que tm problemas complexos, pelos profissionais que aspiram a grandes desafios e pelos investidores que pretendem um investimento slido. Os principais clientes so os seguintes:

Figura 1 Principais clientes da LINK. A LINK tambm aposta na penetrao de novos mercados.

Figura 2 Novos mercados onde a LINK aposta.

Relatrio do Projecto em Engenharia Informtica

Pgina 8 de 62

Introduo

1.3 ESTRUTURA DO RELATRIO


O primeiro captulo constitudo pela a Introduo, onde apresentado o estgio, a apresentao da instituio onde decorreu, a estrutura do relatrio e um resumo do trabalho realizado; O segundo captulo apresenta os Objectivos do Projecto e o plano inicial que foi elaborado para se atingir os mesmos. Adicionalmente desenvolve o Contexto de Trabalho do Projecto, tratando-se no essencial de uma introduo tcnica ao tema; No terceiro captulo relatada a Metodologia de Trabalho usada no desenvolvimento do mesmo e a respectiva Calendarizao; O quarto captulo apresenta o Trabalho Realizado em fase de pr-projecto, do qual resultou na integrao em equipas de projecto e liberdade de autonomia, e na fase de projecto, documentando aquilo que foi feito e quais as ferramentas utilizadas. Apresenta as vrias abordagens estudadas para atingir os objectivos definidos e detalha aquela que foi escolhida. Refere tambm qual a minha colaborao concreta no projecto; O quinto captulo apresenta um Sumrio daquilo que foi feito e adicionalmente relata a Concluso do Relatrio; Por fim, so apresentados o Glossrio, a Bibliografia e os Anexos usados.

1.4 RESUMO DO TRABALHO REALIZADO


De uma forma breve e sucinta, podemos dividir o estgio em duas fases. Na primeira, com a durao de cerca de 2 meses, para autoformao (com acompanhamento) em novas tecnologias e integrao em equipas de projectos para a realizao de pequenas tarefas. E a segunda, para a construo da aplicao para gesto de todo o processo de negcio do SIMLIS. Por fim, o ltimo ms de estgio, foi passado a realizar um relatrio sobre todo o trabalho efectuado no perodo de estgio.

Relatrio do Projecto em Engenharia Informtica

Pgina 9 de 62

2 OBJECTIVOS DO PROJECTO E CONTEXTO DO TRABALHO

Relatrio do Projecto em Engenharia Informtica

Pgina 10 de 62

Objectivos do Projecto e Contexto do Trabalho

2.1 OBJECTIVOS DO PR-PROJECTO


Esta seco encarrega-se de apresentar os objectivos da fase de pr-projecto de uma forma resumida. Os objectivos focaram com aspectos tecnolgicos bem como os relativos a questes de metodologia de trabalho. Do mencionado anteriormente destacam-se: Aprendizagem da plataforma .Net, em particular dos WebServices; Desenvolvimento de competncias de programao; Interiorizar a metodologia de desenvolvimento de projectos. Em termos da integrao na equipa de projecto, foram definidos os seguintes objectivos: Anlise de documentos de requisitos a fim de alcanar o desenvolvimento de componentes; Autonomia na realizao de tarefas de desenvolvimento; Realizao de testes unitrios aos componentes desenvolvidos; Elaborao do manual do utilizador.

2.2 OBJECTIVOS DO PROJECTO


Nesta seco sero descritos os objectivos da fase de projecto. Sabe-se que o objectivo principal o resultado prtico do projecto, ou seja, uma aplicao informtica til para o SIMLIS e que siga as especificaes efectuadas e aprovadas. Contudo, importante mencionar outros objectivos que estiveram sempre presentes e que so: A integrao numa equipa de projecto; Contacto com a documentao funcional e tcnica; Aprofundamento da capacidade de redaco de relatrios; Adquirir experincia profissional. De seguida ser efectuada a descrio, de uma forma mais pormenorizada, os principais objectivos deste projecto, no que toca ao aplicativo a implementar. Actualmente os colaboradores do SIMLIS tm a necessidade de aceder a diversa informao dspar e no relacionada, contida nos imensos volumes de processos existentes. Relatrio do Projecto em Engenharia Informtica Pgina 11 de 62

Objectivos do Projecto e Contexto do Trabalho Por vezes alguns processos podem estar entregues a uma entidade externa por um determinado perodo de tempo, tornando impossvel a sua consulta e mesmo tornando difcil o controlo dos prazos estipulados. Por outro lado, os processos que se encontram no SIMLIS nem sempre se encontram disposio e em bom estado de conservao ou no se sabe onde esto armazenados, demorando por vezes muito tempo at que se encontrem. Estes problemas so facilmente ultrapassados, com a ajuda de uma Base de Dados Relacional e uma aplicao para gerir a mesma. A soluo apresentada tem como objectivo reduzir a circulao do volume de papel em que assentam os processos, diminuir o tempo de apreciao dos processos de constituio de expropriao e ter um registo sobre os contactos efectuados, registo da documentao e controlo de pagamentos, e que sirva de apoio deciso com base em toda a informao e historial que a Base de Dados disponibiliza. No que toca a aspectos tcnicos, a interface da aplicao perante o utilizador baseada em HTML produzido por ASP.NET. A partir das pginas ASP.NET pode-se aceder a toda a informao armazenada na Base de Dados (SQL Server 2000 SP2 com Reporting Services), bem como efectuar a gesto dos dados. Uma das grandes vantagens de se ter utilizado documentos ASP.NET no sistema WWW que permite o acesso informao atravs de diversos locais e podendo eventualmente aceder com diversos dispositivos. Deste modo, os utilizadores podem aceder informao a partir de qualquer PC instalado no interior do SIMLIS ou atravs de um PC externo com ligao Intranet (caso sejam cumpridos todos os requisitos em termos de configurao de rede e segurana). Com este sistema a SIMLIS pretende atingir os seguintes resultados: Importar a informao contida em Excel para um repositrio nico; Registar, Pesquisar e Consultar informao relativa a Parcelas e Interessados; Registar e controlar os pagamentos a titulo de indemnizao e compensatrios efectuados aos proprietrios; Registar a obteno de licenas RAN, REN, DH; Este projecto foi elaborado por uma equipa de consultores. No captulo 4.2.6, so apresentadas as funcionalidades implementadas por mim durante o projecto. As funcionalidades a implementar no futuro so descritas no captulo 5.1.

2.3 PLANO INICIAL DO PROJECTO


O planeamento de um projecto algo bastante importante e que nos d uma perspectiva do tempo necessrio, recursos e riscos envolvidos na elaborao do mesmo. O plano do projecto algo que ser actualizado ao longo do tempo. O modelo de desenvolvimento da aplicao constitudo por diversas fases que sero abordadas com maior detalhe no captulo 3.2.

Relatrio do Projecto em Engenharia Informtica

Pgina 12 de 62

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 Gesto do Projecto Planeamento Start Up Controlo Encerramento Desenho e Concepo Levantamento das Interfaces Aplicacionais Elaborao da Arquitectura de Informao Arquitectura de Informao Aprovada Especificao de Requisitos Funcionais Especificao de Requisitos Funcionais Aprovada Elaborao do Guio Interactivo Guio Interactivo Aprovado Concepo do Design Grfico Design Grfico Aprovado Desenho dos Ambientes e Sistemas Desenho dos Ambientes e Sistemas Aprovado Especificao de Testes de Aceitao Desenho Tcnico Desenvolvimento Desenvolvimento e Parametrizao Importao de dados Fim do Desenvolvimento Testes de Integrao Transio Infra Estrutura Documentao Formao Testes de Aceitao Correces Entrada em Produo 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 Calendarizao Inicial A Calendarizao apresentada anteriormente trata-se da Calendarizao Inicial proposta pela equipa LINK tendo em conta os requisitos e envolvimento da equipa do cliente. No captulo 3.5 apresentada a Calendarizao Final, que corresponde ao verdadeiro tempo despendido no projecto.

2.4 CONTEXTO DO TRABALHO


Em termos de localizao, o projecto desenrolou-se na UPI (instalaes da LINK) e por fim instalado nas instalaes do cliente SIMLIS em Leiria. Ao longo deste capitulo, vou desenvolver o principal objecto de trabalho, Servides e Expropriaes, sobre o qual incidiu o trabalho. Dizer que o processo de Expropriao consiste na aquisio de uma propriedade privada mediante o pagamento de uma indemnizao e o processo de Servido consiste na autorizao de passagem de tubagens pelo terreno de outrem, algo demasiado vago. preciso referir todas as entidades que so envolvidas e como funcionam.

Relatrio do Projecto em Engenharia Informtica

Pgina 13 de 62

Objectivos do Projecto e Contexto do Trabalho De seguida irei descrever, detalhadamente, o propsito de cada um dos tipos de entidades envolvidas e como funcionam. Subsistema um conjunto de todas as infra-estruturas com unidades finais de tratamento (bastar ter uma ETAR para j ser um subsistema, no entanto, poder ainda ser constitudo por Estaes Elevatrias, ETAR e Emissrios), do sistema de saneamento da rea de interveno do SIMLIS. Projecto uma empreitada de execuo de determinadas infra-estruturas dos diversos subsistemas. Um mesmo projecto poder envolver obras em diversos subsistemas. Infra-estrutura responsvel pelo transporte efluente. Uma infra-estrutura pertence a um nico subsistema e projecto e pode ser construda em vrias parcelas. Parcela representa uma rea de terreno necessrio para a implantao da infraestrutura. Numa parcela construda somente uma infra-estrutura e pode ser possuda por vrios interessados. Se no existir acordo para a utilizao da parcela com pelo menos um dos interessados ento a parcela encontra-se em litgio. Confrontaes consiste na identificao de objectos/terrenos que confinam com a parcela. Litigio o conjunto dos processos legais para a entrada no terreno e registo da servido no caso de no existir acordo. O processo de litgio nico por parcela e decomposto em dois processos sequencias, Vistoria e Arbitragem, que pode ser resolvido a qualquer altura. Vistoria a identificao de todas as caractersticas da parcela por um perito nomeado pelo tribunal. Se aps este processo se mantiver o litgio ento ser despoleta a arbitragem. Arbitragem a avaliao da parcela por um perito nomeado pelo tribunal, onde o perito vai avaliar a parcela e emitir o relatrio a enviar para o tribunal, para o SIMLIS e para os proprietrios. Aps este processo o valor de indemnizao ser estabelecido pelo tribunal. O processo de litgio concludo sem no entanto se ter chegado a acordo com os interessados. DUP a Declarao de Utilidade Pblica emitida pelo Ministrio do Ambiente. Para este processo necessrio juntar determinados documentos dos quais vo ficar registados os seguintes: o Licenas de RAN e REN no caso de existir alguma parcela com estas naturezas; o Publicao dos Editais; o Garantias Bancrias; o Primeira notificao aos interessados das parcelas que no tm acordo.

Relatrio do Projecto em Engenharia Informtica

Pgina 14 de 62

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. Aps a obteno de DUP, associada s parcelas, da infra-estrutura, que ainda no tenham DUP definida, a identificao da DUP obtida. Interessados so todas as entidades envolvidas na parcela (proprietrio, arrendatrio, procuradores e outros utilizadores) . Um interessado s existe no contexto de uma parcela. A mesma entidade se associada a mais de uma parcela, tratada como sendo interessados diferentes. Um interessado pode ser contactado pelo SIMLIS vrias vezes. Contacto identifica uma comunicao entre o SIMLIS e um interessado. Um contacto somente efectuado a um interessado, se uma mesma carta for enviada a mltiplos interessados de uma parcela, resulta em vrios contactos efectuados. Cada contacto contem as referncias dos documentos enviados ao interessado. Um contacto pode ter mais do que um documento enviado. Pagamento identifica um pagamento efectuado pelo SIMLIS no mbito de obteno de contracto de servido para uma parcela. Um pagamento somente efectuado para uma parcela. Cada pagamento contem referncias dos documentos associados ao pagamento. Um pagamento pode ter mais do que um documento associado. Pagamentos com valores negativos so recebimentos. Pedido Pagamento o conjunto de todos os documentos que comprovam a ocorrncia das despesas elegveis das respectivas candidaturas aos fundos comunitrios e que permitem receber os respectivos subsdios. Um pedido pagamento o conjunto de todas as despesas. Despesa o conjunto de todos os documentos que comprovam a ocorrncia das despesas elegveis por parcela e tipo de pagamento. Uma despesa associada a um pedido de pagamento. Para um mesmo pedido de pagamento e parcela uma despesa de uma dado tipo nica. Correspondncia a entidade que representa um contacto de correspondncia do SIMLIS. Correspondncia de entrada, do exterior para o SIMLIS. Correspondncia de sada, do SIMLIS para o exterior identificada por n de ordem interno indexado ao ano. Correspondncia sempre dirigida a um destinatrio. Referncia Documento identifica a referncia para um documento fsico arquivado. Vrias entidades contm referncias a documentos nomeadamente: o Parcela documentos associados a uma parcela; o Pedido DUP documentos manipulados no mbito de um pedido DUP; o Contacto notificaes, documentos enviados a interessados de parcelas; o Pagamento documentos associados a pagamentos.

Relatrio do Projecto em Engenharia Informtica

Pgina 15 de 62

3 METODOLOGIA E CALENDARIZAO DO TRABALHO

Relatrio do Projecto em Engenharia Informtica

Pgina 16 de 62

Metodologia e Calendarizao do Trabalho

3.1 METODOLOGIA DE GESTO DE PROJECTOS


A LINK, consciente da importncia da gesto dos seus projectos, engloba na sua estrutura organizacional uma rea designada por Project Support Office (PSO). O PSO tem como misso garantir a qualidade da gesto dos projectos LINK, desenvolveu uma metodologia para esse efeito e tem vindo a desenvolver sistemas de informao de suporte mesma. O modelo de gesto de projectos da LINK, encontra-se representado na Figura 4 Metodologia de Gesto de Projectos da LINK, no anexo II - Figuras. Este modelo resulta da adaptao do modelo seguido pelo Project Management Institute (PMI) e aplicvel a qualquer tipo de projecto, independente da tecnologia envolvida. Podemos observar que o modelo divide-se em cinco macro-processos que respeitam ao arranque do projecto, ao planeamento, execuo, controlo e encerramento do projecto. Entre os processos de execuo e de controlo verifica-se um ciclo que s quebrado quando esto criadas as condies, de acordo com o plano de projecto, para se passar ao processo de encerramento, ou quando assegurada pelos fluxos de reporting de progresso da execuo dos trabalhos, dos quais obtido feedback que se poder traduzir na aprovao dos trabalhos executados ou em pedidos de correco. Cada um dos macro-processos acima referenciados encontra-se detalhado no documento de referncia da Link Consulting (2004) - Metodologia de Gesto de Projectos, que no est disponvel*.

3.2 MODELO DE DESENVOLVIMENTO


O desenvolvimento de software um processo complexo, que no dever ser realizado ao acaso, sendo tomadas decises apenas quando preciso, ou dependendo totalmente na qualidade das tecnologias disponveis. Pelo contrrio, deve seguir uma metodologia que combine mtodos compreensivos para todas as fases do trabalho, ferramentas de desenvolvimento, tcnicas para assegurar a qualidade do software e uma filosofia de coordenao, controle e gesto dos recursos disponveis. Esta metodologia tem como objectivo ajudar ao planeamento das tarefas de cada fase do desenvolvimento, bem como a definio da melhor forma de as realizar. O modelo de desenvolvimento usado foi o Modelo da LINK que uma metodologia iterativa que segue uma instanciao do RUP, aplicvel a qualquer tecnologia escolhida. Este modelo apresentado esquematicamente na Figura 5 - Metodologia de desenvolvimento da LINK, no anexo II - Figuras. O modelo apresentado processa-se em ciclos, como se pode observar, e cada ciclo resulta numa nova release da aplicao. Isto processa-se usualmente de acordo com um plano de releases, definido quer devido necessidade de lanamentos faseados com funcionalidade incremental, quer por ser exigida a construo prvia de prottipos que tm que ser evoludos para os produtos finais. Relatrio do Projecto em Engenharia Informtica Pgina 17 de 62

Metodologia e Calendarizao do Trabalho

A passagem da Fase de Viso para a Fase de Concepo d-se sempre que h uma definio de objectivos a desenvolver. A passagem para a Fase de Implementao ocorre no final da fase de desenho. Quando a aplicao est pronta a entrar em operao, inicia-se a fase de Transio, normalmente com uma release beta (tambm conhecida como piloto), apenas disponvel a um conjunto restrito de utilizadores. Esta fase termina com o roll-out (entrega) definitivo da aplicao e a sua disponibilizao aos utilizadores em geral. Retoma-se ento a fase de Viso, para o desenvolvimento da prxima release da aplicao.

3.2.1 Fase de Viso


A primeira Fase de Viso coincide normalmente com a elaborao da proposta, esta deve assegurar o acordo relativamente aos objectivos a serem desenvolvidos. durante a Fase de Viso que se estabelecem as regras de negcio para a aplicao a desenvolver e se define o mbito do projecto. Os resultados expectveis desta fase so apresentados de seguida: Uma viso genrica dos requisitos fundamentais, caractersticas chave e constrangimentos principais da aplicao a desenvolver; Elaborao de um ou mais prottipos. Alguns dos principais critrios a ter em conta na Fase de Viso so: A concordncia dos vrios intervenientes relativamente ao mbito e estimativas; A compreenso dos requisitos essenciais, por vezes evidenciada com alguns casos de uso iniciais; A credibilidade das estimativas, prioridade, riscos e o processo de desenvolvimento.

3.2.2 Fase de Concepo


A Fase de Concepo tem como objectivo a anlise e desenho da aplicao. As actividades desta fase asseguram a estabilidade da arquitectura e requisitos e a minimizao dos riscos, de forma a ser possvel predizer com certeza o esforo necessrio para completar o desenvolvimento. Os principais critrios de avaliao da Fase de Concepo so normalmente os seguintes: A estabilidade da viso da aplicao; A estabilidade da arquitectura; O tratamento e resoluo dos maiores riscos tcnicos. Genericamente, os resultados da Fase de Concepo so em geral os seguintes: Relatrio do Projecto em Engenharia Informtica Pgina 18 de 62

Metodologia e Calendarizao do Trabalho

O modelo de casos de uso e a captura de requisitos suplementares, no funcionais, no associados a um caso de uso especifico; Levantamento das entidades; O desenho da interface com o utilizador; A reviso da lista de riscos e do caso de negcio apresentado na viso; Nesta fase, so produzidos um conjunto de documentos que descrevem o resultado da anlise de concepo da aplicao. A Fase de Concepo termina com as estimativas dos tempos de implementao por parte da equipa de desenvolvimento. As estimativas por caso de uso devem incluir as fases de anlise, desenho, codificao, testes unitrios, integrao e documentao.

3.2.3 Fase de Implementao


Durante a fase de implementao, todas as componentes e funcionalidades da aplicao so desenvolvidas, integradas numa release e cuidadosamente testadas. O resultado desta fase uma aplicao pronta a ser disponibilizada aos seus utilizadores finais. Este dever no mnimo compreender os seguintes aspectos: Estar integrado nas plataformas adequadas; Ser acompanhado de uma primeira verso dos manuais de utilizao e instalao; O desenho detalhado, contedo a descrio de release. Os critrios de avaliao para esta Fase de Implementao so: A estabilidade e maturidade do desenvolvimento, por forma a ser disponibilizado comunidade de utilizadores; Resultados dos testes; A preparao de todos os intervenientes para a transio da aplicao.

3.2.4 Fase de Transio


O objectivo principal da Fase de Transio fazer transitar a aplicao para a sua comunidade de utilizadores, ou seja conseguir: A autonomia dos utilizadores fase ao suporte; A concorrncia dos intervenientes de que a aplicao est consciente com a viso inicial; Disponibilizar a release final da aplicao, da forma mais rpida e prtica.

Relatrio do Projecto em Engenharia Informtica

Pgina 19 de 62

Metodologia e Calendarizao do Trabalho

A Fase de Transio inicia-se sempre que o desenvolvimento se encontra maduro o suficiente para ser disponibilizado aos seus utilizadores finais. Isto requer tipicamente que um subconjunto das funcionalidades sejam completadas a um nvel aceitvel de qualidade, e que a documentao para os utilizadores esteja disponvel de forma que a transio fornea resultados positivos a todas as partes. A Fase de Transio inclui o seguinte: Testes para validar o sistema relativamente s expectativas dos utilizadores; Se o caso, a operao paralela com as aplicaes que est substituir; Se o caso, conversao de base de dados operacionais; Formao dos utilizadores e administradores. No final desta fase decide-se se os objectivos da viso foram atingidos e se deve iniciar outro ciclo de desenvolvimento. Os critrios de avaliao para esta fase centram-se exclusivamente na satisfao dos seus utilizadores.

3.2.5 Fase de Operao


No caso da metodologia de desenvolvimento de aplicaes da LINK, a fase de operao compreende a garantia da aplicao, que assegura apenas a manuteno correctiva dos desenvolvimentos efectuados pela LINK. A garantia exclui os aspectos como os seguintes: O suporte a anomalias de sistemas externos; Alteraes que resultem de mudanas face aos requisitos especificados nos documentos produzidos na Fase de Concepo; Testes. Cada uma das fases mencionadas anteriormente encontra-se detalhada no documento de referncia de Assuno, Joo (2003) - Metodologia de Desenvolvimento de Aplicaes Workflow, que no se encontra disponvel*.

3.3 ANLISE DO RISCO


Sempre que somos confrontados com um projecto de desenvolvimento de software, temos que ter em conta a anlise do risco relacionada com processo de desenvolvimento. A anlise do risco constituda por duas actividades, sendo a primeira, a identificao dos riscos inerentes ao projecto em questo, porque nem todos os projectos esto sujeitos aos mesmos riscos, a segunda a gesto dos riscos identificados na actividade anteriormente, ou seja, o estudo e escolha de medidas alternativas que permitam minimizar e controlar os riscos. Relatrio do Projecto em Engenharia Informtica Pgina 20 de 62

Metodologia e Calendarizao do Trabalho

De seguida so apresentados os que foram mais importantes no projecto e como foram abordados.

3.3.1 Identificao dos Riscos


Os riscos que vamos enfrentar so de trs tipos: riscos de projecto, riscos tcnicos e riscos de negcio. Os que mais podero influenciar o projecto a ser desenvolvido so: Riscos de projecto o Interpretao incorrecta dos requisitos do cliente; o Desenvolver um produto cujo custo final seja muito elevado; o Atraso na entrega do produto final. Riscos tcnicos o Interface inapropriada para o tipo de utilizador; o Impossibilidade de garantir a manuteno do sistema; o Tecnologia inadequada. Riscos de negcio o Falta de formao dos utilizadores; o Perder o apoio da direco do SIMLIS; o Desenvolver um produto que no venha a ser utilizado.

3.3.2 Gesto dos Riscos


Finalmente, so apresentadas as medidas que podero permitir minimizar e controlar cada um dos riscos indicados. Riscos do projecto o Interpretao incorrecta dos requisitos do cliente. O contacto por parte da direco do SIMLIS com a aplicao que estava a ser desenvolvida permitiu que qualquer erro resultante de m interpretao fosse corrigido de imediato; o Desenvolver um produto cujo custo final seja muito elevado. No inicio do projecto foram definidos os recursos de hardware e software necessrios. Entretanto foi utilizada tecnologia sobre a qual nunca tinha sido usada e como tal no se sabia dar uma estimativa exacta. Contudo foi atribuda uma

Relatrio do Projecto em Engenharia Informtica

Pgina 21 de 62

Metodologia e Calendarizao do Trabalho

tarefa para autoformao na tecnologia em questo tendo em conta os recursos monetrios disponveis; o Atraso na entrega do produto final. Para evitar este risco foi necessrio levar a srio a calendarizao do projecto, certificar-se das tarefas j concludas, preparar adequadamente as restantes e controlar os prazos definidos para a realizao de cada uma, de acordo com a calendarizao. Riscos tcnicos o Interface inapropriada para o tipo de utilizador. Quanto a este risco, s quando os utilizadores comearem a utilizar a aplicao que podemos tirar concluses. No entanto tentou-se identificar o melhor possvel o domnio da aplicao, assim como o grau de conhecimento e objectivos dos utilizadores da aplicao. Tambm ser fornecido um Manual do Utilizador para ajudar os utilizadores na utilizao do sistema. Contudo, as aplicaes da Web, hoje em dia, tm vindo a ser muito populares da que se opta-se pela criao de ecrs da aplicao sob a forma de pginas HTML; o Impossibilidade de garantir a manuteno do sistema. A melhor maneira de combater este risco foi a criao de documentao, para auxiliar os programadores e informar sobre todos os passos do processo de desenvolvimento de software; o Tecnologia inadequada. Este risco foi combatido com a escolha das tecnologias mais poderosas que existem actualmente no mercado. No entanto, sabe-se que no futuro aparecero novas tecnologias mais potentes. Este risco poder ser superado no futuro com a adaptao da nova tecnologia atravs do processo de migrao. Riscos de negcio o Falta de formao dos utilizadores. Este risco travado com o fornecimento do Manual do Utilizador e atravs de formao dada pelos responsveis da LINK aos utilizadores finais; o Perder o apoio da direco do SIMLIS. conveniente manter a direco informada em relao ao estado do processo de desenvolvimento de software; o Desenvolver um produto que no venha a ser utilizado. Este risco segue as medidas a serem tomadas no risco da Interface inapropriada para o tipo de utilizador.

3.4 RECURSOS
Para que o planeamento efectuado seja cumprido necessrio dispor de recursos humanos, de hardware e de software.

Relatrio do Projecto em Engenharia Informtica

Pgina 22 de 62

Metodologia e Calendarizao do Trabalho

3.4.1 Organizao e Controlo do Projecto


3.4.1.1 Organizao do Projecto

A Organizao do Projecto apresentada tem como objectivo definir os nveis de responsabilidade e deciso, bem como os canais e processos de comunicao, capazes de assegurarem o sucesso do projecto.

Figura 6 Organizao do Projecto O Gestor de Projecto, Eng Joo Assuno, da LINK tem como responsabilidades: O planeamento e controlo dos objectivos do projecto, nomeadamente mbito, tempo, custos, qualidade e organizao; A garantia da correcta identificao e quantificao dos riscos do projecto, bem como o planeamento das aces de resposta aos mesmos; A constituio e gesto da equipa de projecto e a direco das reunies com a equipa de projecto; O controlo do projecto, comparando a situao actual face ao planeado, identificando desvios e propondo aces correctivas; A elaborao e distribuio de relatrios peridicos de situao do projecto, assegurando a comunicao com os vrios stakeholders. O gestor de projecto do cliente tem como responsabilidades:

Relatrio do Projecto em Engenharia Informtica

Pgina 23 de 62

Metodologia e Calendarizao do Trabalho

Assegurar e coordenar o envolvimento dos elementos da sua organizao de acordo com o definido no plano do projecto; Assegurar, conjuntamente com o gestor de projecto da LINK, o controlo do projecto, especialmente nos componentes definidos sendo da responsabilidade da sua organizao; Colaborar, conjuntamente com o gestor de projecto da LINK, na elaborao dos relatrios de progresso do projecto. O Responsvel Tcnico, Eng Paulo Mateus, da LINK tem como responsabilidades: O planeamento e controlo do processo de desenvolvimento de software; A garantia da qualidade do software desenvolvido; A deciso sobre as opes tecnolgicas que melhor se enquadrem face aos requisitos da soluo a desenvolver; A distribuio da execuo das tarefas de garantia de qualidade (especificao de requisitos, especificao de testes) e de controlo de qualidade (testes de unidade; testes de integrao, testes de carga e desempenho); A elaborao e distribuio de relatrios peridicos de progresso do projecto, assegurando a comunicao com a Gesto do Projecto. A Equipa de Consultores, constituda por Eng Paulo Mateus, Eng Carlos Dias e por mim, Bruno Bento, tem como responsabilidades: A equipa de consultores, coordenada pelo Responsvel Tcnico na vertente de execuo tcnica e pelo Gestor de Projecto da LINK na vertente de gesto de recursos humanos, assegurar a execuo de todas as actividades de acordo com o planeamento acordado. A Equipa do Cliente tem como responsabilidades: A Equipa do Cliente, cuja coordenao da exclusiva responsabilidade do Gestor de Projecto do Cliente, pode contar com Utilizadores Chave, aptos a definirem os requisitos funcionais e de desempenho da soluo, bem como de verificarem a conformidade da soluo final face aos requisitos. 3.4.1.2 Controlo do Projecto

Para efectuar o Controlo do Projecto foram usados os seguintes procedimentos de comunicao: Relatrios de controlo de projecto; Reunies de controlo de projecto.

Relatrio do Projecto em Engenharia Informtica

Pgina 24 de 62

Metodologia e Calendarizao do Trabalho

Ao longo do Ciclo de Vida do projecto foram produzidos periodicamente relatrios de progresso. Estes relatrios, destinados ao Gestor de Projecto, reflectem a situao de cada componente do projecto relatada pelos coordenadores de cada um dos pacotes de trabalho. As reunies de controlo de progresso tiveram uma periodicidade semanal, tendo por objectivo a reviso dos relatrios de progresso. Evidenciam: O trabalho concludo desde a ltima reunio; O trabalho em curso; O trabalho em atraso; O planeamento do trabalho para o prximo perodo;

3.4.2 Recursos de hardware


Os recursos de hardware utilizados no desenvolvimento da aplicao foram os seguintes: Mquina servidor de Base de Dados; Mquina servidor de web; Mquinas clientes de desenvolvimento.

3.4.3 Recursos de software


O software instalado nestas mquinas para o desenvolvimento da aplicao pretendida : Microsoft Visual Source Safe o O VSS uma ferramenta de colaborao para programadores de aplicaes. Com esta ferramenta possvel dentro da equipa de desenvolvimento, controlar os acessos e verses. A grande vantagem de usar este software e no outro semelhante existente no mercado prende-se com a integrao com os produtos Microsoft. Esta ferramenta foi adoptada para controlar o cdigo fonte do projecto. Concurrent Version System o O CVS tambm uma ferramenta de controlo de verses e acessos de um sistema durante o processo de desenvolvimento. Esta a ferramenta de eleio na LINK para controlo de verses de documentos. Os documentos em questo so a especificao tcnica e funcional, o manual do utilizador e de instalao, entre outros. Visual Studio 2003 Relatrio do Projecto em Engenharia Informtica Pgina 25 de 62

Metodologia e Calendarizao do Trabalho

o O VS 2003 o ambiente de desenvolvimento das aplicaes .NET. .NET Framework o Trata-se da infra-estrutura bsica sobre a qual as aplicaes correm. Microsoft Internet Information Services o O IIS um servidor Web da plataforma Microsoft.

Microsoft SQL Server 2000 o O SQL Server uma base de dados de referncia do mercado proporcionando uma base slida e escalvel do sistema. Microsoft Office Visio 2003 o uma ferramenta simples e flexvel para criar com facilidade grficos e fluxogramas para entender, visualizar conceitos mais rapidamente e comunicar informaes com maior eficincia. Microsoft Office Word 2003 o Processador de texto escolhido para processar todos os documentos realizados para o projecto. Internet Explorer v6.0 o Ferramenta utilizada para visualizar as pginas web. SQL Server Query Analyzer o Ferramenta que oferece um ambiente extremamente flexvel para correr ad hoc queries. Esta ferramenta faz parte do pacote do SQL Server. SQL Server Enterprise Manager o Ferramenta que oferece um ambiente para criar e gerir Base de Dados, bem como navegar pelos dados. Esta ferramenta faz parte do pacote do SQL Server. Microsoft Windows XP Professional Version 2002 Service Pack 2 o Sistema operativo sobre o qual todas as ferramentas mencionadas anteriormente correm. Os produtos anteriormente seleccionados para a realizao do projecto foram aqueles que tm em conta o valor que trazem para o SIMLIS quer para este projecto quer a mdio e longo prazo. Na deciso da escolha do software pesou o SIMLIS ter um contrato com a Microsoft no que toca aos produtos.

Relatrio do Projecto em Engenharia Informtica

Pgina 26 de 62

Metodologia e Calendarizao do Trabalho

3.5 CALENDARIZAO FINAL DO TRABALHO


Apesar do esforo feito para cumprir risca a calendarizao inicial, sempre de esperar que aconteam sempre imprevistos que levem ao atraso das tarefas definidas. A falta de experincia da minha parte, nomeadamente na resoluo de bugs (problemas), levou a que pontualmente fosse notado algum atraso, que mais tarde foi recuperado com um esforo adicional da minha parte. Este contratempo permitiu que mais tarde o desenvolvimento do cdigo para a aplicao fosse mais rpido. Sendo considerada informao sensvel no que toca sua divulgao ao exterior, o plano de projecto final no ser aqui exposto.

Relatrio do Projecto em Engenharia Informtica

Pgina 27 de 62

4 TRABALHO REALIZADO

Relatrio do Projecto em Engenharia Informtica

Pgina 28 de 62

Trabalho Realizado

4.1 TRABALHO REALIZADO NO PR-PROJECTO


Esta seco encarrega-se de relatar o trabalho realizado durante a fase de prprojecto de uma forma resumida. Como j foi mencionado no captulo 2.1, os objectivos do pr-projecto consistiam na adaptao ao trabalho em equipas de trabalho segundo a Organizao e Controlo do Projecto, e tambm no enriquecimento de conhecimentos das novas tecnologias. De seguida so apresentados os projectos em que estive inserido nesta fase.

4.1.1 Na Sonae MCH


A minha primeira colaborao foi dada no projecto que era para o cliente Sonae Distribuio Modelo Continente Hipermercados e consistiu num processo de uniformizao dos layouts das aplicaes WF (WorkFlow). Pretendia-se alterar o design e as cores para corresponder ao contedo do Guio Interactivo Genrico que entretanto fora actualizado. As vantagens deste desenvolvimento so vrias: Restabelecimento de um padro uniforme de interface para o utilizador, que est de acordo com o grafismo da Worklist nica e da prpria NGI (Nova Gerao do INSITE). Este ponto especialmente importante tendo em conta o crescente nmero de utilizadores deste WF. Enriquecimento de algumas componentes do WF Bens e Servios, que permitem no futuro uma maior rapidez na alterao das interfaces. Melhoria significativa na usabilidade de alguns dos ecrs que sero alterados. Adopo de desenvolvimento. alguns componentes comuns, reduzindo esforo de

Na Figura 7 - Exemplo de um ecr do WF Bens e Servios, no anexo II - Figuras, encontra-se um exemplo que ilustra os resultados que se pretendem obter com este desenvolvimento. A minha participao no projecto foi nas seguintes etapas definidas na metodologia: Desenvolvimento o Alteraes das Interfaces o Passagens a Staging (pr-produo) Transio o Preparao da Passagem a Produo

Relatrio do Projecto em Engenharia em Informtica

Pgina 29 de 62

Trabalho Realizado

Neste trabalho tambm tive a oportunidade de aprofundar os meus conhecimentos em folhas de estilo CSS, JavaScript e HTML.

4.1.2 No PEP
Noutra aplicao da Sonae, PEP, Planeamento de Eventos Promocionais, o objectivo era desenvolver novas funcionalidades, utilizando a tecnologia VBA em Excel onde pude aprofundar os meus conhecimentos acadmicos. O PEP um sistema de informao, cuja principal base o sistema Retek, que permite a gesto centralizada das lojas, com destaque para a gesto de produtos, fornecedores e encomendas. A Figura 8 - Folha Definio de Promoes da aplicao PEP, no anexo II Figuras, mostra um dos ecrs da aplicao PEP. A proposta de desenvolvimento do PEP que me foi pedido para implementar encontra-se no documento de referncia de Monteiro, Paulo (2004) - Proposta Desenvolvimento: PEP - Desenvolvimento da template v1.18, o qual no se encontra disponvel*.

4.1.3 No eBanka
Terminei a primeira fase do estgio num projecto que se chama eBanka (http://ebanka.promosoft.com/) que um produto constitudo por Home Banking com componente de portal institucional e tem como objectivo responder s necessidades das instituies bancrias que pretendem utilizar a Internet como mais um canal de comunicao com os seus actuais e potenciais clientes. Desta maneira permite que os clientes efectuem operaes de transferncias internas e externas, consulta de saldos, pedidos de cheques, extravio de cheques, consulta de movimentos, consulta de cmbios, etc. A figura seguinte mostra o ambiente da aplicao eBanka na sua vertente de Home Banking:

Relatrio do Projecto em Engenharia Informtica

Pgina 30 de 62

Trabalho Realizado

Figura 9 Aplicao eBanka A equipa deste projecto era constituda por um gestor de projecto, um responsvel tcnico e um consultor. Eu desempenhei a funo de consultor, onde executei as tarefas que me foram atribudas. A minha contribuio neste projecto consistia em desenvolver um WebService que responsvel por receber as operaes dos clientes, verificar se os clientes esto registados no sistema e invocar um Componente COM, utilizando a tecnologia C# sobre WebServices do .Net. Este WebService tambm responsvel por manipular todas as mensagens XML retornadas pelo Componente COM, esta manipulao foi feita com a ajudas das classes de manipulao de XML do .Net. WebServices so uma nova e inovadora tcnica para a troca de dados via Web que se tem utilizado muito para fornecer e consumir servios na Web. Toda a comunicao entre os servidores WebServices e os seus clientes atravs de mensagens XML sobre o protocolo HTTP. Mas para a comunicao ser baseada em XML necessrio um protocolo que seja responsvel por encapsular as chamadas dos mtodos e propriedades dos objectos em XML, este protocolo chama-se SOAP. Contudo, para um cliente invocar os servios fornecidos por um servidor necessrio que conhea a assinatura desses servios e isto conseguido atravs do padro WSDL, que fornece a descrio de tudo que um WebService possui.

Relatrio do Projecto em Engenharia Informtica

Pgina 31 de 62

Trabalho Realizado

4.2 TRABALHO REALIZADO NO PROJECTO


4.2.1 Arquitectura tecnolgica
Este capitulo foi reservado ao relato das solues tecnolgicas abordadas e adoptadas para a realizao do projecto. Antes da criao do projecto foi necessrio decidir, em fase de especificao tcnica quais as linguagens de programao a utilizar, e quais os mecanismos de comunicao da aplicao com a Base de Dados a implementar e qual a interface mais apropriada para o sistema. Para desenvolver a aplicao para o negcio do SIMLIS foi colocada a questo do tipo de interface, windows application ou web application. As windows applications consistem em aplicaes com interface com o utilizador semelhante aos dos programas actuais para o Sistema Operativo Windows, pelo que, as web applications so aplicaes destinadas a serem vistas sobre a Internet em browsers. A soluo escolhida foi a interface das web applications, esta soluo permite o acesso informao atravs da Internet. Desta modo so apresentadas as seguintes vantagens no seu uso: Os utilizadores SIMLIS podem aceder de uma forma fcil informao a partir de qualquer PC instalado no interior do SIMLIS ou atravs de um PC externo com ligao Internet; Facilita a manuteno do sistema, uma vez que as actualizaes reflectem para todos os utilizaes sem afectar nada; No necessita de ser instalado nada no computador do cliente, somente ter um browser. No entanto para a concretizao da interface web application necessrio ter uma infra-estrutura sobre o qual a aplicao corre. Como infra-estrutura, optou-se pela .Net Framework, embora exista outra concorrente forte como a J2EE da Sun. Dentro da .Net Framework optmos por escolher a linguagem de programao C#, porque uma linguagem nova e moderna que visa facilitar o desenvolvimento de aplicaes. O captulo 4.2.2 foi reservado .Net Framework e linguagem C#, onde estas foram abrangidas de uma forma mais resumida. A escolha da interface anteriormente mencionada levou necessidade de utilizao de um servidor web para permitir o acesso s pginas ASP.NET e HTML criadas, por parte dos browsers instalados nas mquinas do SIMLIS e por qualquer mquina com acesso Internet. No entanto, no s a escolha de um servidor web se tornou necessria, mas tambm a escolha do servidor de Base de Dados. Existiam duas solues possveis para resolver o problema. Relatrio do Projecto em Engenharia Informtica Pgina 32 de 62

Trabalho Realizado

A soluo passava pela implementao atravs da utilizao do Servidor Web da Microsoft, chamado IIS. Relativamente ao servidor de Base de Dados tnhamos a oportunidade de escolher entre o SQL Server e o Oracle, decidimos escolher o SQL Server. Ambos os Sistemas de Gesto de Base de Dados referenciados so grandes potncias no mercado, que podem ser usados para construir sistemas eficientes e estveis. Apesar de tudo a escolha foi obvia j que o cliente com a escolha do SQL Server, no teria adio de custos. Mas o SQL Server tem algumas vantagens em comparao com Oracle e viceversa. Algumas vantagens do SQL Server so as seguintes: mais barato comprar que o Oracle; geralmente mais fcil de instalar, usar e gerir. 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. Como ferramentas de controlo de verses e acessos do projecto durante o processo de desenvolvimento usou-se o VSS e o CVS. O VSS uma ferramenta que permite de forma segura, dentro da equipa de desenvolvimento, controlar os acessos e verses. Esta ferramenta foi adoptada para controlar o cdigo fonte do projecto. O CVS tambm permite o controlo de acesso e verses, mas decidiu-se usar este utilitrio para manipular os documentos do projecto, pois a integrao das ferramentas com o VSS total. Como ferramenta de desenvolvimento de aplicaes .NET utilizou-se o VS 2003. Este ambiente de desenvolvimento abrangente para mltiplas linguagens, destinada ao rpido desenvolvimento e integrao de aplicaes. Tambm oferece um ambiente altamente produtivo para o desenvolvimento de uma ampla variedade de aplicaes e tecnologias conectadas com a plataforma .Net. Atravs do uso do ambiente de runtime de alta performance Microsoft .Net Framework, o VS 2003 .NET oferece aos programadores poderosas ferramentas de design, construo, testes e instalao de aplicaes, permitindo tambm que as melhores prticas e orientaes possam ser partilhadas num ambiente de trabalho em equipa.

4.2.2 .Net Framework e linguagem C#


Este capitulo foi dedicado para explicar de forma resumida uma das partes preponderantes onde incidiu o projecto realizado. A .Net Framework trata-se da infra-estrutura, que visa obter uma forma simples e unificada de desenvolvimento de aplicaes, e sobre a qual as aplicaes correm. Esta infra-estrutura constituda por diversas partes, tal como ilustrado na figura 11.

Relatrio do Projecto em Engenharia Informtica

Pgina 33 de 62

Trabalho Realizado

Figura 10 Arquitectura da plataforma .NET Todas as aplicaes escritas para a .NET correm dentro de uma mquina virtual chamada CLR. O cdigo que se encontra a executar aqui dentro chama-se managed code e beneficia de vrias caractersticas como: Gesto automtica de memria o O CLR dispe de um garbage collector que se encarrega de limpar os objectos que j no esto a ser utilizados pelas aplicaes. Segurana o O CLR mecanismos que permitem atribuir permisses ao cdigo baseadas na sua provenincia e em quem est a executar. Existem tambm mecanismos que permitem garantir que o cdigo a executar valido e no ir corromper outros programas que se encontrem a executar no CLR. Traduo de cdigo intermdio para cdigo nativo o Ao compilar um programa na plataforma .NET, tipicamente este traduzido de uma linguagem de alto nvel para uma linguagem intermdia chamada MSIL. O CLR possui um compilador just-in-time que se encarrega de traduzir cdigo intermdio para cdigo nativo do processador, antes de o executar. Carregamento dinmico de classes o O CLR torna possvel carregar em tempo de execuo segmentos de cdigo que antes no estavam presentes na mquina virtual. O CLR encontra-se a executar por cima do sistema operativo, utilizando os seus servios. Por cima da mquina virtual bsica, existe um conjunto de bibliotecas estandardizadas que permitem s aplicaes tomar pedido de um rico conjunto de APIs. Existe um conjunto de bibliotecas bsicas, denominadas por Base Class Relatrio do Projecto em Engenharia Informtica Pgina 34 de 62

Trabalho Realizado

Library, que oferecem recursos como acesso a ficheiros, estruturas de dados bsicas (hash tables, listas, etc.), acesso a recursos de rede e outras. Em seguida, encontram-se bibliotecas que permitem aceder a base de dados (ADO.NET) e manipular informao em geral (por exemplo, em XML). No topo da hierarquia esto as bibliotecas que permitem efectuar desenvolvimento web (ASP.NET) e criar interfaces com o utilizador em Windows (Windows Forms). Um ponto interessante que o .NET foi pensado no apenas para aplicaes que sejam programadas em C#, mas tambm noutras linguagens. Na .NET Framework, as linguagens de alto nvel so compiladas para uma linguagem intermdia chamada MSIL. esse cdigo que executado no CLR. A Common Language Specification constitui uma norma que especifica o que que tem de ser suportado a nvel de uma linguagem de programao para esta ser compatvel com a infraestrutura .NET e com as aplicaes que se encontram a correr no CLR. Quanto ao C# posso dizer que uma linguagem nova e moderna que visa facilitar o desenvolvimento de aplicaes. Combina as melhores caractersticas do C++, do Visual Basic e mesmo do Java. Eis as principais caractersticas desta nova linguagem, que acho que so dignas de referncia: Orientada aos componentes o Um dos grandes passos em termos de engenharia de software, foi o conceito de componente. Um componente uma unidade binria de cdigo que pode ser includa numa aplicao. Tipicamente a manipulao de componentes faz-se de forma visual, por drag-and-drop e, configurao das suas propriedades e interligaes. Robusta e moderna o O C# uma linguagem orientada aos objectos, possuindo mecanismos como, garbage collection, que liberta o programador da gesto explcita da memria; excepes, que permitem uma gesto robusta dos erros nos programas. Familiar o O C# baseia a sua sintaxe na linguagem C++ e, em certa medida, na linguagem Java. Hoje em dia existem muitos programadores que j conhecem essas linguagens, fazendo com que a transio para o C# seja relativamente pacfica. No entanto uma nova linguagem por muito poderosa que seja no verdadeiramente til se no tiver um grande nmero de bibliotecas de funes directamente disponveis. O C# em si no possui bibliotecas. Contudo os programas escritos nesta linguagem executam sobre a .NET Framework, que possui um vasto conjunto de bibliotecas, assim como outras funcionalidades que permitem uma grande versatilidade em C#.

Relatrio do Projecto em Engenharia Informtica

Pgina 35 de 62

Trabalho Realizado

4.2.3 Arquitectura fsica


O conjunto de solues escolhidas no captulo 4.2.1, deu origem seguinte arquitectura:

Figura 11 Arquitectura fsica Os componentes apresentados relacionam-se da forma apresentada a seguir. O servidor IIS recebe pedidos dos browsers das mquinas cliente e responsvel por dirigi-los ao servidor da Base de Dados. Para que tal seja possvel preciso efectuar uma conexo entre estes dois servidores, passando o IIS a ser cliente do servidor de Base de Dados. Essa conexo realizada via SQL Server .Net Data Provider. Depois de executar a resposta ao pedido, o servidor da Base de Dados envi-la- para o IIS. Esta resposta a informao que o IIS envia aplicao C#, que constri uma pgina ASP.NET e passa ao browser.

4.2.4 Arquitectura lgica


A arquitectura de desenvolvimento da aplicao pode ser caracterizada num servio de trs camadas: Camada de apresentao; Camada de lgica de negcio;

Relatrio do Projecto em Engenharia Informtica

Pgina 36 de 62

Trabalho Realizado

Camada de base de dados.

Figura 12 Arquitectura lgica A arquitectura lgica apresentada permite que a interface com o utilizador apenas trate de aspectos de visualizao de informao. Todos os pedidos de informao so efectuados lgica de negcio. Assim, torna-se muito mais simples realizar a manuteno da interface do utilizador. Qualquer mudana neste componente da arquitectura no influncia outros. A camada lgica de negcio permite separar a lgica de negcio da Base de Dados, deixando de estar dependente do Sistema de Gesto de Base de Dados utilizado. Esta camada implementada utilizando tipicamente linguagens como o C#, VB ou outras semelhantes que permitem muito maior flexibilidade e complexidade em relao ao que est disponvel nos Sistemas de Gesto de Base de Dados, onde as linguagens esto muito mais direccionadas por forma a permitir fcil e rpida implementao de consultas, actualizaes, inseres e remoes. Por fim temos a camada de Base de Dados como base de toda a aplicao. Aqui residem os dados dos utilizadores. Ao exterior so oferecidas capacidades de execuo de consultas, actualizaes, inseres, remoes usando o standard SQL. As potencialidades disponveis dependem sempre de qual o Sistema de Gesto de Base de Dados escolhido, sendo que a utilizao de funcionalidades especificas do Sistema de Gesto de Base de Dados para melhoria de performance ou facilitao do desenvolvimento totalmente independente e no afecta de forma alguma a implementao da lgica de negcio e da interface grfica.

Relatrio do Projecto em Engenharia Informtica

Pgina 37 de 62

Trabalho Realizado

4.2.4.1

Camada de apresentao

O primeiro componente do sistema o nico que visvel para o utilizador, o browser. A partir deste utilitrio o utilizador pode efectuar operaes de consultar, pesquisar, inserir, alterar e eliminar sobre a informao da Base de Dados de uma forma transparente, dando a sensao que a aplicao constituda somente por este componente. Nesta seco fao uma explicao sobre o funcionamento da aplicao em geral, estruturas de dados e linguagens utilizadas para realizar esta camada. De seguida abordada a validao de dados, terminando com a segurana da aplicao.
4.2.4.1.1 Modelo de programao

Em ASP.NET existem dois modelos de programao: code behind e code in page. O modelo utilizado foi o code behind, aqui encontramos uma verdadeira separao do HTML e do cdigo C#. Neste modelo, para cada ficheiro .aspx, extenso dos ficheiros ASP.NET, existe um ficheiro .aspx.cs onde est escrito todo o cdigo. No ficheiro aspx, existe apenas, a parte HTML e a parte da declarao dos componentes do ASP.NET, onde o reaproveitamento do cdigo grande e facilita muito a programao. Os componentes utilizados foram: HTML Controls o So os controlos HTML bsicos (Div, B, Table, ...). HTML Server Controls o So controlos HTML executados no servidor Web (Calendar, Datagrid, ...). Web Server Controls o So os controlos ASP.NET. Web User Controls o So Web Server Controls definido pelo programador. Validation Controls o So Web Server Controls que contm lgica para validar o input de outros Server controls. No ficheiro .aspx.cs encontra-se o cdigo C# correspondente s funcionalidades da interface.
4.2.4.1.2 Interface HTML

Relativamente ao funcionamento da aplicao, para se utilizar a mesma o utilizador tem que ter um browser aberto e depois carregar sobre o menu Favorites e escolher a opo SIMLIS ou ento escrever o URL da aplicao, http://localhost/SIMLIS_WEB/homepage.aspx, na caixa de texto Address.

Relatrio do Projecto em Engenharia Informtica

Pgina 38 de 62

Trabalho Realizado

Figura 13 Inicializao da aplicao a partir dos Favorites Aps seleccionada a opo SIMLIS, a pgina principal da aplicao exibida como mostra a Figura 14 - Ecr principal da aplicao do SIMLIS, no anexo II - Figuras. O Menu SIMLIS permite ao utilizador aceder s seguintes opes: rea de gesto de dados relativos a Pagamentos; rea de gesto de dados relativos ao Cadastro; rea de gesto de dados relativos a Candidatura a Fundos de Coeso; rea de gesto de dados auxiliares. Em todas as pginas do SIMLIS existe a barra de funcionalidades que est exibida na Figura 15 do anexo II - Figuras. Nesta barra podemos encontrar funcionalidades que esto apresentadas na Figura 16 do anexo II - Figuras. Cada um dos itens apresentados no Menu SIMLIS quando seleccionados, exibem uma pgina semelhante apresentada na Figura 17 do anexo II - Figuras. A pgina seleccionada constituda por um Menu Lateral que permite navegar entre os vrios dados relativos rea gesto de dados seleccionada, nesta caso, ao Cadastro; por um rodap; por uma rea de Operao, reservada s operaes de pesquisa, consulta, insero, actualizao e remoo de registos; para alm da Barra de Funcionalidades. Para o efeito foram utilizados usercontrols (ficheiros .ascx), 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 responsvel pela apresentao da barra de cabealho correspondente rea de gesto de dados seleccionada e servir como link para o Menu SIMLIS. Relatrio do Projecto em Engenharia Informtica Pgina 39 de 62

Trabalho Realizado

Ver as Figuras 18, 19, 20, 21, 22, no anexo II - Figuras, que apresentam as vrias barras de cabealho da aplicao.
<uc3:MenuCabecalho id="MenuCabecalho" runat="server"></uc3:MenuCabecalho>

o Este usercontrol responsvel pela construo do menu do cabealho correspondente Barra de Funcionalidades, e servir como link para cada rea de dados. Ver a Figura 23 do anexo II - Figuras.
<uc5:Menu id="MenuLateral" runat="server" ElemId="C" ElemSelected="InterL" SubElemSelected="InterC"></uc5:Menu> ElemOpen="InterL"

o Este usercontrol responsvel pela construo do menu lateral correspondente rea de dados seleccionada, neste caso, foi a rea de dados relativos ao Cadastro. Ver a Figura 24 do anexo II - Figuras.
< uc2:FooterPage id="Footer" runat="server"></uc2:FooterPage>

o Este usercontrol responsvel pela construo do rodap comum a todas as reas de dados. Na rea da Operao no foi mencionado nenhum usercontrol, porque esta varia consoante a operao escolhida, da serem aplicados diversos usercontrols para cada uma das operaes. No caso da operao escolhida tenha sido a pesquisa, foi utilizado um usercontrol de pesquisa, que agrupa um conjunto de outros usercontrols e de controlos ASP.NET, 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> Relatrio do Projecto em Engenharia Informtica Pgina 40 de 62

Trabalho Realizado

<input> <H3> <Label> Os usercontrols usados dentro do usercontrol de pesquisa tem a funo preencher DropDownLists (caixas de seleco), como por exemplo, preencher a DropDownList dos subsistemas com todos os subsistemas disponveis no sistema; ou exibir um calendrio para o utilizador seleccionar uma data. Ainda na operao de pesquisa foi utilizado outro usercontrol para apresentar a listagem das ocorrncias encontradas segundo o critrio de pesquisa escolhido. Este usercontrol recebe um objecto Pesquisa com os dados dos campos de pesquisa e depois responsvel por chamar os mtodos da camada da lgica de negcio para receber os dados da Base de Dados e por fim apresenta-os ao utilizador atravs dum controlo <asp:DataGrid>, este controlo apresenta um grande nmero de funcionalidades para formatar a listagem dos dados apresentados. A Figura 25 do anexo II - Figuras, ilustra a utilizao do controlo <asp:DataGrid>. Na operao de insero, actualizao, consulta e remoo foi utilizado um usercontrol responsvel por encapsular um conjunto de controlos ASP.NET, que constroem a pgina de insero, actualizao, consulta e remoo. Os controlos utilizados servem para exibir os campos a preencher e para validar os dados digitados ou seleccionados pelo utilizador nesses campos. De seguida so 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 - Figuras, ilustra o uso dos controlos referenciados . A rea da operao de insero est disponvel a partir da seleco do tpico inserir do menu lateral, dentro da rea de dados seleccionada. Relatrio do Projecto em Engenharia Informtica Pgina 41 de 62

Trabalho Realizado

As operaes de actualizao e remoo esto disponveis a partir da listagem das ocorrncias ou da operao de consulta. Por fim a operao de consulta est disponvel a partir da listagem. Todos os outros itens quer desta rea de dados quer das restantes, seguem o mesmo raciocnio. O documento de referncia de Bento, Bruno (2005) - SMLS_04_0269 Manual Utilizador, onde se encontra o funcionamento da interface com maior detalhe, no est disponvel*.
4.2.4.1.3 Validao de dados

Um aspecto muito importante a nvel da camada de apresentao a validao de dados. Nunca podemos ficar na expectativa que o utilizador insira valores coerentes com os da Base de Dados, porque, por exemplo, pode digitar dados numricos no nome de uma pessoa para criar um novo registo, sem aperceber-se do acontecido. Na aplicao desenvolvida existem vrios formulrios de insero e actualizao referentes a diversos tipos de informao; nomes, moradas, telefones, n de contribuintes e bilhetes de identidade, datas, idades, etc.; pelo que se torna obrigatrio analisar a coerncia dos valores digitados pelo utilizador. obvio que os erros ortogrficos no so apanhados pelos validadores. Contudo, numa actualizao posterior desse registo, o utilizador pode corrigi-lo. Existem duas formas de validar os dados introduzidos pelo utilizador. Validaes feitas no lado do cliente (clientside), ou seja pelo browser, atravs da linguagem JavaScript ou do lado do servidor (serverside) pelo cdigo C#. Das duas formas apresentadas, a primeira a prefervel porque no requer o consumo de recursos do servidor e por isso sempre que foi possvel optou-se pelo uso desta linguagem. Mas o que acontece que por vezes no possvel fazer as validaes do lado do cliente, como por exemplo, antes de inserir um dado identificador na Base de Dados temos de verificar se j l existe. De seguida na Figura 27 no anexo II - Figuras, apresentado um ecr com o uso da linguagem JavaScript.
4.2.4.1.4 Segurana

Outro aspecto que requer destaque neste documento a segurana, mais propriamente dito, a validao de utilizadores que entram na aplicao ASP.NET desenvolvida. A .Net Framework juntamente com o IIS disponibilizam sistemas de autenticao, optou-se pelo mtodo de Windows Integrated Authentication e Digest Authentication pelo facto de estes tipos de autenticao j se encontrarem implementados.

Relatrio do Projecto em Engenharia Informtica

Pgina 42 de 62

Trabalho Realizado

Figura 28 Mtodos de Autenticao fornecidos pelo IIS No mtodo Windows Integrated Authentication a autenticao feita atravs do sistema operativo Windows que vai utilizar os utilizadores registados no sistema operativo que, normalmente, j existem no sistema das empresas. Por outro lado, no mtodo Digest Authentication os utilizadores fornecem um username e password para se conectarem, no entanto, a password cifrada antes de ser enviada sobre a rede. Aps ter sido feita a autenticao no IIS, o processo encaminhado para a aplicao ASP.NET, cujas verificaes so feitas com base no ficheiro de configurao, web.config, da aplicao. Para concretizar o nosso objectivo tivemos que definir no web.config o tipo de autenticao, Windows, recorrendo ao uso das tags que se segue:
<system.web> <authentication </system.web> mode=Windows />

Depois de termos indicado o tipo de autenticao, tivemos de definir as autorizaes tanto de utilizadores (users) como de grupos (roles) de utilizadores.
<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 mtodo Digest Authentication s utilizado caso o mtodo Windows Integrated Authentication falhe.

Relatrio do Projecto em Engenharia Informtica

Pgina 43 de 62

Trabalho Realizado

4.2.4.2

Camada de lgica de negcio

A lgica de negcio estabelece a ligao entre a camada de interface e o Sistema de Gesto de Base de Dados, via SQL Server .Net Data Provider, tratando os dados de modo a que estes se encontrem de acordo com as regras de negcio do sistema. A linguagem de programao eleita para o desenvolvimento desta camada foi o C# pelas razes mencionadas no captulo 4.2.2. A .Net Framework fornece um conjunto de classes para facilitar o acesso das aplicaes s Base de Dados de diversos tipos, cujo nome ADO.NET. Um exemplo de como usar estas bibliotecas mostrado de seguida.
Comentrios em C#

//importar o conjunto de classes fornecidas pelo SqlServer .Net Data Provider para acesso Base de Dados using System.Data.SqlClient;

Os principais objectos utilizados do SqlServer .Net Data Provider so: SqlConnection o Representa um nica conexo persistente ao SQL Server data source. SqlParameter o Representa um parmetro a ser passado, neste caso numa ad hoc query (instruo SQL executada directamente). SqlCommand o Representa alguma coisa que pode ser executada, neste caso uma ad hoc query. SqlDataReader o Representa a maneira mais rpida para ir buscar um conjunto de dados a partir de uma Base de Dados. Os objectos mencionados anteriormente foram utilizados nas operaes de pesquisar, inserir, consultar, eliminar e actualizar informao das diversas entidades sobre a Base de Dados. Para realizar a camada de lgica de negcio da operao de pesquisa definimos um objecto Pesquisa, com o valor dos campos digitados pelo utilizador, de seguida foi necessrio utilizar um objecto SqlConnection para abrir uma ligao com o data source. Quando se abre uma conexo preciso que se defina a propriedade ConnectionString do objecto SqlConnection.
SqlConnection myConnection = new SqlConnection();

Relatrio do Projecto em Engenharia Informtica

Pgina 44 de 62

Trabalho Realizado

myConnection.ConnecyionString UserID=sa; + Pwd=;;

Server=SQLSRV01;

Database=SMLS_04_0269; Connection String

De seguida, foi necessrio preparar um objecto SqlCommand com a ad hoc query a ser executada mediante um dado critrio de pesquisa definido pelo utilizador atravs da interface.
SqlCommand myCommand = new SqlCommand();

Para definir um critrio foi necessrio recorrer utilizao do objecto SqlParameter, como podemos observar a seguir.

Criar um atributo do critrio de pesquisa, neste caso subsistemaId

SqlParameterCollection Params = myCommand.Parameters; Params.Add(new SqlParameter("@subsistemaId", SqlDbType.Int)); Params["@subsistemaId"].Value = S1; Propriedade do objecto SqlCommand que define a ad hoc query a executar myCommand.CommandText = SELECT nome FROM Interessado; Associar um comando conexo definida anteriormente myCommand.Connection = _ctx.Dados.Connection; Executar a ad hoc query sob o efeito de transaco myCommand.Transaction = _ctx.Dados.Transaction;

Por fim, utilizou-se o objecto SqlDataReader para ir buscar o conjunto de dados devolvidos pelo critrio definido na operao pesquisar sobre a Base de Dados. O conjunto de resultados, resultset, contido num SqlDataReader forwardonly e read-only, isto significa que, somente se pode ler as linhas dentro de um resultset sequencialmente a partir do inicio ao fim, no se pode modificar quaisquer dados.
SqlDataReader myReader = myCommand.ExecuteReader(); while(myReader.Read()){ myReader.GetInt32(0), //INTERESSADO_ID -> InteressadoId myReader.GetString(1), //SUB_SISTEMA_ID -> SubSistemaId }

Cada resultado do conjunto de resultados colocado num objecto Info, este objecto foi criado por ns para guardar os dados vindos da Base de Dados para posterior manipulao. Na camada de lgica de negcio da operao de insero crimos um objecto Info com o valor do campos digitados pelo utilizador. Para alm do objecto Info foi tambm necessrio utilizar um objecto SqlConnection, SqlCommand, SqlParameter e definir as suas propriedades, tal como na operao de pesquisa. Ao invs da operao de pesquisa, onde se utilizou o mtodo ExecuteReader() do objecto SqlCommand, na operao de insero utiliza-se o ExecuteScalar(), este mtodo retorna a primeira coluna da primeira linha do resultset, neste caso, retorna o identificador atribudo nova ocorrncia.
object ret = myCommand.ExecuteScalar();

Ou utiliza-se o ExecuteNonQuery(), este mtodo no retorna um resultset, neste caso, no pretendemos obter o identificador atribudo nova ocorrncia a quando da insero. Relatrio do Projecto em Engenharia Informtica Pgina 45 de 62

Trabalho Realizado

myCommand.ExecuteNonQuery();

Para a operao de consulta foram utilizados as mesmas propriedades e mtodos dos objectos mencionados na operao de pesquisa. Para a operao de actualizao foram utilizados as mesmas propriedades e mtodos dos objectos mencionados na operao de pesquisa, com excepo do mtodo ExecuteReader(), do objecto SqlCommand, que foi substitudo pelo mtodo ExecuteNonQuery() e do objecto Pesquisa que foi substitudo por dois objectos Info, um com os novos dados actualizados, o outro com os dados no actualizados, isto para saber quais os campos a actualizar.
myCommand.ExecuteNonQuery();

Para a operao de eliminao foram utilizados as mesmas propriedades e mtodos dos objectos mencionados na operao de actualizao, com excepo dos objectos Info. 4.2.4.3 Camada de Base de Dados

Esta camada responsvel pela persistncia dos dados da aplicao, isto foi conseguido com a utilizao de uma Base de Dados. O Sistema de Gesto de Base de Dados foi o SQL Server. A informao foi organizada em tabelas, atributos e registos. E de seguida foi definido o modo como estas tabelas se relacionam entre si. Para aceder e manipular os dados da Base de Dados SQL Server usou-se ad hoc queries. As Ad hoc queries fornecem uma maneira rpida de ir buscar dados Base de Dados ou de fazer alteraes na Base de Dados. As quatro principais instrues T-SQL usadas para manipular os dados SQL Server foram: SELECT o Instruo que permite ir buscar os dados armazenados na Base de Dados. INSERT o Instruo permite adicionar novos dados Base de Dados. UPDATE o Esta instruo permite modificar dados que j se encontram na Base de Dados. DELETE o Atravs desta instruo possvel eliminar dados a partir da Base de Dados. Para construir as ad hoc queries foi utilizada a ferramenta SQL Server Query Analyzer.

Relatrio do Projecto em Engenharia Informtica

Pgina 46 de 62

Trabalho Realizado

O ambiente de desenvolvimento usado para gerir tabelas, campos e dados; relacionamentos de tabelas; e criar diagramas de base de dados. foi o SQL Server Enterprise Manager. No Anexo I encontra-se o Modelo de Dados da aplicao.

4.2.5 Plano de testes


Este capitulo foca sobre o plano de testes a executar sobre a aplicao desenvolvida anteriormente. O objectivo dos testes avaliar a conformidade da aplicao desenvolvida relativamente aos requisitos especificados e ao desenho, garantindo deste modo a qualidade do cdigo produzido. Para a aplicao em questo foram escolhidos fazer Testes Funcionais (caixa preta), tendo em conta o baixo oramento e a importncia que estes trazem para o SIMLIS. Por exemplo, os Testes de Carga no so de tanta importncia, uma vez que, o tempo de resposta no importante e a quantidade de dados baixa. Cada especificao de testes identificada por: Ref. Teste o Por exemplo, 1. Classe Teste o Por exemplo, FU Funcional e UI User Interface. Teste a executar o Por exemplo, inserir interessado j existente. Passos/detalhe do teste o Por exemplo, Escolher Parcela e de seguida inserir novo registo usando o NOME de um interessado j existente. Requisitos/Pr-Condies o Por exemplo, Perfil Cadastro. Resultado esperado o Por exemplo, o sistema no permite e apresenta uma mensagem a informar. Responsvel pela execuo Data execuo Relatrio do Projecto em Engenharia Informtica Pgina 47 de 62

Trabalho Realizado

Resultado Aps a realizao destes testes, efectuados por uma equipa, sempre que possvel, distinta da de desenvolvimento, sero feitos os testes pelo cliente para se dar a aceitao da aplicao.

4.2.6 Trabalho realizado por mim


No projecto em questo, a minha contribuio foi dada nas Fases de Implementao, Transio e Operao onde fui um dos elementos da equipa responsvel pela implementao da aplicao Web. Quando entrei no projecto o meu trabalho foi ler os documentos da especificao funcional e tcnica que tinha de seguir para realizar o trabalho, para depois ser feita uma reunio com o Responsvel Tcnico para tirar dvidas que eventualmente surgissem. Passada esta altura fui integrado na equipa de desenvolvimento. O documento de referncia de Mateus, Paulo (2004) - SMLS_04_0269 Especificao Tcnica e Mateus, Paulo (2004) - SMLS_04_0269 Especificao Funcional, onde se encontra a especificao tcnica e funcional do projecto, no est disponvel*. Durante a fase de planeamento decidiu-se que eu na Fase de Implementao 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. Eu fiquei responsvel por desenvolver a camada de interface, as pginas ASP.NET, e a camada da lgica de negcio, os ficheiros de acesso Base de Dados, para as entidades Interessado, Contacto, Pagamentos, Gesto de Pedidos Dup, Gesto de Referncias Documentos da Pedido Dup, Gesto de Referncias de Documentos de Contacto, Gesto de Despesas, Gesto de Correspondncia e Gesto de Pedidos de Pagamento. Na Fase de Transio, fui responsvel pela elaborao do Manual de Utilizao da aplicao. Por fim tambm fui integrado na Fase de Operao onde terei como funes assegurar a manuteno correctiva dos desenvolvimentos efectuados.

Relatrio do Projecto em Engenharia Informtica

Pgina 48 de 62

5 SUMRIO E CONCLUSES

Relatrio do Projecto em Engenharia em Informtica

Pgina 49 de 62

Sumrio e Concluses

5.1 SUMRIO
Este capitulo apresenta uma sntese do trabalho que foi realizado neste estgio. O resultado deste estgio foi o desenvolvimento de uma Web Application que permite efectuar as operaes inserir, actualizar, pesquisar, consultar e eliminar sobre a informao que se encontra numa Base de Dados, que permitir aos colaboradores SIMLIS obter um registo de vrios pontos fulcrais como, contactos efectuados, registo de documentao e controlo de pagamentos. A aplicao em questo foi desenvolvida de forma a ser acedida atravs da Internet. Para o efeito, foi necessrio configurar o IIS para criar uma Web que receba os pedidos dos clientes e envie-os aplicao para respectivo processamento e que devolva o resultado do processamento ao cliente.

5.2 CONCLUSES
Durante este perodo de estgio na LINK tive a oportunidade de trabalhar com um conjunto diversificado de tecnologias na rea das Web Applications, que revolucionaram o mercado quer pelo ambiente de execuo quer pelas linguagens que dispe, muito poderosas para a criao de aplicaes. Tive o privilgio de prestar os meus servios numa das grandes empresas deste pas na rea de consultoria informtica, quer pela diversidade de reas de competncia, quer pelos clientes, onde destaco a unidade em que estive inserido durante este perodo, a UPI.. Aqui foi-me dada a possibilidade de integrao em ambientes de produo, a aquisio de novos conhecimentos, ganhar autonomia e experincia profissional. Este estgio foi a ponte entre a vida acadmica e a vida profissional. A parte curricular da licenciatura teve papel preponderante na minha formao, onde destaco as cadeiras de Fundamentos de Sistemas de Informao, Tecnologias de Base de Dados, Programao Imperativa, Interfaces Pessoa-Mquina e Projecto de Sistemas de Informao que contriburam de forma decisiva para a angariao de outros conhecimentos fundamentais para a realizao deste projecto. Por fim, este estgio permitiu-me realizar uma certificao Microsoft 70-315: Developing and Implementing Web Applications with Microsoft Visual C#.NET, nas tecnologias que utilizei para a realizao do projecto, passando assim a possuir um titulo de MCP (Microsoft Certified Professional).

Relatrio do Projecto em Engenharia Informtica

Pgina 50 de 62

6 GLOSSRIO

Relatrio do Projecto em Engenharia em Informtica

Pgina 51 de 62

Glossrio

A lista de siglas e abreviaturas utilizadas neste documento encontram-se organizadas por ordem alfabtica ascendente. * ** ADO API ASP ASP.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 no pode ser divulgado. Alguns dados no podem ser divulgados, por serem dados pessoais. Access Data Objects Application Programming Interface Active Server Pages Active Server Pages .NET Base Class Library Common Language Runtime Common Language Specification Cascading Style Sheets Concurrent Version System Estao de Tratamento de guas Residuais HyperText Markup Language Internet Explorer Internet Information Services Instituto de Engenharia de Sistemas de Computadores Faculdade de Cincias da Universidade de Lisboa Link Consulting Tecnologias de Informao, S.A. Modelo Continente Hipermercados Microsoft Intermediate Language Personal Computer Programa Estrutural de Desenvolvimento para a Indstria Portuguesa Procedural Language / Structured Query Language Project Management Institute Project Support Office Rational Unified Process Saneamento Integrado dos Municpios 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 Pgina 52 de 62

Relatrio do Projecto em Engenharia Informtica

7 BIBLIOGRAFIA E REFERNCIAS

Relatrio do Projecto em Engenharia em Informtica

Pgina 53 de 62

Bibliografia e Referncias

7.1 ENDEREOS WEB


http://msdn.microsoft.com/library - Portal de Documentao sobre Programao http://www.pontonetpt.com - Portal de Documentao sobre Programao .NET http://www.link.pt - Site da Link Consulting Tecnologias de Informao, S.A. http://www.w3schools.com - Portal de Documentao sobre Programao para a Web http://www.codeproject.com/aspnet - Portal de Documentao sobre Programao para a Web http://www.hitmill.com/programming/dotnet/csharphtml - Site com uma srie de Links para sites de C# http://www.softsteel.co.uk/tutorials/cSharp/contents.html - Site sobre programao C# http://www.adp.pt - Site das guas de Portugal

7.2 LIVROS E DOCUMENTOS


Kalani, Amit (2003) - MCAD/MCSD Training Guide (70-315): Designing And Implementing Web Applications With Visual C# .NET Microsoft - Documentao do .NET Framework SDK USA: Microsoft, 2000 Marques, Paulo e Cardoso, Hernni (2002) - C# Curso Completo Assuno, Joo (2003) - Metodologia de Desenvolvimento de Aplicaes Workflow Vieira, Joo (2003) - Programao com ASP.NET Falco, Lus (2003) - A plataforma .NET, Centro de Clculo do Instituto Superior de Engenharia de Lisboa Link Consulting (2004) - Proposta n SMLS_04_0269 Link Consulting (2004) - Metodologia de Gesto de Projectos Relatrio do Projecto em Engenharia Informtica Pgina 54 de 62

Bibliografia e Referncias Mateus, Paulo (2004) - SMLS_04_0269 Especificao Tcnica Mateus, Paulo (2004) - SMLS_04_0269 Especificao Funcional Bento, Bruno (2005) - SMLS_04_0269 Manual Utilizador Monteiro, Paulo (2004) - Proposta Desenvolvimento: PEP - Desenvolvimento da template v1.18

Relatrio do Projecto em Engenharia Informtica

Pgina 55 de 62

Você também pode gostar