Programa do Módulo 2



Documentos relacionados
Programa do Curso de ESW

Analisar através de Casos de Uso,

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

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

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

3.1 Definições Uma classe é a descrição de um tipo de objeto.

UML Aspectos de projetos em Diagramas de classes

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

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

Orientação a Objetos com Java

Uma visão mais clara da UML Sumário

CASO DE USO. Isac Aguiar isacaguiar.com.br

UML: Diagrama de Classes

UML: Diagrama de Casos de Uso, Diagrama de Classes

2 Diagrama de Caso de Uso

MC536 Bancos de Dados: Teoria e Prática

Engenharia de Software III

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

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

Ciclo de Desenvolvimento de Sistemas de BD

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

Diagrama de Classes. Viviane Torres da Silva

A Linguagem de Modelagem Unificada (UML)

Engenharia de Requisitos Estudo de Caso

Diagrama de classes. Ricardo Roberto de Lima UNIPÊ APS-I

Unified Modeling Language UML

Prof. Claudio Passos Apresentação cedida pela Ceça Moraes

Persistência e Banco de Dados em Jogos Digitais

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

4.2. UML Diagramas de classes

Prof.: Clayton Maciel Costa

BANCO DE DADOS PROFESSOR MAURÍCIO - MAURICIO.MELLO@PUCPR.BR AULA 02. O Modelo Entidade-Relacionamento ( MER )

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

Banco de Dados. Modelagem de Dados com MER. Prof. Walteno Martins Parreira Jr

Modelo de Entidade e Relacionamento (MER) - Parte 07

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

EXERCÍCIOS SOBRE ORIENTAÇÃO A OBJETOS

MODELAGEM VISUAL DE OBJETOS COM UML DIAGRAMA DE CLASSES.

PROGRAMAÇÃO AVANÇADA -CONCEITOS DE ORIENTAÇÃO A OBJETOS. Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br

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

Tópicos em Engenharia de Computação

Engenharia de Software I

Modelagem de Casos de Uso (Parte 1)

Capítulo 09. Construindo o Modelo do Domínio

MODELAGEM DE DADOS MODELAGEM DE DADOS. rafaeldiasribeiro.com.br. Aula 3. Prof. Rafael Dias Ribeiro.

Unified Modeling Language UML - Notações

Programação com Objectos. Processamento de Dados I. 3. UML (Unified Modeling Language)

Disciplina: Unidade II: Prof.: Período:

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

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

Prof.: Clayton Maciel Costa

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

Engenharia de Software I

UML Diagramas Estruturais Classes

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

Profº. Enrique Pimentel Leite de Oliveira

Orientação a Objetos

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

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

Descreve relacionamentos entre objetos de dados; conduz à modelagem de dados; atributos de cada objeto => Descrição de Objetos de Dados;

Banco de Dados - Senado

Princípios de Análise e Projeto de Sistemas com UML

A linguagem UML. UML e Diagramas de Casos de Uso e Classes. Por que usar UML? O que é modelagem?

Engenharia de Software

Análise e Projeto Orientados por Objetos

Modelo Entidade-Relacionamento

UML. Unified Modeling Language

Capítulo 22. Associações entre Classes. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

O Modelo de Entidades e Relacionamentos (MER) é um modelo conceitual usado para projeto de aplicações de banco de dados.

Orientação à Objetos. Aécio Costa

Especificação do 3º Trabalho

Padrão Básico de Projeto: Herança versus Composição

Prof. Alexandre Unterstell Banco de Dados I

Engenharia de Software na Prática Hélio Engholm Jr.

Prof.: Clayton Maciel Costa

Programação Orientada a Objetos Classes Abstratas Técnico em Informática. Prof. Marcos André Pisching, M.Sc.

ENGENHARIA DA COMPUTAÇÃO

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

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)

UML: Casos de Uso. Projeto de Sistemas de Software

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

Coleções. Conceitos e Utilização Básica. c Professores de ALPRO I 05/2012. Faculdade de Informática PUCRS

Análise e Projeto Orientado a Objetos

O Processo Unificado: Captura de requisitos

Modelagem de Dados Usando o Modelo Entidade-Relacionamento

Empresa de Informática e Informação do Município de Belo Horizonte S/A PRODABEL

Disciplina Técnicas de Modelagem

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

Modelagem de Banco de Dados através do ERwin

MODELO ENTIDADE - RELACIONAMENTO

Tópicos Especiais em Sistemas de Telecomunicações IV

