Baixe o app para aproveitar ainda mais
Prévia do material em texto
CCT220 Aula 4: Diagramas de sequência Prof. Laércio Baldochi Diagramas de Interação São utilizados na modelagem dos aspectos dinâmicos dos sistemas Diagrama de seqüência Dá ênfase à ordenação temporal de mensagens Proporciona ao leitor uma indicação visual do fluxo de controle ao longo do tempo Diagrama de comunicação Dá ênfase à organização estrutural dos objetos que enviam e recebem mensagens Diagrama de seqüência Como elaborar Os objetos que participam da interação são colocados no nível superior do diagrama, ao longo do eixo x Objeto que inicia a interação é colocado mais a esquerda e objetos mais subordinados vão crescendo à direita As mensagens que esses objetos enviam e recebem são colocadas ao longo do eixo y em ordem crescente de tempo, de cima para baixo Diagrama de seqüência Exemplo : AtorUsuário : Usuário dados usuario cadastrar usuario( ) VerificarUsuarioCadastrado() msg “usuario cadastrado" tempo : AtorUsuário : Usuário dados usuario cadastrar usuario( ) VerificarUsuarioCadastrado() msg “usuario cadastrado" tempo Importante notar As linhas abaixo de cada objeto são chamadas linhas da vida Permitem determinar os períodos em que os objetos estão ativos : AtorUsuário : Usuário dados usuario cadastrar usuario( ) VerificarUsuarioCadastrado() msg “usuario cadastrado" tempo Importante notar A relação entre o fluxo de mensagens e as operações associadas a cada objeto Diagramas de seqüência e casos de uso A elaboração dos diagramas de seqüência pode estar ligada aos casos de uso Para cada caso de uso, pode ser indicado criar um diagrama de seqüência Isso não é uma regra Use o bom senso Exemplo:Consultório Caso de uso Cadastrar Paciente Fluxo Normal 1. Paciente fornece dados para cadastro; 2. O sistema verifica que o paciente não foi cadastrado; 3. O sistema adiciona o paciente e emite Msg2 "Cliente cadastrado." Fluxo Alternativo Caso 2: Paciente já cadastrado 2. O sistema verifica que o paciente já é cadastrado 2.1. O sistema emite a Msg2 "Cliente cadastrado anteriormente." 2.2. Abandonar o use case. Diagrama de seqüência Cadastrar paciente – fluxo normal : AtorPaciente : Paciente dados paciente cadastrarPaciente( ) VerificarPacienteCadastrado() msg “paciente cadastrado " Diagrama de seqüência Cadastrar paciente – fluxo alternativo : AtorPaciente : Paciente dados paciente cadastrarPaciente( ) VerificarPacienteCadastrado() msg “paciente cadastrado anteriormente " Caso de uso: marcar consulta Fluxos Alternativos Caso 2: Paciente deseja escolher horários de outro dia 3. O paciente deseja outro horário 3.1. O sistema retorna ao passo 1; Caso 3: Paciente ainda não foi cadastrado 6 O sistema verifica que o paciente não é cadastrado 6.1. O sistema inicia o use case cadastrar paciente; 6.2. O sistema continua com o passo 7 Fluxo Normal 1. O paciente solicita consulta para um determinado dia; 2. O sistema abre a agenda do dentista e mostra os horários de atendimento para o dia escolhido; 3. O paciente confirma o horário escolhido ao sistema; 4. O sistema solicita o nome do paciente; 5. O paciente informa o nome; 6. O sistema verifica que já existe o cadastro do paciente; 7. O sistema agenda, no horário e data escolhidos, a consulta com este paciente; 8. O sistema emite a msg1 "Consulta Agendada" D ia g r am a de S e q üê nc ia : m a r ca r co ns ul ta – c u r so n or m al Diagrama de Classes Elaboração A elaboração do diagrama de classes para um sistema de grande porte é uma tarefa complexa Elaborar previamente os diagramas de casos de uso e de seqüência pode ajudar na construção do diagrama de classes Diagrama de Classes Elaboração Possível seqüência de elaboração Identificação dos atores, objetos e seus atributos Elaboração dos casos de uso Ajuda a compreender os relacionamentos existentes Elaboração da versão inicial do diagrama de classes Classes + atributos Relacionamentos Elaboração dos diagramas de seqüência Ajuda a identificar as operações realizadas pelos diferentes objetos do modelo Elaboração da versão final do diagrama de classes Classes + atributos + métodos (operações) Relacionamentos Exemplificando Passo 1 Para cada objeto que se deseja guardar informa- ções, cria-se uma classe Os substantivos identificados no texto fornecem os atributos para as classes Paciente Exame Agenda Horário Limpeza/Restauração Consulta Serviço •Nome •RG •Endereço •Telefone •Data nascimento •Profissão •Hora •Data •Tipo de serviço Exemplificando Passo 2 A compreensão dos requisitos permite identificar os relacionamentos A elaboração dos casos de uso auxiliam na compreensão dos requisitos No passo 2 constrói-se o diagrama de classes parcial (próx. Slide) Exemplificando Passo 2 Limpeza/Restauração material usado dente tratado Exame medida preventiva tipo de exame Serviço descrição preço Horário data hora Consulta histórico 0..n0..n 0..n0..n realiza 1..n0..1 1..n0..1 marcada em Agenda ano n 1 n 1 é formada por Paciente nome rg endereço telefone data de nascimento Profissão 0..n 10..n 1 Solicita consulta Exemplificando Passo 3 A elaboração dos diagramas de seqüência auxiliam na identificação das operações necessárias à realização de cada evento Passo 4 A partir das operações identificas, constrói-se o diagrama de classes final Exemplificando Passo 4 Exame medida preventiva tipo de exame Limpeza/Restauração material usado dente tratado Horário data hora ObterHorariosDisponiveis() AlterarDisponibilidadeHorário() Serviço descrição preço RegistrarServiço() RecuperarServiço() Consulta histórico RegistarConsulta() RecuperarHistóricoConsulta() 0. .1 1..n0. .1 1..n marcada em 0..n 0..n0..n 0..n realiza Paciente nome rg endereço telefone data de nascimento Profissão VerificarPacienteCadastrado() AdicionarPaciente() ObterPaciente() ObterConsulta() AdicionarConsulta() LocalizarPaciente() CadastrarPaciente() Agenda ano AbrirAgenda() ResgatarAgendaDia() ResgatarAgenda2Dias() ResgatarAgendaSemana() 1 n 1 n é formada por 10..n0..n consulta 1 Exercício Elabore o diagrama de classes completo (atributos + operações) para o sistema da pousada Entrega: hoje Slide 1 Slide 2 Slide 3 Slide 4 Slide 5 Slide 6 Slide 7 Slide 8 Slide 9 Slide 10 Slide 11 Slide 12 Slide 13 Slide 14 Slide 15 Slide 16 Slide 17 Slide 18 Slide 19 Slide 20
Compartilhar