Buscar

Zer@dengue 2020 Jhonatan

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 26 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 26 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 26 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Nilópolis - RJ 
2020 
 
 
 
 
ALEXANDRE DA SILVA ALVES 
JONATHAN DE SOUZA SANTOS 
LEONARDO NUNES DA SILVA 
WELERSON BARBOSA CUPERTINO 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
SISTEMA DE ENSINO SEMIPRESENCIAL 
SUPERIOR EM TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO 
DE SISTEMAS 
 
Sistema Zer@Dengue 
 
Nilópolis - RJ 
2020 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Sistema Zer@Dengue 
 
 
Trabalho de Atividades Interdisciplinares apresentado à 
Universidade Pitágoras Unopar como requisito parcial 
para a obtenção de média semestral nas disciplinas de: 
 
Projeto orientado a Objetos. 
Engenharia e projeto de Software II. 
Programação para Web II. 
 
 
Orientadores: 
Eduardo Viana de Almeida 
Edison Jose de Paula 
ALEXANDRE DA SILVA ALVES 
JONATHAN DE SOUZA SANTOS 
LEONARDO NUNES DA SILVA 
WELERSON BARBOSA CUPERTINO 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
SUMÁRIO 
 
 
1 INTRODUÇÃO.................................................................................................................. 1 
2 DESENVOLVIMENTO ...................................................................................................... 2 
3 TAREFA 1 – ENGENHARIA E PROJETO DE SOFTWARE...............................................2 
4 TAREFA 2 – PROJETO ORIENTADO A OBJETOS.........................................................12 
5 TAREFA 3 – PROGRAMAÇÃO PARA WEB II.............................................................17 
 
CONCLUSÃO ...................................................................................................................... 22 
 
REFERÊNCIAS ................................................................................................................... 23 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1 
 
1. Introdução 
 
Das mais diferentes áreas, cada tecnologia ganha seu espaço quando aplicada uma nova 
funcionalidade, ou quando apresenta uma nova forma de executar seu propósito. Em meio 
às diversas tecnologias evolucionárias e disruptivas que surgem, as aplicações que 
conseguem sempre evoluir e adicionar novas funcionalidades continuam sendo utilizadas. 
As que não fazem isso, podem ser substituídas por alguma outra que apresente novidades. 
Como cita Rohers (2017) “A inovação é o motor da Administração moderna, somente ela é 
que atrai de forma intensa a atenção do cliente, de stakeholders, a empresa que não inova 
está sujeita ao fracasso”. 
A dengue é um grande problema de Saúde Pública que atinge todo o mundo. No Brasil, as 
condições climáticas tem favorecido a proliferação do mosquito ocasionando um aumento 
significativo do número de casos nos últimos anos. 
Devido ao número crescente de casos de dengue por todo país, foi solicitado que 
criássemos uma ferramenta que facilitasse aos cidadãos na hora de realizar denúncias de 
focos encontrados de mosquitos da dengue. E assim pudessem ajudar no combate à 
doença. 
Neste trabalho que será apresentado a seguir, mostraremos toda a parte web focada 
exclusivamente no cadastro de usuários e denúncias que podem ser feitas por cidadão 
comuns, afim de ajudar no combate dengue. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2 
 
2. Desenvolvimento 
Tarefa 1 - Engenharia e Projeto do Software 
1 - Plano de gerenciamento de projeto de software: 
Descrição do mundo real a ser modelado pela aplicação. 
Descrição dos objetivos da aplicação 
O Sistema Zer@Dengue foi desenvolvido com o propósito de aperfeiçoar e facilitar a forma 
como os cidadãos realizam denúncias no combate contra a dengue. 
O objetivo principal é facilitar e incentivar os cidadãos para que cada vez mais eles ajudem 
no combate à dengue. 
 
Problemas encontrados atualmente para se fazer denúncias de focos de dengue: 
 
Faltam ferramentas que facilitem aos cidadãos de realizarem suas denúncias. 
Não há um controle sobre as denúncias feitas. 
Burocratização do processo. 
Não há uma divulgação de locais para que sejam feitas as denúncias. 
Falta de interação entre as prefeituras e os cidadãos. 
 
Solução da nossa empresa: 
Escopo do projeto: 
A fim de resolver esses problemas, nossa empresa comprometeu-se em fazer um ótimo 
sistema WEB para gerenciar denúncias que ajudem no combate à dengue através de uma 
página simples e intuitiva. 
O Sistema Zer@Dengue, realizará cadastros de usuários, e permitirá que os mesmos 
realizem denúncias de focos de dengue de forma rápida, simples e prática. Com apenas 
alguns minutos em nosso site, o usuário poderá fazer sua denúncia, cadastrar imagens que 
comprovem de fato a denúncia, indicar o endereço e colocar as descrições que julgar mais 
necessária afim de facilitar a identificação do local. 
 
 
 
 
 