Modelagem dos dados. entendo. Reino Real. Reino. Representação

Análise Orientada a Objetos

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

Modelagem de Sistemas Prof. Marcos Roberto e Silva

Banco de Dados Modelo Conceitual, Lógico, Físico, Entidade- Relacionamento (ER) Hélder Nunes

Projeto de Banco de Dados

Transcrição:

4.1 Programa do Módulo 2 Orientação a Objetos Conceitos Básicos Análise Orientada a Objetos (UML) Diagrama de Classes Processo Unificado (RUP) Métodos Orientados a Objetos - UML 4.2 Diagrama de Classes Dados Objetos, Classes, Atributos, Operações, Associações, Agregação, Composição, Herança

Métodos Orientados a Objetos UML Diagrama de Classes Objetos 4.3 É a representação de uma entidade que pode ser real ou conceitual Ele pode representar alguma coisa concreta (um computador) ou um conceito (transação bancária). Cada objeto tem definidas as seguintes características: Estado: define uma das possíveis condições nas quais um objeto pode existir. O estado de um objeto, que é definido por um conjunto de propriedades (Atributos) mais as relações que o objeto tem com outros objetos Estado normalmente vai mudando com o passar do tempo (execução do sistema do qual ele faz parte). Comportamento: determina a maneira pela qual um objeto responde aos questionamentos dos outros objetos, determinando cada ação que um objeto pode realizar O comportamento de um objeto é implementado através de Operações. Identidade: indica a unicidade de cada objeto em um sistema, mesmo se seu estado for idêntico ao de outro objeto. Métodos Orientados a Objetos UML Diagrama de Classes Representando Objetos em UML 4.4 Um objeto é representado como um retângulo com o nome sublinhado. Professor J Clark J Clark : Professor Objeto com Nome : Professor Objeto Anônimo

Métodos Orientados a Objetos UML Diagrama de Classes Classes 4.5 Classe: é a descrição de um grupo de objetos com propriedades comuns (Atributos), comportamento comum (Operações), relações comuns com outros objetos além de uma semântica comum. Uma Classe é um padrão para a criação de objetos, e cada objeto é uma instância de uma única classe. Uma Classe bem definida deve capturar uma e somente uma abstração, e seu nome deve vir do domínio da aplicação sendo definido por um substantivo. e Métodos Orientados a Objetos UML Diagrama de Classes Representando Classes em UML 4.6 Uma classe é representada utilizando um retângulo com três compartimentos: O nome da classe A estrutura (Atributos) O comportamento (Operações) Professor - name - employeeid : UniqueId - hiredate - status - discipline - maxload + submitfinalgrade() + acceptcourseoffering() + setmaxload() + takesabbatical() + teachclass()

Métodos Orientados a Objetos UML Diagrama de Classes Relação entre Classes e Objetos 4.7 Uma classe é uma definição abstrata de um objeto. Ela define a estrutura e o comportamento de cada objeto da classe. Ela serve como um modelo para a criação dos objetos. Classes não são coleções de objetos. Professor Torpie Professor Professor Meijer Professor Allen Métodos Orientados a Objetos UML Diagrama de Classes O que é um Atributo? 4.8 Um atributo é uma propriedade de uma classe com um nome e que descreve a faixa de valores que instâncias da classe podem manter para esta propriedade. Uma classe pode ter qualquer número de atributos ou pode não ter nenhum atributo. Atributos Student - name - address - studentid - dateofbirth

Métodos Orientados a Objetos UML Diagrama de Classes 4.9 Atributos: Propriedades Estáticas Atributos estão ligados às estruturas de dados Sintaxe [visibilidade] nome [multiplicidade] [ : tipo ][= valor-inicial] Três valores para a visibilidade : +, public (visível por todas as classes). #, protected (visível na classe e nas sub-classes). -, private (visível unicamente na classe). e Métodos Orientados a Objetos UML Diagrama de Classes Atributos em Classes e Objetos 4.10 Classe :Student Student - name - address - studentid - dateofbirth - name = M. Modano - address = 123 Main St. - studentid = 9 - dateofbirth = 03/10/1967 :Student - name = D. Hatcher - address = 456 Oak Ln. - studentid = 2 - dateofbirth = 12/11/1969 Objetos

