Tópicos da Aula. A Linguagem UML. A Linguagem UML. De onde surgiu? Fundadores da UML. Introdução à UML e Diagrama de Casos de Uso.

Documentos relacionados
A Linguagem UML. A Linguagem UML. De onde surgiu? Fundadores da UML. História da UML. O que é modelagem?

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

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

Diagrama de Casos de Uso

Diagrama de Casos de Uso. Interagindo com o Usuário

UML e seus diagramas

Tópicos da Aula. Desenvolvimento Dirigido por Modelos (MDD) Reusar cada vez mais... Reusar cada vez mais... O que é modelagem? Reuso: Código x Modelos

Engenharia de Software. Aula 2.4 Modelos de Casos de Uso. Prof. Bruno Moreno

UML Unified Modeling Language Linguagem de Modelagem Unificada

Tópicos da Aula. Alguns Diagramas UML. Diagramas Principais. Diagramas de Interação: Sequência e Colaboração. Tipos de Diagramas de Interação

Introdução. à UML. Histórico (cont.) Histórico Definição Benefícios Notação Diagrama de Classes Diagramas de Interação Conclusões Revisão

Engenharia de Software. UML Unified Modeling Language

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

Análise de Sistemas. Aula 5

Modelagem Orientada a Objetos

UML Diagrama de Atividades Diagrama de Caso de Uso. ENG1518/3VB Sistemas de Informação Gerenciais Prof. Marcos Villas

UML. Trabalho Análise e Projeto de Sistemas. Aluna: Luana Alves Businaro

Tópicos da Aula. Diretrizes Gerais. Trabalho Prático (TP) Pontuação do TP. Tema do Trabalho. Projeto de Software Diagrama de Classes

UML Unified Modeling Language Linguagem de Modelagem Unificada Requisitos, Casos de Uso no ArgoUML

Casos de Uso. Diagrama de Casos de Uso. Diagrama de Casos de Uso. Diagrama de Casos de Uso. Diagrama de Casos de Uso. Diagrama de Casos de Uso

POO Paradigma Orientado a Objetos. POO Paradigma Orientado a Objetos. POO Paradigma Orientado a Objetos. POO Paradigma Orientado a Objetos

Notas de Aula 03: Introdução a Orientação a Objetos e a UML

Curso de Sistemas de Informação. Karla Donato Fook DESU / DComp. Modelagem de Dados UML

15/04/2013. Pensar Orientado a Objetos. Projeto Orientado a Objetos. Características de Objetos. Classe de Objetos. Comunicação entre Objetos

Requisitos de Sistemas

Diagrama de Sequência. Diagrama de Sequência. Atores. O que representam? Linha de Vida. Objetos

PUC-GO- ADS: Prof. Vicente P. de Camargo. Desenvolvimento de Aplicações para Cliente Servidor

UML Aula I Diagramas de Caso de Uso. Ricardo Argenton Ramos

MODELAGEM DE SISTEMAS Unidade 2 A Linguagem UML. Luiz Leão

Requisitos de sistemas

Tópicos da Aula. Conceitos de programação orientada a objetos. Projeto orientado a objetos com UML

UML: Introdução. História Visão geral Modelo conceitual da UML. Bibliografia. UML: introdução

APÊNDICE D Unified Model Language (UML)

15/04/2013. Outro Diagrama de Classes. Primeiro Diagrama de Classes. Diagrama de Classes. Atributos. Eduardo Figueiredo

Análise e projeto de sistemas

UML (Unified Modelling Language)

Marcelo Henrique dos Santos

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA UML UNIFIED MODELING LANGUAGE

Linguagem de Modelagem Unificada UML

Introdução a UML. Aula 04 Analise de Sistemas Profª Rita de Cassia Gaieski

INTRODUÇÃO. Professora Lucélia Oliveira

Eng. de Requisitos: Atividades. Engenharia de Requisitos. Eng. de Requisitos: Processo. O Documento de Requisitos. Stakeholders. Estudo de Viabilidade

Aula 1: Apresentação. Revisão para Prova 1. Aula 2: Motivação. O que é software? Eng. de Software em Camadas. O que é Engenharia de Software?

Use Cases e Fluxo de Eventos. Use Case e Ator. Objetivos. Algumas Definições. Algumas Definições

Eng. de Requisitos: Atividades. Engenharia de Requisitos. Eng. de Requisitos: Processo. O Documento de Requisitos. Stakeholders

Análise de Sistemas. Visão Geral - Orientação a Objetos. Prof. José Honorato Ferreira Nunes

