UML 2.0 - Modelo Casos de Uso



Documentos relacionados
Introdução a UML. Hélder Antero Amaral Nunes haanunes@gmail.com

UML Modelo Casos de Uso Estudo de Caso

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

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

O modelo unificado de processo. O Rational Unified Process, RUP.

UNIVERSIDADE DO ESTADO DE SANTA CATARINA - UDESC DCC Departamento de Ciência da Computação Joinville-SC

RUP. Evolução. Principais Características do RUP. Principais Características do RUP RUP

Wilson Moraes Góes. Novatec

UML: Casos de Uso. Projeto de Sistemas de Software

Engenharia de Software

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

É uma forma do engenheiro de requisitos especificar os limites e as funcionalidades do sistema.

Engenharia de Software I: Análise e Projeto de Software Usando UML

Análise e Projeto de Sistemas

Processo de Desenvolvimento Unificado

UNIVERSIDADE FEDERAL DO PARANÁ. CURSO: Ciência da Computação DATA: / / 2013 PERÍODO: 4 o.

Engenharia de Requisitos Estudo de Caso

Notas de Aula 04: Casos de uso de um sistema

O Rational Unified Process (RUP) é um processo de desenvolvimento de software inspirado no

Projeto de Sistemas I

build UNIP Sistemas de Informação Análise Essencial de Sistemas 3 Prof.Marcelo Nogueira A produção de Software é uma atividade build and fix.

Ciência da Computação ENGENHARIA DE SOFTWARE. Análise dos Requisitos de Software

Diagrama de Caso de Uso e Diagrama de Sequência

! Introdução. " Motivação para Processos de Software. ! Processo Unificado (USDP) " Definições " RUP x USDP " Características do Processo Unificado

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

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

UML - Unified Modeling Language

Histórico da Orientação a Objetos Ciclo de vida de Desenvolvimento de SW

1. Desenvolver o software iterativamente. Um pouco de reflexão: Acabou aí? 31/08/2010

Planejamento da disciplina: Modelagem de processos de negócio

Engenharia de Software III

O que é a UML? Introdução a UML. Objetivos da Modelagem. Modelos. A UML não é. Princípios da Modelagem. O que é um modelo?

do grego: arkhé (chefe ou mestre) + tékton (trabalhador ou construtor); tekhne arte ou habilidade;

UML e a Ferramenta Astah. Profa. Reane Franco Goulart

2 Diagrama de Caso de Uso

Tópicos em Engenharia de Software (Optativa III) AULA 2. Prof. Andrêza Leite (81 )

O Processo Unificado: Captura de requisitos

Engenharia de Software I

UML 2. Guia Prático. Gilleanes T.A. Guedes. Novatec. Obra revisada e ampliada a partir do título Guia de Consulta Rápida UML 2

Modelagem OO com UML. Vítor E. Silva Souza ~ vitorsouza

ANÁLISE E PROJETO ORIENTADO A OBJETOS. Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com

Requisitos. Sistemas de Informações

Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia.

Sumário. Uma visão mais clara da UML

TRABALHO DE DIPLOMAÇÃO Regime Modular ORIENTAÇÕES SOBRE O ROTEIRO DO PROJETO FINAL DE SISTEMAS DE INFORMAÇÕES

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

UML Visão Geral. Índice. Introdução. Diagramas. Modelos e diagramas. Elementos de modelação. Referências

DISCIPLINA ENGENHARIA DE SOFTWARE Aula 03 Processo Unificado e Desenvolvimento Ágil. Profª Esp.: Maysa de Moura Gonzaga

Unified Modeling Language UML - Notações

Palavras-Chaves: engenharia de requisitos, modelagem, UML.

18º Congresso de Iniciação Científica UM ESTUDO EXPLORATÓRIO SOBRE TÉCNICAS DE MODELAGEM DE REQUISITOS DE SOFTWARE PARA SISTEMA EMBARCADO

Diagrama de Classes. Diagrama de Classes. Diagramas de Classe. POST Criando Diagramas de Classe. Como construir (2)

Um modelo é uma simplificação da realidade. Construímos modelos para compreender melhor o sistema que estamos desenvolvendo.

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