Métodos Orientados a Objetos UML Diagrama de Classes O que é uma Operação? 4.11 Um serviço que pode ser requisitado a um objeto para que ele implemente um comportamento. Uma operação tem uma assinatura, que define seus parâmetros e seu tipo de retorno. Uma classe pode ter qualquer número de operações ou nenhuma. Operações Student + get tuition() + add schedule() + get schedule() + delete schedule() + has prerequisites() Métodos Orientados a Objetos UML Diagrama de Classes Operações: Propriedades Dinâmicas 4.12 Sintaxe [visibilidade] nome [ (lista-parâmetros) ] [ : tipo-retorno ] Três valores para a visibilidade : +, public (visível por todas as classes). #, protected (visível na classe e nas sub-classes). -, private (visível unicamente na classe). e

Métodos Orientados a Objetos UML Diagrama de Classes Exemplos 4.13 Formação nome : String Estudante nome : String número : Integer = 0 idade : Integer ano adicionar(nome : String) : void s-inscrever() : Boolean adicionar(nom : String) : void validar(nom : String) : void Inscrição data : Date Formação: ciclo de estudos ao qual os estudantes podem se inscrever na instituição na qual estão matriculados. Criada ou invalidade pela administração após a habilitação. Arquivada para o histórico da vida do estabelecimento. Nota Esporte nome adicionar() invalidar() Na criação da classe ela deve ser documentada com uma Nota ou na própria Documentação da classe. As operações de criação de objetos são implícitas pois são padrão. e Métodos Orientados a Objetos UML Diagrama de Classes O que é um Diagrama de Classes? 4.14 Uma visão estática do sistema. CloseRegistrationForm Schedule CloseRegistrationController + open() + close registration() Student + get tuition() + add schedule() + get schedule() + delete schedule() + has pre-requisites() - semester + commit() + select alternate() + remove offering() + level() + cancel() + get cost() + delete() + submit() + save() + any conflicts?() + create with offerings() + update with new selections() + is registration open?() + close registration() Professor - name - employeeid : UniqueId - hiredate - status - discipline - maxload + submitfinalgrade() + acceptcourseoffering() + setmaxload() + takesabbatical() + teachclass()

Métodos Orientados a Objetos UML Diagrama de Classes Utilização dos Diagramas de Classes 4.15 Quando modelando a visão estática do sistema, diagramas de classes são tipicamente utilizados com três finalidades, na modelagem: Do vocabulário do sistema: definição das abstrações que estarão dentro ou fora dos sistema Os diagramas de classes especificam estas abstrações e suas responsabilidades. De Colaborações: grupos de classes e outros elementos que trabalham juntos para fornecer uma solução que é maior que a soma dos elementos colaborando Classes não trabalham sozinhas na implementação de uma solução e diagramas de classe são a maneira utilizada para apresentar a colaboração entre as classes. De um esquema lógico de um banco de dados: diagramas de classe podem ser utilizados para modelar os esquemas dos bancos de dados que serão utilizados para tornar persistentes os objetos do sistema Diagramas de classe são um tipo de Diagramas Entidade Relacionamento (ER) que apresentam além dos dados, o comportamento dinâmico dos elementos através das operações Operações são normalmente transformadas em triggers ou stored procedures do banco de dados. Métodos Orientados a Objetos UML Diagrama de Classes Diagrama de Classes: Exemplo 4.16 Existe uma maneira de organizar melhor estas classes? Que problema se pode observar neste diagrama? RegisterForCoursesForm CloseRegistrationForm Student Professor LoginForm Schedule RegistrationController CloseRegistrationController Course CourseOffering CourseCatalogSystem BillingSystem

Métodos Orientados a Objetos UML Diagrama de Classes Revisão: O que é um Pacote? 4.17 Um mecanismo de propósito geral para organizar elementos em grupos. Um elemento de modelagem que contém outros elementos de modelagem. Um pacote pode ser usado para: Organizar o modelo sendo desenvolvido. Criar uma unidade de gerenciamento da configuração. University Artifacts Métodos Orientados a Objetos UML Diagrama de Classes Exemplo: Pacote Registration 4.18 Registration CloseRegistrationForm CloseRegistrationController RegisterForCoursesForm RegistrationControler &

