• Aucun résultat trouvé

Diamantes en bruto (2019)

Dans le document Treball de Fi de Grau (Page 135-162)

7. ANNEXOS

7.1. Minutats tràilers

7.1.3. Diamantes en bruto (2019)

A portabilidade pode ser definida como o grau em que um sistema, produto ou componente pode ser transferido de um hardware, software ou ambiente operacional para outro, com eficácia e eficiência

(ISO, 2010). Em (NGUYEN-HOAN; FLINT;

SANKARANARAYANA, 2010) foi realizado um survey sobre aspectos gerais no desenvolvimento de softwares, uma das perguntas desse survey era “Qual o motivo para escolha de uma determinada linguagem de programação?”, a resposta mais apontada por desenvolvedores participantes da pesquisa foi: “compatibilidade entre plataformas” (Cross-platform compatibility) mostrando a preocupação da comunidade de desenvolvimento com a portabilidade das aplicações entre diversas plataformas.

O interesse da comunidade científica na questão da portabilidade é antigo, padrões internacionais já foram desenvolvidos em relação ao tema como é o caso da norma ISO/IEC 9945 (ISO, 2009) que tem como objetivo normalizar especificações para garantir a portabilidade de aplicações de um sistema POSIX (Portable Operating System Interface) para outro.

No cenário atual, dispositivos móveis devem suportar aplicações desenvolvidas para operarem em diferentes dispositivos, sistemas operacionais e versões de um mesmo sistema operacional (WASSERMAN, 2010). Nesse, e no contexto da divergência de aplicações, a portabilidade de aplicações para diferentes sistemas computacionais tornou-se um fator fundamental evitando o retrabalho gerado pelo desenvolvimento de uma mesma aplicação para diferentes sistemas, uma vez que, desenvolver e dar suporte a várias aplicações, para um grupo de dispositivos diferentes requer um custo e esforço consideráveis (TAYLOR; MEDVIDOVIC; DASHOFY, 2009).

Aplicações independentes de plataforma são melhores para atender a necessidade de grupos heterogêneos, pois possuem menos restrições de hardware e software (GAYNOR et al., 2008). Além de ser um fator impactante no desenvolvimento de aplicações para multi- dispositivos, a falta de portabilidade também acaba afetando a interface de usuário que deve ser ajustada de acordo com as capacidades e características de cada um desses dispositivos, assim como da demanda dos usuários (LIU et al., 2011).

Na tentativa de diminuir esse retrabalho, algumas soluções vêm sendo propostas na literatura, como por exemplo, o uso de ferramentas

de desenvolvimento para multiplataformas (Cross-platform) gerando aplicações que são recompiladas para sistemas específicos. Alguns exemplos são: RhoMobile, Appcelerator, Mosync, etc. Na maioria, esses ambientes de desenvolvimento trabalham como uma linguagem nativa, e recompilam o código para cada dispositivo ou plataforma distinta. Essa abordagem é interessante, no entanto, limita o uso de funcionalidades específicas de cada dispositivo.

A empresa Oracle vem incrementando seu framework para desenvolvimento de aplicações (Oracle Application Development

Framework - ADF) com o objetivo de possibilitar que desenvolvedores

criem aplicações para dispositivos móveis que rodem, tanto em dispositivos da Apple quanto Android5. Segundo o vice-presidente da

Oracle “Você não precisa aprender outras linguagens para programar

para plataformas diferentes”.

Outra opção proposta é a utilização de linhas de produto de

software (Software product lines – SPL) para evitar o retrabalho. O

objetivo da SPL é reduzir o esforço total necessário para produzir uma família de aplicativos com características comuns focando nessas características, gerenciando as diferenças entre os aplicativos (KRUEGER, 2000). No contexto da convergência digital seria gerenciar as diferenças entre sistemas computacionais de acordo com as capacidades específicas de cada um. Segundo o Software Engineering

Institute (SEI) os principais benefícios da utilização da linha de produto

de software seriam: aumento da eficiência, melhoria no tempo, aumento da produtividade e melhoria da qualidade (SEI, 2008).

4.1.2 Usabilidade

Segundo a norma ISO/IEC 25010 (ISO, 2010) a usabilidade pode ser conceituada como o grau em que um produto ou sistema pode ser usado por usuários específicos para alcançar certos objetivos em um determinado contexto de uso, com eficácia, eficiência e satisfação. A diversidade tecnológica de dispositivos computacionais existentes atualmente impõe novos desafios à engenharia de usabilidade (SEFFAH; FORBRIG; JAVAHERY, 2004)(BISIGNANO; MODICA; TOMARCHIO, 2006) de forma que sempre que ocorre a mudança de plataformas, de dispositivos ou até mesmo entre diferentes versões de

5

http://www.infoworld.com/d/application-development/oracle-brings-cross- platform-java-dev-mobile-devices-205369

uma mesma plataforma, a usabilidade do usuário pode ser prejudicada (RICHTER, 2005).

