Você está na página 1de 5

Aula 1 29/08 Uma Entidade pode ser definida como qualquer coisa do mundo real, abstrata ou concreta, na qual

l se deseja guardar informaes. (Tabela File etc..). Exemplos de entidades: Cliente, Produto, Contrato, Vendas, etc. Um atributo tudo o que se pode relacionar como propriedade da entidade. (coluna , campo , etc.). Exemplos de atributos: Cdigo do Produto (Entidade Produto), Nome do Cliente (Entidade Cliente). Ao lado temos a representao feita da Entidade Pessoa e de alguns de seus atributos. Note que na definio dos atributos eu estou definindo a natureza do tipo de atributo. Exemplos de tipos de natureza: Texto, Nmero, Indicador (sim/no), Cdigo, etc. Alguns atributos so obrigatrios outros so opcionais. Nome obrigatrio, pois toda pessoa deve ter um nome Telefone opcional, pois nem toda pessoa possui um telefone.

Exerccio aplicado: Prover entidades e atributos de um sistema de Logstica.

Aula 2 05/09 09/09 O que um objeto? Um objeto um elemento computacional que representa, no domnio da soluo, alguma entidade (abstrata ou concreta) do domnio de interesse do problema sob anlise. Objetos similares so agrupados em classes. No paradigma de orientao a objetos, tudo pode ser potencialmente representado como um objeto. Sob o ponto de vista da programao, um objeto no muito diferente de uma varivel no paradigma de programao convencional. Por exemplo, quando se define uma varivel do tipo int em C ou em Java, essa varivel tem: Um espao em memria para registrar o seu estado atual (um valor); Um conjunto de operaes associadas que podem ser aplicadas a ela, atravs dos operadores definidos na linguagem que podem ser aplicados a valores inteiros (soma, subtrao, inverso de sinal, multiplicao, diviso inteira, resto da diviso inteira, incremento, decremento).

Da mesma forma, quando se cria um objeto, esse objeto adquire um espao em memria para armazenar seu estado (os valores de seu conjunto de atributos, definidos pela classe) e um conjunto de operaes que podem ser aplicadas ao objeto (o conjunto de mtodos definidos pela classe). Um programa orientado a objetos composto por um conjunto de objetos que interagem atravs de "trocas de mensagens". Na prtica, essa troca de mensagem traduz-se na invocao de mtodos entre objetos. Como ocorre para a definio de atributos, a definio de mtodos reflete de forma quase direta a informao que estaria presente em um diagrama de classes UML, a no ser por uma diferena vital: o corpo do mtodo. Comeando com as definies: "Um objeto um termo que usamos para representar uma entidade do mundo real" (Fazemos isto atravs de um exerccio de abstrao.) Vou usar como exemplo o meu cachorro Bill. Posso descrever o Bill em termos de seus atributos fsicos: pequena, sua cor principal so castanhos, olhos pretos, orelhas pequenas e cadas, rabo pequeno, patas brancas. Posso tambm descrever algumas aes que ele faz (temos aqui os mtodos): balana o rabo quando chego a casa, foge e se deita se o mando sair debaixo da mesa late quando ouve um barulho ou v um co ou gato, atende e corre quando o chamo pelo seu nome. Temos abaixo a representao do Bill. Temos aqui a representao de um objeto, no caso o meu cachorro Bill, que possui as seguintes propriedades e mtodos: Propriedades: Cor do corpo: castanha cor dos olhos: preto altura: 18 cm comprimento: 38 cm largura: 24 cm Mtodos: balanar o rabo, latir, deitar, sentar Meu cachorro Bill Em termos de POO para poder tratar os objetos comeou criando classe, neste caso ir criar a classe chamada Cachorro. "Uma classe representa um conjunto de objetos que possuem comportamentos e caractersticas comuns". "Na UML o nome de uma classe um texto contendo letras e dgitos e algumas marcas de pontuao. Na realidade, melhor guardar os nomes curtos com apenas letras e dgitos. UML sugere capitalizar todas as primeiras letras de cada palavra no nome (ex.: ``Lugar'', ``Data Reserva''). melhor

tambm manter nomes de classe no singular, classes por default ``contem'' mais de um objeto, o plural implcito.". [Nicolas Anquetil] Uma classe descreve como certos tipos de objetos se parecem do ponto de vista da programao, pois quando definimos uma classe precisamos definir duas coisas: 1. Propriedades - Informaes especficas relacionadas a uma classe de objeto. So as caractersticas dos objetos que as classes representam. Ex Cor , altura , tamanho , largura , etc. 2. Mtodos: So aes que os objetos de uma classe podem realizar. Ex: Latir, correr, sentar, comer, etc. Voc pode pensar em uma classe com um modelo para criar quantos objetos voc desejar de um tipo particular. Pense em um carimbo com a imagem de um cachorro, quando voc carimba e obtm um desenho de cachorro voc acabou de criar uma instncia da classe e obteve um objeto daquela classe. O novo objeto possuir todas as caractersticas e comportamentos definidos pela classe. (As classes especificam a estrutura e o comportamento (operaes) dos objetos, que so instncias das classes) Aqui temos que Bilu um objeto da classe Cachorro. Em termos de POO acabamos de criar uma instncia da classe Cachorro e a chamamos Bilu. Quando criamos uma nova instncia de uma classe dizemos que estamos instanciando a classe. Geralmente em um sistema de mdio porte sero identificadas diversas classes que compem o sistema. Neste contexto a UML surgiu como uma proposta de ser uma linguagem para modelagem de dados que usava diversos artefatos para representar o modelo de negcio; um destes artefatos o diagrama de classes. A representao de uma classe usa um retngulo dividido em trs partes:

