15/1/2014 professor leomir j. borba- [email protected] – ciÊncia da computaÇÃo...

24
13/05/22 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 1 CIÊNCIA DA COMPUTAÇÃO DESENVOLVIMENTO DE SISTEMAS Aula 10 1

Upload: internet

Post on 17-Apr-2015

108 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: 15/1/2014 Professor Leomir J. Borba- professor.leomir@gmail.com – CIÊNCIA DA COMPUTAÇÃO DESENVOLVIMENTO DE SISTEMAS

11/04/23 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 1

CIÊNCIA DA COMPUTAÇÃO

DESENVOLVIMENTO DE SISTEMAS

Aula 10

1

Page 2: 15/1/2014 Professor Leomir J. Borba- professor.leomir@gmail.com – CIÊNCIA DA COMPUTAÇÃO DESENVOLVIMENTO DE SISTEMAS

11/04/23 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 2

Agenda

Diagramas de ClasseBibliografia

Page 3: 15/1/2014 Professor Leomir J. Borba- professor.leomir@gmail.com – CIÊNCIA DA COMPUTAÇÃO DESENVOLVIMENTO DE SISTEMAS

11/04/23 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 3

Diagramas de Classes

Um dos mais importantes e mais usados diagramas da UML. Principal caracteristica é demonstrar as classes que comporão

o sistema com atributos, métodos e comunicação entre classes.

UP recomenda o uso na fase de Analise para criação do modelo conceitual a respeito das informaçõe necessarias ao software. (Apenas informação, atributos e associações. Os métodos serão agregados no modelo de domínio na fase de projeto).

Page 4: 15/1/2014 Professor Leomir J. Borba- professor.leomir@gmail.com – CIÊNCIA DA COMPUTAÇÃO DESENVOLVIMENTO DE SISTEMAS

11/04/23 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 4

Diagramas de Classes Atributos

As classes tem atributos para armazenar as informações dos objetos da classe.

Metodos Tambem chamados de operações, que são funções que uma instancia

de classe pode executar. Podem receber e enviar paramêtros e valores como funções.

Não é obrigatorio que a classe mostre as três divisões,Pode haver classes sem metodos ou sem atributos ou ainda não precisem ser apresentados.

Page 5: 15/1/2014 Professor Leomir J. Borba- professor.leomir@gmail.com – CIÊNCIA DA COMPUTAÇÃO DESENVOLVIMENTO DE SISTEMAS

11/04/23 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 5

Diagramas de Classes

Metodos podem ser apresentados sem detalhamento de quais argumentos (paramêtros) deveriam receber, isso é opcional para evitar que em diagramas com muitas classes fique dificil, extenso e de dificil visualização, esse detalhamento pode ser feito a parte em outro diagrama.

Page 6: 15/1/2014 Professor Leomir J. Borba- professor.leomir@gmail.com – CIÊNCIA DA COMPUTAÇÃO DESENVOLVIMENTO DE SISTEMAS

11/04/23 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 6

Diagramas de Classes

Os simbolos “#” , “+” e “-” na frente dos atributos e metodos representam a visibilidade dos mesmos, determinando que objetos de quais classes podem usar o atributo ou metodo. - - Visibilidade privada, determina somente objetos da classes

detentora do atributo ou metodo poderão enxerga-lo ou utiliza-lo.

# - Visibilidade protegida, determina que alem dos objetos da classe detentora do atributo ou método, tambem os objetos de suas subclasses poderão ter acesso.

+ - Visibilidade pública, determina que o atributo ou método pode ser utlizado por qualquer objeto.

Page 7: 15/1/2014 Professor Leomir J. Borba- professor.leomir@gmail.com – CIÊNCIA DA COMPUTAÇÃO DESENVOLVIMENTO DE SISTEMAS

11/04/23 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 7

Diagramas de Classes

Relacionamentos ou Associações Unária ou reflexiva Binária Ternária ou N-ária Agregação Composição Generalização/Especialização

Page 8: 15/1/2014 Professor Leomir J. Borba- professor.leomir@gmail.com – CIÊNCIA DA COMPUTAÇÃO DESENVOLVIMENTO DE SISTEMAS

11/04/23 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 8

Diagramas de Classes Relacionamentos ou Associações

Unária ou reflexiva Ocorre Quando existe um relacionamento de um objeto de uma classe com objetos

da mesma classe Linha saindo da própria classe e retorna a mesma classe. Multiplicidade indica numero mínimo e máximo em cada extremidade da relação :

0..*; 0 = numero mínimo; *= numero máximo Default = 1..1

Page 9: 15/1/2014 Professor Leomir J. Borba- professor.leomir@gmail.com – CIÊNCIA DA COMPUTAÇÃO DESENVOLVIMENTO DE SISTEMAS

