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

Documentos relacionados
Projeto Detalhado. Projeto Detalhado. Modelo de decomposição em módulos. Passos de Projeto. Análise e Projeto OO. Análise e Projeto OO

Diagrama de Colaboração Exemplos - Padrões GRASP Diagrama de Classes

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

Casos de Uso O que é. Casos de Uso. Objetivos de um Caso de Uso. Atores. Atores e Casos de Uso. Diagramas de Caso de Uso

Uma visão mais clara da UML Sumário

Visibilidade e Diagrama de Classe de Projeto Estudo de Caso Sistema TPV

UML: Casos de Uso. Projeto de Sistemas de Software

Diagrama de Sequência Notação Objetos. Diagrama de Sequência Notação Mensagens. Diagrama de Sequência Notação Mensagens. Tipos de Mensagens

Aula 5 UML: Casos de Uso

Introdução. Diagramas de Interação. Introdução. Introdução. Introdução. Introdução. Os modelos de análise não respondem a algumas perguntas:

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

2 Diagrama de Caso de Uso

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

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

Notas de Aula 04: Casos de uso de um sistema

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

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

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

CASO DE USO. Isac Aguiar isacaguiar.com.br

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

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

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

1 UML (UNIFIED MODELING LANGUAGE)

Tarciane Andrade.

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

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

Engenharia de Software I

A Linguagem de Modelagem Unificada (UML)

Diagrama de Caso de Uso e Diagrama de Sequência

Micro Mídia Informática Fevereiro/2009

Casos de uso Objetivo:

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

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

Diagrama de Classes. Um diagrama de classes descreve a visão estática do sistema em termos de classes e relacionamentos entre as classes.

Engenharia de Software

UML & Padrões Aula 7. UML & Padrões - Profª Kelly C C Silva

ESTENDENDO A UML PARA REPRESENTAR RESTRIÇÕES DE INTEGRIDADE

Diagramas de Sequência e Contrato das Operações

Conteúdo. Disciplina: INF Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo

UML Aspectos de projetos em Diagramas de classes

Modelode Domínio: Identificando. Prof. Anderson Cavalcanti UFRN-CT-DCA

Uma Abordagem usando PU

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

Programa do Módulo 2. Fundações do Modelo Objeto

UML Diagramas. UML Diagramas. UML Diagrama Diagrama de Classes. UML Diagrama Diagrama de Classes

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

Padrões de projeto 1

Engenharia de Software Engenharia de Requisitos. Análise Orientada a Objetos Prof. Edison A M Morais prof@edison.eti.

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

ENGENHARIA DE SOFTWARE

UML & Padrões. Aula 1 Apresentação. Profª Kelly Christine C. Silva

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

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

Wilson Moraes Góes. Novatec

2. Sistemas Multi-Agentes (Multi-Agent System - MAS)

Modelagem de Processos. Prof.: Fernando Ascani

UML: modelagem dinâmica

DESENVOLVIMENTO DE SOFTWARE. Introdução ao Visual Studio VB.Net. Programação Estruturada. Prof. Celso Candido ADS / REDES / ENGENHARIA

ENGENHARIA DE SOFTWARE Prof. Ricardo Rodrigues Barcelar

Questões de Concursos Públicos sobre Orientação a Objetos e UML

Noções de. Microsoft SQL Server. Microsoft SQL Server

Engenharia de Software III

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO)

Programação de Computadores - I. Profª Beatriz Profº Israel

Lista 3 Exercícios de Gestão de Redes

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

Análise e Projeto Orientados por Objetos

Fundamentos de Banco de Dados e Modelagem de Dados

Diagramasde Interação. Prof. Anderson Cavalcanti UFRN-CT-DCA

Unified Modeling Language. Diagramas de Implementação

Modelagemde Software Orientadaa Objetos com UML

Persistência e Banco de Dados em Jogos Digitais

Lógica e Programação Java

Planejamento da disciplina: Modelagem de processos de negócio

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

Engenharia de Software: Introdução. Mestrado em Ciência da Computação 2008 Profa. Itana Gimenes

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

Software de gerenciamento de impressoras

INTRODUÇÃO A MODELAGEM DE PROCESSOS UTILIZANDO BPMN 1 FÁBIO RODRIGUES CRUZ CONCEITO DE MODELAGEM DE PROCESSOS UTILIZANDO BPMN

Estudo de Caso. Caixa Eletrônico. Deitel & Deitel. Java como Programar 6a edição

Engenharia de Requisitos Estudo de Caso

Unified Process. Sueleni Mendez Batista. Orientadora: Dra. Elisa Hatsue Moriya Huzita

Especificação de Sistemas de Tempo-Real utilizando Orientação a Objetos

