Prévia do material em texto
Caso de Uso e Descrição de Caso de Uso No processo de desenvolvimento de um sistema, a especificação de caso de uso torna-se essencial para registrar todo entendimento dos procedimentos que envolvem cada caso de uso na realização de suas atividades. Para especificação de caso de uso são utilizadas duas formas: Expandida e Não Expandida. A Expandida é utilizada para especificar Casos de Uso que possuem complexidade e apresentam regras e interações com outros casos de uso. A Não Expandida é aplicada aos casos de uso que não possuem complexidade e com poucas regras. O uso da descrição direciona a evolução do diagrama de caso de uso, buscando a reutilização e coesão. No escopo desta aula vamos ver como é realizada a Descrição de Caso de Uso Não Expandida e também as variações necessárias a observar no Diagrama de Caso de Uso para evolução, a partir da descrição de caso de uso. Descrição de Caso de Uso - não Expandida A Descrição de Caso de Uso - Não Expandida requer uma estrutura básica de representação composta pelo cabeçalho para identificar o caso de uso e uma descrição de procedimentos de forma narrativa. Nome: <nome do caso de uso> Descrição sucinta: < objetivo do caso de uso> Pré-condição: <condições necessárias para início de realização do caso de uso> Pós-condição:<toda situação deixada registrada após a execução do caso de uso> DESCRIÇÃO do PROCEDIMENTO <construção textual incluindo as regras necessárias> Vamos a um exemplo! Suponha o Diagrama de Caso de Uso representado na Figura 2, que demonstra uma situação de venda de produto e, quando finalizada, a Nota Fiscal é emitida. Vamos descrever o “Emitir Nota Fiscal”. Nome: Emitir Nota Fiscal Descrição sucinta: Caso de uso deve gerar informações fiscais da venda. Pré-condição: Venda finalizada (situaçãoVenda=”Finalizada”) Pós-condição: Venda disponível para entrega (situaçãoVenda=”Pronta para entrega”) Figura 1: Sistema vendas | Fonte: De autoria própria, 2022. DESCRIÇÃO do PROCEDIMENTO Caso de uso deve emitir informações de acordo com o Formulário Nota Fiscal (aparência), disponível na pasta de documentos do sistema. Deve-se considerar as vendas com situaçãoVenda=”Finalizada”. Praticando Descrição não expandida A prática na utilização das técnicas e métodos no processo de desenvolvimento é necessária para a construção do conhecimento. A busca por soluções diversificadas trará uma experiência importante no desempenho da atividade de um Engenheiro de Software. Vamos praticar! Suponha uma situação de negócio de um consultório médico, onde a secretária é responsável por agendar a consulta, buscar a disponibilidade dos médicos e cadastrar os dados do paciente, quando ainda não tiver cadastro na clínica. Construindo o Diagrama de Caso de Uso para essa parte descrita temos o seguinte modelo (Figura 2): A especificação dos casos de uso “Agendar Consulta” e “Manter Paciente” devem ser de forma Expandida, pois podemos imaginar que muitas ações estão envolvidas, já que no caso do “Agendar Consulta” estará gerindo os casos de uso e criando os dados da consulta e, o caso de uso “Manter Paciente” deverá tratar os procedimentos de inclusão, alteração e exclusão das informações de paciente, concorda? Desta forma, somente o caso de uso “Buscar horários médicos” poderá ser de forma Não Expandida, pois terá somente que disponibilizar a lista de médicos com horários disponíveis para a escolha do paciente. Então, como ficaria? Nome: Buscar horários médicos Descrição sucinta: Caso de uso deve apresentar a lista de médicos com disponibilidade de horários para atendimento. Pré-condição: ter disponibilidade de horário na agenda dos médicos. Figura 2: Sistema consultório (marcar consulta) | Fonte: De autoria própria, 2022. Pós-condição: horário de médico indisponibilizado. DESCRIÇÃO do PROCEDIMENTO Caso de uso deve receber os parâmetros de data e hora e recuperar a lista de dentistas com disponibilidade de atendimento para as informações recebidas em consulta. Para isso, o procedimento deve buscar as informações dos médicos, a agenda deles e confrontar com os horários já ocupados na agenda. As informações devem ser apresentadas em ordem cronológica de data e hora. Ter disponibilidade é estar com o tempo livre na data e horário requisitados. Notem que a especificação é desenvolvida livremente. Devemos pensar em inserir informações de forma clara. As informações são relacionadas aos formulários padrões, regras de negócio e dados a serem utilizados. Na descrição apresentada estão citadas as informações a serem buscadas, a necessidade de verificação da ocupação da agenda e, ainda, a classificação da informação a ser apresentada. Assim, ficará fácil o entendimento do que é necessário para o desenvolvimento do procedimento. Influência da descrição no diagrama de caso de uso Quando a especificação de caso de uso está sendo realizada são identificadas situações em que o engenheiro de software, a partir da análise dessas situações, pode ter a necessidade de remodelar o Diagrama de Caso de Uso. As modificações são aplicadas na intenção do projeto ter procedimentos coesos, reutilizáveis e fácil operação. Algumas situações podemos analisar. Suponha um mini mundo referente a um estacionamento onde é realizado o registro e controle de entrada e saída de veículos (Figura 3): Situação 1 - Criação de novo caso de uso - Conjunto de procedimentos repetidos em pontos diferentes da mesma descrição. Vamos analisar a descrição Expandida do caso de uso “Manter Veículo”: Nome: Manter Veículo Descrição sucinta: Manter atualizadas as informações dos veículos que utilizam o estacionamento. Pré-condição: —– Pós-condição: Informações de veículos atualizadas. Fluxo normal 1. Sistema apresenta tela 2. Ator informa placa de veículo 3. Sistema busca informações de veículo 4. Ator altera informações desejadas Figura 3: Sistema estacionamento | Fonte: De autoria própria, 2022. 5. Ator confirma 6. Sistema atualiza informações de VEÍCULO 7. Sistema encerra caso de uso Fluxo alternativo 2. Ator informa placa de veículo 2.1 Ator deseja incluir veículo 2.1.1 Ator clica botão NOVO 2.1.2 Ator informa dados de veículo 2.1.3 Ator clica CONFIRMA 2.1.4 Sistema cria VEÍCULO 2.1.5 Sistema retorna 3. 2.2 Ator deseja excluir veículo 2.2.1 Ator clica botão EXCLUIR 2.2.2 Ator informa placa de veículo 2.2.3 Sistema busca informações de veículo 2.2.4 Ator clica CONFIRMA 2.2.5 Sistema exclui VEÍCULO 2.2.6 Sistema encerra caso de uso. Notem que as sentenças de número 2 e 3 se repetem nas sentenças 2.2.2 e 2.2.3. É indicado que seja criado um caso de uso “Buscar Informações de Veículo”, que poderá ser reutilizado para essa especificação e por outras dentro do sistema, sempre que se desejar obter as informações do veículo. Dois procedimentos são necessários: alteração no Diagrama de Caso de Uso (Figura 4) e ajuste na descrição. Fluxo normal 1. Sistema apresenta tela 2. Sistema <include> “Buscar Informações de Veículo” 3. Ator altera informações desejadas 4. Ator confirma 5. Sistema atualiza informações de VEÍCULO 6. Sistema encerra caso de uso Fluxo alternativo 2. Ator informa placa de veículo 2.1 Ator deseja incluir veículo 2.1.1 Ator clica botão NOVO Figura 4: Sistema estacionamento (Situação 1) | Fonte: De autoria própria, 2022. 2.1.2 Ator informa dados de veículo 2.1.3 Ator clica CONFIRMA 2.1.4 Sistema cria VEÍCULO 2.1.5 Sistema retorna 3. 2.2 Ator deseja excluir veículo 2.2.1 Ator clica botão EXCLUIR 2.2.2 Sistema <include> “Buscar Informações de Veículo” 2.2.3 Ator clica CONFIRMA 2.2.4 Sistema exclui VEÍCULO 2.2.5 Sistema encerra caso de uso. Situação 2 - Unificação de casos de uso - Conjunto de procedimentos repetidos em descrições diferentes. Ainda na Figura 4 nota-se que os casos de uso “Bloquear Vaga” e “Liberar Vaga” representam o mesmo procedimento que é a alteração do estado da vaga que passará para “B” ou “L”, respectivamente. Em ambos os casos, a instruçãode atualização dos dados de vaga é a mesma, mudando somente o conteúdo de um atributo denominado aqui por estado. Recomenda-se neste tipo de ocorrência que seja criado um único caso de uso, conforme mostra a evolução na Figura 5: Situação 3 - Eliminação de caso de uso - Identifica-se a existência de casos de uso criados desnecessariamente em função de pertencimento ao caso de uso da interação, levando a atualização do mesmo conjunto de dados em locais diferentes. Observe a Figura 6: Analise a especificação do caso de uso “Registrar Entrada de Veículo”: …. Figura 5: Sistema estacionamento (Situação 2) | Fonte: De autoria própria, 2022. Figura 6: Sistema estacionamento (Situação 3) | Fonte: De autoria própria, 2022. Fluxo normal 1. Sistema apresenta tela 2. Ator informa placa de veículo 3. Sistema busca informações de veículo 4. Ator informa data e hora de entrada 5. Ator confirma 6. Sistema <include> “Atualizar Vaga” 7. Sistema cria informações de OCUPAÇÃO 8. Sistema <include> “Incluir data e hora de entrada” 9. Sistema encerra caso de uso Nota-se que o passo apresentado na sentença 8 é informação também de OCUPAÇÃO. Sendo assim, como a informação já pertence ao caso de uso e será guardada junto com as demais informações pertinentes à OCUPAÇÃO, torna-se desnecessário ter um caso de uso somente para as informações de data e hora de entrada. O ajuste será realizado tanto no Diagrama de Caso de Uso como na retirada de “Incluir data e hora de entrada” (Figura 6). Figura 6: Sistema estacionamento (Situação 3 - alterado) | Fonte: De autoria própria, 2022. Quanto à descrição, não terá o <include>. …. Fluxo normal 1. Sistema apresenta tela 2. Ator informa placa de veículo 3. Sistema busca informações de veículo 4. Ator informa data e hora de entrada 5. Ator confirma 6. Sistema <include> “Atualizar Vaga” 7. Sistema cria informações de OCUPAÇÃO /* em OCUPAÇÃO tem-se as informações: Placa, Vaga, Data entrada e hora de entrada */ 8. Sistema <include> “Incluir data e hora de entrada” 9. Sistema encerra caso de uso Muitas outras situações surgem e levam o engenheiro de software até a evolução do Diagrama de Caso de Uso. Reveja sempre! Outras formas de descrição do caso de uso A Descrição de Caso de uso pode ser apresentada em formatos diferentes, embora abrangendo as mesmas informações necessárias para detalhar o funcionamento do requisito representado no Caso de Uso. Um outro formato utilizado é apresentado na Tabela 1: Sob o modelo que se define ou escolhe para especificar um Caso de uso, é essencial que as informações sejam registradas para validação e refinamento no processo de desenvolvimento de sistemas. Atividade Extra No intuito de você ter a oportunidade de aprofundar o conhecimento na construção de caso de uso e sua especificação, apresento o documento “Modelos de Sistemas de Caso de Uso” do Profª Auxiliadora Freire, que pode ser facilmente encontrado no Google. Referências Bibliográficas MEDEIROS, E. Desenvolvendo software com UML 2.0 definitivo. São Paulo: Pearson Education do Brasil, 2006. Tabela 1 - Outras formas de descrição de Caso de Uso | Fonte: De autoria própria, 2022. SOMMERVILLE, I. Engenharia de software. 10.ed. São Paulo: Pearson Education do Brasil: 2018. Ir para exercício