3 
 
Cronograma planejado para o desenvolvimento: 
 
Figura 1 – Cronograma de Desenvolvimento 
 
Ciclo de vida do software: 
 
 Figura 2 – Ciclo de vida do software 
 
 
 
4 
 
2 – Declaração de objetivos (descrição do processo de desenvolvimento 
do software) 
Metodologia Adotada: RUP 
O Processo Unificado da Rational conhecido como RUP (Rational Unified Process), é um 
processo de engenharia de software criado para apoiar o desenvolvimento orientado a 
objetos, fornecendo uma forma sistemática para se obter vantagens no uso da UML. Foi 
criado pela Rational Software Corporation e adquirido em fevereiro de 2003 pela IBM. 
O principal objetivo do RUP é atender as necessidades dos usuários garantindo uma 
produção de software de alta qualidade que cumpra um cronograma e um orçamento 
previsíveis. Assim, o RUP mostra como o sistema será construído na fase de 
implementação, gerando o modelo do projeto e, opcionalmente, o modelo de análise que é 
utilizado para garantir a robustez. O RUP define perfeitamente quem é responsável pelo 
que, como as coisas deverão ser feitas e quando devem ser realizadas, descrevendo todas 
as metas de desenvolvimento especificamente para que sejam alcançadas. 
O RUP organiza o desenvolvimento de software em quatro fases, onde são tratadas 
questões sobre planejamento, levantamento de requisitos, análise, implementação, teste e 
implantação do software. Cada fase tem um papel fundamental para que o objetivo seja 
cumprido, distribuídos entre vários profissionais como o Analista de sistema, Projetista, 
Projetista de testes, entre outros. 
Fases do RUP: 
Fase de Concepção / Iniciação: Esta fase do RUP abrange as tarefas de comunicação 
com o cliente e planejamento. É feito um plano de projeto avaliando os possíveis riscos, as 
estimativas de custo e prazos, estabelecendo as prioridades, levantamento dos requisitos 
do sistema e preliminarmente analisá-lo. Assim, haverá uma anuência das partes 
interessadas na definição do escopo do projeto, onde são examinados os objetivos para se 
decidir sobre a continuidade do desenvolvimento. 
Fase de Elaboração: Abrange a Modelagem do modelo genérico do processo. O objetivo 
desta fase é analisar de forma mais detalhada a análise do domínio do problema, revisando 
os riscos que o projeto pode sofrer e a arquitetura do projeto começa a ter sua forma básica. 
Indagações como "O plano do projeto é confiável?", "Os custos são admissíveis?" são 
esclarecidas nesta etapa. 
Fase de Construção: Desenvolve ou Adquire os componentes de Software. O principal 
objetivo desta fase é a construção do sistema de software, com foco no desenvolvimento de 
componentes e outros recursos do sistema. É na fase de Construção que a maior parte de 
codificação ocorre. 
Fase de Transição: Abrange a entrega do software ao usuário e a fase de testes. O objetivo 
desta fase é disponibilizar o sistema, tornando-o disponível e compreendido pelo usuário 
final. As atividades desta fase incluem o treinamento dos usuários finais e também a 
realização de testes da versão beta do sistema visando garantir que o mesmo possua o 
nível adequado de qualidade. 
 
5 
 
3 - Descrição do Método de desenvolvimento do software:A UML (Unified Modeling Language), que significa Linguagem Unificada de Modelagem é 
uma linguagem padrão para modelagem orientada a objetos. Ela surgiu da fusão de três 
grandes métodos, do BOOCH, OMT (Rumbaugh) e OOSE (Jacobson). Esta linguagem de 
modelagem não proprietária de terceira geração, não é um método de desenvolvimento. 
Têm como papel auxiliar a visualizar o desenho e a comunicação entre objetos. Ela permite 
que desenvolvedores visualizem os produtos de seu trabalho em diagramas padronizados, 
e é muito usada para criar modelos de sistemas de software. 
Além de fornecer a tecnologia necessária para apoiar a prática de engenharia de software 
orientada a objetos, a UML poderá ser a linguagem de modelagem padrão para modelar 
sistemas concorrentes e distribuídos. Utiliza-se de um conjunto de técnicas de notação 
gráfica para criar modelos visuais de software de sistemas intensivos, combinando as 
melhores técnicas de modelagem de dados, negócios, objetos e componentes. É uma 
linguagem de modelagem única, comum e amplamente utilizável. 
Embora com a UML seja possível representar o software através de modelos orientados a 
objetos, ela não demonstra que tipo de trabalho deve ser feito, ou seja, não possui um 
processo que define como o trabalho tem que ser desenvolvido. O objetivo então é 
descrever "o que fazer", "como fazer", "quando fazer" e "porque deve ser feito". É necessária 
a elaboração completa de um dicionário de dados, para descrever todas as entidades 
envolvidas, refinando, com isso, os requisitos funcionais do software. 
A Linguagem Unificada de Modelagem possui diagramas (representações gráficas do 
modelo parcial de um sistema) que são usados em combinação, com a finalidade de obter 
todas as visões e aspectos do sistema. 
 
