0
ANDERSON CORRÊA DA SILVA
FERNANDA MUNHOZ DA ROCHA LEMOS DA COSTA
LUIZ GUSTAVO NUNES
STEFHANY ALINE ZGODA
GARUPANDO – APLICATIVO DE COMPARTILHAMENTO DE CARONAS
PARA WINDOWS PHONE
CURITIBA
2012
1
ANDERSON CORRÊA DA SILVA
FERNANDA MUNHOZ DA ROCHA LEMOS DA COSTA
LUIZ GUSTAVO NUNES
STEFHANY ALINE ZGODA
GARUPANDO – APLICATIVO DE COMPARTILHAMENTO DE CARONAS
PARA WINDOWS PHONE
Trabalho apresentado ao Programa de
Aplicação Profissional do Curso de
Análise e Desenvolvimento de Sistemas,
Centro Tecnológico da Universidade
Positivo,
como
requisito
para
a
conclusão do curso.
Orientador: Juliana Jenny Kolb
Coordenador: Nélio Kubo
CURITIBA
2012
2
TERMO DE ANUÊNCIA
Pelo presente Termo de Anuência, declaro estar de pleno acordo com
as informações contidas neste projeto, o qual se apresenta apto a ser entregue
à banca examinadora.
Orientador:
Profª. Juliana Jenny Kolb
Centro Tecnológico – Universidade Positivo
______________________________________
Assinatura do Orientador
Curitiba
2012
3
TERMO DE APROVAÇÃO
ANDERSON CORRÊA DA SILVA
FERNANDA MUNHOZ DA ROCHA LEMOS DA COSTA
LUIZ GUSTAVO NUNES
STEFHANY ALINE ZGODA
GARUPANDO – APLICATIVO DE COMPARTILHAMENTO DE CARONAS
PARA WINDOWS PHONE
Projeto de Inovação Tecnológica apresentado ao Programa de Aplicação
Profissional, do Curso de Tecnologia em Análise e Desenvolvimento de
Sistemas, do Centro Tecnológico da Universidade Positivo, pela seguinte
banca examinadora:
Orientador:
Profª. Juliana Jenny Kolb
Centro Tecnológico – Universidade Positivo
Marcos Aurélio de Abreu Rodrigues e Silva
Employer
Curitiba
2012
4
"... uma mente necessita de livros da mesma
forma que uma espada necessita de uma
pedra de amolar se quisermos mantê-la
afiada..." TyrionLannister - As Crônicas de
Gelo e Fogo - A Guerra dos Tronos
5
RESUMO
Este documento apresenta o aplicativo de compartilhamento de caronas
para Windows Phone Garupando. O objetivo do projeto consiste em prover
uma alternativa de transporte para pessoas que compartilhem rotas em
comum, de forma a contribuir para a redução dos congestionamentos e da
poluição, que é um dos principais problemas enfrentados atualmente pela
humanidade.
6
ABSTRACT
The present document brings thecarpooling applicationforWindows
PhoneGarupando. The project goalis toprovide analternativetransportation
forpeople who sharecommonroutesin order tohelp reducingcongestionand
pollution, which isone of the mainproblemscurrently facedby humanity
7
SUMÁRIO
1.
INTRODUÇÃO .......................................................................................... 14
2.
FUNDAMENTAÇÃO TEÓRICA................................................................. 16
2.1.
Nicho de Mercado ............................................................................... 16
2.1.1
Mobilidade .................................................................................... 16
2.1.2
Sustentabilidade ........................................................................... 17
2.1.3
Carona Solidária ........................................................................... 19
2.1.4
Smartphones ................................................................................ 20
2.2.
Gerenciamento de Projetos................................................................. 22
2.2.1
2.3.
PMBOK ......................................................................................... 24
Modelagem de sistemas de software .................................................. 25
2.3.1
Princípios da Modelagem ............................................................. 26
2.3.2
A Linguagem de Modelagem Unificada (UML) ............................. 27
2.4.
2.3.2.1
Modelagem de Casos de Uso ................................................ 28
2.3.2.2
Casos de Uso ......................................................................... 29
2.3.2.3
Diagramas de Casos de Uso ................................................. 30
2.3.2.4
Diagrama de Classes ............................................................. 32
Tecnologias Utilizadas ........................................................................ 33
2.4.1.
Microsoft Visual Studio ................................................................. 33
2.4.2.
C Sharp ........................................................................................ 33
2.4.3.
Windows Phone ............................................................................ 35
2.4.4.
Microsoft Expression Blend .......................................................... 36
2.4.5.
Silverlight ...................................................................................... 36
2.4.6.
XAML ............................................................................................ 37
2.4.7.
Bing Maps ..................................................................................... 38
2.4.8.
SQL Server ................................................................................... 39
8
2.4.9.
3.
ORGANIZAÇÃO-CLIENTE ....................................................................... 41
3.1.
4.
Windows Communication Foundation .......................................... 40
Histórico .............................................................................................. 41
DIAGNÓSTICO DO AMBIENTE ............................................................... 42
4.1
Pesquisa de aceitação da Carona Solidária........................................ 42
4.2
Caracterização da amostra ................................................................. 43
5.
OBJETIVOS .............................................................................................. 47
6.
DESENVOLVIMENTO .............................................................................. 48
7.
CONSIDERAÇÕES FINAIS ...................................................................... 50
8.
REFERÊNCIAS BIBLIOGRÁFICAS .......................................................... 51
9.
APÊNDICES ............................................................................................. 59
9.1
Apêndice A – Gerenciamento do Projeto ............................................ 59
9.1.1
9.2
Termo de Abertura do Projeto ...................................................... 59
9.1.1.1
Justificativa............................................................................. 59
9.1.1.2
Visão Geral do Escopo .......................................................... 60
9.1.1.3
Restrições .............................................................................. 60
9.1.1.4
Premissas .............................................................................. 60
Apêndice B - Plano de Gerenciamento do escopo .............................. 61
9.2.1
Descrição Detalhada do Produto .................................................. 61
9.2.2
Escopo não Contemplado ............................................................ 62
9.2.3
EAP / WBS ................................................................................... 62
9.2.4
Dicionário EAP / WBS .................................................................. 66
9.3
Apêndice C – Gerenciamento do tempo ............................................. 67
9.3.1
Cronograma .................................................................................. 70
9.3.2
Durações das Atividades .............................................................. 74
9.4
Apêndice D - Gerenciamento da qualidade......................................... 75
9.5
Apêndice E - Gerenciamento da comunicação ................................... 77
9
9.6
Apêndice F – Especificação dos Requisitos do Projeto ...................... 80
9.7
Apêndice G – Modelagem ................................................................... 84
9.7.1
Cadastrar usuário ......................................................................... 84
9.7.2
Recuperar Senha.......................................................................... 94
9.7.3
Acessar Sistema ......................................................................... 102
9.7.4
Configurar Conta ........................................................................ 109
9.7.5
Gerenciar Rotas.......................................................................... 119
9.7.6
Consultar Rotas .......................................................................... 131
9.7.7
Gerenciar Mensagens ................................................................ 138
9.8
Apêndice H – Modelo Físico de Dados ............................................. 148
9.9
Apêndice I – Documento de Diagrama de classe ............................. 149
9.10
Apêndice J – Documento de Arquitetura........................................ 150
9.10.1
Objetivo ................................................................................... 150
9.10.2
Escopo .................................................................................... 150
9.10.3
Representação da Arquitetura ................................................. 150
9.10.4
Princípios e Restrições da Arquitetura .................................... 151
9.10.5
Visão Lógica ............................................................................ 151
9.10.6
Visão Física ............................................................................. 152
9.10.7
Mecanismos arquiteturais........................................................ 153
9.10.8
Tecnologias utilizadas ............................................................. 153
9.10.9
Elementos do Sistema............................................................. 153
9.10.10
Performance ............................................................................ 154
9.11
Apêndice K – Questionário Carona Solidaria ................................. 155
10
ÍNDICE DE IMAGENS
Figura I - Diagrama de Rede ............................................................................ 70
Figura II - Estrutura Analítica dos Recursos ..................................................... 74
Figura III - Diagrama de caso de uso Cadastrar Usuário ................................. 89
Figura IV - Protótipo Cadastro de usuário ........................................................ 90
Figura V - Diagrama de caso de uso Recuperar Senha .................................. 99
Figura VI - Protótipo Recuperar Senha ........................................................... 99
Figura VII - Diagrama de caso de uso Acessar Sistema ................................ 106
Figura VIII – Protótipo Acessar Sistema ......................................................... 107
Figura IX – Diagrama caso de uso Configurar Conta ..................................... 114
Figura X – Protótipo Configurar Conta ........................................................... 115
Figura XI – Diagrama de caso de uso Gerenciar Rotas ................................. 127
Figura XII – Protótipo Gerenciar Rotas .......................................................... 128
Figura XIII – Diagrama de caso de uso Consultar Rotas ............................... 135
Figura XIV - Protótipo Consultar Rotas .......................................................... 136
Figura XV – Diagrama de caso de uso Gerenciar Mensagem ....................... 144
Figura XVI - Protótipo Gerenciar Mensagem caixa de entrada ...................... 145
Figura XVII - Protótipo Gerenciar Mensagem caixa de entrada ..................... 146
Figura XVIII - Visão do modelo Físico de dados ............................................ 148
Figura XIX - Visão do Diagrama de Classe .................................................... 149
Figura XX Arquitetura do Aplicativo na visão do Smartphone ........................ 150
11
Figura XXI - Arquitetura do Aplicativo na visão do Web Server/Banco de Dados
....................................................................................................................... 151
Figura XXII - Visão Lógica do Aplicativo ........................................................ 152
Figura XXIII - Visão Física do Aplicativo ........................................................ 152
12
ÍNDICE DE TABELAS
Tabela I -- Características da amostra ............................................................. 43
Tabela II - Aspectos relacionados à carona solidária ...................................... 44
Tabela III - Informações consideradas importantes na busca por caronas ...... 45
Tabela IV - Critérios de aprovação ................................................................... 66
Tabela V - Lista de Atividades .......................................................................... 67
Tabela VI - Lista de atributos das atividades .................................................... 68
Tabela VII - Lista de Marcos............................................................................. 69
Tabela VIII - Recursos das Atividades ............................................................. 70
Tabela IX - Requisitos e Garantia da Qualidade .............................................. 75
Tabela X - Identificação das Partes Interessadas e Estratégia de Comunicação
......................................................................................................................... 77
Tabela XI - Plano de Comunicação .................................................................. 79
Tabela XII - Característica de Qualidade – Funcionalidade ............................. 80
Tabela XIII - Característica de Qualidade – Usabilidade ................................. 81
Tabela XIV - Característica de Qualidade – Confiabilidade ............................. 82
Tabela XV - Característica de Qualidade – Eficiência ...................................... 82
Tabela XVI - Característica de Qualidade – Portabilidade ............................... 83
Tabela XVII - Característica de Qualidade – Manutenibilidade ....................... 83
Tabela XVIII - Mapa de testes Cadastro de usuário ......................................... 90
Tabela XIX - Campos do formulário cadastro de usuário ................................. 92
Tabela XX - Mapa de testes Recuperar Senha .............................................. 100
13
Tabela XXI - Campos do formulário Recuperar Senha .................................. 100
Tabela XXII - Mapa de testes Acessar Sistema ............................................. 107
Tabela XXIII - Campos do formulário Acessar Sistema ................................. 108
Tabela XXIV - Mapa de testes Configurar Conta ........................................... 115
Tabela XXV- Campos do formulário Configurar Conta ................................... 117
Tabela XXVI - Mapa de testes Gerenciar Rotas............................................. 128
Tabela XXVII - Campos do formulário Gerenciar Rotas ................................. 129
Tabela XXVIII - Mapa de testes Consultar Rotas ........................................... 136
Tabela XXIX - Campos do formulário Consultar Rotas .................................. 137
Tabela XXX - Mapa de testes Gerenciar Mensagem ..................................... 146
Tabela XXXI - Campos do formulário Gerenciar Mensagem.......................... 147
14
1. INTRODUÇÃO
Ao longo das últimas três décadas, os temas “crescimento econômico” e
“sustentabilidade ambiental” têm sidoconstantemente debatidos no mundo
inteiro.A
sociedade
presencia
o
fortalecimento
econômico
global,
principalmente por parte dos países emergentes. Embora a preocupação com o
impacto no meio ambiente tenha crescido junto com a economia mundial,
pouco tem sido feito pelos governantes: as campanhas educativas sobre
preservação ambiental são pífias, o investimento no transporte público não
atinge um nível desejado que possibilite conforto e rapidez aos usuários e as
indústrias automobilísticas, além de não investirem maciçamente em fontes de
energia menos poluentes, utilizam sua imensa mão-de-obra como refém nas
negociações com os governos com o intuito de reduzir impostos e maximizar
os lucros.
Ainda em relação ao crescimento econômico global, não se pode deixar
de citar como um de seus resultados o crescimento tecnológico na área de
informação que permitiu, a um baixo custo, a utilização de computadores
pessoais,
telefones
celulares
e,
principalmente,
a
revolução
na
interconectividade entre pessoas do mundo inteiro através da Internet.
A adoção de práticas não sustentáveis está diretamente relacionada aos
graves desequilíbrios ambientais que o Planeta Terra está sofrendo. Dessa
forma, a população mundial deve se conscientizar de que, para termos um
futuro melhor, será necessário quebrar paradigmas sociais e mudar os hábitos
de consumo das pessoas.
Para compensar e regular esse consumo excessivo surgiu a TI Verde,
que visa promover a utilização dos recursos computacionais de forma
consciente, proporcionando a preservação ambiental e a redução dos gastos
na infraestrutura da Tecnologia da Informação (TI) (ROLT et al., 2010).
Baseando-se nessas premissas, os próprios softwares poderiam contribuir de
outras formas além das citadas acima, para ajudar a preservação do meio
ambiente.
15
Dessa forma, este trabalho tem como objetivo prover uma solução
tecnológica que possibilite a minimização dos impactos causados pelos
automóveis no meio ambiente. Essa solução consiste no desenvolvimento de
um aplicativo para smartphone1 que contribua com a diminuição no número de
carros no trânsito através do processo de “Carona Solidária”.
1
Smartphones – também conhecidos como telefones inteligentes. São celulares com
funcionalidades avançadas que podem ser estendidas por meio de programas executados no
seu Sistema Operacional.
16
2. FUNDAMENTAÇÃO TEÓRICA
2.1.
Nicho de Mercado
2.1.1 Mobilidade
O
planeta Terra
vem
passando
por
constantes
e
aceleradas
transformações, as quais têm afetado significativamente o meio ambiente nos
aspectos físico, biológico, político e social, impactando negativamente a
qualidade de vida das pessoas (OLIVEIRA, 2009).
Muitos pesquisadores afirmam que o aquecimento global está ocorrendo
em função do aumento da emissão de gases poluentes, principalmente
derivados da queima de combustíveis fósseis (gasolina, diesel, etc.) na
atmosfera. Estes gases (ozônio, dióxido de carbono, metano, óxido nitroso e
monóxido de carbono) formam uma camada de poluentes de difícil dispersão,
causando o efeito estufa e toda a degradação ambiental associada a ele
(SILVA, 2009).
O setor de transporte é atualmente um dos principais responsáveis pelo
lançamento de gases na atmosfera, respondendo por cerca de 20% das
emissões globais de CO2. Já no Brasil, segundo informações do Ministério da
Ciência e Tecnologia (MCT), o setor de transporte é responsável por cerca de
9% das emissões totais desse gás (CARVALHO, 2011).
O crescimento desenfreado da frota de veículos trouxe à tona vários
problemas ligados ao tráfego, como congestionamentos, crescimento no
índicede
acidentes
de
trânsito,
poluição
atmosférica,
problemas
de
estacionamento, desumanização das cidades com consequente impacto na
qualidade de vida, dentre outros (FERREIRA, RIBEIRO e BARBOSA, 2012).
Sob esta ótica, Curitiba é a capital brasileira com o maior índice de
motorização, apresentando o índice de um veículo para cada 1,58 habitante
(REZENDE et al., 2011).
Outro fator agravante reside no fato de que as pessoas não têm a
percepção e a consciência do uso compartilhado e eficiente dos veículos, uma
vez que a maioria deles é conduzido apenas pelo motorista.Segundo estudo
realizado por Carvalho (2011), o transporte individual responde por cerca de
17
35% das viagens motorizadas, e é responsável em média por quase 60% das
emissões de dióxido de carbono nos centros urbanos brasileiros.
Uma das principais questões do urbanismo atual está centrada na
garantia da mobilidade nos centros urbanos, uma vez que a infraestrutura
existente não tem capacidade de absorver, com qualidade, o fluxo de veículos
proporcionalmente ao seu crescimento (ROCHA, 2007).
Em decorrência disso, cada vez mais tem se buscado medidas para
minimizar os problemas ligados a esse crescimento acelerado da frota.
Atualmente, algumas grandes metrópoles estão desincentivando o transporte
motorizado individual, e inclusive, proibindo a circulação em áreas específicas.
Essas estratégias, que tem como objetivo estruturar um sistema equilibrado
social, econômico e ambientalmente estão, em geral, vinculadas ao conceito de
Gerenciamento da Mobilidade (KUWAHARA; BALASSIANO; SANTOS, 2012).
O Gerenciamento da Mobilidade é uma técnica de planejamento de
transportes que, dentre outros aspectos, busca estratégias para promover a
redução dos impactos ao meio ambiente gerados pelos sistemas de transporte.
Esta técnica engloba uma série de medidas que buscam modificar a forma de
pensar, agir, trabalhar e locomover-se das pessoas, conscientizando-as da
importância do uso de meios mais sustentáveis de transporte, e ajudando a
tornar o sistema de transportes existente mais eficaz (FERREIRA; RIBEIRO;
BARBOSA, 2012).
Dentre as várias estratégias de Gerenciamento da Mobilidade citam-se:
mudança do hábito de viagens, restrição ao uso do automóvel, sistema de
rodízio, incentivo e priorização dos meios não motorizados e de transporte de
massa em detrimento ao uso do transporte individual, incentivo ao
compartilhamento do automóvel (Carpooling), Clube do carro (Carsharing),
entre outros como forma de reduzir os impactos ambientais ocasionados pelos
veículos automotores(FERREIRA; RIBEIRO; BARBOSA, 2012; KUWAHARA;
BALASSIANO; SANTOS, 2012).
2.1.2 Sustentabilidade
18
Frente à necessidade de estratégias globais para o desenvolvimento de
um mundo sustentável, este trabalho analisa a necessidade de mudança dos
paradigmas do deslocamento humano, tendo como foco de análise a
perspectiva das pessoas em detrimento à dos veículos, orientando-se pelos
princípios da qualidade de vida e da sustentabilidade (OLIVEIRA, M. F. S.;
OLIVEIRA, O. J. R.; OLIVEIRA, J.F. S., 2010).
O conceito de sustentabilidade consiste em atender às necessidades do
presente sem comprometer, ao mesmo tempo, os interesses das gerações
futuras. Na problemática da sustentabilidade, a prosperidade econômica, o
desenvolvimento humano e social e a preservação do meio ambiente possuem
o mesmo grau de importância (FILETO, 2009).
A obtenção da sustentabilidade global sofre a ação de diversos entraves:
culturais, científicos, político-econômicos, sociais, éticos, ideológicos e
psicológicos. Contudo, acredita-se firmemente que os cidadãos podem
modificar os seus hábitos de vida e de consumo e, dessa forma, atuar como os
atores principais da mudança de paradigma da mobilidade sustentável
(FILETO, 2009).
Neste contexto, para que a questão da mobilidade se torne sustentável,
é necessário que os problemas sejam abordados de forma mais ampla,
incluindo não apenas a gestão, o desenvolvimento e a adoção de inovações
tecnológicas, mas também promovendo mudanças quanto ao comportamento
da sociedade, de forma a promover o crescimento da consciência ambiental
(SILVA et al., 2003).
Os consumidores têm um enorme potencial para impulsionar a redução
das emissões de CO2 através de suas atitudes no dia-a-dia, como suas
decisões sobre aquecimento e iluminação em casa, a escolha dos aparelhos
elétricos e suas opções de transporte (FILETO, 2009). O sentido de
pertencimento a uma comunidade e o senso de responsabilidade sobre os
destinos da sociedade são fundamentais para que os indivíduos abdiquem do
seu conforto particular em prol do bem-estar social (OLIVEIRA, M. F. S.;
OLIVEIRA, O. J. R.; OLIVEIRA, J.F. S., 2010).
A redução do uso do automóvel estimula a co-responsabilidade social na
preservação do meio ambiente, chamando a atenção das pessoas sobre as
consequências relacionadas à poluição do ar (JACOBI, 2003). Dessa forma, a
19
realização de campanhas de divulgação e conscientização, voltadas aos
proprietários
de
veículos,
para
adesão
a
algumas
alternativas
são
extremamente importantes (KUWAHARA; BALASSIANO; SANTOS, 2012).
Como o automóvel é o meio de transporte mais utilizado, se houver uma
melhora na utilização desse meio, o impacto final será de extrema relevância
(SANTOS; SILVA, 2009).
2.1.3 Carona Solidária
Uma das estratégias utilizadas para reduzir os impactos ambientais
causados pelos automóveis e os congestionamentos é o incentivo ao uso
compartilhado dos mesmos, conhecido como Carpooling, e traduzido para o
português como Carona Solidária.
A carona solidária pode ser definida como a realização de uma viagem
com pelo menos duas pessoas compartilhando um automóvel pertencente a
um desses ocupantes, sendo que ambos são considerados praticantes da
carona solidária (FERREIRA; RIBEIRO; BARBOSA, 2012). Em geral, todos os
participantes são proprietários de um automóvel e alternam seu uso,
economizando assim com as despesas de viagem e contribuindo para reduzir
os fatores citados anteriormente (EPC, 2011).
O estabelecimento de uma carona envolve encontrar pessoas com
horários e rotas semelhantes. Os participantes devem estar prontos no horário
e lugar combinados com a pessoa que está oferecendo a carona, requerendo
dessa forma um acordo mútuo de confiança (MINETT; PEARCE, 2009,
tradução nossa). O sistema de caronas é frequentemente utilizado para
viagens ao trabalho, instituições de ensino superior e escolas, uma vez que há
muitas pessoas viajando ao mesmo tempo para o mesmo local. A carona é
flexível e pode ser usada para uma única viagem ou para viagens regulares.
Este programa de Carona Solidária é utilizado há muitos anos, com
bastante sucesso, em vários países como: França, Alemanha, Inglaterra,
Canadá e Estados Unidos. Na França, por exemplo, um site com mais de 200
mil pessoas inscritas realizou uma pesquisa com seus usuários que relataram
como vantagens das caronas a economia nos gastos com pedágio e com
20
gasolina e o prazer em conhecer outras pessoas e fazer novos amigos
(OLIVEIRA, 2009).
Além das vantagens citadas pelos usuários, a carona solidária também
promove redução na demandapor estacionamento, dos congestionamentos e
da poluição do ar, melhorando dessa forma o bem-estar social e reduzindo o
impacto ambiental. Também é possível destacar osbenefíciossociaisa partir de
umaperspectiva comportamental, como mudançasnos hábitosculturais e sociais
e na mentalidade das pessoas (GALIZZI, 2004, tradução nossa).
A eficiência da carona solidáriaestá condicionada à adoção de medidas
que incentivem sua prática, uma vez que ela traz desvantagens como a perda
da privacidade e disponibilidade, insegurança, perda da independência e a
dificuldade de coordenação de viagens de pessoas diferentes (FERREIRA;
RIBEIRO; BARBOSA, 2012).
Com base nessas informações, percebe-se que osucesso deste
programadepende de um conjunto de medidas, como o apoio das pessoas e
das instituições, a realização de campanhas educativas e informativas para que
a população possa conhecer e usufruir desta facilidade e assim melhorar sua
mobilidade (DEWAN; AHMAD, 2007). Outra formade aumentar a adesão ao
sistema de caronas consiste na oferta de benefícios ou incentivos aos
participantes, comopor exemplo, uma faixa destinadapara o tráfego de
veículosde alta ocupação (pelo menos dois ocupantes) e espaçospreferenciais
de estacionamento(FERREIRA; RIBEIRO; BARBOSA, 2012).
2.1.4 Smartphones
A tecnologia móvel está se tornando cada vez mais presente no
cotidiano da população envolvendo todas as classes sociais. A presença dos
dispositivos móveis está revolucionando a vida das pessoas à medida que
esses ficam mais acessíveis e oferecem mais serviços. Nesse sentido, o termo
computação móvelé frequentemente empregado no sentido genérico de
descrever a habilidade de utilizar tecnologia apropriada para obter conexão
sem fio e usufruir de informação e/ou software de aplicação centralmente
21
encontrado através de aplicações pequenas, portáteis, e dispositivos de
computação e comunicação sem fio (KLIEMANN, 2006).
O Brasil está deixando de ser o país do telefone celular para ganhar o
status de nação dos smartphonestabela. Essa constatação provém de uma
pesquisa conduzida pela IHS iSuppli, a qual revelou que a venda de
smartphones deve ultrapassar a dos celulares “normais” em 2013. Estima-se
que os chamados “celulares inteligentes” representarão 54% da venda total de
aparelhos móveis no ano que vem. Atualmente eles representam 46% do total
de vendas de celulares móveis(VENDA, 2012).
Segundo pesquisa realizada pela Nielsen acerca do mercado de
dispositivos móveis as vendas de smartphones no Brasil em 2011 registraram
um crescimento de 179% em relação ao ano anterior. Ainda de acordo com a
Nielsen, foi a queda de 33% no preço médio do celular inteligente em
comparação a 2010, que contribuiu para o crescimento nas vendas (VENDAS,
2012).
Os resultados de uma pesquisa realizada pelo IDC mostraram que nos
próximos quatro anos o Windows Phone pode superar o mercado do iOS e se
tornar o segundo sistema operacional móvel mais usado do mundo. Dos 5,2%
atuais, o Sistema Operacional da Microsoft deverá ter um aumento de 14% até
2016, enquanto o iOS terá uma perda de 1,5%, ficando com 19% do mercado.
No primeiro lugar está o Android que atualmente detém 61% do mercado de
telefonia móvel e deve ficar com 52,9% daqui a quatro anos. No geral, o IDC
estima que o mercado global de telefones móveis cresça 4% ao longo dos
próximos quatro anos e que, neste ano, 1,8 bilhões de smartphones sejam
enviados ao mercado (PESQUISA, 2012).
No
Brasil,
o
panorama
é
um
pouco
diferente.
A
empresa
KantarWorldpanel Com Tech divulgou os dados de uma pesquisa, que analisou
o mês de agosto de 2012, sobre a utilização de smartphones em diversos
países do mundo. Os resultados indicam que a base de usuários brasileiros
usando a plataforma do Google corresponde a 46.8% do mercado, já o iOS2 é
apenas o quarto colocado, com 7,5% de participação, atrás do Windows Phone
com quase 15% e até do Nokia Symbian3(22% dos aparelhos).A tendência,
2
3
IOS - Sistema operacionalmóvel da Apple Inc. desenvolvido originalmente para o iPhone.
Symbian - Sistema operacional móvel (OS) e plataforma de computação, projetado para smartphones.
22
com o passar do tempo, é que a participação do Symbian caia em desuso e
iOS e Windows Phone fiquem como principais concorrentes do Android4 na luta
pelo topo deste mercado, que não para de crescer (ANDROID, 2012).
O sistema operacional da Microsoft para smartphones, o Windows
Phone chegou para competir com iPhones e Androids, já estabelecidos no
mercado há algum tempo. A interface da plataforma da Microsoft é mais
intuitiva e é diferente dos demais smartphones. A maior diferença entre essas
plataformas está relacionada a uma das principais características dos
smartphones: a quantidade e qualidade dos aplicativos disponíveis para cada
plataforma(PRADO, 2012).
Com mais de 600 mil aplicativos disponíveis, a AppStore, da Apple, está
à frente de suas concorrentes. O Google Play, substituto do Android Market,
oferece algo em torno de 500 mil aplicativos. Já o MarketPlace do Windows
Phone ainda está no começo, mas já conta com 120 mil aplicativos disponíveis
para download (MACHADO, 2012).
Um blog americano realizou uma pesquisa para comparar a venda de
um software (Mortal Kombattáticas) que existe tanto para Windows Phone 7
como paraAndroid, sendo que em ambas as plataformas o aplicativo
demonstra as mesmas funções. A pesquisa durou 5 dias e a versão para o
Windows Phone obteve um total de 12.331 avaliações e uma receita de U$
14,77. Os resultados mostraram que no 1° dia a versão para o Windows Phone
já havia superado os resultados do Android, que em 5 dias obteve um total de
3.684 avaliações e uma receita total de U$ 1,27 (PROGRAMAR, 2011).
De acordo com essas informações, fica evidente que o mercado de
aplicativos para o Windows Phone está em franca expansão.
2.2.
Gerenciamento de Projetos
A humanidade vem enfrentando inúmeras mudanças ambientais e
quebras de paradigmas, os quais possibilitam o desenvolvimento de projetos
motivados pelo intenso movimento de globalização do mundo dos negócios. A
ciência acerca dessas transformações possibilita a condução de diversos
4
Android - Sistema operacional baseado no núcleo Linux para dispositivos móveis.
23
conjuntos de atividades que devem ser tratados como projetos, por suas
características inovadoras e necessidades de integração (MENEZES, 2009).
O desenvolvimento de produtos ou soluções novas demanda um
planejamento orientado na criação, no desenvolvimento e em todas as fases
intermediárias de validação do projeto, pois facilita o controle no lançamento
desses produtos (MENEZES, 2009).
Um projeto corresponde a um empreendimento único que apresenta
objetivo bem definido, uma sequência clara e lógica de eventos, com início,
meio e fim, sendo conduzido por pessoas e respeitando os parâmetros
predefinidos de tempo, custo e qualidade (BRUZZI, 2002). Dessa forma, a
gestão de projetos pode ser definida como o planejamento, a programação e o
controle de uma série de tarefas integradas para atingir seus objetivos com
êxito (KERZNER, 2006). Além disso, o gerenciamento de projetos consiste na
aplicação de conhecimento, habilidades, ferramentas, e técnicas às atividades
do projeto de forma a atender seus requisitos (PMI, 2008).
Segundo Sommerville (2007), um bom gerenciamento não é suficiente
para garantir o sucesso de um projeto. No entanto, um mau gerenciamento
geralmente resulta em falha do projeto: entrega fora do prazo, custo maior do
que o estimado e falha no atendimento aos requisitos.
O controle e gerenciamento de um projeto estão baseados em três
fatores básicos: escopo, tempo e custo, comumente conhecidos como
“Restrição Tripla”. Eles constituem o foco do gerenciamento de projetos,
concentrando toda energia e atenção do Gerente do Projeto (POSSI, 2004).
Esses três parâmetros estão fortemente relacionados, de forma que se ocorrer
uma mudança em um deles, provavelmente irá afetar os demais (PMI, 2008).
O conhecimento das variáveis que influenciam o projeto, além dos
parâmetros citados acima, também é importante. Como exemplo desses
parâmetros pode-se citar a cultura local e os padrões de comportamento da
população, os quais podem igualmente influenciar o projeto (MENEZES, 2009).
Para que o gerenciamento de projetos seja eficiente, os mesmos devem
ser segmentados em fases, constituindo o ciclo de vida do projeto. Esse ciclo
inclui os principais passos do projeto, funcionando como uma ferramenta de
apoio para definir o começo e o término do mesmo, através da definição de
24
fases, cujos subprodutos são avaliados de forma a determinar a continuidade
ou não de um projeto (POSSI, 2004).
O plano de gerenciamento do projeto é considerado iterativo devido ao
potencial de mudança do mesmo. Ele passa por uma elaboração progressiva
no decorrer do ciclo de vida do projeto. Dessa forma, conforme o projeto evolui,
o nível de detalhes aumenta (PMI, 2008).
2.2.1 PMBOK
Nos últimos anos a área de gerenciamento de projetos tem ganhado
cada vez mais reconhecimento e importância. Um dos principais responsáveis
por essa ascensão é o Instituto de Gerenciamento de Projetos (PMI - Project
Management Institute), o qual tem como objetivo a difusão do conhecimento
em gerenciamento de projetos. Uma das principais iniciativas do PMI para
atingir esse objetivo é a publicação de padrões globais de gerenciamento de
projetos, programas e portfólio, sendo a mais popular delas o Guia do Conjunto
de Conhecimentos em Gerenciamento de Projetos (Guia PMBOK® - Project
Management BodyofKnowledge) (D'ÁVILA, 2006).
Os padrões globais publicados pelo PMI são amplamente aceitos e
fornecem diretrizes, regras e características do gerenciamento de projetos. O
Guia PMBOK é atualmente o principal padrão global para gerenciamento de
projetos(LIBRARY, 2012, tradução nossa).
O
PMI
(2008)
descreve
diversos
conhecimentos
acerca
do
gerenciamento de projetos, categorizando-os em nove áreas: Gerenciamento
da
Integração
do
Projeto,
Gerenciamento
do
Escopo
do
Projeto,
Gerenciamento do Tempo do Projeto, Gerenciamento dos Custos do Projeto,
Gerenciamento da Qualidade do Projeto, Gerenciamento dos Recursos
Humanos
do
Projeto,
Gerenciamento
da
Comunicação
do
Projeto,
Gerenciamento dos Riscos do Projeto e Gerenciamento das Aquisições do
Projeto.
Dessas nove áreas de conhecimento, os principais determinantes para o
objetivo de um projeto são o Escopo, Tempo, Custos e Qualidade: entregar um
resultado de acordo com o escopo, prazo e custo definidos, com uma
25
qualidade adequada. Os Recursos Humanos e as Aquisições correspondem
aos insumos necessários para produzir o trabalho do projeto. A Comunicação e
os Riscos devem ser gerenciados continuamente, de forma a controlar as
expectativas e as incertezas do projeto e garantir que o mesmo está sendo
conduzido para a direção correta. Já a Integração abrange a coordenação de
todos estes aspectos (D'ÁVILA, 2006).
2.3.
Modelagem de sistemas de software
De acordo com Booch, Rumbaugh e Jacobson (2012), um software que
satisfaça as necessidades de seus usuários e respectivos negócios é o
principal produto de uma equipe de desenvolvimento, sendo o restante
secundário. O que ocorre muitas vezes é a confusão de secundário com
irrelevante.
Para Bezerra (2002) a utilização da modelagem na construção de
sistemas de software permite o gerenciamento da complexidade do sistema, a
comunicação
entre
as
partes
envolvidas,
a
redução
de
custos
no
desenvolvimento e a predição do comportamento futuro do sistema.
Bezerra (2002) ainda define a modelagem de sistemas como sendo:
A utilização de notações gráficas e textuais com o objetivo de
construir modelos que representam as partes essenciais de um
sistema, considerando-se diversas perspectivas diferentes e
complementares.
O motivo principal para a utilização da modelagem nos sistemas de
software consiste na capacidade dessa metodologia de simplificar a realidade e
possibilitar uma melhor compreensão do sistema que está sendo desenvolvido.
Além disso, através da modelagem é possível alcançar os seguintes objetivos:
visualizar o sistema como ele é ou como gostaríamos que fosse; especificar a
estrutura ou o comportamento do sistema; fornecer um guia para a construção
do sistema; documentar as decisões tomadas (BOOCH; RUMBAUGH;
JACOBSON, 2012).
26
O uso da modelagem não deve ser relacionado ao tamanho do software,
uma vez que os sistemas apresentam uma tendência natural para se
transformar em algo mais complexo ao longo do tempo. Porém, é evidente que
quanto maior e mais complexo o sistema, maior será a importância da
modelagem, uma vez que ela possibilita o trabalho em níveis mais altos de
abstração (BOOCH; RUMBAUGH; JACOBSON, 2012).
2.3.1 Princípios da Modelagem
A experiência que o uso da modelagem adquiriu com todas as
disciplinas
Engenharia
sugere
quatro
princípios
básicos
de
modelagem(BOOCH; RUMBAUGH; JACOBSON, 2012):
1. A seleção dos modelos que serão criados possui grande influência sobre
a maneira como um determinado problema é enfrentado e como uma
solução é definida.
Esse princípio demonstra a importância da escolha criteriosa dos
modelos, uma vez que modelos corretos esclarecem os problemas de
desenvolvimento mais complicados e proporcionam conclusões que não
seriam possíveis de outra maneira. Por outro lado, os modelos
inadequados irão desviar o foco para questões irrelevantes na medida
em que causam confusões.
A
escolha
dos
desenvolvimento,
modelos
ou
seja,
depende
os
fortemente
modelos
do
contexto
selecionados
por
do
um
desenvolvedor de banco de dados serão diferentes dos modelos
definidos por um analista de análise estruturada, que por sua vez irão
diferir da perspectiva de um desenvolvedor orientado a objetos.
2. Os modelos poderão ser expressos em diferentes níveis de precisão.
Os melhores tipos de modelo são aqueles que possibilitam a escolha do
grau de detalhamento, dependendo de quem esteja fazendo a
visualização e do por que deseja fazê-la. Essa característica é
importante, pois cada observador deseja visualizar o sistema em
diferentes níveis de detalhamento, em situações distintas.
3. Os melhores modelos estão associados à realidade.
27
Esse princípio ressalta o fato de que o modelo é uma simplificação da
realidade e, portanto, deve-se ter certeza de que a sua simplificação não
ocultará detalhes importantes.
4. Nenhum modelo único é suficiente. Qualquer sistema não trivial será
mais bem investigado por meio de um pequeno conjunto de modelos
quase independentes com vários pontos de vista.
No contexto em que se encontra, a expressão “quase independente” se
refere ao fato de que os modelos podem ser criados e estudados
separadamente, mas continuar inter-relacionados. Para compreender a
arquitetura dos sistemas orientados a objetos, é necessário recorrer a
várias visões complementares e inter-relacionadas: como a visão dos
casos de uso, de projeto, do processo, da implementação e da
implantação do sistema. Em conjunto, essas visões representam a base
do projeto de software. Conforme a natureza do sistema, alguns
modelos se tornarão mais importantes que outros.
2.3.2 A Linguagem de Modelagem Unificada (UML)
A UML (UnifiedModelingLanguage) foi criada devido à necessidade de
se ter uma linguagem padrão para a modelagem de sistemas. Dessa forma, ela
surgiu para ser a linguagem “unificadora” de notações, diagramas e formas de
representação existentes em diferentes técnicas (BEZERRA, 2012). A UML foi
criada no final da década de 90 por GradyBooch, Ivar Jacobson e Jim
Rumbaugh e atualmente é um padrão adotado pela OMG (Object Management
Group) (PAGE-JONES, 2001).
Bezerra (2002) define a UML da seguinte forma:
A UML é uma linguagem visual para modelar sistemas
orientados a objetos. Isso quer dizer que a UML é uma
linguagem constituída de elementos gráficos (visuais) utilizados
na modelagem que permitem representar os conceitos do
paradigma da orientação a objetos. Através dos elementos
gráficos definidos nesta linguagem podem-se construir
diagramas que representam diversas perspectivas de um
sistema.
28
De acordo com Booch, Rumbaugh e Jacobson (2012), a UML pode ser
empregada para a visualização, especificação, construção e documentação de
artefatos que utilizam sistemas complexos de software.
Ainda, segundo esses autores, a UML abrange a documentação da
arquitetura do sistema e de todos os seus detalhes, proporciona uma
linguagem para a expressão de requisitos e para a realização de testes e
possibilita a modelagem das atividades de planejamento do projeto e de
gerenciamento de versões (BOOCH; RUMBAUGH; JACOBSON, 2012).
A UML consegue capturar a estrutura de sistemas orientados a objetos
acima do nível das linhas individuais de código, e pode ser expressa em
diagramas que englobam a gama de construções dos sistemas típicos
orientados a objeto (PAGE-JONES, 2001).
Um diagrama consiste na apresentação gráfica de um conjunto de
elementos, geralmente representados como gráficos de vértices (itens) e arcos
(relacionamentos). Eles são desenhados para possibilitar a visualização de um
sistema sob diferentes perspectivas, constituindo assim uma projeção de um
determinado sistema (BOOCH; RUMBAUGH; JACOBSON, 2012).
Dentre os modelos preconizados pela UML foram utilizados nesse
trabalho os Casos de Uso, os Diagramas de Casos de Uso e o Diagrama de
Classes.
2.3.2.1
Modelagem de Casos de Uso
Bezerra (2002) define o modelo de casos de uso da seguinte forma:
O modelo de casos de uso é uma representação das
funcionalidades externamente observáveis do sistema e dos
elementos externos ao sistema que interagem com ele. Este
modelo descreve quais os requisitos funcionais do sistema e
quais são as entidades do ambiente (atores) que interagem
com o sistema. Este modelo nos informa também quais são as
ações do sistema conforme percebidas pelos atores. Com este
modelo, podem ser respondidas questões sobre o que o
sistema deve fazer e para quem.
29
Ao modelar casos de uso, o analista descreve a interação do usuário
com o sistema, o que o usuário demanda e o que o sistema responde. Durante
esse processo, o objetivo não contempla a especificação do software nem dos
programas, mas sim o que o software deve atender e o que o usuário espera
dele, não devendo haver preocupações sobre a construção de código ou com a
implementação (SILVA; GOMIDE;PETRILLO, 2003).
Esse modelo tem se tornado cada vez mais popular devido à sua
notação gráfica simples e descrição em linguagem natural, facilitando dessa
forma a comunicação entre desenvolvedores e usuários. Além disso, o modelo
de casos de uso leva os desenvolvedores a moldarem o sistema de acordo
com o usuário, e não o usuário de acordo com o sistema(BEZERRA, 2012).
O modelo de casos de uso é composto da documentação dos casos de
uso e dos atores e do diagrama de casos de uso (BEZERRA, 2012).
2.3.2.2
Casos de Uso
Um caso de uso consiste em uma descrição de um conjunto de
sequências de interações entre um sistema e os agentes externos que o
utilizam (BEZERRA, 2012). Os casos de usos podem ser aplicados para
especificar o comportamento pretendido do sistema que está sendo
desenvolvido, sem a necessidade de especificar como ele será implementado
(BOOCH; RUMBAUGH; JACOBSON, 2012).
A ampla utilização dos casos de uso está atrelada ao fato de que eles
fornecem
uma
maneira
para
os
desenvolvedores
chegarem
a
uma
compreensão comum com os usuários finais do sistema e com os especialistas
do domínio. Além disso, eles auxiliam na validação da arquitetura e na
verificação do sistema à medida que ele evolui durante seu desenvolvimento
(BOOCH; RUMBAUGH; JACOBSON, 2012).
A identificação dos atores que interagem com o sistema e dos casos de
uso do mesmo é feita com base nas informações coletadas na fase de
levantamento de requisitos do sistema. Durante essa fase, os analistas de
sistemas identificam quais atividades do processo de negócio são relevantes
30
ao sistema a ser construído e quais os elementos que interagem nesses
processos (BEZERRA, 2012).
Segundo a terminologia da UML, qualquer elemento externo que
interage com o sistema é considerado um ator. O termo “externo” indica que os
atores não fazem parte do sistema e o termo “interage” indica que um ator
troca informações com o sistema (BEZERRA, 2012). Os atores podem ser
humanos ou sistemas automatizados.Os casos de uso e atores não existem
sozinhos. Dessa forma, um ator deve estar relacionado a um ou mais casos de
uso do sistema. Também podem ocorrer relacionamentos entre os casos de
uso de um sistema (BEZERRA, 2012).
A UML não define o formato e o grau de abstração a serem utilizados na
descrição de um caso de uso. Bezerra (2002) aponta alguns itens importantes,
como: ator primário (ator que inicia o caso de uso), atores secundários (demais
atores participantes do caso de uso, se existirem), fluxo principal (descrição da
sequência de passos do fluxo principal, o qual descreve o que normalmente
acontece quando o caso de uso é realizado), fluxos alternativos (descrevem o
que acontece quando o ator faz uma escolha alternativa, diferente da descrita
no fluxo principal), fluxos de exceção (descrevem o que acontece quando algo
inesperado ocorre na interação entre ator e caso de uso) (BEZERRA, 2012).
A descrição de um caso de uso também pode fazer referência a uma ou
mais regras do negócio. Essas regras são consideradas como as políticas,
condições ou restrições que devem ser consideradas na execução dos
processos existentes em uma organização, uma vez que elas descrevem a
maneira como a organização funciona. As regras do negócio de uma
organização são normalmente identificadas nas fases de levantamento de
requisitos de análise e normalmente têm influência sobre a lógica de execução
de um ou mais casos de uso (BEZERRA, 2012).
2.3.2.3
Diagramas de Casos de Uso
Os diagramas de casos de uso (DCUs) fornecem uma visão global e de
alto nível do sistema, pois descrevem a visão externa do sistema e
representam graficamente os atores, casos de uso e os relacionamentos entre
31
esses elementos. Eles têm como objetivo principal ilustrar em um nível alto de
abstração quais elementos externos interagem com quais funcionalidades do
sistema (BEZERRA, 2012).
Os DCUs são importantes para a visualização, especificação e
documentação do comportamento de um elemento. Esses diagramas fazem
com que sistemas, subsistemas e classes se tornem acessíveis e
compreensíveis.
Eles
também
são
importantes
para
testar
sistemas
executáveis por meio de engenharia direta (processo de transformar um
modelo em código) e para compreendê-los por meio de engenharia reversa
(processo de transformar código em um modelo) (BOOCH; RUMBAUGH;
JACOBSON, 2012).
A notação utilizada para representar atores em um DCU é a figura de
um boneco, com o nome do ator definido logo abaixo dessa figura. Já os casos
de uso são representados por uma elipse, com o nome posicionado abaixo ou
dentro da elipse. Um ator pode estar associado a vários casos de uso em um
mesmo diagrama (BEZERRA, 2012).
A UML define diferentes tipos de relacionamentos, os quais são
aplicados em todos os diagramas da UML. Os relacionamentos são
representados graficamente de acordo com o seu tipo. Os relacionamentos do
tipo dependência são relacionamentos de utilização, determinando que um item
usa as informações e os serviços de outro item, mas não necessariamente o
inverso. Esse tipo de relacionamento é representado por linhas tracejadas
apontando o item do qual o outro depende (BOOCH; RUMBAUGH;
JACOBSON, 2012).
O relacionamento do tipo generalização consiste em um relacionamento
entre itens gerais (denominados classes-mãe) e tipos mais específicos desses
itens (denominados classes-filha). Dessa forma, a filha herda as propriedades
da mãe, principalmente seus atributos e operações. Uma generalização é
representada graficamente como linhas sólidas com uma grande seta triangular
apontando a mãe (BOOCH; RUMBAUGH; JACOBSON, 2012).
Já uma associação é um relacionamento estrutural que especifica
objetos de um item conectados a objetos de outro item. Sendo assim, a partir
de uma associação conectando duas classes, é possível navegar do objeto de
uma classe até o objeto de outra e vice-versa. Esse tipo de relacionamento é
32
representado graficamente como uma linha sólida conectando classes ou
casos de uso (BOOCH; RUMBAUGH; JACOBSON, 2012).
É possível também representar a fronteira do sistema no diagrama de
casos de uso. Ela é representada graficamente por um retângulo no qual são
inseridos os casos de uso. Os atores são posicionados do lado de fora do
retângulo, para demonstrar a divisão entre o interior e o exterior do sistema
(BEZERRA, 2012).
2.3.2.4
Diagrama de Classes
Os diagramas de classes são os diagramas mais frequentemente
utilizados na modelagem de sistemas orientados a objetos. Eles mostram um
conjunto de classes, interfaces e colaborações e seus relacionamentos
(BOOCH; RUMBAUGH; JACOBSON, 2012).
Esse tipo de diagrama é utilizado para fazer a modelagem da visão
estática de um sistema, a qual oferece principalmente suporte aos requisitos
funcionais do sistema, em outras palavras, os serviços que o sistema deverá
fornecer aos usuários finais (BOOCH; RUMBAUGH; JACOBSON, 2012).
Ao criar a modelagem da visão estática do sistema, o diagrama de
classes poderá ser utilizado para fazer a modelagem do vocabulário do
sistema, que envolve a decisão a respeito de quais abstrações fazem parte do
sistema e quais estão fora dos limites dele; a modelagem de colaborações,
responsável
por
visualizar
e
especificar
o
conjunto
de
classes
e
relacionamentos do sistema; ou a modelagem do esquema lógico de um banco
de dados (BOOCH; RUMBAUGH; JACOBSON, 2012).
Os Diagramas de classes são importantes para a visualização, a
especificação, a documentação de modelos estruturais e a construção de
sistemas executáveis por intermédio de engenharia direta e reversa (BOOCH;
RUMBAUGH; JACOBSON, 2012).
33
2.4.
Tecnologias Utilizadas
As tecnologias utilizadas no desenvolvimento deste trabalho são
descritas a seguir.
2.4.1. Microsoft Visual Studio
O Microsoft Visual Studio é um conjunto de ferramentas que simplifica o
processo de desenvolvimento de aplicações e novos softwares. O processo de
criação de softwares não consiste apenas na escrita de códigos. Desta forma,
a versão 2010 do Visual Studio conta com os recursos das ferramentas de
ALM (ApplicationLifecycle Management), para gerenciar todo o ciclo de vida do
programa, desde a documentação, arquitetura do software até a parte de testes
e implantação. Esta nova ferramenta ainda permite que toda a equipe de
desenvolvimento
colabore
e
dialogue
ao
longo
das
etapas
de
desenvolvimento(VISUAL, 2012).
O
Microsoft
Visual
integrado (IDE)
da Microsoft,
aplicações para
todas
as
Studio é
um ambiente
podendo
ser
plataformas
CE,.NET
Framework e Microsoft
Ele
diferentes linguagens
de
programação,
usado
suportadas
Windows, Windows Mobile, Windows
Silverlight.
de
desenvolvimento
para desenvolver
pelo
Microsoft
Framework, .NET
também
oferece
como
C,
Compact
suporte
a
C++ (via Visual
C++), VB.NET (via Visual Basic .NET) e C# (via Visual C#), e linguagens para
desenvolvimento
web,
como
XML,
XSLT, HTML,
XHTML, Javascript e CSS(TUTORIAL, 2012).
2.4.2. C Sharp
O avanço das ferramentas de programação (ex: C++ e Java) e dos
dispositivos eletrônicos inteligentes (ex: telefones celulares) gerou novas
exigências, criando muitas expectativas para o mercado de software. Como
resultado
da
popularidade
dos
dispositivos
eletrônicos
móveis,
os
desenvolvedores reconheceram a necessidade de criar aplicativos baseados
na Web que pudessem ser acessados e usados via Internet e que estivessem
34
disponíveis por meio de praticamente qualquer tipo de dispositivo. Para tratar
dessas necessidades, a Microsoft anunciou sua iniciativa .NET e a linguagem
de programação C# (DEITEL, 2003).
A linguagem de programação C Sharp, que daqui em diante iremos
descrever como C#, é a fase seguinte na evolução do C e C++, fornece
diversos recursos importantes para os programadores, como programação
orientada a objetos, strings, elementos gráficos, componentes de interface
gráfica (GUI), tratamento de exceções, múltiplas linhas de execução, multimídia
(áudio, imagens, animação e vídeo), processamento de arquivos, estruturas de
dados
pré-empacotadas,
processamento
de
banco
de
dados,
redes
cliente/servidor com base na Internet e computação distribuída (DEITEL, 2003).
O C# é uma linguagem de programação visual dirigida por eventos e
totalmente orientada a objetos, na qual os programas são criados usando-se
uma IDE (IntegratedDevelopmentEnvironment – ambiente de desenvolvimento
integrado). O uso da IDE permite que o programador crie, execute, teste e
depure os programas, reduzindo assim o tempo necessário para criar um
programa funcional (DEITEL, 2003).
A programação orientada a objetos apresenta diversas vantagens em
relação à programação procedimental, dentre as quais pode-se citar: melhor
produtividade, reutilização de software e produção de software mais inteligível,
pois ele é melhor organizado e tem menos requisitos de manutenção. A
orientação a objetos também permite que os programadores abstraiam os
detalhes do software e se concentram no todo, criando programas fáceis de
entender, modificar e atualizar, pois oculta grande parte dos detalhes (DEITEL,
2003).
Lima (2002) cita algumas características do C# consideradas essenciais:
- Simplicidade: os projetistas de C# costumam dizer que essa linguagem
é tão poderosa quanto o C++ e tão simples quanto o Visual Basic.
- Completamente orientada a objetos: o C# requer que toda a lógica do
programa esteja contida em classes
- Fortemente tipada: ajuda a evitar erros por manipulação imprópria de
tipos, atribuições incorretas etc.
- Tudo é um objeto: System.Object é a classe base de todo o sistema de
tipos de C#.
35
- Controle de versões: cada assembly gerado, seja como EXE ou DLL,
tem informação sobre a versão do código, permitindo a coexistência de dois
assemblies homônimos, mas de versões diferentes no mesmo ambiente.
- Linguagem gerenciada: os programas desenvolvidos em C# executam
num ambiente gerenciado, o que significa que todo o gerenciamento de
memória é feito pelo runtime via o GC (GarbageCollector), e não diretamente
pelo programador, reduzindo as chances de cometer erros comuns a
linguagens de programação onde o gerenciamento da memória é feito
diretamente pelo programador.
- Suporte a código legado: o C# pode interagir com código legado de
objetos COM e DLLs escritas em uma linguagem não-gerenciada.
- Flexibilidade: o C# permite o uso de ponteiros, se necessário.
2.4.3. Windows Phone
O desenvolvimento para telefones é um termo abrangente que se refere
ao processo de criar aplicativos para smartphones. Os telefones executam o
sistema operacional como uma plataforma para fornecer serviços aos
aplicativos. Dessa forma, o desenvolvimento para telefones é semelhante ao
desenvolvimento para computadores, com a ressalva de que os telefones não
têm a mesma memória ou desempenho dos desktops. Para simplificar o
desenvolvimento, é possível executar, depurar e testar os aplicativos em um
emulador, que é uma versão do software do telefone. Essa funcionalidade
permite a criação do aplicativo em um ambiente padrão e familiar, que depois
poderá ser implantado em um telefone quando estiver pronto para
uso(TELEFONE, 2012).
O Microsoft Visual Studio possui a capacidade de adquirir várias funções
que não são nativas através da instalação de SDK's (Software Development
Kit) e plug-ins, como o SDK Windows Phone 7.1, que possibilita a programação
para Windows Phone. Ainda, a versão 2010 do Visual Studio, fornece um
emulador de Windows Phone 7 para que o desenvolvedor possa testar o
aplicativo direto no computador (TUTORIAL, 2010).
Os programas para "Windows Phone 7" podem ser programados com
C# em "Silverlight" ou XNA. Para criar esses programas é necessário que o
36
"Visual Studio" apresente os seguintes pacotes instalados: "Phone Emulator",
"Blend" e Bibliotecas Silverlight Phone) (TUTORIAL: Clássico, 2010).
2.4.4. Microsoft Expression Blend
O Microsoft Expression Blend pertence à família Microsoft Expression
Studio, a qual tem como foco a criação e o design de páginas, telas,
elementos, etc. Seu ambiente permite o desenvolvimento integrado a outros
desenvolvedores, através de ferramentas especiais que possibilitam o
compartilhamento dos projetos sem nenhuma alteração, garantindo assim, a
propriedade e a integridade dos mesmos (MACORATTI, s.d).
A utilização do Expression Blend integrada ao Microsoft Visual Studio
possibilita a criação de aplicativos ricos e bem arquitetados para dispositivos
móveis (EXPRESSION, s.d, tradução nossa).
Apresenta interface atrativa e prática de usar, melhorando significativamente o
ambiente de trabalho dos desenvolvedores (MACORATTI, s.d).
Utilizando tecnologias como Silverlight, XAML e C#, o Expression Blend
permite o desenvolvimento de aplicativos estáveis, escaláveis, acessíveis,
confiáveis
e
altamente
seguros,
mantendo
um
ótimo
desempenho
(POWERFUL, s.d).
2.4.5. Silverlight
O Silverlight é uma poderosa plataforma de desenvolvimento da
Microsoft para a nova fase da web, pois trabalha com um novo conceito de
recursos visuais, como os de som, vídeo e animações, além da praticidade,
usabilidade, agilidade e intuitividade de navegação que compõem a chamada
Experiência do Usuário (UsereXperience) (DURÃES et al., 2008).
Desenvolvido para competir com o Flash, da Adobe, o Silverlight oferece
uma nova experiência para aplicativos ricos e interativos na internet sendo um
plug-in de vários navegadores e plataformas. Usado para criar interfaces com o
usuário, tem como diferencial o fato de criar aplicações que usam o conceito de
RIA (Rich Internet Application), permitindo uma experiência mais rica ao
usuário (MACORATTI, s.d). Dessa forma, permite o desenvolvimento visual de
37
interfaces de alta produção e de experiências interativas que podem ser
executadas dentro de navegadores, em dispositivos móveis e sistemas
operacionais desktop (DURÃES et al.,2008).
Durãeset al. (2008) ressaltam alguns pontos interessantes dessa
plataforma:
- É cross-browser5 e multiplataforma, ou seja, foi projetada para rodar em
praticamente todos os navegadores da Web e trabalhar em diversas
arquiteturas e sistemas operacionais;
- Apresenta Layout visual consistente. Dessa forma, o layout não é distorcido
entre browsers e ambientes diferentes.
- Realiza stream6 de áudio e vídeo de maneira inteligente. Ele controla a
demanda da qualidade do vídeo para o dispositivo cliente, desde smartphones
até navegadores comuns.
- É vetorial e suporta gráficos 2D e até mesmo 3D.
- Lê e recebe dados sem precisar atualizar a página.
- No quesito segurança, o Silverlight é executado no contexto do navegador e
não tem acesso à máquina do cliente.
- Utiliza o C# ou VB.NET para desenvolver a parte do código gerenciado,
agilizando o desenvolvimento.
- O download do plugin é pequeno (pouco mais de 4MB) e se instala em
segundos.
2.4.6. XAML
XAMLouExtensibleApplicationMarkupLanguage é uma linguagem de
marcação baseada em XML criada pela Microsoft para criar interfaces com o
usuário
(UI)
e
facilitar
a
integração
entre
os
designers
e
os
desenvolvedores(MACORATTI, 2009; MICROSOFT, 2010).
É uma linguagem que possibilita a criação de elementos de UI visíveis
na marcação declarativa de XAML e, através do uso de arquivos code-behind7,
permite a separação da definição da UI do código lógico em tempo de
5
Cross-browser - refere-se à habilidade de um site, Aplicação Web, contructor HTML ou scriptsuportar
múltiplos navegadores.
6
Forma de distribuir informação de áudio e vídeo pela Internet através de pacotes.
7
Termo utilizado para descrever o código que é unido ao código criado por um processador XAML quando
uma página XAML é compilada.
38
execução. Ao contrário da maioria das outras linguagens de marcação, a XAML
diretamente representa a instanciação de objetos gerenciados. Esse princípio
de design geral permite código simplificado e acesso de depuração aos objetos
criados em XAML (XAML, s.d).
Algumas ferramentas para design gráfico como o Expression Blend,
requerem a utilização do XAML(PEREIRA; ISENTO, 2010).Os arquivos XAML
também sãousados para especificar declarativamente uma interface de
aplicação no Silverlight(DURÃES et al., 2008).
No projeto Silverlight, por padrão são criados dois arquivos XAML
(App.xaml e Page.xaml) com seus respectivos arquivos de classe (DURÃES et
al., 2008).O arquivo "App.xaml", é muito importante pois ele carrega boa parte
das características do software. Como exemplo, por padrão ele carrega o
arquivo Page.xaml que corresponde ao controle inicial da UI (TUTORIAL,
2010).
Ao executar o build do projeto, o Visual Studio compila o código C# e o
código XAML para um arquivo assembly, que será empacotado em um arquivo
de recurso com a extensão .XAP. Este arquivo utiliza o algoritmo de
compressão zip para minimizar o impacto do download no cliente(DURÃES et
al., 2008).
2.4.7. Bing Maps
O conjunto de tecnologias que envolvem coleta, processamento, análise
e disponibilização de informação com referência geográfica constituem as
Geotecnologias(QUEIROZ, 2006).Essas tecnologias são comumente utilizadas
para executar buscas de endereços, mapeamento de rotas, localização de
lugares, entre outras. (GERAÇÃO, s.d)
O Bing Maps é um serviço de mapeamento online criado pela Microsoft
para possibilitar a criação de aplicações geográficas utilizando uma API com
diversas funções espaciais, traçando rotas, encontrando lugares a partir do
endereço, etc. (SANTIAGO, 2008)O serviço de mapeamento padrão no
Windows Phone 7 é o Bing Maps. O controle de mapas no Windows Phone
7Developer Toolkit é gratuito para uso em produtos de consumo voltados para
39
aplicações móveis. Dessa forma, fica mais fácil incorporar uma experiência de
mapeamento consistente para as soluções móveis (BING, s.d).
2.4.8. SQL Server
SQL é a linguagem utilizada para geração, manipulação e recuperação
de dados de um banco de dados relacional, o qual possibilita o tratamento de
quantidades enormes de dados. Os bancos de dados relacionais estão
disponíveis comercialmente há pelo menos duas décadas; dentre eles pode-se
citar o SQL Server, da Microsoft (BEAULIEU, 2010).
O Microsoft SQL Server é um servidor de banco de dados e de
informações abrangente que oferece um conjunto completo de tecnologias e
ferramentas enterprise-ready, as quais possibilitam gerar valor máximo de
informações a um custo total de propriedade baixíssimo. Por ser uma
plataforma completa e integrada, o Microsoft SQL Server fornece altos níveis
de desempenho, disponibilidade e segurança (POR QUE, 2011).
Quando comparado com outros bancos de dados, o SQL Server fornece
funcionalidade mais flexível, melhor escalabilidade e desempenho mais
confiável. Além disso, o SQL Server 2008 R2 estabeleceu recordes de
desempenho no TPC-E, a medida de desempenho de OLTP padrão do setor
industrial mais rigoroso. (Microsoft SQL Server, 2011). Dentre as principais
razões para utilizar o SQL Server pode-se citar:
- O SQL Server fornece seis noves (99.9999%) em disponibilidade de tempo de
atividade.
- O SQL Server é a plataforma de bancos de dados mais segura.
- O SQL Server é o líder incontestável nos parâmetros de comparação de
desempenho TPC-E.
- O SQL Server proporciona uma economia de 460% no custo anual de
administração por banco de dados comparado com o Oracle.
- O SQL Server supera o IBM DB2 ao alcançar o segundo lugar em receita de
licenças de bancos de dados relacionais em 2009.
- A Microsoft tomou a dianteira no mercado de BI com um crescimento de
23.6% baseado na receita em 2010 (POR QUE, 2011).
40
2.4.9. Windows Communication Foundation
Windows
CommunicationFoundation
(WCF)
é
um
modelo
de
programação unificado criado pela Microsoft para a construção deaplicações
orientadas a serviços (WINDOWS COMMUNICATION, s.d, tradução nossa).
O objetivo principal do WCF consiste em permitir que analistas e
desenvolvedores criem aplicações voltadas para a computação distribuída. O
WCF é considerado como uma evolução ao Web Service, visto que ele agrupa
várias tecnologias para resolver os problemas na comunicação dos dados
(LIMA, 2010).
Esse modelo de programação baseia-se na comunicação orientada a
mensagens, contemplando tudo que pode ser modelado como uma
mensagem, como por exemplo, um pedido de HTTP. Dessa forma, ele permite
o envio de dados como mensagens assíncronas entre serviços e clientes
(WHAT IS, s.d). O modelo distingue os clientes, que são os aplicativos que
iniciam a comunicação, e os serviços, que são as aplicações que esperam por
clientes para estabelecer a comunicação (FUNDAMENTAL, s.d., tradução
nossa).
O WCF apresenta dois tipos de configuração de serviço: imperativo e
declarativo. O primeiro é criado no próprio código gerenciado (C#, VB.NET), já
o segundo é criado através de um arquivo de configuração (Web.Config,
App.Config). O tipo declarativo é mais vantajoso quando comparado ao
imperativo, pois como as configurações estão escritas nos arquivos de
configuração, não é necessário recompilar o sistema a cada vez que uma
modificação for feita (BALTIERI, S.d).
O WCF pode ser utilizado tanto como um serviço seguro para processar
transações de negócios quanto como um serviço de chat, permitindo que duas
pessoasse comuniquem outro quem dados emtempo real (FUNDAMENTAL,
s.d., tradução nossa).
41
3. ORGANIZAÇÃO-CLIENTE
Empresa: Employer Organização de Recursos Humanos.
Endereço eletrônico: [email protected]
Telefone para contato: 0800-412400.
Serviços prestados: Mão-de-obra temporária, Terceirização de mão-deobra, Serviços de Recursos Humanos como recrutamento e seleção.
3.1.
Histórico
Fundada em 1986, pelo presidente Marcos Aurélio de Abreu Rodrigues e
Silva, ex-presidente da ABRH nacional (1981-1983), a Employer é reconhecida
por sua excelência na cessão de mão-de-obra, temporária e serviços de
Recursos Humanos, conquistada com ousadia. Em 21 anos, a empresa tornouse uma das maiores do Brasil, líder de mercado no segmento para o
agronegócio e para serviços financeiros. Hoje, a matriz localizada em Curitiba,
conta com o apoio de 56 filiais, estrategicamente presentes em todas as
regiões do país.
42
4. DIAGNÓSTICO DO AMBIENTE
No Brasil, o resultado do crescimento econômico global, aliado a uma
inflação controlada desde 1994 através do Plano Real, tem sido o crescimento
do poder aquisitivo do cidadão brasileiro, a utilização maciça de redes sociais
(impulsionada por programas de inclusão digital) e o desejo por uma
mobilidade urbana mais ágil; todavia, a atual ineficiência do transporte público
e a baixa aderência a meios de transporte alternativos resultou num trânsito
caótico nas grandes e médias cidades, enfrentado por pessoas que têm a
necessidade de se locomover de um ponto a outro no menor tempo possível.
Além disso, o setor automobilístico é um dos setores que mais contribui
para a poluição ambiental no mundo. Se ainda não é possível criar em larga
escala veículos movidos à energia limpa, como a eletricidade, pois os preços
são inviáveis, pelo menos se pode colaborar com ações mais baratas, em
menor escala e com menos recursos, que resultem em outra forma de redução
de poluentes.
Frente à situação atual do trânsito nas grandes cidades brasileiras, às
questões socioambientais e entendendo que os aparelhos celulares deixaram
de ser um mero telefone e se transformaram numa poderosa ferramenta que
permite a interatividade entre os cidadãos, o aplicativo “Garupando”, tem como
finalidade principal permitir que pessoas compartilhem seus meios de
transporte. O resultado prático do uso do “Garupando” pelo cidadão que deixa
seu carro na garagem e desloca-se para o trabalho, escola, faculdade ou
qualquer outro local por meio de caronas é uma melhora na mobilidade urbana
e a redução de gás carbônico emitido na atmosfera e da interatividade com
outras pessoas além da tela de um computador.
4.1 Pesquisa de aceitação da Carona Solidária
Como o sistema de Carona Solidária ainda não é muito difundido,
resolvemos realizar uma pesquisa com o objetivo de avaliar a aceitabilidade
desse sistema. Para tanto, desenvolvemos um questionário (ApêndiceK)
contendo perguntas relacionadas à utilização de um aplicativo de caronas e
43
quais informações seriam importantes ao se realizar uma busca por caronas. A
pesquisa foi criada utilizando-se a ferramenta de formulários do Google Docs, e
foi divulgada via e-mail e através das redes sociais.
A primeira parte do questionário tinha como objetivo caracterizar a
amostra com dados como sexo, idade, estado civil, escolaridade e propriedade
de automóvel. A segunda parte apresentava perguntas relativas à utilização de
um aplicativo de caronas, como: “Você acharia interessante ter um aplicativo
que mostre pessoas que tem rotas similares à sua?” e “Você daria carona para
uma pessoa que conheceu através de um aplicativo?”. Já a terceira parte do
questionário apresentava diversas informações para que as pessoas
avaliassem a sua importância na hora de realizar uma busca rápida por
caronas.
4.2 Caracterização da amostra
Um total de 219 pessoas respondeu à pesquisa. A Tabela Imostra as
características dos respondentes. Analisando os dados coletados pode-se
observar que mais da metade das pessoas é do sexo masculino, está entre a
faixa etária de 18 a 29 anos, possui curso superior completo e tem carro
próprio.
- Características da amostra
TabelaI -- Características da amostra
Sexo
%
Carro Próprio
Feminino
35
Sim
72
Masculino
65
Não
28
Faixa Etária
%
Escolaridade
%
18 a 29 anos
52
2º grau incompleto
01
30 a 39 anos
23
2º grau completo
03
40 a 49 anos
14
Superior
32
50 a 59 anos
09
Incompleto
%
55
44
Acima de 60
02
Superior Completo
07
Mestrado
02
Outro
Estado Civil
%
Solteiro (a)
50
Casado (a)
39
Separação
09
Legal
02
Outro
4.3 Aceitabilidade da Carona Solidária
A Tabela IIcontempla os resultados obtidos através das perguntas
relacionadas à utilização de um aplicativo de caronas.
TabelaII- Aspectos relacionados à carona solidária
Pergunta
Sim
Não
(%)
(%)
Você já ouviu falar em “Carona Solidária”?
82
18
Você acharia interessante ter um aplicativo que mostre
90
10
Você utilizaria um aplicativo de caronas?
68
32
Você buscaria por caronas em um aplicativo de caronas?
65
35
Você daria carona para uma pessoa que conheceu através
55
45
pessoas que tem rotas similares à sua?
de um aplicativo?
Analisando as respostas podemos observar que uma grande parte das
pessoas (82%) está familiarizada ao tema “Carona Solidária” e que consideram
interessante um aplicativo que mostre pessoas com rotas similares às delas
(90%). Porém, quando perguntado se a pessoa faria uso de um aplicativo de
45
caronas, e se daria carona para uma pessoa que conheceu através dele, esse
número diminui drasticamente (68% e 55%, respectivamente).
Essa redução está relacionada principalmente as questões de
segurança e de confiança das pessoas. Mais da metade das pessoas que
responderam não à última pergunta indicaram que a segurança é o principal
motivo para não oferecer a carona, porém, muitos desses disseram que se
tivessem um primeiro contato antes da carona, ou se fosse uma pessoa
conhecida, não teriam problemas em compartilhar seus veículos. Uma
sugestão bastante interessante, e que já havia sido pensada pelos membros da
equipe, foi a possibilidade de vincular o aplicativo a redes sociais, como o
Facebook.
Algumas pessoas informaram que não dariam caronas para não ficarem
presas a horários, por não terem horários fixos de deslocamento e também
pela comodidade, conforto e privacidade. Resumindo, todos os pontos citados
pelos participantes são realmente fatores limitantes à adoção desse sistema.
A Tabela IIIcontempla os resultados da terceira parte do questionário, a
qual apresentava a seguinte questão: “Avalie abaixo quais informações você
considera importante que estejam presentes em uma busca rápida por
caronas:*Avalie conforme o grau de importância”.
TabelaIII - Informações consideradas importantes na busca por caronas
Informação
Muito
Interessant
Importante (%)
e
Indiferente
(%)
(%)
Estado Civil
18
36
46
Idade
23
42
35
Fumante / NãoFumante
58
23
19
Uso de bebidas alcoólicas
58
24
18
Marca do veículo
04
31
65
Quantidade de vagas disponíveis no
53
39
08
veículo
46
Tempo de carteira
38
44
18
Documentação do veículo em dia
68
20
12
Disponibilidade de dias
74
24
02
Horários disponíveis
80
18
02
Já compartilha caronas com outras
48
26
25
pessoas
A análise desses resultados nos mostra que a maioria das pessoas não
acha necessário saber o estado civil (46%) e nem a marca do veículo (65%) da
outra pessoa na hora de procurar por uma carona. Já para a idade (42%) e
para o tempo de carteira (44%), a maioria considerou interessante ter esse
conhecimento prévio. Também foi possível verificar que as pessoas se
preocupam com os assuntos relacionados aos hábitos de vida na hora de
procurar uma carona, como pode ser observado nas questões relacionadas ao
hábito de fumar (58%) e consumir bebidas alcoólicas (58%).
Ainda, a maioria das pessoas considerou como itens essenciais na
busca por caronas a disponibilidade de dias (74%) e de horários (80%), além
da informação de documentação do veículo em dia (68%) e do fato da pessoa
já ter compartilhado caronas com outras pessoas (48%).
Fazendo a correlação entre os pontos considerados importantes e
algumas características da amostra pudemos observar que os homens estão
mais propensos a utilizar e oferecer caronas através de um aplicativo do que as
mulheres, fato que está diretamente relacionado às questões de segurança
citadas anteriormente. Também foi possível observar que os respondentes que
não possuem carro próprio são mais favoráveis a utilização do aplicativo de
caronas.
47
5. OBJETIVOS
O objetivo do projeto consiste em prover um aplicativo para Windows
Phone que possibilite uma alternativa de transporte para pessoas que
compartilhem trajetos em comum, visando ocupar melhor os veículos. Desse
modo os custos da viagem, tanto para quem oferece carona quanto para quem
faz uso dela, diminuem e ambos passam a contribuir para a redução dos
congestionamentos e a emissão de poluentes no meio ambiente.
48
6. DESENVOLVIMENTO
O processo de desenvolvimento do projeto partiu da reunião de uma
equipe
cujas
principais
características
são
o
comprometimento
e
o
empreendedorismo. Desse modo, tornou-se uma escolha natural a concepção
de um software que não atingisse apenas o objetivo de concluir com sucesso a
graduação, mas que também pudesse mudar alguns paradigmas sociais e
contribuísse para preservação do meio ambiente. Com a idéia já definida e
discussões sobre a melhor forma de vencer os desafios propostos, a equipe
buscou a melhor estratégia para iniciar, gerenciar, desenvolver, documentar,
testar e finalizar o projeto.
A partir do aprendizado durante o decorrer da graduação, o
gerenciamento do projeto foi realizado com base nos documentos gerados
pelas áreas de conhecimento do PMBOK. Foram utilizadas as seguintes áreas:
Gerenciamento da Integração, representada pelo Termo de Abertura do
Projeto, Gerenciamento do Escopo, Gerenciamento do Tempo, Gerenciamento
da Qualidade e Gerenciamento de Comunicação. Os documentos gerados
podem ser observados no Apêndice A – Gerenciamento do Projeto. A etapa de
análise e definição dos requisitos foi realizada levando em consideração o
problema a ser resolvido e quais funcionalidades seriam necessárias para o
usuário na utilização do aplicativo.
Paralelamente à construção dos artefatos de gerenciamento e
documentação do software, deu-se início ao desenvolvimento de um protótipo
do aplicativo, com o objetivo principal de afastar as dúvidas sobre a viabilidade
técnica do que estava proposto no escopo. A IDE utilizada para a prototipação
foi o Microsoft Visual Studio 2010, utilizando a SDK Windows Phone 7.1,
baseada em linguagem C#. A prototipação do projeto foi desenvolvida com
base nas definições da UML, através da criação de casos de uso, dos
diagramas de casos de uso e do diagrama de classes. Cada caso de uso
apresenta o protótipo de tela e o mapa de testes utilizado para testá-lo. O
design do protótipo e do aplicativo foi realizado através da ferramenta Microsoft
Expression Blend. O resultado desta prototipação demonstrou que as dúvidas
49
sobre a viabilidade técnica eram infundadas, e que os objetivos elencados no
escopo podiam ser atingidos.
O desenvolvimento do softwarefoi baseado na arquitetura em três
camadas, sendo que essas diferem na visão do Smartphone e na visão do
Web Server/Banco de Dados. A modelagem física dos dados foi gerada a partir
do Microsoft SQL Server 2008 R2 e definida numa máquina servidora Windows
Server 2008 R2, enquanto a comunicação entre o banco de dados e o
aplicativo foi feito através de um serviço WCF construído especificamente para
esse fim, também disponibilizado na máquina servidora.
A documentação utilizada no desenvolvimento do aplicativo pode ser
observada no Apêndice F – Especificação dos Requisitos do Projeto, Apêndice
G – Modelagem, Apêndice H – Modelo Físico de Dados, Apêndice, J –
Documento de Arquitetura.
O total de horas utilizadas, dentro e fora de sala de aula, para superar os
desafios a que se propuseram os membros da equipe no desenvolvimento
deste projeto é superior a 1500 horas. O resultado obtido com o projeto, que
utilizou grande parte das técnicas de gerenciamento e desenvolvimento de
software aprendidas durante o decorrer da graduação, é um aplicativo com
uma interface amigável e fortemente intuitiva e de grande utilidade para o fim
que se destina.
50
7. CONSIDERAÇÕES FINAIS
O sucesso de um projeto não depende somente da capacidade técnica e
gerencial de uma equipe. Aliás, depende muito pouco desses quesitos. Um
projeto bem sucedido é baseado principalmente no comprometimento de cada
integrante da equipe com o objetivo final.
Muitos foram os desafios pessoais enfrentados durante o projeto. O
domínio de ferramentas de desenvolvimento utilizadas durante a graduação, a
prática de técnicas de gerenciamento de projeto (também aprendidas durante a
graduação) e o desenvolvimento de um projeto de inovação tecnológica voltado
para smartphones utilizando serviços web e comunicação com banco de dados
foram, de fato, os principais desafios.
O resultado deste projeto é o aplicativo Garupando, disponível para
Windows Phone, que possibilita que pessoas com rotas semelhantes possam
oferecer ou solicitar caronas, diminuindo o tráfego urbano e a emissão de
gases poluentes, além de permitir novas relações sociais.
A comercialização desse aplicativo está diretamente relacionada à
aceitação dos usuários, uma vez que a prática de carona solidária está atrelada
à quebra de paradigmas sociais e à mudança nos hábitos de vida das pessoas.
Contudo, o aprendizado e as experiências vividas pelos integrantes
deste projeto, além da alta qualidade de um aplicativo totalmente construído a
partir de ferramentas Microsoft, qualificam a equipe como um todo a aprimorar
o aplicativo Garupando e participar da Imagine Cup 2013, maior competição de
tecnologia em todo mundo, que é organizada pela Microsoft e oferece uma
premiação de US$ 50 mil na categoria World Citizenship, na qual o aplicativo
irá concorrer.
51
8. REFERÊNCIAS BIBLIOGRÁFICAS
ABNT. ABNT, 2008. Disponível em: <www.abnt.org.br>. Acesso em: 19 out.
2012.
ANDROID domina mercado brasileiro; Windows Phone mais expressivo que
iPhone.
São
Paulo:TechTudo,
2012.
Disponível
em:<http://www.techtudo.com.br/noticias/noticia/2012/09/android-dominamercado-brasileiro-windows-phone-mais-expressivo-que-iphone.html>Acesso
em: 27 de Outubro de 2012.
BALTIERI, A. Criando e consumindo serviços com WCF. S.d.. Disponível em:
http://www.linhadecodigo.com.br/artigo/2949/criando-e-consumindo-servicoscom-wcf.aspx>Acesso em: 06 de novembro de 2012
BEAULIEU, A. Aprendendo SQL. Tradução de Edgard Batista Damiani. São
Paulo: Novatec Editora, 2010.
BEZERRA, E. Princípios de análise e projeto de sistemas com UML. Rio de
Janeiro: Campus, 2002.
BING Mapsis for you. Microsoft Corporation, s.d. Disponível
em:<http://www.microsoft.com/maps/developers/mobile.aspx>Acesso em: 28de
Outubro de2012
BOOCH, G.; RUMBAUGH, J.; JACOBSON, I. UML: Guia do Usuário. Tradução
de Fábio Freitas da Silva e Cristina de Amorim Machado. Rio de Janeiro
:Elsevier, 2012. 12ª reimpressão.
BRUZZI, D. G. Gerência de Projetos: Uma Visão Prática. São Paulo: Érica,
2002.
CARVALHO, C. H. R. de. Emissões relativas de poluentes do transporte
motorizado de passageiros nos grandes centros urbanos brasileiros.
Brasília: IPEA, 2011. Disponível
em:<http://www.ipea.gov.br/sites/000/2/publicacoes/tds/TD_1606_WEB.pdf>Ac
esso: 08 de Outubro de 2012.
D'ÁVILA, M. H. C. PMBOK e Gerenciamento de Projetos. Minas Gerais: Belo
Horizonte, 2006. Disponível em:
<http://www.mhavila.com.br/topicos/gestao/pmbok.html> Acesso em: 13 de
Outubro de 2012.
52
DEITEL, H.M. et al. C# - Como programar. Tradução de João Eduardo Nóbrega
Tortello. São Paulo: Pearson Makron Books, 2003.
DEWAN, K. K; AHMAD, I. Carpooling: A Step To Reduce Congestion (A
Case Study of Delhi) Engineering Letters, 12 February 2007.
DINSMORE, P. C.; CAVALIERI, A. Como se tornar um profissional em
gerenciamento de projetos: livro-base de "preparação para certificação PMPProject Management Professional". Rio de Janeiro: Qualitymark, 2004.
DURÃES, R. et. al. Desenvolvendo para Web usando o Visual Studio 2008.
Rio de Janeiro: Brasport, 2008.
ESMIN, A. A. A. Modelando com UML – UnifiedModelingLanguage.
Departamento de Ciência da Computação da Universidade Federal deLavras.
Disponivel em:<http://www.dcc.ufla.br/infocomp/artigos/v1.1/art09.pdf>. Acesso
em: 13 de Outubro de 2012.
ESPÍNDOLA, E. C. A importância do Modelagem de Objetos no
Desenvolvimento de Sistemas. Linha de Código. Disponivel em:
<http://www.linhadecodigo.com.br/artigo/1293/a-importancia-do-modelagemdeobjetos-no-desenvolvimento-de-sistemas.aspx>. Acesso em: 27 de Outubro de
2012.
EXPRESSION Blend® 4 for Windows Phone. Microsoft Expression, s.d.
Disponível em:
<http://www.microsoft.com/expression/windowsphone/Default.aspx>Acesso em:
28 de Outubro de 2012.
FERREIRA, A. F.; RIBEIRO, R. G.; BARBOSA, H. M.. Aceitabilidade da
carona programada como forma de gerenciamento da demanda por
estacionamento.Departamento de Transportes, Universidade Federal de
Minas Gerais. Belo Horizonte, 2012. Disponível em:
<http://redpgv.coppe.ufrj.br/index.php?option=com_docman&task=doc_details&
gid=557&Itemid=28&lang=br> Acesso: 08 de Outubro de 2012.
FILETO, A. Cuide do Seu Bolso e do Planeta Já ! Cartilha Didática. Editora
Rede Três – Educação e Consultoria para a Sustentabilidade. Belo Horizonte:
2ª edição, 26 páginas, 2009. Disponível em: <http://www.sindusconmg.org.br/site/arquivos/up/geral/Cartilha_Cuide_do_Seu_Bolso_Planeta.pdf>Ac
esso em: 08 de Outubro de 2012.
53
FOWLER, M.; SCOTT, K. UML essencial: um breve guia para a linguagem
padrão da modelagem de objetos. 2ª Edição. ed. Porto Alegre: Bookman ,
2000.
FUNDAMENTAL Windows Communication Foundation Concepts, s.d
Disponível em:
<http://msdn.microsoft.com/en-us/library/ms731079.aspx>Acesso em: 06 de
novembro de 2012
GALIZZI, M. M..The Economics of Car-Pooling: A Survey for
Europe.Bergamo, 2004. Disponível em:
<http://dinamico2.unibg.it/highways/paper/galizzi.pdf>Acesso em: 08 de
Outubro de 2012.
GERAÇÃO de mapas com informações agregadas aplicado no Asp.Net
utilizando o Bing Maps. DevMedia, s.d. Disponível em:
<http://www.devmedia.com.br/geracao-de-mapas-com-informacoes-agregadasaplicado-no-asp-net-utilizando-o-bing-maps/17299>Acesso em:28 de Outubro
de 2012
JACOBI, P. Educação ambiental, cidadania e sustentabilidade. Cadernos de
Pesquisa, n. 118, p. 189-205, 2003. Disponível em:
<http://www.scielo.br/pdf/cp/n118/16834.pdf>Acesso em: 08 de Outubro de
2012
KERZNER, H. Gestão de Projetos - As Melhores Práticas. 2ª Edição,
BOOKMAN, 2006.
KLIEMANN, J. M.. Modelagem de uma API para serviços baseados em
localização integrada com APIs de localização, o middleware EXEHDA e
GIS. Universidade Federal do Rio Grande do Sul, Porto Alegre,
2006.Disponível em:
<http://saloon.inf.ufrgs.br/twiki/viewfile/Docs/OnlineDoc20060817225008?rev=1
;filename=Monografia_Jos%E9_Marcelo_Kliemann.pdf>Acesso em: 28 de
Outubro de 2012
KUWAHARA, N.; BALASSIANO, Ronaldo; SANTOS, Marcio Peixoto de
Sequeira. Alternativas de gerenciamento da mobilidade no campus da
ufam. Universidade Federal do Amazonas, Manaus, 2012. Disponível em:
http://redpgv.coppe.ufrj.br/index.php?option=com_docman&task=doc_details&g
id=567&Itemid=28&lang=br> Acesso em: 08 de Outubro de 2012
LARMAN, C. Utilizando UML e padrões: uma introdução a analise e ao
projeto orientados a objetos e ao desenvolvimento iterativo. 3ª Edição.ed. Porto
Alegre: Bookman , 2007.
54
LIBRARY of PMI Global Standards.USA: Washington, 2012. Disponível em:
<http://www.pmi.org/PMBOK-Guide-and-Standards/Standards-Library-of-PMIGlobal-Standards.aspx> Acesso em: 27 de Outubro de 2012
LIMA, E. C# e .Net para desenvolvedores. Eugênio Reis, Rio de Janeiro :
Campus, 2002. Disponível em:
<http://www.etelg.com.br/paginaete/downloads/informatica/apostila2.pdf>Acess
o em: 28 de Outubro de 2012
LIMA, L.. WCF Data Service, 2010. Disponível em:
<http://www.lucianolima.com.br/post/2010/06/23/WCF-Data-Service.aspx>
Acesso em: 08 de novembro de 2012.
MACHADO, A. Smartphones Android e Windows Phone fazem bonito e podem
baratear depois de nova MP.
<http://clippingmp.planejamento.gov.br/cadastros/noticias/2012/9/17/enquantoo-iphone-5-nao-vem-ha-opcoes/> Acesso em: 27 de Outubro de 2012
MACORATTI, J. C. .NET - Apresentando o Silverlight e o Expression Blend.
Macoratti, s.d. Disponível em: <http://www.macoratti.net/08/01/vbn8_svl.htm>
Acesso em: 28 de Outubro de 2012
MACORATTI, J. C. Introdução a XAML
(ExtensibleApplicationMarkupLanguage). Imasters, 2009. Disponível
em:<http://imasters.com.br/artigo/12239/dotnet/introducao-a-xaml-extensibleapplication-markup-language> Acesso em:28 de Outubro de 2012
MENEZES,L. C. M.Gestão de Projetos. Atlas. 2009
MICROSOFT x Adobe . É possível mudar paradigmas?Expressionblend, 2010
Disponível em:<http://expressionblend.blogspot.com.br/>Acesso em:28 de
Outubro de 2012
MICROSOFT SQL SERVER. Microsoft Corporation, 2001. Disponível
em:<http://www.microsoft.com/sqlserver/pt/br/product-info.aspx> Acesso em:28
de Outubro de 2012
MINETT, P., PEARCE, J. Estimating the Energy Consumption Impact of
Casual Carpooling, 2009. Disponível em:
<http://www.flexiblecarpooling.org/casualcarpoolingenergysaving.pdf>Acesso
em: 08 de Outubro de 2012
OLIVEIRA, M. F. S.; OLIVEIRA, O. J. R.; OLIVEIRA, J. F. S. Mobilidade
Urbana e Sustentabilidade. V Encontro Nacional da Anppas, Florianópolis:
55
Santa Catarina, 2010. Disponível em:
<http://www.anppas.org.br/encontro5/cd/artigos/GT11-236-94920100904103333.pdf> Acesso em: 08 de Outubro de 2012
OLIVEIRA, S. C. Educação Ambiental com vistas a um trânsito saudável.
2009. Monografia. (Aperfeiçoamento/Especialização em Interdisciplinar em
Saúde Pública) - Faculdade de Saúde Pública da Usp.
PAGE-JONES, M. Fundamentos do Desenho Orientado a Objeto com UML.
Tradução de Celso Roberto Paschoa. São Paulo: MAKRON Books, 2001.
PEREIRA, P.; ISENTO J. ExtensibleApplicationMarkupLanguage. 2010
<http://www.di.ubi.pt/~ddg/aulas/licenciatura/ppi/Apresentacao5.pdf> Acesso
em:28 de Outubro de 2012
PESQUISA indica que mercado do Windows Phone será maior que do iOS em
quatro anos. São Paulo: UOL, 2012. Disponível
em:<http://adrenaline.uol.com.br/telecom/noticias/12829/pesquisa-indica-quemercado-do-windows-phone-sera-maior-que-do-ios-em-quatro-anos.html>
Acesso em: 28 de Outubro de 2012.
PMI. Um guia do conhecimento em gerenciamento de projetos: Guia
PMBOK. 4ª Edição. Pensilvânia: Project Management Institute, 2008.
POR QUE SQL Server? Microsoft Corporation, 2001. Disponível
em:<http://www.microsoft.com/sqlserver/pt/br/product-info/why-sql-server.aspx>
Acesso em:28 de Outubro de 2012.
POSSI, M. Capacitação em gerenciamento de projetos: guia de referência
didática. Rio de Janeiro: Brasport, 2004.
POWERFUL Technology. Microsoft Expression, s.d. Disponível
em:<http://www.microsoft.com/expression/products/Blend_WhatIsExpressionBl
end.aspx> Acesso em: 28 de Outubro de 2012.
PRADO, T. Android, iOS e Windows Phone: conheça as diferenças entre os
sistemas móveis e escolha o seu! Tappnews, 2012. Disponível em:
<http://www.tappnews.com.br/tecnologia1/1705-android,-ios-e-windows-phoneconhe%C3%A7a-as-diferen%C3%A7as-entre-os-sistemas-m%C3%B3veis-eescolha-o-seu.html> Acesso em: 28 de Outubro de 2012.
PROGRAMAR para Windows Phone é mais vantagem para desenvolvedores.
Comunidade Windows Mobile Brasil. 2011. Disponível em:
<http://winmobr.org/index.php/noticia-programar-para-windows-phone-e-maisvantagem-para-desenvolvedores/> Acesso em: 28 de Outubro de 2012.
56
QUEIROZ, R. B. Serviços baseados em localização (lbs).proposta de um
framework para implantação de lbs em aparelhos celulares. Montes Claros,
2006.
REZENDE, M. A.; FRASSON; A. C.; PILATTI, L. A.; OLIVEIRA, I. L.; MACEDO;
D. C.Perspectivas e tendências de sustentabilidade e mobilidade urbana
devido à copa do mundo 2014: o caso de Curitiba. Produção em Foco, v.1,
n.1, p.66, 83, 2011.Disponível em:
<http://www.sociesc.org.br/producaoemfoco/index.php/producaoemfoco/article/
view/21> Acesso em: 08 de Outubro de 2012.
ROCHA, D. C. T.Gerenciamento da Mobilidade em Empreendimentos
Pólos Geradores de Trafego: Shopping Center em Salvador, 2007. Disponível
em: http://www.meau.ufba.br/site/publicacoes/gerenciamento-da-mobilidadeem-empreendimentos-polos-geradores-de-trafegoshopping-center> Acesso
em: 08 de Outubro de 2012.
SANTIAGO, S. Geolocalização no Bing com Windows Phone. .net
Magazine, edição 83, ano VI, p.7.
SANTOS, I.D. C.; SILVA, T. A. A degradação ambiental causada pela
utilização do transporte aéreo e terrestre. Boletim de Ciências Aeronáuticas
- BCA, V.3, p.5-26. 2009. Disponível
em:<http://professor.ucg.br/siteDocente/admin/arquivosUpload/13772/material/
Boletim%20CAER%202009_3.pdf> Acesso em: 08 de Outubro de 2012.
SEABRA JÚNIOR, R. M. Análise e Projeto Orientado a Objetos Usando
UML e o Processo Unificado. Universidade Federal do Pará, 2001. Disponível
em: <http://www.ufpa.br/cdesouza/teaching/cedai/APOOUMLP.pdf>. Acesso
em: 13 de Outubro de 2012.
SILVA, A. de A.; GOMIDE, C. F.; PETRILLO, F. Metodologia e Projeto de
Software Orientados a Objetos: Modelando, Projetando e Desenvolvendo
Sistemas com UML e Componentes Distribuídos. 1. ed. São Paulo: Érica, 2003.
SILVA, M. V. Aquecimento global. Colégio Adventista de Taboão da Serra.
Taboão da Serra, 2009. Disponível em:
<http://www.cms.paulistasul.org.br/content/files/afd900c397b94721a642eed96b
64ce5e/Modelo_TCPEM.pdf> Acesso: 08 de Outubro de 2012.
SILVA, E. P.; CAMARGO, J. C.; SORDI, A.; SANTOS, A. M. R.Recursos
energéticos, meio ambiente e desenvolvimento. Multi Ciência: O Futuro dos
Recursos. 2003. Disponível em:
<http://www.multiciencia.unicamp.br/art04.htm>Acesso em: 08de Outubro de
2012.
57
SOMMERVILLE, I. Engenharia de software. Tradução de Selma Shin Shimizu
Melnikoff, Reginaldo Arakaki e Edílson de Andrade Barbosa. 8ª Edição. São
Paulo: Pearson Addison-Wesley, 2007.
TELEFONE plataforma de desenvolvimento. O que é o desenvolvimento para
telefones? (visão geral). MSDN,2012. Disponível em:
<http://msdn.microsoft.com/pt-br/ff380145.aspx>Acesso em: 28 de Outubro de
2012.
TRANSPORTES e logística na gestão de emissões de gases de efeito estufa.
São Paulo: Fundação Getulio Vargas, 2011. Disponível em:
<http://ces.fgvsp.br/epc/cms/arquivos/cartilha_epc_transportes.pdf>Acesso em:
08 de Outubro de 2012.
TUTORIAL: Clássico “Olá Brasil” (Olá mundo) para Windows Phone 7.
Comunidade Windows Mobile Brasil. 2010. Disponível em:
<http://winmobr.org/index.php/tutorial-desenvolvendo-para-windows-phone-7parte-001/> Acesso em: 28 de Outubro de 2012.
TUTORIAL: Microsoft Visual Studio. Comunidade Windows Mobile Brasil. 2010.
Disponível em:<http://winmobr.org/index.php/tutorial-microsoft-visual-studio/>
Acesso em: 28 de Outubro de 2012.
VENDA de smartphones ultrapassará a de celulares em 2013. São Paulo:
INFO Online, 2012. Disponível em:
<http://adnews.uol.com.br/pt/tecnologia/venda-de-smartphones-ultrapassara-ade-celulares-em-2013-diz-pesquisa.html> Acesso em: 28 de Outubro de 2012.
VENDAS de smartphones no Brasil crescem 179% em 2011, diz pesquisa. São
Paulo: Globo, 2012. Disponível em:
<http://g1.globo.com/tecnologia/noticia/2012/03/vendas-de-smartphones-nobrasil-crescem-179-em-2011-diz-pesquisa.html> Acesso em: 28 de Outubro de
2012.
VISUAL Studio. Microsoft, 2012. Disponível em:
<http://www.allen.com.br/parceiros/microsoft/Paginas/visualstudio.aspx>Acesso em: 28 de Outubro de 2012.
WHAT IS Windows Communication Foundation, s.d. Disponível em:
<http://msdn.microsoft.com/en-us/library/ms731082.aspx>Acesso em: 08 de
novembro de 2012
WINDOWS COMMUNICATION Foundation,s.d. Disponível em:
<http://msdn.microsoft.com/en-us/library/dd456779.aspx>Acesso em: 24 de
58
outubro de 2012.
XAML Overview. Msdn, s.d. Disponível em: <http://msdn.microsoft.com/ptbr/library/ms752059(v=vs.90).aspx> Acesso em:28 de Outubro de 2012.
59
9. APÊNDICES
9.1 ApêndiceA – Gerenciamento do Projeto
9.1.1 Termo de Abertura do Projeto
9.1.1.1
Justificativa
Ao longo das últimas três décadas, os temas “crescimento econômico” e
“sustentabilidade ambiental” têm sido debatidos no mundo inteiro. A sociedade
presencia o fortalecimento econômico global, principalmente por parte dos
países emergentes. Embora a preocupação com o impacto no meio ambiente
tenha crescido junto com a economia mundial, pouco tem sido feito pelos
governantes: as campanhas educativas sobre preservação ambiental são
pífias, o investimento no transporte público não atinge um nível desejado que
possibilite conforto e rapidez aos usuários e as indústrias automobilísticas,
além de não investirem maciçamente em fontes de energia menos poluentes,
utilizam sua imensa mão-de-obra como refém nas negociações com os
governos com o intuito de reduzir impostos e maximizar os lucros.
Ainda em relação ao crescimento econômico global, não se pode deixar
de citar como um de seus resultados o crescimento tecnológico na área de
informação que permitiu, a um baixo custo, a utilização de computadores
pessoais,
telefones
celulares
e,
principalmente,
a
revolução
na
interconectividade entre pessoas do mundo inteiro através da Internet.
O resultado no Brasil deste crescimento econômico global, aliado a uma
inflação controlada desde 1994 através do Plano Real, tem sido o crescimento
do poder aquisitivo do cidadão brasileiro, a utilização maciça de redes sociais
(impulsionada por programas de inclusão digital) e o desejo por uma
mobilidade urbana mais ágil; todavia, a atual ineficiência do transporte público
e a baixa aderência a meios de transporte alternativos resultou num trânsito
caótico nas grandes e médias cidades, enfrentado por pessoas que têm a
necessidade de se locomover de um ponto a outro no menor tempo possível.
Frente à situação atual do trânsito nas grandes cidades brasileiras, e
entendendo que os aparelhos celulares deixaram de ser um mero telefone e se
transformaram numa poderosa ferramenta que permite a interatividade entre os
cidadãos, o aplicativo “Garupando”, tem como finalidade principal permitir que
60
pessoas compartilhem seus meios de transporte. O resultado prático do uso do
“Garupando” pelo cidadão que deixa seu carro na garagem e desloca-se para o
trabalho, escola, faculdade ou qualquer outro local por meio de caronas é uma
melhora na mobilidade urbana e a redução de gás carbônico emitido na
atmosfera e da interatividade com outras pessoas além da tela de um
computador.
9.1.1.2
Visão Geral do Escopo
O aplicativo para Windows Phone “Garupando” é uma solução criativa e
poderosa que possibilita a interatividade entre pessoas que possuem rotas em
comum, diminuindo a quantidade de veículos transitando num mesmo
momento e para o mesmo local, e contribuindo significativamente para a
redução dos congestionamentos e a emissão de poluentes no meio ambiente.
9.1.1.3
Restrições
- Prazo para entrega do PAP.
- Recursos técnicos e humanos limitados à equipe do PAP.
- Falta de estrutura adequada para o desenvolvimento do PAP.
9.1.1.4
Premissas
As premissas para o desenvolvimento e implantação do aplicativo
Garupando são:
- Disponibilização de uma equipe comprometida com o sucesso no
desenvolvimento e implementação do projeto, de acordo com os perfis e
cronograma apresentados no projeto;
- Participação do orientador, também comprometido com o sucesso do
projeto;
- Aprovação de todos os integrantes da equipe no PAP.
61
9.2 Apêndice B -Plano de Gerenciamento do escopo
9.2.1 Descrição Detalhada do Produto
O software a ser desenvolvido deve observar características específicas de
produto, entre elas:

Aplicativo exclusivo para sistemas mobile (Windows Phone);

Plataforma C#;

Banco de dados SQL Server 2008 Express;

Microsoft Visual Studio 2010 Express;

API para serviço web e comunicação com o Banco de dados através de
XML.
Escopo contemplado:

O projeto proverá uma solução que possibilite uma alternativa de
transporte para pessoas que compartilham trajetos em comum, visando
ocupar melhor os veículos. Desse modo os custos da viagem, tanto para
quem oferece carona quanto para quem faz uso dela, diminuem e
ambos passam a contribuir para a redução dos congestionamentos e a
emissão de poluentes no meio ambiente.

O aplicativo Garupandopossibilita que o usuário encontre o seu parceiro ideal
de carona, sendo possível selecionar a melhor carona para seu destino de
forma segura, rápida e eficaz.

O usuário poderá se cadastrar como motorista ou garupeiro. Ele deverá
cadastrar suas rotas e pesquisar por caronas oferecidas para
compartilhar viagens com outros membros.

De acordo com a sua localização (rua, bairro ou ponto de encontro),
nosso software irá buscar e mostrar resultados por proximidade dentro
de um perímetro, com base nas rotas cadastradas por outros usuários.

O usuário poderá enviar mensagens para outros usuários, controladas
pelo aplicativo, contendo texto livre, a fim de combinar os detalhes da
carona.

Após a carona efetivada, o usuário poderá qualificar a carona, a fim de
manter um histórico da reputação dos usuários caroneiros.
62
9.2.2 Escopo não Contemplado
Não será entregue o escopo de Layout.
Não será cedido o código-fonte do aplicativo ao cliente.
Não serão cedidos aparelhos Windows Phone ao cliente.
Não será cedido manual ou dado treinamento ao cliente.
Não será prestada assistência ao cliente sobre a utilização do aparelho.
Após a entrega do aplicativo, cessará o vínculo entre os integrantes do
projeto com o cliente, não sendo prestada qualquer assistência de
suporte/ajuda ao cliente.
A utilização do aplicativo é de responsabilidade única e exclusiva do
usuário.
Não é (são) responsabilidade(s) dos integrantes do projeto:
- integridade dos dados informados pelos usuários;
- disponibilidade de conexão com a web;
- disponibilidade do aplicativo;
- atualizações e manutenções preventivas e/ou corretivas do
aplicativo;
- malversação na utilização do aplicativo.
9.2.3 EAP / WBS
1. Gerenciamento do Projeto
1.1 Engenharia
1.1.1 Ambientação com o projeto
1.1.2Requisitos
1.1.2.1Encontrar necessidades do cliente
1.1.2.2Definir requisitos do cliente
1.1.2.3Definir estratégia preliminar de implementação
1.1.2.4Marcar ponto de aprovação com o cliente (Termo Abertura)
1.2 Gestão Integrada do Projeto
1.2.1 Escopo do Projeto
1.2.2 Gerenciamento de Tempo do Projeto
1.2.2.1 Definição das Atividades
63
1.2.2.2 Sequenciamento das Atividades
1.2.2.3 Estimativa de Recursos
1.2.2.4 Cronograma
1.2.3 Gerenciamento de Custo do Projeto
1.2.3.1 Estimativa de Custo
1.2.3.2 Orçamento
1.2.4 Análise dos Requisitos
1.2.4.1 Entrega 1
1.2.4.1.1 Caso de uso “Cadastrar usuário”
1.2.4.1.2 Caso de uso “Recuperar Senha”
1.2.4.1.3 Caso de uso “Configurar Conta”
1.2.4.1.4 Criação dos protótipos
1.2.4.2 Alterações Entrega 1
1.2.4.2.1 Reunião de aprovação com o cliente
1.2.4.2.2 Marcar ponto de aprovação com o cliente
1.2.4.3 Entrega 2
1.2.4.3.1 Caso de uso “Acessar Sistema”
1.2.4.3.2 Caso de uso “Gerenciar Rotas”
1.2.4.3.3 Criação dos protótipos
1.2.4.4 Alteração Entrega 2
1.2.4.4.1 Reunião de aprovação com o cliente
1.2.4.4.2 Marcar ponto de aprovação com o cliente
1.2.4.5 Entrega 3
1.2.4.5.1 Caso de uso “Consultar Rotas”
1.2.4.5.2 Caso de uso “Gerenciar Mensagens”
1.2.4.5.3 Criação dos protótipos
1.2.4.6 Alteração Entrega 3
1.2.4.6.1 Reunião de aprovação com o cliente
1.2.4.6.2 Marcar ponto de aprovação com o cliente
1.3 Arquitetura
1.3.1 Entrega 1
1.3.1.1 Diagrama de atividade
1.3.1.2 Projeto Banco de dados
1.3.1.3 Diagrama de classe
64
1.3.1.4 Diagrama de sequencia
1.3.1.5 Desenho da arquitetura
1.3.1.6 Marco: Ponto de aprovação
1.3.2 Alteração Entrega 1
1.3.2.1 Alterar Diagrama de atividade
1.3.2.2 Alterar Banco de dados
1.3.2.3 Alterar Diagrama de Classe
1.3.2.4 Alterar Diagrama de sequência
1.3.2.5 Alterar Desenho da arquitetura
1.4 Testes
1.4.1 Definir Testes
1.4.2Entrega 1
1.4.2.1 Caso de teste “Cadastrar Usuário”
1.4.2.2 Caso de teste “Recuperar Senha”
1.4.2.3 Caso de teste “Configurar Conta”
1.4.2.4 Inspeção Casos de Testes
1.4.2.5 Retrabalho de Inspeção
1.4.2.6 Marco: Ponto de aprovação
1.4.3Entrega 2
1.4.3.1 Caso de teste “Acessar Sistema”
1.4.3.2 Caso de teste “Gerenciar Rotas”
1.4.3.3 Inspeção Casos de Testes
1.4.3.4 Retrabalho de Inspeção
1.4.3.5 Marco: Ponto de aprovação
1.4.4 Entrega 3
1.4.4.1 Caso de teste “Consultar Rotas”
1.4.4.2 Caso de teste “Gerenciar Mensagem”
1.4.4.3 Inspeção Casos de Testes
1.4.4.4 Retrabalho de Inspeção
1.4.4.5 Marco: Ponto de aprovação
1.5 Codificação
1.5.1 Ambientação com o projeto – codificação
1.5.2 Montar ambiente
1.5.3 Codificação Entrega 1
65
1.5.3.1 Implementar Produto
1.5.3.1.1 Entrega caso de uso “Cadastrar Usuário”
1.5.3.1.2 Entrega caso de uso “Recuperar Senha”
1.5.3.1.3 Entrega caso de uso “Configurar Conta”
1.5.3.2 Testes
1.5.3.2.1 Executar caso de uso “Cadastrar Usuário”
1.5.3.2.2 Retrabalho em caso de imperfeições
1.5.3.2.3 Executar caso de uso “Recuperar Senha”
1.5.3.2.4 Retrabalho em caso de imperfeições
1.5.3.2.5 Executar caso de uso “Configurar Conta”
1.5.3.2.6 Retrabalho em caso de imperfeições
1.5.4 Codificação Entrega 2
1.5.4.1 Implementar Produto
1.5.4.1.1 Entrega caso de uso “Acessar Sistema”
1.5.4.1.2 Entrega caso de uso “Gerenciar Rotas”
1.5.4.2 Testes
1.5.4.2.1 Executar caso de uso “Acessar Sistema”
1.5.4.2.2 Retrabalho em caso de imperfeições
1.5.4.2.3 Executar caso de uso “Gerenciar Rotas”
1.5.4.2.4 Retrabalho em caso de imperfeições
1.5.5 Codificação Entrega 3
1.5.5.1 Implementar Produto
1.5.5.1.1 Entrega caso de uso “Consultar Rotas”
1.5.5.1.2 Entrega caso de uso “Gerenciar Mensagens”
1.5.5.2 Testes
1.5.5.2.1 Executar caso de uso “Consultar Rotas”
1.5.5.2.2 Retrabalho em caso de imperfeições
1.5.5.2.3 Executar caso de uso “Gerenciar Mensagens”
1.5.5.2.4 Retrabalho em caso de imperfeições
1.6 Elaboração do PAP
1.6.1 Elaborar a fundamentação teórica
1.6.2 Formatar trabalho
1.6.3 Testes Integrados
66
1.6.4 Testes Assistidos (Banca)
9.2.4 Dicionário EAP / WBS
TabelaIV - Critérios de aprovação
ID
Pacote de Trabalho
Descrição
Critério de
Aceitação
1
Gerenciamento do
Projeto
Documentos e áreas de
Conhecimento necessárias para o
gerenciamento do projeto.
Aprovação do
orientador.
1.1
Engenharia
Documentos necessários para a
ambientação com o projeto.
Aprovação do
orientador.
1.1.2
Requisitos
Documentos que contemplam os
requisitos solicitados pelo cliente.
Aceite do
cliente.
1.1.2.4
Termo de Abertura
Documento que contempla o
escopo macro, marcos, restrições
e premissas do projeto.
Aceite do
cliente.
1.2
Gestão Integrada do
Projeto
Documentos que auxiliam o
controle e acompanhamento do
projeto.
Aprovação do
orientador.
1.2.1
Escopo do Projeto
Descreve em detalhes (EAP) os
pacotes de trabalho que devem ser
entregues.
Aceite do
cliente.
1.2.2
Gerenciamento de
Tempo do Projeto
Documentos necessários para o
gerenciamento do tempo do
projeto.
Aprovação do
orientador.
1.2.2.1
Definição das
Atividades
Definição das atividades que
compõem o desenvolvimento do
software e gerenciamento do
projeto.
Aceite do
cliente.
1.2.2.3
Estimativa de
Recursos
Estimativa da quantidade e
cargos/funções da equipe do
projeto.
Aceite do
cliente.
1.2.3
Gerenciamento de
Custo do Projeto
Documento que descreve como o
custo do projeto deve ser
gerenciado.
Aprovação do
orientador.
67
1.2.3.1
Estimativa de Custo
Estimativa de custo para
realização do projeto.
Aceite do
cliente.
1.2.4
Análise dos
Requisitos
Definição dos casos de uso e
protótipos.
Aceite do
cliente.
1.3
Arquitetura
Definição dos componentes de
software
Aprovação do
orientador.
1.4
Testes
Definir estratégia de
implementação dos testes.
Aceite do
cliente.
1.5
Codificação
Desenvolvimento e teste dos casos
de uso
Aceite do
cliente.
1.6
Elaboração do PAP
Documentos necessários para a
defesa do projeto.
Aprovação do
orientador e da
banca.
9.3 Apêndice C – Gerenciamento do tempo
Plano de gerenciamento do tempo
TabelaV - Lista de Atividades
Id EAP
Descrição
Atividades
1.5.3.1.1
Entrega
caso
de 1. Criar a tela de Autenticação do usuário.
uso“Cadastrar usuário“
2. Criar campo de Aceitação de Contrato.
1.5.3.1.2
Entrega caso de uso 1. Criar a tela de Recuperação de Senha.
“Recuperar Senha”
2. Criar validação para recuperação.
1.5.3.1.3
Entrega
caso
de 1. Criar a tela de configurar Conta.
uso“Configurar Conta”
2. Criar validação de atualização do registro.
1.5.4.1.1
Entrega caso de uso 1. Criar a tela de menu principal.
“Acessar Sistema”
2. Integrar menucom as outras telas do
sistema.
68
1.5.4.1.2
Entrega caso de uso 1. Criar a tela de inserção das rotas.
“Gerenciar Rotas”
2. Criar a tela de apresentação das rotas.
1.5.5.1.1
Entrega caso de uso 1. Criar a tela de comparação das rotas.
“Consultar Rotas”
2. Configurar a API para comparar as rotas
informadas.
1.5.5.1.2
Entrega caso de uso 1. Configurar o sistema para permitir o contato
“Gerenciar Mensagem”
entre usuários.
2. Criar as telas de contato.
TabelaVI - Lista de atributos das atividades
Id EAP
Descrição
Atividade
Atividade
Predecessora
Restrição
Premissas
1.5.3.1.1
Criar a tela de
Autenticação
do usuário.
n/c
n/c
n/c
1.5.3.1.1
Criar campo
de Aceitação
de Contrato.
1.5.3.1.1.1 Criar a tela
de
Autenticação
do usuário
n/c
1.5.3.1.2
Recuperar
Senha.
n/c
n/c
1.5.3.1.2
Criar tela de
recuperação
de senha.
1.5.3.1.1 –
Configurar
autenticação
do usuário
n/c
1.5.3.1.3
Configurar
conta
n/c
n/c
n/c
Fernanda
Lemos
1.5.3.1.3
Criar tela
Configurar
conta
n/c
n/c
n/c
Fernanda
Lemos
1.5.4.1.1
Acessar
1.5.3.1.1 –
n/c
Atividade
1.5.3.1.1.1
concluída
n/c
Atividade
1.5.3.1.1
concluída
Atividade
Responsável
Anderson Silva
Anderson Silva
Luiz Gustavo
Luiz Gustavo
StefhanyZgod
69
Sistema.
Configurar
autenticação
do usuário
1.5.3.1.1
concluída
a
1.5.4.1.1
Criar tela
Acessar
Sistema
1.5.3.1.1 –
Configurar
autenticação
do usuário
n/c
Atividade
1.5.3.1.1
concluída
StefhanyZgod
a
1.5.4.1.2
Criar a tela de
gerenciar
rotas.
1.5.3.1.1 –
Configurar
autenticação
do usuário
n/c
Ferramenta
implementa
da e
homologad
a pelo
cliente.
Anderson Silva
1.5.4.1.2
Criar a tela de
gerenciar
rotas.
1.5.3.1.1 –
Configurar
autenticação
do usuário
n/c
Atividade
1.5.3.1.1
concluída
Anderson Silva
1.5.5.1.1
Criar a tela de
comparação
das rotas.
1.5.4.1.2 –
Gerenciar
Rota
n/c
Ferramenta
implementa
da e
homologad
a pelo
cliente.
Luiz Gustavo
1.5.5.1.1
Configurar
consultar
Rotas.
1.5.5.1.1. Criar a tela
de
comparação
das rotas.
n/c
Atividade
1.5.5.1.1
concluída
Luiz Gustavo
1.5.5.1.2
Configurar
Gerenciar
Mensagens
1.5.5.1.1 –
Configurar
Consultar
Rotas
n/c
Atividade
1.5.5.1.1
concluída
Fernanda
Lemos
TabelaVII - Lista de Marcos
Id EAP
1.1.2.4
1.2.4
1.4
Descrição
Marcar ponto de
aprovação com o
cliente
(Termo
Abertura)
Análise
dos
requisitos
Testes
Obrigatório
Sim
Origem
Previsto em acordo
Sim
Previsto em acordo
Sim
Previsto em acordo
70
Figura I - Diagrama de Rede
9.3.1 Cronograma
O cronograma foi ajustado para refletir a realidade da seguinte forma:
- Número de horas trabalhadas por dia: 2 horas.
- Número de dias trabalhados por mês: 20 dias.
TabelaVIII - Recursos das Atividades
Nome da tarefa
Duração
Gerenciamento do Projeto
696 hrs
1.1 Engenharia
32 hrs
1.1.1 Ambientação com o projeto
4 hrs
1.1.2 Requisitos
28 hrs
1.1.2.1 Encontrar necessidades do cliente
2 hrs
1.1.2.2 Definir requisitos do cliente
16 hrs
1.1.2.3 Definir estratégia preliminar de implementação
8 hrs
1.1.2.4 Marcar ponto de aprovação com o cliente (Termo
Abertura)
1.2 Gestão Integrada do Projeto
2 hrs
120 hrs
1.2.1 Escopo do Projeto
8 hrs
1.2.2 Gerenciamento de Tempo do Projeto
102 hrs
1.2.2.1 Definição das Atividades
2 hrs
1.2.2.2 Sequenciamento das Atividades
2 hrs
71
1.2.2.3 Estimativa de Recursos
4 hrs
1.2.2.4 Cronograma
6 hrs
1.2.3 Gerenciamento de Custo do Projeto
10 hrs
1.2.3.1 Estimativa de Custo
2 hrs
1.2.3.2 Orçamento
8 hrs
1.2.4 Análise dos Requisitos
1.2.4.1 Entrega 1
104 hrs
26 hrs
1.2.4.1.1 Caso de uso “Cadastrar usuário”
4 hrs
1.2.4.1.2 Caso de uso “Recuperar Senha”
6 hrs
1.2.4.1.4 Caso de uso "Configurar Conta"
8 hrs
1.2.4.1.4 Criação dos protótipos
8 hrs
1.2.4.2 Alterações Entrega 1
6 hrs
1.2.4.2.1 Reunião de aprovação com o cliente
4 hrs
1.2.4.2.2 Marcar ponto de aprovação com o cliente
2 hrs
1.2.4.3 Entrega 2
18 hrs
1.2.4.3.1 Caso de uso “Acessar Sistema”
2 hrs
1.2.4.3.2 Caso de uso "Gerenciar Rotas"
8 hrs
1.2.4.3.3 Criação dos protótipos
8 hrs
1.2.4.4 Alteração Entrega 2
8 hrs
1.2.4.4.1 Reunião de aprovação com o cliente
4 hrs
1.2.4.4.2 Marcar ponto de aprovação com o cliente
4 hrs
1.2.4.5 Entrega 3
1.2.4.5.1 Caso de uso "Consultar Rotas"
38 hrs
14 hrs
1.2.4.5.2 Caso de uso "Gerenciar Mensagens"
14 hrs
1.2.4.5.3 Criação dos protótipos
10 hrs
1.2.4.6 Alteração Entrega 3
8 hrs
1.2.4.6.1 Reunião de aprovação com o cliente
4 hrs
1.2.4.6.2 Marcar ponto de aprovação com o cliente
4 hrs
1.3 Arquitetura
1.3.1 Entrega 1
106 hrs
90 hrs
72
1.3.1.1 Diagrama de atividade
10 hrs
1.3.1.2 Projeto Banco de dados
8 hrs
1.3.1.3 Diagrama de classe
10 hrs
1.3.1.4 Diagrama de sequencia
8 hrs
1.3.1.5 Desenho da arquitetura
8 hrs
1.3.1.6 Marco: Ponto de aprovação
4 hrs
1.3.2 Alteração Entrega 1
76 hrs
1.3.2.1 Alterar Diagrama de atividade
8 hrs
1.3.2.2 Alterar Banco de dados
8 hrs
1.3.2.3 Alterar Diagrama de Classe
8 hrs
1.3.2.4 Alterar Diagrama de sequencia
8 hrs
1.3.2.5 Alterar Desenho da arquitetura
8 hrs
1.4 Testes
142 hrs
1.4.1 Definir Testes
8 hrs
1. 4.2 Entrega 1
46 hrs
1.4.2.1 Caso de Teste “Cadastrar usuário”
8 hrs
1.4.2.2 Caso de Teste “Recuperar Senha”
8 hrs
1.4.2.3 Caso de Teste "Configurar Conta"
8 hrs
1.4.2.4 Inspeção Casos de Testes
6 hrs
1.4.2.5 Retrabalho de Inspeção
8 hrs
1.4.2.6 Marco: Ponto de aprovação
8 hrs
1.4.3 Entrega 2
1.4.3.1 Caso de Teste “Acessar Sistema”
1.4.3.2 Caso de Teste "Gerenciar Rotas "
48 hrs
12 hrs
10 hrs
1.4.3.3 Inspeção Casos de Testes
10 hrs
1.4.3.4 Retrabalho de Inspeção
8 hrs
1.4.3.5 Marco: Ponto de aprovação
8 hrs
1.4.4 Entrega 3
40 hrs
1.4.4.1 Caso de Teste " Consultar Rotas"
10 hrs
1.4.4.2 Caso de Teste " Gerenciar Mensagens"
8 hrs
73
1.4.4.3 Inspeção Casos de Testes
6 hrs
1.4.4.4 Retrabalho de Inspeção
8 hrs
1.4.4.5 Marco: Ponto de aprovação
8 hrs
1.5 Codificação
696 hrs
1.5.1 Ambientação com o projeto – codificação
20 hrs
1.5.2 Montar ambiente
20 hrs
1.5.3 Codificação Entrega 1
280 hrs
1.5.3.1 Implementar Produto
86 hrs
1.5.3.2 Testes
84 hrs
1.5.3.2.1 Executar Caso de Teste “Cadastrar usuário”
8 hrs
1.5.3.2.2 Retrabalho em caso de imperfeições
20 hrs
1.5.3.2.3 Executar Caso de Teste “Recuperar Senha”
8 hrs
1.5.3.2.4 Retrabalho em caso de imperfeições
20 hrs
1.5.3.2.5 Executar Caso de Teste " Configurar Conta"
8 hrs
1.5.3.6 Retrabalho em caso de imperfeições
20 hrs
1.5.4 Codificação Entrega 2
1.5.4.1 Implementar Produto
496 hrs
100 hrs
1.5.4.1 Entrega caso de uso “Acessar Sistema”
50 hrs
1.5.4.2 Entrega caso de uso " Gerenciar Rotas"
50 hrs
1.5.4.2 Testes
496 hrs
1.5.4.2.1 Executar caso de uso “Acessar Sistema”
8 hrs
1.5.4.2.2 Retrabalho em caso de imperfeições
20 hrs
1.5.4.2.3 Executar caso de uso “Gerenciar Rotas”
8 hrs
1.5.4.2.4 Retrabalho em caso de imperfeições
20 hrs
1.5.5 Codificação Entrega 3
1.5.5.1 Implementar Produto
680 hrs
160 hrs
1.5.5.1.1 Entrega caso de uso “Consultar Rotas”
80 hrs
1.5.5.1.2 Entrega caso de uso “Gerenciar Mensagens”
80 hrs
1.5.5.2 Testes
1.5.5.2.1 Executar caso de uso “Consultar Rotas”
680 hrs
8 hrs
74
1.5.5.2.2 Retrabalho em caso de imperfeições
20 hrs
1.5.5.2.3 Executar caso de uso “Gerenciar Mensagens”
8 hrs
1.5.5.2.4 Retrabalho em caso de imperfeições
20 hrs
1.6 Elaboração do PAP
96 hrs
1.6.1 Elaborar a fundamentação teórica
80 hrs
1.6.2 Formatar trabalho
8 hrs
1.6.3 Testes Integrados
6 hrs
1.6.4 Testes Assistidos (Banca)
2 hrs
Figura II - Estrutura Analítica dos Recursos
9.3.2 Durações das Atividades
As durações das atividades serão estimadas através dos casos de uso
respeitando as datas definidas no cronograma do PAP.
75
9.4 Apêndice D - Gerenciamento da qualidade
Plano de gerenciamento da qualidade
TabelaIX - Requisitos e Garantia da Qualidade
Item da EAP
Indicadores
Definição
Forma de Medição
Meta
Responsável
1.3.3
Status de
Verificar se o cliente está de
Aprovação ou não do
100%
Stefhany
Análise dos aprovação do
acordo com os requisitos
cliente em relação aos
análise de requisito.
Requisitos
apresentados.
requisitos.
Conforme
cliente.
Periodicidade
A cada pacote de
cronograma.
Status de
Verificar se todas as regras
Comparação entre as
implementação
de negócio estão
regras de negócio e as
desenvolvimento de
dos casos de uso.
implementadas nos métodos.
funcionalidades do
acordo com o
sistema.
cronograma.
1.4
Status de
Verificar se a pesquisa e
Aprovação ou não do
Elaboração
aprovação do
documentação estão de
orientador.
do PAP
orientador.
acordo com a norma da
ABNT e com o modelo do
PAP.
100%
100%
Luiz
Fernanda
A cada pacote de
Quinzenalmente
76
1.5
Definir Status de
Arquitetura
Verificar se o cliente está de
Aprovação ou não do 100%
aprovação do
acordo com a plataforma
cliente em relação à
cliente.
solicitada.
plataforma.
Status de
Verificar
implementação
planejada está de acordo aferir a adequação da
da arquitetura.
com
os
se
a
casos
arquitetura Realizar
de
testes
para 100%
Anderson
Única
Anderson
Única
Stefhany
A cada finalização
uso arquitetura.
aprovados pelo cliente.
1.6.1 Definir Relação
Testes
entre Verificar a quantidade total
erros encontrados de erros encontrados durante
% = Erros/ casos de 30%
teste.
do pacote de
pelo número de os testes e dividir pelo
entrega do código /
casos de teste.
número total de casos de
programa,
testes criados.
estipulado no
cronograma.
77
9.5 Apêndice E -Gerenciamento da comunicação
Plano de gerenciamento da comunicação
TabelaX - Identificação das Partes Interessadas e Estratégia de Comunicação
Stakeholder
Contato
Identificação
Análise dos constituintes
Estratégia
da Categoria
Orientadora
[email protected]
Juliana Kolb
Entrega de
Poder: potencial impacto da
Envio de
resultados,
avaliação do projeto; influência:
documentação geral
contribuinte,
positiva, atuando como
do projeto, tais como
revisão,
formadora de opinião e
cronograma,
auditoria.
motivadora da equipe;
escopo, casos de
envolvimento: comprometimento uso; pedidos de
e apoio; prioridade: prazo e
orientação.
qualidade do produto.
Equipe
[email protected],
Desenvolviment
Poder: alto impacto no
Troca de
Anderson Corrêa,
[email protected],
o, entrega de
desenvolvimento do projeto;
experiências e
Fernanda Lemos,
[email protected],
resultados,
influência: positiva, atuando
dificuldades
Luiz Gustavo,
[email protected]
testes.
com coesão; envolvimento: foco
enfrentadas pela
ecomprometimento total com o
equipe.
StefhanyZgoda
projeto; prioridade: prazo e
qualidade do projeto.
78
Coordenador
[email protected]
Nélio Kubo
Auditoria,
Poder: potencial impacto da
Envio da
homologação.
avaliação do projeto; influência:
documentação
irrelevante; envolvimento:
compilada ao final
irrelevante; prioridade: prazo e
do projeto.
qualidade do produto e do
projeto.
Cliente
Employer
[email protected]
Homologação.
Poder: alto impacto da
Envio do produto
avaliação e homologação do
final.
produto; influência: irrelevante;
envolvimento: irrelevante;
prioridade: qualidade do
produto.
79
TabelaXI - Plano de Comunicação
Stakeholders
Propósito das
Ferramentas/Mídias de comunicação
Responsável
Quando
mensagens / Ações da
Comunicação
Orientador
Informações e
Formalmente por e-mail e reuniões,
questionamentos sobre o
informalmente por telefone.
Fernanda
toda
semana, e sempre que se
andamento do projeto
Equipe
Impreterivelmente
fizer necessário.
Troca de experiências e
Formalmente por atas de reunião,
dificuldades enfrentadas
informalmente por e-mails e telefone.
Orientador
Sempre
que
se
necessário.
durante o projeto
Coordenador
Protocolar o projeto e
Sempre formalmente, através do Portal
solicitações. Fazer as
acadêmico, protocolo, apresentações,
devidas apresentações e
memorandos.
Equipe
Ao final do projeto.
entregas solicitadas pelo
stakeholder.
Cliente
Informações sobre o
Formalmente por e-mail, informalmente
andamento do projeto
por telefone.
Luiz Gustavo
A cada entrega parcial.
fizer
80
9.6 Apêndice F – Especificação dos Requisitos do Projeto
Este capítulo determina os requisitos do projeto.
Legendas
1. Prioridade
a) P – Pouca importância
b) ME – Média para baixa importância
c) MU – Muita importância
d) E – Essencial importância
2. Fonte de Identificação de Requisitos
a) C – Cliente
b) A - Analista
3. Operação - Gerenciamento de Requisitos – OP.
a) I – Inclusão – Novo Requisito
b) A – Alteração – Requisito Alterado
c) E – Exclusão – Requisito Excluído
Requisitos do Projeto
TabelaXII - Característica de Qualidade – Funcionalidade
Nro.
Descrição do Requisito
F-1
Utilização do Bing Maps API para E
encontrar a localização.
Prioridade
Fonte
A
81
F-2
Disponibilidade
do
aplicativo
via P
A
Marketplace.
F-3
Obrigatoriedade de concordância no MU
contrato
de
aceite
sobre
A
as
informações cadastradas.
F-4
Estabelecer métodos que garantam o
sigilo
do
usuário.
administradores
do
Somente
servidor
E
A
os
serão
autorizados a acessar e manipular as
informações.
F-5
Suportar a inclusão de texto livre.
MU
A
F-6
Capacidade de consultar e rever todas
MU
A
MU
A
as mensagens recebidas e enviadas
desde que as mesmas não tenham sido
excluídas pelo usuário.
F-7
Capacidade de apresentar os dados de
forma automática, como rotas similares.
TabelaXIII- Característica de Qualidade – Usabilidade
Nro.
Descrição do Requisito
Prioridade
Fonte
U-1
Interface amigável.
ME
C
U-2
Ajuda contextual facilitada em cada P
A
tela.
U-3
Disponibilidade
qualquer
parte
Marketplace.
de
do
instalação
mundo
de P
via
C
82
U-4
Fácil aprendizado
ME
C
U-5
Memorização: o sistema deve ser de ME
C
fácil lembrança, ou seja, ao passar um
determinado período sem utilizar o
sistema
o
usuário
pode
utilizá-lo
novamente sem ter que aprender tudo
novamente.
TabelaXIV - Característica de Qualidade – Confiabilidade
Nro.
Descrição do Requisito
Prioridade
C-1
Cuidados no desenvolvimento a fim de E
Fonte
A
evitar defeitos.
C-2
Testes de tempo médio entre falhas.
MU
A
C-3
Tempo de resposta.
MU
A
C-4
Garantir a verificação da integridade E
A
dos dados armazenados no banco de
dados.
TabelaXV - Característica de Qualidade – Eficiência
Nro.
Descrição do Requisito
Prioridade
E-1
Necessidade de inserir aspectos ainda P
Fonte
A
inexistentes em produtos concorrentes.
E-2
Compatibilidade
smartphones.
com
versões
de ME
A
83
TabelaXVI - Característica de Qualidade – Portabilidade
Nro.
Descrição do Requisito
Prioridade
P-1
Permitir ao máximo de usuários o MU
Fonte
C
acesso ao sistema.
P-2
Organização do sistema em camadas.
UM
A
TabelaXVII -Característica de Qualidade – Manutenibilidade
Nro.
Descrição do Requisito
Prioridade
M-1
Avaliar a requisição da mudança, ME
Fonte
A
avaliando sua real necessidade.
M-2
Estimar
custo
e
tempo
para ME
A
ME
A
de
umprojeto ME
A
M-5
Padronização de código.
ME
A
M-6
Identificação correta dos componentes ME
A
Implementação.
M-3
Atualizar a documentação.
M-4
Desenvolvimento
simplificado.
conforme documentação.
84
9.7 Apêndice G – Modelagem
Casos de uso
9.7.1 Cadastrar usuário
IDENTIFICAÇÃO DO
UC001
NOME DO
CASO DE USO:
Cadastrar Usuário
CASO DE
USO:
DESCRIÇÃO:
Este caso de uso descreve o funcionamento do cadastro
inicial do aplicativo, suas permissões e opções de
configuração.
Dados de Identificação do requisito
Caso de uso:
Identificação
Cadastrar Usuário
do Nome do Requisito:
requisito:
RS001
Primeiro acesso ao aplicativo
O sistema deve apresentar ao usuário a opção na tela
inicial para cadastro do primeiro acesso ao aplicativo. No
primeiro
acesso,
o
usuário
deverá
inserir
suas
informações de perfil. Esses dados ficarão na estrutura
do banco de dados externo.
RS002
Contrato de aceitação
O sistema deve ter a opção de visualização do contrato
de aceite no primeiro acesso. Carregando um texto
informativo sobre o aplicativo, responsabilizando o
usuário pela utilização do mesmo, além de apresentar os
termos de confidencialidade conforme a lei. O usuário
deve aceitar os termos preenchendo um campo que será
obrigatório para o prosseguimento do cadastro.
85
RS003
Habilitar/Desabilitar “Avançar”
A ação “Cadastrar” da Tela de aceitação do aplicativo
deve vir desabilitada por padrão.
- Ela só deve ser habilitada se os campos obrigatórios
forem preenchidos.
- Após o preenchimento dos campos obrigatórios, a ação
“Cadastrar” deve mudar o status para habilitado.
RS004
Campos Obrigatórios
O sistema deve considerar obrigatórios os campos:
- Aceitação do contrato;
- Nome;
- Login;
- Senha;
- Repita a senha;
- Pergunta Secreta;
- Resposta;
- E-mail.
RS005
Fechar o aplicativo antes do fim do cadastro
Se o usuário fechar o aplicativo antes de finalizar o
cadastro, o sistema deve começar novamente o
processo no próximo acesso e todos os dados
cadastrados serão perdidos.
86
RS006
Redirecionar para outra tela
Ao realizar com sucesso o cadastro no aplicativo, o
sistema deve redirecionar o usuário a tela do Menu
Principal.
RS007
Ajuda
Ao clicar no botão de ajuda o sistema deverá abrir uma
modal explicando o funcionamento da tela de Cadastro
do Usuário de forma simplificada.
RS008
Usuário já cadastrado
Caso o usuário já seja cadastrado o sistema deve trazer
todos os campos já preenchidos.
RS009
Validação de Login, Senha e Resposta secreta
Login - o sistema deve validar o mínimo de 6 caracteres
e o máximo de 20 caracteres.
Senha – o sistema deve validar o mínimo de 6 caracteres
e o máximo de 15 caracteres.
Resposta Secreta – o sistema deve validar mínimo de 10
e máximo de 150 caracteres.
Caso exista um Login já cadastrado no banco, o sistema
deve informar que o Login já existe, não permitindo o
cadastro.
87
Fluxo principal
O caso de uso inicia quando o ator acessa o aplicativo pela primeira vez.
Nro Ação do Ator
Resposta do Sistema
Fluxo
Fluxo de
Alternativo Exceção
1
O
ATOR
acessa
a O SISTEMA apresenta a FA2
“HOME” do aplicativo.
-
tela inicial do sistema.
[RS001]
2
O ATOR aciona a opção O SISTEMA redireciona “Cadastrar”
-
para a tela de cadastro
de
usuário.[RS002]
[RS003]
[RSS004]
[RS005]
[RS007][RS008]
3
O ATOR preenche os O SISTEMA grava os -
FE1,
dados da tela e aciona dados dentro do banco
FE2,
“Cadastrar”
de
externo
FE3,
[RS006][RS007][RS008]
através
um
FE4
dados
de
webservice. [RS002]
4
Fim do caso de uso.
Fluxo Alternativo
FA1 – Fechar o aplicativo antes do fim do cadastro
Nro Ação do Ator
1
O
ATOR
Resposta do Sistema
fecha
o O
SISTEMA
fecha
aplicativo antes do fim aplicativo. [RS005]
Fluxo
Fluxo de
Alternativo
Exceção
o -
-
88
do cadastro.
2
-
Fim do caso de uso.
-
-
Resposta do Sistema
Fluxo
Fluxo de
Alternativo
Exceção
FA2 – Tela de Ajuda
Nro Ação do Ator
1
O
ATOR
aciona
opção
a O
SISTEMA
Apresenta -
-
a O SISTEMA retorna para -
-
“Ajuda”. uma modal.
[RS007]
2
O
ATOR
aciona
opção “Fechar”.
3
a tela anterior.
Fim do caso de uso.
-
-
Fluxo de Exceção
Nro
Ação do Ator
FE1 Campo obrigatório
Resposta do Sistema
O SISTEMA deverá apresentar uma
mensagem
informando
a
obrigatoriedade do preenchimento dos
campos. Com a seguinte mensagem:
Campo obrigatório não preenchido.
FE2 Validação de usuário
O SISTEMA deverá apresentar uma
mensagem informando ao usuário que o
login escolhido já está sendo utilizado.
Com a seguinte mensagem: Login já
cadastrado por outro usuário
89
FE3 Validação Email
O SISTEMA deverá apresentar uma
mensagem informando que o campo email está preenchido incorretamente: Email inválido.
FE4 Falha
na
Indisponível
Conexão
/
Rede O SISTEMA deverá apresentar uma
mensagem informando que os dados
não foram salvos corretamente devido à
falha na conexão com o banco de dados
ou indisponibilidade da rede:Os dados
não foram salvos, tente novamente.
Figura III - Diagrama de caso de uso Cadastrar Usuário
90
Figura IV - Protótipo Cadastro de usuário
TabelaXVIII - Mapa de testes Cadastro de usuário
Ação
Resultado esperado
Ao entrar na tela de cadastro
Carregar os campos em branco para
serem preenchidos junto com o contrato.
Ao
entrar
na
tela
com
usuário
já Carregar os campos já preenchidos com
cadastrado
as informações do usuário.
Digitar oNome
Passar ao campo “Login”.
Não digitar o Nome
Mensagem de erro.
91
DigitarLogin
Passar ao campo “Senha”.
Não Digitar o campo Login
Mensagem de erro.
Validar campo Login
O sistema deve aceitar mínimo de 6 e
máximo de 20 caracteres.
Digitar Senha
Passar ao campo “Confirmar senha”.
Não digitar Senha
Mensagem de erro.
Validar campo Senha
O sistema deve aceitar mínimo de 6 e
máximo de 15 caracteres.
Digitar Repita aSenha
Passar ao campo “Pergunta secreta”
Não digitarRepita a Senha
Mensagem de erro.
Validar campo Repita a Senha
O sistema deve validar se o campo
“Repita
a
Senha”
tem
os
mesmos
caracteres que o campo “Senha”.
Caso contrário, enviar mensagem de erro.
Digitar Pergunta Secreta
Passar ao campo “Resposta”.
Não digitar Pergunta Secreta
Mensagem de erro.
Digitar Resposta
Habilitar o botão “E-mail”.
Não digitar Resposta Secreta
Mensagem de erro.
Clicar no botão Cadastrar sem aceitar o Mensagem de erro.
termo de uso do Aplicativo
Digitar e-mail
Validar e-mail.
92
Não digitar e-mail
Mensagem de erro.
Botão Cadastrar habilitado
Habilitar botão após preenchimento dos
campos obrigatórios.
Clicar no botão Cadastrar com os campos Efetuar o cadastro. Redirecionar para a
obrigatórios
preenchidos
e
com
a tela de Menu principal.
aceitação do termo de uso.
Ajuda
Fechar
Abrir modal.
aplicativo
antes
do
fim
cadastro
do Verificar se o sistema cancela o cadastro.
Não salvando os dados.
TabelaXIX - Campos do formulário cadastro de usuário
Label
Campo
Obrigatório
Descrição
Contrato
cbContrato
Sim
Campo Char apresentado em forma
CheckBox, que conterá o valor
“Accept”.
Nome
simples
txtNome
Sim
Campo String, com tamanho padrão
de 20 caracteres.
Login
txtLogin
Sim
Campo String, com tamanho padrão
de 20 caracteres.
Senha
txtSenha
Sim
Campo String, com tamanho padrão
de 15 caracteres. Campo inativo para
alteração.
Confirmar
Senha
txtConfirmar
Senha
Sim
Campo String, com tamanho padrão
de 50 caracteres. Campo inativo para
alteração.
Pergunta
txtPergunta
Sim
Campo String, com tamanho padrão
93
de 150 caracteres.
Resposta
secreta
txtRespostaS
ecreta
Sim
Campo String, com tamanho padrão
de 150 caracteres.
E-mail
txtEmail
Sim
Campo String, com tamanho padrão
de 50 caracteres.
btnContrato
Não
Botão de visualização do contrato de
aceite.
btnAjuda
Não
Botão de visualização de Ajuda, em
formato modal.
Ler o
contrato de
utilização
Ajuda
94
9.7.2 Recuperar Senha
Identificação
do UC002
Caso de Uso:
Nome
do Recuperar Senha
Caso
de
Uso:
Descrição:
Este caso de uso descreve o funcionamento da validação
do usuário caso o mesmo esqueça sua senha.
Dados de Identificação do requisito
Caso de uso:
Identificação
Recuperar senha
do Nome do Requisito:
requisito:
RS001
Acesso à tela de recuperação de senha
O sistema deve apresentar ao usuário a opção na tela
inicial para recuperação da senha do aplicativo. O usuário
deverá inserir as informações de perfil. Esses dados serão
buscados no banco de dados externos do aplicativo para
confirmação.
RS002
Autenticação do sistema (A.D.)
O sistema deve resgatar os dados do usuário em sua
base de dados. O usuário ao preencher os dados
necessários para a recuperação de senha deve acionar a
opção “Enviar e-mail com nova senha”. O sistema deve
disponibilizar uma nova senha de acesso ao usuário
através do e-mail cadastrado no primeiro acesso.
RS003
Habilitar/Desabilitar o botão “Enviar e-mail com nova
senha”
95
O botão “Enviar e-mail com nova senha” da Tela de
recuperação de senha do aplicativo deve vir desabilitado
por padrão.
- Ele só deve ser habilitado se os campos obrigatórios
forem preenchidos e validados.
- Ao preencher os campos, o botão “Enviar e-mail com
nova senha” deve ter seu status alterado para habilitado.
RS004
Campos Obrigatórios
O sistema deve considerar obrigatórios os campos:
- E-mail
- Resposta secreta.
RS005
Fechar o aplicativo antes do fim da validação
Se o usuário fechar o aplicativo antes de finalizar a
validação, o sistema deve começar novamente o processo
de validação no próximo acesso e o campo com os dados
preenchidos será perdido.
RS006
Redirecionar para outra tela
Ao finalizar a validação dos dados fornecidos o sistema
deve apresentar a seguinte mensagem de confirmação:
“Seus dados foram validados com sucesso, uma nova
senha foi encaminhada para o seu e-mail”, o sistema deve
apresentar um botão de Ok, que ao ser acionado deve
redirecionar o usuário a tela inicial.
RS007
Ajuda
Ao clicar no botão de ajuda o sistema deverá abrir uma
96
modal explicando o funcionamento da tela Esqueci minha
senha de forma simplificada.
Fluxo principal
O caso de uso inicia quando o ator acessa o aplicativo.
Nro Ação do Ator
Resposta do Sistema
Fluxo
Fluxo de
Alternativo Exceção
1
O
ATOR
acessa
“home” do aplicativo.
a O SISTEMA apresenta a FA1 FA2
tela
inicial
do
-
sistema.
[RS001]
2
O
ATOR
aciona
a O
SISTEMA
redireciona FA1, FA2
opção “Esqueci minha para a tela de Esqueci
senha”
minha senha. [UI2][RS001]
[RS002] [RS003] [RS004]
[RS005]
3
O ATOR preenche os O SISTEMA busca na base FA1, FA2
FE1,
dados da tela E aciona de informações os dados
FE2,
a opção“Enviar e-mail inseridos, e gera uma nova
FE3,
com a nova senha”.
FE4
senha
ao
enviando-a
usuário
por
e-mail.
[RS006]
4
-
O
SISTEMA
deverá -
apresentar uma mensagem
informando ao usuário que
sua resposta está correta.
Com
a
seguinte
mensagem:Seus
foram
validados
dados
com
-
97
sucesso,
uma
nova
senha foi encaminhada
para o seu e-mail.
5
-
O SISTEMA apresenta a FA2
-
tela do menu principal.
6
-
Fim do caso de uso.
-
-
Fluxo Alternativo
FA1 – Fechar o aplicativo antes do fim da validação
Nro Ação do Ator
1
O
ATOR
Resposta do Sistema
fecha
o O
SISTEMA
fecha
Fluxo
Fluxo de
Alternativo
Exceção
o -
-
Fim do caso de uso.
-
-
Resposta do Sistema
Fluxo
Fluxo de
Alternativo
Exceção
aplicativo antes do fim aplicativo. [RS005]
da validação.
2
-
FA2 – Tela de Ajuda
Nro Ação do Ator
1
O
ATOR
aciona
opção
a O
SISTEMA
Apresenta -
-
a O SISTEMA retorna para -
-
“Ajuda”. uma modal.
[RS007]
2
O
ATOR
aciona
opção “Fechar”.
3
-
a tela anterior.
Fim do caso de uso.
-
-
98
Fluxo de Exceção
Nro
Ação do Ator
Resposta do Sistema
FE1 Campo obrigatório
O SISTEMA deverá apresentar uma
mensagem
informando
a
obrigatoriedade do preenchimento dos
campos. Com a seguinte mensagem:
Campo obrigatório não preenchido.
FE2 Validação de respostaincorreta
O SISTEMA deverá apresentar uma
mensagem informando ao usuário que
sua resposta está incorreta. Com a
seguinte
mensagem:
Resposta
incorreta, tente novamente.
FE3 Validação Email
O SISTEMA deverá apresentar uma
mensagem informando que o campo email está preenchido incorretamente: Email inválido
FE4 Falha
na
Indisponível
Conexão
/
Rede O SISTEMA deverá apresentar uma
mensagem informando que não foi
possível validar os dados devido à falha
na conexão com o banco de dados ou
indisponibilidade
possível
validar
novamente.
da
os
rede:Não
dados,
foi
tente
99
Figura V -Diagrama de caso de uso Recuperar Senha
Acessar sistema
«extends»
Acessar ajuda
«extends»
Usuário
Recuperar senha
Figura VI -Protótipo Recuperar Senha
100
TabelaXX - Mapa de testes Recuperar Senha
Ação
Resultado esperado
Ao entrar na telade Recuperar Senha
Carregar o campo Pergunta já preenchido.
Digitar a Resposta Secreta
Validar
a
resposta,
verificar
encaminhamento de e-mail.
Não digitara Resposta Secreta
Mensagem de erro.
Botão Enviar e-mail habilitado
Habilitar após preenchimento de campos
obrigatórios.
Clicar no botão Enviar e-mail com os Efetuar a troca de senha. Redirecionar
campos obrigatórios preenchidos.
para a tela de Menu principal.
Ajuda
Abrir modal.
Fechar
aplicativo
antes
do
fim
recuperação de senha
da Verificar
se
o
sistema
cancela
a
recuperação de senha. Não enviando a
nova senha.
TabelaXXI - Campos do formulário Recuperar Senha
Label
Campo
Obrigatório
Descrição
Pergunta
txtPergunta
Sim
Campo String, com tamanho padrão
Secreta
de 150 caracteres.
Resposta
txtRespostaS
Secreta
ecreta
Enviar
com
senha
E-mail btnContrato
a
nova
Sim
Campo String, com tamanho padrão
de 150 caracteres.
Não
Botão de visualização do contrato
de aceite.
101
Ajuda
btnAjuda
Não
Botão de visualização de Ajuda, em
formato modal.
102
9.7.3 Acessar Sistema
Identificação
do UC003
Caso de Uso:
Nome
do Acessar Sistema
Caso
de
Uso:
Descrição:
Este caso de uso descreve o funcionamento do menu
principal do aplicativo.
Dados de Identificação do requisito
Caso de uso:
Identificação
Acessar Sistema
do Nome do Requisito:
requisito:
RS001
Acesso a tela do Menu Principal
O sistema deve apresentar ao usuário a opção na tela
inicial para realizar o login no aplicativo. O usuário deverá
informar seu login e senha e confirmar suas informações.
Esses dados serão buscados no banco de dados externos
do aplicativo para confirmação e em seguida o sistema
deve apresentar a tela do Menu principal.
RS002
Autenticação do sistema (A.D.)
O sistema deve resgatar os dados do usuário em sua
base de dados. O usuário ao preencher os dados
necessários para realizar o login deve acionar a opção
“Entrar”.
RS003
Navegação do aplicativo
O aplicativo deve disponibilizar uma forma fácil e intuitiva
103
de navegação, apresentando os seguintes botões no
menu:
- Minhas rotas
- Consultar rotas similares
- Mensagens
Também deve apresentar no applicationBar os seguintes
botões:
- Ajuda
- Configurações
RS004
Configurações
Ao acionar o Botão de configuração o sistema deve
redirecionar para a tela de configurações descrita no
UC004_Configurar conta.
RS005
Ajuda
Ao clicar no botão de ajuda o sistema deverá abrir uma
modal explicando o funcionamento da tela do Menu
Principal de forma simplificada.
RS006
Redirecionar para outra tela
Ao clicar na opção “Minhas Rotas” o sistema deve
redirecionar para a página de rotas conforme descrição do
UC005_Cadastrar Rota.
Ao clicar na opção “Consultar Rotas Similares” o sistema
deve redirecionar para a página de consulta conforme
descrição do UC006_Consultar rota.
104
Ao clicar na opção “Mensagens” o sistema deve
redirecionar para a página de mensagens conforme
descrição do UC007_Verificar Mensagens.
Fluxo principal
O caso de uso inicia quando o ator valida seu login e senha no aplicativo.
Nro Ação do Ator
Resposta do Sistema
Fluxo
Fluxo de
Alternativo Exceção
1
O ATOR acessa a O
SISTEMA
valida
as FA1
“home” do aplicativo, informações e apresenta a
FE1,
FE2
e insere seu login e tela do menu principal.
senha.
2
O SISTEMA apresenta as seguintes
-
opções:
[RS001][RS002][RS003]
- Minhas rotas
- Consultar rotas similares
-
- Mensagens
Também deve apresentar no
applicationBar os seguintes
botões:
-Ajuda
- Configurações
3
-
Fim do caso de uso.
-
-
105
Fluxo Alternativo
FA1 – Tela de Ajuda
Nro Ação do Ator
2
O
ATOR
Resposta do Sistema
aciona
opção
a O
SISTEMA
Fluxo
Fluxo de
Alternativo
Exceção
Apresenta -
-
a O SISTEMA retorna para -
-
“Ajuda”. uma modal.
[RS005]
3
O
ATOR
aciona
opção “Fechar”.
4
a tela anterior.
Fim do caso de uso.
-
-
Fluxo de Exceção
Nro
Ação do Ator
Resposta do Sistema
FE1 Validação de usuário e senha
O SISTEMA deverá apresentar uma
mensagem informando ao usuário que
os dados inseridos estão inválidos. Com
a
seguinte
mensagem:
Dados
inválidos.
FE2 Falha
na
Indisponível
Conexão
/
Rede O SISTEMA deverá apresentar uma
mensagem informando que não foi
possível validar os dados devido à falha
na conexão com o banco de dados ou
indisponibilidade
possível
validar
novamente.
da
os
rede:Não
dados,
foi
tente
106
Figura VII - Diagrama de caso de uso Acessar Sistema
107
Figura VIII – Protótipo Acessar Sistema
TabelaXXII - Mapa de testes Acessar Sistema
Ação
Resultado esperado
Ao entrar na telaMenu Principal
Carregar os botões Minhas rotas,
consultar rotas similares e mensagens.
Carregar o ApplicationBar com os
botões Ajuda e configuração.
Minhas Rotas
Redirecionar para a tela de Minhas
rotas.
Consultar Rotas similares
Redirecionar para a tela Rotas
108
Similares.
Mensagens
Redirecionar para a tela de mensagens.
Configuração
Redirecionar para a tela de
Configuração.
Ajuda
Abrir modal.
TabelaXXIII - Campos do formulário Acessar Sistema
Label
Campo
Obrigatório
Descrição
Minhas Rotas
btnMinhasRe
Não
Botão de redirecionamento de
spostas
Consultar
Rotas btnConsultar
Similares
Rotas
Mensagens
btnMensagen
tela.
Não
tela.
Não
s
Configuração
btnConfiguraç
btnAjuda
Botão de redirecionamento de
tela.
Não
ão
Ajuda
Botão de redirecionamento de
Botão de redirecionamento de
tela.
Não
Botão de visualização de Ajuda,
em formato modal.
109
9.7.4 Configurar Conta
Identificação
do UC004
Caso de Uso:
Nome
do Configurar Conta
Caso
de
Uso:
Descrição:
Este
caso
de
uso
descreve
o
funcionamento
da
configuração de conta do usuário no aplicativo.
Dados de Identificação do requisito
Caso de uso:
Identificação
Configurar Conta
do Nome do Requisito:
requisito:
RS001
Acesso à tela de configuração de conta
O sistema deve apresentar ao usuário a opção de
configuração da conta conforme o UC003_Menu principal.
O usuário deverá alterar/complementar suas informações
de perfil. Esses dados serão gravados no banco de dados
externo do aplicativo.
RS002
Autenticação do sistema (A.D.)
O sistema deve resgatar os dados do usuário em sua
base de dados. O usuário ao preencher os dados
necessários para a alteração das informações deve
acionar a opção “Salvar meus dados”. O sistema deve
salvar os dados atualizados do cadastro.
RS003
Campos Obrigatórios
O sistema deve considerar obrigatórios os campos:
110
- Login,
- Senha,
- Repita a senha,
- Pergunta Secreta,
- Resposta,
- E-mail.
RS004
Fechar o aplicativo antes do fim da validação
Se o usuário fechar o aplicativo antes de finalizar a
validação, o sistema deve começar novamente o processo
de validação no próximo acesso e o campo com os dados
preenchidos anteriormente será perdido.
RS005
Redirecionar para outra tela
Ao finalizar a validação dos dados fornecidos o sistema
deve apresentar a seguinte mensagem de confirmação:
“Seus dados foram alterados com sucesso!”, o sistema
deve apresentar um botão de Ok, que ao ser acionado
deve redirecionar o usuário a tela de menu principal.
RS006
Carregar os dados
O sistema deve realizar uma busca no banco de dados
externo e trazer todos os campos já preenchidos com as
informações do usuário.
RS007
Ajuda
Ao clicar no botão de ajuda o sistema deverá abrir uma
modal
explicando
o
funcionamento
da
tela
de
111
Configurações da conta de forma simplificada.
Fluxo principal
O caso de uso inicia quando o ator acessa o aplicativo.
Nro Ação do Ator
Resposta do Sistema
Fluxo
Fluxo de
Alternativo Exceção
1
O ATOR acessa a O
SISTEMA
valida
as FA2
“home” do aplicativo, e informações e apresenta a
insere
seu
login
FE1,
FE5
e tela do menu principal.
senha.
2
3
O
ATOR
aciona
a O
SISTEMA
redireciona -
opção
para
a
tela
“Configurações”.
Configurações.[RS001]
-
de
O ATOR preenche os O SISTEMA busca na base FA1, FA2
FE2,
campos obrigatórios e de informações os dados
FE3,
aciona
FE4,
a
opção inseridos,
e
atualiza
as
“Salvar meus dados”. informações.
[RS002]
FE6
[RS004][RS005]
[RS003][RS006]
4
-
O
SISTEMA
deverá -
apresentar uma mensagem
informando ao usuário que
sua resposta está correta.
Com
a
mensagem:
foram
seguinte
Seus
dados
validados
com
sucesso, uma nova senha
foi encaminhada para o seu
-
112
e-mail.
5
-
O SISTEMA apresenta a FA2
-
tela do menu principal.
6
-
Fim do caso de uso.
-
-
Fluxo Alternativo
FA1 – Fechar o aplicativo antes do fim do cadastro
Nro Ação do Ator
1
O
ATOR
Resposta do Sistema
fecha
o O
SISTEMA
fecha
Fluxo
Fluxo de
Alternativo
Exceção
o -
-
Fim do caso de uso.
-
-
Resposta do Sistema
Fluxo
Fluxo de
Alternativo
Exceção
aplicativo antes do fim aplicativo. [RS006]
do cadastro.
2
-
FA2 – Tela de Ajuda
Nro Ação do Ator
1
O
ATOR
opção
aciona
a O
SISTEMA
Apresenta -
-
a O SISTEMA retorna para -
-
“Ajuda”. uma modal.
[RS008]
2
O
ATOR
aciona
opção “Fechar”.
3
a tela anterior.
Fim do caso de uso.
-
-
113
Fluxo de Exceção
Nro
Ação do Ator
Resposta do Sistema
FE1 Validação de usuário e senha
O SISTEMA deverá apresentar uma
mensagem informando ao usuário que
os dados inseridos estão inválidos. Com
a
seguinte
mensagem:
Dados
inválidos.
FE2 Campo obrigatório
O SISTEMA deverá apresentar uma
mensagem
informando
a
obrigatoriedade do preenchimento dos
campos. Com a seguinte mensagem:
Campo obrigatório não preenchido.
FE3 Validação de respostaincorreta
O SISTEMA deverá apresentar uma
mensagem informando ao usuário que
sua resposta está incorreta. Com a
seguinte
mensagem:
Resposta
incorreta,tente novamente.
FE4 Validação Email
O SISTEMA deverá apresentar uma
mensagem informando que o campo email está preenchido incorretamente: Email inválido.
FE5 Falha
na
Indisponível
Conexão
/
Rede O SISTEMA deverá apresentar uma
mensagem informando que não foi
possível validar os dados devido à falha
na conexão com o banco de dados ou
indisponibilidade
da
rede:Não
foi
114
possível
validar
os
dados,
tente
novamente.
FE6 Falha
na
Indisponível
Conexão
/
Rede O SISTEMA deverá apresentar uma
mensagem informando que os dados
não foram salvos corretamente devido à
falha na conexão com o banco de dados
ou indisponibilidade da rede: Os dados
não foram salvos, tente novamente.
Figura IX – Diagrama caso de uso Configurar Conta
115
Figura X – Protótipo Configurar Conta
TabelaXXIV - Mapa de testes Configurar Conta
Ação
Resultado esperado
Entrar na tela de Configuração
Carregar os campos já preenchidos com
as informações do usuário.
AlterarNome
Passar ao campo “Login”.
CampoNome em branco
Mensagem de erro.
116
AlterarLogin
Passar ao campo “Senha”.
Campo Login em branco
Mensagem de erro.
Validar campo Login
O sistema deve aceitar mínimo de 6 e
máximo de 20 caracteres.
Alterar Senha
Passar ao campo “Confirmar senha”.
Campo Senha em branco
Mensagem de erro.
Validar campo Senha
O sistema deve aceitar mínimo de 6 e
máximo de 15 caracteres.
AlterarRepita aSenha
Passar ao campo “Pergunta secreta”
CampoRepita a Senha em branco
Mensagem de erro.
Validar campo Repita a Senha
O sistema deve validar se o campo
“Repita
a
Senha”
tem
os
mesmos
caracteres que o campo “Senha”.
Caso contrário, enviar mensagem de erro.
Alterar Pergunta Secreta
Passar ao campo “Resposta”.
Campo Pergunta Secreta em branco
Mensagem de erro.
Alterar Resposta
Habilitar o botão “E-mail”.
Campo Resposta Secreta em branco
Mensagem de erro.
Clicar no botão Cadastrar sem aceitar o Mensagem de erro.
termo de uso do Aplicativo
Digitar e-mail
Validar e-mail.
117
Não digitar e-mail
Mensagem de erro.
Botão Cadastrar habilitado
Habilitar botão após preenchimento dos
campos obrigatórios.
Clicar no botão Salvar meus dados com Efetuar
os campos obrigatórios preenchidos
a
Redirecionar
alteração
para
a
do
tela
cadastro.
de
Menu
principal.
Ajuda
Fechar
Abrir modal.
aplicativo
antes
do
fim
alteração do cadastro
da Verificar se o sistema cancela o cadastro.
Não salvando os dados.
TabelaXXV- Campos do formulário Configurar Conta
Label
Campo
Obrigatório
Descrição
Nome
txtNome
Sim
Campo String, com tamanho padrão
simples
Login
de 20 caracteres.
txtLogin
Sim
Campo String, com tamanho padrão
de 20 caracteres.
Senha
txtSenha
Sim
Campo String, com tamanho padrão
de 15 caracteres. Campo inativo para
alteração.
Confirmar
txtConfirmar
Senha
Senha
Sim
Campo String, com tamanho padrão
de 50 caracteres. Campo inativo para
alteração.
Pergunta
txtPergunta
Sim
Campo String, com tamanho padrão
de 150 caracteres.
118
Resposta
txtRespostaS
secreta
ecreta
E-mail
txtEmail
Sim
Campo String, com tamanho padrão
de 150 caracteres.
Sim
Campo String, com tamanho padrão
de 50 caracteres.
Ajuda
btnAjuda
Não
Botão de visualização de Ajuda, em
formato modal.
119
9.7.5 Gerenciar Rotas
Identificação
do UC005
Caso de Uso:
Nome
do Gerenciar Rotas
Caso
de
Uso:
Descrição:
Este caso de uso descreve o gerenciamento das rotas do
usuário.
Dados de Identificação do requisito
Caso de uso:
Identificação
Gerenciar Rotas
do Nome do Requisito:
requisito:
RS001
Acesso a tela de Rotas
O sistema deve apresentar uma lista de rotas já
cadastradas do usuário caso o mesmo já tenha sido
realizado anteriormente. Caso contrário, deve apresentar
um botão para cadastro de rota.
RS002
Navegação da tela de Rotas
O aplicativo deve disponibilizar uma forma fácil e intuitiva
de navegação, apresentando os seguintes botões:
- Novo
- Visualização do ponto no mapa (caso exista uma rota já
cadastrada).
Também deve apresentar no applicationBar o seguinte
botão:
120
- Ajuda
RS003
Criar nova rota
Ao acionar a opção “Novo”, o aplicativo deve disponibilizar
uma forma fácil e intuitiva de navegação, apresentando os
seguintes campos Obrigatórios:
- Ponto A,
- Ponto B,
Botão para visualização do ponto no mapa.
RS004
Selecionando uma rota cadastrada
O Usuário poderá selecionar uma rota já cadastrada. Ao
clicar na rota o sistema deverá apresentar apenas as
informações
selecionadas
e
no
applicationBar
as
seguintes opções:
- Alterar
- Excluir
RS005
Fechar o aplicativo antes do fim da validação
Se o usuário fechar o aplicativo antes de finalizar a
alteração de
uma
rota, o sistema
deve começar
novamente o processo de validação no próximo acesso e
o campo com os dados deverão vir conforme o que estiver
cadastrado no banco.
RS006
Alterar Rota
Ao selecionar a opção Alterar o sistema deve carregar as
informações nos devidos campos e apresentar no
121
applicationBar a seguinte opção:
- Salvar
Ao finalizar uma alteração de uma rota, o sistema deve
apresentar a seguinte mensagem de confirmação: “Sua
rota foi alterada com sucesso!”, o sistema deve apresentar
uma opção de “Ok” na modal, que ao ser acionada deve
redirecionar para a tela principal de rotas.
RS007
Excluir Rota
Ao selecionar a opção excluir o sistema deve carregar as
informações nos devidos campos.
Ao excluir uma rota, o sistema deve apresentar a seguinte
mensagem: “Tem certeza que deseja excluir esta rota?”, o
sistema deve apresentar um botão de Sim e outro de
Cancelar.
Caso o usuário acione a opção de “Sim” na modal, o
sistema deverá excluir da lista e do banco de dados
externos a rota selecionada pelo usuário.
RS008
Validação de Rota
O sistema deve disponibilizar ao usuário nos campos de
cadastro de rota um sistema de auto completar, buscando
validar os possíveis nomes de rua cadastrados.
RS009
Salvar Rota
Ao selecionar a opção Salvar, o sistema deve registrar a
rota cadastrada em um banco de dados externo.
RS010
Ajuda
122
Ao clicar no botão de ajuda o sistema deverá abrir uma
modal explicando o funcionamento da tela de rotas de
forma simplificada.
Fluxo principal
O caso de uso inicia quando o ator acessa a opção Minhas Rotas.
Nro Ação do Ator
Resposta do Sistema
Fluxo
Fluxo de
Alternativo Exceção
1
O
ATOR
acessa
a O
SISTEMA
valida
as FA4
FE1,
“home” do aplicativo, e informações e apresenta a
FE2,
insere
FE4
seu
login
e tela do menu principal.
senha.
2
O
ATOR
“Minhas
3
acessa O SISTEMA apresenta a FA1, FA2, -
rotas”
do tela
de
Rotas.
[RS001] FA3, FA4
aplicativo.
[RS002]
-
Fim do caso de uso.
-
-
123
Fluxo Alternativo
FA1 – Adicionar rota
Nro Ação do Ator
1
O
ATOR
Resposta do Sistema
aciona
opção“Cadastrar
a O
SISTEMA
carregar
a
Fluxo
Fluxo de
Alternativo
Exceção
deve FA4
tela
-
de
Rota”. [RS001][RS003] cadastro de novas rotas.
2
O
ATOR
deve O
adicionar
SISTEMA
deverá -
FE1,
uma
FE2,
nos mensagem informando ao
FE5
as apresentar
informações
campos obrigatórios e usuário que a rota foi
aciona
a
“Salvar”.
opção salva. Com a seguinte
[RS005] mensagem:Sua rota foi
[RS008][RS009]
salva com sucesso!
O SISTEMA deve salvar
as informações no banco
de dados externo.
3
-
Fim do caso de uso.
-
-
Fluxo
Fluxo de
FA2 – Alterar rota
Nro Ação do Ator
Resposta do Sistema
Alternativo Exceção
1
O ATOR seleciona uma O
SISTEMA
rota já cadastrada, na carregar
lista
de
a
tela
rotas. alteração de rota.
deve FA4
de
-
124
[RS001][RS004][RS006]
2
O ATOR deve alterar O
deverá -
FE1,
uma
FE2,
necessários nos campos mensagem informando
FE5
suas
rotas
SISTEMA
conforme apresentar
obrigatórios e acionar a ao usuário quando o
opção “salvar”.
mesmo
uma
[RS005][RS006][RS008]
[RS009]
tentar
rota.
alterar
Com
a
seguinte
mensagem:Sua rota foi
alterada com sucesso!
O SISTEMA devesalvar
as
informações
banco
de
no
dados
externo.
3
-
Fim do caso de uso.
-
-
Resposta do Sistema
Fluxo
Fluxo de
FA3 – Excluir rota
Nro Ação do Ator
Alternativo Exceção
1
O ATOR seleciona uma O
SISTEMA
rota já cadastrada, na carregar
lista
de
a
deve FA4
tela
-
de
rotas. exclusão de rota.
[RS001][RS004][RS007]
2
O ATOR deve acionar a O
opção
SISTEMA
“Excluir”. apresentar
deverá -
FE1,
uma
FE2
[RS005][RS007][RS008]
mensagem informando
[RS009]
ao usuário quando o
mesmo
tentar
excluir
125
uma
rota.
Com
a
seguinte
mensagem:Tem
certeza
que
deseja
excluir esta rota?
3
O ATOR deve acionar a O SISTEMA valida a -
FE3,
opção “SIM”.
FE5
ação
e
salva
as
informações no banco
de dados externo.
4
-
Fim do caso de uso.
-
-
Fluxo
Fluxo de
Alternativo
Exceção
FA4 – Tela de Ajuda
Nro Ação do Ator
2
O
ATOR
Resposta do Sistema
aciona
opção
a O sistema Apresenta uma -
-
“Ajuda”. modal.
[RS010]
3
O
ATOR
aciona
opção “Fechar”.
4
a O sistema retorna para a -
-
tela anterior.
Fim do caso de uso.
-
-
Fluxode Exceção
Nro
Ação do Ator
FE1 Validação de usuário e senha
Resposta do Sistema
O SISTEMA deverá apresentar uma
mensagem informando ao usuário que
os dados inseridos estão inválidos. Com
126
a
seguinte
mensagem:
Dados
inválidos.
FE2 Campo obrigatório
O SISTEMA deverá apresentar uma
mensagem
informando
a
obrigatoriedade do preenchimento dos
campos. Com a seguinte mensagem:
Campo obrigatório não preenchido.
FE3 Validação de Rota Excluir
O SISTEMA deverá retornar a tela de
rotas caso o usuário selecione a opção
“não”.
FE4 Falha
na
Conexão
/
Indisponível
Rede O SISTEMA deverá apresentar uma
mensagem informando que não foi
possível validar os dados devido à falha
na conexão com o banco de dados ou
indisponibilidade
possível
validar
da
rede:Não
os
dados,
foi
tente
novamente.
FE5 Falha
na
Indisponível
Conexão
/
Rede O
SISTEMAdeverá
apresentar
uma
mensagem informando que os dados
não foram salvos corretamente devido à
falha na conexão com o banco de dados
ou indisponibilidade da rede:Os dados
não foram salvos, tente novamente.
127
Figura XI – Diagrama de caso de uso Gerenciar Rotas
128
Figura XII – Protótipo Gerenciar Rotas
TabelaXXVI - Mapa de testes Gerenciar Rotas
Ação
Resultado esperado
Ao entrar na tela de Gerenciar Rotas pela Carregar os campos em branco.
primeira vez
Ao entrar na tela Gerenciar Rotas com Carregar a lista de rotas com as rotas
rotas já cadastradas
cadastradas.
Cadastrar Ponto A
Validar endereço.
Cadastrar Ponto B
Validar endereço.
129
Campo “Ponto A”em branco
Mensagem de erro.
Campo “Ponto B”em branco
Mensagem de erro.
Ajuda
Abrir modal.
Fechar
aplicativo
antes
do
fim
do Verificar se o sistema cancela o cadastro.
cadastro da rota
Não salvando os dados.
Clicar no botão Novo
Salvar a Rota e apresentar na lista.
Selecionar Rota
Verificar se ao selecionar a rota o sistema
permite excluir a rota ou alterar.
Excluir Rota
Ao excluir rota verificar se a rota não é
mais apresentada na lista
Alterar Rota
Verificar se ao alterar uma rota o sistema
altera na lista a rota
TabelaXXVII - Campos do formulário Gerenciar Rotas
Label
Campo
Obrigatório
Descrição
Ponto A
txtPontoA
Sim
Campo String, com tamanho padrão
de 50 caracteres.
Ponto B
txtPontoB
Sim
Campo String, com tamanho padrão
de 50 caracteres.
Novo
btnNovo
Não
Botão para salvar os registros do
contrato.
Ajuda
btnAjuda
Não
Botão de visualização de Ajuda, em
formato modal.
130
Lista
lstListadeRota
Não
Lista de visualização de rotas
131
9.7.6 Consultar Rotas
Identificação
do UC006
Caso de Uso:
Nome
do Consultar Rotas
Caso
de
Uso:
Descrição:
Este caso de uso descreve o funcionamento da consulta de
rotas semelhantes às do usuário.
Dados de Identificação do requisito
Caso de uso:
Identificação
Consultar Rotas
do Nome do Requisito:
requisito:
RS001
Acesso à tela de consulta de rotas
O sistema deve apresentar ao usuário uma lista com o
login e as rotas de usuários que possuem rotas
semelhantes. Além das seguintes opções:
- Visualizar Mapa
- Enviar Mensagem
RS002
Visualização de Rota
O sistema deve possibilitar a visualizar no mapa do trajeto
realizado pela pessoa selecionada na lista.
RS003
Mensagem
O sistema deve possibilitar uma forma prática de trocas de
mensagem
com
um
usuário
selecionado
Conforme UC007_Gerenciar Mensagens.
na
lista.
132
RS004
Ajuda
Ao clicar no botão de ajuda o sistema deverá abrir uma
modal explicando o funcionamento da tela de consultar
rotas de forma simplificada.
Fluxo principal
O caso de uso inicia quando o ator acessa o aplicativo.
Nro Ação do Ator
Resposta do Sistema
Fluxo
Fluxo de
Alternativo Exceção
1
O
ATOR
acessa
a O
SISTEMA
valida
as FA2
“home” do aplicativo, e informações e apresenta a
insere
seu
login
FE1,
FE3
e tela do menu principal.
senha.
2
O
ATOR
acessa
a O SISTEMA apresenta a FA2
FE2
opção “Consultar rotas tela de Consulta de rotas.
similares” do aplicativo. [RS001]
3
O ATOR aciona um O
usuário
na
[RS002][RS003]
SISTEMA busca
na FA1, FA2
FE4
lista. base de dados os dados
do usuário selecionado e
gera a rota realizada pelo
mesmo apresentando no
mapa.
3
-
Fim do caso de uso.
-
-
133
Fluxo Alternativo
FA1 – Enviar Mensagem
Nro Ação do Ator
1
Resposta do Sistema
Fluxo
Fluxo de
Alternativo
Exceção
O ATOR seleciona o O SISTEMA abre a tela FA2
usuário
que
-
deseja de envio de mensagem.
enviar a mensagem na
lista. [RS002][RS003]
2
-
Caso de uso “gerenciar -
-
mensagens”
3
-
Fim do caso de uso.
-
-
Fluxo
Fluxo de
Alternativo
Exceção
FA2 – Tela de Ajuda
Nro Ação do Ator
1
O
ATOR
opção
Resposta do Sistema
aciona
a O
SISTEMA
Apresenta -
-
a O SISTEMA retorna para -
-
“Ajuda”. uma modal.
[RS004]
2
O
ATOR
aciona
opção “Fechar”.
3
a tela anterior.
Fim do caso de uso.
-
-
134
Fluxo de Exceção
Nro
Ação do Ator
Resposta do Sistema
FE1 Validação de usuário e senha
O SISTEMA deverá apresentar uma
mensagem informando ao usuário que
os dados inseridos estão inválidos. Com
a
seguinte
mensagem:
Dados
inválidos.
FE2 Nenhuma Rota
O SISTEMA deverá apresentar uma
mensagem informando ao usuário que
não existe nenhum rota parecida com a
dele. Com a seguinte mensagem: Até o
momento
não
foiencontrada
nenhuma rota parecida, tente mais
tarde.
FE3 Falha
na
Conexão
/
Indisponível
Rede O SISTEMA deverá apresentar uma
mensagem informando que não foi
possível validar os dados devido à falha
na conexão com o banco de dados ou
indisponibilidade
possível
validar
da
os
rede:Não
dados,
foi
tente
novamente.
FE4 Falha
na
Indisponível
Conexão
/
Rede O SISTEMA deverá apresentar uma
mensagem informando que não foi
possível carregar as rotas devido à falha
na conexão com o banco de dados ou
indisponibilidade
da
rede:Não
foi
possível carregar as rotas, tente
novamente.
135
Figura XIII – Diagrama de caso de uso Consultar Rotas
136
Figura XIV - Protótipo Consultar Rotas
TabelaXXVIII - Mapa de testes Consultar Rotas
Ação
Resultado esperado
Entrar na tela de Consultar Rota
Carregar lista de rotas similares.
Entrar na tela de Consultar Rota sem Mensagem de informação.
rotas similares
Selecionar uma rota
Apresentar botão “Visualizar no mapa”.
Ajuda
Abrir modal.
137
Clicar no botão Visualizar no mapa
Redirecionar
para
a
tela
de
mapa,
apresentar a rota selecionada.
TabelaXXIX - Campos do formulário Consultar Rotas
Label
Campo
Obrigatório
Descrição
Ajuda
btnAjuda
Não
Botão de visualização de Ajuda, em
formato modal.
Lista
lstListadeRota
Não
Lista de visualização de rotas
138
9.7.7 Gerenciar Mensagens
Identificação
do UC007
Caso de Uso:
Nome
do Gerenciar Mensagens
Caso
de
Uso:
Descrição:
Este caso de uso descreve o funcionamento da troca de
mensagens entre usuários.
Dados de Identificação do requisito
Caso de uso:
Identificação
Gerenciar Mensagens
do Nome do Requisito:
requisito:
RS001
Acesso à tela de mensagens
O sistema deve apresentar ao usuário uma tela em
formato panorâmico. As ações e configurações da
mensagem devem vir conforme padrão Windows Phone,
não sendo personalizado.
RS002
Panorama da tela de mensagens
O sistema deve trazer no panorama inicial a Caixa de
entrada e em seguida a Caixa de Saída no formato de
lista.
RS003
Comunicação das mensagens
O sistema deve utilizar a API de envio de mensagem SMS
para realizar a comunicação.
RS004
Ajuda
139
Ao clicar no botão de ajuda o sistema deverá abrir uma
modal explicando o funcionamento da tela de mensagens
de forma simplificada.
RS005
Opções de configuração
O sistema deve disponibilizar em applicationBar a
possibilidade de excluir uma mensagem que esteja na
Caixa de entrada e de Caixa de saída.
Fluxo principal
O caso de uso inicia quando o ator acessa o aplicativo.
Nro Ação do Ator
Resposta do Sistema
Fluxo
Fluxo de
Alternativo Exceção
1
O
ATOR
acessa
a O
SISTEMA
valida
as FA3
“home” do aplicativo, e informações e apresenta a
insere
seu
login
FE1,
FE5
e tela do menu principal.
senha.
2
O
ATOR
acessa
a O SISTEMA apresenta a FA1, FA2, FE2
opção “Mensagens” do tela
aplicativo.
de
Mensagens. FA3,FA4,
[RS001] [RS002] [RS003] FA5
[RS004][RS005]
3
-
Fim do caso de uso.
-
-
140
Fluxo Alternativo
FA1 – Caixa de entrada
Nro Ação do Ator
1
Resposta do Sistema
Fluxo de
Alternativo
Exceção
O ATOR acessa a tela O SISTEMA apresenta as FA2, FA3,
de Caixa de entrada. mensagens recebidas do
[RS005]
2
Fluxo
O
ATOR
FE2
FA4
usuário.
seleciona O SISTEMA apresenta as
uma das mensagens.
opções
de
excluir
-
-
-
-
-
FE, FE6
e
responder.
3
O
ATOR
aciona
opção “Responder”.
a O SISTEMA apresenta a
caixa
de
mensagem
padrão
com
o
campo
Para: já carregado com o
nome do usuário a ser
respondido.
e
com
o
campo texto.
4
O
ATOR
aciona
opção “Enviar”.
a O SISTEMA deverá enviar
a mensagem e apresentar
uma
mensagem
informando
que
a
ao
mensagem
enviada
Com
usuário
foi
corretamente.
a
seguinte
mensagem: a mensagem
foi enviada com sucesso.
E salvar o histórico da
conversa
na
caixa
de
141
saída.
5
-
Fim do caso de uso.
-
-
FA2 – Caixa de saída
Nro Ação do Ator
1
Resposta do Sistema
O ATOR acessa a O
tela
de
Caixa
saída.
SISTEMA
salva
Fluxo
Fluxo de
Alternativo
Exceção
FA3, FA5
FE2,
a
de mensagem no banco de
FE6
Dados e gera uma cópia
da mensagem na caixa de
saída do aplicativo.
2
-
Fim do caso de uso.
-
-
FA3 – Tela de Ajuda
Nro Ação do Ator
1
O
ATOR
opção
Resposta do Sistema
aciona
a O
SISTEMA
Fluxo
Fluxo de
Alternativo
Exceção
Apresenta -
-
a O SISTEMA retorna para -
-
“Ajuda”. uma modal.
[RS004]
2
O
ATOR
aciona
opção “Fechar”.
3
a tela anterior.
Fim do caso de uso.
-
-
142
FA4 - Excluir mensagem caixa de entrada
Nro Ação do Ator
1
Resposta do Sistema
Fluxo
Fluxo de
Alternativo
Exceção
O ATOR acessa a tela O SISTEMA apresenta as FA2,
FA3, FE2
de Caixa de entrada. mensagens recebidas do FA5
[RS005]
2
O
ATOR
usuário.
seleciona O SISTEMA apresenta as -
uma das mensagens.
opções
de
excluir
-
e
responder.
3
O ATOR seleciona a O SISTEMA apresenta a opção Excluir.
mensagem
FE4
de
confirmação de exclusão.
4
O ATOR seleciona a O
opção “SIM”
SISTEMA
exclui
a -
FE6
mensagem.
5
Fim do caso de uso.
-
-
Fluxo
Fluxo de
Alternativo
Exceção
FA5 – Excluir mensagem caixa de entrada
Nro Ação do Ator
1
Resposta do Sistema
O ATOR acessa a tela O SISTEMA apresenta as FA2,
FA3, FE2
de Caixa de entrada. mensagens recebidas do FA4
[RS005]
2
O
ATOR
usuário.
seleciona O SISTEMA apresenta as -
uma das mensagens.
opções de excluir.
-
143
3
O ATOR seleciona a O SISTEMA apresenta a opção Excluir.
mensagem
FE4
de
confirmação de exclusão.
4
O ATOR seleciona a O
opção “SIM”
5
SISTEMA
exclui
a -
FE6
mensagem.
Fim do caso de uso.
-
-
Fluxo de Exceção
nro
Ação do Ator
FE1 Validação de usuário e senha
Resposta do Sistema
O SISTEMA deverá apresentar uma
mensagem informando ao usuário que
os dados inseridos estão inválidos. com
a
seguinte
mensagem:
Dados
inválidos.
FE2 NenhumaMensagem
O SISTEMA deverá apresentar uma
mensagem informando ao usuário que
não existe nenhuma mensagem. Com a
seguinte
mensagem:Nenhuma
conversa até o momento.
FE3 Mensagem não enviada
O SISTEMA deverá apresentar uma
mensagem
informando
ao
usuário
ocorreu um problema no envio da
mensagem. Com a seguinte mensagem:
A mensagem não pode ser enviada.
Excluir Mensagem
O SISTEMA deverá apresentar uma
mensagem informando ao usuário que
FE4
se ele tem certeza que deseja excluir a
144
mensagem seleciona. Com a seguinte
mensagem: Tem certeza que deseja
excluir esta mensagem? “Sim” “Não”
FE5 Falha
na
Conexão
/
Indisponível
Rede O
sistema
deverá
apresentar
uma
mensagem informando que não foi
possível validar os dados devido à falha
na conexão com o banco de dados ou
indisponibilidade
possível
da
validar
rede:
os
Não
dados,
foi
tente
novamente.
FE6 Falha
na
Indisponível
Conexão
/
Rede O SISTEMA deverá apresentar uma
mensagem informando que ocorreram
problemas
no
processamento
da
mensagem devido à falha na conexão
com
o
banco
de
dados
ou
indisponibilidade da rede: Ocorreram
problemas
no
processamento
mensagem, tente novamente.
Figura XV – Diagrama de caso de uso Gerenciar Mensagem
da
145
Figura XVI - Protótipo Gerenciar Mensagem caixa de entrada
146
Figura XVII - Protótipo Gerenciar Mensagem caixa de entrada
Tabela XXX - Mapa de testes Gerenciar Mensagem
Ação
Resultado esperado
Entrar na tela de Gerenciar Mensagens
Apresentar a tela de caixa de entrada.
Visualizar caixa de entrada
Apresentar mensagens.
Selecionar Mensagem
Apresentar opções excluir e responder.
Selecionar opção Excluir na caixa de Apresentar mensagem de exclusão.
entrada
147
Selecionar
opção “Sim”
para excluir Verificar se a mensagem é excluída do
mensagem (Caixa de entrada)
aplicativo.
Selecionar opção Responder na caixa de Apresentar o campo Para: preenchido com
entrada
o
nome
do
usuário
selecionado.
Apresentar o campo texto e o botão
“Enviar”.
Enviar mensagem
Verificar se a mensagem é enviada ao
destinatário e salva na caixa de saída do
remetente com histórico da conversa.
Selecionar opção Excluir na caixa de Apresentar mensagem de exclusão.
saída
Selecionar
opção “Sim”
para excluir Verificar se a mensagem é excluída do
mensagem (Caixa de saída)
aplicativo.
Ajuda
Abrir modal.
Clicar no botão Visualizar no mapa
Redirecionar
para
a
tela
de
mapa,
apresentar a rota selecionada.
Tabela XXXI - Campos do formulário Gerenciar Mensagem
Label
Campo
Obrigatório
Descrição
Ajuda
btnAjuda
Não
Botão de visualização de Ajuda, em
formato modal.
Lista
lstListadeRota
Não
Lista de visualização de rotas
Responder
btnResponder
Não
Botão de redirecionamento para modal
de resposta.
148
Excluir
btnExcluir
Não
Botão
responsável
mensagens.
9.8 Apêndice H – Modelo Físico de Dados
Figura XVIII - Visão do modelo Físico de dados
por
excluir
149
9.9 Apêndice I – Documento de Diagrama de classe
Figura XIX - Visão do Diagrama de Classe
150
9.10
Apêndice J – Documento de Arquitetura
9.10.1
Objetivo
O objetivo deste documento consiste em descrever a arquitetura do
aplicativo Garupando. Ele apresenta informações estruturais da aplicação,
necessárias ao bom entendimento da disposição organizacional do mesmo, e
detalhes sobre a visão lógica do sistema.
9.10.2
Escopo
Visão geral de arquitetura do aplicativo Garupando, o qual está sendo
desenvolvido em plataforma Microsoft para possibilitar o compartilhamento de
caronas via Smartphones (Windows Phone) interagindo com um banco de
dados externo através de um Web Server.
9.10.3
Representação da Arquitetura
A arquitetura do aplicativo possui duas visões dispostas em camadas
independentes, uma para o Smartphone e outra para o Web Server/Banco de
dados, as quais estão descritas nas Figuras XX e XXI.
Figura XX Arquitetura do Aplicativo na visão do Smartphone
151
Figura XXI - Arquitetura do Aplicativo na visão do Web Server/Banco de Dados
A camada de Interface Gráfica (GUI) é a camada responsável pela
comunicação com o usuário, composta pelas telas do aplicativo. A camada de
Comunicação implementa os mecanismos de comunicação entre a GUI e a
camada de negócio. A camada de Negócio é responsável pela lógica dos
serviços e das regras de negócio. Já a camada de Dados é responsável pelo
armazenamento e recuperação dos dados do sistema.
9.10.4
Princípios e Restrições da Arquitetura
A arquitetura adotada atende às seguintes características:
- Manutenibilidade: A manutenção do sistema deve ser fácil e rápida.
- Extensibilidade: A arquitetura adotada possibilita a adição de novas
funcionalidades ao sistema, visto que possivelmente será necessário atualizar
o software.
- Modularidade: Faz com que o sistema possua partes não acopladas,
facilitando a possível substituição de componentes do mesmo.
- Restrições de Memória: Por se tratar de um sistema para Smartphones, há
uma restrição de memória de execução, estando contemplada na arquitetura.
9.10.5
Visão Lógica
A figura a seguir oferece uma visão geral da arquitetura do aplicativo
Garupando.
152
Figura XXII - Visão Lógica do Aplicativo
9.10.6
Visão Física
A figura a seguir oferece uma visão física da arquitetura do aplicativo
Garupando.
Figura XXIII - Visão Física do Aplicativo
153
9.10.7
Mecanismos arquiteturais
Os mecanismos arquiteturais inerentes ao sistema são o Servidor Web
integrado ao Banco de Dados.
9.10.8
Tecnologias utilizadas
O aplicativo será desenvolvido utilizando a Linguagem de Programação
C#, com a implementação do Windows Phone Software Development Kit (SDK)
7.1., a qual fornece os recursos necessários para criação de aplicativos para
smartphones.
Os requisitos de sistema necessários para executar essa SDK são:
Windows Vista (x86 e x64) com SP2 – todas as edições exceto Starter;
Windows 7 (x86 e x64) – todas as edições exceto Starter; 4 GB de espaço livre
em disco; 3 GB de memória RAM; e Windows Phone Emulator requer placa de
vídeo compatível com DirectX 10 ou superior com driver WDDM 1.1.
A arquitetura do sistema utiliza a tecnologia SilverLight para trazer o
estilo de Rich Internet Applications (RIA), incluindo meios de comunicação e
Internet. A linguagem ExtensibleApplicationMarkupLanguage (XAML) foi
utilizada para definir uma layout da interface do usuário controles e painéis.
A estrutura final do sistema consistirá em um Software empacotado no
formato XAP com todas as imagens, arquivos, texto, bibliotecas, utilizadas para
desenvolver o sistema através das ferramentas Microsoft Visual Studio e
Microsoft Expression Blend.
O sistema de banco de dados que armazena as informações dos
usuários é o Microsoft SQL Server 2008 R2 e a interação com os mapas é
realizada através da SDK MapsInteractive do Bing.
9.10.9
Elementos do Sistema
Os elementos do aplicativo Garupando são implementados em classes
C#, as quais representam as entidades funcionais do sistema. Elas são
distribuídas em pacotes, de acordo com sua função no sistema. Além das
154
classes o sistema também apresenta arquivos XAML que compõem a camada
de interface gráfica do sistema.
9.10.10 Performance
Ao tratar de performance, dividimos o entendimento em três partes:
capacidade de processamento do aparelho mobile, conexão com a Internet e
capacidade de processamento e resposta do banco de dados.
Como não há um controle sobre todos os modelos mobiles que podem
utilizar o aplicativo, nem mesmo uma aferição de desempenho entre as
diversas tecnologias de conexão com a internet (Wi-Fi, 3G, 4G), entendemos
que o fator primordial é o tratamento do banco de dados.
Deste
modo,
foram
realizados
testes
de
desempenho
de
armazenamento e recuperação de dados numa versão ainda não aprimorada,
com uma conexão a um banco de dados local.
O resultado alcançado na recuperação dos dados de uma tabela com
aproximadamente 5 mil registros foi de 2 a 3 segundos. O tempo máximo
estimado para uma transferência da mesma quantidade de informações
através de uma conexão de Internet é de no máximo 5 segundos, conforme
estudos realizados e disponibilizados na comunidade de produtos da Microsoft.
155
9.11
Apêndice K – Questionário Carona Solidaria
Carona Solidária
O objetivo dessa pesquisa consiste em verificar a aceitação das pessoas com relação à prática de
carona solidária.
*Obrigatório
1. Sexo*

