Diagramas de Casos de Uso



Documentos relacionados
4.1. UML Diagramas de casos de uso

Unified Modeling Language. Diagramas de Implementação

Resolução da lista de exercícios de casos de uso

UML Unified Modeling Language. Professor: André Gustavo Bastos Lima

Orientação a Objetos I

Franklin Ramalho Universidade Federal de Campina Grande - UFCG

DESENVOLVENDO O SISTEMA

Guia de utilização da notação BPMN

Modelos de Sistemas Casos de Uso

Utilizando os Diagramas da UML (Linguagem Unificada de Modelagem) para desenvolver aplicação em JSF

Casos de uso Objetivo:

Conteúdo. 1. Introdução. 2. Levantamento de Requisitos. 3. Análise Orientada a Objetos. 4. Projeto Orientado a Objetos 5. UML. 6.

Engenharia de Requisitos Estudo de Caso

Gestão de projectos na Web

UML & Padrões Aula 3. UML e Padrões - Profª Kelly Christine C. Silva

Uma visão mais clara da UML Sumário

exercícios - cap Construa uma máquina de estados que ilustre os requisitos de uma máquina multibanco (levantamento de dinheiro)

MODELAGEM DE SISTEMAS

2 Diagrama de Caso de Uso

Autoria:Aristófanes Corrêa Silva Adaptação: Alexandre César M de Oliveira

Casos de Uso O que é. Casos de Uso. Objetivos de um Caso de Uso. Atores. Atores e Casos de Uso. Diagramas de Caso de Uso

04/07/2015 UML. Prof. Esp. Fabiano Taguchi DEFINIÇÃO DE REQUSIITOS

Diagrama de Estrutura Composta

Aula 5 UML: Casos de Uso

Diagrama de Casos de Uso

4.4. UML Diagramas de interacção

Desenvolvimento estruturado versus orientado a objetos.

3.1 Definições Uma classe é a descrição de um tipo de objeto.

Capítulo 2. Processos de Software Pearson Prentice Hall. Todos os direitos reservados. slide 1

Notas de Aula 04: Casos de uso de um sistema

Introdução a UML. Introdução a UML (Unified Modeling Language)

exercícios - cap. 4 1

GereComSaber. Disciplina de Desenvolvimento de Sistemas de Software. Sistema de Gestão de Serviços em Condomínios

Modelagem de Casos de Uso (Parte 1)

Mauricio Barbosa e Castro

ESTENDENDO A UML PARA REPRESENTAR RESTRIÇÕES DE INTEGRIDADE

ANÁLISE E PROJETO ORIENTADO A OBJETOS. Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com

Engenharia Informática

O Processo de Engenharia de Requisitos

MAPEAMENTO OBJETO RELACIONAL: UM ESTUDO DE CASO

Trabalho de Desenvolvimento de Sistemas de Software GereComSaber 2ª Fase

Universidade do Minho Licenciatura em Engenharia Informática

Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios

UNIVERSIDADE DE MOGI DAS CRUZES Centro de Ciências Exatas e Tecnológicas

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO

Casos de Uso. Professor MSc Wylliams Barbosa Santos wylliams.wordpress.com Laboratório de Programação

Desenvolvimento de uma Etapa

Utilização da modelagem UML em um sistema de gerenciamento de uma franquia do setor de alimentação

Micro Mídia Informática Fevereiro/2009

UML: Casos de Uso. Projeto de Sistemas de Software

UML - Unified Modeling Language

Curso: Engenharia de Software com Ênfase em Padrões de Software (UECE Universidade Estadual do Ceará) RUP

Engenharia de Software e Sistemas Distribuídos. Enunciado Geral do Projecto

Bem-vindo ao curso delta Gerenciamento de peso para a versão 9.1. Este curso aborda a nova solução de peso introduzida nessa versão.

Itens estruturais/caso de uso. Itens estruturais/classe ativa. Itens estruturais/componente. Itens estruturais/artefatos. Itens comportamentais

