Franklin Ramalho Universidade Federal de Campina Grande - UFCG



Documentos relacionados
Diagrama de Casos de Uso

MODELAGEM DE SISTEMAS

4.1. UML Diagramas de casos de uso

Modelagem de Casos de Uso (Parte 1)

Casos de Uso. Professor MSc Wylliams Barbosa Santos wylliams.wordpress.com Laboratório de Programação

UML Unified Modeling Language. Professor: André Gustavo Bastos Lima

Uma visão mais clara da UML Sumário

Resolução da lista de exercícios de casos de uso

Conteúdo. 1. Introdução. 2. Levantamento de Requisitos. 3. Análise Orientada a Objetos. 4. Projeto Orientado a Objetos 5. UML. 6.

DESENVOLVENDO O SISTEMA

UML & Padrões Aula 3. UML e Padrões - Profª Kelly Christine C. Silva

04/07/2015 UML. Prof. Esp. Fabiano Taguchi DEFINIÇÃO DE REQUSIITOS

Modelos de Sistemas Casos de Uso

Exercícios Diagrama de Casos de Uso. Disciplina: Engenharia de Requisitos

Modelagem de Software Prof. Flávio de Oliveira Silva, Ph.D.

Diagramas de Casos de Uso

Diagrama de Casos de Uso. Diagrama de Casos de Uso. Diagrama de Casos de Uso. Diagrama de Casos de Uso. Componentes do Diagrama

O Processo Unificado: Captura de requisitos

Engenharia de Requisitos Estudo de Caso

Análise e Projeto de Sistemas. O que é modelagem. O que é modelagem. Tripé de apoio ao desenvolvimento. Notação: UML. Ferramenta: Rational Rose.

Franklin Ramalho Universidade Federal de Campina Grande - UFCG

3.1 Definições Uma classe é a descrição de um tipo de objeto.

Introdução Diagramas de Casos de Uso Diagramas de Classes Estoque Fácil

Orientação a Objetos I

Aula 5 UML: Casos de Uso

UML Aula I Diagramas de Caso de Uso, Sequência e Colaboração

Engenharia de Software III

O Processo de Engenharia de Requisitos

UML Itens Estruturais - Interface

QUESTÕES PARA ESTUDO DIAGRAMA DE CLASSE

Casos de Uso. Prof. Clayton Vieira Fraga Filho site: ENG10015 Engenharia de Software

Persistência e Banco de Dados em Jogos Digitais

Modelagem com UML. Fabio Perez Marzullo. IEEE Body of Knowledge on Services Computing Committee on Services Computing, IEEE Computer Society

Micro Mídia Informática Fevereiro/2009

2 Engenharia de Software

UML: Diagrama de Casos de Uso, Diagrama de Classes

Casos de Uso - definições

Ricardo Roberto de Lima UNIPÊ APS-I. Históricos e Modelagem Orientada a Objetos

ProcessoUnificado: Prof. Anderson Cavalcanti UFRN-CT-DCA

2 Diagrama de Caso de Uso

UML 04. Curso Superior de Tecnologia em Banco de Dados Disciplina: Projeto de Banco de Dados Relacional 1 Prof.: Fernando Hadad Zaidan.

Casos de uso Objetivo:

Diagrama de Estrutura Composta

Itens estruturais/caso de uso. Itens estruturais/classe ativa. Itens estruturais/componente. Itens estruturais/artefatos. Itens comportamentais

Modelode Casosde Usoe. Prof. Anderson Cavalcanti UFRN-CT-DCA

Autoria:Aristófanes Corrêa Silva Adaptação: Alexandre César M de Oliveira

Simulado Banco de Dados I Bimestre 1 Capítulo 1 Projeto Lógico de Banco de Dados

UML - Unified Modeling Language

Modelagem de Sistemas Prof. Marcos Roberto e Silva

Engenharia de Software

Engenharia de Software I

AGHOS - GESTÃO E REGULAÇÃO ASSISTENCIAL E FINANCEIRA DE SAÚDE MÓDULO DE REGULAÇÃO AMBULATORIAL DE CONSULTAS ESPECIALIZADAS

Modelagem de Casos de Uso! Um modelo funcional

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO

Utilizando os Diagramas da UML (Linguagem Unificada de Modelagem) para desenvolver aplicação em JSF

Curso de Licenciatura em Informática

5 Exemplo de aplicação

Guia para elaboração do Modelo de Domínio Metodologia Celepar

Unioeste - Universidade Estadual do Oeste do Paraná Curso de Bacharelado em Informática Estudo de Requisitos CASCAVEL 2009

