Buscar

e744c990-4846-4247-8b5c-bf74632edf31

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

3
Unopar
analise e desenvolvimento de sistemas
Eliandro Lima
harnon a. souza
igor ramos
jhallon m. dutkevicz
johann k. keller
sistema de monitoramento pet:
Pet Finder
Penha
30/10/2019
Eliandro Lima
harnon a. souza
igor ramos
jhallon m. dutkevicz
johann k. keller
sistema de monitoramento pet:
Pet Finder
Trabalho de portfólio apresentado como requisito parcial para a obtenção de média semestral no curso de Análise e Desenvolvimento de Sistemas, nas disciplinas de:
· Introdução ao Desenvolvimento de Sistemas Web
· Metodologia Científica
· Processo de Negócio e Software
· Lógica e Técnicas de Programação;
Tutor Presencial: Silvair Rodrigues Vieira
Tutor à Distância: Vanice Dalto
Penha
30/10/2019
SUMÁRIO
1	INTRODUÇÃO	3
2	DESENVOLVIMENTO	4
2.1	Algoritmo	4
2.2	Protótipo	4
2.3	Requisito de software	5
3	CONCLUSÃO	6
REFERÊNCIAS	7
INTRODUÇÃO
O desenvolvimento de um software é uma atividade complexa e dinâmica que demanda habilidades de natureza bem diversas. O conhecimento técnico em uma determinada linguagem de programação, sozinho, está longe de garantir o sucesso do projeto. É preciso entender como funciona o negócio do cliente, quais são seus problemas, anseios, dúvidas e expectativas. Também é necessário avaliar a viabilidade do projeto e planejar cuidadosamente os passos para a execução do mesmo objetivando garantir a excelência na prestação do serviço entregando um produto de altíssima qualidade no final.
Dentro desse contexto, a atividade proposta aborda três pontos essenciais que devem ser de conhecimento obrigatório de todo analista e/ou desenvolvedor web, que são: os algorítmos, o código HTML e o processo de desenvolvimento de software. O desenvolvimento do trabalho abordará cada um separadamente, apresentando seus conceitos e demostrando suas execuções.
DESENVOLVIMENTO
O termo algoritmo normalmente causa certa estranheza a algumas pessoas, pois muitas acreditam que está escrito ou pronunciado de forma incorreta. A palavra algoritmos vem do latim, dos termos algorismos ou algorithmos, que estão associados à ideia de algarismos por influência do idioma grego a partir do termo arithmós, associado à ideia de números.
A palavra algoritmo é aplicada e empregada, segundo o dicionário Aurélio, em matemática e computação. Na esfera matemática está associada a um processo de cálculo ou de resolução de um grupo de problemas semelhantes, em que se estipulam, com generalidade e sem restrições, regras formais para a obtenção do resultado ou da solução do problema. Na ciência da computação (informática) está associada a um conjunto de regras e operações bem definidas e ordenadas, destinadas à solução de um problema ou de uma classe de problemas, em um número finito de passos.
Há também uma crença na área da computação de que o termo algoritmos originou-se no ano de 830 d.C., a partir da publicação de um importante livro de álgebra escrito por um matemático e astrônomo muçulmano que viveu na Pérsia (atual Irã), chamado Abu Abdullah Muhammad ibn Musa al-Khwarizmi, nascido no ano de 780 d.C. e falecido no ano de 850 d.C., Figura 2.1, conhecido também por al-Khwarizmi. (2016 p. 24)
Informalmente, um algoritmo é qualquer procedimento computacional bem definido que toma algum valor ou conjunto de valores como entrada e produz algum valor ou conjunto de valores como saída. Portanto, um algoritmo é uma sequência de passos computacionais que transformam a entrada na saída. Também podemos visualizar um algoritmo como uma ferramenta para resolver um problema computacional bem especificado. O enunciado do problema específica em termos gerais o relacionamento entre a entrada e a saída desejada. O algoritmo descreve um procedimento computacional específico para se alcançar esse relacionamento da entrada com a saída. (CORMEM, LEISERSON, RIVEST, STEIN, p 3, 2002)
Segundo Campos (2003):
Algoritmo também é uma descrição de sequência de passos que deve ser seguida para a realização de uma tarefa e ação é um acontecimento que, a partir de um estado inicial, após um período de tempo finito, produz um estado final previsível e bem definido. Assim, um algoritmo é a descrição de um conjunto de comandos que, obedecidos, resultam em uma sucessão finita de ações 
 ALGORÍTMO
1: /* ALGORÍTIMO PETFINDER
2: * 
3: * Unopar - Penha/SC
4: * 
5: * Curso de Análise e Desenvolvimento de Sistemas
6: * 
7: * Produção Textual em Grupo - PTG
8: * 
9: * Alunos:
10: * ARON FELIPE DE SOUZA
11: *	 ELIANDRO FREIRE DE LIMA
12: *	 HARNON AURELIO DE SOUZA
13: *	 JHALLON MATTHAEUS DUTKEVICZ
14: *	 IGOR RAMOS
15: * 
16: * Descrição:
17: * 
18: * 	Algorítmo em Portugol para cálculo da distância entre o dono e seu pet.
19: * 	
20: * 	
21: * Data: 09/10/2019
22: */
23: 
24: programa { // [INÍCIO]
25: 
26: 	// Bibliotecas
27: 	inclua biblioteca Matematica --> mat // Inclui a biblioteca Matemática
28: 	inclua biblioteca Util --> u // Inclui a biblioteca Util, que contem uma função que aguarda um intervalo de tempo antes de dar seguir a execução do código.
29: 	
30: 	// Declarando as variáveis
31: 	inteiro distanciaLimite = 20 // Distância limite para o afastamento do cachorro (em metros) - padrão 20m
32: 		
33: 	funcao inicio() {
34: 
35: 		// Solicita distância limite
36: 		escreva("Digite a distância limite (em metros) para o afastamento máximo do pet? ")
37: 		leia(distanciaLimite)
38: 		
39: 		monitora()
40: 
41: 	} // inicio()
42: 	
43: 	funcao monitora() {
44: 		
45: 		// Declarando as variáveis
46: 		real latDono, lonDono, latPet, lonPet, distanciaDonoPet
47: 		
48: 		// Solicita a latitude do dono
49: 		escreva("Digite a sua latitude (em graus): ")
50: 		leia(latDono) 	// Latitude do dono (entrada pelo celular)
51: 
52: 		// Solicita a longitude do dono
53: 		escreva("Digite a sua longitude (em graus): ")
54: 		leia(lonDono) // Longitude do dono (entrada pelo celular)
55: 
56: 		// Solicita a latitude do pet
57: 		escreva("Digite a latitude do seu pet (em graus): ")
58: 		leia(latPet) // Latitude do pet (entrada pelo gps na coleira)
59: 
60: 		// Solicita a longitude do pet
61: 		escreva("Digite a longitude do seu pet (em graus): ")
62: 		leia(lonPet) // Longitude do pet (entrada pelo gps na coleira)
63: 
64: 		distanciaDonoPet = calculaDistancia ( latDono, lonDono, latPet, lonPet )
65: 
66: 		se (distanciaDonoPet > distanciaLimite ) {
67: 			
68: 			escreva("Seu pet se afastou além do limite!!! [Distância: ", distanciaDonoPet, " metros")
69: 			
70: 		} senao {
71: 
72: 			limpa()
73: 			u.aguarde(5000) // Aguarda 5 segundos
74: 			monitora()
75: 			
76: 		}
77: 		
78: 	} // monitora()
79: 
80: 	// Função que calcula a distância entre dois pontos geográfcos na Terra.
81: 	funcao real calculaDistancia(real lat1, real lon1, real lat2, real lon2) {
82: 		
83: 		const inteiro R = 6371 // Raio aproximado da Terra em Km
84: 	
85: 		real resultadoDistanciaEmKm, resultadoDistanciaEmMetros, a, q, c
86: 			 
87: 		real dLat = grausParaRadianos(lat2 - lat1) // distanciaLatitude em radianos
88: 		
89: 		real dLon = grausParaRadianos(lon2 - lon1) // distanciaLongitude em radianos
90: 		
91: 		 a = ( mat.seno(dLat / 2) * mat.seno(dLat / 2.0) ) + ( mat.cosseno( grausParaRadianos(lat1) ) * mat.cosseno( grausParaRadianos(lat2) ) * mat.seno(dLon / 2.0) * mat.seno(dLon / 2.0) )
92: 	
93: 			q = mat.raiz(a, 2.0) / mat.raiz((1.0 - a), 2.0)
94: 			
95: 			c = 2.0 * arcotangente( q )
96: 			 
97: 			resultadoDistanciaEmKm = R * c // Distância em Km
98: 			 
99: 			resultadoDistanciaEmMetros = resultadoDistanciaEmKm * 1000.0 // Distância em metros
100: 		
101: 			retorne resultadoDistanciaEmMetros
102: 			
103: 	} // calculaDistancia(lat1,lon1,lat2,lon2)
104: 
105: 
106: 	// Função que transforma de grau para radiano.
107: 	funcao real grausParaRadianos( real grau) {
108: 	 retorne grau * (mat.PI / 180)
109: 	} // grausParaRadianos(grau)
110: 
111: 	// Função que retornao arcotangente.
112: 	funcao real arcotangente(real x) {
113: 		real q = 1 - mat.potencia(x, 2.0)
114: 	 	retorne x / ( mat.raiz(q, 2.0) )
115: 	} // arcotangente(x)
116: 	
117: // [FIM]		
118: }
	 
PORTUGOL
Segundo a seção de ajuda do Programa Portugol Studio v2.7.4, Portugol é uma representação que se assemelha bastante com a linguagem C, porém é escrito em português. A ideia é facilitar a construção e a leitura dos algoritmos usando uma linguagem mais fácil aos alunos.
DESCRIÇÃO DO ALGORITMO PETFINDER
Linhas 1 - 22 Comentários com algumas informações meramente descritivas e que não fazem parte do algoritmo propriamente dito.
Linha 24 - “programa“ é o comando inicial e obrigatório do compilador Portugol Studio. Toda ação deve acontecer entre as suas chaves de abertura “ { “, e de fechamento “ } “.
Linha 27 - Inclui a biblioteca de Matemática, com funções que ajudarão nos cálculos trigronométricos. À ela foi atribuída a variável global “mat”.
Linha 28 - Inclui a biblioteca Util, que contém uma função que aguarda um intervalo de tempo antes de seguir a execução do código. À ela foi atribuída a variável global “u”.
Linha 31 - declaração da variável global “distanciaLimite”, cujo valor deve ser do tipo número inteiro. O valor padrão foi estabelecido como sendo 20. Esta variável representa a distância máxima (em metros) que o animal pode se afastar do seu dono. 
Linha 33 - Função “inicio()”, que inicia o algoritmo.
Linha 36 - Função que solicita ao usuário que o mesmo digite a distância limite (em metros) para o afastamento máximo permitido para o seu pet.
Linha 37 - Função que lê o valor digitado pelo usuário e o atribui a variável global “distanciaLimite”.
Linha 43 - Função “monitora”, que inicia o monitoramento do pet.
Linha 46 - são declaradas as variáveis “latDono, lonDono, latPet, lonPet, distanciaDonoPet”, que serão utilizadas no cálculo da distância entre o dono e o pet. Essas variáveis podem assumir qualquer valor dentro do conjunto dos números reais. Seus valores iniciais não foram definidos e serão calculados pelo algoritmo.
Linha 49 - Função que solicita ao usuário que o mesmo digite a sua latitude (em graus).
Linha 50 - Função que lê o valor digitado pelo usuário e o atribui a variável "latDono".
Linha 53 - Função que solicita ao usuário que o mesmo digite a sua longitude (em graus).
Linha 54 - Função que lê o valor digitado pelo usuário e o atribui a variável "lonDono".
Linha 57 - Função que solicita ao usuário que o mesmo digite a latitude do seu pet (em graus).
Linha 58 - Função que lê o valor digitado pelo usuário e o atribui a variável "latPet".
Linha 61 - Função que solicita ao usuário que o mesmo digite a longitude do seu pet (em graus).
Linha 62 - Função que lê o valor digitado pelo usuário e o atribui a variável "lonPet".
Linha 81 - Função “calculaDistancia(...)” que calcula a distância entre o dono e seu pet com base nos valores da geolocalização de ambos. Ela retorna um valor do tipo real.
Linha 107 - Função auxiliar “grausParaRadianos(...)” que transforma valores de ângulos de graus para radianos. Retorna um valor do tipo real.
Linha 112 - Função auxiliar “arcotangente(...)”, que calcula o arco tangente de um ângulo. 
ALGORITMO PETFINDER – EXPLICAÇÃO
1 - O comando “programa” determina o início do algoritimo;
2 - São incluídas as bibliotecas de Matemática e Util, respectivamente, que contem funções que auxiliarão a execução do algoritmo. Linhas 27 e 28;
3 - Em seguida, a função “inicio()” é chamada. É solicitado que o usuário digite o valor limite para afastamento do seu pet. Após a leitura da variável, a função “monitora()” é chamada. Linhas 33 a 41;
4 - A função monitora() começa solicitando os valores da localização do dono e do seu pet, para em seguida calcular a distância entre os dois. O cálculo é feito chamando a função “calculaDistancia(...)”, que passa como parâmetros as variáveis obtidas nas etapas anteriores. Uma série de cálculos matemáticos trigonométricos que obtém a distância entre dois pontos da superfície de uma esfera são feitos. O cálculo leva em consideração o formato quase esférico do Planeta Terra e considera o seu raio como sendo de aproximadamente 6371 Km. O valor retornado é um número real que representa a distância entre o dono e seu pet. Esse valor é atribuído a variável “distanciaDonoPet”. Linhas 43 a 78;
5 - Na sequência uma condicional avalia se o valor de “distanciaDonoPet” é maior ou menor que “distanciaLimite”, ou seja, se a distância entre o dono e o seu pet é maior ou menor que distância limite para afastamento do anima. Linha 66;
6 - Caso “distanciaDonoPet” seja maior que “distanciaLimite”, um alerta é enviado para o usuário informando que seu animal ultrapassou o limite estabelecido. Linha 68;
7 - Senão, o algoritmo faz um limpa na tela, faz uma pausa de 5 segundos e reinicia o monitoramento chamando novamente a função “monitora()”.
Protótipo
HTML é a sigla de HyperText Markup Language, expressão inglesa que significa "Linguagem de Marcação de Hipertexto". Consiste em uma linguagem de marcação utilizada para produção de páginas na web, que permite a criação de documentos estruturados em títulos, parágrafos, listas, links, tabelas, formulários e em muitos outros elementos nos quais podem ser incorporadas imagens e vídeos. (FLATSCHART. P. 9, 2011.)
Código em HTML:
1: <!DOCTYPE html>
2: <html lang="pt">
3: 	<head>
4: 		<title>Pet Finder</title>
5: 		
6: 		<style>
7: 			body {
8: 				font-family: Arial, Helvetica, sans-serif;
9: 				
10: 			}
11: 			
12: 			.centro {
13: 				text-align: center;
14: 			}
15: 			
16: 			#desc {
17: 				font-size: 1.5rem;
18: 			}
19: 			
20: 			table {
21: 			 border-collapse: collapse;
22: 			 width: 90%;
23: 			 margin: auto;
24: 			}
25: 
26: 			td, th {
27: 			 border: 1px solid #dddddd;
28: 			 text-align: left;
29: 			 padding: 8px;
30: 			}
31: 
32: 			tr:nth-child(even) {
33: 			 background-color: #dddddd;
34: 			}
35: 
36: 		</style>
37: 	</head>
38: 	
39: 	<body>
40: 		<hr color="blue">
41: 			<h1 class="centro">Pet Finder</h1>
42: 		<hr color="blue">
43: 		
44: 		<p><b>Cidade:</b> Penha - SC</p>
45: 		<br>
46: 		
47: 		<div class="centro">
48: 			<img src="toto.jpg" style="width:25%" />
49: 		</div>
50: 			
51: 		<br>
52: 		<p id="desc" class="centro">Pet Finder é o aplicativo anjo da guarda do seu animalzinho. Com ele você pode monitorar o seu pet pelo smartphone.</p>
53: 		
54: 		<table>
55: 		 <tr style="background-color: yellow">
56: 			<th>Nome</th>
57: 			<th>Raça</th>
58: 			<th>Sexo</th>
59: 			<th>Latitude</th>
60: 			<th>Longitude</th>
61: 		 </tr>
62: 		 
63: 			<tr>
64: 				<td>Lessie</td>
65: 				<td>Labrador</td>
66: 				<td>Fêmea</td>
67: 				<td>-26.7941</td>
68: 				<td>-48.6107</td>
69: 			</tr>
70: 		 
71: 			<tr>
72: 				<td>Puppy</td>
73: 				<td>Salsicha</td>
74: 				<td>Macho</td>
75: 				<td>-32.0027</td>
76: 				<td>-21.7036</td>
77: 			 </tr>
78: 			 
79: 			<tr>
80: 				<td>Pitucha</td>
81: 				<td>Pinscher</td>
82: 				<td>Fêmea</td>
83: 				<td>-89.7941</td>
84: 				<td>-48.6057</td>
85: 			 </tr>
86: 			 
87: 			<tr>
88: 				<td>Zeus</td>
89: 				<td>Pitbull</td>
90: 				<td>Macho</td>
91: 				<td>-56.7941</td>
92: 				<td>-18.4507</td>
93: 			 </tr>
94: 			 
95: 			<tr>
96: 				<td>Belinha</td>
97: 				<td>Vira lata</td>
98: 				<td>Fêmea</td>
99: 				<td>-74.9741</td>
100: 				<td>-88.9067</td>
101: 			 </tr>
102: 			 
103: 			<tr>
104: 				<td>Jack</td>
105: 				<td>Labrador</td>
106: 				<td>Macho</td>
107: 				<td>-86.9823</td>
108: 				<td>-08.1245</td>
109: 			 </tr>
110: 			 
111: 			<tr>
112: 				<td>Xuxa</td>
113: 				<td>Goldem</td>
114: 				<td>Fêmea</td>
115: 				<td>-29.1990</td>
116: 				<td>-02.4006</td>
117: 			 </tr>
118: 			 
119: 			<tr>
120: 				<td>Conam</td>
121: 				<td>Pastor Alemão</td>
122: 				<td>Macho</td>
123: 				<td>-76.7941</td>
124: 				<td>-58.6727</td>
125: 			 </tr>
126: 			 
127: 			<tr>
128: 				<td>Baltazar</td>
129: 				<td>Rottwiler</td>
130: 				<td>Macho</td>
131: 				<td>-56.0121</td>
132:<td>-43.2307</td>
133: 			 </tr>
134: 			 
135: 			<tr>
136: 				<td>Beethoven</td>
137: 				<td>Bernese</td>
138: 				<td>Macho</td>
139: 				<td>-26.7941</td>
140: 				<td>-48.607</td>
141: 			 </tr>
142: 		 
143: 		</table>
144: 		<br><br>
145: 	</body>
146: 
147: </html>
Requisito de software
Processo de Desenvolvimento de Software
INTRODUÇÃO
Se destacar na área de desenvolvimento de aplicações modernas que se integram com produtos de alta tecnologia cada vez mais interconectados com certeza não é uma tarefa fácil. O nicho mercadológico é tanto grande quanto diversificado. Aplicações web ou nativas de smartphones, só para citar as mais comuns, podem ser desenvolvidas tanto por grandes empresas do setor como também por uma miríade de atores que vão desde freelancers (profissionais ou não) até “sites que fazem sites”. Dentro deste cenário imenso e caótico o desenvolvedor, seja pessoa física ou jurídica, deve alicerçar sua imagem a um trabalho que prima sobretudo pela QUALIDADE do seu produto ou serviço.
Por diversos fatores inerentes ao NEGÓCIO de desenvolvimento do software o processo todo se desenrola de forma altamente dinâmica e mutável. A habilidade (ou falta dela) para manejar tal processo pode ser crucial na determinação do sucesso ou fracasso da empreitada.
Assim, pensando em minimizar erros e custos na produção de um software e aumentar a eficiência para atingir a excelência na qualidade de seus programas, entidades do setor passaram a usar a metodologia científica no processo, dando origem a área do saber que hoje é conhecida como Engenharia de Software.
 
A ENGENHARIA DE SOFTWARE
A engenharia de software se dedica aos aspectos gerenciais e tecnológicos relacionados ao desenvolvimento, ao suporte à utilização e à manutenção e evolução de sistemas de software. A perspectiva é dotar a indústria de software de conceitos, métodos, técnicas e ferramentas capazes de propiciar a melhoria da qualidade e da produtividade dos processos e produtos de software. (JORGE L. N. AUDY, GILBERTO KELLER DE ANDRADE, ALEXANDRE CIDRAL p. 171, 2005.)
DESENVOLVIMENTO DO SOFTWARE
Diversas metodologias podem ser utilizadas para o desenvolvimento do software, no entanto, existem fases ou ciclos que são comuns a praticamente todas elas, que são: Levantamento de requisitos, Análise de Requisitos, Projeto, Implementação, Testes e Implantação.
LEVANTAMENTO DE REQUISITOS
Esta fase é essencial para que todos os envolvidos no projeto, ou seja, o cliente, os desenvolvedores e os futuros usuários do sistema tenham plena ciência do que o software fará. As necessidades do cliente devem ser entendidas e atendidas pelos desenvolvedores, bem como o cliente deve entender as limitações e necessidades do sistema para que tudo funcione como previsto. É nesta fase que a equipe deverá conversar com o cliente para entender a sua necessidade, saber como a ideia surgiu e como ela beneficiará seus usuários. Pode ser de grande valor também conversar com outros donos de pets, ONG´s de proteção aos animais, petshops, veterinários, para entender como esses atores se comportam diante de um problema semelhante. Pesquisar e testar possíveis sistemas concorrentes também é algo importante e que já pode ser feito nesta fase. Aqui também será discutido de forma geral os requisitos do sistema tais como dispositivos necessários, plataformas de interação com o usuário e uso de banco de dados. O modelo de negócio, ou seja, como o aplicativo irá gerar lucros para seus clientes ou, dependendo do caso, se auto sustentar diante dos recursos utilizados para seu funcionamento.
ANÁLISE DE REQUISITOS
Nessa fase a equipe deverá analisar detalhadamente os requisitos identificados na etapa anterior e a partir desta propor soluções para que desenvolvimento aconteça satisfazendo as necessidades do cliente (validação), sem sobretudo, inviabilizar o projeto por questões financeiras ou técnicas (verificação).
PROJETO
Nessa fase a equipe definirá qual plataforma será utilizada no desenvolvimento do aplicativo. Aqui serão definidos os dispositivos que serão utilizados (ou que serão compatíveis) com o sistema, a linguagem de programação utilizada para codificar as funcionalidades, a interface gráfica padrão, o design e o sistema de armazenamento de dados (banco de dados). O desenvolvimento dos algoritmos e suas inter-relações ganham vida nesta fase.
A descrição computacional e modelagem são ações essenciais neste tempo.
IMPLEMENTAÇÃO
Nessa fase o sistema é codificado tendo como base a descrição computacional e a arquitetura do software definida na etapa do projeto. Em outras palavras, é aqui que o código e efetivamente escrito usando a linguagem de programação pré-determinada anteriormente.
TESTES
Nessa fase o sistema é testado em sua plenitude. Todos os aspectos devem ser avaliados, sendo que os possíveis erros e inconsistências encontrados devem ser registrados, avaliados quanto aos seus impactos no sistema como um todo e corrigidos sempre que possível. 
IMPLANTAÇÃO
É nessa fase em que o aplicativo é efetivamente “entregue” para o cliente e seu uso disponibilizado para todos os interessados. Os softwares são instalados no ambiente do usuário, dados preexistentes são migrados para o sistema quando for o caso, os manuais e a documentação do software são entregues e os usuários são treinados. Quanto ao caso específico do Petfinder, a loja virtual para aquisição da coleira rastreadora será posta online e os aplicativos para smartphones serão disponibilizados para download nas suas respectivas plataformas.
REQUISITO DE SISTEMA
identificador - RF001
Nome - Receber as coordenadas geográficas (latitude e longitude) do tutor e do seu pet, em tempo real e calcular a distância entre os dois.
Módulo - Geolocalização
Data da Criação: 28/10/19 Autor: Eliandro Lima
Data da Última Alteração: N/A Autor: N/A
Versão: 1 Prioridade: Essencial
Descrição: Para que o sistema possa monitorar continuamente o pet e saber se ele se afastou além do limite pré-estabelecido pelo usuário (dono do pet), o aplicativo deverá ser capaz de calcular continuamente, em intervalo de 5 segundos, a distância entre os dois. Para fazer isso o aplicativo precisará receber as coordenadas geográficas (latitude e longitude) tanto do usuário quanto do pet. De posse dessas coordenadas, a distância entre os dois é calculada utilizando fórmulas da trigonometria esférica. O resultado é então comparado com o valor fornecido pelo usuário como sendo o limite máximo de afastamento permitido para o pet. Caso o valor seja maior que o limite definido, um aviso sonoro e uma notificação na tela do celular do usuário será mostrada. O usuário poderá monitorar em tempo real a posição do seu pet. As coordenadas do usuário serão fornecidas pelo celular do usuário e as coordenadas do pet serão fornecidas pelo dispositivo localizador acoplado à coleira do animal. O dispositivo deve possuir um gps integrado e ser capaz de transmitir os dados pela rede 3G de celulares.
CONCLUSÃO
O bom planejamento da arquitetura do software com o desenvolvimento dos algorítmos essenciais da aplicação garante uma visão mais abrangente de todo o sistema, facilita a comunicação entre os diferentes setores da equipe de desenvolvimento e ajuda a prever eventuais inconcistências ou erros no programa. A funcionalidade de solicitação das coordenadas geográficas do dono e do seu pet com avaliação do afastamento ou não do animal além dos limites estabelecidos pelo seu dono foram demonstrados de forma simples através do algorítmo Petfinder, escrito no pseudocódigo portugol e desenhado em um fluxograma.
A página de divulgação do Petfinder demostra a contrução e estilização de elementos básicos, porém importante de um documento HTML como títulos, imagens, parágrados e tabelas.
Por fim, todo o processo de engenharia de software foi demostrado através da descrição de seus passos, da exemplificação de um requisito de software e da diagramação da função que permite o usuário customizar e armazenar os cenários em que deseja para monitoraro seu pet.
REFERÊNCIAS
CAMPOS, E. A. V. e Ascencio, A. F. G. Fundamentos da Programação de Computadores. Editora   Prentice Hall, 2003.
CORMEM, LEISERSON, RIVEST, STEIN, ALGORITMOS p. 3, 2002
FLATSCHART, HTML5: EMBARQUE IMEDIATO, P. 9, 2011.
JORGE L. N. AUDY, GILBERTO KELLER DE ANDRADE, ALEXANDRE CIDRAL, FUNDAMENTOS DE SISTEMAS DE INFORMAÇÃO. p. 171, 2005.
MANZANO, G., J.A. N., OLIVEIRA, de, J. F. Algoritmos - Lógica para Desenvolvimento de Programação de Computadores, 28° edição,2016. [Minha Biblioteca]. Retirado de https://integrada.minhabiblioteca.com.br/#/books/9788536518657/

Continue navegando