Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Prévia do material em texto

Detalhamento de Comportamento e Fluxo do Sistema 
Introdução à Análise e Modelagem de Sistemas 
A modelagem de sistemas desempenha um papel fundamental no desenvolvimento de 
software, permitindo visualizar as interações entre usuários e componentes do sistema, o 
que facilita o entendimento e gestão da complexidade do projeto. O objetivo deste capítulo 
é aprofundar o detalhamento dos requisitos e processos que já foram identificados 
previamente, abordando técnicas de modelagem que ajudam a traduzir necessidades e 
funcionalidades em representações claras e comunicáveis. A modelagem não contempla 
aqui o levantamento (ou elicitação) dos requisitos, mas sim seu detalhamento e 
organização. Para isso, utilizaremos a UML (Unified Modeling Language) como linguagem 
padrão, pois ela fornece instrumentos para representar tanto a estrutura quanto o 
comportamento dos sistemas. A UML se consolidou como referência por sua flexibilidade e 
padronização, sendo amplamente utilizada para comunicar arquiteturas e funcionalidades 
em projetos reais. A UML é uma linguagem de modelagem visual que fornece uma maneira 
padrão de visualizar o design de um sistema. Ela é usada para criar diagramas que 
representam diferentes aspectos de um sistema, como sua estrutura, comportamento e 
interações. A UML não é uma metodologia, mas sim uma linguagem que pode ser usada 
com várias metodologias de desenvolvimento de software. 
Análise de Casos de Uso: Fluxo Principal e Alternativos 
O que são Casos de Uso? 
Os casos de uso são uma técnica que permite identificar e organizar as funções que cada 
usuário ou sistema externo executa via sistema, representando graficamente ou 
textualmente os requisitos encontrados. Eles capturam as funcionalidades sob a 
perspectiva do usuário, detalhando as interações entre atores (usuários ou outros 
sistemas) e o sistema, de modo claro e objetivo. O principal propósito dos casos de uso é 
sistematizar os requisitos, funcionando como um “contrato de comportamento”: descrevem 
como um ator utiliza o sistema para alcançar uma meta específica. Os casos de uso podem 
ser criados inicialmente de forma mais geral e, conforme o projeto avança, detalhados para 
maior clareza sobre fluxos e exceções. 
 