Métodos Orientados a Objetos - UML - Diagramas de Classes Tipos Particulares de Classes - I 4.19 Pode-se diferenciar três tipos primários de classes através da utilização de «estereótipos»: - <<entity>> - Classe Entidade: modelam informação e comportamento associado com uma classe que tem um longo tempo de vida Este tipo de classe representa uma entidade do mundo real ou pode ser necessária para implementar tarefas internas do sistema. <<boundary>> - Classe de Fronteira: tratam com a comunicação entre as entidades externas e o interior do sistema Elas podem implementar a interface para um usuário ou para outro sistema Cada par ator/cenário deve ser examinado na procura destas classes. <<control>> - Classe de Controle: modelam o comportamento seqüencial específico para um ou mais casos de uso Elas coordenam os eventos necessários para realizar o comportamento especificado no caso de uso. Classe Entidade Classe de Fronteira Classe de Controle Métodos Orientados a Objetos - UML - Diagramas de Classes Tipos Particulares de Classes - II 4.20 «interface» : associada a uma classe, ele descreve um comportamento visível Contém somente operações. POSterminal <<uses>> I-Store Store storeid : Integer POSlist : list Outra representação create() login() find() getpostotals() updatestoretotals() get() POSterminal Uma classe «interface» é uma Classe abstrata. <<uses>> I-Store getpostotals() updatestoretotals() get() Store storeid : Integer POSlist : list create() login() find() getpostotals() updatestoretotals() get() e

Métodos Orientados a Objetos - UML - Diagramas de Classes Relações entre Classes 4.21 Ligação entre objetos ou classes que cria uma dependência forte entre as classes do diagrama Três tipos básicos de relações (estruturação): Associação Agregação, Composição Herança Relações de dependência, mais fracas voltadas ao projeto/realização do modelo de base (dependências) : «realize» entre classe e uma interface «realize» entre os componentes de software de uma classe «trace» entre uma classe usuário proveniente da análise e uma classe componente que é o resultado do projeto do software. e Métodos Orientados a Objetos - UML - Diagramas de Classes Um relacionamento semântico entre duas ou mais classes que especifica conexões entre suas instâncias Relação estrutural que especifica que objetos de uma classe estão conectados a objetos de outra classe. O que é uma Associação Associações são representadas em UML por linhas entre as classes Dados podem fluir através das associações de uma classe para outra. Uma associação representa uma informação cujo tempo de vida não é negligenciável em relação à dinâmica geral dos objetos associados. 4.22 Student Schedule

Métodos Orientados a Objetos - UML - Diagramas de Classes O que é uma Associação 4.23 Nome das Associações: como regra geral, pode-se dizer que as associações devem ser nomeadas com formas verbais ativas ou passivas Elas devem ser representadas em itálico e pode-se colocar os sinais de < > para indicar o sentido de leitura do nome das associações. Papel: é o nome dado as extremidades de uma associação representando um pseudo-atributo da classe fonte Um papel deve ter um nome único no conjunto de atributos da classe fonte O papel descreve como uma classe vê a outra classe através da associação. Cada associação binária pode possuir dois papeis, um em cada extremidade Os papeis são nomeados com uma forma nominal. Métodos Orientados a Objetos - UML - Diagramas de Classes - Associações O que é Multiplicidade? 4.24 Multiplicidade indica o número de instâncias de uma classe que se relaciona a UMA instância de outra classe. Para cada associação, existem duas decisões que devem ser tomadas a respeito das multiplicidades para cada final de associação: Para cada instância de Professor, diversos cursos podem ser oferecidos. Para cada instância de CourseOffering, pode-se ter um ou nenhum Professor como instrutor. Professor Indicadores de multiplicidade: 1 exatamente um. instructor 0..*, ou * zero ou mais. 1..* um ou mais. 0..1 0..* CourseOffering 0..1 zero ou um (elemento opcional). 5..8 faixa específica (5, 6, 7, ou 8 ). 4..7, 9 combinação (4, 5, 6, 7, ou 9). &

Métodos Orientados a Objetos - UML - Diagramas de Classes - Associações Associação Reflexiva 4.25 Relações que têm como origem e destino uma única classe. Normalmente isto não indica que um objeto da classe tem uma associação com ele mesmo Geralmente indicam relações existentes entre diferentes objetos da mesma classe. Com associações reflexivas para se nomear a associação são utilizados papeis e não nomes de associação. Pessoa +pais 2 +crianças 0, n Métodos Orientados a Objetos - UML - Diagramas de Classes - Associações Multiplicidade: Exemplo 4.26 RegisterForCoursesForm 1 1 RegistrationController Student 1 0..* Schedule 0..1 0..* 0..1 0..4 CourseOffering 1. Descreva os relacionamentos entre: RegisterForCoursesForm e RegistrationController; Schedule para Student; e CourseOffering para Schedule. Quais são os limites superiores e inferiores destes relacionamentos? 2. Qual relacionamento é obrigatório? O que isto significa? 3. Quantos CourseOffering podem aparecer em um Schedule? 4. Quantos Student estão ligados a cada Schedule? 5. Pode um Schedule existir sem um Student? 6. Quantos Schedule podem ser abertos em um RegisterForCoursesForm?

