Introdução à UML com Casos de Uso

59
1 Introdução à Introdução à UML com Casos de Uso UML com Casos de Uso Prof. Rodrigo Gomes

Transcript of Introdução à UML com Casos de Uso

Page 1: Introdução à UML com Casos de Uso

1

Introdução à Introdução à UML com Casos de UsoUML com Casos de Uso

Prof. Rodrigo Gomes

Page 2: Introdução à UML com Casos de Uso

2

Apresentação

• Formação:– Certificação IBM RMUC – Requirements Management with Use Cases– Especialista em Design Instrucional para EaD Virtual (UNIFEI)– Especialista em Docência do Ensino Superior (FINOM)– Bacharel em Sistemas de Informação (UEMG)– Técnico em Processamento de Dados (CETEV)

• Atualmente:– Analista de Requisitos na IBM do Brasil - SP– Professor Universitário – UNIS-MG

• Atuações Anteriores– Professor Universitário – FACECA– Professor Universitário – UNINCOR– Professor Universitário – FIPV– Analista de Sistemas – Sindicato Rural da Campanha– Gerente de TI – Santa Casa de Misericórdia da Campanha

Rodrigo Gomes da Silva

Contatos:[email protected]

[email protected]

[email protected] Redes Sociaishttp://www.linkedin.com/pub/rodrigo-gomes-da-silva/37/568/716https://twitter.com/rodrigogomes3https://www.facebook.com/rodrigo.gomesdasilva.92

Page 3: Introdução à UML com Casos de Uso

3

Apresentação

• Quem é você?– Nome

– Período

– Contatos com UML e levantamento de requisitos

– Atuação na área de TI

Page 4: Introdução à UML com Casos de Uso

4

• O que é UML?– Uma linguagem ou notação de diagramas para

especificar, visualizar e documentar modelos de software

– Não é um método de desenvolvimento

– Não indica o que fazer primeiro

– Ajuda a visualizar o produto e a comunicação

– É formada por elementos que são usados para criar diagramas, que representam uma determinada parte do sistema, ou um ponto de vista do sistema

UML

Page 5: Introdução à UML com Casos de Uso

5

• Para que usar UML?– Pensar antes de codificar– Apresentar nossas ideias ao grupo– Aumentar a participação e envolvimento do time– Documentar as ideias quando já consolidadas– Atender aos requisitos– Reduzir esforço de manutenção– Facilitar a alteração do software– Reduzir re-trabalho: reparos ocorrem a nível de projeto– Gestão do conhecimento: consolidar o projeto na empresa

e não nas pessoas

UML

Page 6: Introdução à UML com Casos de Uso

6

• Importância do Projeto de Software

Ponte Rio – Niterói:• Comprimento: 13,29 Km• Tráfego: 140 mil veículos / dia• Construção: 01/1969 – 03/74

UML

Page 7: Introdução à UML com Casos de Uso

7

• Linha de Produção

Assim como as pontes, o software não pode ser feito por meio de linhas de produção

Após a implementação eu posso copiá-lo e distribuí-lo

UML

Page 8: Introdução à UML com Casos de Uso

8

• Falta de Alinhamento entre cliente, analista e time

UML

Page 9: Introdução à UML com Casos de Uso

9

UML

Page 10: Introdução à UML com Casos de Uso

10

• A culpa não é minha!

Processo de desenvolvimento de software

Caos

Frustração

Retrabalho

Desperdício de tempo e recursos

UML

Page 11: Introdução à UML com Casos de Uso

11

• Aprovação do Cliente

Processo de desenvolvimento de software

Investigação

Aprovação

Comunicação

ContratosO que é preciso?

UML

Page 12: Introdução à UML com Casos de Uso

12

• Modelagem

UML

Page 13: Introdução à UML com Casos de Uso

13

• Complexidade

Para dominarmos uma realidade com a abordagem sistêmica, precisamos de modelos, o que favorece a possibilidade de fazermos simulações, facilitando assim a definição de soluções para os problemas existentes na realidade em questão.

UML

Page 14: Introdução à UML com Casos de Uso

14

• Motivação

Necessidade de uma Modelagem Visual

Da mesma forma que, para construir uma casa é preciso desenhar sua planta, para construir um software, é preciso desenhar sua arquitetura.

É preciso ter uma representação visual do seu sistema, antes que ele entre na etapa de implementação.

UML

Page 15: Introdução à UML com Casos de Uso

15

• Motivação

Necessidade de uma Modelagem Visual

É preciso estabelecer uma padronização para facilitar a comunicação entre os analistas e o time de desenvolvimento.

E facilitar a comunicação entre os analistas e o cliente.

UML

Page 16: Introdução à UML com Casos de Uso

16

• Motivação

Necessidade de uma Modelagem Visual

