marcio de carvalho victorino [email protected] processo unificado

of 32 /32
Marcio de Carvalho Victorino [email protected] Processo Unificado

Author: internet

Post on 21-Apr-2015

111 views

Category:

Documents


6 download

Embed Size (px)

TRANSCRIPT

  • Slide 1
  • Marcio de Carvalho Victorino [email protected] Processo Unificado
  • Slide 2
  • Unidade IV: Anlise OO (Aspectos Estticos)
  • Slide 3
  • 3 Modelo de Classes O Modelo de Classes evolui durante as iteraes do desenvolvimento do sistema. medida que o sistema desenvolvido, o Modelo de Classes incrementado com novos detalhes. H trs nveis de abstrao pelos quais o Modelo de Classes passa: Modelo de Classes de Domnio. Modelo de Classes de Especificao. Modelo de Classes de Implementao.
  • Slide 4
  • 4 Modelo de Classes Modelo de Classes de Domnio: Representa as classes de domnio do negcio em questo. construdo durante a atividade de anlise das iteraes. No leva em considerao restries inerentes tecnologia a ser utilizada na soluo de um problema.
  • Slide 5
  • 5 Modelo de Classes Modelo de Classes de Especificao: uma extenso do Modelo de Classes de Domnio. Possui detalhes especficos inerentes a soluo de software escolhida. So definidas novas classes necessrias para desenvolver a soluo do problema. construdo na atividade de projeto das iteraes.
  • Slide 6
  • 6 Modelo de Classes Modelo de Classes de Implementao: uma extenso do Modelo de Classes de Especificao. Corresponde implementao das classes em alguma linguagem de programao, normalmente OO. construdo na atividade de implementao das iteraes.
  • Slide 7
  • 7 Diagrama de Classes Os diagramas de classes tambm podem conter pacotes ou subsitemas, utilizados para agrupar elementos do seu modelo em um conjunto maior. Elementos de UML presentes nos Diagramas de Classes: Classes, suas estruturas internas e comportamento; Interfaces; Associaes, agregaes, dependncias, e relaes de herana; Multiplicidade e indicadores de navegao; Nomes de papis (O que uma classe representa para outra).
  • Slide 8
  • 8 Classes ContaBancaria numero saldo dataAbertura ContaBancaria numero saldo dataAbertura creditar() debitar() Nome da Classe Operaes Atributos 3 formas de representar classes
  • Slide 9
  • 9 Relacionamentos Ao construir modelo de classe voc ir descobrir que h um numero muito pequeno de classes que trabalham sozinhas. Ao fazer modelagem de um sistema preciso ver como os itens relacionam-se entre si. Trs tipos especialmente importantes: Dependncia - que representa relacionamento de utilizao entre as classes. Generalizao - que relacionam classes generalizadas a suas especializaes. Associaes - representam relacionamentos estruturais entre objeto.
  • Slide 10
  • 10 Dependncia ContaBancariaObjValor public class ContaBancaria { private int numero; private float saldo; private Date dataAbertura; public void creditar(ObjValor valor) {. }
  • Slide 11
  • 11 Generalizao ContaBancaria numero saldo dataAbertura creditar() debitar() Poupanca variacao public class Poupanca extends ContaBancaria { private int variacao;. } public class ContaBancaria { private int numero; private float saldo; private Date dataAbertura; public void creditar(ObjValor valor) {. }
  • Slide 12
  • 12 Associao PessoaBanco Empresta de nome da associao PessoaBanco devedorcredor papis na associao PessoaBanco 1..** multiplicidade da associao
  • Slide 13
  • 13 Associao: Multiplicidade 2..4 0..1 1..* 0..* 1 * No Especificado Exatamente um Zero ou mais (vrios, ilimitado) Um ou mais Zero ou um Intervalo especificado Intervalos mltiplos 2, 4..6
  • Slide 14
  • 14 Associao public class Cliente { private String nome; private long cpf; private ContaBancaria contas[ ];. } ClienteContaBancaria Movimenta 1*
  • Slide 15
  • 15 Associao: Classe Associativa PessoaEmpresa empregadoempregador ** nome telefone endereco rezaoSocial endereco Emprego salario dataContratacao
  • Slide 16
  • 16 Associao: Classe Associativa * Pessoa nome telefone endereco Empresa rezaoSocial endereco Emprego salario dataContratacao 1 * 1
  • Slide 17
  • 17 Associao Reflexiva Supervisao Empregado nome telefone endereco * 1 supervisionado supervisor
  • Slide 18
  • 18 Agregao Cliente Banco 1..* *
  • Slide 19
  • 19 Composio * BancoFilial 1
  • Slide 20
  • 20 Agregao & Composio * BancoFilial 1 Cliente 1..* *
  • Slide 21
  • 21 Responsabilidades & Colaboraes Costuma-se categorizar os objetos de um sistema de acordo com o tipo de responsabilidade a ele atribuda. objetos de entidade objetos de controle objetos de fronteira Esta categorizao foi proposta por Ivar Jacobson (Jacobson et al, 1992) em uma tcnica denominada Anlise de Robustez.
  • Slide 22
  • 22 Objetos de Entidade Um objeto de entidade um repositrio para alguma informao manipulada pelo sistema. Esses objetos representam conceitos do domnio do negcio. Normalmente esses objetos armazenam informaes persistentes. H vrias instncias de uma mesma classe de entidade coexistindo no sistema.
  • Slide 23
  • 23 Objetos de Fronteira Esses objetos traduzem os eventos gerados por um ator em eventos relevantes ao sistema. Tambm so responsveis por apresentar os resultados de uma interao dos objetos em algo inteligvel pelo ator. Um objeto de fronteira existe para que o sistema se comunique com o mundo exterior. Por conseqncia, estes objetos so altamente dependentes do ambiente.
  • Slide 24
  • 24 Objetos de Controle So a ponte de comunicao entre objetos de fronteira e objetos de entidade. Responsveis por controlar a lgica de execuo correspondente a um caso de uso. Decidem o que o sistema deve fazer quando um evento externo relevante ocorre. Eles realizam o controle do processamento Agem como gerentes (coordenadores, controladores) dos outros objetos para a realizao de um ou mais caso de uso.
  • Slide 25
  • 25 Diviso de responsabilidades A categorizao de responsabilidades implica em que cada objeto especialista em realizar um de trs tipos de tarefa: se comunicar com atores (fronteira) manter as informaes do sistema (entidade) coordenar a realizao de um caso de uso (controle). A importncia dessa categorizao est relacionada capacidade de adaptao do sistema a eventuais mudanas
  • Slide 26
  • 26 Diviso de responsabilidades
  • Slide 27
  • 27 Classes Avanadas Visibilidade (UML): A visibilidade de uma caracterstica indica se ela pode ser utilizada por outras classes: Pblico (+) membros da classe so acessveis por todos os clientes. Package (~) - membros da classe so acessveis somente pelas classes do mesmo pacote (package) e pela prpria classe. Protegido (#) membros da classe so acessveis somente por subclasses e pela prpria classe. Privado (-) - membros da classe so acessveis somente pela prpria classe.
  • Slide 28
  • 28 Classes Avanadas Escopo: O escopo da propriedade especifica se uma caracterstica aparece em cada instancia da classe ou se haver uma nica instancia da caracterstica para todas as instancias da classe: Instncia cada instancia da classe mantm seu prprio valor para a caracterstica. Static (Classe) existe apenas um valor da caracterstica para todas as instancias do classificador.
  • Slide 29
  • 29 Classes Avanadas Elementos abstratos, herana e polimorfismo: comum especificar classes abstratas, significando que no podero apresentar instancias diretas. Na UML so representadas por nome em itlico. Generalizao (herana) usada para fazer a modelagem de estruturas de classes com abstraes mais gerais no topo da hierarquia e outras mais especficas na parte inferior. Uma operao polimrfica, significando que, em uma hierarquia de classes, voc pode especificar operaes com a mesma assinatura em pontos diferentes da hierarquia. Voc pode especificar uma operao abstrata escrevendo o respectivo nome em itlico.
  • Slide 30
  • 30 Diagrama de objetos Alm do diagrama de classes, A UML define um segundo tipo de diagrama estrutural, o diagrama de objetos. Pode ser visto com uma instncia de diagramas de classes Representa uma fotografia do sistema em um certo momento. exibe as ligaes formadas entre objetos conforme estes interagem e os valores dos seus atributos.
  • Slide 31
  • 31 Exemplo (Diagrama de objetos) Supervisao Empregado nome telefone endereco * 1 supervisionado supervisor
  • Slide 32
  • FIM