Análise Orientada a Objetos

Modelos de Sistema by Pearson Education. Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 8 Slide 1.

Diagrama de Casos de Uso

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Feature-Driven Development

Unified Modeling Language UML - Notações

UML Visão Geral. Slides baseados em material disponibilizado pela Rational e adaptação da tradução de João P. Faria Univ. Do Porto.

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.

UML. Unified Modeling Language

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

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

Engenharia de Software

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio

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

Transcrição:

Diagrama de Classes Diagrama de Classes Modelo de classes de especificação Perspectiva de Projeto Ilustra as especificações de software para as classes e interfaces do sistema. É obtido através da adição de detalhes ao modelo conceitual conforme a solução de software escolhida, acrescentando-se: classes de controle e de interface (fronteira); métodos (tipos de parâmetros e de retorno). visibilidade e navegabilidade, inclui dependências, inclui a visão de projeto além da visão de domínio Modelo de Conceitual X Diagrama de Classe Modelo Conceitual: abstração de conceitos do mundo real Diagrama de Classe: especificação de componentes de software Diagramas de Classe Diagrama parcial para as classes e no sistema : informações sobre tipos Modelo Conceitual captura, :boolean captura, :boolean entraritem( ) obter_total( ) Diagrama de Classe captura, :boolean métodos navegabilidade entraritem( ) obter_total( ) Criando Diagramas de Classe Como construir (2) Identificando classes e atributos Observar os DI e Modelo Conceitual Loja nome endereco CataladoDeProdutos EspecificacaoDeProduto descricao preco UPC Item Pagamento quantia identificar todas as classes participantes da solução através dos diagramas de interação desenhar o diagrama copiar os atributos adicionar os métodos dos diagramas de interação adicionar tipos de atributos, parâmetro e retornos de métodos.

Como construir (2) adicionar as associações necessárias a visibilidade adicionar navegabilidade que indica a direção de visibilidade por atributo adicionar setas pontilhadas indicando visibilidade que não é por atributo Métodos ``create'' e de acessos aos atributos podem ser omitidos. Os tipos podem ou não ser mostrados; classes podem ser detalhadas ao máximo Identificação de Classes com Estereótipos Estereótipo é um classificador. Tipos: Entidade: representam conceitos do mundo real e armazenam dados que os identificam como no modelo conceitual Controle: controlam a execução de processos e o fluxo de execução de todo ou de parte de casos de uso e comandam outras classes Fronteira: realizam o interfaceamento com entidades externas (atores), contém o protocolo de comunicação com impressora, monitor, teclado, disco, porta serial, modem, etc. Exemplos no Sistema Posto Comercial Identificação das Classes de Controle <<identidade>> Intens <<fronteira>> InterfaceCliente <<controle>> ControleComprarItens Definir pelo menos uma classe do tipo controle para cada caso de uso de forma que ela contenha a descrição e comando do processo associado ao caso de uso. Definir classes de controle auxiliares em certos casos de uso que devido aà complexidade requeiram a divisão de seu processo em subprocessos. As classes auxiliares seriam controladas pela classe de controle principal Identificação das Classes de Controle Suas principais características são: Cria, ativa e anula objetos controlados Controla a operação de objetos controlados Controla a concorrência de pedidos de objetos controlados Em muitos casos corresponde a implementação de um objeto intangível. Gerente de Registro para o Caso de Uso registraralunos Identificação das Classes de Fronteira Definir uma classe do tipo fronteira para cada ator que participe do caso de uso, pois cada ator que pode exigir um protocolo próprio para comunicação. Uma classe para interface com o usuário, uma classe para interface com a impressora, uma classe para interface com a porta serial, etc. 2

Identificação das Classes de Fronteira Exemplos: Interface tipo Janela, Protocolo de Comunicação, Interface de Impressão, Sensores, etc. Classes: Formulário em Branco e Sistema de Cobrança Identificação dos Métodos Os métodos são acrescentados nas perspectivas de especificação e de implementação e são derivados a partir dos diagramas de interação: colaboração e sequências, na fase de projeto detalhado. É útil distingüir operações de métodos. Operações é algo que se evoca sobre um objeto (a chamada do procedimento). Para realizar uma operação a classe implementa um método (o corpo do procedimento) Identificação dos Métodos É útil distingüir operações que alteram ou não o estado (atributos) de uma classe Não alteram: query, métodos de obtenção, getting methods Alteram: modificadores, métodos de atribuição ou fixação, setting methods Métodos a partir dos DI Se uma classe recebe uma mensagem A, ela deverá executar em resposta uma operação A que é implementada por um método A. Métodos Os métodos são acrescentados na perspectiva de implementação e são derivados a partir dos diagramas de interação: colaboração e sequências. É útil distingüir operações de métodos. Operações é algo que se evoca sobre um objeto (a chamada do procedimento). Para realizar uma operação a classe implementa um método (o corpo do procedimento) Métodos É útil distingüir operações que alteram ou não o estado (atributos) de uma classe Não alteram: query, métodos de obtenção, getting methods Alteram: modificadores, métodos de atribuição ou fixação, setting methods 3