Introdução Ciclo de vida tradicional de desenvolvimento Prototipagem Pacotes de software Desenvolvimento de 4ª geração Terceirização

Visão Artificial Para a Indústria. Manual do Utilizador

Mapa Mental de Engenharia de Software - Diagramas UML

REQUISITOS DE SISTEMAS

Sistemas Distribuídos Processos I. Prof. MSc. Hugo Souza

Abordagem simples aos modos de falha com recurso a um software de organização e gestão da manutenção

Introdução à Programação B Licenciatura em Engenharia Informática. Enunciado do trabalho prático. Quem quer ser milionário? 20 de Dezembro de 2007

Engenharia de Software III

Unisant Anna Gestão Empresarial com ERP 2014 Modelagem de Sistemas - UML e MER

GBD PROF. ANDREZA S. AREÃO

1 UML (UNIFIED MODELING LANGUAGE)

QUESTÕES PARA ESTUDO DIAGRAMA DE CLASSE

Modelagem de Processos. Prof.: Fernando Ascani

Requisitos de Software

CURSO DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS

Introdução ao RUP Rational Unified Process. por Denize Terra Pimenta Outubro/2004

Exemplo de Modelagem Orientada a Objetos

2 Engenharia de Software

MANUAL DA SECRETARIA

Análise e Projeto de Sistemas. O que é modelagem. O que é modelagem. Tripé de apoio ao desenvolvimento. Notação: UML. Ferramenta: Rational Rose.

INOVAÇÃO PORTUGAL PROPOSTA DE PROGRAMA

UML e a Ferramenta Astah. Profa. Reane Franco Goulart

Sistemas Operacionais. Prof. André Y. Kusumoto

Especificação Operacional.

Fundamentos de Teste de Software

Licenciatura em Informática. - Análise e Conceção de Sistemas de Informação. Gestão de Condómino. Documento de Análise.

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

PARLAMENTO EUROPEU. Comissão dos Assuntos Jurídicos PE v01-00

PROCESSOS DE CRIAÇÃO DE APLICATIVOS

Eduardo Bezerra. Editora Campus/Elsevier

UNIVERSIDADE DO ESTADO DE SANTA CATARINA - UDESC DCC Departamento de Ciência da Computação Joinville-SC

Prof. Raul Sidnei Wazlawick UFSC-CTC-INE. Fonte: Análise e Projeto de Sistemas de Informação Orientados a Objetos, 2ª Edição, Elsevier, 2010.

c. Técnica de Estrutura de Controle Teste do Caminho Básico

Manual das planilhas de Obras v2.5

A SEGUIR ALGUMAS DICAS PARA O DESENVOLVIMENTO DE UM PROJETO CIENTÍFICO

Casos de Uso - definições

Manual do Usuário - ProJuris Web - Biblioteca Jurídica Página 1 de 20

Relatório SHST

Transcrição:

