Você está na página 1de 14

PROJETOS PARA O DESENVOLVIMENTO DE APLICATIVOS

VOLTADOS ÀS FUNCIONALIDADES DE DISPOSITIVOS MÓVEIS:


UM BREVE RECORTE.

MEDEIROS, Janio Alberto


MENDONÇA, Ricardo Rodrigues Silveira
VALVERDE, Anderson
Pós-Graduando em Gestão de Projetos – Escola de Negócios
Faculdade de Administração e Ciências Contábeis da Universidade Federal de Juiz de Fora
jamfmg@gmail.com

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.

Palavras-chave: Aplicações móveis, Padrões de Projeto Software e App’s.

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.

Keywords: Mobile Application, Design Patterns and App 's.

1. INTRODUÇÃO

Atualmente as organizações modernas estão inseridas num contexto dinâmico, sob um


ambiente de mudanças constantes e assim se veem diretamente expostas à competitividade
mercadológica de alto nível, o que diretamente reflete em um cenário onde a disponibilidade e
a disseminação de informações em tempo real se mostram vitais. É inconcusso que na
atualidade, boa parte da sociedade precisa lidar com tarefas diárias cada vez mais complexas e
dinâmicas, o que indiretamente tende a impactar no alcance de alta produtividade profissional
e, consequentemente, tende a se refletir no desafio de atingir boas metas.

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.

O contexto de utilização de serviços móveis baseado na disponibilização de informação


em tempo real, possui algumas particularidades que as diferem de outras tecnologias. Estas
diferenças podem ser determinadas pela usabilidade, navegabilidade, desempenho e layout, o
que reflete diretamente em novos paradigmas para o mercado de tecnologia da informação.
Esta nova realidade tecnológica resulta diretamente em uma demanda de informações
disponíveis de novas solicitações e expectativas ao longo de todas as fases dos projetos de TI.

Assim, para que se possa elaborar um projeto e realizar serviços de qualidade, é


necessário não somente uma equipe técnica competente, mas a utilização de métodos, padrões
de projetos e processos que contemplem as melhores práticas para a gestão de projetos
voltados para aplicações móveis.

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

A elaboração deste trabalho baseou-se numa estratégia qualitativa de pesquisa, de


caráter exploratório, por meio de análise de referencial teórico, voltado para os principais
padrões de projetos de desenvolvimento de software. Este capítulo tem como intuito
descrever brevemente, os procedimentos metodológicos do tipo de pesquisa utilizado.
Segundo Minayo (2004):
[...] a pesquisa qualitativa tem em sua metodologia de investigação, como o caminho
do pensamento a ser seguido. Ocupa um lugar central na teoria e trata-se
basicamente do conjunto de técnicas a serem adotadas para construir uma realidade
(MINAYO, 2004, p. 16-18).

Deste modo, um trabalho focado na abordagem exploratória tende a envolver


levantamento bibliográfico e possui ainda a finalidade básica de desenvolver, “esclarecer e
modificar conceitos e ideias para a formulação de abordagens posteriores”. Dessa forma,
este tipo de estudo visa proporcionar maior conhecimento para o pesquisador acerca do
assunto em questão (GIL, 1999, p. 43).

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.

Dessa forma, mesmo quando o pesquisador já reúne algum conhecimento sobre o


assunto a pesquisa exploratória também é útil, pois, normalmente, para um mesmo fato ou
fenômeno no espaço organizacional, pode haver inúmeras explicações alternativas e sua
utilização permitirá ao pesquisador tomar conhecimento, se não de todas, pelo menos de
algumas delas.

3. REFERENCIAL TEÓRICO

3.1 Projetos de T.I.

Ao abordar um seleto referencial teórico direcionado ao tema gerenciamento de projetos


de T.I., tornam-se evidentes distintas perspectivas sobre como tais projetos devem ser
gerenciados e estas por sua vez são embasadas em alguns modelos citados nas entre linhas a
seguir. Deste modo, é perceptível que não basta abordar apenas a avaliação de pontos de vista
de diferentes autores, mas também, os múltiplos modelos propostos pelas principais
instituições relacionadas que atuam naquele campo do conhecimento, tais como: o PMI –
(Project Menagement Institute), o SEI (Software Engineering Institute), a ISO (International
Standarts Organization) e o RUP - (IBM Rational Unified Process).

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.”

