siga sistema gestor de alunos

Post on 21-Jan-2016

33 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

SigA Sistema Gestor de Alunos. Aline Timóteo Denise Narciso Flávia Falcão Nara Falcão {alt,damn,fmcf2,naf}@cin.ufpe.br. Índice. Descrição do Sistema Requisitos Funcionais do SigA Processo de Análise Pesquisar Alunos por Disciplina Exibir Relatório do Mecanismo de Inferência - PowerPoint PPT Presentation

TRANSCRIPT

SigA

SigASistema Gestor de Alunos

Aline Timóteo

Denise Narciso

Flávia Falcão

Nara Falcão

{alt,damn,fmcf2,naf}@cin.ufpe.br

SigA

Índice

• Descrição do Sistema• Requisitos Funcionais do SigA• Processo de Análise

• Pesquisar Alunos por Disciplina • Exibir Relatório do Mecanismo de Inferência • Consultar Inadimplentes

• Pacotes• Capsulas• Subsistemas• Conclusão

SigA

Descrição do Sistema

• O SigA tem como objetivo principal fornecer informações sobre o rendimento escolar dos alunos da Universidade.

• Este sistema utiliza a base de dados do SIG@.

• A instituição de ensino poderá oferecer um acompanhamento mais direcionado aos alunos.

• Gestor de Alunos

SigA

Requisitos Funcionais do SIGA

• Pesquisar Disciplinas • Pesquisar Alunos por Disciplina• Pesquisar Alunos por Maiores Números de

Reprovações• Pesquisar Alunos por melhores médias • Pesquisar alunos por outras atividades • Exibir detalhes do Aluno • Exibir Relatório do Mecanismo de

Inferência • Consultar Inadimplentes

• Pesquisar Alunos por Disciplina

• Consultar Inadimplentes

• Exibir Relatório do Mecanismo de Inferência

SigA

Exibir Relatorio do Mecanismo de Inferencia Exibir Detalhes do Aluno

Pesquisar Aluno Por Disciplina

<<include>>

Pesquisar Aluno Por Maiores Número de Reprovações

<<include>>

Pesquisar Alunos por Disciplina

<<include>>

Pesquisar Alunos Por Maiores Médias

<<include>>

Pesquisar Alunos por Outras Atividades

<<include>>

Pesquisar Aluno por Perfil

<<include>>

PesquisarDisciplina

Gestor

Unidade_de_Ensino

Consultar Inadinplentes

SigA

Processo de Análise

SigA

Processo de Análise: Pesquisar Alunos por Disciplina

• Prioridade: Essencial• Atores: Gestor de Alunos• Pré-Condição: Logado no Sig@• Pós-Condição:• Entrada: Código da disciplina,

situação do aluno e critério de busca.

• Saída: Lista de Alunos

SigA

Diagrama de Seqüência

: Visao : Gestor : TelaPesquisa : ControladorPesquisa :

CadastroDisciplina :

CadastroHistorico

efetuarPesquisa(idDisciplina,situacaoAluno,criterio) efetuarPesquisa(idDisciplina,situacaoAluno,criterio)exite:=existeDisciplina(idDisciplina )

[exite=true] dados: = pesquisaAlunoDisciplina(idDisciplina,situacaoAluno,criterio)

detalharAluno( codAluno)detalharAluno(codAluno )

dados=historicoAluno( codAluno)

construirVisao(dados)

ListaAlunos

ExibeDetalhes

construirVisao(dados)

SigA

VOPCVisao

(from RelatorioInferencia)

TelaPesquisa

efetuarPesquisa()detalharAluno()

<<boundary>>

ControladorPesquisa

efetuarPesquisa()detalharAluno()

<<control>>1

0..*

1

0..*

CadastroHistorico

PesquisaAlunoDisciplina()historicoAluno()

<<entity collection>>

11

11

Aluno

identidadenomematriculacpfcodigo

<<entity>>

CadastroDisciplina

existeDisciplina()

<<entity collection>>

11

11

Historico<<entity>>

0..*

1

0..*

1

1

1

1

1

Periodo

notassemestre

(from RelatorioInferencia)

<<entity>>

0..*1

Disciplina

cargaHorariacodigocreditosdescricaodificuldade

<<entity>>

0..*

1

0..*

1

0..*11 0..*

1 0..*

SigA

Processo de Análise: Exibir Relatório do Mecanismo de Inferência

• Prioridade: Desejável• Atores: Gestor de Alunos• Pré-Condição: O usuário deve estar

