Modelagem de Processos Prof.: Fernando Ascani
2 Diagramas de casos de uso Análise de requisitos A análise de requisitos consiste em determinar os serviços que o usuário espera do sistema e as condições (restrições) sob as quais o sistema será desenvolvido e operar. As necessidades do usuário podem ser muito variadas, o analista deve ser capaz de retirar os requisitos funcionais e não-funcionais destas necessidades: Funcionais: lista de serviços que o sistema deve oferecer ao usuário Não funcionais: propriedades e características desejadas do sistema relativas à capacidade de armazenamento, tempo de resposta, configuração, uso (ex. uso intuitivo), confiabilidade, etc.
Papel dos casos de uso na Análise de Requisitos Casos de uso representam funcionalidades completas para o usuário e não, funcionalidades internas do sistema. Outro ponto importante é que o diagrama de casos de uso é um artefato de comunicação entre cliente, usuários e desenvolvedores. Por ser extremamente simples e, consequentemente, de fácil compreensão, incentiva a participação do cliente e usuários no processo de desenvolvimento. Também serve como um contrato entre a equipe/empresa desenvolvedora e o cliente.
Casos de uso A coleção de casos de uso representa todos os modos pelos quais o sistema pode ser utilizado pelos atores envolvidos. Um caso de uso é uma seqüência de ações realizadas colaborativamente pelos atores envolvidos e pelo sistema que produz um resultado significativo (com valor) para os atores. Os atores representam o papel de uma entidade externa ao sistema como um usuário, um hardware, ou outro sistema que interage com o sistema modelado. O diagrama de casos de uso é apenas um panorama visual das funcionalidades do sistema, é necessária uma descrição textual para detalhar os casos de uso. Para uma calculadora de linha de comando cujo objetivo é executar expressões aritméticas (ex. -2 +35), a figura abaixo já demonstra um diagrama de casos adequado.
3 - Diagramas de casos de uso
Exercício Fazer o levantamento (Análise de requisitos), localizar e diagramar as classes, atributos e operações para um sistema de manutenção e controle de contas correntes e aplicações financeiras de um banco fictício. O sistema suportará um cadastro de clientes, onde cada cliente cadastrado poderá ter várias contas correntes, vários dependentes ligados a ele, e várias contas de poupança. Cada dependente poderá possuir várias contas de poupança, mas não poderão ter uma conta corrente própria. Entendemos poupança como uma conta que possui um valor, um prazo de aplicação a uma taxa de juros (definida no vencimento da poupança). Entendemos Aplicações Pré-fixadas como uma aplicação de um valor, em um prazo pré-determinado a uma taxa de juros previamente definida. Tanto a conta corrente quanto a poupança deverão manter um histórico de todas as movimentações de crédito, débito, transferências e aplicações de pré-fixados (préfixados apenas para conta corrente). Uma conta corrente poderá ter várias aplicações préfixadas ligadas a ela.
Incluir Cliente Alterar Cliente Bloquear/Inativar Cliente Manutenção de Histórico Gerencia Banco Vincular C/C Vincular Conta Poupança Cadastrar Dependentes Movimentação c/c Registrar Historico Investir Aplicações PréFixadas Historico
Conta Corrente Histórico Data : date Valor : float Descrição : string Manutenção Armazenar No. Conta : float CPF Cliente : int Saldo : float Sacar Depositar Aplicações Prefixadas Data : date Prazo : int CPF cliente : int Investir Resgatar Clientes Dependente Nome : string CPF Cliente : int Grau de par : string Possui Nome : string CPF : int Endereço : string Incluir Alterar Bloquear Possui Conta Poupança Data : date CPF Cliente : int Saldo : float Incluir Alterar Bloquear Sacar Depositar