Diagrama de Classes. Prof. Maikel Linares

Documentos relacionados
MODELAGEM VISUAL DE OBJETOS COM UML DIAGRAMA DE CLASSES.

Introdução à UML. Prof. Jesus José de Oliveira Neto

Análise e Projeto Orientados a Objetos

Modelo Conceitual Parte 1 Banco de Dados I Prof. Luiz Antônio Vivacqua C. Meyer

ENGENHARIA DE SOFTWARE. Aula 10 Introdução ao Diagrama de Classes

Aula 4 POO 1 Análise OO. Profa. Elaine Faria UFU

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

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

Diagramas de Classes. ESII Profª. Andressa Falcade URI Santiago

Engenharia de Software. Prof. Me. Clodoaldo Brasilino

Modelo Conceitual. Análise e Projeto de Sistemas Avançados. Aula 5. Allan Rodrigo Leite

UML - Diagrama de Classes

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

Revisão Diagrama de classes Elementos do diagrama de classes Exemplo: Sistema de matrícula

01 - Quais as principais vantagens da utilização de um Sistema de Banco de Dados em relação aos sistemas tradicionais de gerenciamento de arquivos?

Análise e Projeto Orientados a Objetos Aula I Introdução. Prof.: Bruno E. G. Gomes IFRN

RAD Desenvolvimento de Sistemas de Informação

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

Aula 15 Modelagem de Classes de Análise. Análise de Sistemas Prof. Filipe Arantes Fernandes

Análise e Projeto de Sistemas

Profa. Dra. Irene Miura

Prof. Fabiano Taguchi

FUNDAÇÃO UNIVERSIDADE ESTADUAL DE MARINGÁ

Unidade IV. Compreende uma conexão bidirecional entre classes que indica a existência de um relacionamento entre os objetos dessas classes.

IFSC/Florianópolis - CTI - Projeto de Sistemas - prof. Herval Daminelli

Orientação a Objetos e Java

TÉCNICAS DE ORIENTAÇÃO A OBJETOS

Modelagem Orientada a Objeto

PROGRAMAÇÃO ORIENTADA A OBJETOS II -TÉCNICAS DE OO. Prof. Angelo Augusto Frozza, M.Sc.

Abordagem ER. Capítulo 2

UML LINGUAGEM DE MODELAGEM UNIFICADA Diagrama de Classes

INF1404 MODELAGEM DE SISTEMAS

Composição e Herança. carro meucarro = new carro();

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

Análise Orientada a Objetos. Análise Orientada a Objetos; O Paradigma de Objetos; A UML.

Modelagem de Processos

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

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

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

Modelos de Sistemas Casos de Uso

Aula 7 Visibilidade entre objetos e Diagramas de Classes

Universidade Federal de Uberlândia

DIAGRAMAS DE CLASSE UML

Abordagem ER. Capítulo 2

Análise e Projeto Orientado a Objetos

Prática interdisciplinar em desenvolvimento de software I

Análise e Projeto Orientados a Objetos

Diagrama de Classes 2017

Análise e Projeto de Sistemas

BCD29008 Banco de dados

Metodologias de Desenvolvimento (I)

Engenharia de Software. Aula 10 Representação dos Conceitos de Orientação a Objetos. Prof. Me. Rogério Ferreira

Banco de Dados. Bruno Rafael de Oliveira Rodrigues

MODELAGEM INTRODUÇÃO Um modelo atinge quatro objetivos objetivos:: Ajuda a visualizar o sistema como ele é ou como desejamos que seja Permite especifi

Linguagem de Programação. Diagrama de classes

Requisitos de sistemas

INF1013 MODELAGEM DE SOFTWARE

Modelagem Usando Orientação à Objetos (Programação Orientada a Objetos) Prof. Responsáveis Wagner Santos C. de Jesus

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

Banco de Dados Modelagem de Dados. Prof. Joel da Silva

Análise e projeto de sistemas

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

Banco de Dados Modelagem Conceitual de Dados. Prof. Edjandir Corrêa Costa

Diagrama de Classes. Classes. Relacionamentos. Atributos Métodos. Associação. Generalização Dependência Realização. Agregação Composição

GUIA DO GESTOR GVE2 Nº 2

Modelo Entidade Relacionamento (MER) e Diagrama Entidade-Relacionamento (DER)

Esta categoria mais geral, à qual cada objeto pertence, denominamos de classe; IFSC/POO + JAVA - prof. Herval Daminelli

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

Linguagem de Programação II Programação Orientada a Objetos. Orientação a Objetos

Casos de Uso. Leonardo Gresta Paulino Murta

Banco de Dados I Modelagem Conceitual

Engenharia de Software II e III - Introdução ao Diagrama de Classe

Engenharia de Software. Caso de Uso - Continuação

Diagramas de Sequência do Sistema e Contratos de Operações. SSC-121 Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2º semestre de 2012

