terça-feira, 29 de julho de 2014

Portfolio Grupo - Curso Superior de ADS - III Semestre

 SISTEMA DE ENSINO PRESENCIAL CONECTADO
CURSO SUPERIOR DE TECNOLOGIA EM
ANÁLISE E DESENVOLVIMENTO DE SISTEMAS


ADELSON DO VALE COSTA
WANDERLEY NUNES CRISTO






DESENVOLVIMENTO DE SISTEMAS DE INFORMAÇÃO I
Produção Textual Interdisciplinar – Portfolio




Trabalho apresentado ao Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas à Universidade Norte do Paraná - UNOPAR, para as disciplinas Linguagens de Programação e Estrutura de Dados; Banco de Dados I; Organização de Computadores; Análise e Modelagem Orientada a Objetos I e Seminários III.

Prof.: Anderson E. M. Gonçalves; Merris Mozer; Roberto Y. Nishimura; Adriane Loper; Polyanna P. G. Fabris






Breves
2014



SUMÁRIO
1    INTRODUÇÃO    3
2    OBJETIVO    4
3    DIAGRAMAS PROPOTOS    5
3.1    CRIAÇÃO DO DIAGRAMA DE CLASSE    5
3.2    CRIAÇÃO DO DIAGRAMA CONCEITUAL, LÓGICO E CÓDIGO SQL    6
3.3    ALGORITMO DE CONTROLE EM C#    8
3.4    WORKSTATIOS    11
4    CONCLUSÃO    12
REFERÊNCIAS    13


1    INTRODUÇÃO

Neste trabalho abordaremos os principais assuntos trabalhados no semestre, assuntos esses de fundamental importância para o aprendizado. Trabalharemos com alguns tipos de algoritmos de lista em fila e pilha, criação de diagramas que representam alguns dos processos que envolvem entidades e relacionamos entre elas e geração de código SQL a partir de ferramentas cases existentes no mercado.
2    OBJETIVO
Com o objetivo de levar o aluno a entender e praticar os assuntos vistos no semestre, abordaremos nesse trabalho a criação de diagramas de Classe, Conceitual e Logico. Esses diagramas serão elaborados em ferramentas Cases existentes no mercado como ASTAH e BrModelo, cada uma com sua função e ferramentas especificas para o desenvolvimento de determinado diagrama. Trabalharemos também a criação de algoritmos no Visual C# para aperfeiçoar os estudos de técnicas de programação, etc. Além disso, trabalharemos a construção de tabelas de Banco de Dados sendo geradas diretamente de um diagrama Logico e pesquisas feitas para buscar no mercado o melhor computador para ser utilizado em um ambiente de trabalho.



3    DIAGRAMAS PROPOSTOS

    Como atividade, foi proposto a criação de um diagrama de Classe contendo as seguintes informações:
 Classe Cliente
Atributos: Código do cliente, nome do cliente, telefone do cliente, CNH do cliente, RG do cliente, CPF do cliente, endereço do cliente.
Métodos: Cadastrar, alterar, excluir e pesquisar cliente.
Classe Buggy
Atributos: Número do buggy, modelo do buggy, ano do buggy, tipo do buggy.
Métodos: Cadastrar, alterar, excluir e pesquisar buggy.
Classe Reserva
Atributos: Código da reserva, data da reserva, data de retirada do buggy, data de devolução do buggy, código do cliente, número do buggy, valor estimado da reserva.
Métodos: Cadastrar, alterar, excluir e pesquisar reserva.
Classe Tipo-Buggy
Atributos: Descrição do tipo, código do tipo, valor do tipo.
Métodos: Cadastrar, alterar, excluir e pesquisar tipo.
   
    Para os relacionamentos as informações que temos são as seguintes:
Uma cliente pode fazer nenhuma ou várias reservas.
Uma reserva tem no mínimo um e no máximo um cliente.
Um buggy pode estar em nenhuma ou várias reservas (lembrando que não pode ser ao mesmo tempo).
Uma reserva tem no mínimo um e no máximo um buggy.
Um tipo-buggy pode ter nenhum ou vários buggys.
Um buggy tem obrigatoriamente um tipo-buggy.



3.1    CRIAÇÃO DO DIAGRAMA DE CLASSE