Mauricio Barbosa e Castro

Tema 1: Modelo Estático

Introdução. Leitura: Sommerville Pressman. UML 2 - Uma Abordagem Prática

Aula 2 Revisão 1. Ciclo de Vida. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW

Guia de utilização da notação BPMN

3. Fase de Planejamento dos Ciclos de Construção do Software

Banco de Dados Orientado a Objetos

MODELAGEM E SIMULAÇÃO

A Linguagem de Modelagem Unificada (UML)

Eduardo Bezerra. Editora Campus/Elsevier

Engenharia de Software

CellBus DOCUMENTO DE CASO DE USO VERSÃO (1.0)

Requisitos de Software

Diagrama de contexto

Modelagem de Processos. Prof.: Fernando Ascani

CURSO BÁSICO DE CRIAÇÃO DE SITES MÓDULO 2 AULA 1

Mapa Mental de Engenharia de Software - Diagramas UML

Freedom Software. Sistema de Representação. Freedom Software Sistema de Representação Página 1

Conectar diferentes pesquisas na internet por um menu

SISTEMAS DE INFORMAÇÃO GERENCIAIS

Boletim Eletrônico de Recolhimento Manual do Sistema. Boletim Eletrônico de Recolhimento. Manual do Sistema

Especificação do Trabalho

O modelo Entidade-Relacionamento. Agenda: -Modelagem de dados utilizando O Modelo Entidade-Relacionamento

Felipe Denis M. de Oliveira. Fonte: Alice e Carlos Rodrigo (Internet)

Notas de Aula 05: Aplicação de um caso de uso

UML: Casos de Uso. Projeto de Sistemas de Software

Ter o controle das pastas (Prontuários) armazenadas no "SAME", utilizando-se do recurso do "Volume".

PROJETO (OU DESIGN) DO SOFTWARE Diagrama de Estrutura

Desenvolvimento de uma Etapa

Tópicos da Aula. Que é são requisitos? Tipos de Requisitos. Requisitos Funcionais. Classificação de Requisitos. Requisitos de Software.

Metadados. 1. Introdução. 2. O que são Metadados? 3. O Valor dos Metadados

Herança. Algoritmos e Programação II. Aula 5 Herança

Modelos de Sistemas. Leitura: Cap7: Sommerville; Cap: 7-8 Pressman; Cap3: Ariadne

MAPEAMENTO OBJETO RELACIONAL: UM ESTUDO DE CASO

Transcrição:

Agenda - Motivação e Introdução Diagrama de - - Atores - Fluxo de eventos - Relacionamentos Franklin Ramalho Universidade Federal de Campina Grande - UFCG - Diagramas de - Exemplos - Meta-modelo MOF - Exercícios 2 Introdução Sistemas não existem isoladamente Deve interagir com entidades externas Humanos ou autômatos Deve-se entender bem os requisitos funcionais do sistema Usuários finais, desenvolvedores e especialistas do domínio devem se comunicar! Linguagem para comunicação interna e externa é imprescindível V&V é essencial no processo Introdução Um caso de uso especifica o comportamento de um sistema ou parte do sistema Descreve um conjunto de seqüência de ações Servem para captar comportamento pretendido do sistema Sem implementá-lo! Facilita comunicação Você deve pensar nas várias formas como o sistema será usado Orientam a arquitetura 3 4 Diagrama de caso de uso Um caso de uso representa um requisito funcional de todo o sistema Serviços, tarefas ou funções oferecidas pelo sistema Ex: Emitir um relatório, realizar cadastro, realizar consultas, etc. São muito úteis para tarefas de V&V ReceberMensagem TelefoneCelular Definição: um caso de uso descreve um conjunto de seqüência de ações cada um representando a interação de itens externos ao sistema (seus atores) com o próprio sistema (e suas principais abstrações). Usuário Jogar 5 6 1

Um ator representa um conjunto coerente de papéis que os usuários dos casos de uso desempenham quando interagem com esses casos. Exemplo: Na modelagem de um banco, o processamento de empréstimo envolve, entre outras coisas: Cliente (ator humano) Funcionário que concede o empréstimo (ator humano) Outros sistemas (ator automatizado) Etc. Pode possuir variantes: Especialização Inclusão Extensão Fatoramento de comportamento Aumento do reuso Exemplo: Empréstimo Empréstimo para compra de avião Empréstimo para compra de casa própria 7 8 Ator pedirempréstimo Emprestimos::pedirEmpréstimo pedirempréstimo Cliente do banco Caso de Uso Nome do Caso de Uso Nome de caminho do Caso de Uso 9 10 Assunto: Classe descrita por um conjunto de casos de uso Sistema ou subsistema Casos de uso são muito importantes para a geração de casos de teste: Testes de regressão Testes de sistema Testes de integração Casos de uso representam aspectos do comportamento da classe (assunto) Atores representam aspectos de outras classes que interagem com o assunto Atores estão conectados aos casos de uso apenas através de associação 11 12 2

