Show simple item record

dc.contributor.authorBlanco, Juliano Zanuzzio
dc.date.accessioned2020-12-03T16:46:56Z
dc.date.available2020-12-03T16:46:56Z
dc.date.issued2020-10-06
dc.identifier.citationBLANCO, 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.urihttps://repositorio.ufscar.br/handle/ufscar/13517
dc.description.abstractBackground: 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.sponsorshipFundação de Amparo à Pesquisa do Estado de São Paulo (FAPESP)por
dc.language.isoporpor
dc.publisherUniversidade Federal de São Carlospor
dc.rightsAttribution-NonCommercial-NoDerivs 3.0 Brazil*
dc.rights.urihttp://creativecommons.org/licenses/by-nc-nd/3.0/br/*
dc.subjectSistemas multiplataformapor
dc.subjectDesenvolvimento de software dirigido por modelospor
dc.subjectDispositivos móveispor
dc.subjectAplicativos webpor
dc.subjectAplicativos híbridospor
dc.subjectAplicativos nativospor
dc.subjectEngenharia avantepor
dc.subjectGeração de código e modelagempor
dc.titleUma abordagem holística para o desenvolvimento de software multiplataformapor
dc.title.alternativeA holistic approach for cross-platform software developmenteng
dc.typeTesepor
dc.contributor.advisor1Vincenzi, Auri Marcelo Rizzo
dc.contributor.advisor1Latteshttp://lattes.cnpq.br/0611351138131709por
dc.description.resumoContexto: 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.initialsUFSCarpor
dc.publisher.programPrograma de Pós-Graduação em Ciência da Computação - PPGCCpor
dc.subject.cnpqCIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAOpor
dc.description.sponsorshipIdFAPESP: 15/24429-1por
dc.publisher.addressCâmpus São Carlospor
dc.contributor.authorlatteshttp://lattes.cnpq.br/7759806751523441por


Files in this item

Thumbnail
Thumbnail
Thumbnail

This item appears in the following Collection(s)

Show simple item record

Attribution-NonCommercial-NoDerivs 3.0 Brazil
Except where otherwise noted, this item's license is described as Attribution-NonCommercial-NoDerivs 3.0 Brazil