CIÊNCIA DA COMPUTAÇÃO DESENVOLVIMENTO DE … · 23/09/2012 Professor Leomir J. Borba-...
Transcript of CIÊNCIA DA COMPUTAÇÃO DESENVOLVIMENTO DE … · 23/09/2012 Professor Leomir J. Borba-...
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.