Um sistema tem geralmente muitas classes. Dependendo do nível hierárquico da pessoa envolvida, formas diferentes de apresentar as classes devem ser geradas.

• O cliente precisa compreender apenas alguns conceitos;

• O gerente de projetos não precisa de detalhes do modelo;

• O time de desenvolvimento precisa de todos os detalhes possíveis.

UML

Page 17: Introdução à UML com Casos de Uso

17

• Motivação

Necessidade de uma Modelagem Visual

Um modelo deve ser criado independente de sua implementação. A qualquer momento uma implementação pode ser trocada por outra, sem afetar o modelo.

UML

Page 18: Introdução à UML com Casos de Uso

18

• Motivação

UML

•UML é uma ferramenta que nos auxilia na modelagem de sistemas;•Mantida pela OMG•Proporciona um padrão para o projeto de arquitetura de sistemas• Composta por 13 diagramas

UML

Page 19: Introdução à UML com Casos de Uso

19

• Alguns Diagramas da UML?– Estrutura Estática:

• Diagrama de Classes• Diagrama de Objetos• Diagrama de Componentes• Diagrama de Implantação

– Estrutura Dinâmica• Diagrama de Casos de Uso• Siagrama de Sequencia• Diagrama de Atividades• Diagrama de Estados• Diagrama de Colaboração

UML

Page 20: Introdução à UML com Casos de Uso

20

• Alguns Diagramas da UML?– Estrutura Estática

• Diagrama de Classes• Diagrama de Objetos• Diagrama de Componentes• Diagrama de Implantação

– Estrutura Dinâmica• Diagrama de Casos de Uso• Siagrama de Sequencia• Diagrama de Atividades• Diagrama de Estados• Diagrama de Colaboração

Foco deste treinamento

UML

Page 21: Introdução à UML com Casos de Uso

21

• Diagramas da UML

•Qual eu devo utilizar primeiro?• Não existe ordem pré-definida• Não existe a necessidade de utilização de todos os diagramas

UML

Page 22: Introdução à UML com Casos de Uso

22

• Características da UML

•Independente da linguagem de desenvolvimento•Alguns diagramas podem modelar software orientados a objetos ou não•Define uma linguagem formal para a modelagem e não para a implementação

UML

Page 23: Introdução à UML com Casos de Uso

23

• O que é o Modelo de Caso de Uso?– Um link entre necessidades dos stakeholders e

requisitos do software– Define o limite do sistema– Captura e comunica comportamento do sistema– Identifica quem ou o quê interage com o sistema– Valida e verifica requisitos

O Modelo de Caso de Uso

Page 24: Introdução à UML com Casos de Uso

24

• O que é o Modelo de Caso de Uso?– É representado por um modelo gráfico, o

Diagrama de Casos de Uso– É especificado em um modelo textual, o

Documento de Especificação de Caso de Uso Processo iterativo envolvendo discussões

entre técnicos, clientes e usuários finais para o levantamento e detalhamento dos requisitos funcionais.

O Modelo de Caso de Uso

Page 25: Introdução à UML com Casos de Uso

25

• O que é o Modelo de Caso de Uso?• Um Modelo de Caso de Uso descreve os requisitos

funcionais de um Sistema.

• Um Modelo de Caso de Uso associa as necessidades dos stakeholders aos requisitos de software do sistema.

• Por ser um instrumento de planejamento muito forte, o Modelo de Casos de Uso é geralmente utilizado em todas as Fases do Ciclo de Desenvolvimento por todos os membros da equipe.

funcionais.

O Modelo de Caso de Uso

Page 26: Introdução à UML com Casos de Uso

26

• Diagrama de Caso de Uso?– Auxilia a comunicação entre os

analistas e os clientes.– Descreve um cenário que mostra as

funcionalidades do sistema, do ponto de vista do usuário.

– O cliente deve ver no diagrama de Caso de Uso as principais funcionalidades do sistema.

O Modelo de Caso de Uso

Page 27: Introdução à UML com Casos de Uso

27

• Diagrama de Caso de Uso?• Descreve o sistema, seu ambiente e a

relação entre os dois. • Os casos de uso são usados para obter os

requisitos do sistema a partir da perspectiva do usuário.

O Modelo de Caso de Uso

Page 28: Introdução à UML com Casos de Uso

28

Antes de detalharmos o diagrama de Caso de Uso vamos falar um

pouco sobre requisitos

O Modelo de Caso de Uso

Page 29: Introdução à UML com Casos de Uso

29

O Modelo de Caso de Uso

Page 30: Introdução à UML com Casos de Uso

30

Needs: Necessidades (dos stakeholders / do negócio)

Qual é a necessidade do negócio?

Qual é a necessidade dos Stakeholders

Features: Características do Sistema

Serviços que o sistema irá oferecer que permitirão atender as necessidades do negócio e as necessidades dos stakeholders