Técnicas de modelagem adotadas no nosso Sistema: 
Diagramas Estruturais: 
De Classe: Este diagrama é fundamental e o mais utilizado na UML e serve de apoio aos 
outros diagramas. O Diagrama de Classe mostra o conjunto de classes com seus atributos 
e métodos e os relacionamentos entre classes. 
Diagramas Comportamentais: 
De Caso de Uso (Use Case): Geral e informal para fases de levantamento e análise de 
Requisitos do Sistema. 
De Máquina de Estados: Procura acompanhar as mudanças sofridas por um objeto dentro 
de um processo. 
De Atividades: Descreve os passos a serem percorridos para a conclusão de uma 
atividade. 
De Sequência: Descreve a ordem temporal em que as mensagens são trocadas entre os 
objetos. 
 
6 
 
4- Modelagem das atividades básicas do sistema: 
- Diagrama de casos de uso: 
 
 - Digrama de Classes: 
 
7 
 
 
 
 
 
 
- Digrama de Máquinas de Estado: 
 
- Diagrama de Atividades:
 
8 
 
 
- Diagrama de Sequência: 
 
 
5- Descrição da arquitetura lógica e física: 
Tecnologias Adotadas: 
JavaScript 
Também capaz de aumentar a capacidade de processamento do browser. O JavaScript é 
uma linguagem de script que pode ser embutida na página HTML, oferecendo algumas 
formas de controle da página, como a validação de campos. O JavaScript pode ser usado 
em quase todos os browsers, sendo que o Internet Explorer apresenta diferenças na sintaxe 
dos comandos, o que dificulta a capacidade multiplataforma das aplicações Web que 
utilizam o JavaScript. 
CSS: 
Cascading Style Sheet (CSS) permite que os estilos dos elementos da página 
(espaçamento, cores, fontes, margens, etc.) sejam especificados separadamente da 
estrutura do documento, facilitando dessa forma, uma futura modificação no estilo da página 
PHP: 
Hypertext Preprocessor (PHP) segue a mesma filosofia do ASP, porém pode ser executada 
por diferentes servidores, principalmente na plataforma Unix (Solaris, Linux, etc.). 
Diferentemente do ASP, o PHP utiliza sintaxe baseada em C, Java e Perl. É uma tecnologia 
não-proprietária. 
SSI: 
 O Server Side Includes (SSI) utiliza rótulos especiais (tags), inseridos no documento HTML 
que são interpretados pelo Web Server, possibilitando assim que as tags sejam substituídas 
9 
 
por conteúdo dinâmico, de acordo com o processamento realizado no servidor. As tags do 
SSI são específicas para cada servidor Web. 
Banco de Dados: 
Como banco de dados, as opções são muitas. Existem bancos de dados open-source como 
o Interbase e o PostgreSQL, freewares, como o MySQL, e comerciais, como Oracle, 
Informix, DB2 e Sybase, sendo estes mais voltados ao mercado corporativo. A escolha de 
cada tipo de banco de dados vai depender da necessidade de segurança, desempenho, 
escalabilidade da aplicação e das limitações financeiras. 
WampServer 3.1.7: 
WampServer (conhecido anteriormente como o acrônimo WAMP5) é um software que efetua 
a instalação automática de um conjunto de softwares no computador, de modo a facilitar a 
configuração de um software interpretador de scripts local e um banco de dados no sistema 
Windows. Conjunto desenvolvido pela PHP Team sob licença GNU General Public License. 
A partir da versão 2 ocorreu a mudança do nome, de WAMP5 para WampServer. Possui 
suporte a adição de add-ons (funções extras), disponíveis por download, como por exemplo, 
a função de ativar o uso de PHP 4 ao invés do PHP 5. Uma ferramenta que auxilia no 
desenvolvimento, permitindo aos programadores de websites testarem o trabalho em seus 
próprios computadores, sem necessitar acesso à Internet. 
Astah UML 6.6.4/41775 (Evaluation): 
 
