SigA Sistema Gestor de Alunos Aline Timóteo Denise Narciso Flávia Falcão Nara Falcão...

Post on 07-Apr-2016

212 views 0 download

Transcript of SigA Sistema Gestor de Alunos Aline Timóteo Denise Narciso Flávia Falcão Nara Falcão...

SigASistema Gestor de Alunos

Aline TimóteoDenise Narciso

Flávia FalcãoNara FalcãoUniversidade Federal de Pernambuco

Centro de Informática 01/03/2005

Índice

• Descrição do Sistema• Consultar Inadimplentes

– Projeção das CápsulasDiagramas de estadosEstrutura das Cápsulas

• Consultar Alunos por Disciplina– Projeção do Caso de uso

• Subsistema Visão– Projeção do Subsistema

Descrição do Sistema (1)

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

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

• Gestor de Alunos

Descrição do Sistema (2)

Consultar InadimplentesProjeção das Cápsulas

Consultar Inadimplentes

• Este caso de uso permite que o usuário pesquise os inadimplentes nas diversas filiais da instituição de ensino que utilizam o sistema SIGA.

Diagrama de CápsulasTelaInform acao

consultarInadim plentes()

+ / portaFachada : ProtocoloInform acao~+ / portaU suario : ProtocoloU suario

<<Capsule>>

Fachada

detalharAlunos()fazerInferencia()pesquisarAlunos()

+ / portaTelaInform acao : ProtocoloInform acao+ / portaControladorInform acao : ProtocoloInform acao~

<<Capsule>>

ControladorInform acao

consultarInadim plentes()construirVisao()

+ / portaCom unicacaoFilial : ProtocoloInform acao~+ / portaFachada : ProtocoloInform acao

<<Capsule>>

Com unicacaoFilial

listaInadim plentes : String

+ / portaControladorInform acao : ProtocoloInform acao+ / portaCom unicacaoFilialA : ProtocoloInform acao~+ / portaCom unicacaoFilialB : ProtocoloInform acao~

<<Capsule>>

ProtocoloInform acao

solicitacaoInform acao ()

<<Protocol>>

Com unicacaoFilialA

+ / portaCom unicacaoFilial : ProtocoloInform acao+ / relogio : Tim ing

<<Capsule>>

Com unicacaoFilialB

+ / portaCom unicacaoFilial : ProtocoloInform acao+ / relogio : Tim ing

<<Capsule>>

M ain<<Capsule>>

U suario

+ / portaTela : ProtocoloU suario~+ / relogio : Tim ing

<<Capsule>>ProtocoloU suario

solicitarInadim plente ()

<<Protocol>>

+ / portaTela~

<<Port>>

+ / portaTela~

<<Port>>

+ / portaU suario

<<Port>>

+ / portaU suario

<<Port>>

+ / portaTelaInform acao

<<Port>>

+ / portaTelaInform acao

<<Port>>

+ / portaFachada~ <<Port>>+ / portaFachada~ <<Port>>

+ / portaCom unicacaoFilial~

<<Port>>

+ / portaCom unicacaoFilial~

<<Port>>

+ / portaControladorInform acao

<<Port>>

+ / portaControladorInform acao

<<Port>>

+ / portaControladorInform acao~<<Port>>

+ / portaControladorInform acao~<<Port>>

+ / portaCom unicacaoFilial

<<Port>>

+ / portaCom unicacaoFilial

<<Port>>

+ / portaCom unicacaoFilial<<Port>>

+ / portaCom unicacaoFilial<<Port>>

+ / portaCom unicacaoFilialA~

<<Port>>

+ / portaCom unicacaoFilialA~

<<Port>>

+ / portaCom unicacaoFilialB~

<<Port>>

+ / portaCom unicacaoFilialB~

<<Port>>

+ / portaFachada<<Port>>

+ / portaFachada<<Port>>

Diagrama de Estados das Cápsulas (1)

• Usuário

EsperandoSolicitacao

Initial

acaoU suario

Initial

acaoU suario

U suario

+ / portaTela : ProtocoloU suario~+ / relogio : Tim ing

<<Capsule>>

Diagrama de Estados das Cápsulas (2)

• TelaInformacao

EsperandoSolicitacao

EsperandoD ados

Initial

recebeuSolicitacaorecebeuD ados

Initial

recebeuSolicitacaorecebeuD ados

Diagrama de Estados das Cápsulas (3)

• Fachada

EsperandoSolicitacao

EsperandoD ados

Initial