ANÁLISE DE SISTEMAS UML. por. Antônio Maurício Pitangueira

Requisitos de Software e UML Básico. Janaína Horácio

Lista Diagrama de Casos de Uso

Fatec Ipiranga - Engenharia de Software I 18/02/2013. Agenda. 0. Relembrando os Relacionamentos do Diagrama de Classes

ENGENHARIA DE SOFTWARE. Aula 07 UML - Diagrama de Casos de Uso

INF1013 MODELAGEM DE SOFTWARE

Especificação de Sistemas de Software e a UML

Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades. Diagramas UML. Classe, Seqüência e Atividades. Marcio E. F.

Prof. Esp. Fabiano Taguchi

INTRODUÇÃO À ENGENHARIA DE SOFTWARE. Prof.: Tiago Alves

Modelagem de Casos de Uso

Técnicas de Elicitação de Requisitos

UML UNIFIED MODELING LANGUAGE LINGUAGEM DE MODELAGEM UNIFICADA

UML. Diagrama de Caso de Uso. Profº. Reginaldo Cândido

UML. Adriano J. Holanda 21/3/

Diagrama de Casos de Uso

Diagrama de Classes. Régis Patrick Silva Simão. Régis Simão Diagrama de Classes 1/42

Modelagem de Casos de Uso. Sistemas de Informação

Especificações de Casos de Uso e Regras de Negócio

O Fluxo de Requisitos

MODELAGEM DE SISTEMAS. Introdução a Computação e Engenharia de Software. Profa. Cynthia Pinheiro

Visão Geral da UML. SSC Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012

UML (Linguagem Modelagem Unificada) João Paulo Q. dos Santos

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

Modelagem de Casos de Uso (Parte 1)

UML (Linguagem unificada de modelagem)

UML Visão Geral UML Visão geral v.1.1, Novembro de 2001

Engenharia de Software Orientada a Objetos - OOSE. Método de Jacobson

UML Linguagem Unificada de Modelagem (Visão Geral)

MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)

Modelagem ou Diagrama de Caso de Uso

Prof. Esp. Fabiano Taguchi

Engenharia de Software

UML 2.0 Método, Linguagem e Ferramenta. Prof. Cesar Augusto Tacla

Introdução a UML (Unified Modeling Language)

Rational Unified Process (RUP)

Modelagem de Sistemas

ANÁLISE E PROJETO DE SISTEMAS TÓPICO IV - INTRODUÇÃO A UML

Análise e Projeto Orientados a Objetos

Engenharia de Software

Diagrama de Sequência

Revisão Diagrama de Caso de Uso. Rodolfo Adamshuk Silva 30/08/2013

Análise de Sistemas 3º Bimestre (material 2)

1 Introdução. 1.1 Teoria dos Sistemas 23/4/2010

Ciência da Computação. Análise e Projeto Orientado a Objetos UML. Anderson Belgamo

Introdução. Introdução. Introdução. Planejamento da disciplina. Modelagem de Processos de Negócio. Prof.: Clarindo Isaías Pereira da Silva e Pádua

Projeto Integrador II. Princípios de Análise e Projeto de Sistemas com UML (livro de Eduardo Bezerra)

DIAGRAMAS DE CLASSE UML

Transcrição:

Engenharia de Software Aula 07 Tópicos da Aula Introdução à UML e Introdução a UML Visão geral de alguns diagramas Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo dcc603@gmail.com 28 Março 2012 A Linguagem UML A Linguagem UML UML (Linguagem de Modelagem Unificada) É uma notação gráfica (visual) para projetar sistemas OO Não é uma linguagem de programação Define diagramas padronizados É extensível É complexa (muitos diagramas) Usaremos apenas um sub-conjunto da UML De onde surgiu? Fundadores da UML Da união de três metodologias de modelagem Método de Booch - Grady Booch Método OMT - Ivar Jacobson Método OOSE - James Rumbaugh Os três amigos