Diagrama de caso de uso Ator - Sintaxe Assunto TelefoneCelular ReceberMensagem Usuário Jogar Associação 13 14 Fluxo de Eventos Fluxo de Eventos Um caso de uso descreveoque um sistema (subsistema, classe ou interface) faz, nãocomo ele é feito O Comportamento de um caso de uso pode ser especificado através de fluxo de eventos Como e quando o caso de uso inicia e termina Quando o caso de uso interage com atores Quais objetos são transferidos Fluxo básico de comportamento Fluxo alternativo de comportamento Ajuda a entender o sistema 15 São muito importantes: Entendimento do sistema Validação dos requisitos Durante os testes São descritos através: Linguagem natural Pré e pós-condições Máquinas de estados Diagrama de atividades Diagramas de seqüência Pseudo-código 16 Fluxo de Eventos - Exemplo Fluxo de Eventos Caso de Uso ValidarUsuário: Fluxo de eventos principal: O caso de uso começa quando o sistema solicitar ao Cliente um número PIN, seu número de identificação pessoal. O Cliente agora pode digitar o número PIN via teclado numérico. O Cliente confirma a entrada pressionando a tecla Enter. O sistema então verifica o número PIN para saber se é válido. Se o número PIN for válido, o sistema reconhece a entrada, finalizando o caso de uso. Fluxo excepcional de eventos: O Cliente pode cancelar uma ação a qualquer momento, pressionando o botão Cancelar, reiniciando assim o caso de uso. Nenhuma alteração é realizada na conta do cliente Em geral, cada processo prescreve um conjunto de seções que deverão aparecer no fluxo de eventos Nome Identificador Descrição Objetivo Pré-condições Pós-condições Fluxo principal de ações Fluxo alternativo de ações 17 18 3

Fluxo de Eventos Nome: Matricular aluno na disciplina Identificador: UC 15 Pré-condições: O aluno ser cadastrado no curso de Ciência da Computação da UFCG e ter cumprido os pré-requisitos da disciplina Pós-condições: O aluno estar matriculado na disciplina. Fluxo Principal: 1. O aluno indica que quer se matricular na disciplina 2. O aluno fornece seu nome, matrícula e disciplina 3. O sistema verifica se o aluno está devidamente cadastrado no curso 4. O sistema fornece a lista de disciplinas para o aluno se matricular 5. O aluno escolhe em quais disciplinas deseja matricular-se 6. O sistema indica que o aluno está apto para matricular-se nas disciplinas indicadas anteriormente 7. O sistema pergunta se o aluno deseja um comprovante impresso da matrícula 8. O aluno indica que deseja uma cópia impressa de matrícula 9. O sistema imprime o comprovante de matrícula do aluno 19 Fluxo de Eventos Fluxo Alternativo A: O aluno não está devidamente cadastrado no curso A.3 O sistema verifica que o aluno não está devidamente cadastrado no curso A.4 O sistema informa que o aluno não está devidamente cadastrado no curso Fluxo Alternativo B: O aluno decide não se matricular em nenhuma disciplina B.5 O aluno vê a lista de disciplinas e decide não se matricular em nenhuma Fluxo Alternativo C: O aluno não cumpriu os pré-requisitos da disciplina C.6 O sistema verifica que o aluno não cumpriu os pré-requisitos de alguma disciplina escolhida C.7 O sistema informa ao aluno que ele não cumpriu os pré-requisitos de alguma disciplina escolhida 20 Cenários Um caso de uso é um conjunto de seqüência de ações Vários caminhos podem ser seguidos Vários fluxos de eventos Cenário é uma seqüência específica de ações que ilustra o comportamento de um caso de uso Um cenário está para um caso de uso como um objeto está para uma classe Pode-se fazer uso dentro dos fluxos de eventos: If-then-else While, for, etc. Normalmente, um caso de uso possui N cenários 21 22 Relacionamentos entre Casos de uso podem ser agrupados em pacotes podem ser especificados através de relacionamentos de: Generalização Inclusão Extensão Permitindo um maior reuso 23 24 4