O programa de computador Astah, anteriormente denominado JUDE, é uma ferramenta 
UML criado pela empresa japonesa Change Vision. O JUDE recebeu o prêmio "Software 
Product Of The Year 2006", pela Information-Technology Promotion Agency (Japão).[1] 
O nome do programa é um acrônimo de Java and UML Developers Environment (Ambiente 
para Desenvolvedores UML e Java). 
Astah – Utilizada nos diagramas dinâmicos, essa ferramenta já é bastante consolidada, 
voltada para a modelagem de sistemas utilizando a UML, utiliza como recurso adicional a 
modelagem MAS ML. 
BrModelo 3.0: 
Em 2005 foi desenvolvida uma ferramenta de código aberto e totalmente gratuita voltada 
para ensino de modelagem de banco de dados relacionais com base na metodologia 
defendida por Carlos A. Heuser no livro “Projeto de Banco de Dados”. A ferramenta foi 
concebida pelo autor como trabalho de conclusão do curso de especialização em banco de 
dados pelas universidades UFSC (SC) e UNIVAG (MT), orientado pelo Professor Dr. 
Ronaldo dos Santos Mello, após se constatar a inexistência de uma ferramenta nacional que 
pudesse ser utilizada para essa finalidade. 
Em junho de 2006 foi realizado o lançamento da versão 2.0 da ferramenta. Naquela época 
acreditava-se que a modelagem de bancos de dados relacionais poderia ser substituída nos 
próximos dez anos por ferramentas de desenvolvimento de software orientadas a objeto, 
que propunham a persistência do modelo de classes diretamente em um sistema de 
gerência de banco de dados (SGBD), sem, portanto, a necessidade de uma análise do 
modelo voltada exclusivamente para os dados. 
10 
 
Em 2015, passados dez anos de disponibilização da primeira versão da ferramenta, verifica-
se ainda a existência de grande demanda por conhecimentos na área de modelagem de 
dados relacionais e, inclusive, a produção de novos artefatos para abstração dos diagramas 
de dados, em especial, os conceitos relacionados à modelagem conceitual e lógica. O 
mercado não substituiu os SGBDs relacionais e novas funcionalidades têm sido 
implementadas. Também por isso, a ferramenta brModelo continua a ser utilizada em várias 
universidades e centros de ensinos técnicos no país e até mesmo no exterior. 
Tudo isso motivou-nos a continuar os trabalhos de desenvolvimento e a publicar uma nova 
versão do brModelo, também baseada em código aberto, porém em linguagem de 
programação mais atual e com possibilidade de trabalhos colaborativos, cujo beta 0.1 foi 
lançado no site da ferramenta na data do evento Escola Regional de Banco deDados 2017 
- Passo Fundo, oportunidade onde foram colhidas sugestões de melhoria pelo público para 
análise e possíveis aprimoramentos. 
PhpMyAdmin 4.9.0.1: 
phpMyAdmin é um aplicativo web livre e de código aberto desenvolvido em PHP para 
administração do MySQL pela Internet. A partir deste sistema é possível criar e remover 
bases de dados, criar, remover e alterar tabelas, inserir, remover e editar campos, executar 
códigos SQL e manipular campos chaves. O phpMyAdmin é muito utilizado por 
programadores web que muitas vezes necessitam manipular bases de dados. Normalmente, 
o phpMyAdmin é tratado como uma ferramenta obrigatória em quase todas as hospedagens 
da web, além de pacotes off-line, como o WAMPServer, XAMPP, EasyPHP e PHP Triad. 
Notepad++: 
É um editor de texto e de código fonte de código aberto sob a licença GPL. Suporta várias 
linguagens de programação rodando sob o sistema Microsoft Windows (possível utilização 
no Linux via Wine). 
O Notepad++ é distribuído como um Software livre. O projeto foi hospedado no 
SourceForge.net, onde foi baixado mais de 27 milhões de vezes e ganhou duas vezes o 
prêmio "SourceForge Community Choice Award" por melhor ferramenta de 
desenvolvimento. 
O projeto foi hospedado no TuxFamily desde 2010 até 2015 depois foi movido para o GitHub. 
Ele é baseado no Scintilla, é escrito em C++ utilizando a API Win32 e usa a STL. O objetivo 
do Notepad++ é oferecer um esguio e eficiente binário com uma interface gráfica totalmente 
modificável. 
As linguagens de programação suportadas pelo Notepad++ são: C, C++, Java, C#, XML, 
HTML, PHP, JavaScript, makefile, ASCII art, doxygen, ASP, VB/VBScript, Unix Shell Script, 
BAT, SQL, Objective-C, CSS, Pascal, Perl, Python, Lua, Tcl, Assembly, Ruby, Lisp, Scheme, 
Smalltalk, PostScript e VHDL. Além disto, usuários podem definir suas próprias linguagens 
usando um "sistema de definição de linguagem" integrado, que faz do Notepad++ extensível, 
para ter realce de sintaxe e compactação de trechos de código. 
Ele suporta auto complemento, busca e substituição com integração de expressões 
regulares, divisão de tela, zoom, favoritos, etc. Tem suporte para macros e plugins. Um 
plugin de usuário chamado TextFX, que provê opções de transformação de textos, é incluído 
por padrão. 
11 
 
 
 