História da UML 1994: Booch, Jacobson e Rumbaugh começaram a unificar suas notações 1996: Primeira versão (beta) da UML foi liberada 1996/97: Grandes empresas formaram a UML Partners HP, IMB, Microsoft, Oracle, etc. 1997: UML foi adotada pela a OMG (Object Management Group) como linguagem padrão de modelagem O que é modelagem? Atividade de construir modelos que expliquem as características ou comportamentos de um sistema A UML pode ser usada com todos os processos de software Modelo Cascata, Iterativo, Espiral... Utilizado principalmente em duas atividades dos processos Especificação de requisitos Projeto Por que modelar? Projetar é Fundamental Tão essencial quanto ter uma planta antes da construção de uma casa Melhora a comunicação entre os membros da equipe e o cliente A equipe entende melhor o sistema Permite analisar o sistema sobre vários aspectos Facilita a programação e a manutenção Diminui a possibilidade de erros Por que usar UML? Modelagem Orientada a Objetos Bons modelos são essenciais para a comunicação entre os stakeholders Padronização Todo o time entende a modelagem, facilitando a manutenção Facilita a programação Ferramentas para modelagem e geração de código Maneira natural de visualizar o software Modela o software semelhante ao mundo real - usando objetos Pessoas, animais, plantas, carros, etc. Humanos pensam em termos de objetos Mais alto nível

UML Define Diagramas Tipos Principais de Diagramas Estrutural Comportamental Objetivos Visualizar o sistema Especificar estrutura e/ou comportamento Guiar e documentar as decisões Alguns Diagramas UML Diagramas Estruturais (Estáticos) Diagrama de Classes Diagramas de Objetos Diagrama de Componentes, etc. Diagramas Dinâmicos Diagrama de Sequência Diagrama de Estados Diagrama de Atividades Diagrama de Colaboração, etc. Diagrama de Caso de Uso Resumo dos Diagramas UML Diagrama mais geral da UML Usado geralmente na fase de Especificação de Requisitos Mostra Quais usuários realizam que funcionalidades do sistema Alguns relacionamentos entre estas funcionalidades Diagrama de Caso de Uso Diagrama de Sequência Preocupa-se com a ordem temporal em que as mensagens são trocadas Pode se basear em um Caso de Uso Identifica Os eventos associados a funcionalidade modelada O ator responsável por este evento

Diagrama de Sequência Diagrama de Classes Diagrama mais utilizado da UML Serve de apoio para a maioria dos outros diagramas Define a estrutura das classes do sistema Estabelece como as classes se relacionam Diagrama de Classes Diagrama de Objetos Complemento do Diagrama de Classes Exibe os valores armazenados pelos objetos de um Diagrama de Classes Diagrama de Objetos Diagrama de Colaboração Amplamente associado ao Diagrama de Sequência São complementares Não se preocupa com a temporalidade Define Como os objetos estão vinculados Quais mensagens são trocadas entre objetos

Diagrama de Colaboração Diagrama de Estados Modela as mudanças sofridas por um objeto dentro de um determinado processo É utilizado para acompanhar os estados por que passa uma instância de uma classe Diagrama de Estados Diagrama de Atividades Descreve as atividades a serem executadas para a conclusão de um processo Concentra-se na representação do fluxo de controle de um processo Diagrama de Atividades Diagrama de Componentes Valida? Sim Não Processo: Validar Conta Associado a linguagem de programação a ser utilizada Este diagrama representa os componentes do sistema O componentes serão implementados como Classes de código-fonte Bibliotecas Arquivos de ajuda, etc.

Diagrama de Componentes Diagrama de Implantação Determina as necessidades de hardware Características físicas do sistema Servidores Estações Topologias de rede Protocolos de comunicação, etc. Diagrama de Implantação Outros diagramas Diagrama de Pacotes Representar os sub-sistemas englobados por um sistema Diagrama de Interação Geral Fornece uma visão geral dentro de um sistema ou processo de negócios Diagrama de Temporização Descreve a mudança no estado ou na condição de uma instância de uma classe ou seu papel durante um período de tempo Interagindo com o Usuário Adota uma linguagem simples Acessível ao cliente Objetivo é a compreensão do comportamento externo do sistema por qualquer stakeholder Apresenta o sistema através de perspectivas dos usuários

Diagrama mais abstrato da UML Portanto, o mais flexível e informal Geralmente é usado no início da modelagem do sistema Especificação de requisitos Uma técnica de elicitação de requisitos Apresenta uma visão externa geral das funções e serviços do sistema Define o que o sistema faz Não se preocupa em como o sistema faz Um caso de uso indica uma funcionalidade que o sistema deve oferecer Abrir conta, Sacar, Verificar Saldo, etc. Componentes do Diagrama Atores Quem executa a funcionalidade Qual é a funcionalidade Relacionamentos Como atores e casos de uso se relacionam Componentes do Diagrama Atores Quem executa a funcionalidade Qual é a funcionalidade Relacionamentos Como atores e casos de uso se relacionam Atores Os atores representam os papéis desempenhados pelos diversos usuários Cliente, Caixa do Banco, Gerente, etc. descrevem interações entre o sistema e estes atores Atores podem ser Pessoas que interagem com o sistema Um hardware especial que dispara uma interação Outro software que comunica com o sistema Definição de Ator O ator é algo (usuário, software ou hardware) que não faz parte do sistema mas que interage com ele em algum momento Representação Homem Palito + Papel Desempenhado