Roteiro. Introdução. Uma Introdução à Programação Orientada a Objetos e JAVA usando NetBeans. Objetos. Princípios da Orientação a Objetos

Aula 5 Diagramas de Seqüência do Sistema e Contratos de Operações

IF685 Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 1/64

Unidade 4 Projeto de Banco de Dados

Conteúdo. Disciplina: INF Engenharia de Software. Monalessa Perini Barcellos

E N C A P S U L A M E N T O P R O F. M E. H É L I O E S P E R I D I Ã O

MER Modelo de entidade e Relacionamento. Prof. Me. Hélio Esperidião

Lista Diagrama de Casos de Uso

MER e DER Entidades Relacionamentos Atributos Ferramentas CASE Exemplos de DERs Exemplo de Minimundo. Banco de Dados. Aula 1.

INF1404 MODELAGEM DE SISTEMAS

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

SEMINÁRIOS INTEGRADOS EM ADS PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS

Aulas 03, 04 e 05. Relacionamentos entre Entidades Tipos de Relacionamentos Cardinalidade Relacionamento Identificador Entidade Associativa

Engenharia de Software II e III - Material para estudo Diagrama de Classe

PROJETO EM SISTEMAS DE INFORMAÇÃO. Unidade III Análise do Sistema. Luiz Leão

Q d( ) P. a( ) c( ) e( ) c( ) S. c( ) d( )

UALG/FCT/DEEI Análise e Modelação de Sistemas Informáticos. 8. Diagramas de Classes, Diagramas de objetos, Interfaces

UML Diagrama de Classes

Algoritmos e Programação

Modelagem de Processos

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

Linguagem C: Introdução

Modelagem de dados usando o modelo Entidade- Relacionamento (ER)

PROGRAMAÇÃO ORIENTADA A

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

Banco de Dados I Generalização/Especialização

Transcrição:

Modelo Conceitual Artefato mais importante da análise orientada a objetos. Diagrama de Classes. Prof. Maikel Linares Objetivo: - Identificar um conjunto rico de objetos conceituais. - Suas associações. - Seus Atributos. Deve enfatizar os conceitos do domínio do problema e não entidades de software. Conceitos Definição: - Idéia, coisa, objeto. - Parte do NEGÓCIO. Estratégias para identificar conceitos: ) Identificação de substantivos. 2) Lista de categorias de Craig Larman. Ex: - Objetos físicos ou tangíveis. - Lugares. - Transações. - Papéis desempenhados por pessoas. - Outros sistemas. - Registros. Exemplos, e notação UML Locação Fita Categoria Funcionário Associação Relacionamento com significado e interesse. Multiplicidade Notação UML Filme Pertence Categoria Lista de associações comuns: um 0... zero ou um...40 um até 40 5 exatamente 5 3,5,8 exatamente 3, 5 ou 8... um ou vários zero ou vários -A é uma parte de B -A está contida em B -A é uma linha de item de uma transação ou relatório B -A é conhecido / registrado / relatado por B -A usa ou gerencia B -A se comunica com B

