Buscar

Portifolio Individual 3º Semestre UNOPAR - Sistema de Entrega de Pizzas

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

�PAGE �
SUMÁRIO
31	INTRODUÇÃO	�
42	objetivo	�
53	DESENVOLVIMENTO	�
53.1	DIAGRAMA DE CASO DE USO DO SISTEMA DE ENTREGA DE PIZZAS	�
63.2	DIAGRAMA DE CLASSES DO SISTEMA DE ENTREGA DE PIZZAS	�
73.3	ESTRUTURA DE DADOS DO SISTEMA DE ENTREGA DE PIZZAS	�
73.3.1	Estrutura de dados utilizada	�
83.3.2	Etapas de inserção de um pedido implementado em C#	�
123.4	MODELO ENTIDADE RELACIONAMENTO DO SISTEMA DE ENTREGA DE PIZZAS	�
123.4.1	Definição do Modelo Conceitual Entidade Relacionamento	�
133.4.2	Definição do modelo Lógico Entidade Relacionamento	�
143.5	Vantagens e desvantagens da inplantação em uma plataforma baseada em microcomputadores	�
154	CONCLUSÃO	�
16REFERÊNCIAS	�
��
INTRODUÇÃO
Este trabalho aborda os assuntos do 3º semestre do curso superior de tecnologia em análise e desenvolvimento de sistemas. Seus principais assuntos derivam do conteúdo estudado, sendo eles: a aplicação dos conceitos Estrutura de dados, modelagem de banco de dados e de modelagem de uma sistema utilizando a UML juntamente com o paradigma da Analise Orientada a Objetos para organização, documentação, apresentação e implementação de um sistema elaborado a partir das informações observados no estudo de caso “Sistema de Entrega de Pizza”. Apresentando de um modo panorâmico como seria um modelo funcional de um sistema de Controle de Entrega de Pizza para a empresa “An Poparome”.
objetivo
Objetivando mostrar em um projeto pratico, Com base no cenário do estudo de caso “Sistema de Entrega de Pizza” proposto, será apresentado os níveis de elaboração de um sistema para cadastro de clientes e de pedidos para entrega realizados por telefone, levando em consideração os critérios básicos de elaboração de interfaces, somado ao que foi aprendido sobre as técnicas de modelagem com UML e sua aplicação na Analise Orientada a Objetos, de modo a proporcionar uma documentação necessária para concepção do sistema de forma eficiente e clara para apresentação aos clientes e também para o implementação do sistema.
No que diz respeito a estrutura de dados utilizada para armazenamento e organização de dados, será apresentado exemplos de implementação em C# de algumas das principais classes necessárias ao sistema com apresentação de inserção de um pedido na forma estrutural e pelo formulário gráfico.
Por ultimo, para melhor aprofundamento nos conceitos aprendidos sobre banco de dados utilizando as técnicas do MER(Modelo entidade Relacionamento) e o DER(Diagrama Entidade Relacionamento), irei identificar quais as entidades e seus relacionamentos presentes no estudo caso proposto, buscando elaborar um modelo de banco de dados que atenda as necessidades do cenário apresentado de forma clara e eficiente.
DESENVOLVIMENTO
DIAGRAMA DE CASO DE USO DO SISTEMA DE ENTREGA DE PIZZAS
 		Figura 1 – Diagrama de Caso de Uso
 
DIAGRAMA DE CLASSES DO SISTEMA DE ENTREGA DE PIZZAS
 Figura 2 – Diagrama de Classes
ESTRUTURA DE DADOS DO SISTEMA DE ENTREGA DE PIZZAS
Estrutura de dados utilizada
Uma das estruturas de dados predominante na definição dos dados a serem definidos nas classes implementadas no sistema é o conceito de listas seqüenciais com vetores, já que em vários casos, precisaremos buscar um determinado dado pelo seu índice, porém para algumas tarefas eles podem não ser eficientes. Uma outra desvantagem, é que o vetor tem um tamanho pré-determinado, o que significa que vai alocar memória de acordo com o tamanho definido no momento em que sua instancia for feita, o que em algumas situações pode gerar um desperdício de memória ou até mesmo uma quantidade insuficiente de espaço dependendo da quantidade de registros que for retornada pelo banco de dados. Outras operações, como adicionar um elemento na primeira posição de um Vetor, por exemplo, pode demandar elevado consumo de tempo, pois temos de deslocar todos os outros elementos uma posição para a frente. A performance dessa operação degrada a medida que a quantidade de elementos do nosso vetor cresce: ela consome tempo linear em relação ao número de elementos, independente de quantas posições estiverem ocupadas. Analogamente, remover um elemento da primeira posição implica em deslocar todos os outros elementos que estão na sua frente para trás. Em alguns casos, queremos uma implementação de Lista na qual a operação de adicionar ou a de remover um elemento na primeira posição seja computacionalmente eficiente, e a solução para este problema que foi utilizada no sistema, foi a implementação de uma classe já existente no C#, para isso podemos trabalhar com uma classe chamada List que representa uma lista de objetos que podem ser acessados pelo índice que oferece uma gama considerável de recursos, como não ser necessário determinar a quantidade exata de elementos, ao contrario dos arrays, que uma vez definidos, são imutáveis até que seja declarada uma nova variável, porem, a classe List quando instanciada, tem uma quantidade inicial predefinida, mas podendo ser modificada quando necessária. Ela oferece facilidade para adicionar e remover elementos de dentro da lista com a disposição de métodos eficientes, que reordenam automaticamente os elementos a cada inserção ou remoção feita na lista, oferece também, métodos de ordenação e contagem de quantidade de elementos dentro da lista.
A classe “ListaDeEntragas”, presente no diagrama de classes da figura 2 e implementada em C# na figura 4, por exemplo, existem vários atributos implementados com a classe List, dentre eles, o atributo Pedidos, onde um método implementado nessa classe ira acessar o banco de dados e buscar por elementos de acordo com os parametros informados, deixando disponíveis para que outras classes não precisem ter acesso direto ao banco de dados, facilitando também o tratamento dos dados de forma mais eficiente e consistente de acordo com a necessidade de cada classe que esteja utilizando a lista.
Etapas de inserção de um pedido implementado em C#
A classe "Atendimento", mostrada na figura 5, será a primeira classe a ser instanciada ao iniciar o sistema, a cada instancia dessa classe, sua estrutura de dados ira ser responsável por toda realização do pedido, assim com o tratamento dos dados, verificações e consultas.
Dentro do construtor da classe "Atendimento", a cada nova instancia, serão instanciadas também duas novas classes, uma de "Pedido" e outra de "Cliente". O primeiro método a ser chamado será o "verificarCliente()", onde este recebera através de um parâmetro o numero do telefone do cliente informado na interface gráfica e que ira verificar no banco de dados se o cliente já existe ou não. Caso o cliente exista, será retornado seus dados para interface gráfica, para que seja possível dar prosseguimento ao pedido ou, se necessário, fazer alguma modificação nos dados do cliente, caso não exista, será retornado um valor nulo que habilitara a opção para cadastro do novo cliente.
Apos a verificação do cliente, o sistema ira tratar da classe Pedido, mostrada na figura 3 que recebera em um atributo, os dados do cliente verificado, e que será responsável pelos inserção do pedido propriamente dito, contendo atributos para identificação, uma lista para inclusão das pizzas que o cliente ira querer, assim como a quantidade de pizzas, calculo do valor total do pedido, valor pago, troco e a definição do status do pedido.
Uma vez definido o cliente e informado os dados do seu pedido, a classe "Atendimento" ira receber a confirmação através da interface gráfica se fecha o pedido e grava no banco de dados ou se ira cancelar o pedido, que neste caso, não será gravado no banco de dados.
No caso do pedido ter sido concluso, ira ser salvo no banco com o status de "PENDENTE", e desse ponto em diante, a classe "ListaDeEntregas" ira buscar os pedidos no banco de dados disponibilizá-los, em ordem de horário, para outraspartes do sistema, a exemplo da opção de "Gerenciar", onde será possível definir qual entregador ira ser responsável pela entrega do pedido, podendo ainda, verificar os pedidos por outros estados passados por parâmetros.
		Figura 3 – Classe Pedido
		Figura 4 – Classe ListaDeEntregas
		Figura 5 – Classe Atendimento
 
MODELO ENTIDADE RELACIONAMENTO DO SISTEMA DE ENTREGA DE PIZZAS
Definição do Modelo Conceitual Entidade Relacionamento
 Figura 11 – Diagrama Conceitual
Definição do modelo Lógico Entidade Relacionamento
 Figura 11 – Diagrama Lógico