Exemplos de Atores Componentes do Diagrama Atores Quem executa a funcionalidade Atendente Cliente Qual é a funcionalidade Sistema de Cortes Relacionamentos Como atores e casos de uso se relacionam Definem os serviços, tarefas ou funções do sistema Os nomes indicam ação (verbos) Cadastrar venda : loja Sacar : banco Consultar um filme : locadora Representação de Representados por elipses Um texto dentro descreve a funcionalidade do caso de uso Geralmente a descrição dentro da elipse é curta e direta Verbo [ + Objeto ] Exemplos de Documentação de Locar Filmes Consultar Gêneros Os diagramas devem ser explicados por meio de uma linguagem bastante simples Linguagem Natural ou Estruturada Cadastrar Clientes Elementos que podem ser documentados Quais atores interagem com o caso de uso Quais etapas devem ser executadas Quais parâmetros devem ser fornecidos Quais são restrições e validações, etc.

Documentação de Não existe um formato específico Várias formas são usadas, como: Descrição passo a passo Tabelas Pseudo-código Fluxograma Cenários de Caso de Uso Documentação de Não existe um formato específico Várias formas são usadas, como: Descrição passo a passo Tabelas Pseudo-código Fluxograma Cenários de Caso de Uso Cenários Descreve uma situação de uso do sistema Inclui informações como Nome do Cenário Ator Pré-condição Fluxo normal Fluxos alternativos Pós-condição Exemplo de Cenário (ATM) Nome do Cenário: Sacar Dinheiro Ator: Correntista Pré-condição: Conta e senha validada Fluxo normal 1. Entrar com valor do saque 2. Confirmar dados e operação 3. Debitar valor da conta do cliente Fluxos alternativo: Saldo insuficiente 3.1 Apresentar aviso ao cliente Pós-condição: Valor sacado é debitado do saldo do cliente Componentes do Diagrama Atores Quem executa a funcionalidade Qual é a funcionalidade Relacionamentos Como atores e casos de uso se relacionam Relacionamentos Representam as interações ou associações entre Atores e Dois ou mais Dois ou mais Atores Principais tipos de relacionamentos Inclusão Extensão Generalização

Ator e Caso de Uso Associações Demonstra que o Ator utiliza a função do sistema representada pelo Caso de Uso Requisitando a execução da função Recebendo o resultado produzido pela função Representada por uma reta ligando o Ator ao Caso de Uso Direcionada ou não Cliente Locar Filmes Linha não direcionada é mais comum Verificar veículos Corretor Vistoriador Especialização / Generalização Especialização / Generalização Acontece quando dois ou mais casos de uso possuem características semelhantes Reuso O Caso de Uso geral que descreve as características compartilhadas As especializações definem características específicas Específicos Caso de Uso Geral Inclusão (Include) Inclusão Utilizado quando um caso de uso é usado dentro de outro caso de uso Os relacionamentos de inclusão indicam obrigatoriedade A execução do primeiro obriga a execução do segundo Representada por uma seta tracejada A seta aponta para o Caso de Uso incluído Possui a palavra include entre dois sinais de menor (<<) e dois sinais de maior (>>)

Inclusão Extensão de Caso de Uso Geralmente usado em funcionalidades opcionais de um caso de uso Exemplo: cenários que somente acontecerão em uma situação específica Se uma determinada situação for satisfeita Extensão pode necessitar um teste para determinar se o caso de uso será estendido Representação de Extensão Extensão Semelhante à Inclusão Possuir a palavra extend entre dois sinais de menor (<<) e dois sinais de maior (>>) Resumo da Aula Referências da Aula UML Linguagem de modelagem É um padrão de fato Define inúmeros diagramas Utilizado na Especificação de Requisitos Usado em conjunto com a técnica de cenários para documentação BOOCH, G., RUMBAUGH, J., JACOBSON, I. UML, Guia do Usuário. Rio de Janeiro: Campus, 2000. Capítulos 16 e 17 M. Fowler. UML Essencial, 3a Edição. Bookmann, 2004. Capítulo 9