Continuous Integration no desenvolvimento de aplicações iOS
Autor(a) principal: | |
---|---|
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 |