SlideShare uma empresa Scribd logo
1 de 38
Baixar para ler offline
Universidade Federal do Rio Grande do Norte
Instituto Metrópole Digital
Programa de Residência em Engenharia de Software
DETRAN MAIS FÁCIL: CONSTRUÇÃO DE
APP WEB USANDO O FRAMEWORK ÁGIL YII
Trabalho de Conclusão de Curso
Eder Carlos de Oliveira Nogueira
CGS Consultoria (Improve)
ed.eder@gmail.com
Sob orientação de:
Prof. Dr. Aquiles Medeiros Filgueira Burlamaqui
Universidade Federal do Rio Grande do Norte
aquilesburlamaqui@ect.ufrn.br
Prof. Dr. Rummenigge Rudson Dantas
Universidade Federal do Rio Grande do Norte
rudson@ect.ufrn.br
Resumo. O presente trabalho apresenta a problemática envolvida
nos diversos processos realizados nos departamentos estaduais
de trânsito do Brasil. Em seguida, é apresentada uma solução de
software para um destes processos, o registro de veículos. Tal
solução foi desenvolvida usando o Framework Yii. A arquitetura,
os componentes e as características dessa solução são descritas
neste artigo.
Abstract. This paper presents the issues involved in the various
processes performed in the state departments of transit Brazil.
Then a software solution to one of these processes is presented,
the vehicle registration. This solution was developed using Yii
Framework. The architecture, the components and characteristics
of this solution are described in this article.
1. Introdução
A frota nacional de veículos automotores mais que duplicou nos últimos dez
anos, ultrapassando a marca de 79 milhões de veículos (ver figura 1), de
acordo com os últimos dados disponibilizados pelo Departamento Nacional de
Trânsito (DENATRAN, 2014).
Figura 1: Evolução da frota de automóveis e motocicletas entre 1998 e 2012.
Fonte: Página do Professor PhD. Alexandre Costa no Blogspot
1
.
Entretanto, a capacidade de atendimento dos Departamentos Estaduais
de Trânsito (DETRANs) não evoluiu na mesma proporção, resultando em
equipes sobrecarregadas e aumento de filas, isto é, na redução da qualidade
dos serviços prestados aos cidadãos.
Umas das principais causas do cenário apresentado é o excesso de
atividades realizadas pelo usuário (como é chamado o cliente do DETRAN)
presencialmente no órgão. Atualmente um usuário que, por exemplo, adquire
um veículo usado e precisa realizar a “Transferência de Propriedade” participa
da execução do processo de negócio Registro de Veículo ilustrado de forma
resumida na figura 2.
1
Disponível em: <http://oquevocefariasesoubesse.blogspot.com.br/2013/01/transporte-
individual-contra-mao-beco.html>. Acessado em dez. 2014.
Figura 2: Processo de negócio “Registro de Veículos”, atualmente implantado
nos DETRANs.
Fonte: Elaborado pelo autor
Mesmo havendo variação no processo apresentado na Figura 2, tanto
entre os DETRANs, quanto entre outros serviços de Registro de Veículo, o
cliente chega a enfrentar até 05 (cinco) filas até receber o Certificado de
Registro de Veículo – CRV.
O problema se agrava com a ausência de informações para o cidadão
que precisa do atendimento, causando, muitas vezes, idas ao DETRAN sem a
documentação necessária, gerando perda de tempo tanto por parte do
atendente do órgão quanto por parte do cidadão que precisa voltar para
retomar o atendimento do início do processo.
Além disso, é importante frisar a deficiência de pessoal qualificado dos
DETRANs e de órgãos públicos em geral para pesquisa e desenvolvimento de
novas tecnologias e automações, deixando em aberto uma forte demanda por
terceirização de serviços com tecnologia aplicada.
A seguir, serão apresentadas as principais soluções de software
relacionadas ao tema, assim como as tecnologias utilizadas no projeto
proposto.
2. Referencial Teórico ou Tecnológico
Desde que o Manifesto Ágil foi divulgado, seus princípios vêm influenciando
cada vez mais adeptos na forma de desenvolver software. Desenvolvedores,
gestores de projeto e clientes vem repensando e refinando seus papéis,
visando melhorar a interação entre si. São 12 princípios que se resumem em
04 frases (MANIFESTO ÁGIL, 2001):
 Indivíduos e interação entre eles mais que processos e
ferramentas;
 Software em funcionamento mais que documentação abrangente;
 Colaboração com o cliente mais que negociação de contratos;
 Responder a mudanças mais que seguir um plano;
A partir daí, surgiram frameworks de desenvolvimento que fomentaram
os princípios acima. Muitas tecnologias começaram a trazer embutidos
componentes “prontos” e adaptáveis de software que atendem os requisitos
não funcionais da maioria dos sistemas, como internacionalização, validação
de formulários, suporte a autenticação, segurança, web services, entre muitos
outros componentes. Oferecer estes requisitos ajudou as equipes de
desenvolvimento a focarem em suas regras de negócio e alcançar metas junto
a seus clientes.
Desde então, estas tecnologias foram largamente adotadas no mundo
web, com diferentes linguagens de programação. Segundo pesquisa da IEEE
(Institute of Electrical and Electronics Engineers), baseado em diversas fontes
(artigos de revistas especializadas, resultados de pesquisa no Google, dados
do Google Trends, tweets do Twitter, repositórios GitHub, perguntas do
StackOverfow, mensagens do Reddit, entre outros), como ilustrado na figura
abaixo, as 10 linguagens mais utilizadas na web em 2014 são (IEEE, 2014):
Figura 3: Ranking das linguagens mais utilizadas na Web em 2014
Fonte: Website do IEEE Spectrum
2
As principais linguagens exibidas na figura 3 abraçaram as tendências
do desenvolvimento ágil, disponibilizando ferramentas como por exemplo:
Vraptor e Hibernate (Java), Django (Python), AngularJS, BackBoneJS e
EmberJS (JavaScript), Rails (Ruby), Play (Scala), Grails (Groovy) e Revel (Go).
Dentre várias possibilidades existentes para o projeto proposto, foi
escolhida como linguagem de programação base o PHP. Criada em 1995, se
consolidou como umas das mais utilizadas linguagens da web, em aplicações
que vão desde redes sociais, como o Facebook, gestores de conteúdo como
Drupal e Wordpress, até plataformas de comércio eletrônico como Magento e
Oscommerce.
A linguagem PHP também possui um ecossistema rico de ferramentas
ágeis. De acordo com o portal Mashable (MASHABLE, 2014), os mais
utilizados são: Laravel (lavarel.com), CakePHP (cakephp.org), CodeIgniter
(codeigniter.com), Symfony (symfony.com), Zend (zend.com), Phalcon
(phalconphp.com) e Yii (yiiframework.com).
2
Disponível em: <http://spectrum.ieee.org/static/interactive-the-top-programming-languages>.
Acessado em dez. 2014.
Figura 4: Principais frameworks ágeis PHP
Fonte: Elaborado pelo autor
Para o projeto proposto, o framework Yii foi o selecionado por cobrir
muitos requisitos do sistema. Além disso, a equipe de desenvolvimento usa a
linguagem PHP como linguagem principal no desenvolvimento, o que reforçou
a escolha por este framework, além do Yii contar com uma comunidade ativa
com centenas de desenvolvedores espalhados por diversos países, como
Rússia, Índia, China, Brasil e Estados Unidos (YII GUIA DE REFERÊNCIA,
2014).
Atualmente na versão 2, foi criado em janeiro de 2008, por Qiang Xue,
sendo bastante influenciado por outros frameworks web como Prado
(pradosoft.com), Ruby on Rails (rubyonrails.com), jQuery (jquery.com/),
Symfony (symfony.com) e Joomla (joomla.org). A proposta principal de seus
idealizadores, sempre foi disponibilizar “…um framework PHP baseado em
componentes, de alta performance, para desenvolvimento ágil de modernas
aplicações web.”, “…livre, de código aberto… que promove design limpo (dry
design) e encoraja o desenvolvimento ágil…”, ou ainda, “…para
desenvolvimento de todo tipo de aplicação web…”, como “…portais, fóruns,
gestores de conteúdo, comércio eletrônico, serviços RESTful, entre muitos
outros” (ULLMAN, 2013).
De acordo com KECK (2014) suas características fundamentais:
 Padrões de projeto: Uso do padrão de projeto MVC (Modelo-
Visão-Controle), visando a separação de conceitos (separation of
concerns, SoC), ou melhor separação do software em camadas;
Uso do padrão Active Record para associação de classes a
tabelas da base de dados;
 Banco de Dados: Baseado nos PHP Data Objects (PDO), o Yii
implementa Data Access Objects (DAO) para possibilitar o acesso
a diferentes tipos de bancos de dados;
 Formulários e Validação: o Yii coleta entrada dos formulários de
maneira fáci e segura, fornecendo widgets e métodos apropriados
para validação de dados;
 Suporte a AJAX: fornece um conjunto de widgets com suporte a
esta tecnologia, como auto-complete input field, treeview, data
grid, entre outros, com interface versátil e simples;
 Autenticação e Autorização: Yii fornece uma estrutura com
suporte a autentição de usuários via controle de acesso baseado
em níveis hierárquicos (RBAC, role-based access control);
 Layout e Temas: Yii fornece um mecanismo que permite criar e
trocar temas com facilidade;
 Web Services: suporte ao uso e geração de arquivos WSDL,
assim como gerência de requisições de serviços web;
 Internacionalização e Localização: suporte a internacionalização
(I18N) do software para diferentes línguas, assim como
configuração de local (L18N), adaptando o software a uma
determinada país;
 Caching: suporte a cache de dados (data caching), cache das
páginas (page caching), cache de fragmento de páginas
(fragment caching) e caching do HTTP (http caching);
 Tratamento de Erros e Log: tratamento de erros de forma
elegante, assim como mensagens de logs que podem ser
categorizadas, filtradas e roteadas de acordo com as
necessidades do desenvolvedor;
 Segurança: é equipado com medidas de segurança para previnir
a aplicação de ataques como sql injection, cross-site scripting
(XSS), cross-site request forgery (CSRF) e interceptação de
cookies;
 Suporte a testes: fornece suporte a escrita e execução de testes
unitários, baseados nas tecnologias PHPUnit(phpunit.de) e
Selenium (seleniumhq.org);
 Geração automática de código: fornece ferramentas que geram
formulários, CRUDs, etc;
 Amigável com código de terceiros: adaptável para utilizar códigos
de outras tecnologias, como Zend, Pear, etc;
 Documentação detalhada: cada método, classe e propriedade
está documentado. O portal é mantido por uma comunidade ativa
de desenvolvedores;
 Extensão de bibliotecas: Yii provê a extensão e integração de seu
código-fonte com bibliotecas criadas pelos próprios usuários
desenvolvedores, contando atualmente com uma gama de
bibliotecas disponíveis e criadas pela comunidade;
Outro requisito de destaque é a performance do framework. As
aplicações desenvolvidas em Yii utilizam a técnica de lazy loading. Segundo
KHALILI (2010), esta técnica permite um “carregamento tardio” do objeto, ou
seja, disponibilizando-o somente quando necessário. É muito eficaz para
ganhos de desempenho, já que reduz substancialmente os acessos ao banco
de dados. A técnica é recomendada, especialmente, para o padrão de Projeto
Active Record, utilizado no core do Yii. Outra técnica utilizada é o Caching
(PHP MANUAL), utilizado em conformidade com o APC (Alternative PHP
Cache), o que reforça o dado framework como um dos que apresentam melhor
desempenho no mercado, como mostra a figura 5.
Em seguida, será apresentado o projeto “Detran Mais Fácil”, no qual foi
aplicado o Yii e muitos de suas funcionalidades.
Figura 5: Comparação de Performance entre frameworks PHP
Fonte: Website do Yii Framework
3
3
Disponível em: <http://www.yiiframework.com/performance/>. Acessado em jan.2014
2.1. Outras tecnologias utilizadas
Diversas outras tecnologias foram utilizadas: o servidor web Apache, o
gerenciador de banco de dados MySQL, além da PHP, linguagem do Yii (já
abordados na seção anterior), todos componentes da pilha AMP. O Git foi o
escolhido para versionador do código.
O fato de se tratarem de ferramentas livres e consolidadas no mercado
pesou na escolha das respectivas tecnologias. A seguir, são apresentadas em
mais detalhes.
2.1.1 Apache
O servidor web líder mundial do mercado, desenvolvido pela Apache Software
Foundation foi utilizado no protótipo, tanto em estágio de desenvolvimento
quanto em produção. Foram realizados testes, na sua versão 2.x, em ambiente
local, remoto e como serviço em plataformas de nuvem, com sucesso.
2.1.2 MySQL
O sistema gerenciador de banco de dados MySQL é líder mundial dos SGBDs
transacionais de plataforma livre encontrado no mercado. É mantido pela
Oracle, uma gigante de TI, além de possuir grande comunidade de usuários e
de ser utilizado em conjunto com o MySQL Workbench, um cliente gráfico com
muitas ferramentas. Outro fato que pesou é o custo menor de uma instância
deste SGBD em plataformas de nuvem, como a Amazon, por exemplo. Testes
ainda foram feitos sucesso, utilizando o Postgres como repositório de dados.
2.1.3 Componentes Yii Framework
O framework MVC Yii foi o escolhido para construir o backend do protótipo,
utilizado na sua versão 2.x, na versão PHP 5.4.x Suas principais características
já foram elencadas no documento, mas vale ressaltar as diversas tecnologias
contidas neste framework:
 Layout: HTML5 e template AdminLTE versão 2.1;
 Assets: CSS3, JQuery 2.1.4, Bootstrap 2.3.2, Biblioteca de fontes