Nomeando associação Atributos Exemplos: - Usar sempre frase com verbo - Separar as palavras com hífem - Direção da leitura ESQ para DIR de CIMA para BAIXO - Valores de dados puros - Incluir aqueles onde é necessário memorização. Categoria -nome -preço Funcionário -id -nome Dicas: - Se você não vê o atributo como somente um número ou um texto então provavelmente ele é um conceito. - Se o atributo identificado possuir seus próprios atributos, então provalvelmente é melhor defini-lo como um conceito. Identificação dos conceitos º Passo: Identificação dos conceitos Nada no sistema solicita identificação do funcionário Funcionário Cliente [ telefone, nome, senha, Fita [ código, Locação [ data, total, Filme [ nome, Categoria [ preço, Pagamento Comprovante Locadora Funcionário Categoria Locadora Possui Realiza Possui Possui Registro Cliente É realizado por Locação Fita Filme Aluga É sobre Gera Pagamento Comprovante Foi eliminado porque uma locação só é realizada mediante pagamento e portanto sempre existe. Acontece Foi eliminado porque possui as mesmas informações da locação, e não necessita registro adicional. ClassificaFilmesEm

Para que serve o diagrama de classe? O diagrama de classes serve para demonstrar de uma forma visual as classes e seus relacionamentos. O diagrama de classes, é o mais importante de todos os diagramas da UML, pois quando se tem uma visão de todas as classes (principalmente da camada de negócio) o programador já sabe que classe criar e qual se relacionam com qual. Dica: O diagrama de classe é bastante parecido com o MR (Modelo Entidade Relacionamento), pois na maioria das vezes as classes correspondem às tabelas. Mas atenção nem toda tabela é classe. Veja a figura abaixo: A figura acima descreve uma classe com seus componentes mais simples, agora vamos ver o que significa cada componente Visibilidade (Encapsulamento) - Como o compilador vê a classe, atributo ou método. São de 3 tipos básicos: + publico privado # protegido Sendo este usado com menos freqüência Dica: Toda classe é publica, todo atributo é privado e todo método é publico Tipo variável informamos que tipo de dado a variável vai receber. Tipos de Variável String Classe que armazena Caracteres Integer Armazena números inteiros Date Armazena Datas Real Números com casas decimais (não inteiros) Money Unidade Monetária Retorno Que tipo de informação o método vai retornas Void Quando o método não vai ter nenhum retorno Real Quando o método vai retornar números não inteiros String Quando o método retornar caracteres Integer Quando o método retorna números inteiros Parâmetros Muitas ações necessitam de um algo a mais para serem concluídas então surgem os parâmetros que passam as informações a mais para as ações serem concluídas com sucesso. Exemplo: O método calacularmedia para que a média seja calculada é necessário que sejam informadas as notas e seus respectivos tipos, surge então os parâmetros Veja: calcularmedia (Real nota, Real nota2) Real Agora que já conhecemos os elementos básicos, vamos ver os relacionamentos. Já que as classes são representações de algo que existe no mundo real e tudo no mundo real se relaciona, as classes também têm seus relacionamentos. Existem inúmeros relacionamentos nas classes porém vamos abordar apenas os 2 mais usados e caso houver alguma necessidade citamos futuramente OK!? Herança

O relacionamento de herança é o mais usado, pois muitas vezes temos informações genéricas que pertencem a um grupo especifico, ai então surge uma classe, logo surge um problema mais e se surgirem informações que são genéricas mais que pertencem a um grupo distinto? Eu crio então uma classe igualzinha a já criada e coloco as informações deste grupo certo? Errado! Imagine se isso acontecer,2,3 vezes que loucura.. Vamos pensar... Se esta classe com informações iguais já existe, porque criar outra com as mesmas informações? Ai entra o recurso da Herança. Exemplo: Eu tenho a classe Funcionário que tem atributos comuns e métodos, todos os funcionários da minha empresa têm essas características. O que acontece são existem funcionários do administrativo e da linha de produção. O que faço agora? Veja: Esta classe é a genérica com as informações que todo funcionário independente do setor possuí. Já o Funcionario_Adm além dessas informações que já estão na classe anterior, ele possuí também um método a mais, então eu crio uma classe com a seguinte aparência: No entanto o pessoal da linha de produção recebe uma insalubridade, que varia de percentual então eu crio uma classe com esta aparência: Bom agora eu tenho 3 classes mas como eu as organizo? Calma... O relacionamento de herança em um diagrama de classe é representado da seguinte forma: As setas informam que as classes herdam da classe Funcionário todas as informações, ou seja nas classes Funcionário_Adm e Funcionário_Linha já tem todas as informações (nome, rm, realizahoraextra, etc.) além das suas informações próprias.

Associação Este tipo de associação é a mais simples indica apenas que uma classe se liga com a outra trocando as informações, sem herdá-las. Por exemplo este relacionamento só diz que um funcionário possuí um gerente por exemplo. Mas espera aí!!!!! Se as classes como tudo no mundo real se relaciona, tem que se informado a quantidade de vezes que elas relacionam. No diagrama de classes existem basicamente os seguintes tipos de relacionamentos. Símbolo Significado 0.. 0 ou vários.. ou vários.. Um exatamente um Veja um exemplo de como isso funciona dentro do diagrama de classes Na imagem acima significa que ou várias pessoas residem em um único município. Dica: Caso você tenha alguma dificuldade de ver os relacionamentos entre as classes, pense nestas como tabelas isso pode ajudar um pouco. Nome da associação Verbo que indica o nome que a associação vai possuir, vem sempre acompanhada de um triângulo ( ) que indica a direção no qual o nome deve ser lido. A figura acima diz que um funcionário possuí holerith naquele mês.

Como criar um diagrama de classes? Construir um diagrama de classes é algo um pouco complicado, requer um pouco de paciência, e com um pouco de prática essa tarefa fica um pouco mais tranqüila. Segue agora alguns passos que podem ajudar na construção do seu diagrama de classes. Passo : Identifique as classes seus atributos e métodos, dentro do contexto do sistema que você está desenvolvendo. Passo 2: Verifique os relacionamentos (associação comum ou de herança). Passo 3: Veja a multiplicidade. Defina a quantidade de vezes que as classes vão se relacionar. Passo 4: Defina o nome de cada associação e o seu sentido. Desenvolva o diagrama de classe de um sistema de empréstimo, resumidamente o sistema deverá ter o devedor e o credor, com suas respectivas senhas, os valores das transações (valor emprestado, valor juros ), datas referentes a transação ( data empréstimo, data vencimento, data pagamento ), bloqueio de seguranças ( realizar novo empréstimo com debito em seu nome, conceder empréstimo existindo divida a terceiro ).

Dica: Se você encontrar muita dificuldade em desenvolver o diagrama de classe inicialmente, desenvolva-o como se estivesse desenvolvendo um modelo entidade relacionamento.