recebeuSolicitacaorecebeuD ados

Initial

recebeuSolicitacaorecebeuD ados

Fachada

detalharAlunos()fazerInferencia()pesquisarAlunos()

+ / portaTelaInform acao : ProtocoloInform acao+ / portaControladorInform acao : ProtocoloInform acao~

<<Capsule>>

Diagrama de Estados das Cápsulas (4)

• ControladorInformacao

EsperandoSolicitacao

EsperandoD ados

Initial

recebeuSolicitacaorecebeuD ados

Initial

recebeuSolicitacaorecebeuD ados

Diagrama de Estados das Cápsulas (5)

• ComunicacaoFilial

esperandoSolcitacao

esperandoD adosFiliais

esperandoB esperandoA

Initial

recebeuSolicitacao

recebeuD adosBrecebeuD adosA

recebeuD adosA

recebeuD adosB

Initial

recebeuSolicitacao

recebeuD adosBrecebeuD adosA

recebeuD adosA

recebeuD adosB

Diagrama de Estados das Cápsulas (6)

• ComunicacaoFilialA

EsperandoCom unicacao

EsperandoD ados

Initial

fecharCom unicacao

aguardarD ados

abrirCom unicacao

Initial

fecharCom unicacao

aguardarD ados

abrirCom unicacao

Diagrama de Estados das Cápsulas (7)

• ComunicacaoFilialB

EsperandoCom unicacao

EsperandoD ados

encerrarCom unicacao

aguardandoD ados

abrirCom unicacao

Initial

encerrarCom unicacao

aguardandoD ados

abrirCom unicacao

Initial

Estrutura das Cápsulas

/ com unicacaoFilialAR 1 : Com unicacaoFilialA

/ com unicacaoFilialBR 1 : Com unicacaoFilialB

/ com unicacaoFilialR 1 : Com unicacaoFilial

/ controladorInform acaoR 1 : ControladorInform acao / fachadaR 1 : Fachada

/ telaInform acaoR 1 : TelaInform acao

/ usuarioR 1 : U suario

+ / portaCom unicacaoFilial : ProtocoloInform acao

+ / relogio : Tim ing

+ / portaCom unicacaoFilial : ProtocoloInform acao

+ / relogio : Tim ing

+ / portaControladorInform acao : ProtocoloInform acao

+ / portaCom unicacaoFilialA : ProtocoloInform acao~

+ / portaCom unicacaoFilialB : ProtocoloInform acao~

+ / portaCom unicacaoFilial : ProtocoloInform acao~

+ / portaFachada : ProtocoloInform acao

+ / portaTelaInform acao : ProtocoloInform acao

+ / portaControladorInform acao : ProtocoloInform acao~

+ / portaFachada : ProtocoloInform acao~

+ / portaU suario : ProtocoloU suario

+ / portaTela : ProtocoloU suario~

+ / relogio : Tim ing

/ com unicacaoFilialAR 1 : Com unicacaoFilialA

+ / portaCom unicacaoFilial : ProtocoloInform acao

+ / relogio : Tim ing

/ com unicacaoFilialBR 1 : Com unicacaoFilialB

+ / portaCom unicacaoFilial : ProtocoloInform acao

+ / relogio : Tim ing

/ com unicacaoFilialR 1 : Com unicacaoFilial

+ / portaControladorInform acao : ProtocoloInform acao

+ / portaCom unicacaoFilialA : ProtocoloInform acao~

+ / portaCom unicacaoFilialB : ProtocoloInform acao~

/ controladorInform acaoR 1 : ControladorInform acao

+ / portaCom unicacaoFilial : ProtocoloInform acao~

+ / portaFachada : ProtocoloInform acao

/ fachadaR 1 : Fachada

+ / portaTelaInform acao : ProtocoloInform acao

+ / portaControladorInform acao : ProtocoloInform acao~

/ telaInform acaoR 1 : TelaInform acao+ / portaFachada

: ProtocoloInform acao~

+ / portaU suario : ProtocoloU suario / usuarioR 1 : U suario

+ / portaTela : ProtocoloU suario~

+ / relogio : Tim ing

Consultar Alunos por Disciplina

Projeção do Caso de Uso

Consultar Alunos por Disciplina (1)

• Este caso de uso permite listar os alunos que estão cursando ou cursaram uma disciplina

• Permite exibir detalhe dos alunos listados

Consultar Alunos por Disciplina (2)

Usuario : usuario TelaPesquisa Fachada ControladorGeral CadastroDisciplina