FontAwesome;
 Gerenciamento de dependências: Composer 1.0-dev;
2.1.4 Git
A ferramenta Git é a mais utilizada no mercado para repositório e
controle de versão de projetos no mercado e foi largamente utilizada no
projeto. Usada na versão 2.x, foi utilizado um repositório remoto da
Atlassian Bitbucket, assim como interface de deploy na plataforma de
nuvem Heroku.
3. Detran Mais Fácil
Atualmente, os departamentos estaduais de trânsito no Brasil, têm suas
atribuições previstas pela Lei nº 9.503/97, que instituiu o Código de Trânsito
Brasileiro, e as respectivas legislações estaduais. Dentre as principais
competências, destacam-se:
Art. 22. Compete aos órgãos ou entidades executivos de trânsito dos
Estados e do Distrito Federal, no âmbito de sua circunscrição:
[...] III - vistoriar, inspecionar quanto às condições de segurança
veicular, registrar, emplacar, selar a placa, e licenciar veículos,
expedindo o Certificado de Registro e o Licenciamento Anual,
mediante delegação do órgão federal competente;
[...] XIII - integrar-se a outros órgãos e entidades do Sistema Nacional
de Trânsito para fins de arrecadação e compensação de multas
impostas na área de sua competência, com vistas à unificação do
licenciamento, à simplificação e à celeridade das transferências de
veículos e de prontuários de condutores de uma para outra unidade
da Federação;
XIV - fornecer, aos órgãos e entidades executivos de trânsito e
executivos rodoviários municipais, os dados cadastrais dos veículos
registrados e dos condutores habilitados, para fins de imposição e
notificação de penalidades e de arrecadação de multas nas áreas de
suas competências;
(BRASIL, Lei nº 9.503, de 23 de setembro de 1997. Diário Oficial da
União – Seção I – 24/09/1997)
Baseado nas informações acima, o DETRAN Mais Fácil, em pleno
estado de funcionamento, será uma plataforma de software que se integrará
aos sistemas dos DETRANs e permitirão que seus usuários realizem
previamente, através da Internet, algumas das etapas do processo de Registro
de Veículo, quais sejam: a abertura de processo de registro de veículo,
geração de guia de pagamento e emissão de laudo de vistoria. Aqui está a
primeira inovação do sistema: nenhum órgão de trânsito brasileiro oferece a
possibilidade do registro de veículos on-line.
O segundo aspecto inovador do software desenvolvido ainda se refere
ao fato do DETRAN Mais Fácil ser um serviço on-line: comodidade e
praticidade. Apesar de todos os órgãos estaduais de trânsito, das 27 unidades
da federação, além do DENATRAN (Departamento Nacional de Trânsito),
contarem com sítios web, nem todas as suas atribuições estão disponibilizados
como serviços on-line. Alguns destes serviços, algumas vezes, são apenas
listas de instruções, informando apenas quais documentos são necessários
para abertura presencial de determinado processo no órgão, exemplificado na
figura abaixo:
Figura 6: Informações do Serviço “Certidão negativa de multas de trânsito, débitos e
dados cadastrais – Nada Consta”, disponível no website do DETRAN-RN.
Fonte: Website do DETRAN-RN
4
Com o DETRAN Mais Fácil, o usuário fará a abertura do processo
diretamente de sua residência, evitando filas e burocracia. O procedimento
será mais transparente, já que o usuário compreenderá melhor o processo. O
próprio órgão ganhará em agilidade de atendimento, além de melhoria de sua
imagem frente a população.
Outro aspecto inovador do DETRAN Mais Fácil é a sua facilidade de
uso. Alguns órgãos de trânsito oferecem serviços on-line, como consulta de
dados relacionados à habilitação, infração, multas, veículos, além de acessos a
alguns dados estatísticos. A maioria carece de uma interface acessível e
amigável ao usuário, conforme visto na figura a seguir:
4
Disponível em: <http://www.detran.rn.gov.br/ser_certidao.asp>. Acessado em jan. 2015.
Figura 7: Página inicial do website do DETRAN-SC.
Fonte: Website do DETRAN-SC
5
A seguir, serão apresentados os detalhes técnicos do protótipo
desenvolvido, como requisitos, arquitetura e tecnologias utilizadas.
3.1. Requisitos
A seguir serão listados os principais requisitos funcionais e não funcionais
utilizados para o desenvolvimento do protótipo do Detran Mais Fácil.
Tabela 1: Requisitos Funcionais para o protótipo
RF01 O sistema deve permitir o registro de usuário.
RF02 O sistema deve permitir login/logout do usuário.
RF03 O sistema deve permitir reset de senha por parte do usuário.
RF04 O sistema deve permitir o cadastro de um perfil do usuário
RF05 O sistema deve permitir o cadastro de veículos.
5
Disponível em: <http://detran.sc.gov.br/>. Acessado em jan. 2015.
RF06 O sistema deve permitir o cadastro de despachantes.
RF07 O sistema deve permitir a abertura de processos de
registro/transferência de veículo por meio de um wizard.
RF08 O sistema deve permitir gerência de usuários do sistema.
RF09 O sistema deve permitir a gerência de processos de
registro/transferência de veículos.
Os requisitos funcionais acima se referem ao protótipo da solução. Cabe
destacar que a aplicação completa possuirá um escopo maior, com requisitos
de um sistema corporativo. Entre eles, podemos destacar: o sistema terá
suporte multiusuário; será modularizado; implementado em múltiplas
plataformas; interação com outras aplicações; possuirá uma missão crítica, de
forma a ser robusto o suficiente para sustentar seu funcionamento contínuo,
seguro e escalável. No fim do documento, há mais informações a respeito do
futuro do projeto no que diz respeito ao atendimento destes requisitos.
Tabela 2: Requisitos Não Funcionais para o protótipo
RNF01 O sistema deve permitir a validação do email do usuário registrado.
RNF02 O sistema deve ter controle de acesso para diferentes perfis de
usuário. Utiliza-se padrão RBAC (Role Based Access Control).
RNF03 O sistema utiliza o algoritmo MD5 para criptografar os dados
transmitidos, assim como o uso dos protocolos HTTPS/SSL.
RNF04 O wizard do sistema deverá ser responsivo, acessível nos principais
navegadores do mercado, assim como ser acessível através de
dispositivos móveis como smartphones e tablets.
Já os requisitos não funcionais acima abordam um tema importante: a
segurança. O requisito “RNF01” evidencia o requisito de segurança
“autenticação”, de forma que só usuários logados terão a determinadas
funcionalidades do sistema. O “RNF02” evidencia o requisito de “autorização”,
definindo um controle de acesso ao sistema baseado em determinadas regras.
Já no “RNF03”, o uso do algoritmo MD5 expõe o requisito
“confidencialidade”, extremamente necessário no tráfego de dados realizado
nas operações do sistema. Por último, o “RNF04”, além de abordar a
“usabilidade” (não está relacionada a segurança), aborda a questão da
disponibilidade do sistema, seja em diversos navegadores, diferentes
plataformas, a múltiplos usuários simultâneos.
3.2. Arquitetura do software
A seguir, serão apresentados os principais diagramas do sistema, cobrindo
todo escopo do software.
Figura 8: Diagrama de Casos de Uso, representando o escopo do sistema.
Fonte: Elaborado pelo autor
Os casos de uso “Abrir Processo”, “Manter Usuário”, “Validar Email”,
“Manter Veículo” e “Promover Despachante” foram contemplados na versão
atual do protótipo. Respectivamente, o primeiro se refere à abertura de
processo de registro/transferência de veículos online, realizado através do
wizard da aplicação. Já o segundo e o terceiro caso de uso contemplam todos
os requisitos funcionais e não funcionais relacionados ao registro e
autenticação de usuários no sistema.
Já os dois últimos abordados referem-se as funcionalidades
relacionadas ao perfil de usuário “despachante”. O despachante é um perfil
específico de usuário, já que se trata de um intermediário entre o usuário
cidadão e o Detran. Ele é um profissional que pode cuidar da documentação do
usuário, do veículo, emplacamento, CRV, registro e transferência de veículos.
Os demais casos de uso estão definidos para as próximas evoluções da
solução. Para o melhor entendimento da visão atual e futura do sistema, o
sistema é apresentado a nível de módulos no diagrama de decomposição,
exposto logo a seguir:
Figura 9: Diagrama de Decomposição do Sistema.
Fonte: Elaborado pelo autor
Relacionando o diagrama acima com o arquétipo apresentado, os
módulos “Proprietário” e “Despachante” são aqueles com estágio mais
avançado de desenvolvimento, já que vários de seus submódulos encontram-
se no escopo do protótipo desenvolvido. Os outros submódulos, assim como os
módulos “Comunicação” e “Administrador” serão alcançados nas próximas
evoluções do sistema.
Figura 10: Diagrama de implantação do sistema
Fonte: Elaborado pelo autor
Por último, acima é exposto o diagrama de implantação do sistema,
mostrando uma visão geral da solução em pleno funcionamento. Por se tratar
de um sistema web, o sistema estará disponível para as diversas requisições
de usuários com o perfil “Cidadão”, assim como acessível para os diversos
departamentos estaduais de trânsito conveniados com a aplicação. O protótipo
atual roda sob um servidor web convencional, com expectativa de deploy no
futuro para uma plataforma em nuvem. No final deste artigo, na seção “Anexo”,
são apresentados o restante dos diagramas da solução.
3.3. Processo de Desenvolvimento
O processo de desenvolvimento foi baseado em métodos ágeis, principalmente
no SCRUM. Foi baseado em poucos artefatos e é facilitado pelo uso da
ferramenta Trello, da Trello Inc.
O processo basicamente consistiu nos seguintes passos: definição de
um product backlog pelo gestor do projeto, ou seja, um conjunto de requisitos
gerais definidos para o sistema. Em seguida, um sprint backlog era definido
com ajuda da ferramenta Trello, para cada iteração de desenvolvimento, que
podia consumir de 15 a 30 dias. Cada sprint possui um número de cards,
tarefas a serem executadas e registradas através de commits no repositório git
do projeto, hospedado na aplicação Atlassian Bitbucket. Para esclarecer
melhor o processo, a figura 11 mostra um momento recente de um sprint do
projeto:
Figura 11: Exemplo de sprint do projeto no Trello.
Fonte: Print da aplicação Trello
3.4. Protótipo desenvolvido
A seguir, serão descritas as funcionalidades desenvolvidas para o protótipo do
Detran Mais Fácil.
3.4.1 Abertura de Processo pelo Wizard
O fluxo principal para os usuários, perfil “Cidadão”, que acessarem o sistema
começa pelo wizard. Foi desenvolvido um sistema de abas, responsivo e
intuitivo, onde os usuários respondem algumas perguntas no passo-a-passo,
de modo a tirar dúvidas a respeito da documentação exigida e facilitar o
entendimento de qualquer cidadão que deseje abrir um processo de
registro/transferência de veículos.
Figura 12: Wizard do Detran Mais Fácil
Fonte: Print do protótipo do Detran Mais Fácil
Durante o passo-a-passo, o usuário fornece os dados do veículo
(número da placa, código Renavam, código CRV e a data de aquisição do
veículo). Em seguida, fornece seus dados pessoais, finalizando o processo de
abertura de registro/transferência do veículo em questão. No fim, é
disponibilizado um menu, com as funções de impressão do laudo de vistoria, a
ficha de alteração cadastral e impressão do boleto bancário.
Figura 13: Inserção dos dados do veículo
Fonte: Print do protótipo do Detran Mais Fácil
Figura 14: Inserção dos dados do cidadão
Fonte: Print do protótipo do Detran Mais Fácil
Figura 15: Finalização do wizard
Fonte: Print do protótipo do Detran Mais Fácil
3.4.2 Registro de Usuário
As figuras 16 e 17 são, respectivamente, o print da página inicial e da página
de signup, ou seja, registro de usuários no sistema. O aplicativo exige nome, e-
mail e senha do novo usuário, alertando para dados inválidos e verificando a
disponibilidade e o formato do e-mail.
Figura 16: Página inicial do Detran Mais Fácil
Fonte: Print Screen do protótipo do Aplicativo Detran Mais Fácil
Figura 17: Página de Registro
Fonte: Print Screen do protótipo do Aplicativo Detran Mais Fácil
3.4.3 Login/Logout do usuário
Em seguida, tela de autenticação do sistema:
Figura 18: Página de login do usuário
Fonte: Print Screen do protótipo do Aplicativo Detran Mais Fácil
3.4.4 Resetar senha do usuário
Em situações que o usuário se esqueça da senha para acessar o aplicativo, há
a possibilidade de reset de senha, apenas informando o email cadastrado. O
sistema envia para o email fornecido um link para reset e cadastro de nova
senha.
Figura 19: Página de Reset de senha de usuário
Fonte: Print Screen do protótipo do Aplicativo Detran Mais Fácil
3.4.5 Cadastrar Perfil de Usuário
Com o usuário autenticado, ele pode cadastrar seu perfil no sistema,
independente do seu perfil de usuário. Um menu com funções específicas é
exibido conforme o perfil do usuário, seja ele cidadão, despachante ou
administrador.
Figura 20: Usuário autenticado como administrador
Fonte: Print Screen do protótipo do Aplicativo Detran Mais Fácil
Figura 21: Profile de usuário
Fonte: Print Screen do protótipo do Aplicativo Detran Mais Fácil
3.4.6 Cadastros: CRUD Veículo, Despachante, Processo e Usuário
O usuário “despachante” tem acesso ao cadastro de veículos e processos. Já o
usuário “administrador” tem acesso a todas as funcionalidades do sistema,
inclusive, a gerência de usuários.
Figura 22: Cadastro de veículos
Fonte: Print Screen do protótipo do Aplicativo Detran Mais Fácil
Figura 23: Cadastro de despachantes
Fonte: Print Screen do protótipo do Aplicativo Detran Mais Fácil
Figura 24: Abertura de processos
Fonte: Print Screen do protótipo do Aplicativo Detran Mais Fácil
Figura 25: Gerência de usuários
Fonte: Print Screen do protótipo do Aplicativo Detran Mais Fácil
4. Avaliação da Solução
O primeiro ponto a ser avaliado é o escopo. O protótipo desenvolvido ainda
está incompleto em relação ao escopo original do projeto. Dos 9 casos de uso
levantados, 50% foram implementados. De qualquer forma, seu escopo foi bem
documentado através dos diagramas apresentados, o que facilitará no
desenvolvimento do restante da aplicação.
O segundo ponto a ser levantado foi a produtividade das tecnologias
empregadas. Além da vantagem de serem utilizadas apenas ferramentas open-
source, o que reduziu consideravelmente os custos do projeto, os métodos
ágeis empregados facilitaram na condução dos sprints, além de fornecer a
equipe do projeto sempre uma visão macro da evolução da solução. Cabe
destacar o uso do framework Yii, que teve suas funcionalidades testadas e
positivamente aprovadas na construção do protótipo. O uso de tais tecnologias
é fortemente recomendado para a evolução da aplicação.
4.1 Trabalhos Futuros
O último ponto a ser avaliado é o futuro do projeto. Por ser uma solução web,
se faz necessária sua implantação em algum DETRAN específico, testes de
usabilidade com usuários reais, além do deploy do sistema em uma arquitetura
de nuvem agregariam valor ao sistema.
A utilização cada vez maior da plataforma mobile nos próximos anos
torna essencial a criação de uma versão mobile da aplicação Detran Mais Fácil.
Uma primeira versão na plataforma Android, que é líder no mercado brasileiro,
deverá ser a primeira meta na área de dispositivos móveis.
A comercialização do sistema como serviço é outro enfoque que deve
ser realizado para garantir monetização com a solução. A integração com
sistemas de pagamentos bancários dos principais bancos brasileiros deverá
está no plano de ações futuros da solução.
5. Conclusões
O objetivo do projeto foi alcançado em grande parte, já que os envolvidos no
ganharam bastante know-how com as tecnologias empregadas, além da
divulgação do projeto em congresso da agência fomentadora
(FAPERN/CAPES) e na web.
A Residência em Engenharia de Software teve papel-chave na formação
e desenvolvimento do trabalho. Muito do conteúdo das disciplinas ministradas
ao longo do curso foi aplicado no desenvolvimento da solução. Disciplinas
como “Gerência de Configuração” forneceram base para a escolha das
tecnologias de versionamento de código; “Arquitetura de Software” ajudou a
definir o escopo do projeto; “Desenvolvimento Ágil para Web” reforçou a
escolha do Yii como tecnologia referência, assim como muitas outras
disciplinas contribuíram no desenvolvimento da aplicação.
Além disso, forneceu motivação no estudo de várias tecnologias, como o
Yii, Heroku, Composer, Git, entre outras, além da prática dos conhecimentos
adquiridos em sala de aula.
Agradecimentos
Agradeço a Deus, minha esposa Cássia pela compreensão ao longo dos
últimos 18 meses envolvido no projeto, aos professores Rummenigge e
Aranha, ao gestor do projeto George Freire, a FAPERN/CAPES que abriu as
portas para a residência, além de todos os colegas e amigos do Instituto
Metrópole Digital.
Referências Bibliográficas
DENATRAN. Departamento Nacional de Trânsito. Frota de veículos. Disponível
em: <http://www.denatran.gov.br/frota.htm>. Acesso em: 10 dez. 2014.
MANIFESTO ÁGIL. Manifesto Ágil para Desenvolvimento de Software.
Disponível em: <http://www.manifestoagil.com.br>. Acesso em: 10 dez.
2014.
IEEE. Institute of Electrical and Electronics Engineers. Interactive: The Top
Programming Languages. Disponível em:
<http://spectrum.ieee.org/static/interactive-the-top-programming-languages>.
Acesso em: 10 dez. 2014.
MASHABLE. 13 PHP Frameworks to Help Build Agile Applications. Disponível
em: <http://mashable.com/2014/04/04/php-frameworks-build-applications>.
Acesso em: 10 dez. 2014.
YII GUIA DE REFERÊNCIA. Yii PHP Framework Version 2. Disponível em:
<http://www.yiiframework.com/doc-2.0/>. Acesso em: 10 dez. 2014.
ULLMAN, Larry. (2013) . The Yii Book: Developing Web Applications Using the
Yii PHP Framework. Disponível em: <https://larry.pub/>. Acesso em: 20 dez.
2014.
KECK, Bill. (2014). Yii 2 For Beginners. Disponível em:
<http://leanpub.com/yii2forbeginners>. Acesso em: 20 dez. 2014.
KHALILI, Mehdi. ORM anti-patterns - Part 3: Lazy loading. Disponível em:
<http://www.mehdi-khalili.com/orm-anti-patterns-part-3-lazy-loading>. Acesso
em: 20 dez. 2014.
PHP MANUAL, Manual do PHP. Referência das Funções. Afetando o
comportamento do PHP. APC. Disponível em:
<http://php.net/manual/pt_BR/intro.apc.php>. Acesso em: 20 dez. 2014.
Anexo
A seguir, são apresentados todos os diagramas elaborados para definição da
arquitetura da solução. Tais diagramas foram construídos segundo a UML
(Unified Modeling Language): diagramas de classe, comunicação, sequência
casos de uso, decomposição , implementação, usa, componente-e-conector e
implantação.
I. Diagramas de Classe
Figura 26: Diagrama de Classe Abrir Processo
Fonte: Elaborado pelo Autor
Figura 27: Diagrama de Classe Emitir Guia
Fonte: Elaborado pelo Autor
Figura 28: Diagrama de Classe Emitir Alerta
Fonte: Elaborado pelo Autor
Figura 29: Diagrama de Classe Emitir Relatório
Fonte: Elaborado pelo Autor
Figura 30: Diagrama de Classe Promover Usuário a Despachante
Fonte: Elaborado pelo Autor
Figura 31: Diagrama de Classe Realizar Pagamento
Fonte: Elaborado pelo Autor
II. Diagramas de Comunicação
Figura 32: Diagrama de Comunicação Abrir Processo
Fonte: Elaborado pelo Autor
Figura 33: Diagrama de Comunicação Emitir Alerta
Fonte: Elaborado pelo Autor
Figura 34: Diagrama de Comunicação Emitir Guia
Fonte: Elaborado pelo Autor
Figura 35: Diagrama de Comunicação Emitir Relatório
Fonte: Elaborado pelo Autor
Figura 36: Diagrama de Comunicação Emitir Relatório
Fonte: Elaborado pelo Autor
III. Diagrama de Sequência
Figura 37: Diagrama de Sequência Abrir Processo
Fonte: Elaborado pelo Autor
IV. Diagrama de Casos de Uso
Figura 38: Diagrama de Casos de Uso
Fonte: Elaborado pelo Autor
V. Diagrama de Decomposição
Figura 39: Diagrama de Decomposição
Fonte: Elaborado pelo Autor
VI. Diagrama de Implementação
Figura 40: Diagrama de Implementação
Fonte: Elaborado pelo Autor
VII. Diagrama de Usa
Figura 41: Diagrama de Usa
Fonte: Elaborado pelo Autor
VIII. Diagrama Componente-e-conector
Figura 42: Diagrama Componente-e-conector
Fonte: Elaborado pelo Autor
IX. Diagrama de Implantação
Figura 43: Diagrama de Implantação
Fonte: Elaborado pelo Autor