logado no sig@• Pós-Condição: • Entrada: O aluno selecionado• Saída: Detalhes do Aluno selecionado

SigA

Diagrama de seqüência

: Gestor:TelaRelatorioIn

ferencia:ControladorRela

torioInferencia:CadastroAluno :CadastroHistorico :CadastroDiciplina :CadastroAtividadeExtra Visao

fazerInferencia(Nomealuno)

procuraAluno(NomeAluno)

procurarDisciplina

procurarAtividadeExtra

historicoAluno(Aluno)

Inferencia()

fazerInferencia(Nomealuno)

criarVisao()

SigA

VOPCTelaRelatorioInferencia

fazerInferencia()

<<boundary>>

Visao<<entity>>

ControladorRelatorioInferencia

fazerInferencia()

<<control>>1

0..*

1

0..*

CadastroAluno

procurarAluno()

<<entity collection>>1

1

1

1

CadastroDisciplina

procuraDisciplina()

<<entity collection>>

1

1

1

1

CadastroAtividadeExtra

procuraAtividadeExtra()

<<entity collection>>

1

1

1

1

Disciplina

cargaHorariacodigocreditosdescricaodificuldade

<<entity>>

0..*

1

0..*

1

AtividadeExtra

descricaocargaHorariatipocodigo

<<entity>>

0..*

1

0..*

1

CadastroHistorico

procurarHistorico()

<<entity collection>> 1

1

1

1

Aluno

identidadenomematriculacpfcodigo

<<entity>>0..*

1

0..*

1

Periodo

notassemestre

<<entity>>

0..*

1

0..*

1

0..*

1

0..*

1

Historico<<entity>>

0..*

1

0..*

1

11

11

0..*

1

0..*

1

SigA

Processo de Análise: Consultar Inadimplentes

• Prioridade: Desejável• Atores: Gestor• Pré-Condição: O usuário deve estar

logado no sig@• Pós-Condição: • Entrada: A opção de visualização dos

dados (gráfico, tabela, relatório)• Saída: Lista de alunos inadimplentes,

que pode ser visualizada através de um gráfico, relatório ou tabela.

SigA

Diagrama de Seqüência

ComunicacaoFilialVisaoCadastroFilialControladorInformacaoTelaInformacao

1: ConsultaInadimplentes()1: ConsultaInadimplentes()1.1: ConsultaFiliais()1.1: ConsultaFiliais()

1.2: ConsultaInadimplentesFilial()1.2: ConsultaInadimplentesFilial()

1.2.1: 1.2.1:

1.3: ContruirVisao()1.3: ContruirVisao()

Para Cada Filial

SigA

VOPC

Com unicacaoFilial<<bondary>>

TelaInform acao

ConsultaInadim plentes()

<<bondary>>

filial

Codigo

<<entity>>

CadastroFilial

ConsultaFilial()

<<entity

0..*

1

0..*

1

ControladorInform acao

ConsultaInadim plentesFilial()

<<Control>>

1

0..*

1

0..*

1

1

1

1

Visao

ContruirVisao()

<<entity>>

1

1

1

1

SigA

Mapeamento das classes de Análise para Projeto

SigA

Classes de Análise Elementos de Projeto

Aluno AlunoCadastroAluno

IRepositorioAluno

RepositorioAlunoDicisplina Dicisplina

CadastroDicisplinaIRepositorioDicisplinaRepositorioDicisplina

  AtividadeExtra AtividadeExtraCadastroAtividadeExtra

IRepositorioAtividadeExtra

RepositorioAtividadeExtra

Historico HistoricoCadastroHistorico

IRepositorioHistorico

RepositorioHistorico

Filial FilialCadastroFilial

IRepositorioFilial

RepositorioFilial

<<Capsule>>TelaInformacao

<<Protocol>>ConsultaInadimplente

<<Protocol>>ProtocoloExibicao<<Capsule>> ControladorInformacao

<<Protocol>>InteracaoFiliais

CadastroAluno

CadastroDicisplina

CadastroAtividadeExtra

CadastroHistorico

CadastroFilial

TelaInformacao

ControladorInformacao

Mapeamento (1)

SigA

Classes de Análise Elementos de Projeto

<<Capsule>> Fachada

Visão ISubsistemaVisão

ISubsistemaComunicacaoFiliais

FachadaComunicacaoFilialSubsistemaComunicacaoFilial<<Capsule>>ComunicacaoFilialA<<Capsule>>ComunicacaoFilialB<<Capsule>> TelaRelatorioInferencia<<Protocol>>ProtocoloRelatorio<<Capsule>> TelaPesquisa

