4. 4
OBJETIVOS
• Mostrar a importância da
modelagem/design de software;
• Ensinar como modelar os requisitos de
um software por meio do Diagrama de
Casos de Uso;
• Ensinar como projetar um software por
meio dos diagramas da UML;
5. 5
Benefícios do Treinamento
• Reduzir o esforço de manutenção de
software;
• Reduzir o retrabalho de maneira geral:
• Gestão de Conhecimento:
–Consolidar a informação do projeto na
empresa e não somente nas pessoas.
6. 6
AGENDA
1 2 3 4 5
1) Importância de se projetar
software
* Outras áreas de
Engenharia;
* Custo de desenv/alteração;
2) Conceito de UML
* O que é, objetivos e
diagramas.
3) Diagrama de Casos de
Uso
* O que a UML nos diz;
* Exemplos;
4) Exemplo prático de
aplicação.
5) Fim
7. 7
1 2 3 4 5
1) Importância de se projetar
software
* Outras áreas de Engenharia;
* Custo de desenv/alteração;
AGENDA
15. 15
Como se constrói software?
Propriedade do desenvolvimento de
software
Software é
desenvolvido por
engenharia. Não é
manufaturado no
sentido clássico
ERRADO !!!!
1
17. 17
Custo de Desenvolvimento
Custo de se consertar um erro por
fase de desenvolvimento
Análise
Projeto
Implementação
Testes
Manutenção
Project phase
Costoferros
Fonte: Sommerville
(2004)
17
22. 22
O que é a UML
• UML – Unified Modeling Language
– É uma ferramenta que nos auxilia na
modelagem de sistemas;
– Mantida pela OMG – Object Management
Group;
• Tem por finalidade proporcionar um padrão para
o projeto de arquitetura de sistemas, incluindo
aspectos conceituais (processos) e itens
concretos (classes, esquemas de BD …)
• Para prover essa possibilidade de projetar
software a UML é composta por 13 diagramas
23. 23
• A UML 2.0 contém 13 diagramas:
– Atividades:
– Caso de Uso:
– Classes:
– Objetos:
– Seqüência:
– Comunicação - Colaboração:
– Estado:
– Pacotes:
– Componentes:
– Implantação:
– Intereção:
– Timing:
– Composite Structure Diagram:
O que é a UML
24. 24
O que é a UML
• Mas qual diagrama
da UML eu devo
usar primeiro? Ou
seja, dos 13 qual é a
ordem correta?
?
25. 25
O que é a UML
• Mas qual diagrama da UML eu devo usar
primeiro? Ou seja, dos 13 qual é a ordem
correta?
– Não existe ordem no uso do diagrama;
– Não existe a necessidade de se usar todos
os diagramas;
– A UML é um conjunto de ferramentas, e
não um processo de desenvolvimento de
software
26. 26
OBJETIVOS da UML
• Os principais objetivos da UML são:
–Ser independente da linguagem de
programação e/ou do processo de
desenvolvimento escolhido;
–Prover uma linguagem formal de
modelagem;
–Dar suporte a conceitos avançados de
desenvolvimento como Frameworks,
Padrões de Projeto, Componentes,
SOA;
Mas UML não é para modelar Projetos/Software
Orientados a Objeto ?
27. 27
POR QUE USAR ?
• As empresas de software buscam
técnicas para:
– Automatizar a produção de software;
– Melhorar a qualidade do produto;
– Reduzir custos;
– Reduzir o time-to-market;
CRISE DO SOFTWARE
estimativas de prazo e de custo ↑↑
produtividade das pessoas ↓↓
qualidade de software ↓↓
software difícil de manter ↑↑
28. 28
AGENDA
1 2 3 4 5
3) Diagrama de Casos de Uso
* O que a UML nos diz;
* Exemplos;
30. 30
Diagrama de Casos de Uso
• Um dos diagramas mais importantes da UML, pois
pode acompanhar o desenvolvimento do software do
início ao fim;
• Serve para modelar os requisitos de um sistema
através de cenários;
• Delimitam o escopo do sistema que será desenvolvido.
• Modelam os elementos externos no sistema (atores) e
os elementos internos (Casos de Uso). Dessa forma
pode ser definido como uma coleção de Casos de Uso
e Atores;
É uma ferramenta de consulta, acerto,
discussão,reuniões, alterações em requisitos.
Mostra a análise do negócio.
31. 31
Diagrama de Casos de Uso
• O diagrama de casos de uso é um
diagrama que “modela o documento de
requisitos”;
Análise
ReceberDinheiro
PedirAçucar
PedirProduto
DarVoltas
33. 33
Diagrama de Casos de Uso
• São compostos por 2 elementos
–Diagrama:
• Parte gráfica
–Especificação:
• Parte escrita;
34. 34
Diagrama de Casos de Uso
• Diagrama:
– Esquema gráfico composto por símbolos
que representam:
• Casos de Uso
• Atores
• Relacionamentos
Cliente cadastrarCliente
dadosCliente
msg02
35. 35
Diagrama de Casos de Uso
• Diagrama:
– Esquema gráfico composto por símbolos
que representam:
• Casos de Uso
• Atores
• Relacionamentos
Cliente cadastrarCliente
dadosCliente
msg02
• Mas o que esse
cara magrelo e
essa bolota com
nome
representam?
36. 36
Diagrama de Casos de Uso - Ator
• O cara magrelo é um ator;
• Ator:
– É a entidade externa do sistema
– pode ser uma pessoa ou um outro sistema que
interage com o sistema que esta sendo
modelado;
– São as entidades que trocam informações ou
eventos com o sistema que esta sendo
modelado;
– Um ator pode ser também um recebedor passivo
de informação .
37. 37
Diagrama de Casos de
Uso - Ator
• Atores: representados por figuras caricatas
de humanos ou por uma caixa com
esteriótipo (stereotype) de ator :
<<ATOR>>
Vendedor
Cliente Gerente
AtorCliente
<<Actor>>
39. 39
Diagrama de Casos de Uso - Ator
• Para identificar um ator em um documento
de requisitos normalmente procura-se por:
–Substantivos;
–Entidades iniciadoras de ação;
–Entidades que recebem informações do
sistema;
–De forma geral, entidades que de alguma
forma se relacionam com o sistema
40. 40
Diagrama de Casos de
Uso - Ator
• Exemplo: Resumo de um documento de requisitos;
Este software tem o objetivo de disponibilizar a
locação de DVDs, via Internet, a clientes já
cadastrados ou novos.
O Software deve prever o cadastramento de clientes
locadores, com seus dados pessoais.
O Software atenderá a todas as cidades onde o cliente
contratante tiver locadora. Serão disponibilizados
somente DVDs da cidade onde o cliente locador
reside, visando a entrega ...
41. 41
Diagrama de Casos de Uso
Cliente cadastrarCliente
dadosCliente
msg02
• Mas e a bolota
com nome ????
42. 42
Diagrama de Casos de Uso
• A bolota com nome é um Caso de Uso
• Caso de Uso: São representados por uma
elipse com o nome do caso de uso escrito
dentro dessa elipse:
Nome Caso De Uso
43. 43
• Um Caso de Uso pode ser encarado como
uma funcionalidade provida pelo sistema que
esta sendo modelado;
• É uma macroatividade que contém pequenas
atividades que devem ser executadas para a
realização de uma funcionalidade do sistema;
• A macroatividade é representada pela elipse,
as pequenas atividades por
descrições/especificações
Diagrama de Casos de Uso
44. 44
Diagrama de Casos de Uso
• Exemplos de Caso de Uso:
Cadastrar
Material
Entrar Pedidos
Verificar
Crédito
45. 45
Diagrama de Casos de Uso
• Para identificar os casos de uso em um
documento de requisitos normalmente
procura-se por:
–Verbos;
–Ações que são solicitadas por atores;
–Funcionalidades que o sistema deve
prover;
46. 46
Diagrama de Casos de Uso
• Exemplo: Resumo de um documento de requisitos;
Este software tem o objetivo de disponibilizar a locação de
DVDs, via Internet, a clientes já cadastrados ou novos.
O Software deve prever o cadastramento de usuários
locadores, com seus dados pessoais.
O Software atenderá a todas as cidades onde o cliente
contratante tiver locadora. Serão disponibilizados
somente DVDs da cidade onde o usuário locador
reside, visando a entrega ...
47. 47
Diagrama de Casos de Uso
• Em um Diagrama de Casos de Uso
– Um Ator se comunica com os Casos de
Uso;
– É possível definir o escopo do sistema
deixando isso claro para o cliente;
– O relacionamento entre o Ator e o Caso de
Uso é chamado na UML de relacionamento
de associação
48. 48
Relacionamento de UC e Ator
• Exemplo de diagramas:
Fazer Pedidos
Aprovar Crédito
Entregar Material
Sistema
Cliente
Vendedor
Gerente
Cliente cadastrarCliente
dadosCliente
msg02
49. 49
Diagrama de Casos de Uso
• São compostos por 2 elementos
–Diagrama:
• Parte gráfica
–Especificação:
• Parte escrita;
50. 50
Diagrama de Casos de Uso
• Próxima parte:
– Documentar/especificar os casos de uso;
– Exemplo de aplicação dos Casos de Uso;