Buscar

PIM 8 - Desenvolvimento de Mecanismo de Acesso a Banco de dados e Protótipos ASP Net e Android

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

UNIP EaD 
PROJETO INTEGRADO MULTIDISCIPLINAR VIII 
CURSOS SUPERIORES DE TECNOLOGIA ANÁLISE E DESENVOLVIMENTO DE 
SISTEMAS 
 
 
 
 
 
 
 
AFive Solutions 
Desenvolvimento de Mecanismo de Acesso a Banco de dados com Protótipos em 
ASP.Net e Android 
 
 
 
 
 
UNIP 
Polos Chácara Santo Antônio, Fortaleza 2, Indianápolis, Jundiaí e Sorocaba. 
2020 
UNIP EaD 
PROJETO INTEGRADO MULTIDISCIPLINAR VIII 
CURSOS SUPERIORES DE TECNOLOGIA ANÁLISE E DESENVOLVIMENTO DE 
SISTEMAS 
 
 
AFive Solutions 
Desenvolvimento de Mecanismo de Acesso a Banco de dados com Protótipos em 
ASP.Net e Android 
 
 
FRANCISCO NATANAEL DA SILVA 
RA: 1901260 
MANOEL FELIPE JOSINO DA SILVA 
RA: 1903127 
RUÂNIO AMOÊDO SILVA 
RA: 1910390 
WAGNER CARNEIRO JUNIOR 
RA: 1925829 
LEONARDO PEREIRA TELES 
RA: 1943790 
ENIO EVANGELISTA DA SILVA 
RA: 1966282 
 
 
ANÁLISE E DESENVOLVIMENTO DE SISTEMAS 
4º SEMESTRE 
 
 
 
UNIP 
Polos Chácara Santo Antônio, Fortaleza 2, Indianápolis, Jundiaí e Sorocaba. 
2020 
RESUMO 
 
Neste último projeto multidisciplinar iremos mesclar os conhecimentos adquiridos 
nas disciplinas cursadas no oitavo bimestre do curso de Análise e Desenvolvimento de 
Sistemas. Serão difundidos os conceitos absorvidos nas disciplinas Programação 
Orientada a Objetos II, Desenvolvimento de Sistemas para Internet e Tópicos Especiais 
de Programação Orientada a Objetos. Nele, criaremos um mecanismo de acesso ao 
banco de dados MySQL utilizando a linguagem de programação C#, junto com dois 
protótipos de interface com o usuário, uma em ASP.Net e outra em Android. Também 
abordaremos o conceito de Classes e Objetos, utilizando a arquitetura MVC (Model View 
Controller) onde cada camada terá sua respectiva responsabilidade dentro do projeto. 
 
 
 
Palavras-chave: MVC. ASP. Android. 
 
 
 
 
 
 
ABSTRACT 
 
In this last multidisciplinary project we will merge the knowledge acquired in the 
disciplines taken in the eighth quarter of the Systems Analysis and Development course. 
The concepts absorbed in the subjects Object Oriented Programming II, Systems 
Development for the Internet and Special Topics in Object Oriented Programming will be 
disseminated. In it, we will create a mechanism to access the MySQL database using the 
C # programming language, along with two prototypes of the user interface, one in 
ASP.Net and the other in Android. We will also approach the concept of Classes and 
Objects, using the MVC architecture (Model View Controller) where each layer will have 
its respective responsibility within the project. 
 
 
Keywords: MVC. ASP. Android. 
 
 
 
 
 
SUMÁRIO 
 
 
INTRODUÇÃO 6 
CAPÍTULO 01 – PROJETO 7 
1.1 - Especificação do Projeto 7 
1.2 – Linguagem 7 
1.3 – Arquitetura 7 
1.3.1 – Camada Model 8 
1.3.2 – Camada Controller 9 
1.3.3 – Camada View 11 
1.3.4 – Camada DAL 12 
1.4 – Banco de dados 14 
CAPÍTULO 02 – Protótipo ASP.Net 16 
2.1 – Linguagem ASP.Net 16 
2.2 – Adicionando um novo Projeto View 16 
2.2.1 – Construção da Página 17 
CAPÍTULO 03 – Protótipo Android 19 
3.1 – Linguagem Java e o Android Studio 19 
3.2 – A MainActivity e o XML 19 
3.3 – Emulação 20 
CONCLUSÃO 22 
REFERENCIAS BIBLIOGRÁFICAS 23 
 