<<Protocol>> ListaAlunos

ControladorDePesquisa

ControladorRelatorioInferencia ControladorRelatorioInferencia

ComunicacaoFiliais

TelaRelatorioInferencia

TelaPesquisa

Mapeamento (2)

SigA

Pacotes em nível de Implementação

SigA

atividadeExtra

comunicacao

disciplina

Gui

alunohistorico

comunicacaoFilial

Controladores

Filial

Visao<<subsystem>>

SigA

Pacote GUI

SigA

Pacote Controladores

SigA

Pacote Aluno

Aluno

identidade : intnome : Stringcodigo : intmatricula : intcpf : int

setIdentidade()setCpf()setNome()setMatricula()setCodigo()getIdentidade()getCpf()getNome()getMatricula()getCodigo()

RepositorioAluno

IRepositorioAluno

procuraAluno()

CadastroAluno

procuraAluno()

SigA

Pacote Histórico

RepositorioHistorico

Periodo

notasemestre

setNota()setSemestre()getNota()getSemestre()

Historico

IRepositorioHistorico

historicoAluno()

CadatroHistorico

historicoAluno()

SigA

Pacote Atividade Extra

AtividadeExtra

descricao : StringcargaHoraria : inttipo : intcodigo : int

setDescricao()setCargaHoraria()setTipo()setCodigo()getDescricao()getCargaHoraria()getTipo()getCodigo()

RepositorioAtividadeExttra

IRepositorioAtividadeExtra

procuraAtividadeExtra()

CadastroAtividadeExtra

procuraAtividadeExtra()

SigA

Pacote Disciplina

Disciplina

codigo : intcargaHoraria : intcreditos : intdificuldade : intdescricao : String

setCodigo()setCargaHoraria()setCreditos()setDificuldade()setDescricao()getCodigo()getCargaHoraria()getCreditos()getDificuldade()getDescricao()

RepositorioDisciplina

IRepositorioDisciplina

existeDisciplina()procuraDisciplina()

CadastroDisciplina

existeDisciplina()procuraDisciplina()

SigA

Pacote Filial

Filial

codigo

setCodigo()getCodigo()

IRepositorioFilial

NewInterface3

consultaFilial()

CadastroFilial

ConsultaFilial()

SigA

Pacote Comunicacao Filial

FachadaComunicacaoFilial

ISubsistemaComunicacaoFilial

consultarInadimplentesFilial()

SigA

Pacote Visão

SigA

Cápsulas do Sistema

SigA

Cápsulas do Sistema

• O caso de uso “consultar inadimplentes Filial” .

• Concorrência na solicitação de informações.

ComunicacaoFilial

<<bondary>>Com unicacaoFilial<<Capsule>>

SigA

Arquitetura InterfaceCom unicacaoFilial

+ / InteracaoFiliais : InteracaoFiliais

<<Capsule::Interface>>

Com unicacaoFilial

+ / InteracaoFiliais : InteracaoFiliais

<<Capsule>>

InteracaoFiliais

consultaInadinplentes ()

dadosInadinplentes ()

<<Protocol>>

+ / InteracaoFiliais<<Port>> + / InteracaoFiliais<<Port>>

+ / InteracaoFiliais<<Port>> + / InteracaoFiliais<<Port>>

Com unicacaoFilialA

consultaInadinplentes()

+ / ConsultaFilialA : InteracaoFiliais

<<Capsule>>

/ com unicacaoFilialAR 4 / com unicacaoFilialAR 4

ISubsistem aCom unicacaoFilialA

Com unicacaoFilialB

consultaInadinplentes()

+ / ConsultaFilialB : InteracaoFiliais

<<Capsule>>

/ com unicacaoFilialBR 3 / com unicacaoFilialBR 3

ISubsistem aCom unicacaoFilialB

SigA

Arquitetura (2)

SigA

Pacote Comunicação

consultaInadim plentes

solicitacaoInform acao ()

visao ()

<<Protocol>>

ListaAlunos

dadosPesquisa ()

listaAlunos ()

<<Protocol>>ProtocoloR elatorio

codAluno ()

exibeR elatorio ()

<<Protocol>>

InteracaoFiliais

consultaInadim plentesFilial ()

dadosInadim plentesFilial ()

<<Protocol>>

SigA

Subsistema Visão

Subsistem aInternoVisao

InterfaceVisao

• Subsistema interno do sistema.

• Modulo Grafico e de processamento do sistema.

• Fornece diferentes visoes para os mesmos dados.