HeidiSQL: 
(anteriormente conhecido como MySQL-Front) é um programa livre e cliente código-aberto 
para o MySQL, Microsoft SQL SERVER e PostgreSQL desenvolvido pelo programador 
alemão Ansgar Becker que é conhecido pelo seu pseudônimo Anse (www.anse.de). 
As versões com numeração abaixo de 3.0 são conhecidas com MySQL-Front até a versão 
2.5. O programa foi renomeado em 2006 para HeidiSQL, quando, em abril do mesmo ano, 
Ansgar Becker disponibilizou seus códigos como um projeto livre sem fins lucrativos no 
SourceForge. 
Existe também um aplicativo comercial chamado "MySQL-Front 3.0", o qual foi desenvolvido 
por outro programador entre 2004 até 2006 e possui um código completamente 
redesenhado. 
O time que compõe o HeidiSQL atualmente consiste de cinco desenvolvedores oficiais 
[ligação inativa] e um designer. Os membros que estão trabalhando no HeidiSQL em suas 
horas livres disponíveis e remanescem de diferentes países: Alemanha, Dinamarca, 
Holanda, China e Brasil. 
Modelo Entidade Relacionamento: 
O Modelo Entidade Relacionamento (também chamado Modelo ER, ou simplesmente MER), 
como o nome sugere, é um modelo conceitual utilizado na Engenharia de Software para 
descrever os objetos (entidades) envolvidos em um domínio de negócios, com suas 
características (atributos) e como elas se relacionam entre si (relacionamentos). 
Em geral, este modelo representa de forma abstrata a estrutura que possuirá o banco de 
dados da aplicação. Obviamente, o banco de dados poderá conter várias outras entidades, 
tais como chaves e tabelas intermediárias, que podem só fazer sentido no contexto de bases 
de dados relacionais. 
Digrama de Caso de Uso (Use Case): Geral e informal para fases de levantamento e 
análise de Requisitos do Sistema. 
Diagrama de Máquina de Estados: Procura acompanhar as mudanças sofridas por um 
objeto dentro de um processo. 
Diagrama de Atividades: Descreve os passos a serem percorridos para a conclusão de 
uma atividade. 
Diagrama de Sequência: Descreve a ordem temporal em que as mensagens são trocadas 
entre os objetos. 
 
 
 
12 
 
Tarefa 2 - Projeto Orientado à Objetos 
1 - Linguagem utilizada: 
A linguagem escolhida para o desenvolvimento do sistema Zer@Dengue foi a linguagem 
PHP. Pois é uma das linguagens de programação mais usadas no mundo. Com ela, 
programadores e desenvolvedores podem criar sites dinâmicos, extensões para aplicativos 
e otimizar programas e sistemas operacionais. Além de ser uma das linguagens de 
programação mais utilizadas do mundo. 
Fácil de Aprender: A linguagem PHP é uma das mais acessíveis para aprender a usar. A 
sintaxe (as regras que regem a lógica das configurações) tem padrões fáceis de memorizar 
e entender. E, se você já tem alguma noção de linguagem C ou Java, então, vai se sentir 
em um ambiente familiar e propício ao desenvolvimento das suas habilidades 
Alto Desempenho: O PHP é capaz de suportar grandes quantidades de dados. Com isso, 
a linguagem consegue executar muitas funções e consumir muitos recursos ao mesmo 
tempo. E sem comprometer o desempenho e a velocidade do servidor em que está 
hospedado. 
É Código Aberto: Isso significa que a linguagem PHP é gratuita para qualquer usuário. 
Mais do que isso, desenvolvedores e programadores experientes com acesso ao código-
fonte podem fazer atualizações e melhorias periódicas. Isso significa mais recursos, 
funcionalidades, estabilidade e menos bugs (erros). 
É Multiplataforma: É a facilidade que os usuários têm de poder usar e rodar a linguagem 
PHP numa variedade de sistemas operacionais. Windows, Linux (e suas distribuições) e 
MacOS são alguns deles. O mesmo acontece entre os navegadores: Chrome, Safari, Edge, 
Firefox e Opera, entre outros, são todos compatíveis. 
Compatibilidade com Bancos de Dados. Um banco de dados é o local onde você guarda 
todos os dados e informações do seu projeto (site, blog ou loja virtual) na internet. A 
linguagem PHP é compatível com os principais tipos de bancos de dados, como MySQL, 
SQLite, Firebird, Interbase e Oracle. 
O Que é Possível Fazer com PHP? 
A linguagem PHP pode ser empregada em praticamente qualquer utilidade que você queira 
fazer ou desenvolver na internet. Isso inclui desde a criação de sites até o desenvolvimento 
de aplicações de serviços e sistemas na web. 
1. Sites Dinâmicos 
Sites dinâmicos são aqueles em que os elementos mostrados neles não ficam estáticos. 
Suas páginas são gerenciadas por uma aplicação hospedada em um servidor. Com o PHP, 
é o usuário que determina como uma página será mostrada quando for carregada em 
navegador. Você pode fazer isso com plataformas de publicação de conteúdos dinâmicos, 
como WordPress, Drupal, Joomla, Magento e OpenCart. 
2. Aplicações para Internet 
O PHP permite criar aplicações para qualquer tipo de finalidade na internet. Digamos que 
você queira incluir um formulário de contatos no seu blog. Ou um fórum de discussões para 
13 
 