6 
 
INTRODUÇÃO 
 
Toda aplicação possui internamente um mecanismo que permite que o usuário 
final manipule os dados que lhe são necessários para gerir um determinado ambiente. 
Esse mecanismo é responsável por realizar as funcionalidades básicas de um banco de 
dados, comumente chamado de CRUD (Create, Read, Upate and Delete). 
Existem diversas formas de se implementar essa funcionalidade, utilizando ou não 
arquiteturas, separando ou não as classes. No nosso projeto, iremos desenvolver essa 
aplicação utilizando o conceito de Orientação a Objeto seguindo a arquitetura MVC, onde 
cada camada terá uma responsabilidade específica, como apenas acessar o banco de 
dados, ou apenas possuir as regras de negócio ou simplesmente representar um objeto 
físico no mundo real. 
 
 
 
 
 
 
 
 
 
 
 
7 
 
CAPÍTULO 01 – PROJETO 
 
1.1 - Especificação do Projeto 
 
O projeto deverá possuir um mecanismo de acesso a um banco de dados 
relacional onde seja possível realizar as operações CRUD (Create, Read, Update and 
Delete) e deverá permitir que interfaces diversas consumam esse projeto. 
1.2 – Linguagem 
 
Utilizaremos a linguagem de programação C#, fortemente tipada e 
multiparadigma, que permite o desenvolvimento utilizando o conceito de programação 
orientada a objetos além de permitir o desenvolvimento entre camadas. 
1.3 – Arquitetura 
 
O projeto será implementado utilizando a arquitetura MVC (Model View 
Controller), este tipo de padrão de arquitetura ou Design Partner permite que o sistema 
seja desenvolvido em camadas separadas que por sua vez, possuam responsabilidades 
diferentes. 
Estrutura do Projeto utilizando o padrão MVC 
 
Fonte: Equipe AFive Solutions, 2020 
 
8 
 
1.3.1 – Camada Model 
 
A camada Model (ou modelo) é responsável por representar o objeto do mundo 
real. Ela deve possuir todos os objetos contidos no projeto e que por sua vez, devem 
possuir suas respectivas propriedades. 
Estrutura da Camada Model 
 
Fonte: Equipe AFive Solutions, 2020 
 
 
1.3.1.1 – Objeto Pessoa 
 
Cada classe contém o escopo do objeto que o abstrai do mundo real, é 
responsável por encapsular os comportamentos e propriedades e é baseado nela que 
um objeto é criado em tempo de execução. 
 A classe principal do nosso projeto é a classe Pessoa, ela possui propriedades 
próprias como Nome e CPF, e também propriedades baseadas em outras classes como 
Endereço e uma lista de Telefones. 
Objeto Pessoa 
 
Fonte: Equipe AFive Solutions, 2020 
9 
 
1.3.2 – Camada Controller 
 
Como mencionado anteriormente, baseado na arquitetura MVC, se faz necessário 
a criação de uma camada chamada Controller. Todo objeto contido na classe Model deve 
possuir um classe dentro dessa camada, seguindo o padrão com o nome da classe 
seguido da palavra Controller. 
Cada classe contida nessa camada é responsável por receber um objeto, realizar 
as validações necessárias e estabelecer a comunicação com a camada de acesso ao 
banco de dados. 
 
Estrutura da camada Controller 
 
Fonte: Equipe AFive Solutions, 2020 
 
Uma camada controller pode ou não possuir Propriedades, porém elas sempre 
possuirão métodos, sejam eles de validação das propriedades do próprio objeto ou 
validação das regras de negócio, além de enviar e receber informações do banco de 
dados ou apenas um método construtor. 
 
 1.3.2.1 – Classe PessoaController 
 No nosso projeto, uma das classes controladoras é a PessoaController, abaixo 
temos a estrutura do método Gravar, esse método recebe um objeto Pessoa como 
parâmetro, inicia um bloco Try a fim de capturar um possível erro durante a execução e 
prepara uma instrução SQL que será enviada a camada de acesso ao banco de dados. 
10 
 
Caso não haja nenhum erro, seja ele de manipulação ou execução no banco de 
dados, será retornado um valor booleano verdadeiro, informando para a camada que a 
solicitou que a execução foi realizada com sucesso. 
 
Classe PessoaController 
 
