Logo do repositório
 
Publicação

Continuous Integration no desenvolvimento de aplicações iOS

dc.contributor.advisorCosta, Cristina Margarida Chuva
dc.contributor.authorSilva, Ricardo Jorge Lopes da
dc.date.accessioned2020-11-09T12:02:41Z
dc.date.embargo2027-12-31
dc.date.issued2017-12-22
dc.date.submitted2017
dc.description.abstractAs práticas de desenvolvimento de software têm como propósito orientar os programadores no desenvolvimento de aplicações com qualidade e sem grandes dificuldades. Porém, dificilmente tudo corre de acordo com o planeado porque as práticas podem não estar adaptadas ao processo de desenvolvimento do projecto. Nos dias que correm, em particular na área móvel, é possível desenvolver uma aplicação sem muito esforço, bastando, para o efeito, ter um repositório de controlo de versões onde cada programador tem uma cópia do mesmo. Assim, durante este processo de desenvolvimento, o programador vai implementando tudo o que for necessário para cumprir a sua tarefa, até que terá que integrar o seu código com o repositório. Posto isto, poderá suceder uma de duas situações: o repositório encontra-se sem alterações desde a última cópia e a integração sucede sem problemas, ou, ao invés, o repositório encontra-se com alterações podendo, deste modo, dar origem a conflitos difíceis de corrigir. Este tipo de prática, denominada integração tradicional é, normalmente, realizada perto do fim do ciclo de desenvolvimento, propiciando riscos desnecessários aquando da distribuição da aplicação ao cliente, o que poderá dar origem a incumprimento de prazos e de requisitos. O Continuous Integration contribui para mudar as regras do jogo, uma vez que as suas práticas contribuem para o aumento da qualidade das aplicações sem qualquer esforço extra por parte dos elementos da equipa, mudando a forma de pensamento de todo o processo de desenvolvimento e, mantendo o foco na redução do risco através de várias integrações e práticas diárias. Estas têm por base a automação contínua, onde se procede à compilação, testes e inspecções de código sem necessidade de qualquer acção humana, o que permite obter rapidamente feedback de cada integração. Tendo como base estes motivos, foi proposto à Present Technologies, a implementação deste conceito através de um sistema Continuous Integration. Para o efeito, o trabalho desenvolvido seguiu, numa primeira fase, dois caminhos em paralelo: um primeiro caso prático, onde foi desenvolvida uma aplicação móvel na plataforma iOS sem integração com o sistema e realizada uma investigação acerca do conceito. Como resultado, foi possível estabelecer sinergias: foram identificados problemas para os quais a Continuous Integration poderia contribuir e aplicadas algumas práticas ao caso. Na segunda fase, e após a implementação do sistema na empresa, foi desenvolvido um segundo caso prático com outra aplicação, também iOS, de forma a demonstrar que os problemas que surgiram no primeiro caso foram resolvidos ou mitigados pela utilização desta prática e do sistema. Como resultado foi possível disponibilizar um sistema em produção, acessível a qualquer integração de um novo projecto independentemente da tecnologia, plataforma e linguagem de programaçãopt_PT
dc.identifier.urihttp://hdl.handle.net/10400.26/34000
dc.language.isoporpt_PT
dc.subjectContinuous integrationpt_PT
dc.subjectAutomaçãopt_PT
dc.subjectTestespt_PT
dc.subjectInspecçãopt_PT
dc.subjectFeedbackpt_PT
dc.subjectiOSpt_PT
dc.titleContinuous Integration no desenvolvimento de aplicações iOSpt_PT
dc.typemaster thesis
dspace.entity.typePublication
rcaap.rightsembargoedAccesspt_PT
rcaap.typemasterThesispt_PT

Ficheiros

Principais
A mostrar 1 - 1 de 1
Miniatura indisponível
Nome:
Ricardo-Jorge_Lopes_Silva.pdf
Tamanho:
12.07 MB
Formato:
Adobe Portable Document Format
Licença
A mostrar 1 - 1 de 1
Miniatura indisponível
Nome:
license.txt
Tamanho:
1.85 KB
Formato:
Item-specific license agreed upon to submission
Descrição: