Baixe o app para aproveitar ainda mais
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
Compartilhar