Portifólio Grupo_3º Semestre 2011_010611_Final
Transcript of Portifólio Grupo_3º Semestre 2011_010611_Final
-
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