Requisitos

Uma capacidade de software que deve ser atendida ou possuída por um sistema ou componentes do sistema para satisfazer um contrato, padrão, especificação, ou outros documentos formalmente impostos

O Modelo de Caso de Uso

Page 31: Introdução à UML com Casos de Uso

31

O Modelo de Caso de Uso

Needs(necessidades)

Features(serviços / características)

Requisitos

Requisitos Funcionais Requisitos Não Funcionais

Page 32: Introdução à UML com Casos de Uso

32

O Modelo de Caso de Uso

• Requisitos Funcionais:

São requisitos diretamente ligados à funcionalidade do software, descrevem as funções que o software deve executar.

– [RF001] O sistema deve permitir o cadastro de clientes– [RF002] O sistema deve permitir a geração de relatório

de vendas por período

Page 33: Introdução à UML com Casos de Uso

33

O Modelo de Caso de Uso

• Requisitos Não Funcionais:

Descrevem condições que o software deve atender ou qualidade específicas que o software deve ter.

– [RNF001] O software deve suportar o navegador IE 5.0 ou superior

– [RNF002] O software deve utilizar o banco de dados DB2

Page 34: Introdução à UML com Casos de Uso

34

O Modelo de Caso de Uso

• Needs x Features x Requisitos:

– Needs descrevem o que o negócio precisa

– Features descrevem quais os serviços necessários para atender as Needs

– Requisitos descrevem como as Features serão atendidas

Page 35: Introdução à UML com Casos de Uso

35

O Modelo de Caso de Uso

• Mapeamento

Ver planilha de mapeamento– Descrição do problema– Desejo dos Stakeholders– Needs– Needs x Features– Mapeamento Needs x Features x Requisitos

Page 36: Introdução à UML com Casos de Uso

36

• Notação do Caso de Uso?

O diagrama de Caso de Uso é representado por:• Atores• Casos de uso• Relacionamentos

Os relacionamentos podem ser:• Associações• Generalizações• Extensões ou Inclusões

O Modelo de Caso de Uso

Page 37: Introdução à UML com Casos de Uso

37

• Elementos do Caso de USO– Ator

• Um elemento que está fora do sistema

• De alguma forma e em algum momento ele interage com o sistema

• Pode ser um usuário, um equipamento ou outro sistema, desde que tenha interação com o sistema que está sendo modelado

O Modelo de Caso de Uso

Page 38: Introdução à UML com Casos de Uso

38

• Elementos do Caso de USO– Ator

• O ator não deve ser identificado pelo nome, por exemplo João, mas sim pelo papél que ele desempenha na aplicação:

• Ex de nomes de atores:– Gerente, Secretária, Professor,

Funcionário, Balconista, etc…

O Modelo de Caso de Uso

Page 39: Introdução à UML com Casos de Uso

39

• Elementos do Caso de USO– Ator

• O Ator não é parte do sistema• Ele age no ambiene do sistema• Interage ativamente com o sistema• Representa um ser humano, uma

máquina ou outro sistema

O Modelo de Caso de Uso

Page 40: Introdução à UML com Casos de Uso

40

• Papél• Podemos definir um papel

considerando, por exemplo, o caso de múltiplos personagens representados por um ator numa peça de teatro.

• Neste caso, você como Ator poderia representar o papel de bandido ou de policial. O Ator representa um papel e não um usuário individual.

O Modelo de Caso de Uso

Page 41: Introdução à UML com Casos de Uso

41

• Como identificar um Ator?• Onde, na organização, o Sistema é usado?

• Quem se beneficiará do uso do sistema?

• Quem fornecerá informações ao Sistema, usará essas informações e as removerá?

• Quem suportará e manterá o Sistema?

• O Sistema usa um recurso externo?

• Uma pessoa representa diversos papéis?

• Várias pessoas representam o mesmo papel?

• O Sistema interage com um Sistema Legado?

O Modelo de Caso de Uso

Page 42: Introdução à UML com Casos de Uso

42

O Modelo de Caso de Uso

• Mapeamento

Ver planilha de mapeamento• Atores

Page 43: Introdução à UML com Casos de Uso

43

• Elementos do Caso de USO– Caso de Uso

• Representado pela figura de uma elípse, identifica uma funcionalidade do sistema que gera valor para o Ator.

• O nome do caso de uso deve começar por um verbo de ação (fazer, realizar, registrar, etc…)

• Indica uma ação que o Ator pode realizar ao interagir com o sistema

O Modelo de Caso de Uso

Page 44: Introdução à UML com Casos de Uso

44

• Elementos do Caso de USO– Caso de Uso

• Descrevem ações que entregam valor para o Ator

• Mostra as funcionalidades do sistema sendo utilizadas pelo Ator

• Modela um diálogo entre Ator e Sistema

• Representa o sistema em uma perspectiva do Ator.