SigA

Padrões de Projeto

• Facade– Oferece um ponto centralizado e unificado

para um conjunto de interfaces em um subsistema ou do sistema como um todo, que representa o conjunto de serviços oferecidos. O SigA implementa a Fachada como um ponto de acesso único para as funcionalidades, isolando os diversos componentes do sistema

SigA

Padrões de projeto (2)

• PDC –Persistent Data collections– Destrincha cada coleção persistente de dados

em duas classes e uma interface: uma classe Cadastro da coleção propriamente dita e uma classe Repositório que implementa uma forma de persistência física específica, em conjunto com uma interface para isolá-la do Cadastro

SigA

Padroes de projeto(3)

• Singleton– Assegura que a classe terá uma única

instância e provê um ponto único de acesso a ela.

– é usado, portanto, dentro da classe Fachada, para limitar a sua instância, acessível a partir de um único ponto específico.

SigA

Arquitetura finalTelaR elatorioInferencia

fazerInferencia()

+ / N ew Port1 : protocoloR elatorio

<<Capsule>>

Telainform acao

consultaInadim plentes()

+ / ConsultaInadim plente : consultaInadim plentes+ / N ew Port1 : consultaInadim plentes

<<Capsule>>TelaPesquisa

efetuarPesquisa()detalharAluno()

+ / N ew Port1 : ListaAlunos

<<Capsule>>

ListaAlunos

dadosPesquisa ()

listaAlunos ()

<<Protocol>>

+ / N ew Port1

<<Port>>

+ / N ew Port1

<<Port>>

protocoloR elatorio

codAluno ()

exibeR elatorio ()

<<Protocol>>

+ / N ew Port1

<<Port>>

+ / N ew Port1

<<Port>>

consultaInadim plentes

solicitacaoInform acao ()

visao ()

<<Protocol>>

+ / N ew Port1

<<Port>>

+ / N ew Port1

<<Port>>

InteracaoFiliais

consultaInadim plentes ()

dadosInadim plentes ()

<<Protocol>>

controladorInform acao

ConsultaInadim plenteFilial()

+ / N ew Port1 : consultaInadim plentes+ / N ew Port2 : InteracaoFiliais

<<Capsule>>

+ / N ew Port1<<Port>>

+ / N ew Port1<<Port>>

+ / N ew Port2

<<Port>>

+ / N ew Port2

<<Port>>

Filial

codigo

CadastroFilial

ConsultaFilial()

<<entity collection>>

IR epositorioFilial

R epositorioFilialBD RCom unicacaofilial

+ / N ew Port1 : InteracaoFiliais

<<Capsule>>

+ / N ew Port1

<<Port>>

+ / N ew Port1

<<Port>>

ISubsistem aCom unicacaoFilial

FachadaCom unicacaoFilial

SubSistem aVisao<<Subsystem >>

ISubsistem aVisao

fachada

efetuarPesquisa()fazerInferencia()consultarInadim plentes()detalharAluno()

+ / N ew Port1 : ListaAlunos+ / N ew Port2 : protocoloR elatorio+ / N ew Port3 : consultaInadim plentes

<<Capsule>>

+ / N ew Port1

<<Port>>

+ / N ew Port1

<<Port>>

+ / N ew Port2<<Port>>

+ / N ew Port2<<Port>> + / N ew Port3

<<Port>>

+ / N ew Port3

<<Port>>

CadastroH istorico

historicAluno()

<<entity collection>>

IR epositorioH istorico

R epositorioH istorico

H istorico

AlunoIR espositorioAluno

R epositorioAluno

CadastroAluno

procuraAluno()

<<entity collection>>

ControladorG eral

detalhaAluno()fazernferencia()inferencia()

<<Control>>

CadastroD isciplina

procuraD isciplina()

<<entity collection>>

IR epositorioD isciplina

R epositorioD isciplina

D isciplina

CadastroAtividadeExtra

procuraAtividadeExtra()

<<entity collection>>

IR epositorioAtividadeExtra

Periodo

AtividadeExtra

R epositorioAtividadeExtra

SigA

Referências

• Developing Applications with Java™ and UML

• Visual Modeling With Rational Rose and Uml• IF718 – Análise e Projeto de Sistemas• Documento de Requsitos SigA• Documento de Analise SigA• Documento de Arquitetura SigA

SigA

SigASistema Gestor de Alunos

Aline Timóteo

Denise Narciso

Flávia Falcão

Nara Falcão

{alt,damn,fmcf2,naf}@cin.ufpe.br

top related