5.UML

download 5.UML

of 42

Transcript of 5.UML

  • 7/23/2019 5.UML

    1/42

    Curso de EspecializaoDEINF - UFMA

    Desenvolvimento Orientado a Objetos

    Prof. Geraldo Braz Junior

    UML (Unified Modelling Language)

    Referncias: Booch, G. et al. The Unified Modeling Language User GuideMedeiros, E. Desenvolvendo Software com UML 2.0: Definitivo, Makron Books, 2006.

    Sommerville, I. Engenharia de Software, 8 edio, 2007.

  • 7/23/2019 5.UML

    2/42

    Introduo uma linguagem para especificao,

    construo, visualizao e documentao deartefatos de um sistema de software

    mantida pelo Object Management Group(OMG), com contribuies e direitos deautoria das seguintes empresas: Hewlett-Packard, IBM, ICON Computing, i-Logix,IntelliCorp, Electronic Data Services,

    Microsoft, ObjecTime, Oracle, Platinum,Ptech,Rational, Reich, Softeam, Sterling, Taskon A/Se Unisys.

    2

  • 7/23/2019 5.UML

    3/42

    Introduo A nfase da UML na definio de uma linguagem de

    modelagem padro, e por conseguinte, a UML independente das linguagens de programao, dasferramentas CASE, bem como dos processos de

    desenvolvimento. O objetivo da UML que, dependendo do tipo de

    projeto, da ferramenta de suporte, ou da organizaoenvolvida, devem ser adotados diferentes

    processos/metodologias, mantendo-se contudo autilizao da mesma linguagem de modelagem.

    3

  • 7/23/2019 5.UML

    4/42

    Introduo A UML usada no desenvolvimento dos mais diversostipos de sistemas. Ela abrange sempre qualquer caracterstica de um

    sistema em um de seus diagramas

    Aplicada em diferentes fases do desenvolvimento deum sistema, desde a especificao da anlise derequisitos at a finalizao com a fase de testes.

    O objetivo da UML descrever qualquer tipo de

    sistema, em termos de diagramas orientado aobjetos.

    4

  • 7/23/2019 5.UML

    5/42

    Introduo

    Vantagem a unificao de todas as notaesanteriores

    5

  • 7/23/2019 5.UML

    6/42

    Introduo

    UMLBOOCH OMT

    OOSE

    Diagrama de Estados Diagrama de Objetos(Colaborao)

    Diagrama de Processo(Desenvolvimento)

    Diagrama de Mdulos

    (Componentes) Use Case Subsistemas (Package) Diagrama de Interaes MiniEspecificao

    Diagrama de Estados Diagrama de Classes

    6

  • 7/23/2019 5.UML

    7/42

    A UML no

    um processo uma metodologia

    Anlise e Projeto OO regras de projeto Linguagem de Programao

    7

  • 7/23/2019 5.UML

    8/42

    Introduo UML uma linguagem padro da OMG para

    Visualizao, Especificao, Construo e Documentao de software orientado a objetos.

    8

  • 7/23/2019 5.UML

    9/42

  • 7/23/2019 5.UML

    10/42

    Especificao uma ferramenta poderosa para a especificao

    de diferentes aspectos arquiteturais e de uso deum sistema.

    10

  • 7/23/2019 5.UML

    11/42

    Construo

    Gerao automtica de cdigo a partir do modelovisual

    Gerao do modelo visual a partir do cdigoAmbientes de desenvolvimento de software atuais

    permitem: movimentaes em ambos sentidos e

    manuteno da consistncia entre as duas vises.

    11

  • 7/23/2019 5.UML

    12/42

    Documentao Pode incluir artefatos como:

    Deliverables (documentos como especificaode requisitos, especificaes funcionais, planosde teste, etc.).

    Materiais que so importantes para controlar,medir, e refletir sobre um sistema durante o seudesenvolvimento e implantao.

    12

  • 7/23/2019 5.UML

    13/42

  • 7/23/2019 5.UML

    14/42

    Razes para Modelar Comunicar a estrutura e o comportamento desejado

    de um sistema. Visualizar e controlar a arquitetura de um sistema. Para melhorar o nosso entendimento de um sistema

    e, assim, expor oportunidades para melhorias ereutilizao. Para administrar os riscos A UML permite modelar:

    Elementos; Relacionamentos; Mecanismos de extensibilidade; Diagramas

    14

  • 7/23/2019 5.UML

    15/42

    Algumas aplicaes

    Sistemas de informaes corporativos Servios bancrios e financeiros Telecomunicaes

    Transportes Defesa/espao areoVendas de varejo Eletrnica mdica Cientficos Servios distribudos baseados na Web

    15

  • 7/23/2019 5.UML

    16/42

    Elementos da UMLPara formar um modelo conceitual da linguagem

    necessrio aprender trs elementos principais

    Blocos de construo Regras que determinam como esses blocos

    podero ser combinados Mecanismos comuns aplicados na UML

    16

  • 7/23/2019 5.UML

    17/42

    Blocos de Construo Trs tipos:

    Itens: so abstraes Relacionamentos: os relacionamentos reunem

    esses itens

    Diagramas: agrupam colees interessantes deitem

    17

  • 7/23/2019 5.UML

    18/42

    Itens da UML Estruturais Comportamentais De agrupamento

    Anotacionais

    18

  • 7/23/2019 5.UML

    19/42

    Itens estruturais

    So os substantivos dos modelos. So a parteesttica, representando elementos conceituais oufsicos

    Sete tipos: classes, interfaces, colaboraes, casos deuso, classes ativas, componentes e ns

    Classe

    orderForm.java

    Componente

    Servidor

    N19

  • 7/23/2019 5.UML

    20/42

    Itens comportamentais Representam as partes dinmicas dos modelos. So

    os verbos, representando comportamentos no tempoe no espao

    Dois tipos: interao e mquina de estado

    exibir

    Mensagem

    Aguardando

    Estado

    20

  • 7/23/2019 5.UML

    21/42

    Itens de agrupamento So as partes organizacionais dos modelos de UML.

    So os blocos em que os modelos podem serdecompostos pacotes

    Um pacote um mecanismo de propsito geral para a

    organizao de elementos em grupos

    Regras de

    negcios

    Pacote

    21

  • 7/23/2019 5.UML

    22/42

    Itens anotacionais Partes explicativas dos modelos UML. So

    comentrios, includos para descrever, esclarecer efazer alguma observao importante sobre qualquerelemento do modelo - notas

    Nota

    Retornar cpia

    22

  • 7/23/2019 5.UML

    23/42

    Relacionamentos DependnciaAssociao Generalizao

    Realizao

    23

  • 7/23/2019 5.UML

    24/42

  • 7/23/2019 5.UML

    25/42

    Associao um relacionamento estrutural que descreve

    um conjunto de ligaes, em que as ligaesso conexes entre objetos

    Pessoa Departamento

    11..*

    +funcionario+emprega

    11..*

    associao

    25

  • 7/23/2019 5.UML

    26/42

    (Agregao)A agregao um tipo especial de associao

    representando um relacionamento estruturalentre o todo e sua parte

    Departamento

    1

    *

    Empresa

    todo

    parte

    agregao

    26

  • 7/23/2019 5.UML

    27/42

    Generalizao um relacionamento de especializao/generalizao,

    nos quais os objetos dos elementos especializados (osfilhos) so substituveis por objetos do elementogeneralizado (os pais)

    Pessoa

    Aluno Professor Funcionario

    27

  • 7/23/2019 5.UML

    28/42

    Realizao um relacionamento semntico entre classificadores,

    em que um classificador especifica um contrato queoutro classificador garante executar

    Regras de

    contabilidadeAgente da Regra

    >

    realizao

    28

  • 7/23/2019 5.UML

    29/42

    Modelos

    Um modelo uma simplificao da realidade Um modelo representado por um ou mais

    diagramas. Desta forma, um diagrama pode

    ser visto como uma viso dentro de ummodelo. Um diagrama pode ser representado de vrias

    formas, dependendo de quem ir interpret-lo.

    29

  • 7/23/2019 5.UML

    30/42

    Viso Um diagrama uma viso sobre um modelo

    Organizao Comportamento30

  • 7/23/2019 5.UML

    31/42

    Diagrama Um diagrama prov uma parcial representao do

    sistema. Ele ajuda a compreender a arquitetura do sistema

    em desenvolvimento. Os diagramas:

    Caso de uso, classes, sequncia, objeto,colaborao, atividade, estado, implantao,pacotes, componentes

    31

  • 7/23/2019 5.UML

    32/42

    Diagramas de classes

    Diagramas de classe so a

    espinha dorsal da maioria dos

    mtodos orientados a objeto,

    inclusive UML

    Descrevem a estrutura esttica

    do sistema (entidades erelacionamentos)

    32

    http://www.smartdraw.com/resources/centers/uml/uml2.htm
  • 7/23/2019 5.UML

    33/42

    Diagramas de pacotes

    Organizam elementos do sistema

    em grupos relacionados a fim de

    minimizar a dependncia entre

    eles

    33

    http://www.smartdraw.com/resources/centers/uml/uml3.htm
  • 7/23/2019 5.UML

    34/42

    Di d

  • 7/23/2019 5.UML

    35/42

    Diagramas decasos de uso

    Modelam a funcionalidade do

    sistema atravs de atores e

    casos de uso

    Casos de uso so servios ou

    funes fornecidas pelo

    sistema aos seus usurios

    35

    http://www.smartdraw.com/resources/centers/uml/uml4.htm
  • 7/23/2019 5.UML

    36/42

    Diagramas de seqncias

    Descreve as interaes

    entre as classes atravs das

    trocas de mensagens aologo do tempo

    36

    http://www.smartdraw.com/resources/centers/uml/uml4.htm
  • 7/23/2019 5.UML

    37/42

  • 7/23/2019 5.UML

    38/42

    Diagramas de estados

    Descrevem o comportamentodinmico do sistema emresposta a estmulos externos

    So especialmente teis paramodelar objetos reativos cujosestados so disparados por

    eventos especficos

    38

    http://www.smartdraw.com/resources/centers/uml/uml5.htm
  • 7/23/2019 5.UML

    39/42

    Diagramas de atividades Ilustram a natureza dinmica de

    um sistema modelando o fluxo decontrole de uma atividade paraoutra

    Uma atividade representa umaoperao em uma classe dosistema que resulta na mudana doestado do sistema

    Tipicamente, so usados para

    modelar fluxo de trabalho ouprocessos de negcio efuncionamento interno

    39

    http://www.smartdraw.com/resources/centers/uml/uml5.htm
  • 7/23/2019 5.UML

    40/42

    Diagramas de componente

    Descreve a organizao

    dos componentes fsicos

    de software

    Ex.: cdigo-fonte, cdigo

    em tempo de execuo

    (binrio) e executveis

    40

    http://www.smartdraw.com/resources/centers/uml/uml6.htm
  • 7/23/2019 5.UML

    41/42

  • 7/23/2019 5.UML

    42/42

    Diagrama Os diagramas UML so abordados como

    Estticos e Dinmicos.

    Estes diagramas tambmPodem ser classificadoscomo:

    ComportamentaisEstruturais