O Modelo de Caso de Uso

Page 45: Introdução à UML com Casos de Uso

45

• Como Identificar – Caso de Uso

• O que o ator necessita fazer?

• O Ator precisa ler, criar, excluir, modificar ou armazenar algum tipo de informação no Sistema?

• O trabalho diário do ator pode ser simplificado ou tornado mais eficiente através de novas funções no Sistema?

• O ator tem de ser notificado sobre os eventos no Sistema ou ainda notificar o sistema em si?

• Quais são as macros funções que o ator necessita do Sistema?

O Modelo de Caso de Uso

Page 46: Introdução à UML com Casos de Uso

46

O Modelo de Caso de Uso

• Mapeamento

Ver planilha de mapeamento• Casos de Uso Identificados• Mapeamento UC x RF• Mapeamento UC x RF x AT

Page 47: Introdução à UML com Casos de Uso

47

O Modelo de Caso de Uso

• Rastreabilidade

– Permite uma compreensão dos relacionamentos entre requisitos e seus artefatos

Page 48: Introdução à UML com Casos de Uso

48

O Modelo de Caso de Uso

• Mapeamento

Ver planilha de mapeamento– Rastreabilidade Needs x Features– Rastreabilidade Features x Requisitos– Rastreabilidade RF x UC– Rastreabilidade Completa

Page 49: Introdução à UML com Casos de Uso

49

• Relacionamentos

Relacionamentos entre Atores e Casos de Uso , entre Casos de Uso e Casos de Uso, e entre Atores e Atores.

Os principais relacionamentos são:• Associação; • Generalização;• <<Inclui>>• <<estende>>

O Modelo de Caso de Uso

Page 50: Introdução à UML com Casos de Uso

50

• Relacionamentos

Associação entre Ator e Caso de Uso

Representamos uma associação entre um ator e um caso de uso por uma ligação simples.

Em determinado momento o ator “Cliente” poderá acionar a funcionalidade “Fazer Pedido”

Em determinado momento o ator “Cliente” poderá acionar a funcionalidade “Fazer Pedido”

O Modelo de Caso de Uso

Caso de Uso ConcretoSua execução é iniciada

através da chamada de um Ator

Page 51: Introdução à UML com Casos de Uso

51

• Relacionamentos

Relacionamento <<include>> entre Casos de Uso

Um relacionamento de inclusão mostra a dependência entre dois casos de uso, o que significa que um caso de uso incorpora o comportamento de outro caso de uso.

O Modelo de Caso de Uso

Caso de Uso Abstrato

Sua execução é iniciada através da chamada de ouro

caso de uso

Page 52: Introdução à UML com Casos de Uso

52

• Relacionamentos

Relacionamento <<extend>> entre Casos de Uso

Um relacionamento de extensão significa que um caso de pode ou não ser incorporado em outro caso de uso, mas a incorporação não é obrigatória.

O Modelo de Caso de Uso

Page 53: Introdução à UML com Casos de Uso

53

• Relacionamentos

Relacionamento <<extend>> <<include>>

O Modelo de Caso de Uso

Page 54: Introdução à UML com Casos de Uso

54

• Relacionamentos

Generalização entre Atores

Representa uma relação de herança entre atores.

O Modelo de Caso de Uso

Page 55: Introdução à UML com Casos de Uso

55

• Relacionamentos

Generalização entre Atores

O Modelo de Caso de Uso

Page 56: Introdução à UML com Casos de Uso

56

O Modelo de Caso de Uso

• Mapeamento

Ver planilha de mapeamento• Diagrama UC

Page 57: Introdução à UML com Casos de Uso

57

O Modelo de Caso de Uso

• Tipos de Relacionamentos

Relacionamento Associação Inclusão Extensão Generalização

Ator X Ator XAtor X Caso de Uso XCaso de Uso X Caso de Uso X X X

Page 58: Introdução à UML com Casos de Uso

58

O Modelo de Caso de Uso

• Prática– Divisão em 3 grupos– Cada grupo deverá montar a planilha contendo

• Needs • Features• Requisitos Funcionais• Atores• Casos de Uso

– Montar o Diagrama de Casos de Uso

– Cada grupo deverá escolher um dos sistemas abaixo:• Consulta online de exames laboratoriais• Venda online de passagens aéreas• Venda online de ingressos de shows

– Cada grupo deverá apresentar sua solução

Page 59: Introdução à UML com Casos de Uso

59

• Para estudo

O Modelo de Caso de Uso

Glossário UML - UFMGhttp://homepages.dcc.ufmg.br/~amendes/GlossarioUML/

OMGhttp://omg.org/

UML Guia do UsuárioGrady Booch

UML 2 – Uma abordagem práticaGilleanes T A Guedes

Fundamentos do Desenho Orientado a ObjetoMeillir Page Jones