11/04/23 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 9

Diagramas de Classes Relacionamentos ou Associações

Tabela de Multiplicidade

Page 10: 15/1/2014 Professor Leomir J. Borba- professor.leomir@gmail.com – CIÊNCIA DA COMPUTAÇÃO DESENVOLVIMENTO DE SISTEMAS

11/04/23 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 10

Diagramas de Classes Relacionamentos ou Associações

Definição de Papeis – Informações extras na associação para explicar a função de um objeto, ex.: Objeto com multiplicidade 0 é chefe, objeto com multiplicidade muitos é subordinado.

Leitura :Um funcionário pode ter um e apenas um chefe e um funcionário pode ou não chefiar outros funcionários.

Page 11: 15/1/2014 Professor Leomir J. Borba- professor.leomir@gmail.com – CIÊNCIA DA COMPUTAÇÃO DESENVOLVIMENTO DE SISTEMAS

11/04/23 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 11

Diagramas de Classes Relacionamentos ou Associações

Associação Binária – Ocorrem quando são identificados relacionamento entre objetos de duas classes distintas, mais comumente encontrada.

Classe Sócio pode ou não se relacionar com classe Dependente enquanto classe Dependente sempre terá de se relacionar com Classe Sócio

Page 12: 15/1/2014 Professor Leomir J. Borba- professor.leomir@gmail.com – CIÊNCIA DA COMPUTAÇÃO DESENVOLVIMENTO DE SISTEMAS

11/04/23 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 12

Diagramas de Classes Relacionamentos ou Associações

Navegabilidade – Representada por seta em uma das extremidades identifica o sentido em que as informações são transmitidas entre objetos

Não é obrigatória, omissão indica trafego de informações entre todos objetos da classes da associação

Socio podera disparar metodos em Dependentes, o contrario não

Page 13: 15/1/2014 Professor Leomir J. Borba- professor.leomir@gmail.com – CIÊNCIA DA COMPUTAÇÃO DESENVOLVIMENTO DE SISTEMAS

11/04/23 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 13

Diagramas de Classes Relacionamentos ou Associações

Associação ternária ou N-ária – Conectam objetos de duas ou mais classes, representadas por um losango para onde convergem todas as ligações da associação.

Leitura : Um professor leciona para no mínimo uma turma e no Maximo muitas, uma turma tem no mínimo um professor e na Maximo muitos, um professor para lecionar usa uma ou muitas salas.

Page 14: 15/1/2014 Professor Leomir J. Borba- professor.leomir@gmail.com – CIÊNCIA DA COMPUTAÇÃO DESENVOLVIMENTO DE SISTEMAS

11/04/23 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 14

Diagramas de Classes Relacionamentos ou Associações

Agregação – tipo especial de associação onde tenta-se demosntrar que as informações de um objeto (objeto-todo) precisam ser completadas por informações em um ou mais objetos de outra classe (objetos-parte)

Difere de agregação no uso do losango na extremidade da classe que contem os objetos-todo

Page 15: 15/1/2014 Professor Leomir J. Borba- professor.leomir@gmail.com – CIÊNCIA DA COMPUTAÇÃO DESENVOLVIMENTO DE SISTEMAS

11/04/23 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 15

Diagramas de Classes Relacionamentos ou Associações

Composição – Variação de agregação, apresenta vincula mais forte entre objetos-todo e objetos-parte, procura demonstrar que objetos-parte tem de estar associados a um único objeto-todo.

Difere-se da agregação por usar um losango preenchido.

Page 16: 15/1/2014 Professor Leomir J. Borba- professor.leomir@gmail.com – CIÊNCIA DA COMPUTAÇÃO DESENVOLVIMENTO DE SISTEMAS

11/04/23 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 16

Diagramas de Classes Relacionamentos ou Associações

Generalização / Especialização – Tipo especial de relacionamento, parecido a associação usada em caso de uso, representado por herança entre classes, identificando classes-mãe (superclasses) e classes-filhas (subclasses).

Chamada de especializadas, demonstram hierarquia entre classes. Como no Caso de Uso, classes semelhantes reaproveitam atributos e

metodos identicos. Metodos podem ser redeclarados em classes especializada com mesmo

nome mas comportamento diferente.

Page 17: 15/1/2014 Professor Leomir J. Borba- professor.leomir@gmail.com – CIÊNCIA DA COMPUTAÇÃO DESENVOLVIMENTO DE SISTEMAS

11/04/23 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 17

Diagramas de Classes Relacionamentos ou Associações

Generalização / Especialização – Continuação.

Page 18: 15/1/2014 Professor Leomir J. Borba- professor.leomir@gmail.com – CIÊNCIA DA COMPUTAÇÃO DESENVOLVIMENTO DE SISTEMAS

