dc.contributor.author | Blanco, Juliano Zanuzzio | |
dc.date.accessioned | 2020-12-03T16:46:56Z | |
dc.date.available | 2020-12-03T16:46:56Z | |
dc.date.issued | 2020-10-06 | |
dc.identifier.citation | BLANCO, Juliano Zanuzzio. Uma abordagem holística para o desenvolvimento de software multiplataforma. 2020. Tese (Doutorado em Ciência da Computação) – Universidade Federal de São Carlos, São Carlos, 2020. Disponível em: https://repositorio.ufscar.br/handle/ufscar/13517. | * |
dc.identifier.uri | https://repositorio.ufscar.br/handle/ufscar/13517 | |
dc.description.abstract | Background: Software systems have become fundamental in the activities of individuals and companies in recent years. The possibility of easy access became possible after the popularization of the web platform in the first moment, followed by the mobile platform, have been changing the need for access and information processing. Given this scenario, software development gains a new challenge, beyond the requirement for quality and productivity. In many cases, it must be cross-platform and consider differences and limitations of the various existing and future devices. Cross-platform systems are normally composed of several individual solutions, each for a different device or platform. This separation increases the development cost, as different development teams are often needed for dealing with the specific requirements for each device. There are cross-platform solutions available in the industry and academia, but these are normally restricted to preconfigured platforms. They also normally consider that each individual solution is equal or similar, in terms of functionality, to each other. Objective: Motivated by this scenario, this doctoral thesis presents an approach where the development and maintenance of cross-platform software occurs as a single software entity, taking a more holistic view. The approach takes advantage of existing cross-platform solutions but adds three new aspects regarding the developer's autonomy: support to include new platforms, extension of the approach and support to distribute functionality across the devices. Method: The approach is based on a general-purpose language (GPL), which allows the developer to specify domain concepts in an abstraction level that is higher than a normal programming language, as it is free from platform details and includes some modeling elements. Automatic transformations are used to produce executable code that can be properly divided and deployed separately into different platforms. The proposed approach was evaluated in three ways. In the first evaluation, an existing cross-platform system was recreated using the approach. The second evaluation was conducted with 5 experts, who tested the cross-platform approach in practice. The last evaluation was the solution of a pointed out by the specialists through the possibility of extending the approach, demonstrating its robustness. Results: The results have brought evidence supporting the contributions of the approach, mainly: the possibility to use a single environment to create a high abstraction representation of the software, the ability to reuse similar concepts between platforms and the potential to reduce costs. The evaluations also pointed out some limitations, mainly: the need for an initial effort to properly create and prepare the platform using the native IDEs, the need for additional tests and some missing implementation details. | eng |
dc.description.sponsorship | Fundação de Amparo à Pesquisa do Estado de São Paulo (FAPESP) | por |
dc.language.iso | por | por |
dc.publisher | Universidade Federal de São Carlos | por |
dc.rights | Attribution-NonCommercial-NoDerivs 3.0 Brazil | * |
dc.rights.uri | http://creativecommons.org/licenses/by-nc-nd/3.0/br/ | * |
dc.subject | Sistemas multiplataforma | por |
dc.subject | Desenvolvimento de software dirigido por modelos | por |
dc.subject | Dispositivos móveis | por |
dc.subject | Aplicativos web | por |
dc.subject | Aplicativos híbridos | por |
dc.subject | Aplicativos nativos | por |
dc.subject | Engenharia avante | por |
dc.subject | Geração de código e modelagem | por |
dc.title | Uma abordagem holística para o desenvolvimento de software multiplataforma | por |
dc.title.alternative | A holistic approach for cross-platform software development | eng |
dc.type | Tese | por |
dc.contributor.advisor1 | Vincenzi, Auri Marcelo Rizzo | |
dc.contributor.advisor1Lattes | http://lattes.cnpq.br/0611351138131709 | por |
dc.description.resumo | Contexto: Sistemas de software se tornaram fundamentais nas atividades das pessoas e empresas nos últimos anos. A possibilidade de acesso fácil viabilizado pela popularização da plataforma web no primeiro momento, seguido pela plataforma móvel, vêm modificando a necessidade de acesso e processamento de informações das pessoas. Diante desse cenário, o desenvolvimento de software ganha mais um desafio, além da exigência por qualidade e produtividade. Em muitos casos, ele deve ser multiplataforma, e considerar diferenças e limitações dos diversos dispositivos existentes e futuros. Sistemas multiplataforma são normalmente compostos de várias soluções individuais, cada uma para um dispositivo ou plataforma diferente. Essa separação aumenta o custo do desenvolvimento, pois diferentes equipes de desenvolvimento são frequentemente necessárias para lidar com os requisitos específicos de cada dispositivo. Existem soluções multiplataforma disponíveis na indústria e no meio acadêmico, mas normalmente são restritas a plataformas pré-configuradas. Eles também normalmente consideram que as soluções individuais são iguais ou semelhantes, em termos de funcionalidade, entre si. Objetivo: Motivado por esse cenário, esta tese de doutorado apresenta uma abordagem em que o desenvolvimento e a manutenção de software multiplataforma ocorrem como uma única entidade de software, adotando uma visão mais holística. A abordagem tira proveito das soluções multiplataforma existentes na academia e indústria e adiciona três novos aspectos em relação à autonomia do desenvolvedor: suporte para incluir novas plataformas, extensão da abordagem e suporte para distribuir funcionalidade entre os dispositivos. Metodologia: A abordagem é baseada em uma General-Purpose Language (GPL), que permite ao desenvolvedor especificar conceitos de domínio em um nível de abstração mais alto que uma linguagem de programação normal, pois é livre de detalhes da plataforma e inclui alguns elementos de modelagem. As transformações automáticas são usadas para produzir código executável que pode ser adequadamente dividido e implantado separadamente em diferentes plataformas. A abordagem proposta foi avaliada de três maneiras. Na primeira avaliação, um sistema multiplataforma para o domínio de comércio eletrônico foi recriado usando a abordagem, caracterizando a prova de conceito da abordagem. A segunda avaliação foi realizada com 5 especialistas, que testaram a abordagem multiplataforma na prática. A última avaliação foi a solução de uma limitação apontada pelos especialistas através da possibilidade de extensão da abordagem, demonstrando a sua robustez. Resultados: Os resultados trouxeram evidências que apoiam as contribuições da abordagem, principalmente: a possibilidade de usar um único ambiente para criar uma representação de alta abstração do software, a capacidade de reutilizar conceitos semelhantes entre plataformas e o potencial de reduzir custos. As avaliações também apontaram algumas limitações, principalmente: a necessidade de um esforço inicial para criar e preparar adequadamente a plataforma usando os IDEs nativos, a necessidade de testes adicionais e alguns detalhes de implementação ausentes. | por |
dc.publisher.initials | UFSCar | por |
dc.publisher.program | Programa de Pós-Graduação em Ciência da Computação - PPGCC | por |
dc.subject.cnpq | CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO | por |
dc.description.sponsorshipId | FAPESP: 15/24429-1 | por |
dc.publisher.address | Câmpus São Carlos | por |
dc.contributor.authorlattes | http://lattes.cnpq.br/7759806751523441 | por |