Criando Diagramas de Classe para o Sistema Adicionando informação sobre o tipo dos atributos Opcional Grau de detalhe dependente do público-alvo. Completar() Criar_iv(ESPEC: EspecificacaoDeProduto; QTD:integer) RealizarPagamento() Obter_Total() Criando Diagramas de Classe para o Sistema Adicionando associações e navegabilidade Investigar os DI Loja nome endereco possui Terminar() EntrarItem() RegistrarPagamento() As conexões envolvidas nos DI estarão representadas como associações no Diagrama de Classes usa captura busca_em CataladoDeProdutos Especificação() Completar() Criar_iv() RealizarPagamento() Obter_Total()..*..* contém contém pago_por EspecificacaoDeProduto descricao preco UPC descreve Item Obter_Subtotal() Pagamento quantia * Navegabilidade implica visibilidade, geralmente visibilidade de atributo. Criando Diagramas de Classe para o Sistema Adicionando nomes aos métodos Observe as mensagens dos DI Terminar() EntrarItem() RegistrarPagamento() Loja nome endereco CataladoDeProdutos Especificação() Completar() Criar_iv() RealizarPagamento() Obter_Total() EspecificacaoDeProduto descricao preco UPC Item Obter_Subtotal() Pagamento quantia Características dos Elementos de Classe UML oferece notação rica para descrever características como visibilidade, valores iniciais, etc. No sistema : todos os atributos são privados e todos os métodos são públicos Class Name attribute attribute : type attribute : type = initial value classattribute /derivedattribute... method() method2(parameter list) : return type abstractmethod() +publicmethod() -privatemethod() #protectedmethod() classmethod()... Visibilidade Outros aspectos Habilidade de um objeto A ver ou fazer referência a um outro objeto B. Para A enviar uma msg para B, B deve ser visível a A. por atributo: B é um atributo de A por parâmetro: B é um parâmetro de um método de A localmente declarada: B é um objeto local de um método de A; uma instância local é criada, ou ele será um valor de retorno global: B é visível globalmente; usa-se uma variável global para armazenar uma instância - pouco recomendada 4

Visibilidade Visibilidade Como se realizam as operações iniciais da aplicação? Cria-se um caso de uso startup. Seu diagrama de colaboração deve ser criado por último, representando o que acontece quando o objeto inicial do problema é criado. Quem deveria ser o objeto inicial do sistema? classe representando toda a informação lógica do sistema classe representando a organização usar Padrões Alta Coesão e Baixo Acoplamento Conectando a camada de apresentação com a do domínio Uma operação de startup pode ser: uma mensagem ``create'' para o objeto inicial; se o objeto inicial é o controlador, uma mensagem ``run'' para um objeto inicial é enviada. 5

Se uma interface do usuário estiver envolvida ela é responsável por iniciar a criação do objeto inicial e outros associados. Objetos da camada de apresentação não devem ter responsabilidades lógicas. Das nossas escolhas resultarão extensibilidade, claridade e manutenibilidade Organização de Classes em Pacotes Lógicos Organização de Classes em Pacotes Lógicos s Compras Administração Classes de fronteira Classes de Controle Classes VB Global Classes Entidades Coleções Entidades Elementos Entidades Referências Boock, G. and Rumbaugh, J. The Unified Modeling Language User Guide. Addison-Wesley, 999 Arlow, J. and Neustadt, I. UML 2 and the Unified Process: Practical Object-Oriented Analysis and Design, 2nd Edition, The Addison- Wesley Object Technology Series, 2005. Rumbaugh, J.; Jacobson, I. and Booch, G. The Unified Modeling Language Reference Manual, 2nd Edition, The Addison-Wesley Object Technology Series, 2004. Boock, G.; Rumbaugh, J. and Jacobson, I; Unified Modeling Language User Guide, 2nd Edition, The Addison-Wesley Object Technology Series, 2005. Jacobson, I; Boock, G. and Rumbaugh, J., Unified Software Development Process, Addison-Wesley, Janeiro 999. Larman, C. Applying UML and Patterns: An Introduction to Object- Oriented Analysis and Design Prentice-Hall, New Jersey - USA, 997 Bezerra, E. Princípios de Análise e Projeto com a UML, ed. Campus- Elsevier. 2003. 6