11/04/23 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 18

Diagramas de Classes Classe Associativa Dependência Realização Portas Interfaces

Fornecidas Requeridas

Restrições

Page 19: 15/1/2014 Professor Leomir J. Borba- professor.leomir@gmail.com – CIÊNCIA DA COMPUTAÇÃO DESENVOLVIMENTO DE SISTEMAS

11/04/23 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 19

Diagramas de Classes Classe associativa – Produzida quando ocorrem associações que tenham

multiplicidade muitos(*) em todas as suas extremidades. Necessárias quando existem atributos relacionados a associação que não

podem ser armazenados pelas classes envolvidas. No exemplo, a necessidade de saber o papel em que o ator atua e a

multiplicidade nas extremidades, não permite armazenar a informação (papel) nas classes.

Page 20: 15/1/2014 Professor Leomir J. Borba- professor.leomir@gmail.com – CIÊNCIA DA COMPUTAÇÃO DESENVOLVIMENTO DE SISTEMAS

11/04/23 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 20

Diagramas de Classes Dependência – Identifica o grau de dependencia de uma classses em

relação a outra por linha tracejada, seta aponta classes da qual a classe da outra extremidade do relacionamento depende.

Realização – Mistura generalização e dependencia, usada para identificar classes responsáveis por executar funções em outras classes, herda o comportamento de outras classes mas não a estrutura.

Pode ser comparada a palavra IMPLEMENTS do java, implementará os métodos definidos em outras classes (comportamento)

Page 21: 15/1/2014 Professor Leomir J. Borba- professor.leomir@gmail.com – CIÊNCIA DA COMPUTAÇÃO DESENVOLVIMENTO DE SISTEMAS

11/04/23 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 21

Diagramas de Classes Portas – Caracteristica estrutural de um classificador que

especifica uma interação distinta entre o classificados e seu ambiente ou entre o classificador e suas partes internas

Page 22: 15/1/2014 Professor Leomir J. Borba- professor.leomir@gmail.com – CIÊNCIA DA COMPUTAÇÃO DESENVOLVIMENTO DE SISTEMAS

11/04/23 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 22

Diagramas de Classes Interfaces – Meio para definir serviços disponiveis de classes

especificas, pode ser dois tipos : Fornecidas – Descreve o serviço implementado por uma classe,

representada por circulo fechado, é necessário definir porta de comunicação entre interface e classe

Page 23: 15/1/2014 Professor Leomir J. Borba- professor.leomir@gmail.com – CIÊNCIA DA COMPUTAÇÃO DESENVOLVIMENTO DE SISTEMAS

11/04/23 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 23

Diagramas de Classes Interfaces – continuação

Requeridas – Descreve o serviço que outras classes devem fornecer a uma determinada classe, representada por semicírculo fechado, é necessário definir porta de comunicação entre interface e classe

Page 24: 15/1/2014 Professor Leomir J. Borba- professor.leomir@gmail.com – CIÊNCIA DA COMPUTAÇÃO DESENVOLVIMENTO DE SISTEMAS

11/04/23 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 24

Bibliografia

02/08/2011 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 24

BIBLIOGRAFIA BÁSICA

1GUEDES, Gilleanes T.A. UML 2: Uma Abordagem Prática. 1ª Edição. São Paulo: Novatec, 2009.

2WAZLAWICK, Raul Sidnei. Análise e Projeto de Sistemas de Informação Orientados a Objetos. 2ª Edição. Rio de Janeiro: Campus, 2010.

3WEST, David; MCLAUGHLIN, Brett; POLLICE, Gary. Use a cabeça Análise & Projeto Orientado ao Objeto. 1ª Edição. Rio de Janeiro: Alta Books, 2007.

BIBLIOGRAFIA COMPLEMENTAR

4ARAUJO, Ricardo; LIMA, Cardoso André. UML Aplicada: Da teoria à implementação. 1ª Edição. Rio de Janeiro: Ciência Moderna, 2007.

5BOOCH, Grady; RUMBAUGH, James;, JACOBSON, Ivar. UML: Guia do Usuário. 1ª Edição. Rio de Janeiro: Campus, 2006.

6LARMAN, Craig. Utilizando UML e padrões: Uma introdução à análise e projeto orientados a objetos e ao desenvolvimento iterativo. 3ª Edição. Porto Alegre: Bookman, 2007.

7PAULA FILHO, Wilson de Pádua. Engenharia de Software: Fundamentos, métodos e padrões. 3ª Edição. Rio de Janeiro: LTC, 2009.

8SILVA, Nelson Peres da. Análise e Estruturas de Sistemas de Informação. 1ª Edição. São Paulo: Érica, 2007.