Buscar

PIM VIII - ADS - Tiago Vieira da Silva - RA 1984825

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

UNIVERSIDADE PAULISTA – UNIP EAD 
PROJETO INTEGRADO MULTIDISCIPLINAR PIM VIII 
 
 
 
 
CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE 
SISTEMAS 
 
 
 
 
TIAGO VIEIRA DA SILVA - RA 1984825 
 
 
 
 
DESENVOLVIMENTO DE SOFTWARE PARA A INTERNET E TÓPICOS 
ESPECIAIS DE PROGRAMAÇÃO ORIENTADA A OBJETOS 
 
 
 
 
 
 
 
 
Sorocaba 
2023 
TIAGO VIEIRA DA SILVA - RA 1984825 
 
 
 
 
 
 
 
DESENVOLVIMENTO DE SOFTWARE PARA A INTERNET E TÓPICOS 
ESPECIAIS DE PROGRAMAÇÃO ORIENTADA A OBJETOS 
 
 
 
 
 
 
 
 
 
 
PROJETO INTEGRADO MULTIDISCIPLINAR PARA OBTENÇÃO DO TÍTULO DE 
TECNÓLOGO EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS, 
APRESENTADO À UNIVERSIDADE PAULISTA – UNIP EAD. 
 
 
 
 
 
 
 
 
 
Sorocaba 
2023 
RESUMO 
O Projeto Multidisciplinar VIII, tem como objetivo desenvolver um projeto d e 
mecanismo de acesso a um trecho de banco de dados de um sistema na linguagem C#, onde será 
criado um protótipo utilizando o framework ASP.NET que permite ao usuário interagir com trecho 
de banco de dados. Também será apresentado protótipo na versão móbile, utilizando a linguagem 
Java. Esse trecho de banco de dados que será criado, será responsável por m ater o cadastro 
de pessoas no sistema. As interfaces gráficas com o usuário em ASP.NET e Androide permitirá que 
o usuário realize operações CRUD, nesse banco de dados. Dado que através do ensinamento d 
as disciplinas decorrente a este bimestre foi possível agregar os conhecimentos na prática 
para o desenvolvimento do projeto, de maneira que será possível apresentar toda parte lógica e 
interface gráfica de um sistema com interação ao banco de dados. Esse projeto será apresentado por 
meio das seguintes disciplinas: programação orientada a objetos II, desenvolvimento de software 
para internet e tópicos especiais de programação orientada a objetos. 
 
 
Palavras chaves: C#, ASP.NET, Java, Android e Banco de Dados. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
ABSTACT 
The Multidisciplinary Project V III aim s to develop a m echanism project to access a 
database snippet o f a system in C# language, where a prototype will b e created using the 
AS P.NET fra mework that allows the user to interact with th e database snippet Dice. A 
prototype will also be p resented in the mob ile version, using the Java language.This part of 
the da tabase that will be crea ted will be responsible for maintaining the registration of people 
in the system. The graphical user interfa ces in A SP.NET and Android will allow the user to 
perform CRUD op erations on this database.Given that through the teaching of disciplines resulting 
from th is bimester, it was possible to add practical knowledge to th e development of the project, so 
that it will be possible to p resent all the logical and graphical interface of a system with 
interaction with the d atabase. This project will be presented through the following disciplines: 
object-oriented programming II, software development for the internet and special topics of object-
oriented programming. 
 
 
Keywords: C#, ASP.NET, Java, Android and Database. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Sumário 
1. INTRODUÇÃO .................................................................................................. 6 
2. CODIFICAÇÃO EM C#...................................................................................... 7 
2.1. Linguagem C# ............................................................................................... 8 
2.2. ASP.Net ......................................................................................................... 9 
2.3. Android ........................................................................................................ 10 
2.4. Diagrama Entidade – Relacionamento ........................................................ 11 
2.5. Diagrama de Classes .................................................................................. 13 
2.6. Bando de Dados .......................................................................................... 15 
2.7. Crud ............................................................................................................. 16 
2.8. ASP.NET NA PRÁTICA ............................................................................... 17 
3. Codificação ...................................................................................................... 18 
3.1. Classe Pessoa ............................................................................................. 18 
3.2. Classe Tipo Telefone ................................................................................... 19 
3.3. Classe Telefone ........................................................................................... 20 
3.4. Classe Endereço ......................................................................................... 21 
3.5. Classe PessoaDAO ..................................................................................... 22 
4. Layout .............................................................................................................. 24 
4.1. Layout ASP.net ............................................................................................ 24 
5. Layout Android ................................................................................................ 26 
LAYOUT ACTIVITY ................................................................................................. 26 
CONCLUSÃO .......................................................................................................... 28 
Referências .............................................................................................................. 29 
 
 
 
 
 
 
 
 
 
 
1. INTRODUÇÃO 
O presente projeto tem como objetivo desenvolver e apresentar um mecanismo de acesso 
a um trecho de banco d e dados de u m sistema, que na qual sua principal função é o 
cadastramento de pessoas. 
Dentro do contexto de inserção da so ciedade no mundo digital, temos 
umacrescente demanda por softwares e aplicativos que auxiliam e facilitam a realizaçãode 
determinadas tarefas. Nossa empre sa de desenvolvimento de software recebeu atarefa de 
desenvolver alguns aspectos de um sistema que já está emdesenvolvimento.Esse 
projeto será construído tendo como base o s conteúdos das disciplinas deProgramação 
Orientada a Objetos II, Desenvolvimento de Software para Internet eTópicos Especiais de 
Programação Orientada a Objetos.Será apresentado a codificação em C# do mecanismo 
de a cesso a um trecho debanco de dados, assim como o s protótipos de interface 
gráfica com o usuário emASP.NET e Android. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2. CODIFICAÇÃO EM C# 
 MECANISMO DE ACESSO A UM TRECHO DE BANCO DE DADOS E INTERFACE 
GRÁFICA COM USUÁRIOASP.NET E ANDROID. 
 
De acordo com o Manual do PIM VIII, nossa empresa de desenvolvimento 
desoftware recebeu a tarefa de desenvolver alguns aspectos de um si stema que 
jáestá em desenvolvimento. A equipe desenvolverá os seguintes aspectos: 
 
O mecanismo de acesso ao banco de dados em l inguagem #C,responsável 
por o ferecer acesso a um trecho do ban co de dados por partedo re sto do sistema. Assim, 
sempre que um trecho do sistema precisaracessar esse trecho do banco de dados, 
deverá fazê-lo por meio dessemecanismo. 
Um protótipo deinterface gráfica com o usuário em ASP.Net que permitaque o 
usuário interaja com os dados mod elados por esse trecho d o bancodedados. 
Um protótipo de i nterface gráfica com o usuário Android que permite que ousuário 
interaja com os dados modelados por esse trecho de dados. 
Utilizar um modelo do trecho do banco de dados representado pelo d eDER –
Diagrama de Entidade de Relacionamento pré-estabelecido. 
Desenvolver um diagrama de classes que apresente quatro entidades:Pessoa, 
Endereço, Telefone e TipoTelefone que mapeia as principaistabelas de banco de 
dados, e xceto a tabela associativaPESSOA_TELEFONE, a qual é u ma tabela 
associativa e não é relevantepara o sistema. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2.1. Linguagem C# 
C# (pronuncia-se "C Sharp") é uma linguagem de programação moderna e orientada a 
objetos desenvolvida pela Microsoft. Ela é amplamente utilizada para desenvolvimento de aplicativos 
Windows, jogos, aplicativos móveis, serviços web e muito mais. 
Sintaxe básica: A sintaxe do C# é semelhante a outras linguagens de programação como C, 
C++ e Java. Um programa C# geralmente começa com um método chamado "Main" que é o ponto de 
entrada para o programa. 
Tipos de dados: C# possui tipos de dados primitivos, como inteiros, caracteres, números de 
ponto flutuante, booleanos, além de tipos de dados personalizados definidos pelo usuário. 
Estruturas de controle: Você pode usar estruturas de controle, como condicionais (if-else, 
switch) e loops (for, while, do-while) para controlar o fluxo do programa. 
Classes e objetos: C# é uma linguagem orientada a objetos, o que significa que você pode 
definir suas próprias classes para modelar objetos do mundo real. As classes podem conter 
propriedades, métodos, eventos e construtores. 
Herança e polimorfismo: C# suporta herança, onde uma classe pode herdar características 
de outra classe, e polimorfismo, onde um objeto pode ser tratado como um objeto de qualquer uma 
de suas classes base. 
Interfaces: As interfaces em C# permitem definir contratos que as classes devem seguir. 
Uma classe pode implementar várias interfaces, fornecendo assim a capacidade de suportar vários 
comportamentos. 
Tratamento de exceções: C# possui recursos de tratamento de exceções para lidar com 
erros e exceções que podem ocorrer durante a execução do programa. 
Acesso a bancos de dados: Através da biblioteca ADO.NET, C# oferece recursos para 
acesso a bancos de dados, permitindo que você se conecte, consulte e manipule dados em uma 
variedade de bancos de dados. 
Desenvolvimento web: Com o ASP.NET, é possível criar aplicativos web usando C# para o 
backend, além de utilizar frameworks como o ASP.NET MVC e ASP.NET Core para desenvolver 
aplicativos web robustos. 
 
 
 
 
 
 
 
 
 
 
 
 
2.2. ASP.Net 
ASP.NET é um framework da Microsoft para o desenvolvimento de aplicativos web. Ele 
permite criar sites e serviços web poderosos, escaláveis e seguros, usando a linguagem C# ou 
VB.NET. 
Arquitetura: O ASP.NET segue uma arquitetura baseada em servidor, onde o código é 
executado no servidor web antes de ser enviado para o navegador. Isso permite que você crie 
páginas dinâmicas e interativas. 
Modelos de programação: O ASP.NET oferece dois principais modelos de programação: 
Web Forms e MVC (Model-View-Controller). 
Web Forms: É um modelo de programação baseado em controles, onde você cria páginas 
usando elementos como botões, caixas de texto e grids, e manipula eventos desses controles para 
implementar a lógica do aplicativo. 
MVC: É um modelo de programação baseado no padrão MVC, que separa a lógica de 
apresentação, o processamento e os dados do aplicativo em três componentes principais: Modelo 
(Model), Visualização (View) e Controlador (Controller). 
Controles e componentes: O ASP.NET fornece uma ampla variedade de controles e 
componentes para facilitar o desenvolvimento web, incluindo controles de interface do usuário, como 
botões, listas suspensas e grids, além de controles de acesso a dados, validação, autenticação e 
muito mais. 
Acesso a dados: O ASP.NET oferece suporte para acesso a bancos de dados por meio da 
biblioteca ADO.NET. Você pode conectar-se a bancos de dados, recuperar dados e atualizá-los 
usando consultas SQL ou ORM (Object-Relational Mapping). 
Segurança: O ASP.NET possui recursos integrados de segurança para proteger seus 
aplicativos web. Ele oferece recursos de autenticação e autorização, além de proteção contra ataques 
comuns, como ataques de injeção de SQL e cross-site scripting (XSS). 
Integração com outros serviços: O ASP.NET permite integrar-se a outros serviços e 
tecnologias, como serviços web, serviços de autenticação externos (como OAuth e OpenID), serviços 
de armazenamento em nuvem e muito mais. 
Extensibilidade: O ASP.NET é altamente extensível, permitindo que você crie e incorpore 
seus próprios módulos, bibliotecas e componentes personalizados para atender às necessidades 
específicas do seu aplicativo. 
Além disso, a Microsoft lançou o ASP.NET Core, uma versão multiplataforma, de código 
aberto e mais recente do ASP.NET. Ele traz melhorias de desempenho, modularidade e suporte para 
desenvolvimento em diferentes sistemas operacionais. 
 
 
 
 
 
 
2.3. Android 
Android é um sistema operacional desenvolvido pela Google, projetado principalmente para 
dispositivos móveis, como smartphones e tablets. Ele é baseado no kernel do Linux e é uma das 
plataformas mais populares para desenvolvimento de aplicativos móveis. 
Linguagem de programação: A linguagem de programação principal para o desenvolvimento 
de aplicativos Android é o Java. No entanto, desde o lançamento do Android Studio 3.0, também é 
possível usar a linguagem Kotlin, que se tornou uma opção preferida para muitos desenvolvedores 
devido à sua sintaxe mais concisa e recursos avançados. 
Android Studio: O Android Studio é o ambiente de desenvolvimento integrado (IDE) oficial 
para desenvolvimento Android. É uma poderosa ferramenta que fornece recursos avançados, como 
editor de código, depuração, emulador, gerenciador de pacotes e muitos outros recursos para facilitar 
o desenvolvimento de aplicativos Android. 
Componentes de aplicativos: Os aplicativos Android são construídos em torno de 
componentes principais, como atividades (Activities), serviços (Services), receptores de broadcast 
(Broadcast Receivers) e provedores de conteúdo (Content Providers). Esses componentes interagem 
entre si para criar a experiência de um aplicativo. 
Interface do usuário: A interface do usuário de um aplicativo Android é construída usando o 
framework de interface do usuário do Android, que fornece uma ampla variedade de elementos de 
interface, como layouts, botões, listas, caixas de diálogo e muito mais. Você pode criar interfaces de 
usuário usando XML ou programaticamente por meio do código Java ou Kotlin. 
Ciclo de vida do aplicativo: Os aplicativos Android possuem um ciclo de vida que consiste 
em estados diferentes, como criação, pausa, retomada e destruição. É importante entender o ciclo de 
vida do aplicativo para gerenciar corretamente seus recursos e garantir uma experiência suave para o 
usuário. 
Acesso a recursos e permissões: Os aplicativos Android podem acessar uma variedade de 
recursos do dispositivo, como câmera, armazenamento, localização e contatos. No entanto, é 
necessário solicitar permissões apropriadas do usuário para acessar esses recursos sensíveis. 
Distribuição de aplicativos: Uma vez que seu aplicativo esteja pronto, você pode distribuí-lo 
para os usuários por meio da Google Play Store, que é a loja oficial de aplicativos Android. Você 
precisará criar uma conta de desenvolvedor, preparar uma descrição do aplicativo, fornecer capturas 
de tela e seguir as diretrizes de distribuição da Google.2.4. Diagrama Entidade – Relacionamento 
O Diagrama Entidade-Relacionamento (DER ou ERD, do inglês Entity-Relationship 
Diagram) é uma ferramenta de modelagem de dados utilizada para visualizar a estrutura lógica de um 
sistema de banco de dados. Ele representa as entidades, os relacionamentos entre as entidades e os 
atributos associados a elas. 
Entidades: As entidades representam objetos do mundo real, como pessoas, lugares, 
objetos ou conceitos. Elas são geralmente representadas por retângulos no diagrama. Cada entidade 
possui um nome que a identifica exclusivamente. 
Atributos: Os atributos são características das entidades, que descrevem e fornecem 
informações sobre elas. Por exemplo, em uma entidade "Pessoa", os atributos podem ser nome, 
idade, endereço, etc. Os atributos são representados por elipses ou ovais conectados às entidades. 
Relacionamentos: Os relacionamentos mostram como as entidades estão conectadas entre 
si. Eles representam associações lógicas e são representados por linhas que conectam as entidades 
relacionadas. Um relacionamento pode ser de vários tipos, como "um para um", "um para muitos" ou 
"muitos para muitos". 
Cardinalidade: A cardinalidade em um Diagrama Entidade-Relacionamento indica a 
natureza da relação entre as entidades em termos de quantidade. Ela especifica quantos objetos de 
uma entidade podem estar associados a quantos objetos da outra entidade. Exemplos comuns de 
cardinalidade são "1" (um), "N" (muitos) e "0 ou 1" (zero ou um). 
Chaves Primárias e Estrangeiras: Uma chave primária é um atributo (ou conjunto de 
atributos) que identifica exclusivamente cada instância de uma entidade. Ela é usada para garantir a 
integridade dos dados. Uma chave estrangeira é um atributo que estabelece um relacionamento entre 
duas entidades, referenciando a chave primária de outra entidade. 
Notação: Existem várias notações utilizadas para representar os elementos em um 
Diagrama Entidade-Relacionamento, como a notação de Peter Chen e a notação de Martin. Cada 
notação tem suas próprias convenções e símbolos específicos. 
 