Introdução à Engenharia de Software

Histórico da Revisão. Versão Descrição Autor. 1.0 Versão Inicial

Palavras-Chaves: Arquitetura, Modelagem Orientada a Objetos, UML.

Programa do Módulo 2. Processo Unificado: Visão Geral

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software

UML Linguagem de Modelagem Unificada

1 UML (UNIFIED MODELING LANGUAGE)

Processos de Desenvolvimento de Software. Prof. Hélio Engholm Jr

Modelagemde Software Orientadaa Objetos com UML

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

Uma Abordagem usando PU

Prova de Conhecimento para Consultores de Implementação MPS.BR INSTRUÇÕES

UNIVERSIDADE DE MOGI DAS CRUZES Centro de Ciências Exatas e Tecnológicas

Micro Mídia Informática Fevereiro/2009

Palavras-Chaves: estoque, modelagem, requisitos, UML, vendas.

APLICAÇÃO DA MODELAGEM UML NA FASE DE ANÁLISE DE UM PROJETO DE SOFTWARE PARA AGENDAMENTO DE USO DE VEÍCULOS INTERNOS DE UMA EMPRESA

Engenharia de Software

Engenharia de Software I

Apresentar os conceitos básicos da metodologia de desenvolvimento Processo Unificado, utilizando como aporte o Processo Unificado Rational RUP

Aula 5 UML: Casos de Uso

Programação Orientada a Objetos. Introdução à Análise Orientada a Objetos (AOO)

Universidade Católica de Petrópolis Análise Orientada a Objetos. Introdução

Modelos de Sistemas Casos de Uso

Requisitos. Professor Gabriel Baptista ( gabriel.baptista@uninove.br ) ( )

Análise e Projeto Orientado a Objetos. Modelagem de Domínio

Curso: Engenharia de Software com Ênfase em Padrões de Software (UECE Universidade Estadual do Ceará) RUP

Para cada fase consideramos. Tempo para um projeto típico Tempo para um projeto Complexo. Arquitetura do Processo Unificado. A meta a ser atingida

A Linguagem de Modelagem Unificada (UML)

Uma visão mais clara da UML Sumário

Levantamento, Análise e Gestão Requisitos. Aula 04

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

MC302A Modelagem de Sistemas com UML. Prof. Fernando Vanini

Fase 1: Engenharia de Produto

Engenharia de Software. Apostila I >>> Introdução à ES - HEngholmJr

MODELAGEM DE CASOS DE USO PARA UM SISTEMA DE CLÍNICA VETERINÁRIA

Engenharia de Software

Engenharia de Requisitos

UML: Unified Modeling Language. Graduação em Informática 2008 Profa. Itana Gimenes

Ciência da Computação ENGENHARIA DE SOFTWARE. UML-Unified Modeling Language Linguagem de Modelagem Unificada

SISTEMATIZAÇÂO DOS TIPOS DE INFORMAÇÂO DO PLANEJAMENTO ESTRATÉGICO EMPRESARIAL E DE TECNOLOGIA DA INFORMAÇÂO E COMUNICAÇÂO

Pós Graduação Engenharia de Software

Orientação a Objetos I

Unisant Anna Gestão Empresarial com ERP 2014 Modelagem de Sistemas - UML e MER

4 O Workflow e a Máquina de Regras

Transcrição:

UML 2.0 - Modelo Casos de Uso Márcia Ito ito@mind-tech.com.br Julho/2004

Pensamento Inicial Nada lhe posso dar que já não exista em você mesmo. Não posso abrir-lhe outro mundo de imagens, além daquele que há em sua própria alma. Nada posso lhe dar a não ser a oportunidade, o impulso, a chave. Eu o ajudarei a tornar visível o seu próprio mundo, e isso é tudo. (Hermann Hesse)

Informações Gerais É impossível para um homem aprender aquilo que ele acha que já sabe. Epíteto

Objetivos Entender a importância da análise do problema e do conhecimento das necessidades dos stakeholders e usuários antes de iniciar o desenvolvimento de software; Conhecer o processo de definição do sistema a partir das necessidades do usuário e do stakeholder; Aprender a extrair da definição do sistema com casos de uso, utilizando a notação da UML 2.0