Elementos do Diagrama de Casos de Uso (UML) 
• Ator: Define o papel que interage com o sistema, podendo ser pessoas ou outros 
sistemas que buscam atingir uma ou mais metas específicas. 
• Caso de Uso: Representa uma funcionalidade e é simbolizado por uma elipse, 
detalhando a sequência de ações necessárias para atender à necessidade do ator. 
• Fronteira do Sistema: Um retângulo que delimita o escopo do sistema estudado, 
diferenciando o que está (ou não) sob controle do sistema. 
• Relacionamentos Especiais: 
– Associação: Conexão entre ator e caso de uso, indicando que há interação entre 
ambos. 
– Generalização/Especialização: Relação de herança entre atores ou casos de 
uso, onde funções especializadas herdam características gerais. 
– Inclusão (): Utilizada quando um caso de uso incorpora comportamento 
comum a vários outros casos. 
– Extensão (): Quando um caso de uso acrescenta funcionalidade a outro sob 
condições específicas. 
Detalhamento de Casos de Uso (Fluxo Principal e Alternativos) 
Para ilustrar, vamos considerar um exemplo de um sistema de caixa eletrônico (ATM). Um 
caso de uso principal seria “Sacar Dinheiro”. 
Caso de Uso: Sacar Dinheiro 
Ator: Cliente do Banco 
Fluxo Principal (Cenário de Sucesso): 
1. O cliente insere o cartão no caixa eletrônico. 
2. O sistema solicita a senha. 
3. O cliente digita a senha. 
4. O sistema valida a senha. 
5. O sistema exibe as opções de transação. 
6. O cliente seleciona a opção “Saque”. 
7. O sistema solicita o valor do saque. 
8. O cliente digita o valor. 
9. O sistema verifica se o saldo é suficiente. 
10. O sistema libera o dinheiro. 
11. O sistema ejeta o cartão. 
12. O cliente retira o dinheiro e o cartão. 
Fluxos Alternativos: 
• Senha inválida: Se o cliente digitar a senha incorreta, o sistema deve informar o erro e 
permitir mais duas tentativas. Após a terceira tentativa incorreta, o cartão é retido e 
bloqueado. 
• Saldo insuficiente: Se o cliente solicitar um valor maior do que o saldo disponível, o 
sistema deve exibir uma mensagem informando o problema e permitir que o cliente 
digite um novo valor ou cancele a operação. 
• Valor de saque inválido: Se o cliente digitar um valor que não seja passível de ser 
fornecido com as notas disponíveis, o sistema deve informar o erro e solicitar um novo 
valor. 
O Foco Essencial na descrição de um caso de uso é sempre descrever “o que” acontece 
entre o usuário e o sistema, sem entrar em detalhes de implementação, tecnologia de 
interface (“menus”, “janelas”) ou processamento interno. O sistema deve ser visto como 
uma “caixa-preta”. Os passos devem indicar Eventos e Respostas: os eventos de sistema 
(informação dos atores para o sistema) e as respostas de sistema (informação do sistema 
para os atores). 
• Diagramas Complementares (para detalhamento do comportamento): 
– Diagrama de Atividades (UML): Ideal para casos de uso complexos, 
detalhando o fluxo funcional e possíveis processos paralelos ou decisões no 
caminho do processamento. 
– Diagrama de Sequência (UML): Explicita como objetos trocam mensagens ao 
longo do tempo, elaborado a partir de casos de uso para detalhar interações 
sistêmicas. 
 
 
 
 
Modelagem de Processos de Negócio (BPMN) AS-IS/TO-BE 
Conceitos Fundamentais de Processos de Negócio 
Um processo de negócio é uma sequência de atividades executadas para atingir um objetivo 
que agrega valor ao cliente. A modelagem de processos permite visualizar “como as coisas 
acontecem dentro da organização (fluxo de trabalho) e como elas são documentadas”. 
Notação BPMN (Business Process Modeling Notation) 
A BPMN é uma notação que evoluiu dos fluxogramas, permitindo um desenho mais 
aprimorado e com maior qualidade de informação para o acompanhamento diário. Seus 
elementos chave incluem: 
• Atividades: Representam o trabalho a ser realizado, podendo ser tarefas, 
subprocessos ou processos (ex: “emitir o pedido”). 
• Eventos: Ocorrências que influenciam o fluxo do processo, marcando o início e o 
término. 
• Gateways: Controlam o fluxo de sequência, determinando decisões, bifurcações e 
uniões de caminhos (ex: verificação de “cliente com saldo?”). 
• Conectores: Ligam os elementos (atividades, eventos, gateways) para demonstrar um 
caminho. 
• Piscinas (Pools) e Raias (Swimlanes): Piscinas delimitam organizações ou 
participantes, e raias representam papéis ou departamentos dentro de uma piscina. 
 
 
Modelagem AS-IS (Estado Atual) 
O objetivo da modelagem AS-IS é compreender o estado atual do processo, ou seja, “como 
as coisas são”. O diagrama AS-IS mostra a execução das atividades do processo de negócio, o 
que fornece uma base para o diagnóstico de problemas e oportunidades de melhoria. 
Modelagem TO-BE (Estado Futuro) 
A modelagem TO-BE visa propor mudanças e melhorias nos processos, vislumbrando 
“como as coisas deveriam ser”. O modelo AS-IS subsidia as informações para o diagnóstico 
que permite o redesenho dos processos para o estado futuro (“to be”). Utilizando os 
elementos do BPMN, o novo fluxo de trabalho e processos de negócio são representados 
após as otimizações. 
Exemplo de Modelagem AS-IS e TO-BE: 
Imagine um processo de “Aprovação de Despesas” em uma empresa. 
Processo AS-IS (Atual): 
1. O funcionário preenche um formulário de despesas em papel. 
2. O formulário é entregue ao gerente para aprovação. 
3. O gerente assina o formulário. 
4. O formulário é enviado para o departamento financeiro. 
5. O departamento financeiro processa o reembolso. 
Problemas identificados: Processo lento, sujeito a erros e extravios de documentos. 
Processo TO-BE (Futuro): 
1. O funcionário preenche um formulário de despesas online em um sistema. 
2. O sistema envia uma notificação para o gerente. 
3. O gerente aprovaa despesa online. 
4. O sistema envia a despesa aprovada para o departamento financeiro. 
5. O sistema de folha de pagamento processa o reembolso automaticamente. 
Melhorias: Processo mais rápido, automatizado, com menos erros e com rastreabilidade. 
Priorização de Fluxos Críticos 
Importância 
Em sistemas complexos, é difícil definir totalmente os requisitos e necessidades do usuário 
no início, e nem todos os casos de uso ou processos podem ser detalhados/implementados 
simultaneamente. A priorização garante que o esforço seja direcionado para as 
funcionalidades e processos mais importantes. 
Critérios e Métodos para Priorização 
Além dos critérios mencionados, existem métodos mais estruturados para a priorização de 
requisitos e fluxos, como: 
• MoSCoW: Classifica os requisitos em quatro categorias: Must-have (essencial), 
Should-have (importante), Could-have (desejável) e Won’t-have (não terá nesta 
versão). 
• Matriz de Priorização: Uma ferramenta visual que ajuda a classificar os requisitos 
com base em múltiplos critérios, como urgência e impacto. Por exemplo, uma matriz 
2x2 pode ser usada para classificar os requisitos em quatro quadrantes: alta 
urgência/alto impacto, alta urgência/baixo impacto, baixa urgência/alto impacto e 
baixa urgência/baixo impacto. 
• Modelo de Kano: Foca na satisfação do cliente e classifica os requisitos em três 
categorias: básicos (esperados pelo cliente), de desempenho (quanto mais, melhor) e 
de encantamento (inesperados, mas que geram grande satisfação). 
Os critérios para priorização incluem: 
• Alinhamento Estratégico: Focar em processos e casos de uso que estão ligados aos 
objetivos estratégicos da empresa. 
• Criticidade para o Negócio: Identificar quais funcionalidades ou processos são 
essenciais para o funcionamento do negócio (ex: o processo de vendas pode ser um 
processo prioritário). 
• Complexidade e Risco: Priorizar casos de uso mais complexos ou com maior risco. 
• Frequência de Uso e Impacto: Considerar a frequência com que o fluxo é utilizado e a 
criticidade das funções executadas, pois isso impacta o trabalho de teste e a alocação 
de casos de teste. 
• Categorização: Classificar requisitos/fluxos como “essenciais”, “importantes” ou 
“desejáveis” para auxiliar na tomada de decisão. 
• Cobertura de Requisitos: Verificar se todos os requisitos funcionais estão associados 
a pelo menos um caso de uso para evitar lacunas. 
	Detalhamento de Comportamento e Fluxo do Sistema 
	Introdução à Análise e Modelagem de Sistemas 
	Análise de Casos de Uso: Fluxo Principal e Alternativos 
	O que são Casos de Uso? 
	Detalhamento de Casos de Uso (Fluxo Principal e Alternativos)

Mais conteúdos dessa disciplina