Uml Passo a Passo

download Uml Passo a Passo

of 86

Transcript of Uml Passo a Passo

  • 5/9/2018 Uml Passo a Passo

    1/86

    Orlentacoes baslcas na elaboracao de urn diagrarna de classesEste artigo orienta 0 estudante na elaboracao de um diagrama declasse, procurando estabelecer, de forma sintetica, os principais pontospara a abstracao dos objetos e classes de um cenario espedfico ...Publicado em: 24/05/2011RESUMO:Este artigo orienta 0 estudante na elaboracao de um diagrama declasse, procurando estabelecer, de forma sintetica, os principais pontospara a abstracao dos objetos e classes de um cenario espedfico. Nestesentido, descreve-se seqLiencialmente, os sucessivos componentes paraa construcao de um diagrama de classe completo.PALAVRAS-CHA VE: Diagrama. Objeto. Classe. Abstracao

    INTRODU

  • 5/9/2018 Uml Passo a Passo

    2/86

    qualquer onde realizaremos urn passo a passo ate abstrairmos todas as classes, a partirdeste ponto, poderemos efetuar as ligacoes e cardinalidade.CENARIO

    Voce trabalha para uma empresa de desenvolvimento como Analista de Sistemas. 0responsavel pelo setor que voce trabalha, em uma reuniao, distribuiu tarefas para cadamembro da equipe. Sua tarefa foi desenvolver urn diagrama de classe para que sejainiciado 0 desenvolvimento de urn novo software.A empresa que nos contratou, deseja adquirir 0 certificado ISO 9001 em qualidade,entretanto uma das normas repassadas foi que, deve ser obrigat6rio controlar os pedidos desuporte/servico que sao feitos pelos clientes.o ramo da empresa e Service Desk1 [1] 0 fluxo do processo segue abaixo:o cliente entra em contato com a central atraves do telefone;Urn atendente tern urn prazo curto para registrar esta solicitacao, informando os dados docliente, 0 que foi solicitado, 0 nivel de urgencia, 0 grupo de atendimento, 0 tecnico, urn oumais equipamentos envolvidos na manutencao. Anotar toda a interacao realizada noequipamento, como por exemplo: Se ele conectar remotamente ao equipamento, deveinformar em urn hist6rico e suponhamos que 3 segundos depois ele reinicie 0 equipamento,devera informar no hist6rico tambem. Resumindo: Toda interacao deve ser anotada noregistro com data e hora.Caso ele consiga resolver 0 que foi solicitado, 0 tecnico do Service Desk ira salvar 0registro com a situacao de "Resolvido" encerrando 0 caso, contudo devera em urn localespecifico do registro definir como ele resolveu 0 caso, informando que se tratava de urnIncidente2[2], Problema 3[3]ou Solicitacao-lja]. 0 registro deve ser categorizado,escolhendo dentre tres classificacoes: Categoria > Sub Categoria> Item da categoria,onde a categoria e uma lista de tipo de servico, como por exemplo: Se foi Hardware ouSoftware. A Sub Categoria esta relacionada com a categoria, pois dependendo do que foiescolhido na primeira lista sera mostrada na segunda que sera uma Sub Categoria, comopor exemplo: No caso da escolha de Hardware, seria informado na subcategoria algum tipode peca do equipamento que 0 tecnico interagiu, tipo DVDIR, no caso de Categoria serSoftware a sub categoria deveria ser qual software, tipo: Word, Excel e etc...E no item dacategoria deveria ser escolhido 0 que foi realizado pelo tecnico, no caso de Hardware

    Craatod wlth

    nit!ro PDF 'profesdownload the free trial online at nitrcpd

  • 5/9/2018 Uml Passo a Passo

    3/86

    DVD/R, poderia ser SUBSTITUIDO, LIMPADO ..etc. No caso de Software WordINSTALADO,DESINSTALADO etc ...Caso 0 tecnico do Service Desk nao consiga resolver no seu prazo que sera 0mais curto,devera enviar 0 registro para outro grupo de atendimento onde existirao outros tecnicosque poderao ir ate 0 equipamento fisicamente para resolver 0problema com urn prazo maisextenso. Urn grupo e composto por varios tecnicos, no registro deve constar 0 grupo queatendeu e 0 tecnico, pois cada registro conta como receita em reais para 0 grupo sendoapurado ao efetuar fechamento mensal. pagamento para os grupos de atendimento e feitopor quanti dade de registros atendidos no prazo estipulado.Se mesmo 0 grupo de atendimento fisico tenta entrar em contato com 0 cliente, mas nao 0obtiver sucesso, 0 tecnico podera deixar 0 registro agendado, para realizar esta tarefa deveser informado no registro it data e hora que sera retomado 0 atendimento do chamado edefinir a situacao do registro para "Pendente pelo cliente", definir tambem a data e horapara 0proximo contato. Esta situacao de pendencia significa que 0 tecnico nao estaatendendo por culpa do cliente e 0 tempo em que 0 registro fica nesta situacao seradebitado ao final do apuramento, a fim de beneficiar 0 grupo que 0 atende, pois cada grupotern urn tempo para atender os registros e se ultrapassar este prazo recebe multa em cimado valor do chamado.Ao final caso 0pedido tenha sido designado para outro grupo, ou esteja em andamento,pendente, cancelado ou resolvido, deve-se informar em urn campo especifico 0 que foifeito neste registro resumidamente. Se a situacao do registro estiver definida como"Resolvido", uma pesquisa de satisfacao devera ser enviada para 0 solicitante.IDENTIFICAR OS OBJETOS TANGiVEISPara identificarmos urn objeto, precisamos antes entender como ve-los, para isso, basta tercomo regra que: objeto e algo tangivel, que podemos percebe-lo a nossa frente, sendopossivel encontra-lo no mundo real ou virtual. Exemplos de objetos que podemos perceberao ir a uma lanchonete: Mesa, Cadeira, Atendente, Lanche, Bebida e etc.Vamos tentar encontrar os objetos do nosso cenario, observe 0primeiro item abaixo: cliente entra em contato com a central atraves do telefone;Nesta frase acima, podemos identificar como objetos:ClienteTelefoneCliente e considerado urn objeto, pois e tangivel e existem varios outros iguais a ele com asmesmas caracteristicas, assim como 0 telefone.

    Craatod wlth

    nit!ro PDF 'p ro fe sdownload the f ree t rial onl ine at nitrcpd

  • 5/9/2018 Uml Passo a Passo

    4/86

    No segundo item do cenario identificamos:AtendenteSolicitacaoGrupoTecnicoEquipamentoHist6rico

    o unico item acima que gera duvida se e ou nao urn objeto, seria hist6rico, pois nao enormal vermos este objeto, entretanto ele existe, veja 0 exemplo deste objeto no mundoreal: Na escola existe 0 hist6rico escolar ou na clinica existe hist6rico medico e etc.No terceiro item do cenario identificamos:CategoriaSub CategoriaItem da categoria

    Observe que estes objetos acima sao dificeis de identificarmos no mundo real, mas presteatencao no cenario de uma locadora de DVD veja que as placas com 0 genero dos filmessao categorias, aquelas placas sao objetos tangiveis representando categorias que ja seriasua classe mae.Os itens quatro e cinco do cenario estao apenas explicando 0 processo, nao identificamosnenhum objeto novo.No sexto e ultimo item do cenario identificamos os seguintes objetos:PedidoPesquisa satisfacaoIDENTIFICAR OS OBJETOS POR SEUS ATRIBUTOSAp6s identificarmos os objetos que estavam visiveis no cenario, agora teremos queencontra-los atraves de seus atributos, onde os atributos sao caracteristicas do objeto,suponhamos que no cenario acima, foi falado sobre algum objeto, contudo nao foi

    Craatod wlth

    nit!ro PDF 'profesdownload the free trial online at nitrcpd

  • 5/9/2018 Uml Passo a Passo

    5/86

    pronunciado seu nome, dificultando assim sua localizacao. Para encontrarmos teremos queidentificar atributos ou caracteristicas, como por exemplo: se no cenario dado acima,tivessemos 0 atributo CPF, poderiamos identificar que esta caracteristica pertence aocliente, identificando assim 0 objeto Cliente sem que seu nome houvesse sido pronunciadono cenario.Voce deve repassar todo cenario novamente em busca destas caracteristicas sem objetos,abaixo segue alguns que identifiquei:DataHoraSituacaoTipo de ServicoPrazoObserve que os atributos Data, Hora, Situacao, Tipo de Servico e Prazo sao referente aopedido, sendo assim, para identificarmos novas classes a partir desses atributos, teremosque realizar a seguinte pergunta para cada urn deles: "Eu preciso uma lista de: Atributo ? ",onde no lugar de Atributo voce substitui por atributos acima. Veja os testes abaixo:Eu preciso uma lista de Data? = NaoEu preciso uma lista de Hora? = NaoEu preciso uma lista de Situacao? = SimEu preciso de uma lista de Tipo de Servico? = SimEu preciso uma lista de Prazos? = SimAs perguntas com resposta Sim, serao novas classes, segue abaixo as novas classesencontradas:SituacoesTipo de ServicosPrazosLISTA COMPLETA COM TODOS OS OBJETOS ENCONTRADOSListaremos abaixo para facilitar nossa visualizacao, todos os objetos encontrados ap6s

    Craatod wlth

    nit!ro PDF 'profesdownload the free trial online at nitrcpd

  • 5/9/2018 Uml Passo a Passo

    6/86

    nossa abstracao:ClienteTelefoneAtendenteSolicitacaoGrupoTecnicoEquipamento

    HistoricoCategoriaSub CategoriaItem da categoriaPedidoPesquisa satisfacaoSituacoesTipo de ServicosPrazosAGRUPAR OS OBJETOS POR SEMELHAN

  • 5/9/2018 Uml Passo a Passo

    7/86

    Veja que alguns dos objetos acima nao foram classificados, devido a nao necessidade detal processo, pois ja esta em sua classificacao correta, devemos apenas usar 0plural, poisnormalmente uma classe esta no plural devido sua origem em agrupas varios objetos.ELIMITAR CLASSES DESNECESsARIAS au REPETIDASObserve no item anterior que muitas classes sao do mesmo genero, fazendo com que estejarepetida no diagrama e se uma classe se repete no banco de dados sera uma tabela criadasem proposito nenhum.Para eliminar, vejamos primeiro as classes que agrupamos por semelhanca:Observe que Pedido e Solicitacao no cenario fez referencia a uma mesa coisa, assim podementao eliminar uma das duas, eu eliminei a solicitacao.Veja que Telefone e urn item de equipamentos, sendo assim podemos tambem elimina-la:Abaixo a nova lista de classes:PessoasClienteAtendenteGrupo

    TecnicoEquipamentoHistoricoCategoriaSub CategoriaItem da categoriaPedidoPesquisa satisfacaoSituacoes

    Craatod wlth

    nit!ro PDF 'profesdownload the free trial online at nitrcpd

  • 5/9/2018 Uml Passo a Passo

    8/86

    Tipo de ServicosPrazosMONTANDO 0 DIAGRAMA DE CLASSEPara iniciarmos os primeiros passos de nosso diagrama de classe, desenhe em uma folha depapel urn retangulo com tres divisoes para cada classe.Veja abaixo na Figura2, como deve ficar:

    i ' 1 1 ' ~ ~ " .~~,gool~ ~ ~ 1L...~ .........J

    1 . . . . . _ . . . . . . _ . . . . . . .

    .Sliii>~f!"'DII~~1l!J.lIu~

    lIE!:I~m_;;,~~~!I_tc!II

    Figura Error! Bookmark not defined.- Diagrama de classe sem ligacoes e cardinalidadeREALIZANDO AS PRIMEIRAS LIGA

  • 5/9/2018 Uml Passo a Passo

    9/86

    d ~ 1 J : O O a I[ " . - . " " . . - . 1 - - - - - - - - - - - - l I , ;. . " ' ' ' - " " ' -I " "'~i;;;'i;;-'" r -j . .. .. . .. .. T - 6 ( i _ , n . . . .o o - ~ . ' & - . . . . . . . ,

    r(;~Pe5:;oa1~ _ n l l l m ' i l ' O O I i I r o o. .!:lOOP9U01Il! _ D _ n r i i e ~ ~ e

    , ~BICada:J~fIlI~()i , ; " ~ ~ ~ ~ , 1 , 1 I a 1 ! . tFigura Error! Bookmark not defined.- Parte do diagrama de classe envolvendo pessoas

    lcad()rdlli!'1~ [ l r n J D o cl!:]ooolle~leI ~GdFblncIonranf:ol i -ocmGr~ r -~clXlTipo,,E~~q;lOlriHlt~~bCatoegurlarCO !1ltlt llnl

    ~~ ~~Y~fi't(l, ~, _ " , _ " , , _ . . . l 1

    Figura Error! Bookmark not defined.- Parte do diagrama de classe envolvendodocumentosEFETUANDO AS LIGA

  • 5/9/2018 Uml Passo a Passo

    10/86

    assim urn tecnico pode atender a varios pedidos e urn pedido pode ser atendido por urntecnico, sendo representado por I-N, lembrando que a classe que recebe 0N herda 0campo chave da outra classe como chave estrangeira, sendo assim ficara a tabela depedidos com mais urn campo chamado: c6digo do tecnico.

    Faca 0 processo para todas as classes, use sempre a pergunta dessa forma:Urn "Nome de urn objeto da classe" pode "nome da ligacao (verbo)" urn ou varios "nomeda classe"Como ficaria entre Pedidos e situacao:Urn pedido pode ter uma ou varias situacoes?Resposta: Varias, pois ao abrir esta em andamento, em outro ponto do tempo pode ficarpendente e ser concluida ao final do service.DIAGRAMA DE CLASSE COMPLETO

    ~';)i!i,!.:.m .- .. " .. - ... " ... -~lam~g;;CI[]

    Figura Error! Bookmark not defined.- Diagrama de classe completoCENARIO PARA EXERCITARMOSVoce trabalha para uma empresa coorporativa, seu cargo e Analista de Sistemas. 0

    Craatod wlth

    nit!ro PDF 'p ro fe sdownload the f ree t rial onl ine at nitrcpd

  • 5/9/2018 Uml Passo a Passo

    11/86

    responsavel pelo setor Ativos 5[5] the enviou urn email solicitando 0 desenvolvimento deurn software para resolver urn problema que 0 setor tern constantemente enfrentado com asauditorias intemas, esta medida e de suma importancia e 0 desenvolvimento deve serrealizado 0mais breve possivel antes que auditoria extema faca a proxima visita. Suatarefa foi desenvolver urn diagrama de classe para que seja iniciado 0 desenvolvimentodeste novo software.Abaixo segue 0 cenario informado pelo responsavel do projeto:A empresa que nos contratou, deseja adquirir 0 certificado ISO 9001 em qualidade,entretanto urn dos itens de verificacao e 0 registro de movimentacao dos ativos.Segue abaixo 0 que foi explicado pelo responsavel:o cliente entra em contato com a central atraves do telefone solicitando varios tipos deservico para a TIC6[6], alguns deles sao: remanejamentolinstala

  • 5/9/2018 Uml Passo a Passo

    12/86

    MOVIDA.o hist6rico destas solicitacoes deve ser classificado por etiqueta do ativo e pelo tecnico daTIC que 0 fez, a fim de posteriores conferencias.

    CONCLUSAONeste artigo conferimos as orientacoes basicas na elaboracao de urn diagrama de classe,onde 0 ponto chave foi a usar 0processo de abstracao com aliado na busca dos objetosespalhando em urn contexto do cenario. Vimos ainda como classificar as classes eliminarduplicidades, identificar por atributos e etc.A dica passada aqui e como identificar os objetos em urn cenario a fim de projetar urndiagrama de classe sem falhas. Interessante dizer que criancas identificam objetos maisfacilmente do que os adultos, pois 0processo nos cega, deixando alguns objetos invisiveis.

    Lembre-se de aplicar os passos: Identificar Objetos, Classifica-los e eliminar duplicidade,feito isso, voce tera 0mais complicado que sao as classes, depois com ajuda de urn bornlivro de analise ou urn professor, realizar as cardinali dade nao sera problema algum.REFERENCIASMelo, Ana Cristina. Desenvolvendo Aplicacoes com UML, 1 "Edicao, Brasport, 2002.Melo, Ana Cristina. Desenvolvimento aplicacoes com UML 2.0: do conceitual itimplementacao / Ana Cristina Melo. - 2. Ed. - Rio de Janeiro: Brasport, 2004.

    ISO 9001.

    UML - Unified Modeling Language - Requisitos, Classes e ObjetosNeste artigo vamos conhecer um pouco mais sobre analise derequisitos, classes e objetos em UML.Publicado em: 02/08/2005RequisitosEsta fase captura as lntencoes e necessidades dos usuaries dosistema a ser desenvolvido atraves do uso de funcoes chamadas "use-cases". E a descticiio das necessidades ou desejos de um determ inadosistema.

    Craatod wlth

    nit!ro PDF 'profesdownload the free trial online at nitrcpd

  • 5/9/2018 Uml Passo a Passo

    13/86

    o principio baslco da analise de requisitos e identificar e documentaro que e realmente necessario, desta forma comunicando a todos osenvolvidos no projeto da forma mais clara posslvel, de maneira nao-amblgua de modo que os riscos sejam identificados sem correr riscos deimprevistos.Atraves do desenvolvimento de casos de uso (em UML chamamos de"use-cases"), as entidades externas ao sistema (em UML chamamosde "atores externos") que interagem e possuem interesse no sistemasao modelados entre as funcoes que eles requerem, funcoes estaschamadas de "use-cases". Veja figura abaixo:ud Ex.empl0Basi co 2

    Name:Author:Version:Created:Updated:

    Cliente,,,,,,,,,,,

    Interessado nafuncicn alidade.

    Exemplo Basioo 2Nogueira JR1.0181021200508:35:57181021200508:39:08

    .F u n oi0n a l idadedesaj ada.

    Os atores externos e OS "use-cases" sao modelados comrelacionamentos que possuem cornunicacao associativa entre eles ousao desmembrados em hierarquia. Descrevemos um "use-case" atravesde um texto especificando os requisitos do ator externo que utillzaraeste "use-case". Um "use-case" tanto pode depender de um ou mais"use-case" como pode ter seus dependentes. Atraves do diagrama de"use-cases" mostraremos aos atores externos (futuros usuaries), e 0que estes podem esperar do sistema.A analise de requisitos tarnbern pode ser desenvolvida baseada emsistemas de neqocios, e nao apenas para sistemas de software, e osatores podem tarnbern ser sistemas ou outros softwares. Veja figura:

    Craatod wlth

    nit!ro PDF 'profesdownload the free trial online at nitrcpd

  • 5/9/2018 Uml Passo a Passo

    14/86

    ud Ex.emplo BasicoName: Exemplo B.3sicoAuthor: Nogueira JRVersion: 1.0Create d: 1810212005 08 :25:49Update d: 1810212005 08 :35 :20

    o Sistema de t

  • 5/9/2018 Uml Passo a Passo

    15/86

    Nota~oes. Voce vai conhecer os sfmbolos usados na UML.

    ClassesDefini~aoUma Classe, em linguagens Orientadas a Objeto, e a possibilidade decombinar num unico registro, campos de dados e campos que saofuncoes para operar os campos de dados do registro.Em outras palavras, as classes sao os blocos de construcoes maisimportantes de qualquer sistema orientado a objetos. Uma classe e umadescricao de um conjunto de objetos que compartilham os mesmoatributos, operacoes, relacionamentos e sernantica. Podem serimplementadas em uma ou mais interfaces.Todos os objetos sao instancias de classes, onde a classe descreve aspropriedades e comportamentos daquele objeto.Em UML as classes sao representadas por um retanqulo dividido em trescompartimentos: Nome: que contera apenas 0 nome da classe modelada; Atributos: que possuira a relacao de atributos que a classe

    possui em sua estrutura interna; operacoes : que serao os rnetodos de rnanlpulacao de dados ede cornunicacao de uma classe com outras do sistema.A sintaxe usada em cada um destes compartimentos e independente dequalquer linguagem de proqrarnacao, embora podem ser usadas outrassintaxes como a do c++ e Java.Existem outras particularidades ligadas as Classes em UML, masdeixemos isso para os artigos mais avancados,NomesTodas as classes devem ter um nome que as diferencie das demais.Usamos uma sequencia de caracteres para identifica-las. Uma classepode ter um nome simples, ou com caminho. 0 caminho identifica 0pacote ao qual a classe pertence.

    Craatod wlth

    nit!ro PDF 'profesdownload the free trial online at nitrcpd

  • 5/9/2018 Uml Passo a Passo

    16/86

    AtributosUm atributo e uma propriedade de uma classe, que descreve umintervalo de valores que as instancias da propriedade podemapresentar. Uma classe pode ter qualquer nurnero de atributos ounenhum. Um atributo representa 0 tipo de dados ou estados que cadaitem de uma classe pode assumir, sao representados logo apos 0 nomeda classe.operacoesAs Operacoes sao os processos que a classe pode realizar. AsOperacoes correspondem claramente a rnetodos em uma classe. Nonfvel de especiflcacao, as operacoes correspondem a rnetodos publicos,Normalmente, voce nao mostra as operacoes que simplesmentemanipulam atributos, porque elas podem ser freqLientemente inferidas.Entretanto, voce podera ter que identificar seu um dado atributo esomente para leitura (isto e, 0 seu valor nunca muda). No modelo deimplementacao, voce tarnbern pode querer mostrar operacoesprivativas (private) e protegidas (protected).Uma classe pode ter varias operacoes ou ate mesmo nenhuma, saorepresentadas logo apos os atributos.

    Craatod wlth

    nit!ro PDF 'profesdownload the free trial online at nitrcpd

  • 5/9/2018 Uml Passo a Passo

    17/86

    it! Classes /Name: C la s:BsAuth o r Noguei ra J Rvers on : 1 .0Created: 15109 /200422 :43 :49Updated: 0 7/1 0/20 04 1 7:22 :04

    ds CfieJ~fe ~:{specif icat ion}

    - C LI_ ID :'"- C LI_DESCR :- Nome: vo la tile cha r[2 . . 7 o rdered ]+ p ro pertv pN om eO : cha r

    respu I1sibilitiescadasro do s C l ie n te s

    COil strai Ills{E n tra d a m a nu al}

    tagsS o f iwa re = WindowsXP

    Na Pnltica

    Para que uma fase de proqrarnacao possa ter um bom desempenho,necessitamos de um projeto bem elaborado, conseqLientementeconverteremos as classes da fase do projeto para 0 codiqo dalinguagem orientada a objetos escolhida. Se 0 desenho foi elaboradocorretamente e com detalhes suficientes, a tarefa de codificacao efacilitada. A complexidade dessa conversao vai depender da capacidadeda linguagem escolhida, no entanto esta pode tornar-se facil ou diffcilde se realizar.Em UML durante a elaboracao dos modelos de analise e projeto,devemos evitar traduzi-Ios em codiqos, Cabendo esta tarefa a fase deproqrarnacao.Agora que voce ja tem uma pequena nocao de uma parte das Classesda UML, vamos abordar os Objetos, que nada mais sao do que asClasses em acao,

    Craatod wlth

    nit!ro PDF 'profesdownload the free trial online at nitrcpd

  • 5/9/2018 Uml Passo a Passo

    18/86

    ObjetosDefini~aoOs objetos sao elementos que podemos manipular, acompanhar seucomportamento, criar, interagir com ele, ou ate destrui-Io. Um objetopode existir no mundo real ou pode ser uma derivacao de estudos daestrutura e comportamento de outros objetos do mundo real.Corresponde a qualquer coisa que tenha algum significado para umadada aplicacao. Por exemplo, uma rnaquina, uma orqanlzacao, ouneqocio.Um objeto e simplesmente alguma coisa que faz sentido no contexto deuma aplicacao. Objeto e uma entidade independente, assincrona econcorrente, armazena dados, encapsula services, troca mensagenscom outros objetos, e e modelado para executar as funcoes finais dosistema.Abstra~ao de urn ObjetoAbstracao e 0 principio de ignorar os aspectos de um assunto naorelevante para 0 proposito em questao, tornando possfvel umaconcentracao maior nos assuntos principais. Consiste na selecao que 0analista faz de alguns aspectos, ignorando outros. Existem duas formasde abstracao, de Procedimentos e de Dados.Abstra~ao de ProcedirnentosPrinclpio de que qualquer operacao com um efeito bem definido podeser tratada por seus usuaries como uma entidade unica, mesmo que aoperacao seja realmente conseguida atraves de alguma sequencia deoperacoes de nlvel mais baixo.Abstra~ao de dadosConsiste em definir um tipo de dado conforme as operacoes aplicaveisaos objetos deste tipo. Pore rn , estes objetos so podem ser modificadose observados atraves destas operacoes.EncapsularnentoEncapsular e omitir lnformacoes pelo principio de que uma determinada

    Craatod wlth

    nit!ro PDF 'profesdownload the free trial online at nitrcpd

  • 5/9/2018 Uml Passo a Passo

    19/86

    entidade esconde inforrnacoes as quais sao necessaries apenas amesma. E fundamental que 0 objeto proteja seus dados, nao permitindoque 0 usuario do objeto os acesse diretamente. Mas sim atraves dernetodos se houver necessidade.PolimorfismoE 0 conceito usado em linguagens de proqrarnacao orientada a objetospara denotar a caracterfstica de que a linguagem suporta a utilizacao domesmo identificador (0 mesmo nome) para rnetodos de classesdiferentes.Um conceito em teoria de tipo no qual um nome (como uma declaracaode variavel) pode denotar objetos de muitas subclasses diferentes quesao relacionadas por alguma superclasse comum, assim, qualquerobjeto denotado por esse nome tem a capacidade de responder a algumconjunto comum de operacoes de modos diferentes.Objetos na UMLEm UML um objeto e mostrado como uma classe 56 que seu nome esublinhado, e 0 nome do objeto pode ser mostrado opcionalmenteprecedido do nome da classe.

    obj CI iente

    cd Objetos /

    ome: c arTelefone: ch arSalario: long

    + CadastrarO: int+ Consu ItarO: clsCli ente+ Apag arO : int

    Precursores da analise orientada a objeto, defendiam que devfamosestruturar programas de computador de acordo com 0 problema a serresolvido. 0 termo Orientacao a Objetos sugere abstracoes do mundoreal e trechos de programas de computador, ou objeto.Um grande fator da orientacao a objetos e a reusabilidade. Estamosreutilizando c6digos de programas desde 0 infcio da cornputacao. Astecnicas de orientacao a objetos nos permitem muito mais que a

    Craatod wlth

    nit!ro PDF 'profesdownload the free trial online at nitrcpd

  • 5/9/2018 Uml Passo a Passo

    20/86

    reutillzacao de codiqos, podemos reutilizar requisitos, analise, projeto,planejamento de testes, interfaces de usuario e arquiteturas, ou sejatodos os componentes de engenharia de software podem serencapsulados como reutilizaveis.Analise Orientada a ObjetosAnalise e 0 estudo de um problema, antes de qualquer acao,Analise e 0 estudo do domlnio de um problema que leva a umaespeciflcacao de comportamentos observaveis externamente. E umadeclaracao completa, consistente e posslvel do que e necessario, umconjunto de caracterlsticas operacionais quantificadas e funcionais.Analisar e obter as necessidades de um sistema e 0 que este precisa serdesenvolvido para satisfazer as necessidades do usuario. Analisar nao edefinir como 0 sistema sera desenvolvido, mas sim investigar 0problemaA AOO tem dois propositos. Primeiramente formalizar uma "vi sao" domundo real dentro do qual 0 sistema sera desenvolvido, estabelecendoos objetos que servirao como principais estruturas organizacionais dosistema de software e tarnbern as que 0 mundo real lrnpce. Em segundolugar, a AOO formaliza a colaboracao de um dado conjunto de objetosna execucao do trabalho do sistema de software que esta sendoespecificado. Esta formalizacao representa como cada objeto secomunica com os demais.o Projeto Orientado a Objetos (PjOO) e visto como 0 processo deespeciflcacao das partes da construcao, ou seja, instrucoes, guias,recornendacoes, estipulacoes, quallflcacoes, regras, etc .. Utilizamosestes processos para implementar um sistema em um ambienteespedfico, em busca da solucao do problemaDurante a PjOO e dado enfase na elaboracao dos elementos loqicos dosoftware. Sendo implementados em uma linguagem de proqrarnacaoorientada a objetos, os quais possuem atributos e metodos,

    UML - Unified Modeling Language - Estados, Pacotes e Casos deUso (cenarlos)Neste artigo vamos conhecer um pouco mais sobre Estados, Pacotes eCasos de Uso (Cenarios) em UML.

    Craatod wlth

    nit!ro PDF 'profesdownload the free trial online at nitrcpd

  • 5/9/2018 Uml Passo a Passo

    21/86

    Publicado em: 01/09/2005EstadosDefini~aoUm estado e uma condicao ou situacao na vida de um objeto durante aqual 0 objeto satisfaz alguma condicao, realiza alguma atividade ouaguarda um evento. Todos os objetos possuem um estado que significao resultado de atividades executadas pelo objeto, normalmente esteestado e determinado pelos valores dos atributos e liqacoes com outrosobjetos.Um objeto muda de estado quando acontece algo, 0 fato do objetoalterar 0 seu estado chamamos de evento. Analisando as rnudancas deestado que um objeto pode sofrer, podemos prever todos os possfveiscomportamentos de um objeto de acordo com os eventos que 0 mesmopossa sofrer.Um estado pode ter tres compartimentos: Nome do Evento, Atributos eAtividades. Nome do Evento - mostra 0 nome do evento, geralmente este nomedescreve 0 que este estado realiza; Atributos - mostra as variavels de estado, onde os atributos doobjeto em questao pode ser listados e atualizados; Atividades - 0 compartimento de atividades e onde podemos listaros eventos e acoes, Esta dividido em tres eventos padr6es : Entrar, Saire Fazer.Entrar : usado para definir atividades no momenta em que 0 objetoentra naquele estado;Sair : usado para definir atividades que 0 objeto executa antes depassar para 0 proximo estado;Fazer : usado para definir atividades que 0 objeto executa enquanto seencontra naquele estado.Na Pnlticao comportamento de uma Classe de Objetos e representado atravesde um Diagrama de Transi~ao de Estado, que descreve 0 cicio devida de uma dada classe, os eventos que causam a transicao de umestado para outro e as acoes resultantes da rnudanca de estado.o espaco amostral dos estados de uma dada Classe corresponde aenurneracao de todos os estados possfveis de um objeto.o estado de um Objeto e uma das posslveis condicoes na qual 0 objetopode existir. 0 estado compreende todas as propriedades do objetos(estaticas) associadas aos valores correntes (dinarnico) de cada umadessas propriedades.A notacao UML para representar 0 estado de uma classe rorrpc:;nonrlp a

    Craatod wlth

    nit!ro PDF 'profesdownload the free trial online at nitrcpd

  • 5/9/2018 Uml Passo a Passo

    22/86

    um retanqulo com a bordas abauladas. Veja figura:sm E lemerto do E stadQ /

    Name: Elemento do Es:adoAuthor. Noguei ra JRver s 0 n: 1 .0Created: 06 106 t 2 0 0 5 16 : 4 5 : 4 4Updated: 06106 t 2 005 16:54 :53

    Exemplificando melhorEstados e AtributosEstados podem ser distinguidos pelos valores assumidos por certosatributos.Exemplo - 0 nurnero maximo de estudantes por curso, no "Use Case"Matrfcula do Aluno, e igual a 10.Estados e Liga~oesEstados tarnbern podem ser distinguidos pela existencia de certasliqacoes.Exemplo - A instancla da Classe Professor pode ter dois estados: Ensinando: quando 0 Professor esta ministrando um Curso. Licenciado: quando nao esta ministrando nenhum Curso.

    Craatod wlth

    nit!ro PDF 'profesdownload the free trial online at nitrcpd

  • 5/9/2018 Uml Passo a Passo

    23/86

    smEstados /Name: EstadosAuthor. Noguei ra JRVernon: 1 .0Created: 061D6t200516:49:36Updated: 0 7 1D 6 t20 05 1 3 :2 4 : 4 4

    Ensinando

    Ucencia do

    Estados Especiais

    Estado Inicial e 0 estado atribufdo a um objeto quando e criado. 0estado Inicial tem as seguintes caracterfsticas: E mandat6rio Somente um estado Inicial e permitido. 0 estado Inicial e representado por um drculo preenchido.

    Estado Final e 0 estado que indica 0 fim do ciclo de vida de um objeto.o estado Final tem as seguintes caracterfsticas: E opcional. Podeexistir mais de um estado final. 0 estado Final e representado por um "olho de boi".

    Craatod wlth

    nit!ro PDF 'profesdownload the free trial online at nitrcpd

  • 5/9/2018 Uml Passo a Passo

    24/86

    sml ll lc iQ eoFiIMIName:Author.Version:Created:Updated:

    In! do e FinalNoguei ra JR1.006!D6f200516:52:5506!D6f200516:53:52

    EventosUm evento e uma ocorrencia que acontece em algum ponto no tempo eque pode modificar 0 estado de um objeto, podendo gerar umaresposta.

    Exemplos: Adicionar um aluno a um curso. Criar um novo curso.Transi~aoE a rnudanca do estado atual para 0 estado subsequente como

    resultado de algum estfmulo. 0 estado subseqLiente pode ser igual aoestado original. Uma transicao pode ocorrer em resposta a um evento.As transicoes rotuladas com 0 nome dos eventos.

    Craatod wlth

    nit!ro PDF 'profesdownload the free trial online at nitrcpd

  • 5/9/2018 Uml Passo a Passo

    25/86

    Name:Author.Ver.sion:Created:Updated:

    Tran::i~aoNoguei ra JR1.00 7 J D6 t2 0 0 5 1 3 :2 5 :5 30 7 J D6 t2 0 0 5 1 3 :2 7 :5 2

    Condi~ao de GuardaA condicao de guarda e uma expressao Boleana de valores de atributoque permitem que a transicao ocorra somente se a condicao assumidapela expressao e verdadeira.

    f '\ .lnsenr Aluno

    Regij ro Fechado\/

    Name:Author.Ver.sion:Created:Updated:

    Condi0oNogueira JR1.007JD6t200513:30:2807JD6t200513:30:58

    ~~uno

    Regijro Fechado [qtde >= 27]

    II

    Craatod wlth

    nit!ro PDF 'p ro fe sdownload the f ree t rial onl ine at nitrcpd

  • 5/9/2018 Uml Passo a Passo

    26/86

    A~oesE uma operacao que esta associada a uma transicao, ocorrendoinstantaneamente e que nao pode ser interrompida. Nome de uma acaoe mostrado, na seta indicativa da transicao, precedida por um barrainclinada (/).Envio de eventos a partir de outro eventoUm evento pode provocar 0 envio de outro evento. 0 nome do eventoenviado e mostrado, na seta indicativa de transicao, precedido por umcircunflexo (/\) seguido pelo nome da Classe para onde 0 evento seraenviado, separados por um ponto.AtividadeE uma operacao que esta associ ada a um estado, leva um tempo paraser executada e que pode ser interrompida.Envio de eventos a partir de atividadeUma atividade tarnbern pode provocar 0 envio de um evento para umoutro Objeto.Transi~ao AutomaticaAlgumas vezes, 0 unico proposito da existencia de um estado edesenvolver uma atividade. Uma transicao automatica ocorre quando aatividade e completada. Se multiples transicoes autornaticas existem,uma condicao de guarda e necessaria para cada transicao e ascondicoes de guarda devem ser mutuamente exclusivas.PacotesDefini~aoImagine uma pasta no Windows. Pois bem, Pacote e um mecanismo deproposito geral para organizar elementos de modelo em grupos,podendo inclusive, estar aninhando dentro de outros pacotes (pacotessubordinados). Esta abordagem facilita a analise a medida que 0nurnero de Classes de Objetos cresce num do cenario.Todos os modelos de elementos que sao ligados ou referenciados porum pacote sao chamados de "Conteudo do pacote". Um pacote possuivarios modelos de elementos, e isto significa que estes nao podem serinclufdos em outros pacotes, apenas referenciados.Pacotes podem importar modelos de elementos de outros pacotes.Quando um modelo de elemento e importado, refere-se apenas aopacote que possui 0 elemento. Na grande maioria dos casos, os pacotespossuem relacionamentos com outros pacotes. Embora estes naopossuam sernanticas definidas para suas instancias. Os relacionamentos

    Craatod wlth

    nit!ro PDF 'profesdownload the free trial online at nitrcpd

  • 5/9/2018 Uml Passo a Passo

    27/86

    permitidos entre pacotes sao de dependencla, refinamento egeneraliza~ao (heranca).o pacote tem uma grande similaridade com a aqreqacao, 0 fato de umpacote ser composto de modelos de elementos cria uma aqreqacao decomposicao, Se este for destrufdo, todo 0 seu conteudo tarnbern sera.Alguns exemplos:Pacote vazio:cd pacote)

    Name: PacoteAuthor: Nogueira JRVersion: 1.0Create d: 0710712005 22 :42:19Update d: 0710712005 22 :42 :37

    Pacote Vaz:i0 1 1

    Pacote composto por classes:cd pacote)

    Name: PacoteAuthor: Nogueira JRVersion: 1.0Create d: 0710712005 22 :42:19Updated: 071071200522:44:29

    Pacote Operaci onal 1 1~ + clsClieme~ + clsFornecedor~ + clsProduto

    Pacote contendo varies outros itens:

    Craatod wlth

    nit!ro PDF 'p ro fe sdownload the f ree t rial onl ine at nitrcpd

  • 5/9/2018 Uml Passo a Passo

    28/86

    cd Pacote /Name: PacoteAuthor: Nogueira JRVersion: 1.0Create d: 0710712005 22 :42:19Update d: 0710712005 22:47:43

    Pacote Operaci onal 1 1:f + Ususr!o~ + clsClieme~ + clsFornecedor~ + clsProdutoe+ Pacote Interno+ Caso de Uso

    Os Pacotes podem conter muito mais que apenas outros itens, podemtarnbern conter Diagramas, Requisitos, Modelos de Dados, dentreoutros artefatos da UML.Existem Ferramentas Case que usam 0 recurso dos Pacotes paraarmazenar artefatos contendo Pianos de Testes, Pianos de Manuten

  • 5/9/2018 Uml Passo a Passo

    29/86

    Pacote de um Modelo:cd Pacote /

    Pacote Operacicnal 6 1 1\ \ + Usuario~ + clsCliente~ + clsFornecedor~ + clsProdutoI E J + Pacote Intemo+ Caso de Uso

    Pacote de Framework:cd Pacote /

    Name: PacoteAuthor: Nogueira JRVersion: 1.0Create d : 0710712005 22 :42: 1 9Up date d: 0710712005 22 :50 :54

    framework 1 1Pacote Operaci onal I I\\ + Usuario~ + clsCliente~ + clsFornecedor~ + clsProdutof:l + Pacote Inte rn 0+ Caso de Uso

    Agora que voce ja tem uma pequena nocao de Pacotes na UML, vamosentao abordar os Cenarios das Use Cases, que nada mais sao do que asnecessidades na execucao de uma ou mais funcionalidades.Casos de Uso (cenarlos)Defini~aoCasos de uso especificam 0 comportamento do sistema ou parte(s) delee descrevem a funcionalidade do sistema desempenhada pelos atores.Voce pode imaginar um caso de uso como um conjunto de cenarios,onde cada cenario e uma sequencia de passos a qual descreve umainteracao entre um usuario e 0 sistema. Os casos de uso sao

    Craatod wlth

    nit!ro PDF 'profesdownload the free trial online at nitrcpd

  • 5/9/2018 Uml Passo a Passo

    30/86

    representados em forma de elipse.Nao se deve detalhar muito um determinado caso de usa, 0 seudetalhamento vai depender do risco que 0 mesmo corre, quanto maior 0risco, mais detalhes tera 0 caso de uso.Ao definir os casos de usa a serem desenvolvidos, trate apenas doscasos de usos mais crfticos para 0 sistema, os casos de usa que saotarefas rotineiras nao precisam ser desenvolvidos. Dessa forma suadocurnentacao nao se tornara monotone. Numericamente falando, emmodo geral trate apenas de 10 a 20(%) dos casos de usa mais crfticosde seu sistema, estes nurneros citados e claro que podem variardependendo do sistema a ser desenvolvido.Nos nomes dos casos de usos devemos sempre usar verbos, pois assimtacllltara no entendimento dos mesmos. Devemos possuir uma lista comtodos os nomes dos casos de usos para facilitar na identiflcacao dosmesmos. Preencher todos os requisitos de um caso de usa e de extremairnportancia.Os CenartosImagine varios caminhos para realizar alguma tarefa, algum requisito.Isso sao os Cenarios, varias possibilidades de atividades, certas ouerradas.Exemplo: Abertura de uma conta em um determinado banco. Para essaoperacao, voce necessita realizar varios passos, que podem resultar emsucesso ou em problemas. 0 chamado "caminho sem erros" e 0 CenarioBasico, ou Cenario Principal, onde tudo ocorre sem nenhum problema.Veja:1. 0 Cliente solicita a abertura da conta;2. 0 Gerente aprova a abertura;3. 0 Gerente abre a conta;4. 0 Cliente realiza 0 primeiro deposito;5. 0 Cliente ganha 0 seu cartao rnaqnetico.Percebeu que nesse processo nao ocorreram problemas? Esse e 0 quechamamos de Cenario Basico,Agora imagine que no passo 2 do Cenario Basico, 0 Gerente encontre 0nome do Cliente no SPC, por exemplo, e nao abra a sua conta. A essasituacao chamamos de Cenario Alternativo, onde ocorre algum

    Craatod wlth

    nit!ro PDF 'profesdownload the free trial online at nitrcpd

  • 5/9/2018 Uml Passo a Passo

    31/86

    problema no fluxo do Cenario Basico, Entao nosso Cenario Alternativofica assim:1. No passo 2 do Cenario Basico, 0 Cliente e citado no SPC,inviabilizando a abertura de sua conta.Podemos ainda incluir mais situacoes no Cenario Alternativo:1. No passo 2 do Cenario Basico, 0 Cliente e citado no SPC,inviabilizando a abertura de sua conta;2. No passo 3 0 sistema informatizado do banco apresenta problemas,retardando a abertura da conta do Cliente;3. No passo 5 0 banco esta sem mfdia do cartao, ou 0 cartao do Clienteainda nao esta pronto, retardando a entrega do mesmo ao Cliente.Dentre outra situacoes, 0 importante e prever todas as que realmentesao importantes, que possam ocorrer no Cenario Basico,

    UML - Unified Modeling Language - Casos de Uso (Pre e Pos-requisitos)Continuando com a seria de artigos vamos conhecer um pouco maissobre Pre e Pos-requtsitos em Casos de Uso.Publicado em: 05/09/2005Casos de Uso (Pre-requlsltos)DefinlcaoComo dito no artigo anterior, os casos de uso especificam 0 comportamento dosistema ou parte(s) dele e descrevem a funcionalidade do sistema desempenhadapelos atores. Voce pode imaginar um caso de uso como um conjunto de cenerios.onde cada cenario e uma seauencie de passos a qual descreve uma interacaoentre um usuario eo sistema.Nos nomes dos casos de usos devemos sempre usar verbos, pois assim facilitarano entendimento dos mesmos. Devemos possuir uma lista com todos os nomesdos casos de usos para facilitar na identificacao dos mesmos. Preencher tamberntodos os pre-requisites de um caso de uso e de extrema irnportancia.Os Pre-requlsltosImagine um cenario para realizar alguma tarefa. Agora imagine qual e 0 conjuntode informacoes necessaries para realizar tal tarefa. Pois bem, a isso chamamosde Pre-requisitos, ou os peremetros de entrada de um cenario.Exemplo: Novamente a abertura de uma conta em um determinado banco. Paraessa operacao, voce necessita realizar varies passos, que necessitam de varies

    Craatod wlth

    nit!ro PDF 'profesdownload the free trial online at nitrcpd

  • 5/9/2018 Uml Passo a Passo

    32/86

    dados de entrada. Imagine os seguintes passos:1. a Cliente solicita a abertura da conta;2. a Gerente aprova a abertura;3. a Gerente abre a conta;4. a Cliente realiza 0 primeiro dep6sito;5. a Cliente ganha 0 seu cartao rnaqnetico.Para esses passos 0 que seria necessario existir, em se falando de informacoes?Vamos relacionar:Do passo 1 ate 0 passo 3:a) Nome do Cliente;b) RG do Cliente;c) CIC do Cliente;d) Demais dados do Cliente;e) Entre outras informacoes,Percebeu que para um cenario executar as operacoes, ele necessita de algumasinformacoes iniciais?

    Certo. E destas informacoes, quais sao realmente necessaries para a abertura daconta?Certamente 0 Nome e Documentos do Cliente, pois os demais dados tais comoEnderec;o, etc., podem ser fornecidos depois, claro dependendo das exiqenciasdo banco.Dependendo da ferramenta em que voce estiver trabalhando para modelar oscasos de usa, essas informacoes serao inseridas em pontos diferentes domodelo. Mas temos que ter em mente que essas sao informacoes importantes, eque sem elas nao ocorrem os processos do cenario.Agora que voce ja tem uma pequena nocao de Pre-requlsltos das Use Cases naUML, vamos abordar os P6s-Requisitos das Use Cases, que nada mais sao doque as conaicoes finais, ou resultados na execucao de uma ou maisfuncionalidades.Casos de Uso (Pos-requlsltos)DefinlcaoComo dito no artigo anterior, os casos de usa especificam 0 comportamento dosistema ou parte(s) dele, e descrevem a funcionalidade do sistemadesempenhada pelos atores. Voce pode imaginar um caso de usa como umconjunto de cenerios, onde cada cenario e uma seaoencie de passos a qualdescreve uma interacao entre um usuario eo sistema.Nos nomes dos casos de usos devemos sempre usar verbos, pois assim facilitarano entendimento dos mesmos. Devemos possuir uma lista com todos os nomesdos casos de usos para facilitar na identificacao dos mesmos. Preencher tamberntodos os p6s-requisitos de um caso de usa e de extrema irnportancia.Os P6s-requisitosSemelhante ao artigo anterior, imagine um cenario para realizar alguma tarefa.Agora imagine qual e 0 conjunto de informacoes resultantes de tal tarefa. Poisbem, a isso chamamos de P6s-requisitos, ou os oeremetros de safda de um

    Craatod wlth

    nit!ro PDF 'profesdownload the free trial online at nitrcpd

  • 5/9/2018 Uml Passo a Passo

    33/86

    cenario.Exemplo: Novamente a abertura de uma conta em um determinado banco. Essaoperacao realiza varies passos, que consequentemente resultam em varies dadosde safda. Imagine os seguintes passos:1.0 Cliente solicita a abertura da conta;2.0 Gerente aprova a abertura;3.0 Gerente abre a conta;4.0 Cliente realiza 0 primeiro dep6sito;5.0 Cliente ganha 0 seu cartao rnaqnetico.Esses passos poderiam retornar algumas informacoes, Por exemplo: do passo 3ao passo 4, seria necessario saber qual e 0 nurnero da conta, para que 0 primeirodep6sito possa ser realizado.Percebeu que um cenario, ao executar as operacoes, ele retorna algumasinformacoes?Certo. E destas inforrnacoes, algumas sao realmente necessaries para que outroscenarios possam realizar suas operacoes. Certamente 0 nurnero da conta e

    fundamental para que 0 banco valide 0 acesso do cartao a um caixa eletronico,por exemplo.Oependendo da ferramenta em que voce estiver trabalhando para modelar oscasos de usa, essas informacoes podem ser ate definidas como nao facultativasno processo do Cenario.Agora que voce ja tem uma pequena nocao de P6s-requisitos das Use Casesna UML, no pr6ximo Artigo vamos abordar os Atores, que nada mais sao do queos Usuerios ou outros Sistemas, que usam ou manipulam alguma funciona/idadedo Sistema.

    UML - Unified Modeling Language - Atores, Atividades eComponentesContinuando com a seria de artigos vamos conhecer um pouco maissobre atores, atividades e componentes em UML.Publicado em: 26/10/2005Atores - Defini~aoAtores sao usuaries e/ou outros meios externos que desenvo/vem a/gum pape/em relacao ao sistema. Os meios externos sao hardwares e/ou softwares que,assim como os usuaries, geram informacoes para 0 sistema ou necessitam deinformacoes geradas a partir do sistema.Existem atores que podem desempenhar mais de um papel no sistema, quandose pensar em atores e sempre bom pensar neles como papeis em vez de pensarcomo pessoas, cargos, maquinas, No sistema podem ter usuaries com diferentes

    Craatod wlth

    nit!ro PDF 'profesdownload the free trial online at nitrcpd

  • 5/9/2018 Uml Passo a Passo

    34/86

    permiss6es, para isto e necessano criar um ator para cada diferente tipo depermiss6es. as atores sao quem desempenham os casos de usa, um mesmo atorpode estar em um ou mais casos de uso. Cada ator deve possuir um nome cujotera relacao direta com a sua funcao, possuira uma descricao que definira 0 queele faz e com quem ele interage.Vamos pensar em urn exemplo:Imagine um Professor. Ele pode ser um Ator em um Sistema.Agora Professor faz:ense em que um

    Ministrar Aulas Corrigir Provas Informar Notas dos Alunosurl Aulas

    Name:A utho rV erB o n:Created:Updated:

    AulasN og uei ra J R1.02 31 08 /2 00 5 0 7:4 7:3 52 31 08 /2 00 5 0 7:5 6:5 3 Ministrar Aulas

    Professor

    (orrigir Provas

    Inforl1larNotas rlusAllUms

    Certo. Vamos criar mais um Ator em nossa est6ria: a Coordenador. Bem, umCoordenador faz: Consultar Notas dos Alunos Emitir Certificados Coordenar ProfessoresAgora vejamos como fica tudo isso em um Diagrama de Caso de Uso(aprenderemos Diagramas mais adiante):

    Craatod wlth

    nit!roPDF' profesdownload the free trial online at nitrcpd

  • 5/9/2018 Uml Passo a Passo

    35/86

    Ud Coorde uadoriaName:A uth o rVerB on :Created:Updated:

    Co 0 r de n a d o r iaNoguei r a JR1.02 3 1 0 8 /2 0 0 5 0 7: 5 2: 2 72 3 1 0 8 /2 0 0 5 0 7: 5 3: 5 6

    CoordellarProfess ores

    Veja que 0 Professor infarma as notas dos Alunos, enquanto 0 Coordenadorconsuites as notas (repare nos sentidos das setas).Suponha que exista mais um Ator no contexto. Um Ator que desempenha umpapel de um outro Sistema. Vamos inventar aqui um Sistema do Governo, eimaginar que as notas dos Alunos devem ser informadas a esse Sistema,representado pelo nosso Ator SIENEM - Sistema Integrado do ENEM. Conformenosso Diagrama abaixo, vemos que 0Ator SIENEM consulta as notas informadaspelo Coordenador .

    .---------.-------------------------------------~url Gwerno

    Entao, conforme dito acima, um Ator pode ser um Sistema ou um Usuario de umSistema.Agora que voce ja tem uma pequena nocao do que sao os Atores na UML, nopr6ximo Artigo vamos abordar as Atividades, que nada mais sao do que os

    COllsult

  • 5/9/2018 Uml Passo a Passo

    36/86

    passos de urn processo de alguma funcionalidade do Sistema.

    Atividades Definlcao

    Uma Atividade e essencialmente parte de um fluxo, que interage com uma outraatividade, podendo ser paralela a ela ou nao,Exemplo de Atividade:,-----------------------,------------------------,ad EK:ffll1!1Q de ,A1i1lidades Sinl!!es

    Name:Author.versorrCreated:Updated:

    Exemplo de ,lltividades Sfm piesNogueira JR1,02 7 !D 9 / 20 0 5 08 : 58 : 0 12 7 !D 9 / 20 0 5 09 : 03 : 2 9

    CQIlSlI.tu Pnl(kto

    Infdo

    [Sim]

    Produto exide?

    Diagramas de Atividades

    Grn IIar Prndlto

    Final

    Craatod wlth

    nit!ro PDF 'profesdownload the free trial online at nitrcpd

  • 5/9/2018 Uml Passo a Passo

    37/86

    AS diagramas de atividades sao um caso especial de diagramas de estado, ondetodos os estados tern uma acao interna e nenhuma transicao tem um evento deentrada. a prop6sito de um diagrama de atividades e focar nos fluxos dirigidospelo processamento interno e descrever 0 comportamento de processamentosparalelos.Diagramas de atividade capturam acoes e seus resultados. Eles focam 0 trabalhoexecutado na irnplementacao de uma operacao (rnetodo), e suas atividades numainstancia de um objeto. a diagrama de atividade e uma variacao do diagrama deestado e possui um prop6sito um pouco diferente do diagrama de estado, que e 0de capturar acoes (trabalho e atividades que serao executados) e seus resultadosem termos das rnudancas de estados dos objetos.as diagramas de atividades sao usados para detalhar classes, implementacao deoperacoes e casos de usa, enquanto os diagramas de estado sao usados paraespecificar 0 comportamento global de um tipo.Um diagrama de atividade e uma maneira alternativa de se mostrar interacoes,com a possibilidade de expressar como as acoes sao executadas, 0 que elasfazem (rnudancas dos estados dos objetos), quando elas sao executadas(sequencia das acoes), e onde elas acontecem (os divisores ou swimlanes).Os Divisoresas diagramas de atividades representam 0 que acontece, mas nao representamquem faz 0 que. Isso significa que 0 diagrama nao diz qual classe e responsavelpor cada atividade. Veja:

    C:ad:aslr:ar Produto .AJter:ar Produto

    No exemplo acima "Cadastrar" e "Alterar" podem pertencer a mesma Classe.Neste caso, os divisores contornam esse problema atraves da orqanizacao dasresponsabilidades das atividades dentro de uma classe. Veja:

    Craatod wlth

    nit!ro PDF 'profesdownload the free trial online at nitrcpd

  • 5/9/2018 Uml Passo a Passo

    38/86

    Name:f l .uthor.Version:Created:Updated:

    Exem plo de .lltiYi dadesSfmpl esNogueira JR1.027!D9f200508:58:0127!D9f200509:09:31

    Infcio

    [Nao] [Sim]

    P roduto e x i 1e?

    . Al te rn r P rQo !U :Q

    , -,- . ._- . --- --- --- ---- --- --- ---- ----

    Final

    Atraves dos divisores podemos separar as atividades de acordo com as classesresponsaveis por essas atividades. Os divisores sao representados por linhasverticais tracejadas.ApllcacoesUm diagrama de atividade pode ser usado com diferentes prop6sitos inclusive: Para capturar os trabalhos que serao executados quando uma operacao edisparada (acoes), Este eo uso mais comum para 0 diagrama de atividade. Para capturar 0 trabalho interno em um objeto. Para mostrar como um grupo de acoes relacionadas pode ser executado, ecomo elas vao afetar os objetos em torno delas.

    Craatod wlth

    nit!ro PDF 'profesdownload the free trial online at nitrcpd

  • 5/9/2018 Uml Passo a Passo

    39/86

    Para mostrar como uma instancia pode ser executada em termos de acoese objetos. Para mostrar como um neg6cio funciona em termos de trabalhadores(atores), fluxos de trabalho, orqanizacao, e objetos (fatores ffsicos eintelectuais usados no neg6cio).conclusaoa diagrama de atividade mostra 0 fluxo sequencial das atividades, e normalmenteutilizado para demonstrar as atividades executadas por uma operacao especfficado sistema. Consistem em estados de acao, que contern a especificacao de umaatividade a ser desempenhada por uma operacao do sistema. Decisoes econdicoes, como execucao paralela, tarnbern podem ser mostradas na diagramade atividade. a diagrama tarnbern pode conter especificacoes de mensagensenviadas e recebidas como partes de acoes executadas.Agora que voce ja tem uma pequena nocao do que sao as Atividades na UML,no pr6ximo Artigo vamos abordar os Componentes, que nada mais sao do queaspectos ffsicos do Sistema sendo modelado.

    Componentes - DefinlcaoSegundo Furlan, os Componentes mostram aspectos ffsicos entre as partes deum software.Diagramas de Componentes

    as diagramas de componentes representam, de forma estatica, aspectos ffsicosdo sistema sendo modelado. Sao importantes tanto para visualizar, especificar edocumentar sistemas, quanto para construir sistemas atraves de engenhariareversa (reverse) e direta (forward). as diagramas mostram um conjunto decomponentes e seus relacionamentos.Sao tipicamente usados para: Modelar a orqanizacao do c6digo fonte:

    Craatod wlth

    nit!ro PDF 'profesdownload the free trial online at nitrcpd

  • 5/9/2018 Uml Passo a Passo

    40/86

    i d Componentes /

    Name: Co mpo nerdesAutho r: No glJei ra JRVersion: 1.0Created: 271091200509:12:52Updated: 271091200509:14:08

    execlJ tab IeCadastro. EXE

    Mod e la r lancarnento d e e xe cuta ve is (v ers 6e s):id Co l 11Kl n en t es /Name:Author.Vernon:Created:Updated:

    C o mp o n en te sNogueira JR1.027 JlJ9t2005 09:12:5227 JlJ9t2005 09:18:32

    versso 2.7executab IeCiidiIWa.EXE

    Mod e la r fis icamen te um banco de d ad os :

    Craatod wlth

    nit!ro PDF 'p ro fe sdownload the f ree t rial onl ine at nitrcpd

  • 5/9/2018 Uml Passo a Passo

    41/86

    Name:Author.Yer::ion:Created:Updated:

    Com ponentesNogueira JR1.027 JlJ9t2005 09:12:5227 JlJ9t2005 09:20:13

    executab IeS i!S te nll .E X E

    Na realidade esse tipo de diagrama mostra 0 sistema por um lado funcional,expondo as relacoes entre seus componentes e a orqanizacao de seus m6dulosdurante sua execucao, descrevendo os componentes de software e suasdependencies entre si, representando a estrutura do c6digo gerado. ascomponentes sao a implernentacao na arquitetura ffsica dos conceitos e dafuncionalidade definidos na arquitetura 16gica (classes, objetos e seusrelacionamentos). Eles sao tipicamente os arquivos implementados no ambientede desenvolvimento.Um componente e mostrado em UML como um retanqulo com uma elipse e doisretanqulos menores do seu lado esquerdo. a nome do componente e escritoabaixo ou dentro de seu sfmbolo. Veja mais alguns exemplos:

    table

    Craatod wlth

    nit!ro PDF 'profesdownload the free trial online at nitrcpd

  • 5/9/2018 Uml Passo a Passo

    42/86

    idOJ;1l1Klllentes /Name:Author.versorrCreated:Updated:

    Co m p o n ent esNogueira JR1.027 1 D912005 09: 1 2: 5 227 1 D9 120 05 0 9: 2 3 : 41

    executableCadilwQ. EXE

    l ibraryInll!l"ess.l!:l.QCX

    r n e t ad a s o CQIlSUIm. Dl..L

    l ibraryaasses.BPL

    Componentes SaOtipos, mas apenas componentes executavels podem terlnstanclas, Um diagrama de componente mostra apenas componentes comotipos. Para mostrar instancias de componentes, deve ser usado um diagrama deexecucao, onde as instancias executaveis sao alocadas em nodes.Aprenderemos isso mais adiante.Agora que voce ja tem uma pequena nocao do que sao os Componentes naUML, no pr6ximo Artigo vamos abordar os Adornos, que nada mais sao do quecomenterios presentes nas modelagens.

    UML - Unified Modeling Language - Adornos eNosContinuando com a seria de artigos vamos conhecer um pouco maissobre adornos e nos em UML.Publicado em: 09/12/2005AdornosDefini~aoUm Adorno e um cornentario preso a um elemento ou a uma colecao deelementos. Um Adorno nao possui sernantica. pois e apenas uma"anotacao" .

    Craatod wlth

    nit!ro PDF 'profesdownload the free trial online at nitrcpd

  • 5/9/2018 Uml Passo a Passo

    43/86

    Como a UML nunca sera capaz de captar 100% das ideias reais doProjeto, usamos os Adornos para expressar pequenos detalhes,pequenas observacoes, visando complementar a informacao presenteno elemento, no relacionamento entre elementos, etc.E muito simples representar um Adorno. Basta desenhar um sfmbolosemelhante a uma pequena folha, como uma anotacao, e escrever emseu interior as lnforrnacoes pertinentes. Veja alguns exemplos simples:cd,AdQrn'!)S J

    Name: MomosAuthor. Nogueira JRVer.:ion: 1, 0Created: 2 6 1 1 0 / 2 0 0 5 0 8: 3 3: 5 7Updated: 2 6 1 1 0 / 2 0 0 5 0 8: 3 6: 5 1

    cis C / i e m . e{root} bClesse central do- - - - P rojeto

    Figura 1 - Adorno em uma Classe

    Craatod wlth

    nit!ro PDF 'profesdownload the free trial online at nitrcpd

  • 5/9/2018 Uml Passo a Passo

    44/86

    cd.Adollloo /

    Name:Author.Vernon:Created:Updated:

    MamasNogueira JR1.026 1 1 0 / 2 0 0 5 08: 33:5726 1 1 0 / 2 0 0 5 08: 38:54

    {root}

    Valida0es~guras.

    clSPru'i:lltO~eaf}

    Figura 2 - Adorno em um Relacionamentoo mais importante e ser claro e objetivo, e usar esse recurso quandofor realmente necessario.Agora que voce ja tem uma pequena nocao do que sao os Adornos naUML, vamos abordar os Nos, que nada mais sao do que notacoes deobjetos ffsicos presentes nas modelagens.NosDefini~aoUm no e um objeto ffsico em tempo de execucao que representa umrecurso computacional, possuindo, geralmente, pelo menos umamemoria, bem como, uma capacidade de processo. Objetos em tempode execucao e componentes podem residir em no. Graficamente, um No

    Craatod wlth

    nit!ro PDF 'profesdownload the free trial online at nitrcpd

  • 5/9/2018 Uml Passo a Passo

    45/86

    e representado pelo desenho de um Cubo. Veja um pequeno exemplo:

    Serv idor Bancode Dados

    dd Nos JName: NosAutho r: No gue ira JRVersio n: 1.0Created: 25/10/2005 08 :42:08Updated: 25/10/2005 08 :44:14

    Servidor LAN

    Figura 1 - Um Banco de Dados e um Servidor de RedeA UML e , principalmente, destinada a modelar softwares intensivos,continuados, embora tarnbern intimamente ligada ao fator Hardware,pois de certa forma toda a arquitetura dos equipamentos faz parte daanalise do Sistema a ser modelado, sendo a UML completamente capazde expressar todo 0 Sistema fisicamente, em formatos stand-alone,client-server ou distribufdos.Veja abaixo um exemplo mais completo de uma pequena arquiteturadefinida por meio de 2 Nos:

    Craatod wlth

    nit!ro PDF 'profesdownload the free trial online at nitrcpd

  • 5/9/2018 Uml Passo a Passo

    46/86

    dd ~1Q.s /

    Name: Nos. i l J J t hor. Nog uei ra JRverson: 1. 0Created: 2611 0t2005 08:42:08Updated: 2611 0t2005 0 8:5 1 :1 0

    Serllidor Ballcode Dados

    f . : .,deploy,,a rti fact E J

    CIasseDB .dll

    f . : .,deploy,,a rti fact E J

    Seguranca.dll

    mani1e1V

    Figura 2 - Um Banco de Dados, um Servidor de Rede, seguidos dasaplicacoes

    A

    Alllical;'ao deSegll'iln~a

    8 JRelat9ri os Intemos

    Agora que voce ja tem uma pequena nocao do que sao os Nos na UML,no proximo Artigo vamos abordar os Relacionamentos entre oselementos da UML, que nada mais sao do que as liqacoes existentesentre os elementos estudados ate agora. Vamos cornecar estudando osRelacionamentos do tipo "Generallzacao",

    UML - Unified Modeling Language - Generaliza~aof agrega~aofcornposlcao e dependenclaContinuando com a seria de artigos vamos conhecer um pouco maissobre qenerallzacao, aqreqacao, cornposicao e dependencia em UML.

    Craatod wlth

    nit!ro PDF 'profesdownload the free trial online at nitrcpd

  • 5/9/2018 Uml Passo a Passo

    47/86

    Publicado em: 13/02/2006General izac;aoDefinlcaoE a capacidade de se criar superc/asses que encapsulam estrutura e/oucomportamento comuns a varias subclasses.Proced imentosas procedimentos para se obter a qeneralizacao sao: Identificar similaridades de estrutura/comportamento entre varias Classes. Criar a superclasse para encapsular a estrutura/comportamento comum. As classes originais passam a ser subclasses da nova superclasse criada.Uma maneira relativamente facil de se entender isso, e comparando com a nossaheranca qenetica: Voce possui algumas caracterfsticas de seus Pais. Mas seusPais nao possuem suas caracterfsticas. Pois bem, voce seria uma subclasse.Outra maneira de se compreender e entendo 0 conceito de Heranca.HerancaE uma hierarquia de abstracoes na qual uma subclasse herda a estrutura e/oucomportamento de uma ou mais superclasses. Exemplo:

    cd Gener;lliz~n;:fiQ/Name:Author.veraorrCreated:Updated:

    Ge nera Iiza~aoNogueira JR1.010!D2f2006 08:51 :5410 !D2 f2 006 08:5 5:45

    + Peso:+ Comptimento:

    C;lninh.10+ Tonelagem:

    A classe VeiculoTerrestre pode possuir as subclasses Carro e Carnlnhao, ondeas subclasses podem herdar os Atributos Peso e Comprimento.A Classe Carnlnhao pode ter 0 Atributo Tone/agem pr6prio da Classe, herdandoPeso e Comprimento.A Classe Carro pode nao ter nenhum Atributo pr6prio, herdando Peso eComprimento da classe VeiculoTerrestre.Caminhao e uma especie de VefculoTerrestre.Carro e uma especie de VefculoTerrestre.

    Craatod wlth

    nit!ro PDF 'profesdownload the free trial online at nitrcpd

  • 5/9/2018 Uml Passo a Passo

    48/86

    Tipos de HerancaHeranca simples e quando uma subclasse herda estrutura e/ou comportamentode uma unica superclasse.Heranca multipla e quando uma subclasse herda estrutura e/ou comportamentode mais de uma superclasse.IMPORTANTE: Heranca e uma relacao entre Classes de Objetos, e nao umarelacao entre instancia das Classes.Uma subclasse herda:

    Atributos Operacoes Relacionamentos Uma subclasse pode: Adicionar novos atributos, operacoes e relacionamentos. Redefinir operacoes herdadas.Agora que voce ja tem uma pequena nocao do que e um RelacionamentoGeneralizac;ao na UML, vamos abordar 0 Relacionamento Agregac;ao.Agregac;aoDefinlcaoE uma forma especializada de associacao na qual um todo e relacionado comsuas partes. Tambern conhecida como relacao de conteudo,Como representamos uma Agregac;ao?E representada como uma linha de associacao com um diamante junto a Classeagregadora. A multiplicidade e representada da mesma maneira que nasassociacoes, Veja a figura:

    ~------------~------------------------~cd.Agregil~ii(iBas i! !! ;' ! )Name:Author.versonCreated:Updated:

    Ag rega 00 B:i:icaNogueira JR1.01 0 1 0 2 1 2 006 09: 0 4 : 561 0 1 0 2 1 2 0 06 09:11 :30

    MilrinhilO~-------------i

    A Agregac;ao e um caso particular da associacao, indica que uma das classes dorelacionamento e uma parte, ou esta contidaem outra classe. Aspa/avras chavesusadas para identificar uma aqreqacao sao: "consiste em", "contem", "e parte de".Agregac;ao Compartilhada: E dita compartilhada quando uma das classes e umaparte, ou esta contida na outra, mas esta parte pode estar contida na outra variasvezes em um mesmo momento. Veja figura:

    Craatod wlth

    nit!roPDF' profesdownload the free trial online at nitrcpd

  • 5/9/2018 Uml Passo a Passo

    49/86

    Name:Author.versorrCreated:Updated:

    Ag rega 00 Com part i Ihad aNogueira JR1. 01 0 1 0 2 t2 006 09 : 0 4: 561 0 1 0 2 t2 006 09 : 0 6: 22

    Tim::membros

    Agregac;ao Reflexiva: Uma variacao desse tipo de Relacionamento, quando 0Objeto de uma Classe e composto de Objetos da pr6pria Classe. Veja figura:cd .Agrega!;;l(i Simples /

    Name:Author.versorrCreated:Updated:

    Ag rega 00 Sfmpi esNogueira JR1. 01 0 1 0 2 / 2 0 06 0 9 : 0 0 :1 71 0 1 0 2 / 2 0 06 0 9: 0 1 : 2 4

    F(imlJliiriQOeMatri Cl~av - - . . contemr - - - - - -

    Um objeto da Classe FormularioDeRegistro contern um unico objetoFormularioDeMatricula. Um objeto FormularioDeMatricula esta contido numunico objeto FormularioDeRegistro.Agora que voce ja tem uma pequena nocao do que e uma Agregac;ao na UML,vamos abordar os Relacionamentos de composlcao na UML, que nada mais saodo que um tipo de Agregac;ao.composlcaoDefinlcaoE uma agregac;ao onde uma classe que esta contida na outra "vive" e constitui aoutra. Se 0objeto da classe que contern for destrufdo, as classes da aqreqacaode cornposicao serao destrufdas juntamente, ja que as mesmas fazem parte daoutra.Como representamos uma Agregac;ao composlcao?E representada como uma linha de associacao com um diamante preenchidojunto a Classe agregadora. A multiplicidade e representada da mesma maneiraque nas associacoes, Veja as figuras:

    Craatod wlth

    nit!ro PDFprofesdownload the free trial online at nitrcpd

  • 5/9/2018 Uml Passo a Passo

    50/86

    Name:Author.versorrCreated :Updated :

    C ompo: :iy S io S fm p ie sN og ue i ra J R1.010 !D2 f 2006 09:13:451o !D2 f2 006 09:17:49

    Menu

    Jabela

    Te-Jlto

    Veja um exemplo mais completo:liiIi!!!!u:''''I!I~!!I:I~I~ rI_~~1~ICl'I!iill!!EjI:lli(Fl~;r~I;1:

    ~gjjj~g'~if~~Na~!~!!! .~!\HIC511 1&!CCI~ 15 : :1 l1~1~5C511 1&!CCI~ 15 :~21:C l l

    I O:~I. :nOM'. ~ m - . + l b ~ ' bp",! 'iTe'J.. . ,

    _. /ted I~e: I@II!!_litl 1 0 R e'u :: . c! I. a1_. p~rl9(IIGI!lIa!lp: ~II~II..... ~~~l~tk~I'~':!j)!iIt, o i ) Q UI ! t . l ! 1(i:IO~!! tO :I;!,! ~I) : w o I~ '. ' ~ ~9 ~1f.~~ : ~Ol!!+ ~P!!~ rl!l;~~I~! ; . '!. "I~ ~~! :!! ~ ~~'Q1iI

    l !. I II a l ;: m l l1 ' l8 ~ o o m t lD l l < it I m '~O. tllrm,~~ Art~,~I;,+ UIin~I!!i~' I IQ, 0 . '1 (1 . .~III!fO:1tIf '" II < l ~ ~. !!~ 111n,~ i61;!~.

    .,f,.,"

    ",",. '.

    ,",, I . .

  • 5/9/2018 Uml Passo a Passo

    51/86

    composlcao na UML, vamos abordar os Relacionamentos de Dependencia.

    DependenciaDefinlcaoUma dependencla indica a ocorrencia de um relacionamento sementicc entredo is ou mais elementos do modelo, onde uma classe cliente e dependente dealguns services da classe fornecedora, mas nao tem uma depend encia estruturalinterna com esse fornecedor [Furlan, 1998]Como funciona?Por exemplo: Uma rnudanca no elemento independente ira afetar 0modelodependente. Como no caso anterior com generalizac;6es, os modelos deelementos podem ser uma classe, um pacote, um use-case e assim por diante.Na PratlcaQuando uma classe recebe um objeto de outra classe como pararnetro, umaclasse acessa 0objeto global da outra. Nesse caso existe uma dependencia entreestas duas classes, apesar de nao ser explfcita.GraficamenteUma relacao de dependencia e simbolizada por uma linha tracejada com umaseta no final de um dos lados do relacionamento. E sobre essa linha 0 tipo dedependencia que existe entre as duas classes. Veja a figura:

    cd Dependencia JName: De pen den ciaAlJtho r: No glJe ira J RVersion: 1.0Created: 10102/200509 :22:13Updated: 10102/200509 :22:53

    Pessoaiste rna

    Agora que voce ja tem uma pequena nocao do que e uma Dependencia na UML,vamos abordar os Esteri6tipos na UML.'====::::::!Jr--------- ---~'====::::::!J

    UML - Unified Modeling Language - Esteriotipo Include,Esteriotipo Extend, Esteriotipo RealizeContinuando com a seria de artigos vamos conhecer um pouco maissobre esteriotipos.Publicado em: 27/03/2006

    Craatod wlth

    nit!ro PDFprofesdownload the free trial online at nitrcpd

  • 5/9/2018 Uml Passo a Passo

    52/86

    Esteriotipo IncludeDefini~ao de EsteriotipoEntenda Esteriotipo como sendo uma especialidade de .umRelacionamento.Defini~ao de IncludeEssa notacao e usada para representar sub-fluxos complexos e comunsa varies casos de usa, sempre usados, isto e , necessarios.Na Pnlticao caso de usa "inclufdo" e referenciado no fluxo do caso de usa"incluidor". Imagine isso como uma situacao que ocorre sempre quandouma outra situacao tarnbern ocorre. 0 caso de usa A inclui 0 caso deusa B quando B representa uma atividade complexa, comum a variescasos de uso.ExemploNa Figura abaixo, "Checar Senha" representa um comportamentocomum a "Sacar Dinheiro" e "Realizar Transferencia". Veja:

    ue l IncludeName: IndudeAuthor. Nogueira JRversorr 1. 0C r e a t ed: 0 71 D3 /2 00 6 1 0 : 3 1: 3 4Updated: 0 71 D3 /2 00 6 1 0 : 3 3: 3 0

    SilC ar Dinllein:!

    include ' '4 (( ind udet:Chet;iI r Senllil

    Agora que voce ja tem uma pequena nocao do que e um EsteriotipoInclude na UML, no proximo Artigo vamos abordar 0 Esteriotipo Extend.

    Craatod wlth

    nit!ro PDF 'profesdownload the free trial online at nitrcpd

  • 5/9/2018 Uml Passo a Passo

    53/86

    Esteriotipo ExtendDefini~aoEssa notacao e usada para representar sub-fluxos complexos e comunsa varies casos de usa, usados eventualmente, isto e , facultativos.Na Pnlticao caso de usa "extendido" e referenciado no fluxo do caso de usa"principal". Imagine isso como uma situacao que pode ocorrer quandouma outra situacao tarnbern ocorre. 0 caso de usa B estende 0 caso deusa A, apenas quando necessario.ExemploNa Figura abaixo, "Realizar Primeiro Deposito" representa umcomportamento facultativo a "Abrir Conta Corrente". Veja:ud Extend

    Name: ExtendAutho r: No guei ra JRVersion: 1.0Create d: 0710312006 10:39:56Updated: 0710312006 10:42:29

    . A . b ri r Conta Cor rent e ~ - - - - - - - - - - - -extendRealiz:ar Pri mei ro

    Deposito

    IMPORTANTE: A ponta da seta sempre esta para 0 lado do objeto querecebe a funcionalidade estendida.Agora que voce ja tem uma pequena nocao do que e um EsteriotipoExtend na UML, no proximo Artigo vamos abordar 0 Esteriotipo Realize.Esteriotipo Realize

    Defini~aoEste Esteriotipo e muito usado para definir uma Reallzacao, quandotipicamente um Caso de Uso realiza um Requisito.ExemploVeja abaixo um exemplo de um Caso de Uso realizando um Requisito:

    Craatod wlth

    nit!ro PDF 'profesdownload the free trial online at nitrcpd

  • 5/9/2018 Uml Passo a Passo

    54/86

    o Acssw aoSis:em a deve serControl ado.

    lid Reillize

    Name:Author.versorrCreated:Updated:

    RealizeNogueira JR1.00 7 !D 3 /2 0 0 6 1 0: 43: 2 60 7 !D 3 /2 0 0 6 1 0 : 4 5: 3 1

    ~------ ---------- --{>realize

    Agora que voce ja tem uma pequena nocao do que e um EsteriotipoRealize na UML, no proximo Artigo vamos abordar 0 Esteriotipo Table.

    UML - Unified Modeling Language - Esteriotipo Table, EsteriotipoCall, Esteriotipo CreateContinuando com a seria de artigos vamos conhecer um pouco maissobre esteriotipos.Publicado em: 19/05/2006Esteriotipo TableDefini~aoEste Esteriotipo e simplesmente uma classe com caracterlsticas de umaentidade de banco de dados, onde os atributos fazem 0 papel doscampos da Tabela, e as operacoes sao as Triggers e Indices.ExemploVeja abaixo um exemplo de Table. Repare que os Atributos (campos)possuem seus tipos de dados, e alguns sao marcados como chavesprimarias ou chaves estrangeiras:

    Craatod wlth

    nit!ro PDF 'profesdownload the free trial online at nitrcpd

  • 5/9/2018 Uml Passo a Passo

    55/86

    cd Tallie /

    Name:Author.versorrCreated:Updated:

    TableNogueira JR1.0231031200612 : 17 : 15231031200612 : 22 : 00

    ~IiJie!"te'P K col um n Cod i go: NUMBE R(8)

    col um n Nom e: VARCHAR(5 0)colum n Tele1one: VARCHAR(15)colum n CodigoT ipo: NUMBER(8)

    + FK FK_Codi goT ipo(NUM BER)+ PK PK_Cliente(NUMBER)+ u ni qu e UQ_ Cod i go(NUM BER)

    ~

    +Codi goT ipo 1 .'

    +UQ_CodigoC l ie n te li 1 1'0

    'PK colum n Codigo: NUM BE R(8)col umn De~Bt ica0: VARC HAR (50)

    + PK PK_ClienteT ipo(NUM BER)+ unique UQ_Codigo(NUMBER)

    Neste caso ainda existe uma chave estrangeira [CodigoTipo] na Tabela[Cliente], que corresponde ao Tipo do Cliente, onde cada um dosClientes pode ser de um Tipo apenas, e cada Tipo pode ser usado porvarios Clientes.Esteriotipo CallDefini~aoEste Esteriotipo especifica que a operacao de origem chama a operacaode destino.ExemploVeja abaixo um exemplo de Call. Veja 0 sentido da seta noRelacionamento:

    Craatod wlth

    nit!ro PDF 'p ro fe sdownload the f ree t rial onl ine at nitrcpd

  • 5/9/2018 Uml Passo a Passo

    56/86

    sdCall )clsPrinci!l1l1

    executaCada:5lro ...

    Neste exemplo a Classe clsPrincipal do Projeto "chama" a operacao"abrirTela" nela mesma. Logo depois a Classe clsPrincipal "chama" aoperacao "executaCadastro" dentro de uma outra Classe do Projetochamada "clsModulo". Este tipo de diagrama nos vamos estudar mais afrente, a ideia aqui e exemplificar 0 estertotipo Call.Esteriotipo CreateDefini~aoEste Esteriotipo especifica que 0 objeto destino e criado, pelo evento oupela mensagem, do objeto origem.ExemploVeja abaixo um exemplo do Create:

    Craatod wlth

    nit!ro PDF 'profesdownload the free trial online at nitrcpd

  • 5/9/2018 Uml Passo a Passo

    57/86

    ~ - - - - - - '~ ~ ~ ~ : :~ : : : : ~ : l _ _ _ ~ - - - - - ; - : _ ____J

    X

    clsModulo

    sdcreate)

    Name: CreateAuthor: Nogueira JRVersion: 1.0Create d: 0710512005 18:40: 13Update d: 0710512005 18:42:47

    c:lsPrinc:ipal

    Neste exemplo a Classe clsPrincipal "cria" 0 objeto da Classe clsModulo,abre a tela, e "chama" a operacao "executaCadastro" dentro da Classecriada. Este tipo de diagrama nos vamos estudar mais a frente, a ideiaaqui e exemplificar 0 esteriotipo Create.Agora que voce ja tem uma pequena nocao do que e um EsteriotipoCreate na UML, no proximo Artigo vamos abordar Diagramas, iniciandopelo Diagrama de Atividade.

    A lmportancla do Modelagem de Objetos no Desenvolvimento deSistemasEste artigo tem como objetivo expor a irnportancia da modelagem naproducao de um software. Inicialmente sao mostradas as vantagens dautillzacao de modelos para um sistema e os problemas que podemocorrer quando nao e realizada nenhuma modelagem ou quando seutiliza modelagem incorreta. Depois, 0 artigo apresenta a tecnica damodelagem baseada em objetos e a relevancia de sua utlllzacao.Publicado em: 27/04/2007Compartilhe1. INTRODUC;AOPara se construir uma casa ou um predio de qualidade, e essencial fazerum planejamento detalhado, com a finalidade de pensar sobre asformas de construcao, fazer estimativas de tempo e material nara a

    Craatod wlth

    nit!ro PDF 'profesdownload the free trial online at nitrcpd

  • 5/9/2018 Uml Passo a Passo

    58/86

    realizacao desse projeto.o desenvolvimento de um software de qualidade e semelhante a esteprocesso, pois tarnbern se trata de uma questao de arquitetura eferramentas.Softwares malsucedidos tern falhas espedficas de cada um, mas todosos projetos bem-sucedidos sao semelhantes em diversos aspectos. Umdos elementos que contribuem para 0 sucesso de um software e autillzacao da modelagem.Para fazer bons modelos deve-se utilizar uma linguagem de modelagemque seja dotada de diagramas que permitam a representacao desistemas simples ou complexos sob as diferentes visoes, pois issofacilita 0 entendimento e padroniza a cornunicacao e a orqanlzacao doproblema.Este artigo apresenta uma abordagem sobre a irnportancia damodelagem de objetos em um projeto de software.2.ABSTRA

  • 5/9/2018 Uml Passo a Passo

    59/86

    Mesmo que nao se utilize uma modelagem formal para desenvolver umsoftware, sempre e feito algum tipo de modelo, mesmo que de maneiramuito informal. Pore rn , esses modelos informais nao oferecem umalinguagem que pode ser compreendida por outras pessoas facilmente.No setor de softwares comerciais, muitas vezes os programas saoinadequados para a empresa e nao atendem as necessidades dosusuaries, devido a produtividade e facilidade oferecidas pelaslinguagens de proqrarnacao visual, e quanto mais complexo for 0sistema, maior sera a probabilidade de ocorrencia de erros, no caso deter sido feito sem nenhum tipo de modelagem.Na construcao de um sistema simples, inicialmente a modelagem podenao ser tao necessaria, mas a tendencia de um sistema funcional e queele se torne mais complexo ao longo do tempo, precisando deatuallzacao e aperfeicoamento. Portanto, a medida que 0 sistemaevoluir e nao houver nenhuma docurnentacao com a modelagem, 0trabalho sera muito maior e ainda com 0 risco de ter um sistema mal-sucedido.Qualquer projeto sera beneficiado pelo uso de algum tipo demodelagem. Os modelos auxiliam a equipe a ter uma visao maisabrangente do funcionamento do sistema, e assim, desenvolve-lo deforma mais rapida e correta.4. A MODELAGEM IDEALQualquer sistema precisa de algum tipo de modelagem. Mas deve-seescolher um tipo de modelagem que seja correto para 0 sistema.Quando os modelos sao adequados para 0 software que esta sendodesenvolvido, os problemas sao resolvidos mais claramente, masquando se escolhe um modelo errado, ao inves de ajudar, ele podecomplicar ainda mais 0 problema, causando confus6es e desviando aatencao para detalhes que nao sao importantes para aquela situacao.Em qualquer situacao, os melhores modelos sao aqueles que permitemescolher 0 grau de detalhamento. Dependendo do sistema, um modeloque mostra a interacao com 0 usuario, de execucao rapida e simples,pode ser 0 ideal, mas, em outros casos, sera necessario retornar anfveis mais baixos, como ao especificar interfaces para variasplataformas ou quando 0 sistema se depara com congestionamentos emuma rede.

    Craatod wlth

    nit!ro PDF 'profesdownload the free trial online at nitrcpd

  • 5/9/2018 Uml Passo a Passo

    60/86

    s . DIFERENTES VISOESUm sistema pode ser analisado sob diferentes perspectivas, de acordocom a visao de quem vai realizar a analise.Um desenvolvedor de banco de dados tem uma perspectiva direcionadaa modelos de relacionamento entre entidades e tabelas, dando enfase aprocedimentos de armazenamento e eventos que os iniciam.Na perspectiva de um profissional de analise estruturada, 0 foco seranos algoritmos, com 0 respectivo fluxo de dados de um processo paraoutro.Se um sistema e construfdo a partir da perspectiva de umdesenvolvedor orientado a objetos, provavelmente a arquitetura seracentrada na interacao entre classes e como essas classes funcionam emconjunto. Os conceitos baseados em objetos sao os que resultam emarquiteturas mais flexfveis porque podem ser aplicados durante todo 0ciclo de vida do sistema, desde a analise ate 0 projeto e alrnplernentacao. As mesmas classes podem ser conservadas em todasas etapas, sem modificacoes, embora possam receber detalhesadicionais nas etapas finais.6. A TECNICA DE MODELAGEM DE OBJETOSA tecnica de modelagem de objetos e uma metodologia que combinatres tipos de modelos para descrever um sistema: modelo de objetos,modelo dinarnico e modelo funcional. Sao modelos a partir dos trespontos de vista mostrados anteriormente, que sao relacionados, masdiferentes entes si, cada um abrange importantes aspectos do sistema,mas todos sao necessaries para uma descricao completa.6.1 MODELO DE OBJETOSo modelo de objetos descreve a estrutura estatica de um sistema, istoe, a estrutura de seus objetos e os relacionamentos existentes entreeles em um determinado instante de tempo, os atributos e as operacoesque caracterizam cada classe de objetos.Este e 0 mais importante dos tres modelos porque e 0 que melhorrepresenta a realidade, sendo mais adaptavel as modlficacoes.Os modelos baseados em objetos apresentam uma intuitivarepresentacao qrafica e sao uteis para a cornunicacao com os clientes e

    Craatod wlth

    nit!ro PDF 'profesdownload the free trial online at nitrcpd

  • 5/9/2018 Uml Passo a Passo

    61/86

    para a docurnentacao da estrutura do sistema.Exemplo de um modelo de objetos representado por um diagrama declasses:

    N i I l l : n i I , e d a . C Ia s se/

    i li lldLJIirI~IlfnPOOidoO,caltl,lliall'rQta1PedJdo()

    liteml d e Ped lid oI

    ood[goDo?rodu~oqU

  • 5/9/2018 Uml Passo a Passo

    62/86

    I~~~~. .Peddo ~tilce~do

    Componentes:

    Nomedo Estado

    .~~~~ .. . . . . . T ransieao (Evento) Estado Inieia]@ Estado Final

    6.3. MODELO FUNCIONALo modelo funcional abrange 0 que um sistema faz e mostra como osvalores de safda de um processamento derivam do processo de entrada,independente da ordem em que os valores sao processados.E representado graficamente por meio do diagrama de fluxo de dados(DFD), que mostra 0 relacionamento funcional entre dados em umsistema, incluindo-se valores de entrada e safda e depositos internos dedados.

    Craatod wlth

    nit!ro PDF 'profesdownload the free trial online at nitrcpd

  • 5/9/2018 Uml Passo a Passo

    63/86

    Exemplo de um diagrama de fluxo de dados:Arh 'h i ll l d l l' .E s s e~ l !~ i~ [1(rei:.lll~l3.e30 de umaIt3~{lm l ' : - s p l l ! c i f r i i e a J

    / C . ... pedidos~. ~_l"'o(dO \Deposito de Dadostuxo de Dodos

    7. CONCLUSAOOs modelos sao construfdos para compreender melhor 0 sistema queesta sendo desenvolvido.A escolha dos modelos tem profunda influencia sobre como umasituacao e resolvida, pois a modelagem tem que ser adequada para 0sistema.Nenhum modelo unico e suficiente. Um sistema pode ser analisado sobdiferentes perspectivas.A tecnica de modelagem baseada em objetos e uma cornbinacao de tresmodelos, a partir de tres pontos de vistas, que podem ser estudadosseparadamente, mas que funcionam em conjunto, por isso, proporcionamelhor entendimento dos requisitos, projetos menos complicados esistemas de rnanutencao mais facil.8. REFERENCIAS[1] BOOCH, Grady; RUMBAUGH, James; JACOBSON, Ivar. UML, guia dousuario, Rio de Janeiro: Campus, 2000.[2] RUMBAUGH, James; BLAHA, Michael; PREMERLANI, William; EDDY,Frederick; LORENSEN, William. Modelagem e Projetos Baseados em

    Craatod wlth

    nit!ro PDF 'profesdownload the free trial online at nitrcpd

  • 5/9/2018 Uml Passo a Passo

    64/86

    Objetos. Rio de Janeiro: Campus, 1994.[3] FURLAN, Jose Davi. Modelagem de Objetos atraves da UML. SaoPaulo: Makron Books, 1998.

    Aprenda a construir seus codlqos a partir de modelos UML, como Visio 2003 / Visual Studio 2003 ArchitetAtraves deste artigo pretendo demonstrar como ficou tacil gerar os seuscodiqos atraves de um modelo UML.Publicado em: 04/02/2004Atraves deste artigo pretendo demonstrar como ficou tacil gerar os seuscodiqos atraves de um modelo UML. Uma vez que voce tiver com seumodelo no Visio Architet, a versao que vem com 0 Visual Studio 2003sera so escolher a linguagem desejada e ele se encarreqara de escreveros codiqos necessaries. Atualmente e possfvel gerar codiqos para C#,VB e C++.Vamos ver como isso funciona na pratica, passo a passo. Cornecarernoscriando um diagrama de Classe simples e em seguida veremos 0 codiqoque sera gerado.Primeiramente, criaremos uma classe chamada EMPREGADO, com osseguintes campos: ID, Nome, Sexo, DataNasc, Salario, Funcao, etc .

    . .!:! 'II ~t"I- 1""""" ~=-P'P"!"'~[]~IiiI ... L.I~L".;:"N.II=.5:"-~ ...... -d jJ -

    = - ! " '! ! ! I - " " ' : : . ~ - : - - : - - , - , _ _ -_ - _ - . - _ - _ - _ - _ - _ - _ ~ ~ :~ . :.~ - ~~i~:~'] 0 0 [!] ~, ~ n . = -b~1!~-=H D-~ikI~ ."..~ ! 1 ~1 " t":l"~_P.F. ----~ . """""_e~- I [] ~ ~ I j ~~ : -

    c........:....,._..__c : : = = = = = = = = = : : : : - : : " : : : ' - , = , - - " ' - : , , _. .-Abra 0 Visio, escolhendo 0 tipo do diagrama ou atraves do menu:File-> New-> Software-> UML Model Diagram.

    Craatod wlth

    nit!ro PDF 'profesdownload the free trial online at nitrcpd

  • 5/9/2018 Uml Passo a Passo

    65/86

    Tela Inicial de um documento do Visio.

    Click com 0 botao direito sobre Top Package, no Model Explore e Altereo Nome do pacote para RH.UlMI! .S~telil l l

    f;l@. lll :3ta:ic MIlddl~~\1(1~ 'CJ C t ~~~s."~Hf:I Cr~~~~~i:.1~ . f J1D L~" \,18[.0:-------! : i fOPB~~ie.s. ,

    Em seguida arraste um Shapes classe para 0 diagrama, e de duploclick nele. Sera apresentada a Janela de propriedades da classe. DigiteEMPREGADO, no campo Name.

    Craatod wlth

    nit!ro PDF 'profesdownload the free trial online at nitrcpd

  • 5/9/2018 Uml Passo a Passo

    66/86

    ~mDmmcm~~nr~--~------~~~--~~~'l-io i):II: l' l I < ~ U i ! ! ~ I ; ! o ! > " . . . . ~

    ( ) - ~ ! R I e t!t I l I \ IA ~ J; I t: ! ~ 4 .., - '"- '$.@ I ! J . - - " - A-0 - /- Q- ,- - C i) Ii J lI' ., ~~ ~. ,",. {\>. = = . = . ' I 5 l '

    a...,.:>~~~""'-r~j~~F~.:..~~r~~."COO< '~~r~C

    Podemos agora verificar como flcara a classe gerada, apesar de queainda temos muito trabalho pela frente. Escolha Code GenerationOptions, e escolha a linguagem desejada, exemplo C#, e clique nobotao preview code.

    Craatod wlth

    nit!ro PDF 'profesdownload the free trial online at nitrcpd

  • 5/9/2018 Uml Passo a Passo

    67/86

    Cla95A ' t ,t r i " m J t 8 SClper E:m~:t'Ii!Package, informe System no campo Name.

    Craatod wlth

    nit!ro PDF 'profesdownload the free trial online at nitrcpd

  • 5/9/2018 Uml Passo a Passo

    68/86

    Q--x--"'L:i--........-----1,JI E!! I! I~ !i !: "Id~ I~~ . . , --

    ~ill:"'''''~-.!l>mJ~

    Agora facarnos 0 seguinte, selecione 0 novo pacote System, e com 0botao direito escolha New->DataType. Na caixa de Propriedades nocampo name digite DateTime.

    ~I

    ~ill:"'''''~-.!l>mJ~

    Agora retornamos a classe Empregado, de um duplo click para mostrara caixa de propriedades, adicione um novo atributo DataNasc, e vocevera que agora sera possfvel selecionar 0 novo tipo System: :DateTime.

    ~I

    Craatod wlth

    nit!ro PDF 'profesdownload the free trial online at nitrcpd

  • 5/9/2018 Uml Passo a Passo

    69/86

    c l i ! i ' l S0 1 > : l ' i . t l : n r u ! Q ;Opara~bn>l{8ooptlJ rG'l'cmDM~POT,~t=O:;Omr,Qn;n~CQii!tt'~n~~lT~gg,e~~

  • 5/9/2018 Uml Passo a Passo

    70/86

    g.m.K~oi>~~~M< \_M . l?u...,.l:&-,~rl

  • 5/9/2018 Uml Passo a Passo

    71/86

    . .

    1

    1l:!,: ing 8y!:;:!: !:I!], ~pu~',l,iit; ",~",,,t.. :Etnp~eg,,

  • 5/9/2018 Uml Passo a Passo

    72/86

    1 , I ! ! t = J . l ~ ~B-'i:.~"';II.;:".[~~:;-:;::JO In1pJNli:'rt'& .:i : ~ :: . t 'U1KU~lJ I l ' d " " "1l i i o ( :' ,: Ii :l "Q J 5. ; ;; r o @~T..j,'I~tf.;:,:jt:'Liljl.l1~ 'i:I:U::B;S ~ 1 D . " P . : N ' { i 0 i . . : J , ;: .(

    II r.::li"!":-::!:l'~~IU:C:r .- : .: : : .tr : !J !: .: ' ~n p.!Ir.!ll (:0 fl:'.."ii :,:ioll:":JI :(i.:!I I[ J.1 . .." "' ~ .1uJt 1 [1 ;1/ ~*~ {( : ~ . : :,o~.,.::: : : n ' . p o .t1,?".I~ Qn.1..!.'-",);I[.1..;I!I;.~, !:=!f3t.(;1Il ~(:'['i'u ~i;;U..lL'!.~.i

    II ~"JJ'!!!.!.'1t; {(~ ~lIJ'~~.-:I!9pE'.1... ; J ; ! : - < J , .;lloo.i!It:IIl 'E=~l~do.iIi ~..I:(lr.l:':[~.;I:, (1! ~ - I !I ~ ~ " " ~ ~ ~'iiru:n~ (I 1,j1ffi:ii.H",(Q.!.;IQ.r . ; : 1 \ . 1 ~11!!~.t1)])""U wt IDI

    ,>,,"(

    I// ~.1' .....p.t'l~i iI-=hi i dk CJi ii :i i.5" Il!-"" .L~!f!.t',fiil 1 i I -::i'iiil~ ~hi! i::I..iii:io::J:liiont.;:. c! ; . ' i . ~ ~ , , ~ . : i ' J : o~111!:::Jl.i;:: ~.t+'J':i.~ ~.!::~IIZC'I

    Vamos criar um metoda para efetuar a alteracao do Salario doempregado, para isso adicionaremos um novo metoda chamadoAlterarSalario.

    Q!

  • 5/9/2018 Uml Passo a Passo

    73/86

    ~~ i&Ic .-ClIff.BiOSpedirulonMe:hod';'P;,,~'noiloooopl:_'~~iiJ:lP,Ii'Mi'*IIIt'~,~ojji.,.~~~coo.,

    0 0 " " . . ,~lII :oJ :""9M

  • 5/9/2018 Uml Passo a Passo

    74/86

    if Propri.edade d la Classe que ret.orna a d.: t.,;;. de nasciJ(J28'.nto do EilJpregadopub;Uoc' D,e1;:,~'R.imo;:, ~1;~UO!:~c

    II lProp.r"ied'

  • 5/9/2018 Uml Passo a Passo

    75/86

    D ~" ' I~8ela~':MCIIT'OiI Ijll; +! P( Ii 1 "1 ib[l.ml'!J"~): o,,"'Tim~ t:- - - li l SB \a~" ,O : iSed 'IIBlI.. . .. - - --r----k"'JLer;!r'891oJOOC~ V< l !Qj " ; 'd \gc lmD!~- - - -= - - r- ~ - -- - __ _ _: ~ ~ . -~ - - -- - ~ -- - -- -i :! !

    ! i~ - - - - t

    .-----~, --~------~-----,----------~:_.-iiil l! !.L._ :tk.!;~'"51itn:stl;fll.--

    ~s",I l1tgrti!C~..,~t

  • 5/9/2018 Uml Passo a Passo

    76/86

    I ,i--.____:

    ,1i, ~ ( I : ! I O ! t i O J ' . . 1~,I

    Defina 0 tipo de retorno das operacoes Nome, CPF e RG para String.Altere tarnbem 0 tipo das operacoes para Property, e defina comoleitura e qravacao, marcando os dois checkbox, para criar os rnetodosGet e Set, faca isso para todas as operacoes, nao esquecendo deconfirmar com OK, pois somente sera gerado 0 codiqo apos aconfirmacao.

    ! > 1 J ! I ~ jP,Ulp8r,tvR : Q"'~ t:~~~

    O ;; :i Gt' '''~ _C ftt~ ,- -- --- -- -- -~~911 j< :'d~ fa it>

    Veja como ficou 0 codiqo gerado. Observe que no codiqo nao ha a umaimplementacao para os rnetodos Get e Set, pois isso sera feito na classeque usara esta interface.

    Craatod wlth

    nit!ro PDF 'profesdownload the free trial online at nitrcpd

  • 5/9/2018 Uml Passo a Passo

    77/86

    Vamos vincular a interface pessoa a classe empregado. Selecione ainterface no diagrama, e com 0 botao direito do mouse, escolha a opcaoShow as lolipop Interface, voce obtera 0 seguinte resultado:

    II Int~i :'t 'dce .N, '8SD-S', clo&~1ue D C

  • 5/9/2018 Uml Passo a Passo

    78/86

    i i, , i.. 1 1 - ' " : - - . - ; - - _ . . , " , . . , . . . I

    Slll.,io:: eem,,,1" - t - - - - - ! - - - - - - - - - r - - - - - - rD .t:ItBN~SG : 1D .t!U :!.Jil~ -: : i I[)(~~fil t l - ~ - - - - ~ - - - - - - - - ~ - - - - - - -S41i!!~) : .de~I",a..1..., . l-: : :!).]r..l!N"sr,(~; !)i)!~Timc d !1 - ~ - -- - -- f - -- - -- - f -- - -- - -- - -- - -- - ~ ~ ~ : ' ~ ~ ~ ~ ~ -~ ~ ~ ' - ~ ;- ~ ~ ~ 1 _ ~ ~ -~ ~ t ~ ~ ~ ~ - - -! ! ! i ! ! - r - - - - - - r - - - ---:----------:----'------------r - r - - - : - - - - - -: " " ' " ~ g " 1 J i i . e - t ! ; : :+ - - - - ~ 1 - - - ~ - - _ + - - - - -- - - - -- - - - - :- - - - - -- - - - -- - - - -! - - - ~ - - - ~ !- -Observe que a interface e representada pelo Shapes na forma de umpirulito.Click, no pirulito e arraste para a classe empregado, ate que 0 objetofique conforme a figura abaixo:

    iDH~llin_ _ _ __ '~[); deelfllal+ID~ta.N

  • 5/9/2018 Uml Passo a Passo

    79/86

    1"11l1~ . ,f'~31S~t.k: a r .~_"~'ilbli[] :!:i,t:rirl,g C,W'~

    ,'-!

    Definiremos agora os outros tipos de dados: Sexo, Endereco e Telefone.Primeiro vamos criar um enurneracao para sexo, faca isso selecionandoRH, e com 0 botao direito do mouse esco