Denis e Karsenty (2004) acreditam que a usabilidade de um programa não deve estar relacionada somente a ele mesmo, mas a toda sua família de aplicações. Eles definem esse fator como inter- usabilidade (inter-usability), ou seja, a usabilidade de uma aplicação deve ser a mesma em diferentes dispositivos, para que o conhecimento adquirido pelo usuário quando utiliza uma aplicação possa ser reaproveitado quando utilizar a mesma aplicação em um dispositivo diferente. Esse conceito foi abordado anteriormente por (AVERY, 1996) quando afirma que a portabilidade de usuário é a habilidade de migrar de uma aplicação para outra com o mínimo de dificuldade em entender a nova interface de usuário. Em (JIMENEZ; LYONS, 2011) esse mesmo conceito é chamado de consistência entre dispositivos (across-device

consistency).

Atualmente na literatura existem algumas propostas para tentar “reutilizar” ou adaptar a interface de usuário de uma aplicação entre diferentes dispositivos de acordo com as características do dispositivo sendo utilizado. Em (PATERNÒ; SANTORO, 2012) é proposto um

framework lógico para criação de interfaces de usuário para multi-

dispositivos, enquanto que em (SEFFAH; FORBRIG; JAVAHERY, 2004) é proposto o uso de múltiplas interfaces de usuário de acordo com as características específicas de cada dispositivo. Em (LIU et al., 2011) é proposta uma abordagem adaptativa da interface do usuário às capacidades do dispositivo. Independente da abordagem utilizada o objetivo é o mesmo: tentar solucionar ou minimizar o problema causado pela convergência/divergência digital no contexto da usabilidade para aplicações.

Existem normas internacionais relacionadas à engenharia de usabilidade, como é o caso da ISO/TR 18529 (ISO, 2000) de processos de software centrados no humano, ou a ISO 9241-210 (ISO, 2010) para design de sistemas interativos centrado em humanos. Essas normas podem ser utilizadas para tentar minimizar ou solucionar o problema da usabilidade causado pela divergência de aplicações em sistemas computacionais e mais especificamente em dispositivos móveis. Embora essas normas existam, processos de software relacionados à usabilidade não foram incluídos à MMCPS, nesse contexto em (RABELLO et al., 2012) foi realizada uma revisão da literatura em busca de MMCPS que incluíssem processos voltados para usabilidade e também foi proposta a inclusão de processos do ISO/TR 18529 a um MMCPS, utilizando como base a ISO/IEC 15504 e a ISO/IEC 12207.

4.1.3 Segurança

Grau em que um produto ou sistema protege a informação e os dados para que pessoas, ou produtos ou sistemas possuam o nível de acesso apropriado a seus tipos e níveis de autorização (ISO, 2010). Quando se trata de segurança vários aspectos podem ser abordados, como por exemplo, segurança na utilização de aplicações, sistemas operacionais, banco de dados, redes de transmissão, transferência de arquivos, entre outros fatores. A segurança da informação por si só é uma linha de pesquisa na área de tecnologia da informação e comunicação.

Fatores que deve ser considerado segundo (WASSERMAN, 2010) são a interoperabilidade entre aplicações para dispositivos móveis e também a segurança necessária durante o compartilhamento de informações. Em (POLLA; MARTINELLI; SGANDURRA, 2012) foi elaborado um survey sobre segurança em dispositivos móveis, onde são feitas comparações entre segurança em dispositivos móveis e PC’s (Personal Computers); descrição de tipos de ataques a dispositivos móveis, soluções de segurança existentes para os ataques mais comuns, entre outras informações. Em (MARKELJ & BERNIK, 2011) os principais riscos à segurança de sistemas de informação através de dispositivos móveis foram identificados como: softwares para dispositivos móveis, redes públicas, certificados digitais não proprietários e o roubo ou perda de dispositivos móveis. Em (REN et al., 2012) é proposto um modelo de segurança para transmissão em TV digital, no entanto o modelo proposto no artigo está relacionado a segurança na transmissão de dados pela rede e não no contexto de aplicações móveis.

Instituições financeiras passaram a desenvolver aplicações para diversos sistemas computacionais sendo tanto para desktops, notebooks e dispositivos móveis para que seus clientes possam realizar operações financeiras de onde quer que estejam. Em um experimento realizado por um grupo de pesquisadores alemães6 verificou-se a utilização errada de protocolos de segurança, como por exemplo, o SSL (Socket

SecureLayer), por parte de desenvolvedores de aplicativos para a

plataforma Android. Em torno de 13.500 (treze mil e quinhentas) aplicações foram submetidas a um teste de vulnerabilidade, que acusou

6

http://www.infoworld.com/t/mobile-security/legit-android-apps-rendered- unsafe-poor-programming-ssl-misuse-205418

que pelo menos 1.074 (um mil, setenta e quatro) delas estavam vulneráveis a ataques, incluindo entre elas aplicações bancárias.

Padrões internacionais para segurança da informação vêm sendo desenvolvidos ao longo dos anos, as normas da série ISO/IEC 27000 tratam diversos aspectos relacionados à segurança da informação. Mais especificamente na área de segurança da informação para sistemas de saúde temos a ISO 27799:2008 – Informática na Saúde: Gerenciamento de Segurança da Informação na Saúde usando a norma ISO/IEC 27002. Existe inclusive um modelo de maturidade/capacidade de processo de

software com foco na segurança de sistemas, a norma ISO/IEC

21827:2008 – Information Technology – Security Techniques – Systems

Security Engineering – Capability Maturity Model (SSE-CMM) (ISO,

2008).

Dans le document Treball de Fi de Grau (Page 135-162)