41
Unified Modeling Language

Unified Modeling Language. UML UML - Unified Modeling Language Padrão de OMG (Object Management Group) desde 1997 É um recurso não proprietário, aberto

Embed Size (px)

Citation preview

Page 1: Unified Modeling Language. UML UML - Unified Modeling Language Padrão de OMG (Object Management Group) desde 1997 É um recurso não proprietário, aberto

Unified Modeling Language

Page 2: Unified Modeling Language. UML UML - Unified Modeling Language Padrão de OMG (Object Management Group) desde 1997 É um recurso não proprietário, aberto

UML

• UML - Unified Modeling Language• Padrão de OMG (Object Management

Group) desde 1997• É um recurso não proprietário, aberto para a

comunidade.

Page 3: Unified Modeling Language. UML UML - Unified Modeling Language Padrão de OMG (Object Management Group) desde 1997 É um recurso não proprietário, aberto

Objetivos de UML

• Especificar, permitir a visualização, construir e documentar os artefatos de sistemas de software.

• Pode ser usada para modelos de negócio e de outros tipos de sistemas.

• Os modelos gerados são independentes dos métodos e linguagens de programação.

Page 4: Unified Modeling Language. UML UML - Unified Modeling Language Padrão de OMG (Object Management Group) desde 1997 É um recurso não proprietário, aberto

Ferramentas Representativas

• décadas de 60 e 70: – COBOL, FORTRAN, C– técnicas de análise e projeto estruturados

• década de 80 e início de 90:– Smalltalk, Ada, C++, Visual Basic– métodos orientados a objetos de 1a. Geração

• meados/fim da década de 90:– Java, UML, Unified Process

Page 5: Unified Modeling Language. UML UML - Unified Modeling Language Padrão de OMG (Object Management Group) desde 1997 É um recurso não proprietário, aberto

Situação antes da UML

• linguagens orientadas a objetos: desde a década de 60 (Simula)

• métodos de análise e projeto:– entre 1989 e 1994, o número de métodos

aumentou de 10 para mais de 50– “guerra de métodos”– métodos com incorporação de recursos de

outros métodos

Page 6: Unified Modeling Language. UML UML - Unified Modeling Language Padrão de OMG (Object Management Group) desde 1997 É um recurso não proprietário, aberto

Histórico da UML

• Associação de Booch e Rumbaugh (1994) na Rational

• Unified Method 0.8, resultante dos métodos de Booch e OMT (1995)

• Incorporação de Jacobson e sua empresa Objectory na Rational (1995)

• UML 0.9 e 0.91, como linguagem unificada para modelagem (1996)

Page 7: Unified Modeling Language. UML UML - Unified Modeling Language Padrão de OMG (Object Management Group) desde 1997 É um recurso não proprietário, aberto

Histórico da UML

• Request for Proposal (RFP) de OMG• Estabelecimento do consórcio de

organizações para a definição de UML 1.0• Submissão de propostas pelo consórcio

UML e outras empresas (janeiro 1997)

Page 8: Unified Modeling Language. UML UML - Unified Modeling Language Padrão de OMG (Object Management Group) desde 1997 É um recurso não proprietário, aberto

Histórico da UML

• Elaboração de UML 1.1 pelo consórcio ampliado e sua submissão a OMG (setembro 1997)

• Aceitação de UML 1.1 como padrão de OMG (novembro 1997)

Page 9: Unified Modeling Language. UML UML - Unified Modeling Language Padrão de OMG (Object Management Group) desde 1997 É um recurso não proprietário, aberto

Evolução de UML

• A adoção de UML como padrão permite a representação de sistemas que independem do processo utilizado.

• A UML pode ser estendida, sem alterar o seu núcleo.

• Espera-se que seja base para ferramentas de modelagem de sistemas de forma geral, simulação e ambientes de desenvolvimento.

Page 10: Unified Modeling Language. UML UML - Unified Modeling Language Padrão de OMG (Object Management Group) desde 1997 É um recurso não proprietário, aberto

Evolução de UML

• Os seus recursos permitem o seu uso em:– desenvolvimento de sistemas com tecnologia

orientada a objetos– modelagem de negócios– desenvolvimento com componentes– projeto de arquitetura de software– reuso de software e de processos

Page 11: Unified Modeling Language. UML UML - Unified Modeling Language Padrão de OMG (Object Management Group) desde 1997 É um recurso não proprietário, aberto

Método

• Um método possui– representação: é a linguagem para a descrição do

sistema– processo: é a maneira pela qual a representação é

construída– ferramentas: fornecem suporte para o uso do

método.• UML: é a representação e não inclui o processo.

Page 12: Unified Modeling Language. UML UML - Unified Modeling Language Padrão de OMG (Object Management Group) desde 1997 É um recurso não proprietário, aberto

