Continuous Integration no desenvolvimento de aplicações iOS

Detalhes bibliográficos
Autor(a) principal: Silva, Ricardo Jorge Lopes da
Data de Publicação: 2017
Tipo de documento: Dissertação
Idioma: por
Título da fonte: Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
Texto Completo: http://hdl.handle.net/10400.26/34000
Resumo: As 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ção
id RCAP_0b14dfb0ddcf85ca49c174d2c9e12762
oai_identifier_str oai:comum.rcaap.pt:10400.26/34000
network_acronym_str RCAP
network_name_str Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
repository_id_str 7160
spelling Continuous Integration no desenvolvimento de aplicações iOSContinuous integrationAutomaçãoTestesInspecçãoFeedbackiOSAs 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çãoCosta, Cristina Margarida ChuvaRepositório ComumSilva, Ricardo Jorge Lopes da20172017-12-22T00:00:00Z2027-12-31T00:00:00Z2017-12-22T00:00:00Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttp://hdl.handle.net/10400.26/34000porinfo:eu-repo/semantics/embargoedAccessreponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãoinstacron:RCAAP2022-09-05T15:40:33Zoai:comum.rcaap.pt:10400.26/34000Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireopendoar:71602024-03-19T15:16:23.698358Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãofalse
dc.title.none.fl_str_mv Continuous Integration no desenvolvimento de aplicações iOS
title Continuous Integration no desenvolvimento de aplicações iOS
spellingShingle Continuous Integration no desenvolvimento de aplicações iOS
Silva, Ricardo Jorge Lopes da
Continuous integration
Automação
Testes
Inspecção
Feedback
iOS
title_short Continuous Integration no desenvolvimento de aplicações iOS
title_full Continuous Integration no desenvolvimento de aplicações iOS
title_fullStr Continuous Integration no desenvolvimento de aplicações iOS
title_full_unstemmed Continuous Integration no desenvolvimento de aplicações iOS
title_sort Continuous Integration no desenvolvimento de aplicações iOS
author Silva, Ricardo Jorge Lopes da
author_facet Silva, Ricardo Jorge Lopes da
author_role author
dc.contributor.none.fl_str_mv Costa, Cristina Margarida Chuva
Repositório Comum
dc.contributor.author.fl_str_mv Silva, Ricardo Jorge Lopes da
dc.subject.por.fl_str_mv Continuous integration
Automação
Testes
Inspecção
Feedback
iOS
topic Continuous integration
Automação
Testes
Inspecção
Feedback
iOS
description As 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ção
publishDate 2017
dc.date.none.fl_str_mv 2017
2017-12-22T00:00:00Z
2017-12-22T00:00:00Z
2027-12-31T00:00:00Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv http://hdl.handle.net/10400.26/34000
url http://hdl.handle.net/10400.26/34000
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv info:eu-repo/semantics/embargoedAccess
eu_rights_str_mv embargoedAccess
dc.format.none.fl_str_mv application/pdf
dc.source.none.fl_str_mv reponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
instacron:RCAAP
instname_str Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
instacron_str RCAAP
institution RCAAP
reponame_str Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
collection Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
repository.name.fl_str_mv Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
repository.mail.fl_str_mv
_version_ 1799130027510464512