UML Unified Modeling Language Diagramas de Casos de Uso José Correia, Março 2006 (http://paginas.ispgaya.pt/~jcorreia/) Objectivos O objectivo de um diagrama de casos de uso de um sistema é mostrar para que serve o sistema (quais são os usos possíveis do sistema), ignorando a forma como o sistema está organizado internamente. Mais precisamente, permite capturar o comportamento (funcionalidades) do sistema do modo como é visto pelos utilizadores, sem ter de especificar como é que esse comportamento é implementado. Os diagramas de casos de uso descrevem: o contexto do sistema as funcionalidades do sistema (os casos de uso) e, possivelmente, alguns requisitos não funcionais (os que têm a ver com casos de uso particulares) José Correia UML Diagramas de Casos de Uso 2

Elementos da UML O diagrama de casos de uso de um sistema contém: Linha que define a fronteira do sistema entre o sistema físico e os actores que com ele interagem Actores (fora do sistema) Casos de uso (dentro do sistema) Associações de interacção entre actores e casos de uso Um diagrama de casos de uso também pode conter: Relações de dependência entre casos de uso - de extensão (estereótipo «extend») - de inclusão (estereótipo «include») Relações de generalização - entre casos de uso ou entre actores José Correia UML Diagramas de Casos de Uso 3 Exemplo José Correia UML Diagramas de Casos de Uso 4

Actores Um actor...... é um tipo de utilizador do sistema... é alguém, ou alguma coisa, que interage com o sistema Aluno Professor pode ser qualquer coisa humano, dispositivo de hardware, outro sistema, etc.... é, como iremos ver, uma classe (de objectos externos ao sistema). A mesma pessoa, ou coisa, pode corresponder a vários actores de acordo com Booch, um actor representa um conjunto coerente de papéis que utilizadores de um sistema desempenham quando interagem com os casos de uso do sistema Actores Recursos do sistema Recursos são pessoas, máquinas, etc., que pertencem ao sistema e que são usados para levar a cabo tarefas dentro do sistema José Correia UML Diagramas de Casos de Uso 5 Actores: Exemplos e Notação Ex.1 Actores em relação a um negócio de restauração: Fornecedor Cliente Ex.2 Actores em relação a um software de gestão de restaurantes: Administrador do sistema Empregado da caixa Empregado de mesa Os actores são representados por ícones, ou por classes, com estereótipo «actor» Cliente ou «actor» Cliente José Correia UML Diagramas de Casos de Uso 6

Casos de Uso (Use Cases) Solicitar Lista de Cursos Um caso de uso é um padrão de comportamento que o sistema exibe e pode corresponder a: uma funcionalidade do sistema um tipo de interacção entre um ou mais actores e o sistema com um determinado objectivo um processo de negócio (no contexto de um sistema de negócio) Um caso de uso é uma sequência de acções relacionadas, incluindo variantes, que um sistema realiza para produzir um resultado observável com valor para um actor (que interage com esse caso de uso) a sequência concreta de acções pode variar de instância para instância do caso de uso (daí se falar em incluindo variantes ) as instâncias de um caso de uso são as ocorrências concretas do caso de uso Os casos de uso descrevem o que um sistema faz e não o modo como faz José Correia UML Diagramas de Casos de Uso 7 Casos de Uso: Exemplos e Notação Exemplo de casos de uso num negócio de restauração: Servir almoço Servir jantar Comprar bens Um caso de uso é representado por uma elipse, com o nome do caso de uso dentro ou por baixo da elipse Servir almoço ou Servir almoço Os nomes dos casos de uso podem ser dados na perspectiva do sistema ou do actor José Correia UML Diagramas de Casos de Uso 8

Exemplo Restaurante Servir almoço Cliente Servir jantar Comprar bens Fornecedor Associações entre actores e casos de uso mostram que actores interagem com que casos de uso são representadas, normalmente, por linhas sem qualquer adorno José Correia UML Diagramas de Casos de Uso 9 Documentar Casos de Uso O diagrama de casos de uso deve ser acompanhado de descrições dos actores e casos de uso Pode-se (deve-se!) especificar o comportamento de cada caso de uso descrevendo o fluxo de eventos de forma textual documentação escrita do ponto de vista do actor - indicar o que o sistema deve fornecer ao actor, quando o caso de uso é executado Convém indicar: como é que o caso de uso começa e acaba o fluxo básico (principal) de eventos fluxos alternativos de comportamento fluxos excepcionais de eventos (ex: respostas a erros) José Correia UML Diagramas de Casos de Uso 10

Descrição de Casos de Uso (cont.) Exemplo do restaurante (simplificado): Servir almoço: um cliente vem ao restaurante e é-lhe servido almoço. O cliente escolhe o que pretende de um menu de almoços, com dois pratos do dia e vários outros pratos de preparação rápida. Servir jantar: um cliente vem ao restaurante e é-lhe servido o jantar. O cliente pode escolher um prato de um menu bastante variado ou pode até pedir um prato com uma composição por ele indicada. Comprar bens: são adquiridos os ingredientes necessários para a confecção dos pratos que constam do menu. Inclui-se aqui tanto o planeamento das aquisições, como a realização das aquisições a fornecedores do restaurante. Um caso de uso pode também ser descrito através de diagramas de interacção ou outros diagramas dinâmicos - conforme iremos ver quando falarmos desses tipos de diagramas UML José Correia UML Diagramas de Casos de Uso 11 Relação extend entre Casos de Uso Podem-se organizar os casos de uso em casos básicos e extensões aos casos básicos A caso básico «extend» B extensão uma instância do caso de uso A pode incluir (sujeito a condições especificadas na extensão) o comportamento especificado por B o caso básico deve fazer sentido sozinho os actores interagem com o caso básico (A) as extensões traduzem partes, ou modalidades, acrescentadas condicionalmente (opções) notação: dependência com estereótipo «extend» José Correia UML Diagramas de Casos de Uso 12

Relação extend entre Casos de Uso (cont.) Exemplo: «extend» Servir uma entrada Servir jantar «extend» «extend» Servir à luz de velas Servir uma sobremesa Podem-se indicar explicitamente os pontos em que um caso de uso básico pode ser estendido (pontos de extensão) Servir jantar Extension points sobremesa «extend» (sobremesa) Servir uma sobremesa Na descrição textual do caso básico:... (sobremesa)... José Correia UML Diagramas de Casos de Uso 13 Relação include entre Casos de Uso Quando vários casos de uso têm um fluxo de eventos comum, é conveniente separar essa parte comum para um novo caso de uso que é incluído pelos primeiros A «include» B (parte comum a outros casos de uso além de A) uma instância do caso de uso A inclui obrigatoriamente o comportamento especificado por B os actores interagem com A ao fazer a descrição textual de A: include(b) notação: dependência com estereótipo «include» José Correia UML Diagramas de Casos de Uso 14

Relação include entre Casos de Uso (cont.) Exemplo: Servir almoço «include» Cobrar refeição Servir jantar «include» José Correia UML Diagramas de Casos de Uso 15 Relação de Generalização entre Casos de Uso Relação de generalização: relação entre uma coisa mais genérica e uma coisa mais especializada...... que é totalmente consistente com o primeiro elemento... e adiciona informação adicional Significa que o caso de uso "filho" (mais especializado) herda o comportamento, significado e actores do caso de uso "pai" (mais genérico) o filho pode adicionar ou substituir comportamento do pai; o filho pode aparecer em qualquer contexto em que o pai pode aparecer. Exemplo: Servir uma refeição Servir almoço Servir jantar José Correia UML Diagramas de Casos de Uso 16

Relação de Generalização entre Actores Cliente Cliente Empresarial Um Cliente Empresarial éum(is a) Cliente analogia com hierarquia ISA no modelo Entidade-Associação O Cliente Empresarial herda as associações (de interacção com casos de uso) do Cliente genérico A Generalização permite simplificar e estruturar os diagramas José Correia UML Diagramas de Casos de Uso 17 Exemplo 1: Restaurante Negócio de restauração Servir almoço Servir uma refeição «include» Cobrar refeição Cliente «extend» Servir uma entrada Servir jantar «extend» Servir uma sobremesa «extend» Servir à luz de velas Comprar bens Fornecedor José Correia UML Diagramas de Casos de Uso 18

Exemplo 2: Vídeo-gravador Vídeo-gravador Reprodução de vídeocassete Utilizador Gravação não programada «actor» Televisor Gravação de vídeo-cassete «actor» Antena Gravação programada José Correia UML Diagramas de Casos de Uso 19 Granularidade dos Casos de Uso Um caso de uso (pelo menos um caso de uso básico) deve representar uma unidade de funcionalidade o mais pequena possível que, uma vez implementada, acrescenta valor (do ponto de vista dos actores) ao sistema que está a ser desenvolvido Exemplo no multibanco: "introduzir cartão" não é um caso de uso porque não tem valor isoladamente; "levantar dinheiro" é um caso de uso porque tem valor para um actor individual (o detentor do cartão) Com este objectivo, pode ser necessário agrupar num único caso de uso várias interacções com o sistema (que ocorrem até em sessões diferentes) isso não impede que se divida um caso de uso básico em vários casos de uso de grão mais fino, incluídos pelo primeiro Exemplo numa biblioteca: o caso de uso Empréstimo (aquele que tem valor para os utilizadores) pode ser dividido em Levantamento e Devolução José Correia UML Diagramas de Casos de Uso 20

Exemplo: Máquina de bebidas Considere o seguinte diagrama de casos de uso, correspondente a uma máquina de bebidas: Repor Bebidas de acordo com Vendas Comprar Bebida Cliente <<extend>> <<include>> Abrir a Máquina <<include>> Agente do Fornecedor Repor Bebidas Extension Point encher prateleiras <<include>> <<include>> Retirar Dinheiro Dono Fechar a Máquina Explique o significado do diagrama anterior, descrevendo o fluxo de eventos de forma textual. José Correia UML Diagramas de Casos de Uso 21 Exemplo: Máquina de bebidas (cont.) Resposta possível à pergunta formulada: Comprar Bebida: Um cliente dirige-se à máquina de bebidas, introduz o dinheiro e selecciona a bebida pretendida entre as existentes na máquina. A máquina entrega a bebida seleccionada e, se for caso disso, devolve o troco. Repor Bebidas: O agente do fornecedor repõe as bebidas à medida que estas forem sendo consumidas. Para tal, abre a máquina, enche as prateleiras com as bebidas em falta e fecha a máquina. Retirar Dinheiro: O dono do estabelecimento onde a máquina está colocada, abre a máquina, retira o dinheiro existente, deixando o suficiente para trocos, e volta a fechar a máquina. Quais são as funcionalidades do sistema modelizado pelo diagrama anterior? As funcionalidades do sistema são os casos de uso, ou seja: Comprar Bebida, Abrir a Máquina, Fechar a Máquina, Retirar Dinheiro, Repor Bebidas e Repor Bebidas de acordo com Vendas. José Correia UML Diagramas de Casos de Uso 22

Pacotes de Casos de Uso Num sistema complexo, podem existir demasiados casos de uso para visualizar com clareza num único diagrama! Uma solução: um diagrama de casos de uso inicial, com pacotes de casos de uso, e um diagrama de casos de uso relativo a cada pacote Se tivermos um grande número de casos de uso devemos procurar agrupá-los em pacotes! Critérios de agrupamento de casos de uso: por sub-sistemas por actores José Correia UML Diagramas de Casos de Uso 23 Exemplo: SI do ISPGaya Director de Curso Definição de Plano de Curso Definição de Ficha de Disciplina Inscrições no Curso Inscrições nas Disciplinas Docente de Disciplina Atribuição de Serviço Docente Elaboração de Horários Publicação de Material de Apoio Lançamento de Sumários Inscrições nas Turmas Consulta e Descarregamento de Material de Apoio de Disciplinas Funcionário de Secretaria Elaboração de Calendário de Exames Lançamento de Classificações Consulta de Horários Aluno de Curso Elaboração de Relatório de Curso Elaboração de Relatório de Disciplina Consulta de Sumários Consulta de Classificações José Correia UML Diagramas de Casos de Uso 24

Exemplo: SIIPG SIIPG - Gestão de Cursos Definição de Plano de Curso Atribuição de Serviço Docente Director de Curso Elaboração de Horários Elaboração de Calendário de Exames Elaboração de Relatório de Curso José Correia UML Diagramas de Casos de Uso 25 Exemplo: SIIPG SIIPG - Gestão de Disciplinas Definição de Ficha de Disciplina Publicação de Material de Apoio Docente de Disciplina Lançamento de Sumários Lançamento de Classificações Elaboração de Relatório de Disciplina José Correia UML Diagramas de Casos de Uso 26

Exemplo: SIIPG SIIPG - Inscrições Inscrições no Curso Inscrições nas Disciplinas Funcionário de Secretaria executa procedimento de colocação automática, ou trata manualmente Inscrições nas Turmas submete candidatura pela Web Aluno de Curso José Correia UML Diagramas de Casos de Uso 27 Exemplo: SIIPG SIIPG - Apoio a Alunos Consulta e Descarregamento de Material de Apoio de Disciplinas Consulta de Horários Aluno de Curso Consulta de Sumários Consulta de Classificações José Correia UML Diagramas de Casos de Uso 28

Exemplo: SIIPG Sist. de Informação do ISPGaya (SIIPG) Director de Curso Gestão de Cursos Docente de Disciplina Gestão de Disciplinas Funcionário de Secretaria Inscrições Aluno de Curso Apoio a Alunos José Correia UML Diagramas de Casos de Uso 29 Realizações de Casos de Uso Um Diagrama de Casos de Uso apresenta uma visão externa do sistema Os Diagramas de Interacção descrevem como os casos de uso são realizados como interacções entre associações de objectos Há dois tipos de Diagramas de Interacção (interaction diagrams): Diagramas de Sequência (Sequence diagrams) Diagramas de Colaboração (Collaboration diagrams) José Correia UML Diagramas de Casos de Uso 30

Resumo Um Diagrama de Casos de Uso...... descreve o comportamento de um sistema do ponto de vista do utilizador... descreve o que um sistema faz e não como o faz... divide as funcionalidades do sistema em transações (casos de uso) que têm significado para os utilizadores (actores)... é uma descrição funcional de um sistema e dos seus principais processos... fornece uma descrição gráfica de quem irá usar o sistema e do tipo de interacções a esperar dentro desse sistema José Correia UML Diagramas de Casos de Uso 31 Resumo (cont.) Um caso de uso contém múltiplos cenários, cada um dos quais descreve um fluxo específico de eventos devemos garantir que cada caso de uso descreve um pedaço significativo (com valor) da utilização do sistema ao definir casos de uso com texto, usar nomes e verbos de forma consistente e precisa - irá facilitar a definição de objectos e mensagens nos diagramas de interacção Ao construir os casos de uso, pensar... nas tarefas que devem ser desempenhadas pelo(s) actor(es) em manter os casos de uso simples José Correia UML Diagramas de Casos de Uso 32

Resumo (cont.) Um diagrama de casos de uso deve...... conter apenas casos de uso ao mesmo nível de abstracção... incluir apenas os actores que são necessários Quando é que um diagrama de casos de uso deve ser usado? na especificação do contexto do sistema na descrição (captura) dos requisitos de um sistema, nas fases de design, implementação e documentação na modelização de testes de cenários com casos de uso O diagrama de casos de uso é, geralmente, elaborado na fase de análise e especificação de requisitos, por analistas e especialistas do domínio José Correia UML Diagramas de Casos de Uso 33 Referências Estes apontamentos foram baseados em: UML Unified Modeling Language, Curso em Tecnologia de Objectos, FEUP, Novembro 2000 Ademar Aguiar, Gabriel David, João Pascoal Faria Introduction to UML: Structural Modeling and Use Cases, Cris Kobryn, Novembro 2000 UML, Metodologias e Ferramentas CASE, Alberto Rodrigues da Silva, Carlos Videira, Maio 2001 Analysis and Design with UML Rational Software Corporation, 1997 Web: - OMG UML Resources: www.omg.org/uml/ José Correia UML Diagramas de Casos de Uso 34