Mais conteúdo relacionado

Destaque

Workflows, diagramas e classes de Analise. Sistemas de Informação
Workflows, diagramas e classes de Analise. Sistemas de InformaçãoWorkflows, diagramas e classes de Analise. Sistemas de Informação
Workflows, diagramas e classes de Analise. Sistemas de InformaçãoPedro De Almeida
 
Metodologia de desenvolvimento de sistemas
Metodologia  de desenvolvimento de sistemasMetodologia  de desenvolvimento de sistemas
Metodologia de desenvolvimento de sistemasPriscila Stuani
 
07 diagrama de classes de análise
07  diagrama de classes de análise07  diagrama de classes de análise
07 diagrama de classes de análiseFilipe Soares
 
Trabalho de diplomação I
Trabalho de diplomação ITrabalho de diplomação I
Trabalho de diplomação IEdmilson Hora
 
UML - Criando Diagramas Eficientes
UML - Criando Diagramas EficientesUML - Criando Diagramas Eficientes
UML - Criando Diagramas EficientesRodrigo Cascarrolho
 
Kant e a Ética do Dever
Kant e a Ética do DeverKant e a Ética do Dever
Kant e a Ética do DeverEder Nogueira
 

Destaque (9)

Fabio Camara
Fabio CamaraFabio Camara
Fabio Camara
 
Workflows, diagramas e classes de Analise. Sistemas de Informação
Workflows, diagramas e classes de Analise. Sistemas de InformaçãoWorkflows, diagramas e classes de Analise. Sistemas de Informação
Workflows, diagramas e classes de Analise. Sistemas de Informação
 
Metodologia de desenvolvimento de sistemas
Metodologia  de desenvolvimento de sistemasMetodologia  de desenvolvimento de sistemas
Metodologia de desenvolvimento de sistemas
 