O Diagrama de Classe foi criado utilizando a ferramenta ASTAH, onde é possível criar o mesmo de forma rápida e pratica devido as ferramentas que ele oferece.



3.2    CRIAÇÃO DO DIAGRAMA CONCEITUAL, LÓGICO E CÓDIGO SQL

Para o desenvolvimento do diagrama conceitual e Lógico foi utilizado a ferramenta CASE BrModelo, onde é possível fazer a criação dos mesmos e forma mais estruturada e organizada.



   

Geração do código SQL a partir do BrModelo para criação do Banco de Dados:

-- Geração de Modelo físico
-- Sql ANSI 2003 - brModelo.



CREATE TABLE cliente (
cd_cliente number PRIMARY KEY,
nm_cliente varchar,
cpf_cliente varchar,
rg_cliente varchar,
endereco_cliente varchar,
telefone_cliente varchar,
cnh_cliente varchar
)

CREATE TABLE reserva (
cd_reserva number PRIMARY KEY,
cd_cliente number,
nr_buggy number,
dt_reserva date,
dt_retirada date,
dt_devolucao date,
vl_reserva float,
FOREIGN KEY(cd_cliente) REFERENCES cliente (cd_cliente)
)

CREATE TABLE buggy (
nr_buggy number PRIMARY KEY,
tipo_buggy number,
modelo_buggy varchar,
ano_buggy varchar
)

CREATE TABLE tipo_buggy (
cd_tipo number PRIMARY KEY,
descricao_tipo varchar,
vl_tipo float
)

ALTER TABLE reserva ADD FOREIGN KEY(nr_buggy) REFERENCES buggy (nr_buggy)
ALTER TABLE buggy ADD FOREIGN KEY(tipo_buggy) REFERENCES tipo_buggy (cd_tipo)


3.3    ALGORITMO DE CONTROLE EM C#

Para auxiliar no controle das locações temos o algoritmo lista com Fila, conforme o código abaixo:


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Portifoli_Grupo_Lista;


namespace Portifoli_Grupo_Lista
{

    public class Fila
    {
        // Variaveis do Algoritmo
        private int[] conteudo;
        private int fim;
        public Fila(int n)
        {
            if (n > 0)
            {
                conteudo = new int[n];
                fim = -1;
            }
        }

        public void SAIDA(int valor) // Método para INSERIR no Fim da FILA
        {
            if (fim < conteudo.Length - 1)
            {
                fim++;
                conteudo[fim] = valor;
            }
        }

        public int CHEGADA() // Método para REMOVER do Inicio da FILA
        {
            int valor = -1;
            if (fim >= 0)
            {
                valor = conteudo[0];
                for (int i = 0; i < conteudo.Length - 1; i++)
                {
                    conteudo[i] = conteudo[i + 1];
                }
                fim--;
            }
            return valor;
        }

        public string IMPRIMIR() // Método para IMPRIMIR a Lista em FILA
        {
            string msg = "";
            for (int i = 0; i <= fim; i++)
            {
                msg += conteudo[i] + " ";
            }
            return msg;
        }
    }
}

namespace Portifoli_Grupo_Lista
{
    class Program
    {
        static void Main(string[] args)
        {
            Fila fila = new Fila(5);
            int sair = 0;
            string imprime = "";
            while (sair == 0)
            {
                imprimeOpcoes();
                int opcao = int.Parse(Console.ReadLine());

                if (opcao == 0) //Sai do Programa
                {
                    sair = 1;
                }

                else
                    if (opcao == 1) //Saida do Buggy
                    {
                        Console.Clear();
                        Console.Write("\nInforme o Código do Buggy..: ");
                        fila.SAIDA(int.Parse(Console.ReadLine()));
                        imprime = fila.IMPRIMIR();
                        Console.WriteLine("\n=======================================\n");
                        Console.WriteLine(imprime);
                        Console.WriteLine("\n=======================================\n");
                    }

                    else
                        if (opcao == 2) //Chegada do Buggy
                        {
                            Console.Clear();
                            fila.CHEGADA();
                            imprime = fila.IMPRIMIR();
                            Console.WriteLine("\n=======================================\n");
                            Console.WriteLine(imprime);
                            Console.WriteLine("\n=======================================\n");
                        }
                        else
                            if (opcao == 3) // Listas de Saida
                            {
                                Console.Clear();
                                imprime = fila.IMPRIMIR();
                                Console.WriteLine("\n=======================================\n");
                                Console.WriteLine(imprime);
                                Console.WriteLine("\n=======================================\n");
                            }
            }
        }
        static public void imprimeOpcoes()
        {
            Console.WriteLine("\nSelecione Uma Opção:\n");
            Console.WriteLine("Saida do Buggy..............Digite 1");
            Console.WriteLine("Chegada do Buggy............Digite 2");
            Console.WriteLine("Buggy na Fila...............Digite 3");
            Console.WriteLine("Sair........................Digite 0\n");

            Console.Write("Opção.: ");
        }
    }
}





