Avaliação da Teoria de Sistemas Normalizados na Implementação de SI Evolutivos André Filipe Saraiva Varela (Licenciado em Engenharia Informática e de Computadores) Dissertação para obtenção do Grau de Mestre em Engenharia Informática e de Computadores Júri Presidente Adefinir Orientador Prof. DoutorCarlosNunodaCruzRibeiro Co-Orientador Prof. DoutorAndréFerreiraFerrãoCoutoeVasconcelos Co-OrientadorEmpresarial Eng. GonçaloCaseiro Vogal Prof. AntónioManuelFerreiraRitodaSilva Julho 2011 Abstract Nowadays, there are increasingly volatile environments on enterprises. As these organizations face even faster changes in terms of markets, stakeholders, technologies and products, these require ever increasinglevelsofevolvabilityinordertorespondquickly. Additionally, therearemoremechanisms toensurequalitythanbefore;servicesandproducts,andtheirdistributionarenowmoretailoredtothe needsofcustomers,whichusuallyincreasethecomplexityofInformationSystems. Nevertheless, thecurrentInformationSystemsfollowstrictlythecustomers’requirements, leading to multiple dependencies. Whenever it’s needed to change/add business objectives, it becomes very hard to modify these systems, increasing the risk of having to develop a new system (considering a worstcase). ThisdissertationgoalistoevaluateiftheNormalizedSystemstheoryallowsorganizationstodeliver fastandeffectivechanges,aswellasincreasethecomplexityoftheInformationSystems(e.g. increase numberoffunctionalities,requirementsandinterfaces)-makingthemagileandevolutionary. The proposed methodology consists in applying Normalized Systems theory in the development of an E-Voting System. Initially, in conformity with the theory of Normalized Systems, the mapping of business processes relevant to the voting process was done; after this step, a Normalized E-Voting Systemwasimplemented,basedonthismapping. Afterwards,byusinganothersystem(similartothe onedeveloped)itwaspossibletoprovetheusefulnessofthetheoryinthedevelopmentofevolutionary informationsystems,throughtheanalysisofsomequantitativesoftwareevaluationmetrics(appliedto both). i Keywords: NormalizedSystemstheory Complexity Change Agility Evolution InformationSystem ElectronicVoting ii Resumo Actualmente, verifica-se que o ambiente das empresas é altamente volátil. À medida que as empre- sas enfrentam uma mudança cada vez mais rápida em termos de mercados, stakeholders, tecnologias e produtos, estas requerem níveis de capacidade evolutiva cada vez mais altos para poder responder rapidamenteaestasmudanças. Paraalémdisto,existemmaiscontrolosdequalidadedoqueantes,os benseserviçossãocomercializadosaummaiorecrescentenúmerodemercadosinternacionais,tendo sempreematençãoaspreferênciasdocliente,oqueimplicaoaumentodacomplexidadedosSistemas deInformação. Contudo, a realidade é que os sistemas actuais são bastante fiéis ao que é pedido pelos clientes, o quefazcomquetenhambastantesdependências. Quandoénecessáriomudar/adicionarobjectivosde negócio torna-se, por vezes, complicado proceder a alterações em sistemas com muitas dependências, existindooriscodesernecessárioodesenvolvimentodeumnovosistema(nopiorcaso). O grande objectivo deste trabalho é avaliar se a teoria de Sistemas Normalizados permite às or- ganizações, agir rápido e eficientemente à mudança e ao aumento da complexidade dos seus SI (e.g. aumentodonúmerodefuncionalidades,requisitoseinterfaces)-tornando-aságeiseevolutivas. AmetodologiapropostaconsisteemaplicarateoriadeSistemasNormalizadosnodesenvolvimento deumSistemadeVotoElectrónico.Inicialmente,foiefectuadoomapeamentodosprocessosdenegócio, respectivos ao processo de votação, nos elementos descritos na teoria; e de seguida, implementado o Sistema de Voto Electrónico Normalizado, com base nesse mapeamento. Através da utilização de um outrosistemasimilaraodesenvolvido,foipossívelcomprovar,posteriormente,autilidadedateoriano desenvolvimentodeSIevolutivos,atravésdaanálisequantitativadealgumasmétricasdeavaliaçãode software,aplicadasaosdoissistemas. iii Palavras-Chave: TeoriadeSistemasNormalizados Complexidade Mudança Agilidade Evolução SistemadeInformação VotoElectrónico iv Agradecimentos Gostaria de agradecer ao Professor André Vasconcelos pela orientação dada ao longo da realização destadissertação,pelasuapersistência,disponibilidade,espíritocríticoefoconamelhoriacontínuano decorrerdestainvestigação. Doladoempresarial,gostariadeagradeceràEngenheiraFátimaCarrãoeaosEngenheiros,JoãoRi- cardoVasconceloseGonçaloCaseiro,peloacompanhamento,disponibilidadeeajudaprestada,sempre quenecessitava. ÀAMA,pelacedênciadeumespaçofísico,agradável,paraarealizaçãodotrabalhodeMestrado. Atodososcolegascomquemtrabalhei,emespecialoTiagoVieira,PedroVicente,RuiSilva,Pedro JacintoeAntónioTomé, queaolongodocurso, eespecialmentenestaúltimafase, meauxiliaramcom sugestões,informações,ideiasoupalavrasdeincentivo. ÀAssociaçãodeEstudanteseaoalunoAndréBriosopormeforneceremosalicercesnecessáriosde modoaconseguirtestareavaliaromeusistema. AoLuísCrato,JoãoSantos,LilianaVeríssimo,SóniaFerreira,DéboraAndré,RitaOlivença,Roxanne GarranaeFernandoSaraivaporestaremsemprepresentesnaminhavida. Eporúltimo,masdefinitivamentenãomenosimportante,deixoumagradecimentoededicatóriaes- pecialàminhafamília,emespecialàminhamãe-MariaAliceNunesSaraivaVarela,aomeupai-Nuno PaulodeJesusVarela-eàminhairmã-PatríciaAlexandraSaraivaVarela,porteremsempreacreditado em mim e pelo apoio constante ao longo de todo este tempo, sem o qual dificilmente conseguiria su- perarosdesafiosquevãosurgindonodia-a-dia. Julho2011 AndréFilipeSaraivaVarela v Emmemóriadosmeusavós, FranciscoSaraiva,IvoneSaraivaeElisabeteVarela. vi Conteúdo Abstract i Resumo iii Agradecimentos v Notações xi ListadeFiguras xiv ListadeTabelas xv ListadeProgramas xvii Acrónimos xix 1 Introdução 1 1.1 Enquadramento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 DefiniçãodoProblema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2.1 HipótesesdeInvestigação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.3 Objectivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.4 MetodologiadeInvestigação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.5 OrganizaçãodoDocumento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 I EstudodoProblema 2 Estado-da-Arte 7 2.1 Contexto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.2 InflexibilidadedosSistemasdeInformação . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.2.1 ManutençãoCorrectiva . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.2.2 ManutençãodeMelhoria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.3 Métricas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.3.1 MétricasdeSoftware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.4 Sumário . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 3 TeoriadosSistemasNormalizados 13 3.1 AplicaçãodaTeorianoDesenvolvimentodeSistemasdeInformação . . . . . . . . . . . . 13 3.2 MapeamentodeProcessosdeNegócio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 3.3 VantagensdeSistemasNormalizados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 3.4 DesvantagensdeSistemasNormalizados . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 3.5 Sumário . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 vii 4 CasodeEstudo 19 4.1 Contexto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 4.1.1 RecenseamentoEleitoral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 4.1.2 ProcessodeVotação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 4.1.3 ContagemdosVotos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 4.1.4 DivulgaçãodosVotos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 4.2 VotaçãoElectrónica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 4.3 ExperiênciasemTerritórioNacional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 4.4 CasosdeEstudo-SistemasElectrónicosEstrangeiros . . . . . . . . . . . . . . . . . . . . . 26 4.4.1 CasodoBrasil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 4.4.2 CasodaEstónia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 4.5 ResumodosSistemasAnalisados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 4.6 Sumário . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 II RespostaaoProblema 5 SoluçãoProposta 35 5.1 ModelodaTeoriadeSistemasNormalizados . . . . . . . . . . . . . . . . . . . . . . . . . . 35 5.2 MapeamentodosProcessosdeNegócioemFluxosdeNegócio . . . . . . . . . . . . . . . . 36 5.3 DesenhodoSistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 5.4 FluxosdeNegócio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 5.4.1 InscriçãodoUtilizadornoSistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 5.4.2 AutenticaçãodoUtilizadornoSistema . . . . . . . . . . . . . . . . . . . . . . . . . 40 5.4.3 InscriçãodoEleitornoCadernoEleitoral . . . . . . . . . . . . . . . . . . . . . . . . 41 5.4.4 ValidaçãodoEleitornoCadernoEleitoral . . . . . . . . . . . . . . . . . . . . . . . . 42 5.4.5 CriaçãodeumBoletimdeVoto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 5.4.6 RealizaçãodoVotopeloEleitor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 5.4.7 ProcessarcadaVotorecebido . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 5.4.8 CalcularosResultadosdaEleição . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 5.4.9 Iniciar/EncerraraUrna . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 5.5 Sumário . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 6 Implementação 49 6.1 ArquitecturadeSoftware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 6.1.1 Camada: Core . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 6.1.2 Camada: Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 6.1.3 Camada: Workflows-Actions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 6.1.4 Camada: Workflows-Connectors. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 6.1.5 Camada: Workflows-Tasks-FunctionalTasks . . . . . . . . . . . . . . . . . . . . . . . 54 6.1.6 Camada: Workflows-Tasks-IOTasks . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 6.1.7 Camada: Workflows-Tasks-SupportTasks . . . . . . . . . . . . . . . . . . . . . . . . 55 6.1.8 Camada: Workflows-Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 6.1.9 Camada: Workflows-Workflows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 6.2 ExemplosdeCódigo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 6.3 Sumário . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 viii
Description: