Escolar Documentos
Profissional Documentos
Cultura Documentos
ESTUDO DE CASO
“SISTEMA DE MONITORAMENTO PETMONITOR”
Garanhuns/PE
2019
NOME DO(S) AUTOR(ES):
ESTUDO DE CASO
“SISTEMA DE MONITORAMENTO PETMONITOR”
Garanhuns/PE
2019
SUMÁRIO
1 INTRODUÇÃO..........................................................................................................3
2 DESENVOLVIMENTO..............................................................................................4
2.1 TAREFA 1 – Análise Orientada a Objetos – II ......................................................6
2.2 TAREFA 2 – Banco de Dados – II ........................................................................8
2.3 TAREFA 3 –. Programação Orientada a Objetos................................................11
2.4 TAREFA 4 – Programação Para Web I...............................................................20
3 CONCLUSÃO......................................................................................................... 23
REFERÊNCIAS......................................................................................................... 25
3
1 INTRODUÇÃO
2 DESENVOLVIMENTO
mudanças, quanto mais rápido esta mudança for implementada no sistema, mais
competente seremos (aos olhos do cliente). A outra é reuso de código
O relacionamento entre classes e interfaces permite que um mesmo código seja
utilizado por diversas outras classes. A Organização do projeto: como o projeto POO
tende a ficar “modularizado”, não é necessário percorrer o projeto todo para prestar
manutenções. Basta localizar a(s) classe(s) a ser(em) modificada(s) e trabalhar
nelas. Lógico que é necessário tomar cuidado com as dependências. E a última é a
facilidade para realizar testes unitários: relacionado ao tópico anterior. É possível
realizar testes unitários de maneira automatizada. Sendo assim, a qualidade do
produto tende a crescer.
A disciplina de Programação Web I foi muito útil no que tange a
desenvolver aplicações web, neste caso foi feito uma aplicação em php, onde o
mesmo conecta-se ao mysql, e é feito o registro de localização, hora e data da
ocorrência, onde o usuário pode consultar o trajeto de cada pet, e ainda visualizar
através de linhas no mapa o caminho que foi feito pelo o seu animal. Contudo nesse
contexto existe várias outras linguagens de programação web e seria muito extenso
falar de todas as linguagens envolvidas no processo de desenvolvimento, porém,
falaremos das mais utilizadas. Uma das primeiras linguagens de programação
aprendidas é o JavaScript. Com ele, é possível manipular os elementos das páginas,
validar formulários e até buscar dados em outro servidor com o AJAX. Outra
linguagem de programação bastante utilizada é o PHP, a que usamos também no
desenvolvimento do trabalho, que foi usado para a comunicação com o servidor.
Com ele, é possível realizar a interação com o banco de dados e outras aplicações.
Além dessas, existem ainda linguagens como C#, .NET, Java, Python, Ruby, entre
outras que também são utilizadas em desenvolvimento de aplicações web.
7
TAREFA 1 .
O Diagrama de Use Cases.
O Diagrama de Classe.
8
Diagrama de Atividades.
Diagrama de Sequência .
9
2.1 TAREFA 2
2.2 TAREFA 3
2.3 TAREFA 4 –
Codificação abaixo:
<!DOCTYPEhtml>
<htmllang="en"> <head>
<metacharset="UTF-8">
<metaname="viewport"content="width=device-width, initial-scale=1.0">
<metahttp-equiv="X-UA-Compatible"content="ie=edge">
<title>Posições do Meu PET</title>
<linkrel="stylesheet"
href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/
bootstrap.min.css"integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/
iJTQUOhcWr7x9JvoRxT2MZw1T"crossorigin="anonymous">
<scriptsrc="https://code.jquery.com/jquery-3.3.1.slim.min.js"integrity="sha384q8i/
X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo"crossorigin="an
onymous"></script>
<scriptsrc="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/
popper.min.js"integrity="sha384-
UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1"crossor
igin="anonymous"></script><script
src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"
integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/
nJGzIxFDsf4x0xIM+B07jRM"crossorigin="anonymous"></script>
<linkrel="stylesheet"href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-
datepicker/1.9.0/css/bootstrap-datepicker.css">
<scriptsrc="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-
datepicker/1.9.0/locales/bootstrap-datepicker.pt-BR.min.js"charset="UTF8"></script>
<scriptsrc="https://cdnjs.cloudflare.com/ajax/libs/bootstrapdatepicker/1.9.0/js/
bootstrap-datepicker.min.js"></script>
<style>* { padding: 0;
}
html, body, #container, .row { height: 100%!important;
}
#map, #grid { width: 100%; height: calc(100% - 20px); }
#gridtable { width: 100%;
height: 100%; } </style>
<?phpif ($_SERVER['REQUEST_METHOD'] === 'POST') { $petID = $_POST["petID"];
$inicio = $_POST["inicio"];
$fim = $_POST["fim"];
$link = mysqli_connect("127.0.0.1", "root", null, "ptg.ads-petmonitor", "3306");
$query = "SELECT*FROM posicionamento WHERE petid=$petIDAND DataHora BETWEEN
STR_TO_DATE('$inicio', '%m/%d/%Y') AND STR_TO_DATE('$fim 23:59:59',
'%m/%d/%Y %T')";
$posicoes = mysqli_query($link, $query); $posicoes_count =
22
mysqli_num_rows($posicoes);
} else { $posicoes_count = 0;
} ?> </head>
<body>
<divid="container"class="container-fluid">
<divclass="row">
<divclass="col-lg-2">
<formmethod="POST">
<divclass="form-group">
<labelfor="inputDataInicial">Data Inicial</label>
<inputtype="text"class="form-control"id="inputDataInicial" name="inicio"data-
provide="datepicker"autocomplete="off"value="<?=@$inicio?>"></div>
<divclass="form-group">
<labelfor="inputDataInicial">Data Final</label>
<inputtype="text"class="form-control"id="inputDataFinal"name="fim"
data-provide="datepicker"autocomplete="off"value="<?=@$fim?>"> </div>
<divclass="form-group">
<labelfor="inputPetID">PET</label>
<selectclass="form-control"id="inputPetID"name="petID"value="<?=@$petID?>">
<optionvalue="1"<?= @$petID == 1 ? 'selected' : ''?>>Pet 1</option>
<optionvalue="2"<?= @$petID == 2 ? 'selected' : ''?>>Pet 2</option>
<optionvalue="3"<?=@$petID == 3 ? 'selected' : ''?>>Pet 3</option>
<optionvalue="4"<?= @$petID == 4 ? 'selected' : ''?>>Pet 4</option> </select>
</div>
<buttontype="submit"class="btn btn-primary">Pesquisar</button>
</form> </div> <divclass="col-lg-3">
<?phpif ($posicoes_count > 0) : ?>
<divid="grid">
<divclass="table-responsive">
<tableclass="table table-striped table-hover mx-auto w-auto"><theadclass="thead-
inverse">
<tr>
<th>Data e Hora</th> <th>Latitude</th>
<th>Longitude</th> </tr>
</thead> <tbody><?phpwhile ($row = mysqli_fetch_assoc($posicoes)) { ?> <tr>
<tdscope="row"><?=date_format(newDateTime($row["DataHora"]), 'd/m/y H:m:s') ?
></td>
<td><?=round($row["Lat"], 4) ?></td>
<td><?=round($row["Lng"], 4) ?></td>
</tr>
<?php } ?>
</tbody> </table> </div>
</div>
<?phpelse : ?>
23
<h3>Sem Dados!</h3>
<?phpendif; ?>
</div> <divclass="col-lg-7"> <divid="map"></div>
</div>
</div>
</div>
<script>
// Initialize and add the map
functioninitMap() { varmap = newgoogle.maps.Map(document.getElementById('map'),
{ zoom:4,
center: {
lat: -13, lng: -50.653789 }, mapTypeId:'satellite' });
<?phpif ($posicoes_count > 0) { ?>varposicoes = [];
<?php mysqli_data_seek($posicoes, 0);
while ($row = mysqli_fetch_assoc($posicoes)) {
echo"posicoes.push({lat: $row[Lat], lng: $row[Lng]});"; } ?> varposicoesPet =
newgoogle.maps.Polyline({ path:posicoes, geodesic:true, strokeColor:'#FF0000',
strokeOpacity:1.0, strokeWeight:2
});
posicoesPet.setMap(map); varbounds = newgoogle.maps.LatLngBounds(); for (vari = 0;
i < posicoes.length; i++) { bounds.extend(posicoes[i]);
}
map.fitBounds(bounds); <?php } ?> }
</script>
<scriptasyncdefer
src="https://maps.googleapis.com/maps/api/js?key=AIzaSyDznwQN82i6-W8c-
7LdU5fheiysvjTllw&callback=initMap"></script>
</body>
</html>
<?phpif ($_SERVER['REQUEST_METHOD'] === 'POST') { mysqli_free_result($posicoes);
mysqli_close($link); } ?>
3 CONCLUSÃO
tomar como base essas informações para decisões importantes sobre seu
segmento.
REFERÊNCIAS BIBLIOGRÁFICAS
http://aprendaplsql.com/modelagem-de-dados/normalizacao-banco-de-dados/.
Acesso dia 19/11/19.