3.4    WORKSTATIOS


Para trabalharmos em qualquer empresa, seja ela pequena ou grande, precisamos de computadores que atendam nossas necessidades, oferecendo rapidez em seus processos pra termos um resultado em tempo abio para apresentarmos os resultados esperados. Hoje, com a evolução dos softwares precisamos de um hardware com maior qualidade e desempenho. Fazendo um levantamento básico sobre qual o melhor computador utilizar em uma estação de trabalho temos os seguintes resultados.
Como pretendemos usar o computador para navegar na internet, editar arquivos de textos e planilhas, realização de tarefas simples e executar alguns softwares inclusive o que realizará o controle de nossa locadora, a configuração mais adequada seria as seguintes:

Placa Mãe: Asus com suporte para um dos processadores abaixo.
Processador: Pentium Dual Core / Core 2 DUO / AMD Athlon X2 / Phenon 2/ ou qualquer um da linha Core i (i3 ou i5). Sendo eles com 2 GHz de processamento ou Superior.
Memória RAM: 2GB ou Superior
HD: 320 GB ou Superior
Gravador de DVD
Placa de vídeo 512MB ou Superior
Leitor de Cartão de memória (opcional)

Vale lembrar que não precisamos de um super computador para utilizar como estação de trabalho pois seria um desperdício de hardware, é mais ou menos como andar numa Ferrari a 80 Km/h. Essa consideração se faz necessária para não fazermos investimentos desnecessários e compramos apenas o que realmente precisaremos.



4    CONCLUSÃO

    Este trabalho abordou os processos, softwares e tecnologias que são utilizados para o desenvolvimento de diagramas e geração de códigos SQL para a construção de tabelas em Banco de Dados. Além disso, trabalhamos a construção de algoritmos com lista utilizando fila ou pilha, o que proporciona um aprendizado ainda maior para o aluno. Aperfeiçoando os conhecimentos obtidos no decorrer do semestre é possível entender várias formas de se trabalhar um mesmo conteúdo. O estudo de listas com pilha e fila é o melhor exemplo disso.
    A criação de diagramas leva o aluno a entender os relacionamentos existente entre as entidades em um banco de dados. O que leva o aluno a ver de diferentes maneiras os processos existentes fisicamente e os processos lógicos como por exemplo o relacionamento existente entre fornecedor e cliente ao ser transformado isso em linguagem de banco e dados.
    As pesquisas feitas sobre qual o melhor computador para ser utilizado como estação de trabalho em uma empresa, mostra que é preciso analisar um computador na parte de hardware para que os softwares que serão executados nele tenham um ótimo desempenho proporcionado assim os resultados esperados.
    De forma geral esse trabalho proporcionou um aprendizado grandioso para o curso que estamos realizando.


REFERÊNCIAS

MSDN MICROSOFT, Criando coleções de pilhas e filas. Disponível em: (http://msdn.microsoft.com/pt-br/library/tze823w7.aspx) Acesso em: 26 de Maio de 2014.
TECTUDO, Qual é a configuração ideal para um computador de Escritório? Disponível em: (http://forum.techtudo.com.br/perguntas/45511/qual-e-a-configuracao-ideal-para-um-computador-de-escritorio) Acesso em: 26 de Maio de 2014.


Clique ao lado para ver o trabalho (Portfolio Grupo - Curso Superior de ADS - III Semestre)

Nenhum comentário:

Portfolio Individual - Curso Superior de ADS - VI Semestre

SISTEMA DE ENSINO PRESENCIAL CONECTADO CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS WANDERLEY NUNES CRISTO PRO...