07 diagrama de classes de análise
07  diagrama de classes de análise07  diagrama de classes de análise
07 diagrama de classes de análise
 
Trabalho de diplomação I
Trabalho de diplomação ITrabalho de diplomação I
Trabalho de diplomação I
 
Tcc Pet Caoveniencia
Tcc Pet CaovenienciaTcc Pet Caoveniencia
Tcc Pet Caoveniencia
 
UML - Criando Diagramas Eficientes
UML - Criando Diagramas EficientesUML - Criando Diagramas Eficientes
UML - Criando Diagramas Eficientes
 
Kant e a Ética do Dever
Kant e a Ética do DeverKant e a Ética do Dever
Kant e a Ética do Dever
 
A teoria ética de kant
A teoria ética de kantA teoria ética de kant
A teoria ética de kant
 

Semelhante a DETRAN MAIS FÁCIL: CONSTRUÇÃO DE APP WEB USANDO O FRAMEWORK ÁGIL YII

Projeto Indiana
Projeto IndianaProjeto Indiana
Projeto Indianahellequin
 
Artigo Automação de testes funcionais com Demoiselle Behave
Artigo Automação de testes funcionais com Demoiselle BehaveArtigo Automação de testes funcionais com Demoiselle Behave
Artigo Automação de testes funcionais com Demoiselle BehaveJulian Cesar
 
UTILIZANDO O FRAMEWORK JBOSS SEAM PARA ACELERAR O DESENVOLVIMENTO DE APLICAÇÕ...
UTILIZANDO O FRAMEWORK JBOSS SEAM PARA ACELERAR O DESENVOLVIMENTO DE APLICAÇÕ...UTILIZANDO O FRAMEWORK JBOSS SEAM PARA ACELERAR O DESENVOLVIMENTO DE APLICAÇÕ...
UTILIZANDO O FRAMEWORK JBOSS SEAM PARA ACELERAR O DESENVOLVIMENTO DE APLICAÇÕ...Eder Nogueira
 
Projeto Web - Aula 1 - Fundamentos do Dev WEB.pptx
Projeto Web - Aula 1 - Fundamentos do Dev WEB.pptxProjeto Web - Aula 1 - Fundamentos do Dev WEB.pptx
Projeto Web - Aula 1 - Fundamentos do Dev WEB.pptxLuiz Antonio
 
Desenvolvimento de sistemas jurídicos
Desenvolvimento de sistemas jurídicosDesenvolvimento de sistemas jurídicos
Desenvolvimento de sistemas jurídicosAndre Camilo
 
201406Carvalho
201406Carvalho201406Carvalho
201406CarvalhoAfonso Pra
 
Ai1516 ad-tp2-g2-a
Ai1516 ad-tp2-g2-aAi1516 ad-tp2-g2-a
Ai1516 ad-tp2-g2-aDuarte Gomes
 
Desenvolvimento web com software livre
Desenvolvimento web com software livreDesenvolvimento web com software livre
Desenvolvimento web com software livreRuan Carvalho
 
Desenvolvimento web com Software Livre
Desenvolvimento web com Software LivreDesenvolvimento web com Software Livre
Desenvolvimento web com Software LivreRuan Carvalho
 
Dalton Sergio Leonardo Pt Currículo 20160803
Dalton Sergio Leonardo Pt  Currículo 20160803Dalton Sergio Leonardo Pt  Currículo 20160803
Dalton Sergio Leonardo Pt Currículo 20160803Dalton Sergio Leonardo
 
Teoria de Sistemas de Informação - Atividade: Tecnologia e SI
Teoria de Sistemas de Informação - Atividade: Tecnologia e SITeoria de Sistemas de Informação - Atividade: Tecnologia e SI
Teoria de Sistemas de Informação - Atividade: Tecnologia e SIAlessandro Almeida
 
Desenvolvendo aplicações PHP, AJAX e YUI! Yahoo User Interface
Desenvolvendo aplicações PHP, AJAX e YUI! Yahoo User InterfaceDesenvolvendo aplicações PHP, AJAX e YUI! Yahoo User Interface
Desenvolvendo aplicações PHP, AJAX e YUI! Yahoo User InterfaceDomingos Teruel
 
Ferramentas para desenvolvimento web com produtividade - Artigo Final - Pos-G...
Ferramentas para desenvolvimento web com produtividade - Artigo Final - Pos-G...Ferramentas para desenvolvimento web com produtividade - Artigo Final - Pos-G...
Ferramentas para desenvolvimento web com produtividade - Artigo Final - Pos-G...Adriano Teixeira de Souza
 
Uma abordagem de entrega contínua para empresas de desenvolvimento de software
Uma abordagem de entrega contínua para empresas de desenvolvimento de softwareUma abordagem de entrega contínua para empresas de desenvolvimento de software
Uma abordagem de entrega contínua para empresas de desenvolvimento de softwareRodolfo Bueno
 
Desenvolvimento Web em ambiente de software livre
Desenvolvimento Web em ambiente de software livreDesenvolvimento Web em ambiente de software livre
Desenvolvimento Web em ambiente de software livrePedro Neto
 
Ferramentas GP - Cleyton Santana
Ferramentas GP - Cleyton SantanaFerramentas GP - Cleyton Santana
Ferramentas GP - Cleyton SantanaCleyton De Sousa
 

Semelhante a DETRAN MAIS FÁCIL: CONSTRUÇÃO DE APP WEB USANDO O FRAMEWORK ÁGIL YII (20)

Projeto Indiana
Projeto IndianaProjeto Indiana
Projeto Indiana
 
Artigo Automação de testes funcionais com Demoiselle Behave
Artigo Automação de testes funcionais com Demoiselle BehaveArtigo Automação de testes funcionais com Demoiselle Behave
Artigo Automação de testes funcionais com Demoiselle Behave
 
UTILIZANDO O FRAMEWORK JBOSS SEAM PARA ACELERAR O DESENVOLVIMENTO DE APLICAÇÕ...
UTILIZANDO O FRAMEWORK JBOSS SEAM PARA ACELERAR O DESENVOLVIMENTO DE APLICAÇÕ...UTILIZANDO O FRAMEWORK JBOSS SEAM PARA ACELERAR O DESENVOLVIMENTO DE APLICAÇÕ...
UTILIZANDO O FRAMEWORK JBOSS SEAM PARA ACELERAR O DESENVOLVIMENTO DE APLICAÇÕ...
 
Projeto Web - Aula 1 - Fundamentos do Dev WEB.pptx
Projeto Web - Aula 1 - Fundamentos do Dev WEB.pptxProjeto Web - Aula 1 - Fundamentos do Dev WEB.pptx
Projeto Web - Aula 1 - Fundamentos do Dev WEB.pptx
 
Desenvolvimento de sistemas jurídicos
Desenvolvimento de sistemas jurídicosDesenvolvimento de sistemas jurídicos
Desenvolvimento de sistemas jurídicos
 
201406Carvalho
201406Carvalho201406Carvalho
201406Carvalho
 
Ai1516 ad-tp2-g2-a
Ai1516 ad-tp2-g2-aAi1516 ad-tp2-g2-a
Ai1516 ad-tp2-g2-a
 
Minha Vida Fiap - Desenvolvimento
Minha Vida Fiap - DesenvolvimentoMinha Vida Fiap - Desenvolvimento
Minha Vida Fiap - Desenvolvimento
 
Desenvolvimento web com software livre
Desenvolvimento web com software livreDesenvolvimento web com software livre
Desenvolvimento web com software livre
 
Desenvolvimento web com Software Livre
Desenvolvimento web com Software LivreDesenvolvimento web com Software Livre
Desenvolvimento web com Software Livre
 
Dalton Sergio Leonardo Pt Currículo 20160803
Dalton Sergio Leonardo Pt  Currículo 20160803Dalton Sergio Leonardo Pt  Currículo 20160803
Dalton Sergio Leonardo Pt Currículo 20160803
 
FabricioDoi
FabricioDoiFabricioDoi
FabricioDoi
 
Teoria de Sistemas de Informação - Atividade: Tecnologia e SI
Teoria de Sistemas de Informação - Atividade: Tecnologia e SITeoria de Sistemas de Informação - Atividade: Tecnologia e SI
Teoria de Sistemas de Informação - Atividade: Tecnologia e SI
 
Ai1617 ac-tp2-g2-a
Ai1617 ac-tp2-g2-aAi1617 ac-tp2-g2-a
Ai1617 ac-tp2-g2-a
 
Desenvolvendo aplicações PHP, AJAX e YUI! Yahoo User Interface
Desenvolvendo aplicações PHP, AJAX e YUI! Yahoo User InterfaceDesenvolvendo aplicações PHP, AJAX e YUI! Yahoo User Interface
Desenvolvendo aplicações PHP, AJAX e YUI! Yahoo User Interface
 
Ferramentas para desenvolvimento web com produtividade - Artigo Final - Pos-G...
Ferramentas para desenvolvimento web com produtividade - Artigo Final - Pos-G...Ferramentas para desenvolvimento web com produtividade - Artigo Final - Pos-G...
Ferramentas para desenvolvimento web com produtividade - Artigo Final - Pos-G...
 
PHP nas Nuvens
PHP nas NuvensPHP nas Nuvens
PHP nas Nuvens
 
Uma abordagem de entrega contínua para empresas de desenvolvimento de software
Uma abordagem de entrega contínua para empresas de desenvolvimento de softwareUma abordagem de entrega contínua para empresas de desenvolvimento de software
Uma abordagem de entrega contínua para empresas de desenvolvimento de software
 
Desenvolvimento Web em ambiente de software livre
Desenvolvimento Web em ambiente de software livreDesenvolvimento Web em ambiente de software livre
Desenvolvimento Web em ambiente de software livre
 
Ferramentas GP - Cleyton Santana
Ferramentas GP - Cleyton SantanaFerramentas GP - Cleyton Santana
Ferramentas GP - Cleyton Santana
 

Mais de Eder Nogueira

Títulos de Renda Fixa
Títulos de Renda FixaTítulos de Renda Fixa
Títulos de Renda FixaEder Nogueira
 
HIstóricos e Causas da Inflação
HIstóricos e Causas da InflaçãoHIstóricos e Causas da Inflação
HIstóricos e Causas da InflaçãoEder Nogueira
 
Projeto Político Pedagógico - Parte I - Versão FULL
Projeto Político Pedagógico - Parte I - Versão FULLProjeto Político Pedagógico - Parte I - Versão FULL
Projeto Político Pedagógico - Parte I - Versão FULLEder Nogueira
 
PROJETO POLÍTICO PEDAGÓGICO - DIAGNÓSTICO ESCOLAR
PROJETO POLÍTICO PEDAGÓGICO - DIAGNÓSTICO ESCOLARPROJETO POLÍTICO PEDAGÓGICO - DIAGNÓSTICO ESCOLAR
PROJETO POLÍTICO PEDAGÓGICO - DIAGNÓSTICO ESCOLAREder Nogueira
 
ATENDIMENTO EDUCACIONAL ESPECIALIZADO - DOCENTES
ATENDIMENTO EDUCACIONAL ESPECIALIZADO - DOCENTESATENDIMENTO EDUCACIONAL ESPECIALIZADO - DOCENTES
ATENDIMENTO EDUCACIONAL ESPECIALIZADO - DOCENTESEder Nogueira
 
ATENDIMENTO EDUCACIONAL ESPECIALIZADO - PAIS
ATENDIMENTO EDUCACIONAL ESPECIALIZADO - PAISATENDIMENTO EDUCACIONAL ESPECIALIZADO - PAIS
ATENDIMENTO EDUCACIONAL ESPECIALIZADO - PAISEder Nogueira
 
APRESENTAÇÃO DO PPP ESCOLA MUN. PROF. LUIZ MARANHÃO FILHO PARTE I - ALUNOS
APRESENTAÇÃO DO PPP ESCOLA MUN. PROF. LUIZ MARANHÃO FILHO PARTE I - ALUNOSAPRESENTAÇÃO DO PPP ESCOLA MUN. PROF. LUIZ MARANHÃO FILHO PARTE I - ALUNOS
APRESENTAÇÃO DO PPP ESCOLA MUN. PROF. LUIZ MARANHÃO FILHO PARTE I - ALUNOSEder Nogueira
 