Relacionamentos entre Generalização: Semelhante à generalização entre classes O caso de uso filho herda o comportamento e o significado do caso de uso pai O filho poderá acrescentar ou sobrescrever o comportamento do seu pai Princípio da substituição ValidarUsuário ChecarSenha VerificarRetina 25 Generalização de Caso de Uso 26 AbrirContaCorrente Pode haver generalização também entre atores AbrirConta Pessoa AbrirContaPoupança Pessoa Física Pessoa Jurídica 27 28 Relacionamentos entre Inclusão: Um caso de uso incorpora explicitamente o comportamento de outro caso de uso Evita escrever o mesmo fluxo de eventos várias vezes Indica obrigatoriedade de execução Dependências estereotipadas por <<include>> PedirItem <<include>> ValidarUsuário ChecarSenha Relacionamento de inclusão de Caso de Uso VerificarRetina 29 30 5

Relacionamentos entre Extensão: Um caso de uso incorpora implicitamente o comportamento de outro caso de uso Descreve cenários opcionais O caso de uso base só pode ser estendido em determinados pontos, chamados pontos de extensão Dependências estereotipadas por <<extend>> Pode apresentar condições que devem ser satisfeitas quando um ponto de extensão é atingido 31 32 Diagrama de caso de uso PedirItem TelefoneCelular <<include>> ChecarSenha <<extend>> Adicional Relacionamento estendido EmbarcarPedido extension points Apenas material ValidarUsuário <<extend>> VerificarRetina EmbarcarParcialmente Pedido Usuário ReceberMensagem Jogar 33 34 Pode-se fazer uso dentro dos fluxos de eventos: Include UC15 Extend UC15 35 36 6

Diagramas de Diagrama de Um dos diagramas UML para modelagem de aspectos dinâmicos Modela comportamento de: Um sistema Um sub-sistema Classe Interface É o diagrama UML mais abstrato, flexível e informal Utilizado principalmente no inicio da modelagem Possivelmente consultado e modificado durante todo o processo de engenharia Serve de base para a modelagem de outros diagramas Útil na identificação dos requisitos do sistema e para tarefas de V&V 37 38 Diagramas de Diagrama de caso de uso Permite especificar, documentar e visualizar o comportamento de um elemento TelefoneCelular É for formado por: Assunto Atores Relacionamentos de dependência, generalização e associação Fluxo de eventos ReceberMensagem <<extend>> Adicional Podem conter ainda: Notas Restrições Pacotes Cenários 39 Usuário Jogar 40 Diagrama de Diagrama de Observe as cardinalidades! 41 42 7

Diagramas de Caso de Uso Diagramas de Caso de Uso Casos de uso são aplicados para assuntos! Mas são possuídos apenas por pacotes! Importante: Usar caminhos dos casos de uso! 43 44 Diagrama de Estudo de Caso Sistema de Matrícula da UFCG 45 46 47 48 8

Meta-modelo UML2.0::Infrastructure UML 2.0 Superstructure Dividido em 3 pacotes de alto nível: Structure Diagramas estruturais Behavior Supplement Diagramas comportamentais Conceitos adicionais Sub-dividida em outros sub-pacotes 49 50 UML 2.0 Superstructure Structure UML 2.0 Superstructure Behavior Conceitos relativos ao diagrama de classes Conceitos que permitem especificar a estrutura interna de uma classe (composição de elementos interconectados) Conceitos relativos ao diagrama de componentes Conceitos relativos ao diagrama de desenvolvimento 51 Conceitos relativos ao diagrama de casos de uso 52 UML 2.0 Superstructure Behavior UseCases package UML 2.0 Superstructure Behavior UseCases package 53 54 9

UML 2.0 Superstructure Behavior UseCases package Exercício 01 Crie um diagrama de casos de uso para um sistema de uso de cartões de crédito para várias operadoras de cartões de crédito. Você encontrará clientes, dos quais existem dois tipos (Individual a Jurídico). Estes cartões são aceitos por Lojas que realizam transações do cartão do cliente. Para isto, o cartão deve ser válido e o cliente ter saldo disponível, ou seja, ele não pode estourar o limite de seu cartão. A operadora, assim como as lojas, deve também detectar fraudes do cartão. Por fim, as faturas do cliente devem ser processadas pelas operadoras e pelas lojas e capturadas pelo cliente, que também pode gerenciar sua conta. Aonde está o relacionamento de generalização que pode ocorrer entre UseCases? 55 Tente acrescentar relacionamentos (não discriminados) neste diagrama! 56 Exercícios Exercício 04 Crie um diagrama de casos de uso para: Refine os diagramas anteriores com fluxos de eventos. O Orkut O sistema da locadora O sistema do campeonato paraibano de futebol O programa de fidelidade 57 58 10