Fonte: Equipe AFive Solutions, 2020 
 
 
1.3.2.2 – Instanciando uma classe Controller 
Para instanciar a classe PessoaController, se faz necessário que o objeto Pessoa 
já tenha sido instanciado previamente e assim passá-lo como parâmetro no método 
construtor da classe. 
11 
 
Exemplo de instanciação da classe PessoaController 
 
Fonte: Equipe AFive Solutions, 2020 
 
1.3.3 – Camada View 
 
Dentro da arquitetura MVC, assim como em outros Designer Partners que 
envolvem a separação em camadas, a view é a camada que permite a interação do 
usuário com a aplicação. Por definição, essa camada não deve possuir nenhum tipo de 
validação ou regra de negócio, tudo deve ser feito pelas camadas internas, sejam ela a 
Model ou a Controller,dependendo do padrão utilizado. 
Seguindo esse conceito, um projeto MVC pode ter uma ou mais camadas do tipo 
View, a diferença é a linguagem e plataforma em que essa camada será executada, e, 
por conta de toda a estrutura lógica separada nas demais camadas não se faz necessário 
nenhuma implementação extra quanto à validação ou gravação desses objetos no banco 
de dados. 
 
 
12 
 
Projeto com 3 camadas do tipo View 
 
Fonte: Equipe AFive Solutions, 2020 
 
1.3.4 – Camada DAL 
 
 
A camada DAL (Data Access Layer), também conhecida com DAO (Data Access 
Object), é responsável por comunicar-se diretamente com o banco de dados, apenas ela 
possui os mecanismos necessários para realizar este acesso. 
No nosso projeto, utilizaremos apenas uma classe chamada Connection e ela 
possuirá objetos estáticos referentes a conexão com o banco de dados como os objetos 
MySQLConnection, MySQLCommand, MySQLDataAdpter e assim por diante, além dos 
métodos Connect, Execute e Disconnect. 
Classe Connection 
 
Fonte: Equipe AFive Solutions, 2020 
 
O método Execute, é responsável por receber uma ou várias instruções SQL, 
iniciar uma nova conexão com banco de dados, preparar os objetos de transação, 
13 
 
preencher os comandos e executar. Caso haja algum erro durante a execução desse 
bloco, por conta da utilização do objeto Transaction será realizado um RollBack, 
desfazendo assim as alterações realizadas na sessão atual, caso tudo ocorra sem 
problema, será executado um Commit, efetivando assim as alterações no banco de 
dados. 
 
Método Execute da classe Connection 
 
Fonte: Equipe AFive Solutions, 2020 
 
Além disso, independente do sucesso ou não da execução do comando, como 
boa prática, se faz necessário a chamada do método Disconnect, que fecha a conexão 
com o banco e destrói todos os objetos criados a fim de liberar memória e evitar que a 
sessão fique aberta no banco de dados. 
 
 
14 
 
Método Disconnect da classe Connection 
 
Fonte: Equipe AFive Solutions, 2020 
 
Temos também um método chamado GetDataTable, esse método é responsável 
por preencher um objeto do tipo DataTable que ao ser requisitado recebendo como 
parâmetro uma instrução sql retornará uma tabela contendo os registros solicitados ao 
banco de dados. 
 
Método GetDataTable da classe Connection 
 
Fonte: Equipe AFive Solutions, 2020 
 
 
 
1.4 – Banco de dados 
 
Para esse projeto, utilizaremos uma instancia do banco de dados MySQL, 
especificamente na versão 8.0.21, nele criamos um banco de dados chamado dbUnip 
15 
 
contendo as tabelas Cidade, Estado, Pessoa, PessoaEndereco, PessoaTelefone e 
TipoTelefone. 
 
Instancia MySQL e suas tabelas
 
Fonte: Equipe AFive Solutions, 2020 
 
 
 
 
 
16 
 
CAPÍTULO 02 – Protótipo ASP.Net 
 
2.1 – Linguagem ASP.Net 
 
Uma das camadas View do projeto foi construída em ASP.Net, sucessora do ASP, 
multi-plataforma com ferramentas e bibliotecas específicas para construção de 
aplicações WEB. 
 
2.2 – Adicionando um novo Projeto View 
 
No desenvolvimento dessa camada, ainda utilizando a solução criada no Visual 
Studio, criamos um novo projeto chamado View_WEB e incluímos um novo Item do tipo 
WebForm chamado frmCadPessoa.aspx. 
 
Janela Novo Item Web – Visual Studio 
 
