O documento discute engenharia de software e modelagem de negócios. Ele apresenta conceitos como desenvolvimento tradicional, métodos ágeis, modelagem orientada a objetos, diagramas UML, requisitos, RUP e modelagem de negócios. Exemplos ilustram como modelar processos de negócios, como atendimento bancário, usando casos de uso, diagramas de atividades e outros artefatos.
3. PARFOR / UFRPE
Terreno
Localização
Fluxo de
Pessoas
Tipo de
Pessoas
Tempo de
Construção
Clima
Quantidade de
Recursos
Qualidade do
Material
Arquitetura
Planta-baixa
Tendência de
Mercado
17. Ferramentas UML
Funcionalidades Comuns
• Diagramação
• Engenharia Reversa
• Geração de Código
• Intercâmbio de Diagramas
• Transformação de Modelos
Existem mais de 100 no mercado!
“Embora a UML defina uma
linguagem precisa, ela não é uma
barreira para futuros
aperfeiçoamentos nos conceitos
de modelagem”
21. Modelagem de Negócios
Finalidades:
• Entender a estrutura e a dinâmica da organização na qual um software deve
ser implantado.
• Entender os problemas atuais da organização-alvo e identificar as
possibilidades de melhoria.
• Assegurar que os clientes, usuários e desenvolvedores tenham um
entendimento comum da organização-alvo.
24. Exemplo prático
Atendimento Bancário
Um cliente deseja fazer um depósito
no banco. Ao chegar no banco,
depara-se com uma fila e aguarda
até chegar a sua vez. Quando o
atendente o chama, ele fala que quer
fazer o depósito, entrega o cheque e
diz qual é a conta para depósito. O
atendente confere o cheque e
despacha para compensação. O setor
de compensação do banco verifica o
saldo da conta do emissor do cheque
e, caso tenha saldo, efetua a
transferência e arquiva o cheque.
Dois dias úteis depois, a quantia está
disponível na conta depositada.
25. Exemplo prático
Entendendo o Problema:
Um cliente deseja fazer um depósito
no banco. Ao chegar no banco,
depara-se com uma fila e aguarda
até chegar a sua vez. Quando o
atendente o chama, ele fala que quer
fazer o depósito, entrega o cheque e
diz qual é a conta para depósito. O
atendente confere o cheque e
despacha para compensação. O setor
de compensação do banco verifica o
saldo da conta do emissor do cheque
e, caso tenha saldo, efetua a
transferência e arquiva o cheque.
Dois dias úteis depois, a quantia está
disponível na conta depositada.
26. RUP
Modelagem de Negócios
Objetivo:
Desenvolver uma visão da nova organização-alvo e, com base nesta visão, definir os processos, os papéis e as
responsabilidades dessa organização em um modelo de casos de uso de negócios.
Banco
Setor de
Atendimento ao
Cliente
Setor de
Pagamentos
Setor de
Investimentos
Setor de
Conferência dos
Cheques
Setor de
Cobranças
Setor de Crédito
27. Escopo da Modelagem de Negócios
• Um Novo Negócio
• Um Negócio Existente
• Um Negócio, Muitos Sistemas
• Um Sistema, Muitos Negócios
• Re-engenharia de Negócios
28. Descrição da Organização
O que é?
O que faz?
Onde atua?
Qual o tamanho?
Quantos anos no mercado?
Quanto clientes?
Perfil dos clientes?
FAFICA - Faculdade de Filosofia, Ciências e Letras de Caruaru
28
29. Organograma
Quantos funcionários?
O que eles fazem?
Quem são?
Quais são as características
destes funcionários?
FAFICA - Faculdade de Filosofia, Ciências e Letras de Caruaru
29
30. Estrutura do Documento de Visão
1. Introdução
2. Posicionamento
• Oportunidade de negócios
• Detalhes sobre o problema
• Posicionamento do produto
3. Descrição da Parte Interessada
• Histórico, Descrição, etc.
• Perfis de Usuários
• Necessidades de cada parte/perfil
• Alternativas e concorrência
4. Visão Geral do Produto
• Funções e Benefícios
• Custo e precificação
• Licenciamento
5. Recursos do Produto
• Recursos/funcionalidades
• Restrições de uso
• Faixas de qualidade
• Padões aplicáveis
• Documentação
PARFOR / UFRPE
https://www.ibm.com/support/knowledgecenter/pt-
br/SSWMEQ_4.0.6/com.ibm.rational.rrm.help.doc/to
pics/r_vision_doc.html
32. Na UML...
Diagramas de Atividade capturam ações e seus resultados. São utilizados –
num primeiro momento – para representar a forma como os processos do
negócio ocorrem.
Uma atividade representa um processo do negócio.
Ex.
Um cliente deseja fazer um depósito no banco. Ao chegar no banco, depara-se com
uma fila e aguarda até chegar a sua vez. Quando o atendente o chama, ele fala que
quer fazer o depósito, entrega o cheque e diz qual é a conta para depósito. O
atendente confere o cheque e despacha para compensação. O setor de compensação
do banco verifica o saldo da conta do emissor do cheque e, caso tenha saldo, efetua a
transferência e arquiva o cheque.
34. Transição
Encadeamento de passos do processo.
Obs1.
Ao terminar uma ação, o fluxo
imediatamente passa para a próxima!
Obs2.
Cada ação só pode ter um único ponto
de chegada e um único ponto de saída!
Obs3.
Ações DEVEM ser nomeadas com
VERBOS NO INFINITIVO
43. Requisitos
Não foi isso que
eu pedi!
(~10%)
Isso não era pra
ser assim!
(~10%)
Está faltando
aquela outra
função!
(~15%)
Pfleeger
44. O que são?
• Descrições de serviços
oferecidos pelo sistema, bem
como suas restrições
operacionais
• Necessidades do cliente
• O que o usuário quer
• O que o usuário precisa
• Comportamento desejado do
sistema
Sommerville
Pressman
Pfleeger
45. Pra que servem?
Requisitos do usuário
• Será que o que eu pedi, foi
feito?
Requisitos do sistema
• Como isso deve ser feito?
Analista de Requisitos
Sommerville
46. Engenharia de Requisitos
“é o processo de descobrir, analisar, documentar e verificar os
requisitos do usuário e do sistema”
Sommerville
48. Etapas da
Engenharia de Requisitos
Elicitação
Análise e
Especificação
Validação
Pressman
Levantamento de
requisitos
Determinação do
escopo
Documentação
Detalhamento
Verificação
O que o cliente
quer?
O que o cliente
precisa?
Como vamos
implementar isso?
Nós fizemos tudo
o que o cliente
pediu?
Cadê?
53. Analista de Requisitos
Especificação de Requisitos
Elicitação de requisitos
• Ex. Cadastro de clientes
Especificação de requisitos
• Deve conter: nome, telefone, etc
• O cadastro de clientes só pode ser modificado pelo chefe
• Pintar o nome de vermelho, se o cliente for devedor
• ...
Sommerville
54. Características de Requisitos
Requisitos devem ser:
• Detalhados
• Padronizados
• Consistentes
• Verificáveis
• Rastreáveis
• Aprovados pelo cliente
Requisitos NÃO devem ser:
• Ambíguos
• Confusos
• Agrupados
• Omitir informações
FAFICA - Faculdade de Filosofia, Ciências e Letras de Caruaru 54
55. Técnicas
Especificação de Requisitos
Casos de Uso
• Método estruturado
• Informações detalhadas
• Pré-condição, fluxos, pós-
condições
User Stories
• Método ágil
• Textual e objetivo
Pressman Beck
57. Especificação de Requisitos
Exemplo de User Story
O gerente de TI cadastra novos
usuários. Pra isso ele precisa estar
logado, e entrar com o nome e
setor, e clica em "confirmar".
Cadastro de Usuários
Beck
70. RUP
Modelagem de Negócios
Um cliente deseja fazer um depósito
no banco. Ao chegar no banco,
depara-se com uma fila e aguarda
até chegar a sua vez. Quando o
atendente o chama, ele fala que quer
fazer o depósito, entrega o cheque e
diz qual é a conta para depósito. O
atendente confere o cheque e
despacha para compensação. O setor
de compensação do banco verifica o
saldo da conta do emissor do cheque
e, caso tenha saldo, efetua a
transferência e arquiva o cheque.
Dois dias úteis depois, a quantia está
disponível na conta depositada.
Exemplo de Negócio (Atendimento Bancário):
71. RUP
Modelagem de Negócios
Entendendo o Problema:
Um cliente deseja fazer um depósito
no banco. Ao chegar no banco,
depara-se com uma fila e aguarda
até chegar a sua vez. Quando o
atendente o chama, ele fala que quer
fazer o depósito, entrega o cheque e
diz qual é a conta para depósito. O
atendente confere o cheque e
despacha para compensação. O setor
de compensação do banco verifica o
saldo da conta do emissor do cheque
e, caso tenha saldo, efetua a
transferência e arquiva o cheque.
Dois dias úteis depois, a quantia está
disponível na conta depositada.
Exemplo de Negócio (Atendimento Bancário):
SUBSTANTIVOS:
• ATORES
• SETORES
• ENTIDADES
• ...
72. RUP
Modelagem de Negócios
Objetivo:
Desenvolver uma visão da nova organização-alvo e, com base nesta visão, definir os processos, os papéis e as
responsabilidades dessa organização em um modelo de casos de uso de negócios.
Banco
Setor de
Atendimento ao
Cliente
Setor de
Pagamentos
Setor de
Investimentos
Setor de
Conferência dos
Cheques
Setor de
Cobranças
Setor de Crédito
73. RUP
Modelagem de Negócios
Entendendo o Problema:
Um cliente deseja fazer um depósito
no banco. Ao chegar no banco,
depara-se com uma fila e aguarda
até chegar a sua vez. Quando o
atendente o chama, ele fala que quer
fazer o depósito, entrega o cheque e
diz qual é a conta para depósito. O
atendente confere o cheque e
despacha para compensação. O setor
de compensação do banco verifica o
saldo da conta do emissor do cheque
e, caso tenha saldo, efetua a
transferência e arquiva o cheque.
Dois dias úteis depois, a quantia está
disponível na conta depositada.
75. RUP
Casos de Uso do Negócio
Objetivo:
Desenvolver uma visão da nova organização-alvo e, com base nesta visão, definir os processos, os papéis e as
responsabilidades dessa organização em um modelo de casos de uso de negócios.
Um ator de negócio representa um
papel desempenhado em
relação ao negócio por
alguém ou algo no
ambiente do negócio.
Um caso de uso de negócios é
uma seqüência de ações
realizadas em um negócio
que produz um resultado
de valor observável
para um ator individual do negócio.
76. RUP
Requisitos
Objetivo:
Descrever integralmente o sistema - o que o sistema fará - em um trabalho em que todos os envolvidos, incluindo
clientes e usuários potenciais, são vistos como fontes de informações.
Casos de Uso do Sistema
e Atores do Sistema.
76
FAFICA - Faculdade de Filosofia, Ciências e Letras de Caruaru
77. RUP
Requisitos
Lista de Requisitos
(Caixa de auto-atendimento)
R01: Identificar cliente
R02: Verificar saldo
R03: Realizar Saque
R04: Realizar Pagamento
R05: Realizar Transferência
...
77
FAFICA - Faculdade de Filosofia, Ciências e Letras de Caruaru
78. RUP
Tipos de Requisitos
Funcionais
Correspondem as funcionalidades do sistema
Ex.
R01: Identificar cliente
R02: Verificar saldo
R03: Realizar Saque
...
Não Funcionais
Correspondem à exigências do
cliente/negócio
Ex.
R04: Disponibilidade
R05: Eficiência
R06: Facilidade de uso
...
78
FAFICA - Faculdade de Filosofia, Ciências e Letras de Caruaru
84. Caso de Uso
Diagramas de Casos de Uso descrevem os requisitos funcionais de um
sistema, através das interações entre o sistema (software) e todos os
outros atores do ambiente.
Responder a Pergunta: “Pra que serve esse sistema?”
86. Atores
Atores são representações de
entidades externas mas que
interagem com o sistema
durante sua execução.
Ex.
Pessoas (Cliente, Garçom, etc.)
Dispositivos (impressoras, etc.)
Hardware
Software (API’s)
Notação UML:
87. Relacionamentos entre Atores
Comunicação
Representa a comunicação
direta entre os atores do
negócio.
Os atores são entidades externas, e os
relacionamentos entre eles serão relações
externas ao sistema também.
Notação UML:
88. Relacionamentos entre Atores
Generalização
Funciona semelhante à
Herança, em OO.
Representa que um
determinado ator herda as
características de outro, além
de apresentar outras
características próprias.
Os atores são entidades externas, e os
relacionamentos entre eles serão relações externas
ao sistema também.
Notação UML:
89. Caso de Uso
Casos de uso representa os
serviços a serem oferecidos
pelo sistema. Não deve-se
confundir o conceito de “caso
de uso” com “módulo”, pois
caso de uso representa
funcionalidades atômicas (que
não podem ser divididas).
CUIDADO!!! Ao contrair o termo “Caso de Uso”. Utilize siglas
como UC (Use Case) ou CDU.
Notação UML:
90. Relacionamentos
Os casos de uso
representam interações
do sistema, portanto
devem estar relacionados
a um ou mais atores.
Notação UML:
91. Indica que um caso de uso
depende de outro.
Relacionamentos entre Casos de Uso
Dependência
Notação UML:
92. É uma relação onde um
caso de uso insere no seu
interior um outro caso de
uso (sub-caso de uso).
Relacionamentos entre Casos de Uso
Inclusão
Notação UML:
93. É um relacionamento
entre dois casos de uso
através da qual um caso
de uso maior é estendido
por um caso de uso
menor.
Relacionamentos entre Casos de Uso
Extensão
Notação UML:
97. Observações
Organização:
Cuidado ao apagar e recriar atores, para não
duplicá-los pelo projeto!
É possível criar vários diagramas, e pastas
para organizar o seu projeto! Faça bom uso
destas estruturas.
98. Observações
RAIA (diagrama de atividades) = ATOR (diagrama de casos de uso)?
Nem sempre!!!
Observe se os atores realmente fazem sentido para o software.
Discussão:
No caso do restaurante, o ator “Garçom” seria realmente necessário?