Feminino

Masculino
2. Idade*
3. Estado Civil*

SOLTEIRO (A)

CASADO (A)

VIÚVO (A)

SEPARAÇÃO LEGAL (JUDICIAL OU DIVÓRCIO)

Outro:
4. Escolaridade*

ENSINO FUNDAMENTAL (1º GRAU) INCOMPLETO

ENSINO FUNDAMENTAL (1º GRAU) COMPLETO

ENSINO MÉDIO (2º GRAU) INCOMPLETO

ENSINO MÉDIO (2º GRAU) COMPLETO

SUPERIOR INCOMPLETO

SUPERIOR COMPLETO

MESTRADO

DOUTORADO

Outro:
5. Possui carro?*

Sim

Não
6. Você já ouviu falar em “Carona Solidária”?*

Sim

Não
156
7. Você acharia interessante ter um aplicativo que mostre pessoas que tem rotas similares à sua?*

Sim

Não
8. Você utilizaria um aplicativo de caronas?*

Sim

Não
9. Você buscaria por caronas em um aplicativo de caronas?*

Sim

Não
10. Você daria carona para uma pessoa que conheceu através de um aplicativo?*

Sim

Não
Se você respondeu não para a pergunta acima, explique o motivo?
Avalie abaixo quais informações você considera importante que estejam presentes em uma busca
rápida por caronas:*Avalie conforme o grau de importância
1 - Muito
Importante
(Essencial)
Estado Civil
Idade
Fumante / Não Fumante
Uso de bebidas alcoólicas
Marca do Veículo
Quantidade de vagas disponíveis no
veículo
Tempo de carteira
Documentação do veículo em dia
Disponibilidade de dias
2 - Interessante
3 - Indiferente
157
1 - Muito
Importante
(Essencial)
Horários disponíveis
Já compartilha carona com outras
pessoas, se sim quantas
Enviar
2 - Interessante
3 - Indiferente
Download

0 ANDERSON CORRÊA DA SILVA FERNANDA