Fonte: Equipe AFive Solutions, 2020 
 
 
 
17 
 
2.2.1 – Construção da Página 
 
Assim como em qualquer outro framework de desenvolvimento Web, o ASP.Net 
estende os objetos criados na linguagem de marcação HTML, possuindo propriedades 
,tags e objetos exclusivos da linguagem como <asp:Repeatlayout> <asp:ListItem> 
ClientViewMode. 
Uma página pode ser tranquilamente escrita como um arquivo externo ao 
ASP.Net, usando HTML, CSS e JavaScript e depois apenas implementar os métodos 
internos da camada de negócio. 
 
Parte do script HTML da página Cadastro de Pessoa 
 
Fonte: Equipe AFive Solutions, 2020 
 
 
 
18 
 
Após ser compilado, o projeto será executado utilizando o servidor LocalHost 
exibindo os campos que foram criados no HTML, é importante comentar que toda a 
formação foi incluída direto no Head da página utilizando a tag Style, nela, todos os 
comandos CSS foram adicionados a fim de estilizar a página. 
 
Página Cadastro de Pessoa em ASP.Net 
 
Fonte: Equipe AFive Solutions, 2020 
 
 
19 
 
CAPÍTULO 03 – Protótipo Android 
 
3.1 – Linguagem Java e o Android Studio 
 
Outra camada View desenvolvida para nossa aplicação é a cadmada Android, 
essa por sua vez foi implementada usando a linguagem Java dentro da IDE Android 
Studio, que é um ambiente de desenvolvimento Modbile focado nas linguagens Java e 
Kotlin e permite a criação de layouts utilizando comandos Drag and Drop (arrastar e 
soltar). 
IDE Android Studio 
 
Fonte: Equipe AFive Solutions, 2020 
 
3.2 – A MainActivity e o XML 
 
Quando se cria um layout de qualquer janela no Android Studio, por trás existe 
um arquivo com de mesmo nome porém com a extensão XML, é ela que na verdade 
dispõe e formata todos os controles na página. 
 
 
20 
 
Parte do código XML do projeto Android 
 
Fonte: Equipe AFive Solutions, 2020 
 
3.3 – Emulação 
 
 
Após a criação da aplicação, o Android Studio disponibiliza diversas formas de 
visualizar o resultado do que foi desenhado, uma dessas opções é criar um emulador. 
Durante a criação desse emulador o usuário tem a possibilidade de simular uma diversa 
gama de sistemas operacionais, tamanhos de tela, quantidade de memória entre outras, 
possibilitando testar a aplicação em diversos cenários. 
 
 
21 
 
Projeto Android emulado 
 
Fonte: Equipe AFive Solutions, 2020 
 
 
 
 
22 
 
CONCLUSÃO 
 
Neste projeto conseguimos desenvolver os conhecimentos adquiridos nas 
disciplinas Programação Orientada a Objetos II, Desenvolvimento de Sistemas para 
Internet e Tópicos Especiais de Programação Orientada a Objetos entendendo que todas 
elas foram correlacionadas na elaboração da solução e da implantação de uma aplicação 
Web e Android. 
Todo o conhecimento adquirido durante as pesquisas e desenvolvimento do 
projeto nos fez perceber que os assuntos, até então desconhecidos, passaram a fazer 
parte do nosso cotidiano de uma forma mais perceptível. 
Com isso, conseguimos demonstrar em uma abordagem técnica a melhor 
estratégia e estrutura a ser utilizada no desenvolvimento de um Projeto MVC contendo 
camadas de negócio, modelagem, acesso a banco e interface com o usuário. 
Para finalizar, gostaríamos de aproveitar e agradecer a todo o corpo docente da 
UNIP que nos propiciou a aquisição de uma gama imensa de conhecimento que 
certamente nos tornarão humanos mais capacitados. 
 
 
 
23 
 
REFERENCIAS BIBLIOGRÁFICAS 
 
ANDROID STUDIO. Página inicial. Disponível em: 
<https://developer.android.com/studio>. Acesso em: 14 de nov. de 2020. 
 
ARAUJO, E. C. Orientação a Objetos em C#. São Paulo: Casa do Código, 2017. 
 
MICROSOFT ASP.NET. Página inicial. Disponível em: 
<https://dotnet.microsoft.com/apps/aspnet >. Acesso em: 12 de nov. de 
2020.

Continue navegando