Baixe o app para aproveitar ainda mais
Prévia do material em texto
09/04/2020 https://sagahcm.sagah.com.br/sagahcm/sagah_ua_dinamica/impressao_ua/15639403 https://sagahcm.sagah.com.br/sagahcm/sagah_ua_dinamica/impressao_ua/15639403 1/26 IMPLEMENTAÇÃO DE UM SISTEMA WEB COM DJANGO + VS + SGBD APRESENTAÇÃO Olá! Desenvolver sistemas para a plataforma web com apoio de frameworks é uma a�vidade que todo analista de sistemas deve conhecer. Cada vez mais, o desenvolvimento de so�ware inclui frameworks, uma vez que, além de padronizarem a forma de trabalho das equipes, proporcionam ganho de produ�vidade e qualidade no desenvolvimento por meio de ro�nas testadas em grande escala pela comunidade de so�ware. Django é o framework para implementação de sistemas web da linguagem Python mais conhecido no mercado, o qual tem total integração com diversas ferramentas de desenvolvimento de sistemas, como Microso� Visual Studio. Nesta Unidade de Aprendizagem, você vai detalhar o cenário real de um sistema de informação, construir um banco de dados MySQL desse cenário, bem como implementar um projeto web Django com SGBD no Visual Studio. Bons estudos. Ao �nal desta Unidade de Aprendizagem, você deve apresentar os seguintes aprendizados: Detalhar o cenário real de necessidade de um sistema de informação. 09/04/2020 https://sagahcm.sagah.com.br/sagahcm/sagah_ua_dinamica/impressao_ua/15639403 https://sagahcm.sagah.com.br/sagahcm/sagah_ua_dinamica/impressao_ua/15639403 2/26 Construir o banco de dados para atender ao cenário real. Pra�car a configuração do Django e do SGBD a par�r do Visual Studio. DESAFIO Implementar sistemas com o auxílio de frameworks é fazer uso das melhores prá�cas do mercado de desenvolvimento de so�ware, e, com o framework Django, não é diferente. Com o auxílio dele, é possível construir sistemas robustos com agilidade e segurança. Uma das caracterís�cas do Django é que ele migra as modificações das classes do arquivo models.py diretamente no banco de dados, facilitando o trabalho do desenvolvedor. Observe o diagrama de classes a seguir: http://lrq.sagah.com.br/uasdinamicas/uploads/layouts/1085465897_157479822183fdfaf4d3c235fdf713b00f0bdf28a3196829f1.png 09/04/2020 https://sagahcm.sagah.com.br/sagahcm/sagah_ua_dinamica/impressao_ua/15639403 https://sagahcm.sagah.com.br/sagahcm/sagah_ua_dinamica/impressao_ua/15639403 3/26 Sendo assim, como analista de sistemas responsável pelo projeto, sua tarefa é: a) Implementar a classe Empregado no arquivo model.py de um projeto web Django. b) Explicar como a migração das modificações realizadas no arquivo models.py pode ser realizada no Visual Studio. INFOGRÁFICO Sistemas orientados a objetos armazenam as informações em classes. Essas classes são representações do mundo real que iden�ficam os atributos e as ações que os objetos podem executar no contexto de um sistema, como, por exemplo, os dados de um funcionário e de um produto e os eventos de abrir e encerrar uma venda. Neste Infográfico, você verá a representação gráfica do contexto do cenário real proposto – venda de produtos. 09/04/2020 https://sagahcm.sagah.com.br/sagahcm/sagah_ua_dinamica/impressao_ua/15639403 https://sagahcm.sagah.com.br/sagahcm/sagah_ua_dinamica/impressao_ua/15639403 4/26 http://lrq.sagah.com.br/uasdinamicas/uploads/layouts/1420955475_1574798221488d6f2c49846bf191282d0d1713480acb5bc60a.png 09/04/2020 https://sagahcm.sagah.com.br/sagahcm/sagah_ua_dinamica/impressao_ua/15639403 https://sagahcm.sagah.com.br/sagahcm/sagah_ua_dinamica/impressao_ua/15639403 5/26 CONTEÚDO DO LIVRO Django é um framework web voltado para desenvolvedores Python. Com Django, é possível criar aplicações escaláveis, robustas e organizadas por meio de sua arquitetura MVT (Model View Template), que separa as responsabilidades em camadas dis�ntas. Ele fornece suporte a diversas funcionalidades presentes nos melhores frameworks disponíveis no mercado, como gerenciamento de rotas, separação das regras de negócio da camada de apresentação e sincronização da aplicação com o banco de dados. Além disso, Django é perfeitamente integrado ao Visual Studio, tornando as tarefas de configuração mais simplificadas. No capítulo Implantação de um Sistema Web com Django + VS + SGBD, da obra Programação Back End I, base teórica desta Unidade de Aprendizagem, você vai ver como detalhar um cenário real, construir um banco de dados MySQL e implementar um projeto web com Django e MySQL. Boa leitura. http://lrq.sagah.com.br/uasdinamicas/uploads/layouts/1420955475_1574798221488d6f2c49846bf191282d0d1713480acb5bc60a.png 09/04/2020 https://sagahcm.sagah.com.br/sagahcm/sagah_ua_dinamica/impressao_ua/15639403 https://sagahcm.sagah.com.br/sagahcm/sagah_ua_dinamica/impressao_ua/15639403 6/26 09/04/2020 https://sagahcm.sagah.com.br/sagahcm/sagah_ua_dinamica/impressao_ua/15639403 https://sagahcm.sagah.com.br/sagahcm/sagah_ua_dinamica/impressao_ua/15639403 7/26 09/04/2020 https://sagahcm.sagah.com.br/sagahcm/sagah_ua_dinamica/impressao_ua/15639403 https://sagahcm.sagah.com.br/sagahcm/sagah_ua_dinamica/impressao_ua/15639403 8/26 09/04/2020 https://sagahcm.sagah.com.br/sagahcm/sagah_ua_dinamica/impressao_ua/15639403 https://sagahcm.sagah.com.br/sagahcm/sagah_ua_dinamica/impressao_ua/15639403 9/26 09/04/2020 https://sagahcm.sagah.com.br/sagahcm/sagah_ua_dinamica/impressao_ua/15639403 https://sagahcm.sagah.com.br/sagahcm/sagah_ua_dinamica/impressao_ua/15639403 10/26 09/04/2020 https://sagahcm.sagah.com.br/sagahcm/sagah_ua_dinamica/impressao_ua/15639403 https://sagahcm.sagah.com.br/sagahcm/sagah_ua_dinamica/impressao_ua/15639403 11/26 09/04/2020 https://sagahcm.sagah.com.br/sagahcm/sagah_ua_dinamica/impressao_ua/15639403 https://sagahcm.sagah.com.br/sagahcm/sagah_ua_dinamica/impressao_ua/15639403 12/26 09/04/2020 https://sagahcm.sagah.com.br/sagahcm/sagah_ua_dinamica/impressao_ua/15639403 https://sagahcm.sagah.com.br/sagahcm/sagah_ua_dinamica/impressao_ua/15639403 13/26 09/04/2020 https://sagahcm.sagah.com.br/sagahcm/sagah_ua_dinamica/impressao_ua/15639403 https://sagahcm.sagah.com.br/sagahcm/sagah_ua_dinamica/impressao_ua/15639403 14/26 09/04/2020 https://sagahcm.sagah.com.br/sagahcm/sagah_ua_dinamica/impressao_ua/15639403 https://sagahcm.sagah.com.br/sagahcm/sagah_ua_dinamica/impressao_ua/15639403 15/26 09/04/2020 https://sagahcm.sagah.com.br/sagahcm/sagah_ua_dinamica/impressao_ua/15639403 https://sagahcm.sagah.com.br/sagahcm/sagah_ua_dinamica/impressao_ua/15639403 16/26 09/04/2020 https://sagahcm.sagah.com.br/sagahcm/sagah_ua_dinamica/impressao_ua/15639403 https://sagahcm.sagah.com.br/sagahcm/sagah_ua_dinamica/impressao_ua/15639403 17/26 09/04/2020 https://sagahcm.sagah.com.br/sagahcm/sagah_ua_dinamica/impressao_ua/15639403 https://sagahcm.sagah.com.br/sagahcm/sagah_ua_dinamica/impressao_ua/15639403 18/26 09/04/2020 https://sagahcm.sagah.com.br/sagahcm/sagah_ua_dinamica/impressao_ua/15639403 https://sagahcm.sagah.com.br/sagahcm/sagah_ua_dinamica/impressao_ua/15639403 19/26 09/04/2020 https://sagahcm.sagah.com.br/sagahcm/sagah_ua_dinamica/impressao_ua/15639403 https://sagahcm.sagah.com.br/sagahcm/sagah_ua_dinamica/impressao_ua/15639403 20/26 09/04/2020 https://sagahcm.sagah.com.br/sagahcm/sagah_ua_dinamica/impressao_ua/15639403 https://sagahcm.sagah.com.br/sagahcm/sagah_ua_dinamica/impressao_ua/15639403 21/26 09/04/2020 https://sagahcm.sagah.com.br/sagahcm/sagah_ua_dinamica/impressao_ua/15639403 https://sagahcm.sagah.com.br/sagahcm/sagah_ua_dinamica/impressao_ua/15639403 22/26 DICA DO PROFESSOR Um modelo de projeto serve de exemplo para que analistas conheçam o funcionamento de um framework. O Visual Studio fornece um modelo completo de aplicação web em Django, que armazena os dados em um SGBD. Esse projeto se chama Polls e se refere a uma votação que armazena as opções de pesquisa e registra os votos em cada uma delas. A interface do Visual Studio facilita a u�lização da aplicação, fornecendo assistentes para executar as principais tarefas. Nesta Dica do Professor, você vai aprender como implantaruma aplicação Django com SGBD no Visual Studio. Conteúdo disponível na plataforma virtual de ensino. Con�ra! EXERCÍCIOS 1) O diagrama de classes do cenário proposto apresenta uma classe associa�va chamada ProdutoVenda entre as classes Produto e Venda. No contexto do cenário real proposto, qual é a mul�plicidade da relação entre as classes Produto e Venda? http://lrq.sagah.com.br/uasdinamicas/uploads/layouts/662483370_15747982220b54f685af37aefe49fb75072ec352a631bc818d.png 09/04/2020 https://sagahcm.sagah.com.br/sagahcm/sagah_ua_dinamica/impressao_ua/15639403 https://sagahcm.sagah.com.br/sagahcm/sagah_ua_dinamica/impressao_ua/15639403 23/26 a) 1 x 1 b) 0..1 x 0..1 c) 0..1 x N d) N x 0..1 e) N x N 2) O requisito funcional Inserir produto na venda, do cenário real proposto, define uma ação de venda de produtos realizada por um vendedor. Considerando o contexto do cenário apresentado, o que o vendedor deve fazer antes de inserir os produtos na venda? a) Localizar o comprador no sistema. b) Localizar os produtos que serão vendidos. c) Cadastrar os produtos que serão vendidos. d) Criar uma venda para que os produtos possam ser inseridos. http://lrq.sagah.com.br/uasdinamicas/uploads/layouts/662483370_15747982220b54f685af37aefe49fb75072ec352a631bc818d.png 09/04/2020 https://sagahcm.sagah.com.br/sagahcm/sagah_ua_dinamica/impressao_ua/15639403 https://sagahcm.sagah.com.br/sagahcm/sagah_ua_dinamica/impressao_ua/15639403 24/26 e) Iden�ficar o vendedor da venda. 3) Sabendo que os itens que compõem as vendas são armazenados na tabela app_produto_venda no banco de dados MySQL do cenário proposto e que essa tabela se relaciona com as tabelas app_produto e app_venda, marque a alterna�va que indica o que acontece quando ocorre uma tenta�va de excluir um produto que já esteve presente em uma venda anteriormente: a) O produto é excluído normalmente. b) Ocorre uma violação de integridade referencial porque a relação é no ac�on. c) As vendas relacionadas ao produto excluído também são excluídas. d) Os produtos relacionados às vendas são atualizados para valores nulos. e) Os produtos relacionados às vendas são atualizados para valores default. 4) O modelo de aplicação web do framework Django u�liza a arquitetura MTV, a qual define diversos componentes que organizam uma aplicação, tal como o roteamento que realiza o controle entre as chamadas e o retorno após processamento. Nesse contexto, marque a alterna�va que apresenta o nome do arquivo de roteamento e o do arquivo que processa as funções que enviam os resultados para os arquivos html, respec�vamente: a) routers.py e views.py. b) routers.py e se�ngs.py. c) urls.py e forms.py. d) urls.py e views.py. e) manage.py e forms.py. 5) O framework Django é conhecido por u�lizar a arquitetura MTV, na qual a camada Model é representada pelo arquivo models.py, que tem as estruturas das tabelas do 09/04/2020 https://sagahcm.sagah.com.br/sagahcm/sagah_ua_dinamica/impressao_ua/15639403 https://sagahcm.sagah.com.br/sagahcm/sagah_ua_dinamica/impressao_ua/15639403 25/26 banco de dados. A estrutura do banco de dados pode ser modificada a par�r desse arquivo, por meio de uma operação do Django conhecida por: a) Atualizações do Django. b) Conciliações do Django. c) Migrações do Django. d) Sincronizações do Django. e) Sintonizações do Django. NA PRÁTICA Sistemas de informação são implementados para auxiliar na execução das tarefas das pessoas. Organizações de todo �po, especialmente as que têm maior volume de empregados, u�lizam algum sistema para gerenciar as suas a�vidades. Esses sistemas, que podem ser desenvolvidos com o apoio de diversas linguagens de programação, normalmente armazenam as informações em bancos de dados para que os dados sejam recuperados posteriormente por meio de consultas ou relatórios. Neste Na Prá�ca, você vai acompanhar o caso da migração de banco de dados de um sistema web desenvolvido em Python com o framework Django. SAIBA + Para ampliar o seu conhecimento a respeito desse assunto, veja abaixo as sugestões do professor: Curso de Django - Configurando o Django com MySQL no Windows Acesse este vídeo para saber mais sobre como configurar o MySQL com Django e veja dicas de configuração do banco de dados MySQL por meio de prompt do comando. 09/04/2020 https://sagahcm.sagah.com.br/sagahcm/sagah_ua_dinamica/impressao_ua/15639403 https://sagahcm.sagah.com.br/sagahcm/sagah_ua_dinamica/impressao_ua/15639403 26/26 Conteúdo disponível na plataforma virtual de ensino. Con�ra! Usar o modelo completo de projeto web Django No site da Microso�, você vai aprender mais sobre como usar um modelo completo de projeto web Django com um passo a passo da criação de projeto com base em um modelo. Conteúdo disponível na plataforma virtual de ensino. Con�ra! Usar o modelo de projeto web Votações do Django No site da Microso�, você irá conhecer um modelo de projeto web Django, com exemplo de aplicação que realiza votações por meio do framework Django. Conteúdo disponível na plataforma virtual de ensino. Con�ra!
Compartilhar