Pré-Requisitos Desejável experiência em desenvolvimento de sistema.

Informações Úteis Horários Material Didático Coffee-Break Telefones e recados Celulares e Pagers Estacionamento

Introdução Não basta possuir um intelecto vigoroso; o primeiro requisito é aplicá-lo corretamente. René Descartes

Problemas no Desenvolvimento de Software Márcia Ito Sintomas Necessidade não atendidas Requisitos expirados Módulos não se integram Difícil manutenção Descoberta tardia de falhas Baixa qualidade Baixa performance Colisão de desenvolvedores Causas Requisitos insuficientes Comunicação ambígua Arquitetura frágil Complexidade absurda Inconsistências não detectadas Testes pobres Avaliação subjetiva Desenvolvimento em Cascata Melhores Práticas Desenvolvimento iterativo Gerenciar requisitos Arquitetura componetizada Verificação contínua da qualidade Gerenciar mudanças Modelagem visual (UML) Build-and-realease Mudanças não controladas Fonte: SPMN (Software Program Manager Network)

UP Unified Process Deve-se ter por certo que não há nada mais difícil de realizar, nem de êxito mais duvidoso, nem mais perigoso de empreender, do que dar início a uma nova ordem das coisas. Nicolau Maquiavel

Objetivo Permitir o desenvolvimento de sistemas de alta qualidade usabilidade custos prazos Utilizar as melhores práticas no desenvolvimento de sistemas Permitir o gerenciamento adequado na organização do desenvolvimento

Modelo UP Márcia Ito

Rational Unified Process - RUP O Rational Unified Process é uma implementação refinada do UP, comercialmente disponível na forma de um conjunto de páginas em HTML. Ela foi elaborada para utilizar como ferramenta de apoio a Suite da Rational.

UP x RUP Adaptado de Rational Software Corporation; Rational Unified Process Version 2002.05.20; Copyright 1987 2002; 2002.

Unified Modeling Language (UML) Não deixe extinguir-se a sua inspiração e a sua imaginação; não se torne um escravo do seu modelo. Vicent Van Gogh

Evolução da UML Márcia Ito

O que é OMG-UML? É uma linguagem que pode ser utilizada para especificar, visualizar, construir e documentar sistemas, através de modelos. É não proprietária e aberta a todos. Representa uma coleção de práticas de engenharia que comprovadamente se demonstraram eficiente na modelagem de sistemas complexos.

Objetivos da UML 2.0 Além de manter os objetivos da UML 1.x, acrescenta-se: Tornar a modelagem das entidades de software executáveis; Prover mecanismos mais robustos para a modelagem de workflow e ações; Criar padrões para a comunicação entre diferentes ferramentas (XMI).

Características da UML 2.0 Elementos do Modelo Os conceitos utilizados nos diagramas. Possuem: Semântica Representação gráfica Extensões Classe atributos métodos Composição Caso de Uso Nó pacote componente

Características da UML 2.0 Visões Mostram os diferentes aspectos do sistema. É uma abstração que contém vários diagramas. Os diagramas são associados a sua respectiva visão. Relacionam os modelos ao método ou processo utilizado para o desenvolvimento. Márcia Ito Visão de Projeto Visão da Implementação Visão de Caso de Uso Visão do Processo Visão da Implantação De Booch, G; Rumbaugh, J.; Jacobson, I. UML Guia do Usuário, 2000

Características da UML 2.0 - Diagramas Incluem os elementos gráficos que ilustram uma parte ou aspecto particular do sistema. Um modelo do sistema tem vários tipos de diagramas para descrevê-lo. Os Diagramas são: Diagrama de Caso de Uso (Use Case) Diagrama de Classe Diagrama de Objetos Diagrama de Estrutura de Compósito (Composite Structure) Diagrama de Máquina de Estados

Características da UML 2.0 - Diagramas Os Diagramas são: Diagrama de Sequência Diagrama de Comunicação Diagrama de Atividade Diagrama de Revisão da Interação (Overview Interaction) Diagrama de Tempo (Timing) Diagrama de Componente Diagrama de Implantação (Deployment)