Através do Diagrama Entidade-Relacionamento, é possível visualizar a estrutura dos dados, 
identificar as relações entre as entidades e entender como elas se conectam. Essa representação 
gráfica ajuda os desenvolvedores e analistas a projetar e modelar sistemas de banco de dados de 
forma eficiente. 
 
 
 
 
 
 
 
 
 
Figura 1 - Diagrama Entidade-Relacionamento do trecho do banco de dados. 
 
 
Figura 1: Diagrama Entidade-Relacionamento de trecho do banco de dados 
sobresponsabilidade da equipe.Fonte: Manual do PIM VIII. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2.5. Diagrama de Classes 
O Diagrama de Classes é uma ferramenta de modelagem orientada a objetos que 
representa a estrutura e as relações entre as classes de um sistema. Ele é amplamente utilizado na 
engenharia de software para projetar e documentar sistemas orientados a objetos. 
Classes: As classes são os principais elementos em um Diagrama de Classes. Elas 
representam os objetos do mundo real ou conceitos abstratos no sistema. Cada classe possui um 
nome que a identifica exclusivamente e contém atributos e métodos. 
Atributos: Os atributos são as características ou propriedades de uma classe. Eles 
representam os dados que uma classe pode armazenar. Exemplos de atributos são nome, idade, 
endereço, etc. Os atributos são geralmente listados dentro de compartimentos na parte superior da 
classe e incluem o nome do atributo e o tipo de dado. 
Métodos: Os métodos representam o comportamento ou as ações que uma classe pode 
realizar. Eles definem as operações que podem ser executadas em uma classe e podem receber 
parâmetros e retornar valores. Os métodos são listados dentro de compartimentos na parte inferior da 
classe e incluem o nome do método, os parâmetros e o tipo de retorno. 
Relacionamentos: Os relacionamentos entre classes mostram como elas estão conectadas 
e interagem entre si. Os principais tipos de relacionamentos são: 
Associação: Representa uma conexão entre duas classes. Por exemplo, uma classe 
"Estudante" pode estar associada a uma classe "Turma". 
Herança: Representa uma relação de especialização entre classes. Uma classe herda 
atributos e métodos de uma classe pai ou superclasse. Por exemplo, uma classe "Cachorro" pode 
herdar da classe "Animal". 
Agregação: Representa uma relação todo-parte entre classes, onde uma classe contém 
uma ou mais instâncias de outra classe. Por exemplo, uma classe "Universidade" pode ter uma 
agregação com a classe "Departamento". 
Composição: É uma forma mais forte de agregação, onde a existência das partes está 
intimamente ligada à existência do todo. Por exemplo, uma classe "Carro" pode ter uma composição 
com a classe "Motor". 
Dependência: Indica que uma classe depende de outra classe em algum ponto, mas não há 
uma relação estrutural ou de propriedade. Por exemplo, uma classe "Cliente" pode depender de uma 
classe "Banco". 
Multiplicidade: A multiplicidade em um Diagrama de Classes indica quantas instâncias de 
uma classe estão associadas a outras classes em um relacionamento. Por exemplo, uma classe 
"Turma" pode ter uma multiplicidade "1..n" para indicar que uma turma pode ter vários estudantes. 
É umarepresentação da estrutura e relações das classes que servem de 
modelo paraobjetos, serve para auxiliar os profissionais de produção de software 
noentendimento acerca do qu e deve ser feito, e como deve ser feito. A 
classePessoaDAO é responsável por implementar o mecanismo de acesso ao trecho 
dobanco de dados, ela oferece quatro métodos de escopo de cl asse que permite 
queoutras partes do sistema executem operação sobre o banco de dados. Os 
dadosdevem fluir para dentro e p ara fora da classe somente por meio de instâncias 
declasses de e ntidade (Pessoa, Endereço, Telefone e TipoTelefone) ou por meio 
deparâmetros de tipo primitivo, como CPF do tipo long. 
 
 
Figura 2 - Diagrama de Classes do mecanismo de acesso ao trecho do 
banco de dados 
 
Figura 2: Diagrama de Classes do mecanismo de acesso ao trecho do banco 
dedadosFonte: Manual do PIM VIII 
 
 
 
 
 
 
 
 
 
 
 
2.6. Bando de Dados 
Um banco de dados é uma coleção organizada de dados estruturados, armazenados 
eletronicamente em um sistema de computador. Ele é projetado para armazenar, gerenciar e 
recuperar informações de maneira eficiente. 
Sistema de Gerenciamento de Banco de Dados (SGBD): É um software responsável por 
gerenciar um banco de dados. Ele fornece uma interface para interagir com o banco de dados, 
gerencia a criação, modificação e exclusão de dados, garante a integridade dos dados e oferece 
mecanismos de recuperação em caso de falhas. 
Modelo de Dados: É uma representação lógica e abstrata dos dados em um banco de 
dados. Os modelos de dados mais comuns são o modelo relacional, o modelo de documentos, o 
modelo hierárquico e o modelo em rede. O modelo relacional é amplamente utilizado e baseado em 
tabelas que contêm linhas (registros) e colunas (atributos). 
Tabelas: No modelo relacional, os dados são armazenados em tabelas, que são 
estruturadas em linhas e colunas. Cada linha representa uma instância de dados e cada coluna 
representa um atributo específico. As tabelas são usadas para organizar e armazenar os dados de 
forma estruturada. 
Chaves Primárias: Uma chave primária é um atributo (ou conjunto de atributos) que 
identifica exclusivamente cada registro em uma tabela. Ela garante a unicidade dos dados e é usada 
para vincular as tabelas por meio de relacionamentos. 
Relacionamentos: Os relacionamentos são conexões estabelecidas entretabelas por meio 
de chaves primárias e estrangeiras. Eles definem como as tabelas estão relacionadas entre si e 
permitem a recuperação de dados relacionados de várias tabelas. 
Consultas: As consultas são usadas para recuperar e manipular dados em um banco de 
dados. Elas permitem realizar operações como seleção, inserção, atualização e exclusão de dados. 
As consultas são escritas em linguagens específicas, como SQL (Structured Query Language), que é 
amplamente usada em bancos de dados relacionais. 
 