fazer com que os visitantes do seu site interajam uns com os outros. Ou, ainda, desenvolver 
e publicar uma galeria de imagens estilizada para sua loja virtual. Tudo isso é possível 
usando a linguagem de programação. 
3. Plugins para WordPress 
Plugins são extensões que adicionam novos recursos e funcionalidade ao WordPress, o 
CMS (Sistema de Gerenciamento de Conteúdo) mais usado no mundo. A plataforma é 
extremamente popular e sua comunidade de usuários e desenvolvedores é tão engajada 
que atualizações, melhorias e novos aplicativos são lançados com bastante frequência. Com 
o PHP, é possível criar plugins para o WordPress e cobrar por isso. 
4. Sistemas para WebSistemas são conjuntos de dados e informações que se integram e se comunicam uns com 
os outros. No caso da web, são serviços que você pode desenvolver com PHP para atender 
a uma determinada finalidade. Pense em um sistema de cursos online com páginas de 
textos, vídeos, jogos interativos e telas e de logins e senhas. Ou numa rede interna de uma 
empresa que só os funcionários podem acessar, receber novidades, ver o planejamento das 
tarefas do dia e o ponto eletrônico. 
Concluímos que o PHP é uma das linguagens de programação mais versáteis e intuitivas 
que existem. Ela é muito usada não só por programadores experientes, mas também por 
quem está começando a aprender a como programar. Está esperando o quê para colocar a 
“mão na massa” e começar a desenvolver seu próprio site e aplicativo para internet? 
1 - Padrões de projetos utilizados: Padrões GRASP 
Os padrões GRASP, sigla para General Responsibility Assignment Software Patterns (or 
Principles), consistem de um conjunto de práticas para atribuição de responsabilidades a 
classes e objetos em projetos orientados a objeto. 
Os padrões GRASP (General Responsibility Assignment Software Patterns), são 
responsáveis pela descrição de princípios de fundamental importância para a atribuição de 
responsabilidades em projetos orientados a objetos, oferecendo um melhor desempenho do 
código, e trabalhando acerca de solucionar problemas, garantindo melhor interface do 
projeto. 
Sendo assim, é importante sabermos que a qualidade do projeto orientado a objetos está 
diretamente relacionada com a distribuição dessas obrigações, que promovem a não 
sobrecarga de objetos já que ocorre nesse processo a delegação de atividades, ou seja, 
cada objeto terá uma função específica, de modo que, o que ele não souber fazer será 
repassado para o objeto que está mais preparado para fazer. 
Todos esses padrões servem para a resolução de problemas comuns e bastante típicos de 
desenvolvimento de software orientado a objeto. Portanto, tais técnicas apenas 
documentam e normatizam as práticas já consolidadas, testadas e conhecidas no mercado. 
Os padrões GRASP estão mais como uma ferramenta mental ou uma filosofia de design, 
mas que ainda assim são úteis para o aprendizado e desenvolvimento de um bom design 
de software. Note que alguns padrões GoF implementam soluções correspondentes com 
padrões GRASP. 
14 
 
Exemplos de Padrões: 
Padrões Básicos: 
Information Expert (ver Especialista na Informação); 
Creator (ver Factory Method); 
High Cohesion (ver Coesão); 
Low Coupling(ver Acoplamento); 
Controller (ver Model-view-controller). 
Padrões Avançados: 
Polymorphism (ver Polimorfismo); 
Pure Fabrication; 
Indirection (ver Indireção); 
Protected Variations (ver Variações Protegidas). 
 2 - Frameworks: 
Um framework, de modo geral, é um modelo de códigos já existentes para uma função 
específica necessária ao desenvolvimento de outros softwares. Em outras palavras, trata-
se de uma ferramenta que une códigos comuns a diversos projetos para que o 
desenvolvedor não precise programar um código novo para funções que já existem. 
Também chamado de arcabouço, trata-se de um modelo de códigos, e não de um software 
a ser executado. Portanto, prevê facilidades no âmbito de sistemas operacionais e não de 
aplicações. Seu principal objetivo é oferecer determinadas funcionalidades prontas aos 
programadores, as quais servem de base para o desenvolvimento de novos projetos, 
gerando, assim, mais produtividades e lucratividade ao economizar tempo e cortar custos. 
 A utilidade de um framework está nas necessidades em comum que certos projetos 