APRESENTAÇÃO DO PPP ESCOLA MUN. PROF. LUIZ MARANHÃO FILHO PARTE I - ESCOLA
APRESENTAÇÃO DO PPP ESCOLA MUN. PROF. LUIZ MARANHÃO FILHO PARTE I - ESCOLAAPRESENTAÇÃO DO PPP ESCOLA MUN. PROF. LUIZ MARANHÃO FILHO PARTE I - ESCOLA
APRESENTAÇÃO DO PPP ESCOLA MUN. PROF. LUIZ MARANHÃO FILHO PARTE I - ESCOLAEder Nogueira
 
CERTIFICAÇÃO DE QUALIDADE: ISO
CERTIFICAÇÃO DE QUALIDADE: ISOCERTIFICAÇÃO DE QUALIDADE: ISO
CERTIFICAÇÃO DE QUALIDADE: ISOEder Nogueira
 
Ferramentas Colaborativas
Ferramentas ColaborativasFerramentas Colaborativas
Ferramentas ColaborativasEder Nogueira
 
Tutorial JBoss Seam
Tutorial JBoss Seam Tutorial JBoss Seam
Tutorial JBoss Seam Eder Nogueira
 
Padrão de Projeto Mediator
Padrão de Projeto MediatorPadrão de Projeto Mediator
Padrão de Projeto MediatorEder Nogueira
 
JAVA MEDIA FRAMEWORK
JAVA MEDIA FRAMEWORKJAVA MEDIA FRAMEWORK
JAVA MEDIA FRAMEWORKEder Nogueira
 
PROGRAMAÇÃO DECLARATIVA COM JAVAFX: UM PARADIGMA NA CONSTRUÇÃO DE INTERFACES ...
PROGRAMAÇÃO DECLARATIVA COM JAVAFX: UM PARADIGMA NA CONSTRUÇÃO DE INTERFACES ...PROGRAMAÇÃO DECLARATIVA COM JAVAFX: UM PARADIGMA NA CONSTRUÇÃO DE INTERFACES ...
PROGRAMAÇÃO DECLARATIVA COM JAVAFX: UM PARADIGMA NA CONSTRUÇÃO DE INTERFACES ...Eder Nogueira
 
JavaFX - Uma visão Geral
JavaFX - Uma visão GeralJavaFX - Uma visão Geral
JavaFX - Uma visão GeralEder Nogueira
 
Abordagem humanística da administração e decorrências da teoria das relações ...
Abordagem humanística da administração e decorrências da teoria das relações ...Abordagem humanística da administração e decorrências da teoria das relações ...
Abordagem humanística da administração e decorrências da teoria das relações ...Eder Nogueira
 
AGILE UNIFIED PROCESS
AGILE UNIFIED PROCESSAGILE UNIFIED PROCESS
AGILE UNIFIED PROCESSEder Nogueira
 

Mais de Eder Nogueira (19)

COBIT 5
COBIT 5 COBIT 5
COBIT 5
 
Títulos de Renda Fixa
Títulos de Renda FixaTítulos de Renda Fixa
Títulos de Renda Fixa
 
HIstóricos e Causas da Inflação
HIstóricos e Causas da InflaçãoHIstóricos e Causas da Inflação
HIstóricos e Causas da Inflação
 
Projeto Político Pedagógico - Parte I - Versão FULL
Projeto Político Pedagógico - Parte I - Versão FULLProjeto Político Pedagógico - Parte I - Versão FULL
Projeto Político Pedagógico - Parte I - Versão FULL
 
PROJETO POLÍTICO PEDAGÓGICO - DIAGNÓSTICO ESCOLAR
PROJETO POLÍTICO PEDAGÓGICO - DIAGNÓSTICO ESCOLARPROJETO POLÍTICO PEDAGÓGICO - DIAGNÓSTICO ESCOLAR
PROJETO POLÍTICO PEDAGÓGICO - DIAGNÓSTICO ESCOLAR
 
ATENDIMENTO EDUCACIONAL ESPECIALIZADO - DOCENTES
ATENDIMENTO EDUCACIONAL ESPECIALIZADO - DOCENTESATENDIMENTO EDUCACIONAL ESPECIALIZADO - DOCENTES
ATENDIMENTO EDUCACIONAL ESPECIALIZADO - DOCENTES
 
ATENDIMENTO EDUCACIONAL ESPECIALIZADO - PAIS
ATENDIMENTO EDUCACIONAL ESPECIALIZADO - PAISATENDIMENTO EDUCACIONAL ESPECIALIZADO - PAIS
ATENDIMENTO EDUCACIONAL ESPECIALIZADO - PAIS
 
APRESENTAÇÃO DO PPP ESCOLA MUN. PROF. LUIZ MARANHÃO FILHO PARTE I - ALUNOS
APRESENTAÇÃO DO PPP ESCOLA MUN. PROF. LUIZ MARANHÃO FILHO PARTE I - ALUNOSAPRESENTAÇÃO DO PPP ESCOLA MUN. PROF. LUIZ MARANHÃO FILHO PARTE I - ALUNOS
APRESENTAÇÃO DO PPP ESCOLA MUN. PROF. LUIZ MARANHÃO FILHO PARTE I - ALUNOS
 
APRESENTAÇÃO DO PPP ESCOLA MUN. PROF. LUIZ MARANHÃO FILHO PARTE I - ESCOLA
APRESENTAÇÃO DO PPP ESCOLA MUN. PROF. LUIZ MARANHÃO FILHO PARTE I - ESCOLAAPRESENTAÇÃO DO PPP ESCOLA MUN. PROF. LUIZ MARANHÃO FILHO PARTE I - ESCOLA
APRESENTAÇÃO DO PPP ESCOLA MUN. PROF. LUIZ MARANHÃO FILHO PARTE I - ESCOLA
 
CERTIFICAÇÃO DE QUALIDADE: ISO
CERTIFICAÇÃO DE QUALIDADE: ISOCERTIFICAÇÃO DE QUALIDADE: ISO
CERTIFICAÇÃO DE QUALIDADE: ISO
 
Ferramentas Colaborativas
Ferramentas ColaborativasFerramentas Colaborativas
Ferramentas Colaborativas
 
Tutorial JBoss Seam
Tutorial JBoss Seam Tutorial JBoss Seam
Tutorial JBoss Seam
 
Padrão de Projeto Mediator
Padrão de Projeto MediatorPadrão de Projeto Mediator
Padrão de Projeto Mediator
 
JAVA MEDIA FRAMEWORK
JAVA MEDIA FRAMEWORKJAVA MEDIA FRAMEWORK
JAVA MEDIA FRAMEWORK
 
PROGRAMAÇÃO DECLARATIVA COM JAVAFX: UM PARADIGMA NA CONSTRUÇÃO DE INTERFACES ...
PROGRAMAÇÃO DECLARATIVA COM JAVAFX: UM PARADIGMA NA CONSTRUÇÃO DE INTERFACES ...PROGRAMAÇÃO DECLARATIVA COM JAVAFX: UM PARADIGMA NA CONSTRUÇÃO DE INTERFACES ...
PROGRAMAÇÃO DECLARATIVA COM JAVAFX: UM PARADIGMA NA CONSTRUÇÃO DE INTERFACES ...
 
JavaFX - Uma visão Geral
JavaFX - Uma visão GeralJavaFX - Uma visão Geral
JavaFX - Uma visão Geral
 
Abordagem humanística da administração e decorrências da teoria das relações ...
Abordagem humanística da administração e decorrências da teoria das relações ...Abordagem humanística da administração e decorrências da teoria das relações ...
Abordagem humanística da administração e decorrências da teoria das relações ...
 
AGILE UNIFIED PROCESS
AGILE UNIFIED PROCESSAGILE UNIFIED PROCESS
AGILE UNIFIED PROCESS
 
Power mock
Power mockPower mock
Power mock
 

Último

RedacoesComentadasModeloAnalisarFazer.pdf
RedacoesComentadasModeloAnalisarFazer.pdfRedacoesComentadasModeloAnalisarFazer.pdf
RedacoesComentadasModeloAnalisarFazer.pdfAlissonMiranda22
 
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptxSlides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptxLuizHenriquedeAlmeid6
 
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...licinioBorges
 
GÊNERO TEXTUAL - TIRINHAS - Charges - Cartum
GÊNERO TEXTUAL - TIRINHAS - Charges - CartumGÊNERO TEXTUAL - TIRINHAS - Charges - Cartum
GÊNERO TEXTUAL - TIRINHAS - Charges - CartumAugusto Costa
 
[Bloco 7] Recomposição das Aprendizagens.pptx
[Bloco 7] Recomposição das Aprendizagens.pptx[Bloco 7] Recomposição das Aprendizagens.pptx
[Bloco 7] Recomposição das Aprendizagens.pptxLinoReisLino
 
A Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das MãesA Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das MãesMary Alvarenga
 
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptxSlides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptxLuizHenriquedeAlmeid6
 
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)Mary Alvarenga
 
Música Meu Abrigo - Texto e atividade
Música   Meu   Abrigo  -   Texto e atividadeMúsica   Meu   Abrigo  -   Texto e atividade
Música Meu Abrigo - Texto e atividadeMary Alvarenga
 
Mapa mental - Classificação dos seres vivos .docx
Mapa mental - Classificação dos seres vivos .docxMapa mental - Classificação dos seres vivos .docx
Mapa mental - Classificação dos seres vivos .docxBeatrizLittig1
 
E agora?! Já não avalio as atitudes e valores?
E agora?! Já não avalio as atitudes e valores?E agora?! Já não avalio as atitudes e valores?
E agora?! Já não avalio as atitudes e valores?Rosalina Simão Nunes
 
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicasCenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicasRosalina Simão Nunes
 
trabalho wanda rocha ditadura
trabalho wanda rocha ditaduratrabalho wanda rocha ditadura
trabalho wanda rocha ditaduraAdryan Luiz
 
Habilidades Motoras Básicas e Específicas
Habilidades Motoras Básicas e EspecíficasHabilidades Motoras Básicas e Específicas
Habilidades Motoras Básicas e EspecíficasCassio Meira Jr.
 
William J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdfWilliam J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdfAdrianaCunha84
 
AULA SOBRE AMERICA LATINA E ANGLO SAXONICA.pptx
AULA SOBRE AMERICA LATINA E ANGLO SAXONICA.pptxAULA SOBRE AMERICA LATINA E ANGLO SAXONICA.pptx
AULA SOBRE AMERICA LATINA E ANGLO SAXONICA.pptxLaurindo6
 
1.ª Fase do Modernismo Brasileira - Contexto histórico, autores e obras.
1.ª Fase do Modernismo Brasileira - Contexto histórico, autores e obras.1.ª Fase do Modernismo Brasileira - Contexto histórico, autores e obras.
1.ª Fase do Modernismo Brasileira - Contexto histórico, autores e obras.MrPitobaldo
 
Gerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalGerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalJacqueline Cerqueira
 
Livro O QUE É LUGAR DE FALA - Autora Djamila Ribeiro
Livro O QUE É LUGAR DE FALA  - Autora Djamila RibeiroLivro O QUE É LUGAR DE FALA  - Autora Djamila Ribeiro
Livro O QUE É LUGAR DE FALA - Autora Djamila RibeiroMarcele Ravasio
 
Nova BNCC Atualizada para novas pesquisas
Nova BNCC Atualizada para novas pesquisasNova BNCC Atualizada para novas pesquisas
Nova BNCC Atualizada para novas pesquisasraveccavp
 

Último (20)

RedacoesComentadasModeloAnalisarFazer.pdf
RedacoesComentadasModeloAnalisarFazer.pdfRedacoesComentadasModeloAnalisarFazer.pdf
RedacoesComentadasModeloAnalisarFazer.pdf
 
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptxSlides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
 
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...
11oC_-_Mural_de_Portugues_4m35.pptxTrabalho do Ensino Profissional turma do 1...
 
GÊNERO TEXTUAL - TIRINHAS - Charges - Cartum
GÊNERO TEXTUAL - TIRINHAS - Charges - CartumGÊNERO TEXTUAL - TIRINHAS - Charges - Cartum
GÊNERO TEXTUAL - TIRINHAS - Charges - Cartum
 
[Bloco 7] Recomposição das Aprendizagens.pptx
[Bloco 7] Recomposição das Aprendizagens.pptx[Bloco 7] Recomposição das Aprendizagens.pptx
[Bloco 7] Recomposição das Aprendizagens.pptx
 
A Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das MãesA Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das Mães
 
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptxSlides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
 
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
 
Música Meu Abrigo - Texto e atividade
Música   Meu   Abrigo  -   Texto e atividadeMúsica   Meu   Abrigo  -   Texto e atividade
Música Meu Abrigo - Texto e atividade
 
Mapa mental - Classificação dos seres vivos .docx
Mapa mental - Classificação dos seres vivos .docxMapa mental - Classificação dos seres vivos .docx
Mapa mental - Classificação dos seres vivos .docx
 
E agora?! Já não avalio as atitudes e valores?
E agora?! Já não avalio as atitudes e valores?E agora?! Já não avalio as atitudes e valores?
E agora?! Já não avalio as atitudes e valores?
 
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicasCenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
 
trabalho wanda rocha ditadura
trabalho wanda rocha ditaduratrabalho wanda rocha ditadura
trabalho wanda rocha ditadura
 
Habilidades Motoras Básicas e Específicas
Habilidades Motoras Básicas e EspecíficasHabilidades Motoras Básicas e Específicas
Habilidades Motoras Básicas e Específicas
 
William J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdfWilliam J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdf
 
AULA SOBRE AMERICA LATINA E ANGLO SAXONICA.pptx
AULA SOBRE AMERICA LATINA E ANGLO SAXONICA.pptxAULA SOBRE AMERICA LATINA E ANGLO SAXONICA.pptx
AULA SOBRE AMERICA LATINA E ANGLO SAXONICA.pptx
 
1.ª Fase do Modernismo Brasileira - Contexto histórico, autores e obras.
1.ª Fase do Modernismo Brasileira - Contexto histórico, autores e obras.1.ª Fase do Modernismo Brasileira - Contexto histórico, autores e obras.
1.ª Fase do Modernismo Brasileira - Contexto histórico, autores e obras.
 
Gerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalGerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem Organizacional
 
Livro O QUE É LUGAR DE FALA - Autora Djamila Ribeiro
Livro O QUE É LUGAR DE FALA  - Autora Djamila RibeiroLivro O QUE É LUGAR DE FALA  - Autora Djamila Ribeiro
Livro O QUE É LUGAR DE FALA - Autora Djamila Ribeiro
 
Nova BNCC Atualizada para novas pesquisas
Nova BNCC Atualizada para novas pesquisasNova BNCC Atualizada para novas pesquisas
Nova BNCC Atualizada para novas pesquisas
 