Processo de Engenharia de Software

• A notação somente não é suficiente.• O processo define quem faz o que, quando e

como atingir as metas.• Como usar UML:

– utilizar o processo de métodos existentes e construir os modelos com UML.

• Exemplo de métodos:– Booch, OMT, OOSE, Unified Process

Page 13: Unified Modeling Language. UML UML - Unified Modeling Language Padrão de OMG (Object Management Group) desde 1997 É um recurso não proprietário, aberto

Modelo em UML

• É a representação do sistema através de diversas visões:– visão estática: caso de uso, classe, objeto,

componente e implementação– visão dinâmica: seqüência, colaboração, estado

e atividade• O modelo é constituído por diagramas.

Page 14: Unified Modeling Language. UML UML - Unified Modeling Language Padrão de OMG (Object Management Group) desde 1997 É um recurso não proprietário, aberto

Diagramas de UML

• diagrama de caso de uso: descreve a funcionalidade do sistema na visão do usuário

• diagrama de classes: descreve o vocabulário do sistema através das classes

• diagrama de objetos: descreve as instâncias e suas interligações

Page 15: Unified Modeling Language. UML UML - Unified Modeling Language Padrão de OMG (Object Management Group) desde 1997 É um recurso não proprietário, aberto

Diagramas de UML

• diagrama de componentes: descreve a estrutura física da implementação

• diagrama de implementação: descreve a topologia da estrutura de hardware

• diagrama de seqüência: descreve a comportamento dependente de tempo

Page 16: Unified Modeling Language. UML UML - Unified Modeling Language Padrão de OMG (Object Management Group) desde 1997 É um recurso não proprietário, aberto

Diagramas de UML

• diagrama de colaboração: descreve o comportamento dependente da troca de mensagens

• diagrama de estados: descreve a transição de estados causada pelos eventos

• diagrama de atividade: descreve a seqüência de operações

Page 17: Unified Modeling Language. UML UML - Unified Modeling Language Padrão de OMG (Object Management Group) desde 1997 É um recurso não proprietário, aberto

Diagrama de Caso de Uso

• Elementos: sistema, atores e casos de uso• Relacionamento entre atores: generalização

– exemplo: cliente pode fazer uma compra pessoalmente ou pelo telefone

• Relacionamentos entre casos de uso:– extensão– uso– agrupamento

Page 18: Unified Modeling Language. UML UML - Unified Modeling Language Padrão de OMG (Object Management Group) desde 1997 É um recurso não proprietário, aberto

Diagrama de Caso de Uso

Page 19: Unified Modeling Language. UML UML - Unified Modeling Language Padrão de OMG (Object Management Group) desde 1997 É um recurso não proprietário, aberto

Diagrama de Caso de Uso

• Descrição de caso de uso:– objetivo– início– fluxo de mensagens entre os atores e o caso de

uso– fluxos alternativos – término

Page 20: Unified Modeling Language. UML UML - Unified Modeling Language Padrão de OMG (Object Management Group) desde 1997 É um recurso não proprietário, aberto

Diagrama de Classes/Objetos

• Diagrama de Classes: descreve a visão estática do sistema em termos de classes e relacionamentos.

• Diagrama de Objetos: é um exemplo de Diagrama de Classes, com os seus objetos instanciados.

• Representação: nome, atributos e operações

Page 21: Unified Modeling Language. UML UML - Unified Modeling Language Padrão de OMG (Object Management Group) desde 1997 É um recurso não proprietário, aberto

Diagrama de Classes

Page 22: Unified Modeling Language. UML UML - Unified Modeling Language Padrão de OMG (Object Management Group) desde 1997 É um recurso não proprietário, aberto

Diagrama de Classes/Objetos

Page 23: Unified Modeling Language. UML UML - Unified Modeling Language Padrão de OMG (Object Management Group) desde 1997 É um recurso não proprietário, aberto

Relacionamentos

• associação– associação normal– associação recursiva– papel da associação– associação qualificada– associação ou– associação ordenada– associação como classe– associação ternária

Page 24: Unified Modeling Language. UML UML - Unified Modeling Language Padrão de OMG (Object Management Group) desde 1997 É um recurso não proprietário, aberto

Relacionamentos

• agregação– agregação comum– agregação compartilhada– agregação de composição

• generalização– generalização normal– generalização retrita

• overlapping/disjoint• completa/incompleta

Page 25: Unified Modeling Language. UML UML - Unified Modeling Language Padrão de OMG (Object Management Group) desde 1997 É um recurso não proprietário, aberto

Relacionamentos

• dependência: conexão entre os elementos dependentes e independentes do modelo, do ponto de vista de alteração