Métodos Orientados a Objetos - UML - Diagramas de Classes - Associações Associações: Exemplo 4.27 Papel (não é necessário que esteja dos dois lados) Estudante nome : String número : Integer = 0 idade : Integer ano adicionar(nom : String) : void s-inscrever() : Boolean +inscrição Inscrito > 1..n 1..4 Cardinalidades (invertidas) Nome da associação (em itálico) > Como ler a associação Curso nome : String adicionar() validar() O Curso no qual o estudante se inscreve não faz parte dos atributos de Estudante É a associação que traduz esta característica. e Métodos Orientados a Objetos - UML - Diagramas de Classes - Associações Classe Associativa Uma associação pode intrinsecamente ter uma estrutura e um comportamento que deva ser representado Associação representada como uma classe. Situação verdadeira quando existe uma informação a ser representada e esta informação é ligada simultaneamente aos dois objetos ligados pela associação e não somente a um deles. Estudante nome : String número : Integer = 0 idade : Integer ano adicionar(nom : String) : void s-inscrever() : Boolean +inscritos 1..n Inscrição > Inscrição data : Date Classe associativa: um objeto da classe é identificado pelo casal de objetos ligados à associação 1..4 Curso nome : String adicionar() validar() Inscrição de um estudante em um curso do estabelecimento, criada e datada pela escolaridade no ato da inscrição. Arquivada para o histórico da vida do estudante. 4.28 e

Métodos Orientados a Objetos - UML - Diagramas de Classes Herança Define uma associação entre classes onde uma classe compartilha a estrutura e/ou comportamento com uma ou mais classes. Uma hierarquia de abstrações, na qual uma sub-classe herda de uma ou mais classes, é criada Uma sub-classe herdará todos os atributos, operações (públicas ou protegidas) e associações definidos em qualquer uma de suas super-classes. Uma sub-classe pode ser aumentada com atributos, operações e associações adicionais que se aplicam somente no nível hierárquico ao qual a sub-classe pertence. Uma sub-classe pode fornecer sua própria implementação para uma operação definida em uma super-classe Polimorfismo. Generalização: mecanismo utilizado para criar super-classes que encapsulam estrutura e comportamento comuns a diversas classes Relacionamento que permite que objetos de um elemento especializado (filho) sejam substituídos por objetos de um elemento geral (o pai). O conceito de generalização é utilizado em UML não só com classes mas também com pacotes e casos de uso. Especialização: mecanismo utilizado para criar sub-classes que representam refinamentos de super-classes Tipicamente estrutura e comportamento são adicionados às novas subclasses. 4.29 Métodos Orientados a Objetos - UML - Diagramas de Classes - Herança 4.30 Herança: Generalização-Especialização Generalização: mais geral Instância-Vôo super-classe Instância-Pass res1 res2 reservar1() reservar2() associaravião() associaravião() Instância-Carga carga Herança reservar-carga() associaravião() Polimorfismo sub-classe (herda de) Especialização: mais específico Generalizar : Fatorar atributos, operações, restrições. Especializar : Extensão Coerente no sentido da teoria de conjuntos... e

Métodos Orientados a Objetos - UML - Diagramas de Classes - Herança Herança Múltipla 4.31 Animal Peixe Mamífero Carnívoro Herbívoro Felino e Métodos Orientados a Objetos - UML - Diagramas de Classes - Herança Classe Abstrata 4.32 Classe reagrupando propriedades comuns de suas sub-classes; Não tem instâncias próprias Serve somente como fatoração, abstração. Estudante n-inscrição : Integer identificar() Pessoa nome : String sobrenome : String cpf : Integer endereço : String identificar() Empregado salário : Double índice : Double identificar() Nome em itálico e