Vantagens e desvantagens da inplantação em uma plataforma baseada em microcomputadores
Uma plataforma baseada em microcomputadores, no contexto do sistema apresentado, refere-se principalmente a um sistema desenvolvido restritamente para desktop, que nos dias de hoje, com todo o crescimento da internet, com todas as vantagens e praticidade que a mesma oferece e com o crescente avanço da tecnologia que proporciona o acesso a ela por meio de diversos tipos de dispositivos moveis, torna-se cada vez mais desvantajoso restringir sistemas de venda a desktop, abrindo mão de uma fatia considerável de clientes que buscam praticidade e rapidez, e baixo custo. Entre as principais vantagens de desvantagens podemos citar as seguintes:
Vantagens
Uma rica variedade de controles para interface com o usuário
Um total controle sobre o posicionamento dos controles na aplicação
O desempenho para uma interface gráfica é mais rápido em uma aplicação desktop que usa o processamento local.
Uma interface com integração para com vários hardwares é muito mais fácil.
Desvantagens
Uma interface gráfica muito carregada deixa a aplicação mais pesada
A integração com usuários remotos é mais sofrida
A distribuição da aplicação é critica. Você tem que instalar sua aplicação em diferentes tipos de máquinas, com diferentes tipos de sistemas, drives e periféricos.
A manutenção e atualização de sua aplicação requerem um esforço extra.
Impossibilidade de acesso por dispositivos moveis.
CONCLUSÃO
A aplicação dos conceitos da Analise Orientada a Objetos mostra que uma boa modelagem, ira facilitar o desenvolvimento de um sistema, com a diagramação UML, principalmente quando vai da fase de design para implementação, oferece uma visão muito clara do que se é necessário implementar.
Seguindo conceitos de um modelo de desenvolvimento como o RUP, por exemplo, que possui varias estágios e com vários ciclos para cada estágio, apoiado pela UML, um design com determinadas classes e métodos, não significa que essas terão que ser exatamente as mesmas classes e métodos finais do seu projeto, a vantagem é não restringir a seguir a risca a diagramação UML feita na primeira interação até o termino do projeto, as classes, métodos e atributos que serão necessários, terão a flexibilidade de que poder, se necessário, sofrer alterações nas próximas interações, levando a elaboração de uma documentação mais precisa e conseqüentemente uma implementação mais eficiente, uma prova pratica de que A UML é um forte aliado para a boa representação, entendimento e organização e documentação de varias etapas de um projeto.
Consequentemente, uma boa modelagem leva a uma grande facilidade na escolha da estrutura de dados para a implementação, o que somado aos recursos oferecidos pela linguagem C#, é possível desenvolver um sistema confiável e eficiente.
Podemos ainda, após a aplicação dos conceitos aprendidos sobre MER(Modelo Entidade Relacionamento), dizer que seu objetivo principal é definir um modelo de alto nível independente de implementação, facilitando a compreensão do que é necessário para elaboração de um banco de dados de forma mais clara e eficiente.
Por fim, através da realização das atividades propostas, podemos aplicar as matérias estudadas na pratica, servindo também tanto para o crescimento profissional e como orientações para elaboração e desenvolvimento das atividades necessária para o desenvolvimento de um sistema de uma forma mais estruturada e organizada, dês de a fase conceitual até a implementação, o que ainda proporciona um melhor entendimento das disciplinas, nos preparando melhor para o mercado de trabalho.
REFERÊNCIAS
Foram utilizados os livros impressos e as web-aulas das disciplinas abordadas
http://www.dsc.ufcg.edu.br/~jacques/cursos/map/html/uml/diagramas/diagramas.htm
http://www.devmedia.com.br/artigo-engenharia-de-software-2-analise-orientada-a-objetos/9150
http://www.macoratti.net/net_uml1.htm
http://www.devmedia.com.br/orientacoes-basicas-na-elaboracao-de-um-diagrama-de-classes/37224
https://pt.wikipedia.org/wiki/Estrutura_de_dados
https://www.caelum.com.br/apostila-java-estrutura-dados/listas-ligadas/
http://www.linhadecodigo.com.br/artigo/3676/listt-trabalhando-com-listas-genericas-em-csharp.aspx
https://msdn.microsoft.com/pt-br/library/6sh2ey19(v=vs.110).aspx
http://www.devmedia.com.br/modelo-entidade-relacionamento-mer-e-diagrama-entidade-relacionamento-der/14332
https://prezi.com/86jnykxxd7vi/diagrama-de-entidade-de-relacionamento-der/
Sistema de Ensino Presencial Conectado
ANALISE E DESENVOLVIMENTO DE SISTEMAS
ANTONIO gONÇALVES DE aBRANTES nETO
portifÓlio individual ii - 3º semestre
DESENVOLVIMENTO DE SISTEMAS I
SOUSA-PB
2016
ANTONIO GONÇALVES DE ABRANTES NETO
portifÓlio individual ii - 3º semestre
DESENVOLVIMENTO DE SISTEMAS I
Atividade Interdisciplinar Individual apresentado à Universidade Norte do Paraná - UNOPAR, como requisito parcial para a obtenção de média bimestral nas disciplinas de Linguagens de Programação e Estrutura de Dados, Banco de Dados I, Organização de Computadores e Análise Orientada a Objetos I.
Orientador: Profs. Anderson Macedo e Merris Mozer, Roberto Y. Nishimura, Paulo K. Nishitani e Polyanna P. G. Fabris.
SOUSA-PB
2016

Outros materiais