Índices: Os índices são estruturas de dados usadas para melhorar o desempenho das 
consultas em um banco de dados. Eles ajudam a localizar rapidamente os dados com base em 
determinados critérios de pesquisa, reduzindo a necessidade de percorrer todas as linhas de uma 
tabela. 
Normalização: A normalização é um processo de projeto de banco de dados que visa 
eliminar a redundância e garantir a integridade dos dados. Ela envolve a divisão de tabelas em 
estruturas menores e mais coesas para evitar a duplicação de dados. 
Transações: Uma transação é uma unidade lógica de trabalho em um banco de dados. Ela 
representa uma sequência de operações que deve ser executada como uma unidade indivisível. As 
transações garantem a consistência dos dados e oferecem mecanismos de recuperação em caso de 
falhas. 
 
 
2.7. Crud 
CRUD é um acrônimo que representa as quatro operações básicas realizadas em um banco 
de dados ou sistema de armazenamento: Create (Criação), Read (Leitura), Update (Atualização) e 
Delete (Exclusão). Essas operações são usadas para manipular e gerenciar os dados armazenados 
em um banco de dados. 
Create (Criação): A operação de criação envolve a inserção de novos dados em um banco 
de dados. Isso geralmente é feito por meio de uma instrução ou comando específico, como INSERT 
em SQL. Os dados são fornecidos e armazenados no banco de dados como novos registros. 
Read (Leitura): A operação de leitura envolve a recuperação de dados existentes de um 
banco de dados. Isso pode ser feito por meio de uma consulta, usando uma instrução SELECT em 
SQL. A consulta especifica os critérios para recuperar os dados desejados e retorna os registros 
correspondentes. 
Update (Atualização): A operação de atualização envolve a modificação de dados existentes 
em um banco de dados. Isso pode ser feito por meio de uma instrução UPDATE em SQL. A 
atualização pode ser realizada em um ou mais registros, alterando os valores dos atributos 
específicos. 
Delete (Exclusão): A operação de exclusão envolve a remoção de dados existentes de um 
banco de dados. Isso pode ser feito por meio de uma instrução DELETE em SQL. A exclusão pode 
ser aplicada a um ou mais registros, removendo-os permanentemente do banco de dados. 
 