nome atributos mtodos

Podemos dizer que os diagramas de classes so os principais diagramas estruturais da UM, pois ilustram as classes, interfaces e relacionamentos entre elas. Os diagramas se classes ilustram atributos e operaes de uma classe e as restries como que os objetos podem ser conectados; descrevem tambm os tipos de objetos no sistema e os relacionamentos entre estes objetos que podem ser: associaes e abstraes. Exerccio 2: Continuando a aula passada, precisamos definir as nossas classes nomeando-as, atribuindo mtodos a elas. O diagrama de classes lista todos os conceitos do domnio que sero implementados no sistema e as relaes entre os conceitos. Ele muito importante, pois define a estrutura do sistema a desenvolver.

O diagrama de classes no surge do nada ele a consequncia do prvio levantamento de requisitos, definio de casos de usos e classes. Como exemplo vamos supor que voc tivesse que desenvolver um sistema para automatizar um consultrio dentrio. As etapas bsicas envolvidas seriam: Levantamento e anlise de requisitos do sistema a ser desenvolvido. Entrevista com o dentista(s) e com as pessoas que trabalham no consultrio Definio dos objetos do sistema: Paciente, agenda, dentista, servio, contrato, consulta, pagamento, etc.. Definio dos atores do sistema: paciente, dentista, secretria Definio e detalhamento dos casos de uso: marcar consulta confirmar consulta, cadastrar paciente, cadastrar servios, etc. Definio das classes: paciente, dentista, exame, agenda, servio Definir os atributos e mtodos das classes: Aps toda esta anlise voc chega no diagrama de classes do sistema (representado abaixo a ttulo de exemplo ilustrativo) Recordando: Atributo Um atributo representa uma propriedade que todos os objetos da classe tm (por exemplo, todos os cachorros tem pelo, orelhas , altura,etc. Mas cada objeto ter valores particulares para seus atributos (alguns cachorros so mais baixos , outros so maiores, etc.). Uma classe pode ter qualquer nmero de atributos. Na UML, o nome de um atributo um texto contendo letras e dgitos e algumas marcas de pontuao. UML sugere de capitalizar todas as primeiras letras de cada palavra no nome menos a primeira palavra (ex.: "nome'', "nomeCachorro''). Num modelo, os atributos devem ser de um tipo simples (inteiro, texto, talvez data), no podem conter outros objetos. Mtodos Mtodos so aes que implementam uma operao. Uma classe pode ter qualquer nmero de mtodos e dois mtodos em duas classes podem ter o mesmo nome. Todos os mtodos que vo implementar a operao tem que respeitar exatamente a assinatura dela (mesmo nome, mesmo nmero de atributo, com os mesmo tipos e o mesmo ordem). Um mtodo no pode acrescentar ou cortar um parmetro. Isso seria uma violao do polimorfismo. Para mandar a mensagem corretamente, teramos que saber qual a classe do objeto (cada classe tendo mtodo com assinatura diferente). O que possvel, no caso de cortar um parmetro, simplesmente ignor-lo na implementao. Diagrama de Classes O diagrama de classes lista todos os conceitos do domnio que sero implementados no sistema e as relaes entre os conceitos. Ele muito importante, pois define a estrutura do sistema a desenvolver. O diagrama de classes no surge do nada ele consequncia do prvio levantamento de requisitos, definio de casos de usos e classes. Como exemplo: vamos supor que voc tivesse que desenvolver um sistema para automatizar um consultrio dentrio. As etapas bsicas envolvidas seriam: Levantamento e anlise de requisitos do sistema a ser desenvolvido. Entrevista com o dentista(s) e com as pessoas que trabalham no consultrio Definio dos objetos do sistema: Paciente, agenda, dentista, servio, contrato, consulta, pagamento, etc. Definio dos atores do sistema: paciente, dentista, secretria; Definio e detalhamento dos casos de uso: marcar consulta confirmar consulta, cadastrar paciente, cadastrar servios, etc. Definio das classes: paciente, dentista, exame, agenda, servio;

Definir os atributos e mtodos das classes: Aps toda esta anlise voc chega no diagrama de classes do sistema (representado abaixo a ttulo de exemplo ilustrativo)

Correo 12/09 15/09 Exerccio 3: Transformaremos o nosso conjunto de classes em um Diagrama de Classes: Livros Base: UML Essencial (3 Edio) - Martin Fowler Utilizando UML e Padres (3 Edio) - Craig Larman

Você também pode gostar