De acordo com o PMBOK (2013), um projeto é um empreendimento temporário que


tem por escopo a criação de um produto ou serviço único, sendo certo que sua característica é
temporária, visto que possui início, meio e fim bem delineados. Além disso, respeitam
parâmetros de prazo, custo e qualidade. Complementando, “Projetos existem para viabilizar
um produto, serviço ou resultados que não havia antes” (HELDMAN, 2009, p. 89).
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
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.”

3.1.1 Gerenciamento de projetos em T.I.

De acordo com Araújo (2012), gerenciar um projeto significa, resumidamente, planejar


a sua execução antes de iniciá-lo e, posteriormente acompanhar a sua execução e controle.
Desta forma, algumas práticas gerenciais, quando bem aplicadas, contribuem para a melhoria
da qualidade da gerência de um projeto. Os processos de desenvolvimento atuais sugerem a
adoção de abordagens iterativas e incrementais.

Sob a análise de diferentes modelos, se pode inferir que o gerenciamento de projetos


constitui-se em uma tarefa de fundamental importância no processo de desenvolvimento de
software. É importante frisar que o gerenciamento de projeto, não é visto como uma etapa
clássica do processo de desenvolvimento, uma vez que o mesmo acompanha a todas as etapas
tradicionais como: Concepção, análise, projeto, desenvolvimento, testes e manutenção. Com a
utilização do gerenciamento de projetos, alguns benefícios podem ser alcançados,
minimizando o surgimento de surpresas indesejáveis durante a execução dos trabalhos,
antecipar situações desfavoráveis, desde que ações preventivas e corretivas sejam tomadas
antes que estas situações se tornem um problema para o projeto, disponibilizar os orçamentos
antes do início dos trabalhos, gerar documentação no intuito de facilitar estimativas para
futuros projetos, bem como outros benefícios. O PMBoK (2013) analisa o gerenciamento de
um projeto a partir destes três parâmetros:

• Divisão do projeto em fases, Ciclo de Vida;


• Em cada fase ocorrem processos;
• Em cada processo são executadas ações gerenciais que contemplam dez áreas
de conhecimento.

Um ciclo de vida é caracterizado por várias fases distintas, certamente dependendo do


tipo de projeto (construção e desenvolvimento de software, dentre outros), onde suas fases
possuem particularidades próprias. Em cada fase de um projeto são executados diversos
processos com o objetivo de produzir o resultado esperado daquela fase. Desta forma aquele
ciclo define o início e o fim do projeto e também qual trabalho técnico deve ser realizado em
cada fase e quem deve estar envolvido nelas. A transição de uma fase para outra ocorre
normalmente através de alguma forma de transferência técnica ou entrega. As entregas de
uma fase são revisadas para garantir que estejam completas e exatas, e aprovadas antes que o
trabalho seja iniciado na próxima fase. Mas pode acontecer que uma fase seja iniciada antes
da aprovação das entregas da fase anterior, e isto pode ocorrer quando os riscos envolvidos
são considerados aceitáveis. Ainda de acordo com o PMBoK (2013), os ciclos de vida de um
projeto geralmente definem:

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).

3.2 Processos da Gerência de Projetos

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:

Processo de Inicialização: é a fase inicial do projeto, onde o objetivo do projeto é


definido, bem como as melhores estratégias são identificadas e selecionadas;
Processo de Planejamento: é a fase responsável em detalhar e descrever tudo aquilo
que será realizado pelo projeto, incluindo a definição do escopo, estrutura analítica
do projeto, estimativas, análise de custos e outros; Processo de Execução: é a fase
onde se materializa tudo o que foi planejado na fase anterior. Qualquer erro
cometido anteriormente fica evidente durante essa fase; Processo de Monitoramento
& Controle: é a fase de acompanhamento e controle de tudo o que está sendo
realizado pelo projeto. Assim, pode-se garantir que seus objetivos sejam alcançados
através da monitoração e da mensuração de seu progresso, ao se tomar ações
corretivas e proativas sempre que houver necessidade; Processo de Encerramento: é
a fase onde a execução dos trabalhos é avaliada junto ao cliente ou patrocinador, e
ocorre seu encerramento de forma ordenada (PMBOK, 2013, p.15).

