Escolar Documentos
Profissional Documentos
Cultura Documentos
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,
1
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?
Nestes termos estima-se então que ao documentar um padrão (pattern) possa se construir
uma perspectiva de reutilização, o que possivelmente impactará no compartilhamento de
informações sobre a melhor maneira de se resolver um problema de desenvolvimento de
software e é com esta perspectiva que este trabalho pretende dialogar.
2. ASPECTOS METODOLÓGICOS
2
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.”
Pressman (2004), por sua vez, sinaliza que para que haja sucesso em um projeto de
software:
[...] é necessário que alguns parâmetros sejam corretamente analisados, como por
exemplo o escopo do software, os riscos envolvidos, os recursos necessários, as
tarefas a serem realizadas, os indicadores a serem acompanhados, os esforços e custos
aplicados e a sistemática a ser seguida (PRESSMAN, 2004, p.223).
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
3
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.”
4
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).
Em cada fase de um projeto são executados diversos processos com o objetivo de produzir
o resultado esperado daquela determina etapa. Conforme definido pelo PMBOK (2013), esses
processos se enquadram nos seguintes:
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.
5
3.3 Aplicações Móveis
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:
7
3.4 Padrões de Projetos para Aplicações Móveis
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)
8
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:
9
Figura 2 – Padrões Primários de Navegação.
.
Fonte: Neil (2012, p. 49)
•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.
11
conhecimento que pode ser considerado como recente e, portanto, ainda em estágio de franca
evolução, recomenda-se aqui, não apenas a continuidade, mas também e, principalmente a
intensificação das pesquisas sobre esta interessante e desafiadora temática.
Deste modo fica a evidência de que é relevante apontar diferentes e interessantes
norteadores para a realização de futuras pesquisas acerca desta temática.
O cenário exposto neste trabalho enfatizou os principais padrões de projetos para
desenvolvimento de dispositivos moveis. Como norteador para pesquisas futuras existe o
interesse na direção da implementação de padrões na prototipagem sob análise comparativa de
ferramentas de aceleração baseadas em
boas práticas de gestão de projetos orientadas pelo PMBOK e sobre tudo sobre o padrão MVC,
direcionando as mesmas a gestão de riscos fortemente presentes neste universo.
REFERÊNCIAS BIBLIOGRÁFICAS
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.
12