Portifólio Grupo_3º Semestre 2011_010611_Final

Embed Size (px)

Citation preview

  • 7/27/2019 Portiflio Grupo_3 Semestre 2011_010611_Final

    1/46

    1

    MARCELO DE OLIVEIRA PITA

    SISTEMA DE ENSINO PRESENCIAL CONECTADOCURSO SUPERIOR DE TECNOLOGIA EM ANLISE E

    DESENVOLVIMENTO DE SISTEMAS

    PORTIFLIO INDIVIDUAL

    Algoritmos e Estruturas de DadosBanco de Dados II

    Anlise de Sistemas IIDesenvolvimento Orientado a Objetos I

  • 7/27/2019 Portiflio Grupo_3 Semestre 2011_010611_Final

    2/46

    Colatina2011

    Colatina2011

    SUMRIO

    2

    PORTIFLIO INDIVIDUALAlgoritmos e Estruturas de Dados

    Banco de Dados IIAnlise de Sistemas II

    Desenvolvimento Orientado a Objetos I

    Atividade de Produo Textual apresentada

    ao Curso Superior de Tecnologia em Anlise

    e Desenvolvimento de Sistemas da

    UNOPAR - Universidade Norte do Paran,

    para a disciplina Seminrio III.

    Profs.: Marcio Chiaveli, Merris Mozer,Roberto Nishimura, Simone Tanaka

    MARCELO DE OLIVEIRA PITA

  • 7/27/2019 Portiflio Grupo_3 Semestre 2011_010611_Final

    3/46

    1 INTRODUO..........................................................................................................6

    7

    3 ESTUDO DE CASO: RESTRUTUTURAO ESCOLA DE IDIOMAS ..................8

    ENGLISH SCHOOL TO LEARN..............................................................................8

    3.1 CASOS DE UTILIZAO POR ATORES ..........................................................10

    3.2 IDENTIFICAO DOS ATORES POR CASOS DE UTILIZAO....................10

    4 DIAGRAMAS DE CASOS DE USO ....................................................................10

    5 DIAGRAMA DE CLASSES...................................................................................11

    5.1 MER - PROJETO CONCEITUAL DE BANCOS DE DADOS.............................125.2 MER - PROJETO LGICO DE BANCOS DE DADOS......................................14

    7 REPRESENTAO DAS CLASSES ....................................................................20

    7.1 CLASSE PESSOA...............................................................................................20

    7.2 CLASSE TURMA.................................................................................................22

    7.3 CLASSE PROFESSOR.......................................................................................23

    7.4 CLASSE PESSOA...............................................................................................25

    7.5 CLASSE FUNCIONRIO....................................................................................277.6 CLASSE FORNECEDOR....................................................................................29

    7.7 CLASSE ESCOLA...............................................................................................31

    7.8 CLASSE DISCIPLINA.........................................................................................33

    7.9 CLASSE CURSO.................................................................................................35

    8 LEIAUTE DO PROJETO ......................................................................................37

    8.1 TELA LOGIN SISTEMA.....................................................................................37

    8.2 TELA ABERTURA SISTEMA.............................................................................3737

    8.3 TELA DE CADASTRO ........................................................................................38

    38

    8.4 TELA CONTAS A PAGAR.................................................................................38

    38

    9 LINHA CDIGO EXEMPLO DE FILA....................................................................39

    9.1 CLASSE CONTAS PAGAR PARTE 01.......................................................39

    using System;...........................................................................................................39

    using System.Collections.Generic;........................................................................39

    3

  • 7/27/2019 Portiflio Grupo_3 Semestre 2011_010611_Final

    4/46

    using System.Linq;..................................................................................................39

    using System.Text;..................................................................................................39

    namespace ProjetoEscola.......................................................................................39

    { 39

    class ContasAPagar.............................................................................................39

    { 39

    private List contas;...............................................................39

    public ContasAPagar()............................................................................39

    {..........................................................................................................................39

    contas = new List();..........................................................39

    }..........................................................................................................................39public void inserirContaAPagar(ContaAPagar conta).................................39

    {..........................................................................................................................39

    if (conta.dataVencimento == null)..............................................................39

    throw new Exception("Data de vencimento no informada");............39

    if (conta.descricao == null | conta.descricao.Equals(""))........................39

    throw new Exception("Descrio da conta no informada");.............40

    if (conta.valor

  • 7/27/2019 Portiflio Grupo_3 Semestre 2011_010611_Final

    5/46

    return contas;...............................................................................................40

    }..........................................................................................................................40

    } 40

    } 40

    9.2 CLASSE CONTAS PAGAR PARTE 02 .....................................................41

    9.3 CLASSE CONTAS PAGAR PARTE 03......................................................42

    9.4 FORMULRIO ENTRADA DADOS...................................................................42

    10 CONCLUSO.......................................................................................................45

    11 REFERNCIAS.....................................................................................................46

    5

  • 7/27/2019 Portiflio Grupo_3 Semestre 2011_010611_Final

    6/46

    1 INTRODUO

    Este trabalho visa demonstrar a eficcia do uso da tecnologia de informao em

    sistemas que envolvem aes administrativas, numa realidade de educao

    complementar, que desenvolve curso de Ingls. O nome da instituio que iremos

    elencar como exemplo a Escola de Idiomas English school To learn, onde

    pretende-se implementar o sistema.

    Desta forma, deve-se elaborar um sistema confivel e bem planejado. Todavia, para

    uma boa gesto (dimensionar recursos e prazos adequadamente, reduzir e

    simplificar a manuteno) necessrio ter em mos toda uma documentao de um

    sistema, a fim de evitar vrios problemas futuros com atualizaes e manuteno, e

    acima de tudo, reaproveitar o cdigo reusabilidade de cdigo est diretamente ligado

    a um paradigma de programao que Orientao a Objeto.

    6

  • 7/27/2019 Portiflio Grupo_3 Semestre 2011_010611_Final

    7/46

    2 DESENVOLVIMENTO

    O presente trabalho discorrer sobre as tarefas realizadas na secretaria e tesouraria,

    algumas dificuldades identificadas na realizao dessas tarefas e a proposta de um

    sistema automatizado usando um software projetado especificamente para uso

    dessa funo. Iremos apresentar ao longo deste trabalho os conceitos, suas regras,

    e as vantagens especificamente o desenvolvimento de Sistemas Orientados a

    Objetos, e tem por finalidade apresentar um resumo relacionado dos principais itens

    relevantes debatidos ao longo deste terceiro semestre das disciplinas estudadas at

    aqui ressaltando foram de suma importncia, no entanto os conceitos referentes asdisciplinas Algoritmos e Estruturas de Dados,Banco de Dados II,Anlise de Sistemas

    II e Desenvolvimento Orientado a Objetos I.

    7

  • 7/27/2019 Portiflio Grupo_3 Semestre 2011_010611_Final

    8/46

    3 ESTUDO DE CASO: RESTRUTUTURAO ESCOLA DE IDIOMAS

    ENGLISH SCHOOL TO LEARN

    O fenmeno da convergncia digital est presente em praticamente todos os

    setores, seja ele comercial ou industrial e utiliza a informtica para automatizar e

    agilizar seus servios. O senhor Astrogildo, proprietrio da Escola de Idiomas

    English school To learn, nos procurou no intuito de automatizar os processos

    cotidianos, tanto administrativos, quanto de recursos humanos, apresentando a

    seguinte demanda:

    - A escola possui dois computadores, um de uso da secretaria e outro da tesouraria,

    no possuindo nenhum software de gerenciamento de controle de alunos e

    pagamentos;

    - A secretaria e a tesouraria fazem uso de um aplicativo do pacote Microsoft Office

    chamado Excel para gerenciamento dos seguintes itens: cadastrar aluno, cursos,

    turma, professores, controlar recebimento, controlar contas a pagar, dentre outros,

    utilizando fichas impressas modelos pr-definidos no Microsoft Excel epreenchidas manualmente pelo secretria e/ou responsvel pelo setor financeiro

    caneta e arquivadas em um fichrio.

    O proprietrio tambm relatou um problema gravssimo que ocorreu a cerca de uns

    trs meses, o local que estava acondicionado as caixas aps um forte chuva

    torrencial algumas telhas estavam quebradas e a chuva molhou vrias caixas de

    arquivos, sabendo que tais fichas de alunos no podem obter rasuras, para

    expedio de alguns documentos, e que foi necessrio copiar todas as avaliaesdos aluno de todas as fichas e transcrev-las para uma nica ficha de matrcula o

    que se torna dispendioso e ocasionando retrabalho a expedio de algum

    documento, uma vez que, se houver rasura necessrio outra ficha e escrever tudo

    novamente.

    Com o conhecimento de que aplicativo Microsoft Excel no contempla todas as

    necessidades da escola, devidos suas limitaes e que foram desenvolvidas para

    outros fins, apresentamos a idia do software que ir automatizar todas as tarefascotidianas.

    8

  • 7/27/2019 Portiflio Grupo_3 Semestre 2011_010611_Final

    9/46

    A forma tradicional de armazenamento de informaes manualmente, em papel, no

    garante seu registro imediato, exemplo: quando o aluno procura a escola para se

    inscrever, preenche um cadastro caneta e entrega ao funcionrio, que

    posteriormente digitar as informaes na planilha Excel e a mesma esquece de

    fazer este lanamento, o que compromete a organizao do trabalho.

    No h como obter informaes imediatas, como nmero total de alunos, relao de

    nmero de alunos por sexo, por raa ou idade, nome de alunos que devem

    documentos escola, nmero de alunos por srie entre outras informaes que so

    solicitadas pela direo da escola para planejamento e desenvolvimento de

    atividades pedaggicas e tambm atualizao de dados

    O recebimento das mensalidades tambm um outro transtorno, cada aluno possui

    uma carteirinha e no verso da mesma a responsvel pela tesouraria assina num

    campo da carteirinha, fazendo referncia data paga. Esses dados deveriam ser

    rigorosamente cadastrados no sistema ao final de cada dia. No entanto, quando o

    funcionrio no segue esse parmetro, acaba tornando o sistema inconsistente,

    gerando contradies e conflitos com o aluno, pois j ocorreu cobrana indevida a

    alunos que estavam em dia com sua mensalidade, devido esquecimento de

    alimentao do sistema.

    Pensando em melhor aproveitamento das informaes e organizao dos dados,

    prope-se um software Prtico Teaches - Controle para Escolas. para a

    melhoria da gesto escolar e conseqentemente para a melhoria da qualidade do

    ensino.

    Com o software os servios da secretaria e tesouraria tornam-se mais dinmicos e

    as informaes so fidedignas. O sistema prope melhorar o acompanhamento etraz subsdios para a gesto escolar. A idia automatizar trabalhos rotineiros da

    escola. Uma vez que o aluno os dados pessoais e dados escolares so cadastrados

    no sistema possvel, em poucos mecanismos, obter documentos importantes, de

    forma rpida e eficaz.

    9

  • 7/27/2019 Portiflio Grupo_3 Semestre 2011_010611_Final

    10/46

    3.1 CASOS DE UTILIZAO POR ATORES

    Um caso de utilizao uma sequncia de aes que um ou mais atores realizam

    num sistema de modo a obterem um resultado particular [OMG99].

    Atores Caso de UtilizaoUsurio Manter Acesso ao sistema

    Secretria

    Controlar Aluno

    Controlar Disciplina

    Controlar Curso

    Controlar Turma

    Controlar Matricula Aluno

    Controlar Professor

    Financeiro

    Controlar Boleta Cobrana

    Gerenciar Mensalidades

    Controlar Fornecedores

    Gerenciar Contas Pagar

    Tabela 1- Identificao Casos de uso por Ator

    3.2 IDENTIFICAO DOS ATORES POR CASOS DE UTILIZAO

    Nome DescrioUsurio um funcionrio da escola que ficar encarregado pela

    administrao dos usurios e configuraes do sistema.Secretria o funcionrio da escola que trabalha na secretaria

    escolar, e tem por objetivo (incluso, alterao e

    excluso), curso, turma, professor, disciplina, etc..Financeiro um funcionrio da escola cuja responsabilidade o

    setor financeiro que ficar encarregado confeco de

    boletas, recebimento mensalidade, controle de contas a

    pagar e controle de fornecedores.

    Tabela 1- Identificao dos Atores por casos de utilizao

    4 DIAGRAMAS DE CASOS DE USO

    10

  • 7/27/2019 Portiflio Grupo_3 Semestre 2011_010611_Final

    11/46

    Mostra os casos de uso, atores, e seus relacionamentos que expressam a

    funcionalidade de um sistema. Uma das grandes vantagens da UML representar

    graficamente todas as necessidades levantadas junto ao usurio, para que assim

    possa se evitar a ambigidade e ao desvio de interpretao por parte dos

    desenvolvedores de sistema no que se refere produo, construo ou alterao

    de um software. Segue abaixo o diagrama que exemplifica os casos de uso,

    demonstrando as relaes entre cada um deles:

    Figura 1 Diagrama de Caso UsoFonte: Prprio Autor

    5 DIAGRAMA DE CLASSES

    11

  • 7/27/2019 Portiflio Grupo_3 Semestre 2011_010611_Final

    12/46

    Um diagrama uma representao grfica de um conjunto de elementos e so

    usados para visualiza os sistema sob diferentes perspectivas, que tem a finalidade

    de facilitar a compreenso do sistema que est sendo desenvolvido.

    Diagrama de Classe, corresponde a uma estrutura de um diagrama com seus

    elementos peculiares referente a OO, ou seja, a classe propriamente dita. Tal

    diagrama alm de possuir as classes e seus elementos, consigo traz tambm o

    seguintes elementos: relacionamentos, generalizaes, agregaes, associaes e

    pacotes utilizados para agrupar elementos. Vale salientar que, Diagrama de Classe

    representa estruturas estticas das classes integrantes ao sistema.

    Figura 2 Diagrama de ClasseFonte: Prprio Autor

    5.1 MER - PROJETO CONCEITUAL DE BANCOS DE DADOS

    12

  • 7/27/2019 Portiflio Grupo_3 Semestre 2011_010611_Final

    13/46

    Figura 3 MER - Projeto ConceitualFonte: Prprio Autor

    13

  • 7/27/2019 Portiflio Grupo_3 Semestre 2011_010611_Final

    14/46

    5.2 MER - PROJETO LGICO DE BANCOS DE DADOS

    Figura 4 MER - Projeto LgicoFonte: Prprio Autor

    14

  • 7/27/2019 Portiflio Grupo_3 Semestre 2011_010611_Final

    15/46

    6 SCRIPT CONEXO BANCO DADOS ORACLE

    CREATE TABLE ALUNO (

    ID INTEGER NOT NULL,

    NOME VARCHAR(255) NOT NULL,

    ENDERECO VARCHAR(255),

    CIDADE VARCHAR(150),

    UF VARCHAR(2),TELEFONE VARCHAR(10),

    EMAIL VARCHAR(255),

    DOCUMENTO VARCHAR(14),

    DATA_NASCIMENTO DATE,

    ID_TURMA INTEGER

    );

    CREATE TABLE CONTA_PAGAR (

    ID INTEGER NOT NULL,

    DATA_EMISSAO DATE NOT NULL,

    DATA_VENCIMENTO DATE NOT NULL,

    VALOR NUMERIC(18,2) NOT NULL,

    ID_FORNECEDOR INTEGER NOT NULL,

    ID_ESCOLA INTEGER NOT NULL

    );

    15

  • 7/27/2019 Portiflio Grupo_3 Semestre 2011_010611_Final

    16/46

    CREATE TABLE CURSO (

    ID INTEGER NOT NULL,

    NOME VARCHAR(255) NOT NULL,

    DURACAO INTEGER,

    NIVEL INTEGER,

    ID_ESCOLA INTEGER NOT NULL

    );

    CREATE TABLE DISCIPLINA (

    ID INTEGER NOT NULL,

    NOME VARCHAR(255) NOT NULL,

    ID_CURSO INTEGER NOT NULL,

    ID_PROFESSOR INTEGER NOT NULL

    );

    CREATE TABLE ESCOLA (

    ID INTEGER NOT NULL,

    NOME VARCHAR(255) NOT NULL,

    ENDERECO VARCHAR(255),

    CIDADE VARCHAR(150),

    UF VARCHAR(2),

    TELEFONE VARCHAR(10),

    EMAIL VARCHAR(255),

    DOCUMENTO VARCHAR(14)

    );

    16

  • 7/27/2019 Portiflio Grupo_3 Semestre 2011_010611_Final

    17/46

    CREATE TABLE FORNECEDOR (

    ID INTEGER NOT NULL,

    NOME VARCHAR(255) NOT NULL,

    ENDERECO VARCHAR(255),

    CIDADE VARCHAR(150),

    UF VARCHAR(2),

    TELEFONE VARCHAR(10),

    EMAIL VARCHAR(255),

    DOCUMENTO VARCHAR(14)

    );

    CREATE TABLE FUNCIONARIO (

    ID INTEGER NOT NULL,

    NOME VARCHAR(255) NOT NULL,ENDERECO VARCHAR(255),

    CIDADE VARCHAR(150),

    UF VARCHAR(2),

    TELEFONE VARCHAR(10),

    EMAIL VARCHAR(255),

    DOCUMENTO VARCHAR(14),

    DATA_NASCIMENTO DATE,

    SALARIO NUMERIC(18,2),

    CARGO VARCHAR(50),

    ID_ESCOLA INTEGER

    );

    17

  • 7/27/2019 Portiflio Grupo_3 Semestre 2011_010611_Final

    18/46

    CREATE TABLE TURMA (

    ID INTEGER NOT NULL,

    NOME VARCHAR(255) NOT NULL,

    ID_CURSO INTEGER NOT NULL

    );

    ALTER TABLE ALUNO ADD CONSTRAINT PK_ALUNO PRIMARY KEY (ID);

    ALTER TABLE CONTA_PAGAR ADD CONSTRAINT PK_CONTA_PAGAR

    PRIMARY KEY (ID);

    ALTER TABLE CURSO ADD CONSTRAINT PK_CURSO PRIMARY KEY (ID);

    ALTER TABLE DISCIPLINA ADD CONSTRAINT PK_DISCIPLINA PRIMARY KEY

    (ID);

    ALTER TABLE ESCOLA ADD CONSTRAINT PK_ESCOLA PRIMARY KEY (ID);

    ALTER TABLE FORNECEDOR ADD CONSTRAINT PK_FORNECEDOR PRIMARY

    KEY (ID);

    ALTER TABLE FUNCIONARIO ADD CONSTRAINT PK_FUNCIONARIO PRIMARY

    KEY (ID);

    ALTER TABLE TURMA ADD CONSTRAINT PK_TURMA PRIMARY KEY (ID);

    ALTER TABLE ALUNO ADD CONSTRAINT FK_ALUNO_TURMA FOREIGN KEY

    (ID_TURMA) REFERENCES TURMA (ID);

    ALTER TABLE CONTA_PAGAR ADD CONSTRAINT

    FK_CONTA_PAGAR_ESCOLA FOREIGN KEY (ID_ESCOLA) REFERENCES

    ESCOLA (ID);

    ALTER TABLE CONTA_PAGAR ADD CONSTRAINT

    FK_CONTA_PAGAR_FORNECEDOR FOREIGN KEY (ID_FORNECEDOR)REFERENCES FORNECEDOR (ID);

    18

  • 7/27/2019 Portiflio Grupo_3 Semestre 2011_010611_Final

    19/46

    ALTER TABLE CURSO ADD CONSTRAINT FK_CURSO_ESCOLA FOREIGN KEY

    (ID_ESCOLA) REFERENCES ESCOLA (ID);

    ALTER TABLE DISCIPLINA ADD CONSTRAINT FK_DISCIPLINA_CURSO

    FOREIGN KEY (ID_CURSO) REFERENCES CURSO (ID);

    ALTER TABLE DISCIPLINA ADD CONSTRAINT FK_DISCIPLINA_PROFESSOR

    FOREIGN KEY (ID_PROFESSOR) REFERENCES FUNCIONARIO (ID);

    ALTER TABLE FUNCIONARIO ADD CONSTRAINT FK_FUNCIONARIO_ESCOLA

    FOREIGN KEY (ID_ESCOLA) REFERENCES ESCOLA (ID);

    ALTER TABLE TURMA ADD CONSTRAINT FK_TURMA_CURSO FOREIGN KEY

    (ID_CURSO) REFERENCES CURSO (ID);

    19

  • 7/27/2019 Portiflio Grupo_3 Semestre 2011_010611_Final

    20/46

    7 REPRESENTAO DAS CLASSES

    7.1 CLASSE PESSOA

    using System;

    using System.Collections.Generic;

    using System.Linq;

    using System.Text;

    namespace ProjetoEscola

    {

    class Aluno: Pessoa

    {

    public DateTime dataNascimento;

    public Turma turma;

    public Aluno()

    {

    turma = new Turma();

    }

    public override string adicionar() {

    string s = base.adicionar();

    if (s.Equals(""))

    return "Aluno foi adicionado com sucesso";

    20

  • 7/27/2019 Portiflio Grupo_3 Semestre 2011_010611_Final

    21/46

    else

    return s;

    }

    public override string editar() {

    string s = base.editar();

    if (s.Equals(""))

    return "Aluno foi editado com sucesso";

    else

    return s;

    }

    public override string excluir() {string s = base.excluir();

    if (s.Equals(""))

    return "Aluno foi excludo com sucesso";

    else

    return s;

    }

    }

    }

    21

  • 7/27/2019 Portiflio Grupo_3 Semestre 2011_010611_Final

    22/46

    7.2 CLASSE TURMA

    using System;

    using System.Collections.Generic;

    using System.Linq;

    using System.Text;

    namespace ProjetoEscola

    {

    class Turma

    {

    public string nome;

    public Curso curso;public List alunosList;

    //construtor

    public Turma()

    {

    curso = new Curso();

    alunosList = new List();

    }

    public string adicionar()

    {

    return "";

    22

  • 7/27/2019 Portiflio Grupo_3 Semestre 2011_010611_Final

    23/46

    }

    public string editar()

    {

    return "";

    }

    public string excluir()

    {

    return "";

    }

    }

    }

    7.3 CLASSE PROFESSOR

    using System;

    using System.Collections.Generic;

    using System.Linq;

    using System.Text;

    namespace ProjetoEscola

    {

    class Professor : Funcionario

    {

    23

  • 7/27/2019 Portiflio Grupo_3 Semestre 2011_010611_Final

    24/46

    public readonly string cargo = "Professor";

    public string graduacao;

    public List disciplinasList;

    // construtor

    public Professor() {

    disciplinasList = new List();

    }

    public string adicionar()

    {

    return "";

    }

    public string editar()

    {

    return "";

    }

    public string excluir()

    {

    return "";

    }

    }

    }

    24

  • 7/27/2019 Portiflio Grupo_3 Semestre 2011_010611_Final

    25/46

    7.4 CLASSE PESSOA

    using System;

    using System.Collections.Generic;

    using System.Linq;

    using System.Text;

    namespace ProjetoEscola

    {

    abstract class Pessoa

    {

    public int id;

    public string nome;

    public string endereco;public string cidade;

    public string uf;

    public string telefone;

    public string email;

    public string documento;

    protected virtual string validarPreenchimentoCampos()

    {

    if (nome.Trim() == "")

    return "Nome no informado";

    if (endereco.Trim() == "")

    25

  • 7/27/2019 Portiflio Grupo_3 Semestre 2011_010611_Final

    26/46

    return "Endereo no informado";

    if (cidade.Trim() == "")

    return "Cidade no informada";

    if (uf.Trim() == "")

    return "UF no informada";

    if (telefone.Trim() == "")

    return "Telefone no informado";

    if (email.Trim() == "")

    return "E-mail no informado";

    if (documento.Trim() == "")

    return "Documento no informado";

    if (!validarDocumento())

    return "Documento invlido";

    return "";

    }

    protected virtual bool validarDocumento()

    {

    //TODO: Gerar cdigo para validar documento (cpf, cnpj)

    26

  • 7/27/2019 Portiflio Grupo_3 Semestre 2011_010611_Final

    27/46

    return true;

    }

    public virtual string adicionar()

    {

    return validarPreenchimentoCampos();

    }

    public virtual string editar()

    {

    return validarPreenchimentoCampos();

    }

    public virtual string excluir(){

    return "";

    }

    }

    }

    7.5 CLASSE FUNCIONRIO

    using System;

    using System.Collections.Generic;

    using System.Linq;

    using System.Text;

    27

  • 7/27/2019 Portiflio Grupo_3 Semestre 2011_010611_Final

    28/46

    namespace ProjetoEscola

    {

    class Funcionario : Pessoa

    {

    public DateTime dataNascimento;

    public float salario;

    public string cargo;

    public Escola escola;

    public Funcionario()

    {

    escola = new Escola();}

    public string adicionar()

    {

    return "";

    }

    public string editar()

    {

    return "";

    }

    28

  • 7/27/2019 Portiflio Grupo_3 Semestre 2011_010611_Final

    29/46

    public string excluir()

    {

    return "";

    }

    }

    }

    7.6 CLASSE FORNECEDOR

    using System;

    using System.Collections.Generic;

    using System.Linq;

    using System.Text;

    namespace ProjetoEscola

    {

    class Fornecedor : Pessoa

    {

    public List contasAPagarList;

    //construtor

    public Fornecedor()

    {

    contasAPagarList = new List();

    }

    29

  • 7/27/2019 Portiflio Grupo_3 Semestre 2011_010611_Final

    30/46

    public override string adicionar()

    {

    string s = base.adicionar();

    if (s.Equals(""))

    return "Fornecedor foi adicionado com sucesso";

    else

    return s;

    }

    public override string editar()

    {

    string s = base.editar();

    if (s.Equals(""))

    return "Fornecedor foi editado com sucesso";

    else

    return s;

    }

    public override string excluir()

    {

    string s = base.excluir();

    if (s.Equals(""))

    30

  • 7/27/2019 Portiflio Grupo_3 Semestre 2011_010611_Final

    31/46

    return "Fornecedor foi excludo com sucesso";

    else

    return s;

    }

    }

    }

    7.7 CLASSE ESCOLA

    using System;

    using System.Collections.Generic;

    using System.Linq;

    using System.Text;

    namespace ProjetoEscola

    {

    class Escola : Pessoa

    {

    public List funcionariosList;

    public List professoresList;

    public List contasAPagarList;

    public List cursosList;

    //construtor

    public Escola() {

    funcionariosList = new List();

    31

  • 7/27/2019 Portiflio Grupo_3 Semestre 2011_010611_Final

    32/46

    professoresList = new List();

    contasAPagarList = new List();

    cursosList = new List();

    }

    public override string adicionar()

    {

    string s = base.adicionar();

    if (s.Equals(""))

    return "Escola foi adicionada com sucesso";

    else

    return s;}

    public override string editar()

    {

    string s = base.editar();

    if (s.Equals(""))

    return "Escola foi editada com sucesso";

    else

    return s;

    }

    32

  • 7/27/2019 Portiflio Grupo_3 Semestre 2011_010611_Final

    33/46

    public override string excluir()

    {

    string s = base.excluir();

    if (s.Equals(""))

    return "Escola foi excluda com sucesso";

    else

    return s;

    }

    }

    }

    7.8 CLASSE DISCIPLINA

    using System;

    using System.Collections.Generic;

    using System.Linq;

    using System.Text;

    namespace ProjetoEscola

    {

    class Disciplina

    {

    public string nome;

    33

  • 7/27/2019 Portiflio Grupo_3 Semestre 2011_010611_Final

    34/46

    public Curso curso;

    public Professor professor;

    public Disciplina()

    {

    curso = new Curso();

    professor = new Professor();

    }

    public string adicionar()

    {

    return "";

    }

    public string editar()

    {

    return "";

    }

    public string excluir()

    {

    return "";

    }

    }

    }

    34

  • 7/27/2019 Portiflio Grupo_3 Semestre 2011_010611_Final

    35/46

    7.9 CLASSE CURSO

    using System;

    using System.Collections.Generic;

    using System.Linq;

    using System.Text;

    namespace ProjetoEscola

    {

    class Curso

    {

    public string nome;

    public int duracao;

    public int nivel;

    public Escola escola;

    public List disciplinasList;

    public List turmasList;

    //construtor

    public Curso()

    {

    escola = new Escola();

    disciplinasList = new List();

    turmasList = new List();

    }

    35

  • 7/27/2019 Portiflio Grupo_3 Semestre 2011_010611_Final

    36/46

    public string adicionar()

    {

    return "";

    }

    public string editar()

    {

    return "";

    }

    public string excluir()

    {

    return "";}

    }

    }

    36

  • 7/27/2019 Portiflio Grupo_3 Semestre 2011_010611_Final

    37/46

    8 LEIAUTE DO PROJETO

    8.1 TELA LOGIN SISTEMA

    Figura 5 Tela LoginFonte: Prprio Autor

    8.2 TELA ABERTURA SISTEMA

    37

  • 7/27/2019 Portiflio Grupo_3 Semestre 2011_010611_Final

    38/46

    8.3 TELA DE CADASTRO

    8.4 TELA CONTAS A PAGAR

    38

  • 7/27/2019 Portiflio Grupo_3 Semestre 2011_010611_Final

    39/46

    9 LINHA CDIGO EXEMPLO DE FILA

    9.1 CLASSE CONTAS PAGAR PARTE 01

    using System;

    using System.Collections.Generic;

    using System.Linq;

    using System.Text;

    namespace ProjetoEscola

    {

    class ContasAPagar

    {

    private List contas;

    public ContasAPagar()

    {

    contas = new List();

    }

    public void inserirContaAPagar(ContaAPagar conta)

    {

    if (conta.dataVencimento == null)

    throw new Exception("Data de vencimento no informada");

    if (conta.descricao == null | conta.descricao.Equals(""))

    39

  • 7/27/2019 Portiflio Grupo_3 Semestre 2011_010611_Final

    40/46

    throw new Exception("Descrio da conta no informada");

    if (conta.valor

  • 7/27/2019 Portiflio Grupo_3 Semestre 2011_010611_Final

    41/46

    9.2 CLASSE CONTAS PAGAR PARTE 02

    namespace ProjetoEscola{

    class ContaAPagar{

    public int id;public string descricao;public DateTime dataEmissao;public DateTime dataVencimento;public double valor;

    public Fornecedor fornecedor;public Escola escola;

    //construtorpublic ContaAPagar(){

    fornecedor = new Fornecedor();escola = new Escola();

    }

    public string adicionar(){

    return "";}

    public string editar(){

    return "";}

    public string excluir(){return "";

    }}

    }

    41

  • 7/27/2019 Portiflio Grupo_3 Semestre 2011_010611_Final

    42/46

    9.3 CLASSE CONTAS PAGAR PARTE 03

    namespace ProjetoEscola{

    public class ContaAPagarComparer : IComparer{

    int IComparer.Compare(ContaAPagar x, ContaAPagar y){

    {if (x == null){

    if (y == null){

    return 0;}else{

    return -1;}

    }else{

    if (y == null){

    return 1;}else{

    return x.dataVencimento.CompareTo(y.dataVencimento);}

    }}

    }}

    }

    9.4 FORMULRIO ENTRADA DADOS

    namespace ProjetoEscola{

    public partial class Form1 : Form{

    public Form1()

    {InitializeComponent();

    }

    42

  • 7/27/2019 Portiflio Grupo_3 Semestre 2011_010611_Final

    43/46

    private ContasAPagar contas = new ContasAPagar();private int sequence = 0;

    private void inserirConta(){try{

    ContaAPagar conta = new ContaAPagar();

    conta.descricao = tbDescricao.Text;conta.dataVencimento = tbVencimento.Value;try{

    conta.valor = double.Parse(tbValor.Text);

    }catch{

    MessageBox.Show("Valor invlido", "Error", MessageBoxButtons.OK,MessageBoxIcon.Error);

    return;}

    conta.id = ++sequence;contas.inserirContaAPagar(conta);

    listarContas();

    }catch (Exception ex){

    MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK,MessageBoxIcon.Error);

    }}

    private void listarContas(){ContaAPagarComparer cc = new ContaAPagarComparer();contas.getContasAPagar().Sort(cc);

    grid.Rows.Clear();

    foreach (ContaAPagar conta in contas.getContasAPagar()){

    grid.Rows.Add(conta.id, conta.dataVencimento, conta.descricao,conta.valor);

    }

    }

    43

  • 7/27/2019 Portiflio Grupo_3 Semestre 2011_010611_Final

    44/46

    private void apagarConta(){

    if (grid.Rows.Count > 0)

    {contas.apagarContaAPagar(int.Parse(grid.CurrentRow.Cells[0].Value.ToString()));

    grid.Rows.Remove(grid.CurrentRow);}

    }

    private void button1_Click(object sender, EventArgs e){

    inserirConta();}

    private void button2_Click(object sender, EventArgs e){

    listarContas();}

    private void button3_Click(object sender, EventArgs e){

    apagarConta();}

    }}

    44

  • 7/27/2019 Portiflio Grupo_3 Semestre 2011_010611_Final

    45/46

    10 CONCLUSO

    Esse trabalho, por fim, teve a clara inteno de modelar um sistema de gesto

    escolar que auxilie os funcionrios e proprietrio tornando as mais dinmicos e

    automatizao de processos em seu cotidiano.

    A grande dificuldade para que se possa fazer um Software Computacional de

    qualidade fazer com que se consiga interpretar a idias mais destorcidas do

    usurio, transformando-a em uma linguagem POO compreensvel e intuitiva.

    Todas as disciplinas estudadas at aqui foram de suma importncia, no entanto

    no limitamos ao enunciado do trabalho do portflio

    percebe-se que ao longo deste ir encontrar vrios

    itens complementares aplicveis conforme as

    disciplinas Algoritmos e Estruturas de Dados,Banco de Dados II,Anlise de

    Sistemas II e Desenvolvimento Orientado a Objetos I.

    45

  • 7/27/2019 Portiflio Grupo_3 Semestre 2011_010611_Final

    46/46

    11 REFERNCIAS

    TANAKA, Simone Sawasaki. Anlise de sistemas II: diagrama de classe :: Teleaula exibida em 3/03/2011

    NISHIMURA, Roberto Yukio. Banco de dados II: entendendo a estrutura de

    comandos SQL - Structure Query Language : Tele-aula exibida em 02/03/2011

    NISHIMURA, Roberto Yukio. Banco de dados II: banco de dados distribudo: Tele-

    aula exibida em 16/03/2011

    MOZER, Merris. Algoritmos e Estrutura de Dados: introduo alocao

    duplamente encadeada sequencial: Tele-aula exibida em 27/04/2011

    MOZER, Merris. Algoritmos e Estrutura de Dados: introduo alocao

    simplesmente encadeada sequencial: Tele-aula exibida em 20/04/2011

    CHIAVELI, Marcio Roberto.Desenvolvimento orientado a objetos I:

    implementao de uma classe com seus mtodos e atributos : Tele-aula exibida em

    04/05/2011

    CHIAVELI, Marcio Roberto.Desenvolvimento orientado a objetos I:

    desenvolvimento prtico, herana, polimorfismo e classe esttica (static class) :

    Tele-aula exibida em 04/11/2010

    FANDERUFF, Damaris. Dominando o Oracle 9i: modelagem e desenvolvimento.

    So Paulo: Pearson, 2003. 440 p. Acesso na biblioteca digital da Unopar / Pearson

    em 19/05/2011.

    ELMASRI, Ramez; NAVATHE, Shamkant B. Sistemas de banco de dados. 4. ed.

    So Paulo: Pearson, 2009. 724 p. Acesso na biblioteca digital da Unopar / Pearson

    em 30/05/2011.

    BARNES, David J.; KLLING, Michael. Programao orientada a objetos como

    Java: uma introduo prtica usando o Bluej. So Paulo: Pearson, 2004. 398 p.

    Acesso na biblioteca digital da Unopar / Pearson em 01/06/2011.

    LARMAN, Craig. Utilizando UML e padres: uma introduo anlise e ao

    projeto orientados a objetos e ao desenvolvimento iterativo. 3. ed. Porto Alegre:

    Bookman, 2008. Acesso na biblioteca digital da Unopar / Pearson em 18/05/2011.

    TANAKA Simone Sawasaki Anlise de sistemas I: curso superior de tecnologia

    46