Академический Документы
Профессиональный Документы
Культура Документы
RESUMO
Este trabalho tem como objetivo analisar as principais características dos projetos
direcionados às aplicações móveis, enfatizando algumas das principais tecnologias e
metodologias envolvidas. Na sua essência, estes aplicativos se compõem basicamente de
softwares, voltados a uma nova arquitetura, descrita como aplicações móveis, caracterizadas
na atualidade pela sigla App. Nestes termos, este trabalho se propõe a apresentar um estudo
voltado à gestão de projetos de desenvolvimento de software’s, bem como os principais
padrões de projetos voltados para dispositivos móveis.
ABSTRACT
This work aims to analyze the main characteristics of the projects targeted to mobile
applications, emphasizing the key technologies and methodologies involved. In essence these
applications consist of software basically aimed at a new architecture, described as mobile
applications, characterized today by App acronym. Accordingly this paper is to present a
study related to management's software as well as presenting the main patterns of targeted
projects development projects for devices furniture.
1. INTRODUÇÃO
Com a popularização de Smartphones e Tablets mais acessíveis e cada vez com maior
poder computacional, o mercado de aplicações móveis tem crescido significativamente,
proporcionando novos nichos de mercado e consequentemente novos desafios. Deste modo
percebe-se que o desenvolvimento aforçurado de aplicações para dispositivos móveis tem
estimulado o crescimento sistemático de aplicações móveis, conhecidas popularmente como
App’s. É importante salientar que dentre os diversos benefícios proporcionados pela
computação móvel destacam-se a mobilidade, disponibilidade, a praticidade e a portabilidade.
Algumas abordagens voltadas para aplicações web podem ser utilizadas nas aplicações
móveis, no entanto, estas por sua vez, apresentam desafios não existentes nas aplicações web
convencionais. Um exemplo desta afirmativa está diretamente ligado a resolução de tela, aos
variados modelos e fabricantes de dispositivos e consequentemente a diversidade de sistemas
operacionais disponíveis no mercado. No desenvolvimento de software é natural, defrontar se
com problemas que ocorrem, ocorreram e irão ocorrer novamente, principalmente quando
expostos a novas tecnologias. A questão a ser respondida é como solucionar este problema de
forma definitiva?
2. ASPECTOS METODOLÓGICOS
Para Zikmund (2000, p. 65), “os estudos exploratórios, geralmente, são úteis para
diagnosticar situações, explorar alternativas ou descobrir novas ideias”. Tais estudos, são
conduzidos durante o estágio inicial de um processo de pesquisa mais amplo, em que se
procura esclarecer e definir a natureza de um paradigma e gerar mais informações que possam
ser adquiridas para a realização de futuras pesquisas conclusivas.
3. REFERENCIAL TEÓRICO
Sob este contexto, a ABNT, através da norma técnica NBR 10006 (2003, p.18), projeto
pode ser definido como “ Processo único, consistido de um grupo de atividades coordenadas
e controladas com datas para início e término, empreendido para alcance de um objetivo
conforme requisitos específicos, incluindo limitações de tempo, custos e recursos.”
Desta forma a análise de todos estes parâmetros demostra se como função típica da
gerência de projetos, a qual, em geral, se inicia antes do trabalho técnico e prossegue à medida
que a entrega do software vai se concretizando. Sob tais argumentos, fica a evidência de que
projetos são utilizados para capturar uma oportunidade em um novo produto ou serviço e para
aumentar a competitividade garantindo o futuro e a sobrevivência da organização além de ser
a forma pela qual as estratégias são implementadas. É importante que os objetivos do projeto
sejam claros e as atividades descritas de forma transparente. Um projeto é constituído por
uma série de tarefas e a cada tarefa são atribuídas responsabilidades para simplificar o seu
controle e assim poder se verificar, passo a passo, o cumprimento e a conclusão das tarefas
atribuídas. O resultado é um produto, serviço ou capacitação de um processo organizacional,
alinhado às necessidades operacionais da organização do ponto de vista do curto prazo e que,
se visto do ponto de vista do longo prazo, é estratégico. De acordo com o PMBOK (2013,
p.16), em resumo, um projeto envolve: “tarefas responsabilidades; orçamento (custos e
tempo) e recursos: financeiros e humanos.”
Que trabalho técnico deve ser realizado em cada fase, por exemplo, em qual fase
deve ser realizado o trabalho de um programador em um projeto de desenvolvimento de
software; Em que momento do projeto as entregas devem ser geradas em cada fase e como
cada entrega é revisada, verificada e validada; Quem está envolvido em cada fase. Por
exemplo, no desenvolvimento de um software, exige-se que os programadores estejam
envolvidos com a implementação e o teste do software; como também em controlar e aprovar
cada uma das fases (PMBOK, 2013, p.12).
Desta forma este conjunto de processos associados entre si, podem ser visualizados de
maneira mais transparente na figura 1 abaixo:
Assim fica clara a evidência de que o guia PMBoK (2013) apresenta as melhores
práticas para o gerenciamento de projetos e as mesmas podem ser aplicadas de maneira
eficiente em projetos de software e consequentemente para o segmento móvel.
Aplicações móveis ou App’s como comumente são conhecidos, são definidos como
softwares desenvolvidos para dispositivos móveis como TV`s, Smartwatches, Smartphones e
Tablets, que por sua vez podem ser caracterizados em uma nova categoria de software.
Nudelman (2013, p.56), define que a sigla "App" é uma abreviatura do termo
"aplicação de software" e em 2010 se tornou tão popular que foi assinalada como "Palavra
do Ano" pela American Dialect Society.
Morimoto (2009), por sua vez defende a ideia de que dispositivo móvel pode ser
definido como:
Todo aquele equipamento, que pode ser levado a qualquer lugar. Quanto menos
dependente de características físicas, maior será o grau de mobilidade. Por exemplo,
a bateria: quanto maior a duração e menor o tempo de recarga maior a mobilidade
provida pelo dispositivo (MORIMOTO 2009, p. 331).
Lee et al, 2005, ressaltam que originalmente as Aplicações móveis foram criadas e
classificadas como ferramentas de suporte à produtividade e à recuperação de informação
generalizada, incluindo correio eletrônico, mercado de ações, informações meteorológicas,
jogos, serviços de GPS, compra de bilhetes, interações em tempo real com redes sociais,
dentre outras aplicações do gênero.
No entanto, a crescente procura pela a disponibilidade de informação associada a
portabilidade vem proporcionando a evolução dos App’s no sentido de atender as mais
distintas necessidades. Deste modo as organizações perceberam uma nova forma de aumentar
seus volumes de negócios assim como uma nova maneira de solidificar a fidelização de seus
clientes.
Assim, as mesmas têm concentrado expressivos esforços em tornar suas marcas “mobile”,
disponibilizadas gratuitamente nas principais lojas de App’s do planeta. Como exemplo desta
estratégia evidenciam se empresas como; Mercado Livre, Netshoes, EBAY e AliExpress.
Sob este argumento, Mcwherter e Gowell (2012, p. 112), enfatizam que “os App’s têm o
propósito de facilitar o cotidiano do usuário, fornecendo-lhe as mais diversas
funcionalidades com infinitas possibilidades”. Algumas aplicações são exclusivamente
gratuitas ou têm versões gratuitas, enquanto outras são comercializadas a valores
relativamente baixos e de forma geral acessíveis.Quanto as aplicações pagas, geralmente um
percentual de 20% a 30% é atribuída ao distribuidor e o restante para o criador do App. A
mesma aplicação pode custar um valor diferente dependendo do dispositivo para o qual é
desenvolvida, isto é, a mesma aplicação pode ter um custo diferente para IOS, para Android
ou para Windows Phone. Estes aplicativos podem ser instalados no dispositivo, uma vez que
o dispositivo de hardware seja compatível com o mesmo. Todavia o mesmo pode ser baixado
pelo usuário através de uma loja on-line, tal como Google Play, App Store ou Windows
Phone Store.
Após o processo de análise Neil (2012), sinaliza para a importância de alguns pontos
relevantes em relação ao desenvolvimento voltado para dispositivos móveis, aos quais devem
ser analisados antes de iniciar o desenvolvimento e de definir a tecnologia a ser empregada,
para que assim, os processos de análise, concepção e testes sejam mais objetivos e bem
definidos. Estes por sua vez são definidos por: Sistema operacional, desempenho, usabilidade,
segurança e recursos do aparelho, que por sua vez, são brevemente detalhados nas entre linhas
abaixo:
Sistemas Operacionais (S.O.): Os que se destacam com mais frequência na dinâmica
do mercado atual são, o IOS da Apple, Android da Google e o Windows Phone da
Microsoft, conforme mencionado anteriormente. Diante desses três principais S.O.´s
disponíveis no mercado, deve haver uma atenção especial para versões do aplicativo
para que funcione corretamente nos diferentes tipos de S.O.´s. É importante ressaltar
que a plataforma de desenvolvimento de cada S.O. tem linguagem e ferramentas de
desenvolvimento próprias. Assim, um aplicativo que funciona no IOS, não irá
funcionar no Android e vice-versa. Em resumo, terá que ser desenvolvido um
aplicativo para cada Sistema Operacional. Isto por sua vez demanda um esforço
intelectual considerável, pois cada plataforma tem suas particularidades o que leva
os desenvolvedores a se especializarem em uma plataforma.
Mcwherter e Gowell (2012), por sua vez, destacam que os padrões de projeto
refletem soluções eficazes, para problemas encontrados por desenvolvedores durante as fases
de um projeto de software. Na sua opinião: A sua utilização possibilita uma maior coesão e
minimização da complexidade e do acoplamento entre os elementos que integram a
aplicação, uma vez que utilizam eficientemente os conceitos de orientação a objetos”
(MCWHERTER & GOWELL, 2012, p. 186).
Categorias: Descrição:
Criacionais Envolvem a criação de instâncias de objetos; todos fornecem
alguma maneira de desconectar o cliente dos objetos entre
instâncias
Estruturais Permitem que organize classes ou objetos em estruturas maiores.
Comportamentais Preocupam-se com a forma como as classes e objetos interagem
Fonte: Freeman (2009, p. 444)
Criacional
Estilo Descrição Sumária
Buider Separar a construção de objeto complexo da representação de cração.
Prototype Especificar tipos a criar usando uma instância como protótipo.
Singleton Garantir que uma classe só tenha uma única instância, e prover um ponto de
acesso global a ela.
Factory Method Definir uma interface para criar um objeto, mas deixar que subclasses decidam
que classe instanciar.
Abstract Method Prover interface para criar famílias de objetos relacionados ou dependentes sem
especificar suas classes concretas.
Fonte: Freeman (2009, p. 444)
Quadro3 - Padrões Projetos Estruturais.
Estrutural
Estilo Descrição Sumária
Adapter Converter a interface de uma classe em outra interface esperada pelos clientes.
Bridge Desacoplar uma abstração de sua implementação para que os dois possam variar
independentemente.
Composite Permitir o tratamento de objetos individuais e composições desses objetos de
maneira uniforme.
Decorator Anexar responsabilidades adicionais a um objeto dinamicamente.
Facade Oferecer uma interface única (e simples) de nível mais elevado para um conjunto
de interfaces de um subsistema.
Flyweight Usar compartilhamento para suportar eficientemente grandes quantidades de
objetos complexos.
Proxy Prover um substituto ou ponto através do qual um objeto possa controlar o acesso a
outro.
Fonte: Freeman (2009, p. 445)
Comportamental
Estilo Descrição Sumária
Interpreter Dada uma linguagem, definir uma representação para sua gramática por
meio de um interpretador.
Template Method Definir o esqueleto de um algoritmo dentro de uma operação, deixando
alguns passos ser preenchidos pelas subclasses.
Chain of Responsibility Compor objetos em cascata para, através dela, delegar uma requisição até
que um objeto a sirva.
Command Encapsular requisição como objeto, para clientes parametrizarem
diferentes requisições.
Iterator Prover uma maneira de acessar elementos de um objeto agregado
sequencialmente sem expor sua representação interna.
Mediator Definir um objeto que encapsula a forma como um conjunto de objetos
interagem.
Memento Armazenar o estado interno de um objeto para que ele possa ter seu estado
restaurado posteriormente (undo).
State Definir uma família de algoritmos, encapsularem cada um e fazê-los
intercambiáveis.
Estrategy Definir uma família de algoritmos, encapsularem cada um e fazê-los
intercambiáveis.
Visitor Representar uma operação a ser realizada sobre os elementos de uma
estrutura de objetos. Permite definir uma nova operação sem mudar as
classes dos elementos nos quais opera
Fonte: Freeman (2009, p. 445)
Segundo Neil (2012, p. 49), “os padrões de navegação de interface gráfica para
aplicativos móveis são classificados em: Padrões primários de navegação e padrões
secundários de navegação”, conforme esboçados as figuras 2 e 3 abaixo e a seguir:
• Springboard: Caracteriza-se por uma página inicial de opções de menu que age
como um ponto de partida para o aplicativo.
• Menu de listas: Caracteriza-se na forma de lista, pode ser simples, agrupadas e
avançadas com recursos adicionais para busca, navegação ou filtragem. Cada
item da lista é um ponto de partida para o aplicativo.
• Menu de abas: Caracteriza-se pelo seu design na forma de abas, que pode ser
superior ou inferior.
• Galeria: Caracteriza-se pela exibição na forma de itens de conteúdo que podem
ser organizados em um carrossel, uma grade ou em slide show.
• Dashboard: Caracteriza-se pela forma de painéis de instrumento que fornece
resumo de indicadores principais de desempenho (Key Perfomance Indicators –
KPIs).
• Metáfora: Caracteriza-se por uma página inicial modelada para refletir a
metáfora do aplicativo. Pode ser utilizado para ajudar a catalogar e categorizar
itens em um aplicativo.
• Megamenu: Caracteriza-se por um grande painel sobreposto com formatação e
agrupamento personalizados das opções de menu (NEIL, 2012, p. 49).
Figura 3 – Padrões Secundários de Navegação.
Deste modo, fica a percepção de que a correta aplicação de padrões de projeto, tende a
ampliar de forma até certo ponto significativa, a qualidade, a flexibilidade e manutenibilidade
do software. Além disso, facilita o trabalho dos desenvolvedores de software, pois apresenta
soluções dinâmicas e padronizadas para problemas frequentes.
4. CONSIDERAÇÕES FINAIS
Ainda que premido por algumas limitações, este trabalho procurou, na medida do
possível, cumprir para como objetivo de analisar algumas das principais características dos
projetos direcionados às aplicações móveis, enfatizando algumas das principais tecnologias e
metodologias envolvidas com aquela temática. Para tanto e, em conformidade às orientações
expressas ao longo contato com o curso de Pós-graduação em Gestão de Projetos, ministrado
pela Faculdade de Administração e Ciências Contábeis da Universidade Federal de Juiz de
Fora, foi interessante identificar, a partir da intensificação no processo de investigação que, a
utilização de padrões de projeto, preconizados pelo Guia PMI-PMBOK, tende a oferecer boas
condições ferramentais para que os projetos de desenvolvimento, voltados às tecnologias
mobile (plataformas móveis), possam apresentar melhorias de desempenho, principalmente
no que tange ao trinômio comporto por: flexibilidade, qualidade e critérios de manutenção,
tanto preventiva quanto reativa.
Assim, o contato com um breve recorte na literatura, voltada à elaboração de projetos,
como também pelas chamadas tecnologias mobile, possibilitou identificar e paralelamente
compreender que a busca pela interação entre as atividades de projeto e o desenvolvimento de
aplicativos centrados naquele tipo de tecnologia, tende a apresentar resultados satisfatórios e
que por sua vez, podem contribuir em muito, para com a melhoria do produto final obtido, em
vários de seus estágios, dentre os quais merecem destaque: e escolha ou desenvolvimento do
sistema operacional a ser utilizado; o desempenho esperado pela solução proposta, as suas
características voltadas, principalmente para a usabilidade, por parte do usuário final e, por
fim, porém não menos importante, a atenção aos critérios de segurança física e digital a serem
empregados. Adicionalmente também foi possível perceber que a utilização de padrões de
projetos já existentes, possibilita o desenvolvimento de App’s com melhor qualidade, pois
conforme referendado por alguns relatos, expressos ao longo do texto, eles normalmente se
utilizam de metodologias que podem ser consideradas como, até certo ponto consolidadas e
que, pelo menos em síntese, se apresentam com bom nível de eficácia no desdobramento
operacional do projeto voltado ao aplicativo em fase de desenvolvimento.
FREEMAN, E.; FREEMAN, E. Use a Cabeça Padrões e Projetos. 2°. ed. Rio De Janeiro: Alta
Books, 2009.
NEIL, T. Padrões de design para aplicativos móveis. São Paulo: Novatec, 2012.
NUDELMAN, G. Padrões de Projeto para o Android. 1°. ed. São Paulo: Novatec Editora
Ltda, 2013.
ZANDTRA, M. Objetos PHP, Padrões e Prática. 2. ed. Rio de Janeiro: Alta Books, 2009.