Anotando Diagramas de Classe com o Rose Engenharia de Software e Sistemas.

Slides:



Advertisements
Apresentações semelhantes
Orientação a objetos identidade abstração classificação encapsulamento
Advertisements

Análise e Projeto Orientado a Objetos
Análise e Desenvolvimento de Sistemas
Álgebra Relacional Marcelo Mendes Manaus
Engenharia de Software
Desenvolvimento de Sistemas Baseado na Transformação de Modelos
Prof.: Bruno Rafael de Oliveira Rodrigues
Contratos de Operação.
UML Material retirado da apostila do Professor Cesar Augusto Tacla
Centrado na arquitetura
Análise e Projeto de Sistemas
Otimização de Consultas em SQL Parte I - Planos de Execução e Equivalências de Expressões da Álgebra Relacional AULA 19 Profa. Sandra de Amo Programa.
Otimização de Consultas em SQL Planos de Execução e Equivalências de Expressões da Álgebra Relacional AULA 24 Profa. Sandra de Amo GBC053 – BCC
Linguagem de Programação
Capítulo 8 Construtores. 2 Capítulo 8 – Construtores Construtores Método Construtor Múltiplos métodos construtores Array de objetos.
Orientação a Objetos Classes
Análise e Projeto de Sistemas
Engenharia de Requisitos Requisito – sistema Caso de uso - usuário
Contratos Modelagem Funcional.
Capítulo 8 Construtores. 2 Capítulo 8 – Construtores Construtores Método Construtor Múltiplos métodos construtores Array de objetos.
Análise de Sistemas Análise e Projeto Prof. Jeime Nunes Site:
Prof. Dr. Daniel D. Abdala Baseada nas transparências de professor Leandro Becker.
Informática Teórica Engenharia da Computação
Otimização de Consultas em SQL Planos Alternativos AULA 24 Profa. Sandra de Amo GBC053 – BCC
SQL Álvaro Vinícius de Souza Coêlho
A aplicação da Engenharia Semiótica no design da interface de usuário do software ASK2000 Jair C Leite Salerno Silva DIMAp - UFRN.
Fase de Elaboração: Fluxo de Análise Análise de Sistemas de Software Prof. Rodrigo Ribeiro.
Engenharia do Conhecimento Ernesto Trajano Jacques Robin CIn-UFPE.
Aula Prática: A Ferramenta Possum
Curso Prático de Métodos Formais
Paulo Borba Centro de Informática Universidade Federal de Pernambuco Classes Abstratas e Interfaces.
Projeto de Software Joabe Jesus Engenharia de Software e Sistemas.
propriedades rose, roze, z-eves
Diagramas de classes rational rose. introdução interação classes atributos, operações associações associação, agregação, composição, generalização, dependência.
Orientação a Objetos e Java Graduação em Ciência da Computação
Paulo Borba Centro de Informática Universidade Federal de Pernambuco
Banco de dados.
Análise e Projeto de Sistemas
Baseado no material do Professor Raul Paradeda
Programação Orientada a Objetos - Java
Analisar Caso de Uso 10/04/ /04/2017 Analisar caso de uso
Orientação a Objetos e Java Graduação em Ciência da Computação  Centro de Informática, UFPE Alexandre Mota (com material da Qualiti Software Process)
Orientação a Objetos e Java Graduação em Ciência da Computação  Centro de Informática, UFPE Alexandre Mota
LOCADORA VOCÊ-ALUGA ALUGUEL SEM RESERVA
Aula Prática: A Ferramenta ZANS
Faculdade Pernambucana - FAPE Setembro/2007
A Linguagem Formal de Especificação VDM-SL
Abr-17 Analisar Caso de Uso Analisar caso de uso.
Orientação a Objetos e Java Graduação em Ciência da Computação  Centro de Informática, UFPE Alexandre Mota
Copyright 1998, Departamento de Informática da UFPE. Todos os direitos reservados sob a legislação em vigor. Variáveis e métodos estáticos, Passagem de.
Orientação a Objetos com UML
Abr-17 Projetar Subsistema Projetar subsistema.
Modelo de Análise e Projeto
Copyright 2000, Departamento de Informática, UFPE. Todos os direitos reservados sob a legislação em vigor. Orientação a Objetos e Java.
Object Constraint Language Philip Stephen Medcraft.
Refinamento rose, roze, z-eves. introdução refinamento em diagramas UML Roze, Z-Eves.
Engenharia de Software e Sistemas
Modelação Aula T15 Modelação Conceptual de Sistemas Revisão do Comportamento OCL – Object Constraint Language José Borbinha.
Paulo Borba e Augusto Sampaio Departamento de Informática Universidade Federal de Pernambuco Especificação Usando Conjuntos.
Especificação Formal de Software
Orientação a Objetos com UML. Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões|
Aula Prática – F# Programação Funcional –
Cápsulas, Protocolos, portas e conexões em UML-RT.
Engenharia de Software Orientada a Objetos
CIn.ufpe.br CSP-Z Disciplina: Especificação de Sistemas Distribuídos Mestrado em Ciências da Computação Aleciano Jr. Leonilson Barbosa.
Analisar Caso de Uso. Copyright © 2006 Qualiti. Todos os direitos reservados. Qualiti Software Processes Análise e Projeto OO com UML e Padrões| 2 Objetivos.
Analisar Caso de Uso. Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Analisar caso de uso | 2 Objetivos deste módulo.
©2003, Alexandre Vasconcelos & Augusto Sampaio CIn-UFPE1 Análise e Projeto de Sistemas Modelagem de Requisitos com Casos de Uso.
Introdução à Orientação a Objetos em Java Prof. Gustavo Wagner (Alterações) Slides originais: Prof. Tiago Massoni Desenvolvimento de Sistemas FATEC-PB.
1 Orientação a Objetos - Programação em C++ Slides 9: Programação ou Implementação: uma fase da engenharia de software. Projeto (UML) e Programação (C++,...)
Transcrição da apresentação:

Anotando Diagramas de Classe com o Rose Engenharia de Software e Sistemas

Roteiro UML anotado com Z Elementos da notação Inserindo anotações em diagramas Usando a ferramenta Exemplo Exercícios

UML anotado com Z UML é a linguagem padrão para projetos OO Porém UML não possui semântica bem definida... Anotações em linguagem formal nos ajudam a resolver essa carência mantendo os diagramas UML

Elementos da notação (1) Operadores lógicos Implicação - \implies Negação - \lnot And - \land Or - \lor Quantificadores \forall \exists

Elementos da notação (2) Conjuntos Pertence - \in Contido - \subset União - \cup Intersecção - \cap Tipos Naturais - \nat Inteiros - \num Booleanos - Bool

Elementos da Notação (3) Seqüências - \seq Conjunto potência - \power Given sets (conjuntos genéricos) Produto Cartesiano - T 1 \cross T 2 Relações - \rel Funções - \pfun

Inserindo anotações no diagrama Pré e pós condições Selecione a classe -> open specification Aba operations Clicar duas vezes no método desejado Insira as pré e pós condições nas respectivas abas As expressões devem ser escritas usando a notação Z/latex (\rel, \exists, etc.)

Inserindo anotações no diagrama Invariantes de classe Open specification -> documentation Escreva a invariante na área reservada para a documentação da classe

Exemplo: 0..n 1 Banco cadastrar remover creditar debitar getSaldo transferir Conta numero: NUM saldo: \nat getNum getSaldo creditar debitar Cliente id: ID nome: NOME getId getNome clientes contas dono Poupança renderJuros

Exercícios: Cliente - id: ID - nome: NOME getId setId getNome setNome getId() pré: pós: result! = id setId(id: ID) pré: pós: id’ = id? getNome() pré: pós: result! = nome setNome(nome: NOME) pré: pós: nome’ = nome?

Exercícios Conta - num: NUM - saldo: \nat getNum() setNum() getSaldo() setSaldo() creditar() debitar() getNum() pré: pós: result! = num setNum(num: Z) pré: pós: num’ = num? getSaldo() pré: pós: result! = saldo setSaldo(saldo: IN) pré: pós: saldo’ = saldo?

Exercícios Conta - num: NUM - saldo: \nat... creditar() debitar() creditar(val: IN) pré: pós: saldo’ = saldo + val? debitar(val: IN) pré: saldo  val? pós: saldo’ = saldo - val?

Exercícios  cl: clientes  cl  null  cc: contas  cc  null  c1,c2: contas | c1  c2  c1.getNum()  c2.getNum()  cl1,cl2: clientes | cl1  cl2  cl1.getId()  cl2.getId()

Exercícios Banco cadastrar() remover() creditar() debitar() transferir() ATENÇÃO: Esta classe possui dois atributos implícitos nomeados de contas: IP Conta e clientes: IP Cliente, respectivamente cadastrar(conta: Conta) pré: conta?  null  cc:contas  cc.getNum()  conta? pós: contas´ = contas  {conta?} remover(conta: Conta) pré: conta?  null  cc:contas  cc.getNum() = conta? pós: contas´ = contas \ {conta?}