Entendendo a Necessidade do Cliente A maior lição que a vida me ensinou é que às vezes, até os tolos têm razão. Wiston Churchill

Objetivo Um sistema deve ter a capacidade de atender aos seus requisitos. Nosso problema é entender o problema do usuário dentro da sua cultura, linguagem e construir sistemas que venham de encontro às suas necessidades. Característica é um serviço que o sistema fornece a fim de atender as necessidades dos usuários

Visão do Projeto É necessário entender o problema para saber o que deve ser solucionado. Passos: Identificar os stakeholders; Obter o problema a ser resolvido; Definir os limites e restrições do sistema; Formular o problema; Definir as características do problema; Avaliar os resultados; Documentar no relatório Visão do Projeto.

Documento de Visão Documenta a visão completa do sistema. Captura as expectativas entre os envolvidos. Escrito com base na perspectiva dos clientes. Objetivo nas características essenciais do sistemas e níveis aceitáveis de qualidade. Fornece uma base contratual para os requisitos visíveis dos envolvidos. Não é totalmente preenchida na Iniciação.

Definindo o Escopo: Modelo de Caso de Uso Agradei-me, particularmente, da possibilidade de que Joshua estivesse tão preso ao seu modo clássico de pensar que me permitisse realizar o incrível feito de chegar antes do que ele à interpretação correta do seu próprio experimento. James Watson

Modelo Caso de Uso É uma forma do engenheiro de requisitos especificar os limites e as funcionalidades do sistema. Permite: Que clientes e usuários validem o sistema; Que os desenvolvedores do sistema construam o que é esperado. Componentes: Casos de usos Atores

Atores Atores são papéis de elementos externos ao sistema e que interagem DIRETAMENTE com o sistema. Um outro sistema que interage com o sistema a ser desenvolvido também é considerado um ator, desde que este sistema não faça parte do desenvolvimento. Exemplo de atores: Cliente Secretária Sistema de vendas (desde que não seja o sistema que estamos desenvolvendo) Glicosímetro (aparelho que mede a glicemia de uma pessoa, ele pode ser conectado ao computador por um cabo)

Casos de Uso São funcionalidades que o sistema realiza e que fornece um benefício a um ator específico. As características do caso de uso são: São sempre iniciadas por um ator. Deve sempre retornar um resultado (valor) ao ator. Cada caso de uso especifica uma funcionalidade completa envolvendo os atores interessados. Deve sempre terminar com o resultado que deve ser dado ao ator.

Notação ator interação Caso de uso

Especificação do Casos de Uso Cada caso de uso no diagrama de casos de uso deve ser detalhado na especificação de casos de uso. Esta especificação é evolutiva, quanto mais requisitos são coletados, mais detalhes são adicionados na especificação. Os tipos de especificação são: descrição inicial (representação conceitual do sistema); descrição base (documenta o comportamento ideal); descrição elaborada (documenta detalhadamento o comportamento).

Tipos de Especificações de Caso Márcia Ito de Uso Descrição inicial Nome: Atores: Descrição: Descrição base Nome: Atores: Descrição: Fluxo Básico: Descrição elaborada Nome: Atores: Descrição: Fluxo Básico: Fluxo Alternativo: Pré-condição: Pós-condição: Requisitos Especiais:

Refinar o Modelo de Casos de Uso Nada é mais fácil do que enganar a si mesmo. Pois, aquilo que cada homem deseja, isso mesmo ele acredita ser verdade. Demóstenes

Refinar o Modelo de Casos de Uso Detalhar os casos de uso do sistema (Especificação do Caso de Uso) Detalhar o fluxo de evento dos casos de uso Fluxo Básico: Quando a atividade é realizada com sucesso. Deve existir somente uma. Fluxo Alternativo: Quando a atividade não é realizada com sucesso o que deve acontecer. Pode existir quantas forem necessárias (cobrir todas as situações). Atividades (para cada caso de uso) Fluxo Básico ( Caminho Feliz ) Identificar ações Numerar ações em sequência ao qual acontecem Fluxo Alternativo ( Exceções ) Identificar ações Numerar ações em sequência ao qual acontecem Estruturar o fluxo de eventos dos casos de uso diagrama de atividade