Métodos Orientados a Objetos - UML - Diagramas de Classes - Herança Considerações sobre Herança 4.33 Sentido: é um, é um tipo de, é da família dos. Propriedades: Não reflexiva: A não herda dele mesmo; ele é ele próprio; Não simétrica: B sub-classe de A, proíbe A sub-classe de B (não cíclico) Transitiva: C sub-classe de B, B sub-classe de A C sub-classe de A A A A B B C e Métodos Orientados a Objetos - UML - Diagramas de Classes Forma especializada de associação, na qual um todo é relacionado com suas partes (Whole-Parts) Como determinar se uma associação é uma agregação: A frase uma parte de pode ser utilizada para descrever a associação? Algumas operações do todo são aplicadas automaticamente às partes? Existe uma assimetria intrínseca ligada à associação, com uma classe subordinada a outra? Forte : Composição Curso Todo Fraca : Agregação 1 1..n Agregação Um módulo pertence a um só curso (e desaparece com ele). Módulo Parte 4.34 composição = agregação forte não existe compartilhamento e a morte é simultânea Os módulos são compartilhados por diferentes cursos. e Curso 1..n 1..n Módulo

Métodos Orientados a Objetos - UML - Diagramas de Classes 4.35 Diagrama de Classe - Exemplo Restrição Modelagem de Objetos através da UML J. D. Furlani Makron Books Métodos Orientados a Objetos - UML - Diagramas de Classes Revisão 4.36 O que representa um diagrama de classes? Que benefícios os pacotes oferecem ao processo de modelagem? Defina associação, generalização e agregação. Como se pode encontrar associações? O que é multiplicidade? Que informações a multiplicidade fornece a pessoa que constrói o modelo?

Métodos Orientados a Objetos - UML - Diagramas de Classes Exercício 1 4.37 Sabendo que: Um Diagrama de Classes contém as seguintes classes: Perfil Pessoal do Planejador (PPP), Perfil Pessoal do Controlador (PPC), Perfil do Consumidor (PC), e Registro do Comprador (RC). As Associações apresentam as seguintes informações: 1. Cada objeto Perfil Pessoal do Planejador (PPP) pode estar associado com um objeto Perfil Pessoal do Controlador (PPC). 2. Cada objeto Perfil Pessoal do Controlador (PPC) deve estar relacionado com um Perfil Pessoal do Planejador (PPP). 3. Um objeto Perfil Pessoal do Controlador (PPC) pode estar associado com um objeto de Registro do Comprador (RC) e um Perfil do Consumidor (PC). 4. Cada instância da classe Registro do Comprador (RC) pode estar relacionada com zero ou uma instância de Perfil Pessoal do Controlador (PPC). 5. Cada instância da classe Perfil do Consumidor (PC) está associado com zero ou um objeto de Perfil Pessoal do Planejador (PPP). Desenhe o Diagrama de Classes. Métodos Orientados a Objetos - UML - Diagramas de Classes Solução do Exercício 4.38 PPP PC 1 1 1 PPC 0..1 0..1 1 RC

Métodos Orientados a Objetos - UML Diagramas de Casos de Uso Exercício 2: Sistema de Controle de Pedidos 4.39 Uma empresa pretende desenvolver um Sistema de Informação para a gerência dos pedidos recebidos pela empresa. Este sistema de informação deve ser capaz de controlar o cadastro dos clientes, dos pedidos e dos produtos com todas as funcionalidades características (inclusão, alteração, supressão). Para realizar qualquer operação com o sistema o funcionário deve ter realizado o login no sistema. No sistema um login é caracterizado por um username e uma password. Os Clientes que serão gerenciados pelo SI podem ser do tipo Cliente Corporativo ou Cliente Pessoal. Cada Cliente pode estar associado a diversos Pedidos, mas um Pedido está associado unicamente a um Cliente. Um Pedido é composto por diversas Linhas de Pedido e cada Linha de Pedido logicamente só pode fazer parte de um único Pedido. As linhas de Pedido nascem e morrem com os Pedidos. Cada Linha de Pedido está associada a unicamente um Produto, mas um Produto pode estar associado a diversas Linhas de Pedido. Clientes Corporativos são definidos por um código, um nome, um endereço, um nome de contato, uma classe de crédito e um limite de crédito. Clientes Pessoais são definidos por um código, um nome, um endereço, e um número de cartão de crédito. Um Pedido é definido por uma data, um preço e um número. Cada Linha do Pedido é definida por uma quantidade e um preço e cada Produto é definido por um código, uma descrição e um preço. Exercício 2: Sistema de Controle de Pedidos 4.40

Métodos Orientados a Objetos UML Bibliografia 4.41 [FOO04] Martin Fowler, UML Essencial 3 ª Edição, Bookman, 2004. [IBM04] IBM Corporation, Essentials of Visual Modeling with UML 2.0, Material disponibilizado através do programa University da IBM.