Essas operações CRUD são fundamentais para a manipulação e gerenciamento de dados 
em sistemas e aplicativos. Elas fornecem uma interface para interagir com o banco de dados e 
permitem que os usuários realizem tarefas essenciais, como adicionar novos dados, ler informações, 
atualizar registros existentes e remover dados indesejados. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2.8. ASP.NET NA PRÁTICA 
O projeto pretende-se desenvolver uma aplicação com a linguagem C# 
eVisualStudio.NET, sendo um ambiente mais utilizado pelos desenvolvedores para construirsuas 
aplicações pois já possui ferramentas e características que irá nos ajudar nanossa 
programação, como os componentes visuais para elaboração de formuláriosde páginas de 
web. 
 
Uma linguagem orientada a objetos, qualquer aplicação webdesenvolvida em 
ASP.NET pode ser reutilizada, uma parte ou todo o código de umoutro projeto escrito 
na plataforma .NET, mesmo que o código esteja escrito emoutra linguagem, ou seja, 
u ma página em ASP.NET e scrita em VB.NET podechamar os co mponentes chamar 
os componentes escritos em C#. Ao contrário datecnologia ASP as aplicações 
desenvolvidas no ASP.NET são co mpiladas a ntes deexecução, gerando um maior 
desempenho. Para a execução das aplicações web emASP.NET é necessário Framework.NET e 
o servidor de a plicações IIS. utilizada naplataforma Windows. Já existe um projeto em 
desenvolvimento de um modulo queserá capaz de permitir que um servidor Apache 
HTTP trabalhe em conjunto com aFramework.NET para rodar aplicações ASP.NET 
multiplataforma. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3. CODIFICAÇÃO 
3.1. Classe Pessoa 
 
Fonte: Autor 
 
using System; 
using System.Collections.Generic; 
usingSystem.Linq; 
using System.Text; 
using System.Threading.Tasks; 
 
namespace PESSOA_PIM.Models 
{ 
public class Pessoa 
 { 
public int Id { get; set; } 
public string Nome { get; set; } 
public long CPF { get; set; } 
public DateTime CreatedDate { get; set; } = DateTime.Now; 
public endereco.Endereco Endereco { get; set; } = Endereco.Logradouro; public 
telefone.Telefone Telefone { get; set; } 
} 
} 
 
 
 
 
 
3.2. Classe Tipo Telefone 
 
Fonte: Autor 
 
using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
 
namespace tipo_telefone 
{ 
public class Tipo_Telefone 
 { 
public int Id { get; set; } 
public string TIPO { get; set; } 
 } 
} 
 
 
 
 
 
 
 
 
 
 
 
 
 
3.3. Classe Telefone 
 
Fonte: Autor 
 
using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
 
namespace telefone 
{ 
 public class Telefone 
 { 
public int Id { get; set; } 
 public int Numero { get; set; } 
 public int DDD { get; set; } 
 public tipo_telefone.Tipo_Telefone Tipo_Telefone { get; set; } 
 } 
} 
 
 
 
 
 
 
 
 
 
 
3.4. Classe Endereço 
 
Fonte: Autor 
 
using System; 
using System.Collections.Generic; 
using System.Linq;using System.Text; 
Using System.Threading.Tasks; 
 
namespace endereco 
{ 
 public class Endereco 
 { 
 public int Id { get; set; } 
 public string Logradouro { get; set; } 
 public int CEP { get; set; } 
 public int Numero { get; set; } 
 public string Bairro { get; set; } 
 public string Cidade { get; set; } 
 public string Estado { get ; set; } 
 } 
} 
 
 
 
 
 
 
 
 
3.5. Classe PessoaDAO 
 
using System; 
using System.Collections.Generic; 
using System.Linq;using System.Text; 
using System.Threading.Tasks; 
 