IRepositorioDisciplina RepositorioDisciplina CadastroHistorico IRepositorioHistorico RepositorioHistorico

ISubsistemaVisãoPeriodo

1: PesquisarAluno(IdDisciplina, situacaoAluno, criterio)

2: PesquisarAluno(IdDisciplina, situacaoAluno, criterio) 3: efetuarPesquisa(IdDisciplina, situacaoAluno, criterio)4: existe=procurarDisciplina(IdDisciplina)

5: procurarDisciplina(IdDisciplina) 6: existe=procurarDisciplina(IdDisciplina)

7: dados=[existe=true]procurarAluno(existe=procurarDisciplina(IdDisciplina), situacaoAluno, criterio)8: pesquisarAlunoDisciplina(idDisciplina, siatuacaoAluno, criterio)

9: dados=pesquisarAlunoDisciplina(idDisciplina, siatuacaoAluno, criterio)

11: criarVisao(dados)

10: detalharAluno(CodigoAluno)

12: detalharAluno(CodigoAluno) 13: detalharAluno(CodigoAluno)14: dados=historicoAluno(codigoAluno) 15: historicoAluno(codigoAluno)

16: dados=historicoAluno(codigoAluno)

18: criarVisao(dados)

17: dados=historicoAluno(codigoAluno)

Consultar Alunos por Disciplina (3)

RepositorioHistorico

pesquisarAlunoDisciplina(idDisciplina, situacaoAluno, criterio)()historicoAluno(codigoAluno)()

RepositorioDisciplina

procurarDisciplina(codigoDisciplina)()

IRepositorioDisciplina

procurarDisciplina(codigoDisciplina)()Aluno

codigoAlunocpfnomematricula

DisciplinacodigoDisciplinacargaHorariacreditosdificuldadedescricao

Periodonotasperiodo

Historico

IRepositorioHistorico

pesquisarAlunoDisciplina(idDisciplina, situacaoAluno, criterio)()historicoAluno(codigoAluno)()

TelaPesquisa

pesquisaAluno(idDisciplina, situacaoAluno, criterio)()detalharAluno(codigoAluno)()

CadastroHistorico

pesquisarAlunoDisciplina(idDisciplina, situacaoAluno, criterio)()historicoAluno(codigoAluno)()

cadastroDisciplina

procurarDisciplina(codigoDisciplina)()

ISubsistemaVisao

ControladroGeral

procurarDisciplina(codigoDisciplina)()procurarAlunoDisciplina(idDisciplina, situacaoAluno, criterio)()historicoAluno(codigoAluno)()criarVisão()()

Fachada

efetuarPesquisa(idDisciplina, situacaoAluno, criterio)()detalharAluno(codigoAluno)()

Subsistema VisãoProjeção do Subsistema

Subsistema Visão (1)

• Subsistema Interno• Coloca os dados que devem ser

exibidos ao usuário nos formatos disponíveis– Relatório– Gráfico– Tabela

Subsistema Visão (2)

• Diagrama de seqüência para o fluxo principal.

siga : user

FachadaVisao ControladorVisao

Relatorio

visao = criarVisao(Object)

visao = criarVisao(Object)

montaRelatorio(Object)

Subsistema Visão (3)

• Diagrama de seqüência para o fluxo secundário.

siga : user

FachadaVisao ControladorVisao

Grafico Tabela ISubsistemaAuxiliar : ISubsistema

mudarVisao(tipo, Object)visao = mudarVisao(tipo, Object)

[tipo=1]visao = montarGrafico(Object)

[tipo=2]visao = montarTabela(Object)

visao=montaGrafico(Object)

visao=montaTabela(Object)

Subsistema Visão (4)• Diagrama de Classes

Grafico

montaGrafico(object)()

Tabela

montaTabela(object)()

Relatorio

montaRelatorio(object)()

ISubsistemaAuxiliar

ISubsistemaVisao

Fachada Visao

criarVisao(object)()mudarVisao(object, tipo)()

Visao

montaVisao(object, tipo)()

ControladorVisao

criarVisao(object)()mudarVisao(object, tipo)()

SubsistemaAuxiliar<<subsystem>>

Subsistema Visão (5)• Dependência de Pacotes

SubsistemaVisao

SubsistemaAuxiliarControladores

Referências• Tutorial sobre UML -

http://www.umlnapratica.com.br/• Software Engineering – Ian

Sommerville• Disciplina de Analise e Projeto de

Sistema www.cin.ufpe.br/~if718