Desta forma este conjunto de processos associados entre si, podem ser visualizados de
maneira mais transparente na figura 1 abaixo:

Figura 1 - Grupos de processos de gerenciamento de projetos.


Fonte: Araújo, (2012, p. 3).

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.

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.

3.3.1 Desenvolvimento de aplicações móveis

Durante o processo de desenvolvimento de aplicações móveis, é natural o diálogo com


algumas “dificuldades” de desenvolvimento de software. No mundo web, por exemplo, a
diferença está basicamente nos navegadores, como Internet Explorer, Google Chrome e
Firefox, que trazem diferenças para apresentar os sistemas Web. Já o mundo mobile é muito
mais híbrido, com grande variedade de fabricantes de aparelhos, modelos e sistemas
operacionais, tornam os projetos do segmento móvel uma tarefa mais complexa do que as
aplicações convencionais. Tais projetos, apresentam novos paradigmas no desenvolvimento
de produtos de tecnologia da informação. Atualmente as plataformas que estão em evidência
no mercado pertencem a Google, Microsoft e Apple.

As boas práticas de desenvolvimento de software definem que a primeira etapa começa


pela análise de requisitos de negócios, a fim de definir a estratégia de desenvolvimento e
modelagem do produto. A fase de descoberta tem um importante papel no ciclo de vida geral
de desenvolvimento de aplicativos móveis, pois a mesma define as visões e estratégias para
dispositivos móveis analisando os desafios, objetivos e restrições relacionadas ao modelo em
questão.

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.

Desempenho: um aplicativo embarcado, ou seja, um aplicativo que roda de fato no


dispositivo tem melhor desempenho do que aquele aplicativo web, mesmo que em
versão mobile. A diferença é que no nativo, todas as imagens e textos estáticos já
estarão carregados no aparelho e o que trafega é apenas os dados que serão
populados, o que deixa o aplicativo mais rápido. E na versão web ao abrir qualquer
página, será obrigatório baixar todo o conteúdo que está sendo visualizado.

Usabilidade: diante de tanta incompatibilidade e limitações dos recursos dos


navegadores web é que uma versão nativa será mais proveitosa para o usuário, pois
considerando que ele já esteja acostumado com os recursos do seu aparelho, não terá
dificuldade em utilizar o aplicativo.

Segurança: Aplicativos nativos possuem recursos de segurança mais aprimorados do


que as versões web. Para quem usa e instala o aplicativo, as informações podem ser
criptografadas para envio e descriptografadas no cliente. Assim, seus sistemas não
ficam expostos para toda a Internet, apenas os clientes terão acesso aos serviços.
Recursos do aparelho: A tarefa para produzir aplicativos compatíveis com os
modelos mais modernos é o maior desafio dos desenvolvedores, pois a cada dia os
recursos tecnológicos equipam os aparelhos com câmeras e filmadoras poderosas,
GPS, dentre outros (NEIL, 2012, p. 91).

3.4 Padrões de Projetos para Aplicações Móveis

Desenvolvedores de software, frequentemente, deparam-se com problemas que já


foram resolvidos em projetos anteriores. Porém, a falta da catalogação de soluções de projeto
faz com que não saibam onde e como resolveram tal problema. Deste modo, no intuito de
minimizar dificuldades encontradas em projetos de software surgem os padrões de projeto
(design patterns), aos projetistas de software como amparo na resolução de problemas
baseados em soluções funcionais de projetos anteriores.

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).

A proposta da adoção de padrões de projeto, conhecida também por “design patterns


teve início com “Cristopher Alexander, um professor de arquitetura em Berkeley” que
desenvolveu uma técnica de solução de problemas relacionados à engenharia civil,
(FREEMAN, 2009, p. 92). Assim, os Os design patterns são ferramentas eficientes neste
processo.

