97546496 Portfolio Grupo 3º Semestre Analise de Sistemas Unopar Adson Jose Honori de Melo

download 97546496 Portfolio Grupo 3º Semestre Analise de Sistemas Unopar Adson Jose Honori de Melo

of 20

Transcript of 97546496 Portfolio Grupo 3º Semestre Analise de Sistemas Unopar Adson Jose Honori de Melo

  • 5/25/2018 97546496 Portfolio Grupo 3 Semestre Analise de Sistemas Unopar Adson Jose Honori de Melo

    1/20

    Palmas2012

    ADSON JOS HONORI DE MELOGERISVALDO DA COSTA MACEDOMRIO CSAR CARNEIRO FRANCO

    MAURO MARTINS LEAL

    SISTEMA DE ENSINO PRESENCIAL CONECTADOANLISE DE DESENVOLVIMENTO DE SISTEMAS

    PORTFLIO DE GRUPO 3 SEMESTREDiagrama de atividades, modelagem de dados e programao orientadaa objetos na linha de frente da construo de sistemas informatizados.

  • 5/25/2018 97546496 Portfolio Grupo 3 Semestre Analise de Sistemas Unopar Adson Jose Honori de Melo

    2/20

    Palmas2012

    PORTFLIO DE GRUPO 3 SEMESTREDiagrama de atividades, modelagem de dados e programao orientadaa objetos na linha de frente da construo de sistemas informatizados.

    Trabalho apresentado s disciplinas Algoritmos eEstruturas de Dados, Anlise de Sistemas, Seminrio III,Desenvolvimento Orientado a Objetos I e Banco deDados II da Universidade Norte do Paran - UNOPAR

    Prof(s). : Marcio RobertoRoberto Y. NishimuraPolyanna GomesMerris Mozer

    ADSON JOS HONORI DE MELOGERISVALDO DA COSTA MACEDOMRIO CSAR CARNEIRO FRANCO

    MAURO MARTINS LEAL

  • 5/25/2018 97546496 Portfolio Grupo 3 Semestre Analise de Sistemas Unopar Adson Jose Honori de Melo

    3/20

    SUMRIO

    1 INTRODUO.....................................................................................................32 DESENVOLVIMENTO .........................................................................................42.1 UML DIAGRAMA DE ATIVIDADES...............................................................42.1.1 CENRIO ATUAL .........................................................................................42.1.1.1 GERENCIAR DEVOLUO......................................................................42.1.1.2 GERENCIAR EMPRSTIMOS..................................................................52.1.1.3 MANTER LIVROS .....................................................................................62.1.1.4 MANTER USURIOS................................................................................72.1.2 NOVO CENRIO ..........................................................................................72.2

    MODELO CONCEITUAL COM MRN APLICADO...........................................10

    2.3 MAPEAMENTO OBJETO RELACIONAL .......................................................112.4 LISTA ORDENADA ........................................................................................163 CONCLUSO ....................................................................................................18REFERNCIAS.........................................................................................................19

  • 5/25/2018 97546496 Portfolio Grupo 3 Semestre Analise de Sistemas Unopar Adson Jose Honori de Melo

    4/20

    3

    1 INTRODUO

    O analista de sistemas deve garantir o alinhamento entre tecnologia

    e estratgias organizacionais, os projetos de software devem conhecer o cenrio

    organizacional em um nvel suficiente, a ponto de avaliar e sugerir melhorias, ou

    mesmo reengenharia nos processos de negcio.

    Este trabalho mostrar na prtica a importncia das tcnicas e

    conceitos da UML, atravs do diagrama de atividades, bem como a modelagem de

    dados na utilizao dos consagrados bancos de dados relacionais juntamente com a

    programao orientada a objetos, viabilizando o sucesso dos sistemas no que tange

    o alinhamento dos objetivos aos processos das organizaes.

  • 5/25/2018 97546496 Portfolio Grupo 3 Semestre Analise de Sistemas Unopar Adson Jose Honori de Melo

    5/20

    4

    2 DESENVOLVIMENTO

    2.1 UML DIAGRAMA DE ATIVIDADES

    O diagrama de atividades, geralmente apresentado como parte da

    descrio funcional de um sistema, devido ao fato de especificar processos lgicos

    (atividades do sistema e dos fluxos de dados ou decises). Nele so apresentadas

    as relaes entre cada atividade de um determinado processo, em que podem ser

    vistas as relaes de dependncia entre essas atividades, e quem so os

    responsveis pelas suas execues.

    2.1.1 CENRIO ATUAL

    Respeitando ao mximo o texto da proposta e abstraindo algumas

    situaes do cenrio atual da empresa sobre sua rotina de trabalho, estipulamos

    que o cliente chega loja e vai at as prateleiras, escolhe o exemplar que deseja e

    leva at o atendente para efetivar a locao. Ou ento, se a inteno devolver o(s)

    livro(s) na sua totalidade, solicita ao funcionrio a baixa do emprstimo.

    2.1.1.1 GERENCIAR DEVOLUO

    Figura 1 diagrama de atividades (gerenciar devoluo total)

  • 5/25/2018 97546496 Portfolio Grupo 3 Semestre Analise de Sistemas Unopar Adson Jose Honori de Melo

    6/20

    5

    2.1.1.2 GERENCIAR EMPRSTIMOS

    Figura 2 diagrama de atividades (gerenciar emprstimos)

  • 5/25/2018 97546496 Portfolio Grupo 3 Semestre Analise de Sistemas Unopar Adson Jose Honori de Melo

    7/20

    6

    2.1.1.3 MANTER LIVROS

    Figura 3 diagrama de atividades (manter livros)

  • 5/25/2018 97546496 Portfolio Grupo 3 Semestre Analise de Sistemas Unopar Adson Jose Honori de Melo

    8/20

    7

    2.1.1.4 MANTER USURIOS

    Figura 4 diagrama de atividades (manter usurios)

    2.1.2 NOVO CENRIO

    Para o novo cenrio com as alteraes significativas no processo de

    devoluo fracionada e no de emprstimos, faremos tambm mudanas no fluxo de

    trabalho, abstrairemos que agora o cliente no tem mais acesso s prateleiras, e o

    funcionrio dever consultar o sistema a procura dos exemplares disponveis, para

    somente ento, buscar o livro.

    Daremos nfase aos dois processos que sofreram alteraes

    significativas: emprstimo e devoluo.

    Emprstimo: o funcionrio autenticado e pertencente ao

    departamento de locaes consulta se o cliente cadastrado. No h mais a

    condio de pendncia, ou seja, havendo ou no emprstimos em aberto,

    permitido realizar um novo sem que o ltimo tenha sido finalizado. A multa ou

    relocao ser tratada no processo de devoluo, uma vez que no antigo processo o

  • 5/25/2018 97546496 Portfolio Grupo 3 Semestre Analise de Sistemas Unopar Adson Jose Honori de Melo

    9/20

    8

    cliente pagava na hora de efetivar o emprstimo e no h na proposta inicial aluso

    a multas ou relocaes automticas. O funcionrio consulta o livro solicitado pelo

    cliente, podendo faz-lo pelo ttulo ou autor. O sistema checa a disponibilidade e

    exibe os resultados. Informar a data do emprstimo. O sistema realiza o emprstimo

    e emite o comprovante.

    Figura 5 diagrama de atividades (gerenciar emprstimo - reformulado)

    Devoluo: funcionrio autenticado e do departamento de locaes

    consulta o sistema e exibe o emprstimo. Dever selecionar os exemplares e o

    sistema calcular e exibir o valor a pagar incluindo possveis atrasos. O funcionrio

    receber o valor e o sistema encerrar o emprstimo se for entregue todos os

    exemplares ou dar baixa nos itens de emprstimo.

  • 5/25/2018 97546496 Portfolio Grupo 3 Semestre Analise de Sistemas Unopar Adson Jose Honori de Melo

    10/20

    9

    Figura 6 diagrama de atividades (gerenciar devoluo - reformulado)

  • 5/25/2018 97546496 Portfolio Grupo 3 Semestre Analise de Sistemas Unopar Adson Jose Honori de Melo

    11/20

    10

    2.2 MODELO CONCEITUAL COM MRN APLICADO

    O modelo relacional foi inventado pelo Dr. Codd e

    subsequentemente mantido e aprimorado por Chris Date e Hugh Darwen como um

    modelo geral de dados.

    A normalizao de dados uma srie de passos que se segue no

    projeto de um banco de dados que permite um armazenamento consistente e um

    eficiente acesso aos dados em um banco de dados relacional. Esses passos

    reduzem a redundncia de dados e as chances dos dados se tornarem

    inconsistentes.

    Procuramos obedecer e respeitar todas as regras de negcios

    impostas na proposta, entretanto, depois de uma minuciosa anlise em grupo,

    assumimos algumas adaptaes visando melhorar a utilizao do software pelo

    usurio e nos preocupando em no engess-lo na modelagem.

    Por exemplo, quanto ao cadastro de autores, a regra de negcio diz

    que um livro deve ter 1 ou vrios autores. Significa dizer, que ao se cadastrar um

    autor, obrigatoriamente, devemos relacion-lo a um livro pelo menos.

    Imaginemos que um funcionrio comprou 200 livros de uma grande

    livraria e deseja cadastr-los antes mesmo de receb-los. Para isso, solicitou a outro

    funcionrio que fosse lanando os nomes dos autores para depois agilizar o trabalho

    de cadastro dos livros. Pela regra original isso no seria possvel!

    Portanto, na nossa concepo de modelagem, deixamos em aberto

    esta possibilidade colocando a cardinalidade de (0,n) na entidade AUTOR, ou seja,pode-se cadastrar N autores e depois na tela de cadastro de livros ligamos livro a

    autor(es). Essa adaptao no fere a regra de negcios, pois ainda sim, um livro no

    pode ser includo sem um autor.

    Utilizamos o mesmo raciocnio na entidade LIVROS em relao

    entidade EXEMPLAR.

  • 5/25/2018 97546496 Portfolio Grupo 3 Semestre Analise de Sistemas Unopar Adson Jose Honori de Melo

    12/20

    11

    Figura 7 modelo conceitual do sistema com alteraes

    2.3 MAPEAMENTO OBJETO RELACIONAL

    Tcnica de desenvolvimento utilizada para reduzir a impedncia da

    programao orientada aos objetos utilizando bancos de dados relacionais. As

    tabelas do banco de dados so representadas atravs de classes e os registros de

    cada tabela so representados como instncias das classes correspondentes.

    Com esta tcnica, o programador no precisa se preocupar com os

    comandos em linguagem SQL; ele ir usar uma interface de programao simples

    que faz todo o trabalho de persistncia.

    A seguir, relacionamos as classes e seus respectivos cdigos

    gerados a partir de nosso DER.

  • 5/25/2018 97546496 Portfolio Grupo 3 Semestre Analise de Sistemas Unopar Adson Jose Honori de Melo

    13/20

    12

    Classe Pessoa===========================================usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;

    namespaceUnopar{classclasse_Pessoa{

    privateintcodigo;privatestringnome;privateDateTimedat_nasc;

    publicintCodigo{

    get{ returncodigo; }set{ codigo = value; }

    }publicstringNome{

    get{ returnnome.Trim().ToUpper(); }set{

    if((value.Length > 70) || (value.Length < 5))throw new Exception("o tamanho para este campo de 5 a 70

    caracteres.");else

    nome = value;}

    }publicDateTimeDat_nasc{

    get{ returndat_nasc; }set{ dat_nasc = value; }

    }} // fecha classe Pessoa

    }

    Classe Funcionario===========================================usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;namespaceUnopar{

    classclasseFuncionario: classe_Pessoa{

    privateintfunc_codigo;

    publicintFunc_codigo{

    get{ returnfunc_codigo; }set{ func_codigo = value; }

    }}

    }

  • 5/25/2018 97546496 Portfolio Grupo 3 Semestre Analise de Sistemas Unopar Adson Jose Honori de Melo

    14/20

    13

    Classe Cliente===========================================usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;

    namespaceUnopar{classclasseCliente: classe_Pessoa{

    privateintcli_codigo;publicintCLi_codigo{

    get{ returncli_codigo; }set{ cli_codigo = value; }

    }}

    }

    Classe Autor

    ===========================================usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;namespaceUnopar{

    classclasseAutor: classe_Pessoa{

    privateintaut_codigo;publicintAut_codigo{

    get{ returnaut_codigo; }set{ aut_codigo = value; }

    }}}

    Classe Livro===========================================usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;namespaceUnopar{

    classclasse_Livro{

    privateintliv_codigo;privatestringliv_titulo;

    publicintLiv_codigo{

    get{ returnliv_codigo; }set{ liv_codigo = value; }

    }

    publicstringLiv_titulo{

    get

  • 5/25/2018 97546496 Portfolio Grupo 3 Semestre Analise de Sistemas Unopar Adson Jose Honori de Melo

    15/20

    14

    {returnliv_titulo.Trim().ToUpper();

    }set{

    if(value.Length > 60)

    thrownewException("Tamanho do nome invlido.");elseliv_titulo = value;

    }

    } // fecha public Liv_Codigo

    } // fecha classe livro}

    Classe Exemplar===========================================usingSystem;usingSystem.Collections.Generic;

    usingSystem.Linq;usingSystem.Text;

    namespaceUnopar{

    classclasse_Exemplar{

    privateintexem_codigo;privatestringexem_status;

    publicintExem_codigo{

    get{ returnexem_codigo; }set{ exem_codigo = value; }

    }

    publicstringExem_status{

    get{ returnexem_status; }set{

    if(value.Length > 10)thrownewException("o Status deve ter no mximo 10 caracters.");

    elseexem_status = value;

    }}

    } // fecha classe exemplar}

    Classe Classificao===========================================usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;namespaceUnopar{

    classclasseClassificacao{

  • 5/25/2018 97546496 Portfolio Grupo 3 Semestre Analise de Sistemas Unopar Adson Jose Honori de Melo

    16/20

    15

    privateintcla_codigo;privatedoublecla_valor;privatestringcla_tipo;

    publicintCla_codigo{

    get{ returncla_codigo; }set{ cla_codigo = value; }}publicDoubleCla_valor{

    get{ returncla_valor; }set{

    if((cla_valor.GetType() == typeof(Double))){

    cla_valor = value;}else

    cla_valor = 0;}

    }publicstringCla_tipo{

    get{ returncla_tipo; }set{

    if ((value != "diamante") || (value!= "ouro") ||(value != "prata")||(value!= "bronze") )

    thrownewException("erro no tipo da classificao");else

    cla_tipo = value;}

    }}

    }

    Classe Classificao===========================================usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;namespaceUnopar{

    classclasseDepartamento{

    privateintdep_codigo;privatestringdep_nome;

    publicintDep_codigo{

    get{ returndep_codigo;}set{ dep_codigo = value; }

    }

    publicstringDep_nome{

    get{ returndep_nome; }

    set{if(dep_nome.Length > 20)

  • 5/25/2018 97546496 Portfolio Grupo 3 Semestre Analise de Sistemas Unopar Adson Jose Honori de Melo

    17/20

    16

    throw new Exception("Excedeu o limite de caracteres. Tamanhomximo de 20");

    elsedep_nome = value;

    }}

    }}

    Classe Emprestimo===========================================usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;namespaceUnopar

    {classclasseEmprestimo

    {privateintemp_codigo;privateDateTimeemp_datalocacao;privateDateTimeemp_datadevolucao;

    publicintEmp_codigo{

    get{ returnemp_codigo; }set{ emp_codigo = value; }

    }

    publicDateTimeEmp_datalocacao{

    get{ returnemp_datalocacao; }set{ emp_datalocacao = value; }

    }

    publicDateTimeEmp_datadevolucao{

    get{ returnemp_datadevolucao.AddDays(5); }set{ emp_datadevolucao = value; }

    }}

    }

    2.4 LISTA ORDENADA

    Uma lista a coleo de elementos de mesmo tipo, dispostos

    linearmente, que podem ou no seguir uma organizao.

    O cdigo abaixo escrito em C# solicita do usurio o tamanho da lista

    e depois ordena pela data de devoluo do filme.

  • 5/25/2018 97546496 Portfolio Grupo 3 Semestre Analise de Sistemas Unopar Adson Jose Honori de Melo

    18/20

    17

    usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;

    namespaceUnopar

    { classProgram{

    staticvoidMain(string[] args){

    Console.Write("Quantos registros deseja inserir? ");intqtd = Int32.Parse(Console.ReadLine());

    inti = 0;string[] cliente = newstring[qtd];DateTime[] dataEmprestimo = newDateTime[qtd];

    while(i < qtd){

    Console.Write("\nDigite o nome do usuario que fez a locao: ");

    cliente[i] = Console.ReadLine().ToUpper().Trim();Console.Write("Data de locao (dd/mm/aaaa): ");dataEmprestimo[i] = DateTime.Parse(Console.ReadLine());i++;

    }

    Console.WriteLine("\n\n===========================================");intq = (cliente.Length) - 1;while(q >= 0){

    DateTimedataDevolucao = dataEmprestimo[q].AddDays(5);Console.WriteLine("Cliente: \t"+ cliente[q] + "\nData Empr: \t"+

    dataEmprestimo[q] + "\nData Devol: \t"+ dataDevolucao + "\n");q--;

    }Console.WriteLine("===========================================");Console.ReadKey();

    }}

    }

  • 5/25/2018 97546496 Portfolio Grupo 3 Semestre Analise de Sistemas Unopar Adson Jose Honori de Melo

    19/20

    18

    3 CONCLUSO

    O processo de modelagem do banco de dados merece destaque em

    nossa avaliao, pois exercemos a essncia de nossa profisso: a anlise. Foram

    bastante interessantes as discusses, reunies e ponderaes, medida que o

    modelo tomava forma. Ficou latente, que em projetos de sistemas, vrias cabeas

    pensantes trabalhando em colaborao so uma tima receita para construo de

    solues eficazes e consistentes.

    Conclumos nosso trabalho com a certeza do dever cumprido.

    Estamos convictos da importncia de conhecermos bem os diversos benefcios

    trazidos pela correta aplicabilidade das ferramentas UML, bem como o domnio dosconceitos de banco de dados relacionais casados ao paradigma de orientao a

    objetos. A programao da FILA nos proporcionou a prtica de programao, to

    importante na concretizao dos sistemas modelados e pensados.

  • 5/25/2018 97546496 Portfolio Grupo 3 Semestre Analise de Sistemas Unopar Adson Jose Honori de Melo

    20/20

    19

    REFERNCIAS

    ASCENSIO, Ana Fernanda Gomes. Estrutura de Dados: algoritmos, anlise dacomplexidade e implementaes em Java e C/C++. So Paulo: Pearson Prentice

    Hall, 2010.

    NISHIMURA, Roberto Yukio. Banco de Dados II: sistemas. So Paulo: PearsonPrentice Hall, 2009.

    WIKIPEDIA: http://pt.wikipedia.org/wiki/Mapeamento_objeto-relacional

    Orientador Pedro Pedreira:https://sites.google.com/site/orientadorpedropereira/Home/fundamentos-de-orientacao-a-objetos-e-uml/diagramas-de-classes