Você está na página 1de 12

PROJETOS PARA O DESENVOLVIMENTO DE APLICATIVOS

VOLTADOS ÀS FUNCIONALIDADES DE DISPOSITIVOS MÓVEIS:


UM BREVE RECORTE.

MEDEIROS, Janio Alberto


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

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

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.

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

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

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 nove á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:

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

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

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

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

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:

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.

Fonte: Neil (2012, p. 51)


10
• 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

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

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.

12

Você também pode gostar