19
23/09/2012 Professor Leomir J. Borba- [email protected] http://professorleomir.wordpress.com 1 CIÊNCIA DA COMPUTAÇÃO DESENVOLVIMENTO DE SISTEMAS Aula 08 1

CIÊNCIA DA COMPUTAÇÃO DESENVOLVIMENTO DE … · 23/09/2012 Professor Leomir J. Borba- [email protected] – 2 Agenda Diagramas de Classe Restrições

  • Upload
    volien

  • View
    212

  • Download
    0

Embed Size (px)

Citation preview

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

CIÊNCIA DA COMPUTAÇÃO

DESENVOLVIMENTO DE SISTEMAS

Aula 08

1

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

Agenda

Diagramas de Classe Restrições

Estereótipos para projeto navegacional Exercícios

Bibliografia

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

Diagramas de Classe

Restrições – São informações extras que definem condições a serem validadas durante a implementação dos métodos de uma classe, das associações ou atributos.

São representadas por textos limitados por chaves, podem ser usadas para detalhar requisitos não funcionais incluindo regras de negócios.

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

Diagramas de Classe Restrições - Continuação

Nesse exemplo, utiliza-se uma restrição para determinar que um sócio poderá realizar uma locação somente se não tiver nenhuma locação anterior pendente . Enfoca uma restrição que representa uma regra do negócio ou norma que deve ser obedecida quando da execução de um processo .

Esta é uma restrição da associação realiza e que está ligada a ela por meio de uma nota.

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

Diagramas de Classe Restrições – Continuação

Restrições podem ser aplicadas também para validar um atributo ou método de uma

classe específica, como no exemplo apresentado na figura 4.20.

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

Diagramas de Classe Restrições – Continuação

É possível encontrar detalhes de implementação nas notas de restrições, como instruções escritas em linguagem de implementação como JAVA.

Outros tipos de restrições podem ser aplicados a atributos como :

{readOnly} – Somente Leitura

(Static) – Valores idênticos para todos os objetos da classe, apresentado sublinhado.

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

Diagramas de Classe Restrições – Continuação

Podem também ser utilizadas para representar o "ou" exclusivo (xor), quando instâncias de duas ou mais classes podem se relacionar com instâncias de outra classe específica, mas somente uma instância de uma das classes pode se relacionar com uma instância da classe em questão, em detrimento das outras. Um exemplo desse tipo de restrição é apresentado na figura 4.22.

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

Diagramas de Classe Restrições – Continuação

Podem também ser utilizadas para representar o "ou" exclusivo (xor), quando instâncias de duas ou mais classes podem se relacionar com instâncias de outra classe específica, mas somente uma instância de uma das classes pode se relacionar com uma instância da classe em questão, em detrimento das outras. Um exemplo desse tipo de restrição é apresentado na figura 4.22.

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

Diagramas de Classe Restrições – Continuação

Outro exemplo do uso de restrições pode ser aplicado à definição de coleções ordenadas, conforme demonstra a figura 4.23.Uma coleção pode ser definida como um conjunto de instâncias associadas a outro objeto.

Esse exemplo baseia-se em uma rede social semelhante ao Orkut, onde um usuário poderá participar de muitas comunidades.

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

Diagramas de Classe Restrições – Continuação

Outras restrições que podem ser aplicadas a uma coleção são:

Unique- determina que um elemento na coleção não pode se repetir;

Bag- permite que um mesmo elemento apareça mais de uma vez;

Sequence ou seq- representa uma , sequência, ou seja, uma bag ordenada.

Afigura 4.24 apresenta um exemplo de restrição {unique} que determina que uma conta corrente não pode se repetir.

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

Diagramas de Classe Restrições – Continuação

Para que um objeto da conta corrente seja único, é necessário que ao menos um de seus atributos armazene um valor que não se repita em nenhum outro objeto da classe. No caso de uma conta corrente, o número da conta poderia desempenhar essa função, uma vez que nenhum objeto da classe conta poderia armazenar um número de conta igual. Quando existe um atributo único em uma classe é possível criar uma associação qualificada, que é uma forma de identificar individualmente um objeto dentro de uma coleção. O qualificador de uma associação é representado por um pequeno retângulo ligado ao final da associação, conforme demonstra a figura 4.25.

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

Diagramas de Classe Restrições – Continuação

As restrições podem ainda ser utilizadas para definir melhor a semântica de classes especializadas derivadas de classes gerais. As restrições predefinidas para classes especializadas são:

Completa - quando todas as subclasses possíveis foram derivadas da classe geraL

Incompleta - quando ainda é possível derivar novas subclasses.

Separada ou disjunta - quando as subclasses são mutuamente exclusivas, ou seja, no momento em que uma instância pertence a uma subclasse, não poderá de forma alguma pertencer a qualquer das outras subclasses derivadas. A figura 4.26 fornece um exemplo de classes especializadas separadas e completas.

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

Diagramas de Classe Restrições – Continuação

Sobreposta - quando o fato de pertencer a uma subclasse não impede que pertença a outras. A figura 4.27 apresenta um exemplo de restrição sobreposta e incompleta para classes especializadas.

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

Diagramas de Classe Estereótipos para projeto navegacional

Existem diversos outros tipos de estereótipos com as mais diversas funções, sendo possível utilizar alguns deles para representar o projeto navegacional de um site, por exemplo. Para isso é preciso utilizar estereótipos como : <<SERVER PAGE>>

<<CLIENT PAGE>>

<<FORM>>

«server page> é um estereótipo gráfico que apresenta um símbolo de engrenagem ao lado da nome da classe. Esse estereótipo representa uma página web que possui scripts que são executadas pela servidor.

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

Diagramas de Classe Estereótipos para projeto navegacional – continuação

<<client page> > representa uma página HTML carregada pela navegador da usuário, sendo também um estereótipo gráfica apresentando o símbolo de uma página web ao lado da nome da classe. A figura 4.33 apresenta um exemplo de estereótipo «form».

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

Diagramas de Classe Estereótipos para projeto navegacional – continuação

«form» representa um formulário, Em um projeta navegacional representa uma classe que contém um conjunto de campos que fazem parte de uma página. Este é um estereótipo gráfico que apresenta o desenha de um formulário ao lado da classe. A seguir apresentamos um exemplo de como utilizar esses estereótipos por meio da figura 4.34.

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

Diagramas de Classe Estereótipos para projeto navegacional – continuação

A seguir apresentamos um exemplo de como utilizar esses estereótipos por meio da figura 4.34.

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

Diagramas de Classe Exercícios

Com base no Material de apoio, selecionar um sistema por grupo de trabalho, previamente definido nas aulas anteriores, e desenvolva os diagramas de classes enfocando a visão estrutural e estática do diagrama de classes.

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

Bibliografia

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

BIBLIOGRAFIA BÁSICA

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

2

WAZLAWICK, Raul Sidnei. Análise e Projeto de Sistemas de Informação Orientados a Objetos. 2ª

Edição. Rio de Janeiro: Campus, 2010.

3

WEST, 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

4

ARAUJO, Ricardo; LIMA, Cardoso André. UML Aplicada: Da teoria à implementação. 1ª Edição. Rio

de Janeiro: Ciência Moderna, 2007.

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

Janeiro: Campus, 2006.

6

LARMAN, 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.

7

PAULA FILHO, Wilson de Pádua. Engenharia de Software: Fundamentos, métodos e padrões. 3ª

Edição. Rio de Janeiro: LTC, 2009.

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

Érica, 2007.