possuem, desde que essas semelhanças em demandas sejam razoavelmente grandes, 
pois, como os códigos são abstratos e genéricos, devem atender ao maior número possível 
de aplicações. Nesse sentido, uma de suas características muito importante é a integração 
entre funções diferentes. Ou seja, as funções são programadas da forma mais abrangente 
possível para se adequar às mais variadas circunstâncias. É preciso atentar-se também ao 
domínio, pois os frameworks podem ser de tipos vertical ou horizontal. Um framework 
vertical é direcionado a atender demandas de um domínio específico. Pode ser utilizado por 
diversos softwares, desde que dentro do mesmo domínio. Já os frameworks horizontais não 
são presos ao domínio, portanto são ainda mais genéricos. 
Importância em projetos de sistemas orientados à objetos: 
Reduzir o esforço de desenvolvimento de frameworks – Infelizmente, este processo 
incremental do desenvolvimento é frequentemente lento e imprevisível. 
Aumentar o foco do domínio específico dos frameworks – há relativamente poucos 
exemplares extensamente documentados de frameworks de empresas para os domínios 
chaves dos negócios tais como: operações bancárias, de seguros e sistemas médicos. 
15 
 
Frameworks caixa-preta – muitos peritos em frameworks favorecem frameworks caixa-preta 
sobre frameworks caixa-branca já que enfatizam relacionamentos dinâmicos do objeto. 
 Documentação exata e compreensível do framework – documentar frameworks é uma 
atividade trabalhosa já que as ferramentas contemporâneas focalizam frequentemente na 
documentação de métodos orientados a baixo nível, e não captura os papéis e as 
colaborações estratégicas entre componentes da estrutura. 
 Processos para controlar o desenvolvimento de frameworks – Este nível de abstração faz 
com que seja difícil de projetar sua qualidade e de controlar sua produção. 
Consequentemente, é essencial capturar e articular os processos do desenvolvimento que 
podem assegurar o desenvolvimento e o uso bem-sucedidos do framework. 
Economia do framework – auxílios para medir quanto de código foi reusado e quanto foi 
economizado em dinheiro com a utilização do framework. Também é necessário determinar 
os benefícios do framework em torno do seu investimento. 
Exemplos de Frameworks interessantes para utilização: 
Bootstrap: 
Simplesmente o framework mais conhecido e famoso do mundo front-end. Criado em agosto 
de 2011 por dois engenheiros do Twitter, a ferramenta logo se tornou uma das mais famosas 
na hora de criar interfaces web. 
Hoje estima-se que cerca de 7 milhões de sites utilizem o Bootstrap como framework front-
end. Entre suas vantagens, podemos citar a documentação farta e a comunidade muito 
ativa, a infinidade de componentes que podem ser facilmente chamados em suas 
aplicações, além da boa base de padrões estéticos, que permitem criar páginas belas e 
funcionais. Pode parecer muito elogio, mas o Bootstrap realmente merece atenção, porque 
as páginas criadas com ele ficam atrativas e eficientes. 
Foundation: 
Além de ser um dos frameworks front-end mais utilizados no mundo. 
A vantagem de ser construído em SASS é que ele permite uma construção de aplicações 
mais rápida, chamando diversas funções de estilo prontas. Além disso, ele também possui 
integração com o JavaScript, o que permite diferentes efeitos em sua utilização. 
Por seguir os princípios de mobile first e melhoria progressiva, o Foundation tem a vantagem 
de manter um código enxuto e conciso, além de estar adaptado para os diferentes tipos de 
tela. Estes são alguns dos elementos que o fazem ser tão conhecido e utilizado. 
3 - Arquitetura de software: 
Padrão MVC: 
O padrão de desenvolvimento de software MVC (Model view controller) traz consigo grandes 
vantagens para o desenvolvimento de aplicações. Vantagens como: 
Reusabilidade de código; uma funcionalidade já implementada em uma parte do sistema, 
pode ser novamente utilizada em outra parte, sem ser necessário o seu redesenvolvimento. 
16 
 