DETRAN MAIS FÁCIL: CONSTRUÇÃO DE APP WEB USANDO O FRAMEWORK ÁGIL YII

  • 1. Universidade Federal do Rio Grande do Norte Instituto Metrópole Digital Programa de Residência em Engenharia de Software DETRAN MAIS FÁCIL: CONSTRUÇÃO DE APP WEB USANDO O FRAMEWORK ÁGIL YII Trabalho de Conclusão de Curso Eder Carlos de Oliveira Nogueira CGS Consultoria (Improve) ed.eder@gmail.com Sob orientação de: Prof. Dr. Aquiles Medeiros Filgueira Burlamaqui Universidade Federal do Rio Grande do Norte aquilesburlamaqui@ect.ufrn.br Prof. Dr. Rummenigge Rudson Dantas Universidade Federal do Rio Grande do Norte rudson@ect.ufrn.br Resumo. O presente trabalho apresenta a problemática envolvida nos diversos processos realizados nos departamentos estaduais de trânsito do Brasil. Em seguida, é apresentada uma solução de software para um destes processos, o registro de veículos. Tal solução foi desenvolvida usando o Framework Yii. A arquitetura, os componentes e as características dessa solução são descritas neste artigo. Abstract. This paper presents the issues involved in the various processes performed in the state departments of transit Brazil. Then a software solution to one of these processes is presented, the vehicle registration. This solution was developed using Yii Framework. The architecture, the components and characteristics of this solution are described in this article.
  • 2. 1. Introdução A frota nacional de veículos automotores mais que duplicou nos últimos dez anos, ultrapassando a marca de 79 milhões de veículos (ver figura 1), de acordo com os últimos dados disponibilizados pelo Departamento Nacional de Trânsito (DENATRAN, 2014). Figura 1: Evolução da frota de automóveis e motocicletas entre 1998 e 2012. Fonte: Página do Professor PhD. Alexandre Costa no Blogspot 1 . Entretanto, a capacidade de atendimento dos Departamentos Estaduais de Trânsito (DETRANs) não evoluiu na mesma proporção, resultando em equipes sobrecarregadas e aumento de filas, isto é, na redução da qualidade dos serviços prestados aos cidadãos. Umas das principais causas do cenário apresentado é o excesso de atividades realizadas pelo usuário (como é chamado o cliente do DETRAN) presencialmente no órgão. Atualmente um usuário que, por exemplo, adquire um veículo usado e precisa realizar a “Transferência de Propriedade” participa da execução do processo de negócio Registro de Veículo ilustrado de forma resumida na figura 2. 1 Disponível em: <http://oquevocefariasesoubesse.blogspot.com.br/2013/01/transporte- individual-contra-mao-beco.html>. Acessado em dez. 2014.
  • 3. Figura 2: Processo de negócio “Registro de Veículos”, atualmente implantado nos DETRANs. Fonte: Elaborado pelo autor Mesmo havendo variação no processo apresentado na Figura 2, tanto entre os DETRANs, quanto entre outros serviços de Registro de Veículo, o cliente chega a enfrentar até 05 (cinco) filas até receber o Certificado de Registro de Veículo – CRV. O problema se agrava com a ausência de informações para o cidadão que precisa do atendimento, causando, muitas vezes, idas ao DETRAN sem a documentação necessária, gerando perda de tempo tanto por parte do atendente do órgão quanto por parte do cidadão que precisa voltar para retomar o atendimento do início do processo. Além disso, é importante frisar a deficiência de pessoal qualificado dos DETRANs e de órgãos públicos em geral para pesquisa e desenvolvimento de novas tecnologias e automações, deixando em aberto uma forte demanda por terceirização de serviços com tecnologia aplicada. A seguir, serão apresentadas as principais soluções de software relacionadas ao tema, assim como as tecnologias utilizadas no projeto proposto.
  • 4. 2. Referencial Teórico ou Tecnológico Desde que o Manifesto Ágil foi divulgado, seus princípios vêm influenciando cada vez mais adeptos na forma de desenvolver software. Desenvolvedores, gestores de projeto e clientes vem repensando e refinando seus papéis, visando melhorar a interação entre si. São 12 princípios que se resumem em 04 frases (MANIFESTO ÁGIL, 2001):  Indivíduos e interação entre eles mais que processos e ferramentas;  Software em funcionamento mais que documentação abrangente;  Colaboração com o cliente mais que negociação de contratos;  Responder a mudanças mais que seguir um plano; A partir daí, surgiram frameworks de desenvolvimento que fomentaram os princípios acima. Muitas tecnologias começaram a trazer embutidos componentes “prontos” e adaptáveis de software que atendem os requisitos não funcionais da maioria dos sistemas, como internacionalização, validação de formulários, suporte a autenticação, segurança, web services, entre muitos outros componentes. Oferecer estes requisitos ajudou as equipes de desenvolvimento a focarem em suas regras de negócio e alcançar metas junto a seus clientes. Desde então, estas tecnologias foram largamente adotadas no mundo web, com diferentes linguagens de programação. Segundo pesquisa da IEEE (Institute of Electrical and Electronics Engineers), baseado em diversas fontes (artigos de revistas especializadas, resultados de pesquisa no Google, dados do Google Trends, tweets do Twitter, repositórios GitHub, perguntas do StackOverfow, mensagens do Reddit, entre outros), como ilustrado na figura abaixo, as 10 linguagens mais utilizadas na web em 2014 são (IEEE, 2014):
  • 5. Figura 3: Ranking das linguagens mais utilizadas na Web em 2014 Fonte: Website do IEEE Spectrum 2 As principais linguagens exibidas na figura 3 abraçaram as tendências do desenvolvimento ágil, disponibilizando ferramentas como por exemplo: Vraptor e Hibernate (Java), Django (Python), AngularJS, BackBoneJS e EmberJS (JavaScript), Rails (Ruby), Play (Scala), Grails (Groovy) e Revel (Go). Dentre várias possibilidades existentes para o projeto proposto, foi escolhida como linguagem de programação base o PHP. Criada em 1995, se consolidou como umas das mais utilizadas linguagens da web, em aplicações que vão desde redes sociais, como o Facebook, gestores de conteúdo como Drupal e Wordpress, até plataformas de comércio eletrônico como Magento e Oscommerce. A linguagem PHP também possui um ecossistema rico de ferramentas ágeis. De acordo com o portal Mashable (MASHABLE, 2014), os mais utilizados são: Laravel (lavarel.com), CakePHP (cakephp.org), CodeIgniter (codeigniter.com), Symfony (symfony.com), Zend (zend.com), Phalcon (phalconphp.com) e Yii (yiiframework.com). 2 Disponível em: <http://spectrum.ieee.org/static/interactive-the-top-programming-languages>. Acessado em dez. 2014.
  • 6. Figura 4: Principais frameworks ágeis PHP Fonte: Elaborado pelo autor Para o projeto proposto, o framework Yii foi o selecionado por cobrir muitos requisitos do sistema. Além disso, a equipe de desenvolvimento usa a linguagem PHP como linguagem principal no desenvolvimento, o que reforçou a escolha por este framework, além do Yii contar com uma comunidade ativa com centenas de desenvolvedores espalhados por diversos países, como Rússia, Índia, China, Brasil e Estados Unidos (YII GUIA DE REFERÊNCIA, 2014). Atualmente na versão 2, foi criado em janeiro de 2008, por Qiang Xue, sendo bastante influenciado por outros frameworks web como Prado (pradosoft.com), Ruby on Rails (rubyonrails.com), jQuery (jquery.com/), Symfony (symfony.com) e Joomla (joomla.org). A proposta principal de seus idealizadores, sempre foi disponibilizar “…um framework PHP baseado em componentes, de alta performance, para desenvolvimento ágil de modernas aplicações web.”, “…livre, de código aberto… que promove design limpo (dry design) e encoraja o desenvolvimento ágil…”, ou ainda, “…para desenvolvimento de todo tipo de aplicação web…”, como “…portais, fóruns, gestores de conteúdo, comércio eletrônico, serviços RESTful, entre muitos outros” (ULLMAN, 2013).
  • 7. De acordo com KECK (2014) suas características fundamentais:  Padrões de projeto: Uso do padrão de projeto MVC (Modelo- Visão-Controle), visando a separação de conceitos (separation of concerns, SoC), ou melhor separação do software em camadas; Uso do padrão Active Record para associação de classes a tabelas da base de dados;  Banco de Dados: Baseado nos PHP Data Objects (PDO), o Yii implementa Data Access Objects (DAO) para possibilitar o acesso a diferentes tipos de bancos de dados;  Formulários e Validação: o Yii coleta entrada dos formulários de maneira fáci e segura, fornecendo widgets e métodos apropriados para validação de dados;  Suporte a AJAX: fornece um conjunto de widgets com suporte a esta tecnologia, como auto-complete input field, treeview, data grid, entre outros, com interface versátil e simples;  Autenticação e Autorização: Yii fornece uma estrutura com suporte a autentição de usuários via controle de acesso baseado em níveis hierárquicos (RBAC, role-based access control);  Layout e Temas: Yii fornece um mecanismo que permite criar e trocar temas com facilidade;  Web Services: suporte ao uso e geração de arquivos WSDL, assim como gerência de requisições de serviços web;  Internacionalização e Localização: suporte a internacionalização (I18N) do software para diferentes línguas, assim como configuração de local (L18N), adaptando o software a uma determinada país;  Caching: suporte a cache de dados (data caching), cache das páginas (page caching), cache de fragmento de páginas (fragment caching) e caching do HTTP (http caching);  Tratamento de Erros e Log: tratamento de erros de forma elegante, assim como mensagens de logs que podem ser categorizadas, filtradas e roteadas de acordo com as necessidades do desenvolvedor;  Segurança: é equipado com medidas de segurança para previnir a aplicação de ataques como sql injection, cross-site scripting (XSS), cross-site request forgery (CSRF) e interceptação de cookies;  Suporte a testes: fornece suporte a escrita e execução de testes unitários, baseados nas tecnologias PHPUnit(phpunit.de) e Selenium (seleniumhq.org);  Geração automática de código: fornece ferramentas que geram formulários, CRUDs, etc;  Amigável com código de terceiros: adaptável para utilizar códigos de outras tecnologias, como Zend, Pear, etc;
  • 8.  Documentação detalhada: cada método, classe e propriedade está documentado. O portal é mantido por uma comunidade ativa de desenvolvedores;  Extensão de bibliotecas: Yii provê a extensão e integração de seu código-fonte com bibliotecas criadas pelos próprios usuários desenvolvedores, contando atualmente com uma gama de bibliotecas disponíveis e criadas pela comunidade; Outro requisito de destaque é a performance do framework. As aplicações desenvolvidas em Yii utilizam a técnica de lazy loading. Segundo KHALILI (2010), esta técnica permite um “carregamento tardio” do objeto, ou seja, disponibilizando-o somente quando necessário. É muito eficaz para ganhos de desempenho, já que reduz substancialmente os acessos ao banco de dados. A técnica é recomendada, especialmente, para o padrão de Projeto Active Record, utilizado no core do Yii. Outra técnica utilizada é o Caching (PHP MANUAL), utilizado em conformidade com o APC (Alternative PHP Cache), o que reforça o dado framework como um dos que apresentam melhor desempenho no mercado, como mostra a figura 5. Em seguida, será apresentado o projeto “Detran Mais Fácil”, no qual foi aplicado o Yii e muitos de suas funcionalidades. Figura 5: Comparação de Performance entre frameworks PHP Fonte: Website do Yii Framework 3 3 Disponível em: <http://www.yiiframework.com/performance/>. Acessado em jan.2014
  • 9. 2.1. Outras tecnologias utilizadas Diversas outras tecnologias foram utilizadas: o servidor web Apache, o gerenciador de banco de dados MySQL, além da PHP, linguagem do Yii (já abordados na seção anterior), todos componentes da pilha AMP. O Git foi o escolhido para versionador do código. O fato de se tratarem de ferramentas livres e consolidadas no mercado pesou na escolha das respectivas tecnologias. A seguir, são apresentadas em mais detalhes. 2.1.1 Apache O servidor web líder mundial do mercado, desenvolvido pela Apache Software Foundation foi utilizado no protótipo, tanto em estágio de desenvolvimento quanto em produção. Foram realizados testes, na sua versão 2.x, em ambiente local, remoto e como serviço em plataformas de nuvem, com sucesso. 2.1.2 MySQL O sistema gerenciador de banco de dados MySQL é líder mundial dos SGBDs transacionais de plataforma livre encontrado no mercado. É mantido pela Oracle, uma gigante de TI, além de possuir grande comunidade de usuários e de ser utilizado em conjunto com o MySQL Workbench, um cliente gráfico com muitas ferramentas. Outro fato que pesou é o custo menor de uma instância deste SGBD em plataformas de nuvem, como a Amazon, por exemplo. Testes ainda foram feitos sucesso, utilizando o Postgres como repositório de dados. 2.1.3 Componentes Yii Framework O framework MVC Yii foi o escolhido para construir o backend do protótipo, utilizado na sua versão 2.x, na versão PHP 5.4.x Suas principais características já foram elencadas no documento, mas vale ressaltar as diversas tecnologias contidas neste framework:  Layout: HTML5 e template AdminLTE versão 2.1;  Assets: CSS3, JQuery 2.1.4, Bootstrap 2.3.2, Biblioteca de fontes FontAwesome;  Gerenciamento de dependências: Composer 1.0-dev; 2.1.4 Git A ferramenta Git é a mais utilizada no mercado para repositório e controle de versão de projetos no mercado e foi largamente utilizada no projeto. Usada na versão 2.x, foi utilizado um repositório remoto da Atlassian Bitbucket, assim como interface de deploy na plataforma de nuvem Heroku.
  • 10. 3. Detran Mais Fácil Atualmente, os departamentos estaduais de trânsito no Brasil, têm suas atribuições previstas pela Lei nº 9.503/97, que instituiu o Código de Trânsito Brasileiro, e as respectivas legislações estaduais. Dentre as principais competências, destacam-se: Art. 22. Compete aos órgãos ou entidades executivos de trânsito dos Estados e do Distrito Federal, no âmbito de sua circunscrição: [...] III - vistoriar, inspecionar quanto às condições de segurança veicular, registrar, emplacar, selar a placa, e licenciar veículos, expedindo o Certificado de Registro e o Licenciamento Anual, mediante delegação do órgão federal competente; [...] XIII - integrar-se a outros órgãos e entidades do Sistema Nacional de Trânsito para fins de arrecadação e compensação de multas impostas na área de sua competência, com vistas à unificação do licenciamento, à simplificação e à celeridade das transferências de veículos e de prontuários de condutores de uma para outra unidade da Federação; XIV - fornecer, aos órgãos e entidades executivos de trânsito e executivos rodoviários municipais, os dados cadastrais dos veículos registrados e dos condutores habilitados, para fins de imposição e notificação de penalidades e de arrecadação de multas nas áreas de suas competências; (BRASIL, Lei nº 9.503, de 23 de setembro de 1997. Diário Oficial da União – Seção I – 24/09/1997) Baseado nas informações acima, o DETRAN Mais Fácil, em pleno estado de funcionamento, será uma plataforma de software que se integrará aos sistemas dos DETRANs e permitirão que seus usuários realizem previamente, através da Internet, algumas das etapas do processo de Registro de Veículo, quais sejam: a abertura de processo de registro de veículo, geração de guia de pagamento e emissão de laudo de vistoria. Aqui está a primeira inovação do sistema: nenhum órgão de trânsito brasileiro oferece a possibilidade do registro de veículos on-line. O segundo aspecto inovador do software desenvolvido ainda se refere ao fato do DETRAN Mais Fácil ser um serviço on-line: comodidade e praticidade. Apesar de todos os órgãos estaduais de trânsito, das 27 unidades da federação, além do DENATRAN (Departamento Nacional de Trânsito), contarem com sítios web, nem todas as suas atribuições estão disponibilizados como serviços on-line. Alguns destes serviços, algumas vezes, são apenas listas de instruções, informando apenas quais documentos são necessários para abertura presencial de determinado processo no órgão, exemplificado na figura abaixo:
  • 11. Figura 6: Informações do Serviço “Certidão negativa de multas de trânsito, débitos e dados cadastrais – Nada Consta”, disponível no website do DETRAN-RN. Fonte: Website do DETRAN-RN 4 Com o DETRAN Mais Fácil, o usuário fará a abertura do processo diretamente de sua residência, evitando filas e burocracia. O procedimento será mais transparente, já que o usuário compreenderá melhor o processo. O próprio órgão ganhará em agilidade de atendimento, além de melhoria de sua imagem frente a população. Outro aspecto inovador do DETRAN Mais Fácil é a sua facilidade de uso. Alguns órgãos de trânsito oferecem serviços on-line, como consulta de dados relacionados à habilitação, infração, multas, veículos, além de acessos a alguns dados estatísticos. A maioria carece de uma interface acessível e amigável ao usuário, conforme visto na figura a seguir: 4 Disponível em: <http://www.detran.rn.gov.br/ser_certidao.asp>. Acessado em jan. 2015.
  • 12. Figura 7: Página inicial do website do DETRAN-SC. Fonte: Website do DETRAN-SC 5 A seguir, serão apresentados os detalhes técnicos do protótipo desenvolvido, como requisitos, arquitetura e tecnologias utilizadas. 3.1. Requisitos A seguir serão listados os principais requisitos funcionais e não funcionais utilizados para o desenvolvimento do protótipo do Detran Mais Fácil. Tabela 1: Requisitos Funcionais para o protótipo RF01 O sistema deve permitir o registro de usuário. RF02 O sistema deve permitir login/logout do usuário. RF03 O sistema deve permitir reset de senha por parte do usuário. RF04 O sistema deve permitir o cadastro de um perfil do usuário RF05 O sistema deve permitir o cadastro de veículos. 5 Disponível em: <http://detran.sc.gov.br/>. Acessado em jan. 2015.
  • 13. RF06 O sistema deve permitir o cadastro de despachantes. RF07 O sistema deve permitir a abertura de processos de registro/transferência de veículo por meio de um wizard. RF08 O sistema deve permitir gerência de usuários do sistema. RF09 O sistema deve permitir a gerência de processos de registro/transferência de veículos. Os requisitos funcionais acima se referem ao protótipo da solução. Cabe destacar que a aplicação completa possuirá um escopo maior, com requisitos de um sistema corporativo. Entre eles, podemos destacar: o sistema terá suporte multiusuário; será modularizado; implementado em múltiplas plataformas; interação com outras aplicações; possuirá uma missão crítica, de forma a ser robusto o suficiente para sustentar seu funcionamento contínuo, seguro e escalável. No fim do documento, há mais informações a respeito do futuro do projeto no que diz respeito ao atendimento destes requisitos. Tabela 2: Requisitos Não Funcionais para o protótipo RNF01 O sistema deve permitir a validação do email do usuário registrado. RNF02 O sistema deve ter controle de acesso para diferentes perfis de usuário. Utiliza-se padrão RBAC (Role Based Access Control). RNF03 O sistema utiliza o algoritmo MD5 para criptografar os dados transmitidos, assim como o uso dos protocolos HTTPS/SSL. RNF04 O wizard do sistema deverá ser responsivo, acessível nos principais navegadores do mercado, assim como ser acessível através de dispositivos móveis como smartphones e tablets. Já os requisitos não funcionais acima abordam um tema importante: a segurança. O requisito “RNF01” evidencia o requisito de segurança “autenticação”, de forma que só usuários logados terão a determinadas funcionalidades do sistema. O “RNF02” evidencia o requisito de “autorização”, definindo um controle de acesso ao sistema baseado em determinadas regras. Já no “RNF03”, o uso do algoritmo MD5 expõe o requisito “confidencialidade”, extremamente necessário no tráfego de dados realizado nas operações do sistema. Por último, o “RNF04”, além de abordar a “usabilidade” (não está relacionada a segurança), aborda a questão da disponibilidade do sistema, seja em diversos navegadores, diferentes plataformas, a múltiplos usuários simultâneos.
  • 14. 3.2. Arquitetura do software A seguir, serão apresentados os principais diagramas do sistema, cobrindo todo escopo do software. Figura 8: Diagrama de Casos de Uso, representando o escopo do sistema. Fonte: Elaborado pelo autor Os casos de uso “Abrir Processo”, “Manter Usuário”, “Validar Email”, “Manter Veículo” e “Promover Despachante” foram contemplados na versão atual do protótipo. Respectivamente, o primeiro se refere à abertura de processo de registro/transferência de veículos online, realizado através do wizard da aplicação. Já o segundo e o terceiro caso de uso contemplam todos os requisitos funcionais e não funcionais relacionados ao registro e autenticação de usuários no sistema. Já os dois últimos abordados referem-se as funcionalidades relacionadas ao perfil de usuário “despachante”. O despachante é um perfil específico de usuário, já que se trata de um intermediário entre o usuário cidadão e o Detran. Ele é um profissional que pode cuidar da documentação do usuário, do veículo, emplacamento, CRV, registro e transferência de veículos. Os demais casos de uso estão definidos para as próximas evoluções da solução. Para o melhor entendimento da visão atual e futura do sistema, o sistema é apresentado a nível de módulos no diagrama de decomposição, exposto logo a seguir:
  • 15. Figura 9: Diagrama de Decomposição do Sistema. Fonte: Elaborado pelo autor Relacionando o diagrama acima com o arquétipo apresentado, os módulos “Proprietário” e “Despachante” são aqueles com estágio mais avançado de desenvolvimento, já que vários de seus submódulos encontram- se no escopo do protótipo desenvolvido. Os outros submódulos, assim como os módulos “Comunicação” e “Administrador” serão alcançados nas próximas evoluções do sistema. Figura 10: Diagrama de implantação do sistema Fonte: Elaborado pelo autor
  • 16. Por último, acima é exposto o diagrama de implantação do sistema, mostrando uma visão geral da solução em pleno funcionamento. Por se tratar de um sistema web, o sistema estará disponível para as diversas requisições de usuários com o perfil “Cidadão”, assim como acessível para os diversos departamentos estaduais de trânsito conveniados com a aplicação. O protótipo atual roda sob um servidor web convencional, com expectativa de deploy no futuro para uma plataforma em nuvem. No final deste artigo, na seção “Anexo”, são apresentados o restante dos diagramas da solução. 3.3. Processo de Desenvolvimento O processo de desenvolvimento foi baseado em métodos ágeis, principalmente no SCRUM. Foi baseado em poucos artefatos e é facilitado pelo uso da ferramenta Trello, da Trello Inc. O processo basicamente consistiu nos seguintes passos: definição de um product backlog pelo gestor do projeto, ou seja, um conjunto de requisitos gerais definidos para o sistema. Em seguida, um sprint backlog era definido com ajuda da ferramenta Trello, para cada iteração de desenvolvimento, que podia consumir de 15 a 30 dias. Cada sprint possui um número de cards, tarefas a serem executadas e registradas através de commits no repositório git do projeto, hospedado na aplicação Atlassian Bitbucket. Para esclarecer melhor o processo, a figura 11 mostra um momento recente de um sprint do projeto: Figura 11: Exemplo de sprint do projeto no Trello. Fonte: Print da aplicação Trello
  • 17. 3.4. Protótipo desenvolvido A seguir, serão descritas as funcionalidades desenvolvidas para o protótipo do Detran Mais Fácil. 3.4.1 Abertura de Processo pelo Wizard O fluxo principal para os usuários, perfil “Cidadão”, que acessarem o sistema começa pelo wizard. Foi desenvolvido um sistema de abas, responsivo e intuitivo, onde os usuários respondem algumas perguntas no passo-a-passo, de modo a tirar dúvidas a respeito da documentação exigida e facilitar o entendimento de qualquer cidadão que deseje abrir um processo de registro/transferência de veículos. Figura 12: Wizard do Detran Mais Fácil Fonte: Print do protótipo do Detran Mais Fácil Durante o passo-a-passo, o usuário fornece os dados do veículo (número da placa, código Renavam, código CRV e a data de aquisição do veículo). Em seguida, fornece seus dados pessoais, finalizando o processo de abertura de registro/transferência do veículo em questão. No fim, é disponibilizado um menu, com as funções de impressão do laudo de vistoria, a ficha de alteração cadastral e impressão do boleto bancário. Figura 13: Inserção dos dados do veículo
  • 18. Fonte: Print do protótipo do Detran Mais Fácil Figura 14: Inserção dos dados do cidadão Fonte: Print do protótipo do Detran Mais Fácil Figura 15: Finalização do wizard
  • 19. Fonte: Print do protótipo do Detran Mais Fácil 3.4.2 Registro de Usuário As figuras 16 e 17 são, respectivamente, o print da página inicial e da página de signup, ou seja, registro de usuários no sistema. O aplicativo exige nome, e- mail e senha do novo usuário, alertando para dados inválidos e verificando a disponibilidade e o formato do e-mail. Figura 16: Página inicial do Detran Mais Fácil Fonte: Print Screen do protótipo do Aplicativo Detran Mais Fácil
  • 20. Figura 17: Página de Registro Fonte: Print Screen do protótipo do Aplicativo Detran Mais Fácil 3.4.3 Login/Logout do usuário Em seguida, tela de autenticação do sistema: Figura 18: Página de login do usuário Fonte: Print Screen do protótipo do Aplicativo Detran Mais Fácil
  • 21. 3.4.4 Resetar senha do usuário Em situações que o usuário se esqueça da senha para acessar o aplicativo, há a possibilidade de reset de senha, apenas informando o email cadastrado. O sistema envia para o email fornecido um link para reset e cadastro de nova senha. Figura 19: Página de Reset de senha de usuário Fonte: Print Screen do protótipo do Aplicativo Detran Mais Fácil 3.4.5 Cadastrar Perfil de Usuário Com o usuário autenticado, ele pode cadastrar seu perfil no sistema, independente do seu perfil de usuário. Um menu com funções específicas é exibido conforme o perfil do usuário, seja ele cidadão, despachante ou administrador. Figura 20: Usuário autenticado como administrador Fonte: Print Screen do protótipo do Aplicativo Detran Mais Fácil
  • 22. Figura 21: Profile de usuário Fonte: Print Screen do protótipo do Aplicativo Detran Mais Fácil 3.4.6 Cadastros: CRUD Veículo, Despachante, Processo e Usuário O usuário “despachante” tem acesso ao cadastro de veículos e processos. Já o usuário “administrador” tem acesso a todas as funcionalidades do sistema, inclusive, a gerência de usuários. Figura 22: Cadastro de veículos Fonte: Print Screen do protótipo do Aplicativo Detran Mais Fácil
  • 23. Figura 23: Cadastro de despachantes Fonte: Print Screen do protótipo do Aplicativo Detran Mais Fácil Figura 24: Abertura de processos Fonte: Print Screen do protótipo do Aplicativo Detran Mais Fácil
  • 24. Figura 25: Gerência de usuários Fonte: Print Screen do protótipo do Aplicativo Detran Mais Fácil
  • 25. 4. Avaliação da Solução O primeiro ponto a ser avaliado é o escopo. O protótipo desenvolvido ainda está incompleto em relação ao escopo original do projeto. Dos 9 casos de uso levantados, 50% foram implementados. De qualquer forma, seu escopo foi bem documentado através dos diagramas apresentados, o que facilitará no desenvolvimento do restante da aplicação. O segundo ponto a ser levantado foi a produtividade das tecnologias empregadas. Além da vantagem de serem utilizadas apenas ferramentas open- source, o que reduziu consideravelmente os custos do projeto, os métodos ágeis empregados facilitaram na condução dos sprints, além de fornecer a equipe do projeto sempre uma visão macro da evolução da solução. Cabe destacar o uso do framework Yii, que teve suas funcionalidades testadas e positivamente aprovadas na construção do protótipo. O uso de tais tecnologias é fortemente recomendado para a evolução da aplicação. 4.1 Trabalhos Futuros O último ponto a ser avaliado é o futuro do projeto. Por ser uma solução web, se faz necessária sua implantação em algum DETRAN específico, testes de usabilidade com usuários reais, além do deploy do sistema em uma arquitetura de nuvem agregariam valor ao sistema. A utilização cada vez maior da plataforma mobile nos próximos anos torna essencial a criação de uma versão mobile da aplicação Detran Mais Fácil. Uma primeira versão na plataforma Android, que é líder no mercado brasileiro, deverá ser a primeira meta na área de dispositivos móveis. A comercialização do sistema como serviço é outro enfoque que deve ser realizado para garantir monetização com a solução. A integração com sistemas de pagamentos bancários dos principais bancos brasileiros deverá está no plano de ações futuros da solução.
  • 26. 5. Conclusões O objetivo do projeto foi alcançado em grande parte, já que os envolvidos no ganharam bastante know-how com as tecnologias empregadas, além da divulgação do projeto em congresso da agência fomentadora (FAPERN/CAPES) e na web. A Residência em Engenharia de Software teve papel-chave na formação e desenvolvimento do trabalho. Muito do conteúdo das disciplinas ministradas ao longo do curso foi aplicado no desenvolvimento da solução. Disciplinas como “Gerência de Configuração” forneceram base para a escolha das tecnologias de versionamento de código; “Arquitetura de Software” ajudou a definir o escopo do projeto; “Desenvolvimento Ágil para Web” reforçou a escolha do Yii como tecnologia referência, assim como muitas outras disciplinas contribuíram no desenvolvimento da aplicação. Além disso, forneceu motivação no estudo de várias tecnologias, como o Yii, Heroku, Composer, Git, entre outras, além da prática dos conhecimentos adquiridos em sala de aula.
  • 27. Agradecimentos Agradeço a Deus, minha esposa Cássia pela compreensão ao longo dos últimos 18 meses envolvido no projeto, aos professores Rummenigge e Aranha, ao gestor do projeto George Freire, a FAPERN/CAPES que abriu as portas para a residência, além de todos os colegas e amigos do Instituto Metrópole Digital.
  • 28. Referências Bibliográficas DENATRAN. Departamento Nacional de Trânsito. Frota de veículos. Disponível em: <http://www.denatran.gov.br/frota.htm>. Acesso em: 10 dez. 2014. MANIFESTO ÁGIL. Manifesto Ágil para Desenvolvimento de Software. Disponível em: <http://www.manifestoagil.com.br>. Acesso em: 10 dez. 2014. IEEE. Institute of Electrical and Electronics Engineers. Interactive: The Top Programming Languages. Disponível em: <http://spectrum.ieee.org/static/interactive-the-top-programming-languages>. Acesso em: 10 dez. 2014. MASHABLE. 13 PHP Frameworks to Help Build Agile Applications. Disponível em: <http://mashable.com/2014/04/04/php-frameworks-build-applications>. Acesso em: 10 dez. 2014. YII GUIA DE REFERÊNCIA. Yii PHP Framework Version 2. Disponível em: <http://www.yiiframework.com/doc-2.0/>. Acesso em: 10 dez. 2014. ULLMAN, Larry. (2013) . The Yii Book: Developing Web Applications Using the Yii PHP Framework. Disponível em: <https://larry.pub/>. Acesso em: 20 dez. 2014. KECK, Bill. (2014). Yii 2 For Beginners. Disponível em: <http://leanpub.com/yii2forbeginners>. Acesso em: 20 dez. 2014. KHALILI, Mehdi. ORM anti-patterns - Part 3: Lazy loading. Disponível em: <http://www.mehdi-khalili.com/orm-anti-patterns-part-3-lazy-loading>. Acesso em: 20 dez. 2014. PHP MANUAL, Manual do PHP. Referência das Funções. Afetando o comportamento do PHP. APC. Disponível em: <http://php.net/manual/pt_BR/intro.apc.php>. Acesso em: 20 dez. 2014.
  • 29. Anexo A seguir, são apresentados todos os diagramas elaborados para definição da arquitetura da solução. Tais diagramas foram construídos segundo a UML (Unified Modeling Language): diagramas de classe, comunicação, sequência casos de uso, decomposição , implementação, usa, componente-e-conector e implantação. I. Diagramas de Classe Figura 26: Diagrama de Classe Abrir Processo Fonte: Elaborado pelo Autor
  • 30. Figura 27: Diagrama de Classe Emitir Guia Fonte: Elaborado pelo Autor Figura 28: Diagrama de Classe Emitir Alerta Fonte: Elaborado pelo Autor
  • 31. Figura 29: Diagrama de Classe Emitir Relatório Fonte: Elaborado pelo Autor Figura 30: Diagrama de Classe Promover Usuário a Despachante Fonte: Elaborado pelo Autor
  • 32. Figura 31: Diagrama de Classe Realizar Pagamento Fonte: Elaborado pelo Autor II. Diagramas de Comunicação Figura 32: Diagrama de Comunicação Abrir Processo Fonte: Elaborado pelo Autor
  • 33. Figura 33: Diagrama de Comunicação Emitir Alerta Fonte: Elaborado pelo Autor Figura 34: Diagrama de Comunicação Emitir Guia Fonte: Elaborado pelo Autor
  • 34. Figura 35: Diagrama de Comunicação Emitir Relatório Fonte: Elaborado pelo Autor Figura 36: Diagrama de Comunicação Emitir Relatório Fonte: Elaborado pelo Autor
  • 35. III. Diagrama de Sequência Figura 37: Diagrama de Sequência Abrir Processo Fonte: Elaborado pelo Autor IV. Diagrama de Casos de Uso Figura 38: Diagrama de Casos de Uso Fonte: Elaborado pelo Autor
  • 36. V. Diagrama de Decomposição Figura 39: Diagrama de Decomposição Fonte: Elaborado pelo Autor VI. Diagrama de Implementação Figura 40: Diagrama de Implementação Fonte: Elaborado pelo Autor
  • 37. VII. Diagrama de Usa Figura 41: Diagrama de Usa Fonte: Elaborado pelo Autor VIII. Diagrama Componente-e-conector Figura 42: Diagrama Componente-e-conector Fonte: Elaborado pelo Autor
  • 38. IX. Diagrama de Implantação Figura 43: Diagrama de Implantação Fonte: Elaborado pelo Autor