15/1/2014 professor leomir j. borba- [email protected] – ciÊncia da computaÇÃo...
TRANSCRIPT
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
11/04/23 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 2
Agenda
Diagramas de ClasseBibliografia
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).
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.
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.
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.
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
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
11/04/23 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 9
Diagramas de Classes Relacionamentos ou Associações
Tabela de Multiplicidade
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.
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
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
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.
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
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.
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.
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.
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
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.
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)
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
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
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
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.