Exemplo: em um sistema toda vez que um usuário altera sua senha, ele recebe um e-mail 
informando a alteração. Neste mesmo sistema quando ocorre uma venda, também é 
enviado um e-mail informando este usuário. Os e-mails enviados possuem assunto e 
conteúdo diferentes, mas ambos utilizama funcionalidade de envio de e-mail. Sendo assim 
não é necessário realizar o desenvolvimento de um novo código de envio de e-mails, basta 
somente utilizar a funcionalidade existente, modificando os dados a serem enviados. 
Desenvolvimento rápido: neste modelo é possível que desenvolvedores e designers 
trabalhem simultaneamente na aplicação. Cada um trabalharia em uma camada diferente 
da aplicação, tornando o desenvolvimento produtivo. 
Fácil manutenção: como o código é dividido em partes distintas, se torna fácil adicionar 
novas funcionalidades e alterar características antigas. O código também fica mais fácil de 
ser compreendido por outros desenvolvedores. Exemplo: um sistema de uma transportadora 
foi feito por um desenvolvedor que não presta mais serviços para mesma. No futuro está 
transportadora precisa realizar uma modificação em uma parte específica do sistema, é 
contratado outro desenvolvedor para a tarefa. Quando o responsável pela rotina na 
transportadora informar o mesmo ao desenvolvedor, ele conseguirá facilmente identificar o 
reportado no código do sistema. 
Vantagens do modelo MVC: 
Como o modelo MVC gerencia múltiplos visualizadores usando o mesmo modelo é fácil 
manter testar e atualizar sistemas múltiplos. 
É muito simples incluir novos clientes apenas incluindo seus visualizadores e controles. 
Torna a aplicação escalável. 
É possível ter desenvolvimento em paralelo para o modelo, visualizador e controle pois são 
independentes. 
 
 
 
 
 
 
 
 
 
 
 
 
17 
 
Tarefa 3 – Programação para web 2 
Index – Página inicial do site 
 
 
 
 
 
 
 
 
 
18 
 
 Página onde o usuário realiza seu cadastro. 
 
 
Mensagem de sucesso após o usuário realizar o seu cadastro. 
 
 
 
19 
 
Após realizar o seu cadastro, o usuário é redirecionado para Tela de Cadastro da denúncia. 
 
 
Mensagem de sucesso após o usuário realizar sua denúncia em nosso sistema. 
 
 
 
20 
 
Tela onde o usuário realiza o login no sistema para verificar o Status da denúncia feita em 
nosso sistema. 
 
 
 
 
 
 
 
 
 
21 
 
Após realizar o login, o usuário pode verificar os Status das suas denúncias no nosso 
sistema (no exemplo abaixo, o usuário ainda não possui nenhuma denúncia cadastrada no 
sistema). 
 
 
 
 
 
 
 
 
 
22 
 
3. Conclusão 
 
O fato de vivenciarmos no nosso cotidiano o elevado número de casos de dengue e termos 
o conhecimento que as medidas de prevenção são bastante simples e eficazes para a sua 
redução, consideramos de suma importância buscar mecanismos junto com a comunidade 
local para a construção de propostas de efetivo combate à dengue. 
O sistema Zer@Dengue, desenvolvido nesse trabalho de conclusão de período, foi 
modelado e implementado visando cumprir todos os objetivos previstos. Após o 
cumprimento do cronograma ele satisfez os objetivos. 
Foi desenvolvida uma ferramenta web capaz de dar ao usuário a possibilidade de se 
cadastrar, realizar denúncias de focos de mosquitos da dengue em qualquer parte do país, 
com facilidade, rapidez e eficiência. 
Algumas melhorias ainda precisam ser implantadas, mas tomaremos isso como foco 
futuramente afim de melhorar cada vez mais o sistema. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
23 
 
REFERÊNCIAS: 
 
Fonte: Vivao Linux 
Acesso em: 25 abril 2020. 
<https://www.vivaolinux.com.br/artigo/MVC-Conceito-e-exemplo-em-PHP> 
Fonte: Blog revelo 
Acesso em: 23 abril 2020. 
<https://blog.revelo.com.br/o-que-e-framework-exemplos-e-aplicacoes> 
Fonte: Web Link 
Acesso em: 05 maio 2020. 
https://www.weblink.com.br/blog/php/o-que-e-php-conheca/ 
Fonte: Macoratti 
Acesso em: 20 abril 2020. 
<http://www.macoratti.net/vbn_mvc.htm> 
Fonte: Infoescola 
Acesso em: 10 abril 2020. 
<https://www.infoescola.com/engenharia-de-software/uml/> 
Fonte: DevMedia 
Acesso em: 30 abril 2020. 
<https://www.devmedia.com.br/desenvolvimento-com-qualidade-com-grasp/28704> 
<https://www.devmedia.com.br/modelo-entidade-relacionamento-mer-e-diagrama-
entidade-relacionamento-der/14332> 
Fonte: Computação Unitri 
Acesso em 12 abril 2020. 
<http://computacao.unitri.edu.br/downloads/monografia/49351143168297.pdf> 
Fonte:Arkan 
Acesso em 28 abril 2020. 
<https://arkansystem.com.br/desenvolvimento-de-softwares_e_seus_processos/

Continue navegando