transações em bancos de dados - professorleomir · fique extenso e de difícil visualização,...
TRANSCRIPT
16/09/2012
25/04/2011 Professor Leomir J. Borba- [email protected] –http:professorleomir.wordpress.com 1
16/09/2012 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 1
CIÊNCIA DA COMPUTAÇÃO
DESENVOLVIMENTO DE SISTEMAS
Aula 07
1
16/09/2012 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 2
Agenda
Diagramas de Casos De Uso – Conclusão Diagramas de Classe
Bibliografia
16/09/2012
25/04/2011 Professor Leomir J. Borba- [email protected] –http:professorleomir.wordpress.com 2
16/09/2012 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 3
Diagramas de Casos De Uso – Conclusao
Fronteiras do sistema
Representada por um retangulo que envolve os modulos implementados pelo sistema ou conjunto de casos de uso.
Atores geralmente são externos ao sistema, mas quando representam agentes de software (Fig 3.15 prox. Slide) podem ser representados internamente.
16/09/2012 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 4
Diagramas de Casos De Uso – Conclusao
16/09/2012
25/04/2011 Professor Leomir J. Borba- [email protected] –http:professorleomir.wordpress.com 3
16/09/2012 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 5
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).
16/09/2012 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 6
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.
16/09/2012
25/04/2011 Professor Leomir J. Borba- [email protected] –http:professorleomir.wordpress.com 4
16/09/2012 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 7
Diagramas de Classes
Métodos podem ser apresentados sem detalhamento de quais argumentos (parâmetros) deveriam receber, isso é opcional para evitar que em diagramas com muitas classes fique extenso e de difícil visualização, esse detalhamento pode ser feito a parte em outro diagrama.
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.
16/09/2012 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 8
Diagramas de Classes
Símbolos - Continuação
# - Visibilidade protegida, determina que alem dos objetos da classe detentora do atributo ou método, também os objetos de suas subclasses poderão ter acesso.
+ - Visibilidade pública, determina que o atributo ou método pode ser
utilizado por qualquer objeto.
16/09/2012
25/04/2011 Professor Leomir J. Borba- [email protected] –http:professorleomir.wordpress.com 5
16/09/2012 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 9
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
16/09/2012 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 10
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
16/09/2012
25/04/2011 Professor Leomir J. Borba- [email protected] –http:professorleomir.wordpress.com 6
16/09/2012 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 11
Diagramas de Classes Relacionamentos ou Associações
Tabela de Multiplicidade
16/09/2012 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 12
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.
16/09/2012
25/04/2011 Professor Leomir J. Borba- [email protected] –http:professorleomir.wordpress.com 7
16/09/2012 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 13
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
16/09/2012 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 14
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
Sócio poderá disparar método em Dependente, o contrario não.
16/09/2012
25/04/2011 Professor Leomir J. Borba- [email protected] –http:professorleomir.wordpress.com 8
16/09/2012 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 15
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.
16/09/2012 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 16
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
16/09/2012
25/04/2011 Professor Leomir J. Borba- [email protected] –http:professorleomir.wordpress.com 9
16/09/2012 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 17
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.
16/09/2012 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 18
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.
16/09/2012
25/04/2011 Professor Leomir J. Borba- [email protected] –http:professorleomir.wordpress.com 10
16/09/2012 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 19
Diagramas de Classes Relacionamentos ou Associações
Generalização / Especialização – Continuação.
16/09/2012 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 20
Diagramas de Classes
Classe Associativa
Dependência
Realização
Portas
Interfaces Fornecidas
Requeridas
Restrições
16/09/2012
25/04/2011 Professor Leomir J. Borba- [email protected] –http:professorleomir.wordpress.com 11
16/09/2012 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 21
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.
16/09/2012 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 22
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)
16/09/2012
25/04/2011 Professor Leomir J. Borba- [email protected] –http:professorleomir.wordpress.com 12
16/09/2012 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 23
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
Interfaces Fornecidas
Requeridas
Restrições
16/09/2012 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 24
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
16/09/2012
25/04/2011 Professor Leomir J. Borba- [email protected] –http:professorleomir.wordpress.com 13
16/09/2012 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 25
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
16/09/2012 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 26
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
16/09/2012
25/04/2011 Professor Leomir J. Borba- [email protected] –http:professorleomir.wordpress.com 14
16/09/2012 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 27
Diagramas de Classes
Estereotipos Entity
Boundary
Control
Projeto Navegacional
Enumeration
16/09/2012 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 28
Diagramas de Classe – Conclusão
Esterótipo Enumeration
Representa um tipo de dados cujos valores são enumerados no modelo como litereais de enumeração. Basicamente esta classe lista todos os valores validos que um tipo de dados pode assumir.
16/09/2012
25/04/2011 Professor Leomir J. Borba- [email protected] –http:professorleomir.wordpress.com 15
16/09/2012 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 29
Diagramas de Classe – Conclusão
Persistencia e Mapeamento de Classes em Tabelas
Existem diversos frameworks de persistência que se responsabilizam por persistir os objetos das classes, entre eles estão o Hibernate, Torque ou Castor.
16/09/2012 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 30
Diagramas de Classe – Conclusão
Esterótipo Table Nos casos mais simples, uma classe persistnte será
representada por uma tabela, onde sera necessário definir uma chave primária para a tabela em questão, podendo criar um atributo exclusivamente para isso ou usar um já existente
Classe
Tabela representada por
classes contendo
Esterótipo gráfico
Chave primária
16/09/2012
25/04/2011 Professor Leomir J. Borba- [email protected] –http:professorleomir.wordpress.com 16
16/09/2012 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 31
Diagramas de Classe – Conclusão
Esterótipo Table - Continuação O perfil de modelagem de dados UML repsenta uma tabela
como uma classe esterotipada, ou seja, com esterótipo <<table>>
Colunas são identicas aos atributos da classe socio, acrescentando-se a coluna cod_socio do tipo long para servir de chave primária, demonstrado pelo texto PK (Primary Key), necessaria pois nenhum dos outros atributos poderia assumir essa função.
16/09/2012 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 32
Diagramas de Classe – Conclusão
Associações de chave estrangeira Embora incomun, em uma associação de 1 para 1, pode
denotar erro de modelagem, demonstrando que uma das classes envolvidas na associação poderia ter seus atributos transferidos para a outra classe da assoiação.
Leitura da Associação: Um Marido
é conjuge de uma e somente uma
Esposa, e uma esposa é conjuge de
um e somente um marido
Associação unária conjuge,
multiplicidade 1, objeto da classe
Interpreta marido e esta associado a
Outro objeto da mesma classe que
Interpreta esposa.
16/09/2012
25/04/2011 Professor Leomir J. Borba- [email protected] –http:professorleomir.wordpress.com 17
16/09/2012 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 33
Diagramas de Classe – Conclusão
Com base no Material de apoio descreva e explique as seguintes associações: Um para Muitos
Muitos para Muitos
Ternárias
Herança
16/09/2012 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 34
Bibliografia
02/08/2011 Professor Leomir J. Borba- [email protected] –http://professorleomir.wordpress.com 34
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.