namespace PESSOADAO__PIM 
 { 
 public class pessoa_dao 
 { 
 public Boolean Incluir { PESSOA_PIM.pessoa Nome } 
 public Boolean Consulte { PESSOA_PIM.pessoa CPF } 
 public Boolean Excluir { PESSOA_PIM.pessoa select.case } 
 public Boolean Alterar { Pessoa_PIM.pessoa select.case } 
 { 
 StringBuilder sb = new StringBuilder(); 
 sb.Append .append ("Nome") 
 
 .append("CPF") 
 .append("Endereço" ) 
 .append("Telefone" ) 
 
 try 
 { 
using(SqlConnection conn = new 
SqlCOnnection(FUNCOES.conexaoBD.RetornaCONEXAOBD()) 
 { SqlCommand cmd = new SqlCommand(sb.ToString(), conn); 
 
 cmd.Parameters.AddwithValue("@ID", id.ID).Value.ToString(); 
 cmd.Parameters.AddwithValue("@Nome", id.nome); 
 cmd.Parameters.AddwithValue("@CPF", id.CPF); 
 cmd.Parameters.AddwithValue("@Endereço", id.Endereco);cmd.Parameters.AddwithValue("@Telefone" , id.Telefone); 
 
 conn.Open(); 
 return Convert.ToInt32(cmd.ExecuteNonQuery()); 
 } 
} 
 
 } 
} 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4. LAYOUT 
4.1. Layout ASP.net 
ASPX LAYOUT 
 
Fonte: Autor 
 
Codificação 
<Window x:Class="Layout.MainWindow" 
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
xmlns:mc="http://schemas.openxmlformats.org/markup- compatibility/2006" xmlns:local="clr-
namespace:WpfApp1" mc:Ignorable="d" Title="MainWindow" Height="450" Width ="800"> 
<Grid> 
<Button x:Name="Cadastro" Content="Cadastro" HorizontalAlignment= "Center" 
Height="53" Margin="0,23,0,0" VerticalAlignment ="Top" Width="192" Click="Cadastro_Click"/> 
<TextBox x:Name="Pessoa" HorizontalAlignment= "Left" Margin="30,23,0,0" 
TextWrapping="Wrap" Text="Pessoa" VerticalAlignment ="Top" Width="236" 
TextChanged="Pessoa_TextChanged"/> 
<TextBox x:Name="CPF" HorizontalAlignment="Left" Margin ="30,58,0,0" 
TextWrapping="Wrap" Text="CPF" VerticalAlignment= "Top" Width="236" 
TextChanged="Pessoa_Copy_TextChanged"/> 
<TextBox x:Name="Logradouro" HorizontalAlignment ="Left" Margin="30,129,0,0" 
TextWrapping="Wrap" Text="Logradouro" VerticalAlignment="Top" Width ="236" 
TextChanged="Pessoa_Copy1_TextChanged"/> 
<TextBox x:Name="tipo__tel" HorizontalAlignment= "Left" Margin="30,335,0,0" 
TextWrapping="Wrap" Text="Tipo Telefone" VerticalAlignment="Top" Width ="236"/> 
<RadioButton x:Name="Endereco" Content= "Adicionar Outro Endereço" 
HorizontalAlignment="Left" Margin="30,93,0,0" VerticalAlignment ="Top" 
Checked="RadioButton_Checked"/> 
<RadioButton x:Name="new__tel_num" Content= "Adicionar outro Telefone" 
HorizontalAlignment="Left" Margin="30,303,0,0" VerticalAlignment="Top"/> 
<TextBox x:Name="ddd" HorizontalAlignment= "Left" Margin="30,360,0,0" 
TextWrapping="Wrap" Text="DDD" VerticalAlignment ="Top" Width="236" 
TextChanged="Pessoa_Copy3_TextChanged"/> 
<TextBox x:Name="numero__tel" HorizontalAlignment ="Left" Margin="30,385,0,0" 
TextWrapping="Wrap" Text="Numero" VerticalAlignment ="Top" Width="236"/> 
<TextBox x:Name="numero" HorizontalAlignment ="Left" Margin="30,156,0,0" 
TextWrapping="Wrap" Text="Numero" VerticalAlignment ="Top" Width="236" 
TextChanged="Pessoa_Copy1_TextChanged"/> 
 <TextBox x:Name="CEP" HorizontalAlignment="Left" Margin="30,182,0,0" 
TextWrapping="Wrap" Text="CEP" VerticalAlignment ="Top" Width="236" 
TextChanged="Pessoa_Copy1_TextChanged"/> 
<TextBox x:Name="bairro" HorizontalAlignment= "Left" Margin="30,0,0,0" 
TextWrapping="Wrap" Text="Bairro" VerticalAlignment ="Center" Width="236" 
TextChanged="Pessoa_Copy1_TextChanged"/> 
 <Button x:Name="consultar" Content ="Consultar" HorizontalAlignment ="Center" 
Height="53" Margin="0,113,0,0" VerticalAlignment= "Top" Width="192" Click="Cadastro_Click"/> 
<Button x:Name="alterar" Content="Alterar" HorizontalAlignment ="Center" Height="53" 
Margin="0,199,0,0" VerticalAlignment= "Top" Width="192" Click="Cadastro_Click"/> 
<Button x:Name="excluir" Content="Excluir" HorizontalAlignment ="Center" Height="53" 
Margin="0,294,0,0" VerticalAlignment= "Top" Width="192" Click="Cadastro_Click"/> 
 <ListBox x:Name="lista__db" HorizontalAlignment ="Left" Height=" 368" Margin="530,32,0,0" 
VerticalAlignment="Top" Width ="244" d:ItemsSource="{d:SampleData ItemCount=5}" 
SelectionChanged="ListBox_SelectionChanged"/> 
<TextBox x:Name="Cidade" HorizontalAlignment= "Left" Margin="30,230,0,0" 
TextWrapping="Wrap" Text="Cidade" VerticalAlignment ="Top" Width="236" 
TextChanged="Pessoa_Copy1_TextChanged"/> 
<TextBox x:Name="estado" HorizontalAlignment ="Left" Margin="30,255,0,0" 
TextWrapping="Wrap" Text="Estado" VerticalAlignment ="Top" Width="236" 
TextChanged="Pessoa_Copy1_TextChanged"/> 
</Grid> 
</Window> 
 
 
 
 
 
5. LAYOUT ANDROID 
LAYOUT ACTIVITY 
 
Fonte: Autor 
 
 
Fonte: Autor 
 
 
 
 
 
 
 
Fonte: Autor 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
CONCLUSÃO 
O presente projeto foi de senvolvido de a cordo com as instruções proposta desse 
bimestre, de mo do que foi realizado pesquisas sobre o tema solicitado, onde foi possível 
agrega r o conhecimento teórico com conhecimento prático das disciplina s: programação orientada 
a objetos II, desenvolvimento de software para internet e tópicos especiais de programação 
orientada a objetos. Neste projeto foi utilizado as ferramentas : visual Studio - versão 19 e 
Android Studio, para o desenvolvimento dos protótipos e das codificações, utilizan do as 
linguagens C# e Java. Foram apresentados em programação o rientada a objetos II, o s códigos-
fontes das classes de entidades e banco de d ados d e acordo com diagrama apresentado no 
manual do Pim e a implemen tação lógica entre as classes PessoaDao e Banco de Dados. O 
desenvolvimento de software para internet apresentou a arquitetura MVC para a estruturação do 
projeto, de modo q ue foi de sum a importância, pois facilita a troca de mensagens entre a 
interface do u suário. Com a utilização de camadas d a arquitetura foram de senvolvidos os 
protótipos de interface gráfica em ASP.NET em plataforma Web e a codificações das funciona 
lidades CRUD(Create(Criar), Read (Ler), Update (Atualizar) e D (Excluir)), também foi 
apresentado nas telas os elementos de input e botões e as implementações dos métodos p ara 
rodar as telas no navegador Google Chrome. Com tópicos espe ciais de programação orientada a 
objetos foi p ossível desenvolver o me canismo CRUD na versão mobile no Android S tudio, onde 
através da criação da tela, foi desenvolvido o protótipo. Embora que existam aspectos a serem 
incluídos, o conhecimento adquirido através da elaboração do projeto, foram extremamente 
importantes para desenvolver e apresentar de forma compreensível. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
REFERÊNCIAS 
 
PRESSMAN, Roger S.; LOWE, David Brian. Engenharia Web. LTC, 2009 
ANDERSON,R.; HANSELMAN, S. Intro to ASP.NET MVC 4 with VisualStudio (Beta). Microsoft 
Corporation, 2012. D isponível em: http://ligman.me/N1KIChacesso em 03/02/2014 
 
PRESSMAN., and Roger S.. Engenharia de Software. ArtMed, 2011.KALBACH., and 
James. Design de Navegação Web: Otimizando a Experiência doUsuário. Bookman, 2009 
 
Harold, Elliotte R. Refatorando HTML. Bookman, 2010.BROCKSCHMIDT, K. 
Programming Windows 8 Apps with HTML, CSS, andJavaScript. Microsoft Press. 
Washington, 2012. Disponível em: http://ligman.me/SwpKBzacesso em 03/02/2014 
 
Manara, MILETTO, Evandro, and BERTAGNOLLI, Silvia de Castro. 
Desenvolvimento deSoftware II: I ntrodução ao Desenvolvimento Web com HTML, 
CSS,JavaScript e PHP. Bookman, 2014. 
 
SANDERS., and Bill. Smashing HTML5: Técnicas para a Nova Geração d 
aWeb. Bookman, 2012. 
 
DEITEL, PAUL J.; DEITEL, HARVEY M. Ajax, Rich Internet Applications 
eDesenvolvimento Web para Programadores. São Paulo Pearson, 2008. 
 
LARMAN, C. Utilizando UML e P adrões - Uma Introdução Á Análise e ao 
ProjetoOrientados a Objetos e Desenvolvimento Iterativo. Bookman, 2011. 
 
GAMMA, E. Padrões de Projetos: Soluções Reutilizáveis de Software Orientado 
aObjetos. Bookman, 2011. 
 
BECK, K. Padrões d e Implementação: Um Catálogo de PadrõesIndispensável 
para oDia a Dia do Programador. Bookman, 2013 
 
KERIEVSKY, J. Refatoração p ara padrões. Bookman, 2008. FURGERI, S. Java 7 - 
EnsinoDidático. 2.ed. Erica, 2012 
 
GOODRICH, M. T. Estruturas de Dados & Algoritmos em Java. 5.ed. Bookman, 
2013.HORSTMANN, C. Padrões e projetos orientados a objetos, 2.ed. Bookman, 2007. 
 
J., DEITEL, Paul, DEITEL, Harvey M., DEITEL, Abbey, and MORGANO,Michael. 
Android para programadores: Uma Abordagem Baseada em Aplicativos.Bookman, 2013. 
 
Herbert, SCHILDT, and S KRIEN, Dale. Programação com Java: U ma 
IntroduçãoAbrangente. AMGH, 2013 
 
Sites utilizados: 
google.com 
youtube.com

Outros materiais