• refinamento: relacionamento entre descrição do mesmo elemento em níveis de abstração diferentes

Page 26: Unified Modeling Language. UML UML - Unified Modeling Language Padrão de OMG (Object Management Group) desde 1997 É um recurso não proprietário, aberto

Pacotes

• Pacote é um mecanismo geral para organizar os elementos em grupos que apresentam uma dada semântica.

• Um pacote pode conter outros pacotes.

Page 27: Unified Modeling Language. UML UML - Unified Modeling Language Padrão de OMG (Object Management Group) desde 1997 É um recurso não proprietário, aberto

Pacotes

Page 28: Unified Modeling Language. UML UML - Unified Modeling Language Padrão de OMG (Object Management Group) desde 1997 É um recurso não proprietário, aberto

Pacotes

• O subsistema E depende do subsistema B.• O subsistema C depende dos subsistemas B

e D.• Os subsistemas B, C e E são internos ao

subsistema A.• Todos os subsistemas estão representados

através de pacotes.

Page 29: Unified Modeling Language. UML UML - Unified Modeling Language Padrão de OMG (Object Management Group) desde 1997 É um recurso não proprietário, aberto

Diagrama de Componentes

• Descreve a estrutura dos componentes de software (código).

• A dependência entre os componentes representa que um componente precisa do outro para sua definição completa.

• Tipos de componentes: em tempo de compilação, de ligação e de execução

Page 30: Unified Modeling Language. UML UML - Unified Modeling Language Padrão de OMG (Object Management Group) desde 1997 É um recurso não proprietário, aberto

Diagrama de Componentes

Page 31: Unified Modeling Language. UML UML - Unified Modeling Language Padrão de OMG (Object Management Group) desde 1997 É um recurso não proprietário, aberto

Diagrama de Implementação

• Descreve a topologia física do sistema através de :– estrutura das unidades de hardware

• nós e conexões– componentes de software executados em cada

unidade• componentes e objetos

Page 32: Unified Modeling Language. UML UML - Unified Modeling Language Padrão de OMG (Object Management Group) desde 1997 É um recurso não proprietário, aberto

Diagrama de Implementação

Page 33: Unified Modeling Language. UML UML - Unified Modeling Language Padrão de OMG (Object Management Group) desde 1997 É um recurso não proprietário, aberto

Diagrama de Seqüência

• Representa a interação entre os objetos ao longo do tempo.

• Forma:– de instância: descrição detalhada de um cenário– genérica: descreve todas as alternativas

possíveis em um cenário; inclui condições e repetições

• criação e destruição de objetos

Page 34: Unified Modeling Language. UML UML - Unified Modeling Language Padrão de OMG (Object Management Group) desde 1997 É um recurso não proprietário, aberto

Diagrama de Seqüência

Page 35: Unified Modeling Language. UML UML - Unified Modeling Language Padrão de OMG (Object Management Group) desde 1997 É um recurso não proprietário, aberto

Diagrama de Colaboração

• Representa a interação dos objetos através das ligações entre eles e a seqüência das mensagens trocadas entre eles.

• É apropriado para as interações complexas entre os objetos.

• Auxilia entender a interação, através das ligações entre os objetos.

Page 36: Unified Modeling Language. UML UML - Unified Modeling Language Padrão de OMG (Object Management Group) desde 1997 É um recurso não proprietário, aberto

Diagrama de Colaboração

Page 37: Unified Modeling Language. UML UML - Unified Modeling Language Padrão de OMG (Object Management Group) desde 1997 É um recurso não proprietário, aberto

Diagrama de Estados

• estados e transições• condições na transição• ação e atividade• ação com envio de mensagem• envio de mensagens entre Diagramas de

Estados• sub-estados• indicador de histórico do estado

Page 38: Unified Modeling Language. UML UML - Unified Modeling Language Padrão de OMG (Object Management Group) desde 1997 É um recurso não proprietário, aberto

Diagrama de Estados

Page 39: Unified Modeling Language. UML UML - Unified Modeling Language Padrão de OMG (Object Management Group) desde 1997 É um recurso não proprietário, aberto

Diagrama de Atividade

• Representa o fluxo de atividades.• Elementos: estado de ação, condições,

execução paralela, objetos e sinais• Uso do Diagrama de Atividades:

– representação de atividades realizadas em uma operação

– descrição de caso de uso– descrição de interação entre objetos

Page 40: Unified Modeling Language. UML UML - Unified Modeling Language Padrão de OMG (Object Management Group) desde 1997 É um recurso não proprietário, aberto

Diagrama de Atividade

Page 41: Unified Modeling Language. UML UML - Unified Modeling Language Padrão de OMG (Object Management Group) desde 1997 É um recurso não proprietário, aberto

Elementos Principais