MODELO ESSENCIAL Modelo Comportamental Thelma Elita Colanzi Lopes [email protected] MODELO COMPORTAMENTAL definido do ponto de vista interno; descreve de que maneira o sistema reage, internamente, aos estímulos vindos do exterior; mostra quais as ações que o sistema deve executar para responder, adequadamente, aos eventos previstos no modelo ambiental; Componentes do modelo comportamental: – Um conjunto completo de Diagramas de Fluxo de Dados (DFD´s) em níveis – Dicionário de Dados, incluindo um conjunto de especificações de processos primitivos – Diagrama Entidade-Relacionamento (DER) – Diagramas de Transição de Estados (DTEs) 2 Modelo Comportamental 1º passo - Desenhar o DFD Preliminar a partir do Diagrama de Contexto e da Lista de eventos obtêm-se o particionamento do sistema em funções; – para cada evento do sistema desenha-se uma bolha (função/processo); – nome da bolha: de acordo com a resposta que o sistema deve dar ao evento associado; – desenham-se as entradas e saídas apropriadas de modo a que a bolha seja capaz de emitir a resposta necessária e desenham-se os depósitos, como for mais adequado, para comunicação entre as bolhas; 3 Modelo Comportamental 2º passo - Desenhar os DFD´s de níveis inferiores partindo do DFD Preliminar, pode-se, usando a abordagem top-down decompor as funções encontradas para obter os DFD´s de níveis mais baixos; via de regra, o nível de abstração mais baixo do DFD é composto apenas por funções primitivas; 3º passo – (opcional) Desenhar o DFD nível 1 obtido pelo agrupamento de funções que tenham ligações (através dos depósitos) entre si, utilizando a abordagem bottom-up; ao encontrar um grupo de processos, no DFD Preliminar, relativo ao mesmo depósito, sem que outros processos desse DFD se refiram a esse depósito, então, crie uma bolha em nível mais alto que oculte esse depósito; para chegar no DFD nível 0 => pode-se ter outros níveis de DFD; 4 Modelo Comportamental 4º passo - Elaborar o Diagrama Entidade-Relacionamento ? 5º passo - Elaborar o Dicionário de Dados 6º passo - Elaborar os Diagramas de Transição de Estados extremamente necessários quando se trata de sistemas em temporeal; 5 Diretrizes para a Elaboração do DFD (Yourdon) 1) Escolher nomes significativos para os processos, fluxos de dados, depósitos de dados e entidades externas – rotular o processo identificando o papel e não a pessoa; utilizar um verbo que represente a ação e um objeto; – os nomes escolhidos devem provir de um vocabulário conhecido pelo usuário; – o analista deve ter conhecimento mínimo sobre o domínio; 2) Numerar processos – um modo prático de referenciar os processos de um DFD é numerá-los; isso não corresponde à uma seqüência de execução; – a numeração dos processos auxilia na identificação de processos de níveis inferiores; 6 Diretrizes para a Elaboração do DFD (Yourdon) 3) Evitar DFDs complexos demais – o propósito do DFD é modelar corretamente as funções que o sistema deve executar e as interações entre elas, porém deve ser lido e compreendido; – modelar o DFD em uma série de níveis => DFDs de nível inferior oferecem detalhes dos processos de nível imediatamente superior (cada nível deve ter até 6 funções; para outros autores de 5 a 9 funções); – o refinamento de DFDs ocorre até que sejam alcançadas as funções primitivas; 7 Diretrizes para a Elaboração do DFD (Yourdon) 4) Refazer os DFDs tantas vezes quantas forem necessárias até se obter uma boa estética, um DFD tecnicamente correto e aceitável pelo cliente; 5) Certificar-se de que o DFD seja logicamente consistente – Evitar poços sem fundos (buracos negros) => processos que têm entradas mas não têm saídas; – Evitar processos com geração espontânea => processos que têm saídas mas não têm entradas; a c a Função z b c Função z d b d 8 Diretrizes para a Elaboração do DFD (Yourdon) 5) Certificar-se de que o DFD seja logicamente consistente (cont.) – Cuidado com fluxos e processos sem nome; – Cuidado com depósitos de apenas leitura ou apenas escrita => um depósito típico deve ter entradas e saídas; – A continuidade do fluxo de informação deve ser mantida, ou seja, a entrada e a saída em cada refinamento devem permanecer a mesma; – É conveniente que, em cada nível de abstração, as funções estejam em um grau de detalhamento próximo; 9 Estudo de Caso Sistema Hotelaria (parcial) Modelo Comportamental – DFD Preliminar Nr. Evento Tipo 1 Cliente F reserva quarto Estímulo Ações Respostas Externas Pedido_reserva Reservar quarto Quarto_reservado ou quarto_indisponivel dados_reserva pedido_reserva Cliente * 1. Reservar quarto reservas q_reservado quartos Explosão 11 Modelo Comportamental – DFD Preliminar Nr. Evento Tipo Estímulo Ações 2 Cliente cancela reserva F Pedido_cancela mento_reserva Cancelar reserva Respostas Externas reservas Cliente pedido_cancelamento_ reserva 2. Cancelar reserva quartos quarto_disponível reserva_cancelada 12 Modelo Comportamental – DFD Preliminar Nr. Evento Tipo 3 É hora de cancelar reserva T Estímulo Ações Respostas Externas Cancelar não comparecimento quartos reservas quartos_disponíveis 3. Cancelar não comparecimento reservas_canceladas 13 Modelo Comportamental – DFD Preliminar Nr. Evento Tipo 4 Cliente registra- F se no hotel Estímulo Ações Respostas Externas Dados_ cliente Cliente_rejeitado ou cliente_registrado Registrar hospedagem do cliente dados_cliente_cad dados_cliente Cliente * 4. Registrar hospedagem de cliente clientes quarto_ocupado d_reserva_efetuada quartos reservas Explosão 14 Modelo Comportamental – DFD Preliminar Nr. Evento Tipo Estímulo Ações Respostas Externas 5 Cliente solicita saída do hotel F Pedido_saída Providenciar saída do cliente Conta_fornec Cliente reservas pedido_saída conta_ fornec * 5. Providenciar saída do cliente d_reserva quarto_disp_limpeza quartos Explosão 15 Modelo Comportamental – DFD Preliminar Nr. Evento Tipo Estímulo Ações Respostas Externas 6 Cliente paga a conta F Pagto_conta Efetuar pagto conta Recibo clientes Cliente pagto_conta recibo * 6. Efetuar pagto de conta d_cli hospedagem_pg reservas 16 Modelo Comportamental – DFD Preliminar Nr. Evento Tipo Estímulo Ações 7 F Disponibilizar quarto Gerente disponibiliza o quarto Ger_disp_quarto Respostas Externas Gerente quartos ger_disp_quarto 7. Disponibilizar quarto quarto_limpo 17 Modelo Comportamenal – DFD nível 1 3º passo – (opcional) Desenhar o DFD nível 1 obtido pelo agrupamento de funções que tenham ligações (através dos depósitos) entre si, utilizando a abordagem bottom-up; ao encontrar um grupo de processos, no DFD Preliminar, relativo ao mesmo depósito, sem que outros processos desse DFD se refiram a esse depósito, então, crie uma bolha em nível mais alto que oculte esse depósito; para chegar no DFD nível 1 => pode-se ter outros níveis de DFD; 18 Modelo Comportamenal – DFD nível 1 dados_reserva pedido_reserva Cliente reservas 1, 2, 3 Tratar reserva reserva_cancelada pedido_cancelamento_ reserva Gerente q_reservado quarto_disponível ger_disp_quarto quarto_limpo quartos quarto_ocupado quarto_disp_limpeza dados_cliente pedido_saída conta_fornec d_reserva_efetuada d_reserva 4, 5, 6 Tratar cliente d_cliente 7 Disponibilizar quarto clientes dados_cliente_cad 19 Modelo Comportamental Refinamento do DFD Preliminar – Explosão do Processo 1 quartos_cad pedido_reserva Cliente 1.1 Verificar disponibilidade quarto quartos quarto_indisponível quartos_disp. quarto_reservado 1.2 Efetuar reserva q_reserv. dados_reserva Voltar reservas 20 Modelo Comportamental Refinamento do DFD Preliminar – Explosão do Processo 4 dados_cliente Cliente cliente_rejeitado reservas 4.1 Verificar reserva d_reservas_cad d_cli_reserva 4.2 Cadastrar cliente dados_cliente_cad clientes d_reg_reserva d_reserva_cliente cliente_registrado 4.3 Efetuar Hospedagem cliente quarto_ocupado quartos Voltar 21 Modelo Comportamental Refinamento do DFD Preliminar – Explosão do Processo 5 clientes Cliente 5.1 Gerar conta pedido_saída conta_fornec d_cliente d_reserva reservas nr_quarto quartos 5.2 Tornar quarto disp. p/ limpeza quarto_disp_limpeza Voltar 22