Refinar o Modelo de Casos de Uso Detalhar os casos de uso do sistema Descrever os requisitos especiais: Requisitos legais e de regulamentação Padrões de aplicativos Requisitos de usabilidade, confiabilidade, desempenho e suportabilidade Sistemas operacionais, ambientes, compatibilidade e restrições de projeto. Descrever a pré, pós condição e pontos de extensão se pertinente.

Refinar o Modelo de Casos de Uso Estruturar modelo de casos de uso Estabelecer relacionamento de Inclusão entre os casos de uso Estabelecer relacionamento de Extensão entre os casos de uso Estabelecer relacionamento de Generalização entre os casos de uso Estabelecer relacionamento de Generalização entre os atores

Extensão Ponto de extensão Instância do Caso de Uso Caso de Uso Base Caso de Uso Extensão

Inclusão Instância do Caso de Uso Caso de Uso Base Caso de Uso Inclusão

Notação agente de viagem contratar transporte viajar Turista <<inclusão>> <<extensão>> consultar preço transporte contratada Companhia de Transporte

Generalização Caso de Uso Pai Instância do Caso de Uso Caso de Uso Filho

Notação Turista Consultar Preço Agente de Viagem Consultar por Pacote Consultar Avulso Turista Avulso Turista de pacote

Detalhar os casos de uso - Dinâmica Márcia Ito Descrição base Nome: Atores: Descrição: Fluxo Básico: Até a estabilização da especificação Descrição elaborada Nome: Atores: Descrição: Fluxo Básico: Fluxo Alternativo: Pré-condição: Pós-condição: Requisitos Especiais:

Estruturar o modelo de caso de uso - Dinâmica Márcia Ito Descrição base Nome: Atores: Descrição: Fluxo Básico: Descrição elaborada Nome: Atores: Descrição: Fluxo Básico: Fluxo Alternativo: Pré-condição: Pós-condição: Requisitos Especiais: ZZZ Descrição base Nome: Atores: Descrição: Fluxo Básico: Descrição elaborada Nome: Atores: Descrição: Fluxo Básico: Fluxo Alternativo: Pré-condição: Pós-condição: Requisitos Especiais: Descrição base Nome: Atores: Descrição: Fluxo Básico: Descrição elaborada Nome: Atores: Descrição: Fluxo Básico: Fluxo Alternativo: Pré-condição: Pós-condição: Requisitos Especiais: yyyyy XXXXX YYY <<inclusão>> ZZZ YYY XXX <<extensão>> XXXXX XXXX

E depois? A única razão da existência do tempo é para que todas as coisas não aconteçam de uma vez. Albert Einstein

Desenvolvimento de Sistemas e a UML Márcia Ito Necessidades dos Usuários e Stakeholders Diagrama Casos de Uso Requisitos Cenários (Fluxo de Eventos) Modelo de Interação (Diagrama de Sequência, Comunicação, Timing e Overview Interaction) Modelo Conceitual Descrição das classes Diagrama de Máquina de Estados Diagrama de Classe e Structure Composite Análise e Projeto OO Modelo Lógico Modelo Físico Modelagem de Dados Relacional Código Implementação OO Diagrama de componente Caso de Testes (unitário, integração e de sistema) Teste

Pensamentos Finais O que você fizer será insignificante, mas é muito importante que você o faça. Mahatma Gandhi É muito mais fácil fazer críticas do que fazer o que é certo. Benjamin Disraeli

Bibliografia The Unified Modeling Language User Guide - Grady Booch, James Rumbaugh, Ivar Jacobson - Addison Wesley 1999 UML and the Unified Process Jim Arlow, Ila Neustadt Addison Wesley 2003. The Unified Software Development Process - Ivar Jacobson, Grady Booch, James Rumbaugh - Addison Wesley - 1999. UML 2 Toolkit - Hans-Erik Eriksson e Magnus Penker - Wiley Computer Publishing 2004 Writing Effective Use Cases - Alistair Cockburn - Addison Wesley - 2002. Rational Software Corporation; Rational Unified Process Version 2002.05.20; Copyright 1987 2002; 2002.

UML 2.0 - Modelo Casos de Uso Márcia Ito ito@mind-tech.com.br Julho/2004