A força crescente no desenvolvimento de aplicações móveis e a competição no mercado


refletiram à necessidade do aumento de qualidade, manutenibilidade e clareza do código
desenvolvido. Dessa forma fica a percepção de que a adoção de padrões de projeto para o
desenvolvimento de aplicativos móveis é de suma importância. De acordo com (Freeman,
2009, p. 444), no que diz respeito aos padrões recomendados para aplicações móveis o (Gang
of Four ou GoF) é divido, ainda na visão daquele autor, em três categorias distintas com base
na sua finalidade tais como: criacionais, estruturais e comportamentais”, conforme quadros de
1 a 4 expressos a seguir:

Quadro 1 - Categoria dos Padrões de Projeto (GOF).

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)

Quadro2 - Padrões Projetos Criacionais.

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)

Quadro 4 – Padrões Projetos Comportamentais.

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)

Diante a ascensão do mercado de dispositivos móveis, associado a necessidade de


desenvolver aplicativos de qualidade para essas plataformas, recomenda se no
desenvolvimento das respectivas aplicações, o uso de padrões de projetos para interfaces
gráficas. Estes padrões são definidos como um conjunto de práticas amplamente aplicados no
segmento, que por sua vez tem como objetivo principal aprimorar a experiência do usuário.

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:

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.

Fonte: Neil (2012, p. 51)

• Carrossel de páginas: Caracteriza-se pelo gesto de arrastar os dedos para


navegar rapidamente em um conjunto de páginas.
• Carrossel de imagens: Caracteriza-se pelo uso em dimensões 2D ou coverflow
(uma interface tridimensional para navegação em biblioteca).
• Lista expandida: Caracteriza-se pela permissão de que em uma única tela seja
acessada para revelar mais informações (NEIL, 2012, p. 51).

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.

Nestes termos, fica a percepção final de que a aquisição do conhecimento necessário


sobre estes padrões, e a sua consequente aplicabilidade, são ações que tendem a contribuir
como elementos facilitadores em basicamente, todas as etapas do processo de
desenvolvimento e paralelamente, tende ainda a contribuir, em alguma medida, para com a
minimização de esforços por parte dos respectivos desenvolvedores. Entretanto, por se tratar
de um campo de 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

ARAÚJO, M. A. Gerenciamento de Mudanças em Projetos de TI. Disponível em:


http://www.devmedia.com.br/artigo-engenharia-de-software-14-gerenciamento-de-mudancas-
em-projetos-de-ti/132522. Acesso em: 07 ago. 2015.

FREEMAN, E.; FREEMAN, E. Use a Cabeça Padrões e Projetos. 2°. ed. Rio De Janeiro: Alta
Books, 2009.

GIL, A C. Métodos e técnicas de pesquisa social. São Paulo: Atlas, 1999.

HELDMAN, K. Gerência de Projetos. 5.ed. Rio de Janeiro: Elsevier, 2009.

LEE, V.; SCHNEIDER, H.; SCHELL R. Aplicações Móveis: Arquitetura, Projeto e


Desenvolvimento. 1°. ed. São Paulo: Pearson, 2005.

MCWHERTER, J.; GOWELL S. Professional Mobile Application Development. 1°. ed.


Indianapolis: Wiley, 2012.

MINAYO, M. C. S. Pesquisa Social: teoria, método e criatividade. Petrópolis. Rio de Janeiro:


Vozes, 2004.

MORIMOTO, C. E. Smartphones Guia Prático. l°.ed. Sul Editores, 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.

PAULA FILHO, W. P. Engenharia de Software. Rio de Janeiro: LTC, 2003.

PMI-PMBOK. Um guia do conhecimento e gerenciamento do projeto. 5°. ed., 2013.

PRESSMAN, R. S. Engenharia de Software. São Paulo: 4°.Makron Books, 2004.

ZANDTRA, M. Objetos PHP, Padrões e Prática. 2. ed. Rio de Janeiro: Alta Books, 2009.