introdução à linguagem uml

22
Engenharia de Software Unidade IV – A Linguagem UML Objetivo: Visualizar a simbologia e os elementos da Linguagem de Modelagem Unificada (UML) bem como os principais diagramas Prof. Nécio de Lima Veras

Upload: necio-de-lima-veras

Post on 27-May-2015

1.704 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Introdução à linguagem UML

Engenharia de SoftwareUnidade IV – A Linguagem UML

Objetivo: Visualizar a simbologia e os elementos da Linguagem de Modelagem Unificada (UML) bem como os principais diagramas

Prof. Nécio de Lima Veras

Page 2: Introdução à linguagem UML

Roteiro

Introdução (métodos OO) UML

Conceitos História Utilidade e Desenvolvimento Modelos e Diagramas

Page 3: Introdução à linguagem UML

Introdução – Métodos Orientado a Objetos

• Booch (Grady Booch): 1. Um objeto = um modelo do mundo real com

dados e habilidades;

2. Desenho estruturado e OO;

Estruturado: Separa o sistema em módulos;

OO: Problema com os objetos que existem em um domínio de problema;

Page 4: Introdução à linguagem UML

Introdução – Métodos Orientado a Objetos

• OMT (Rumbaugh): Técnica de Modelagem de Objetos

1. Desenvolvido pela GE Corporation;

2. Baseado na modelagem semântica de dados;

3. Suporta:

• Atributos e relacionamentos (modelagem de dados);

• composição/agregação (objetos); e

• Herança.

4. Ponto forte: Notação utilizada (OMT reformula E-R);

5. Ponto fraco: Sem notação específica para representar troca de mensagens entre os objetos;

Page 5: Introdução à linguagem UML

Introdução – Métodos Orientado a Objetos

• OOSE (Jacobson): Object-Oriented Software Engineering;

1. A diferença em relação aos outros métodos é o seu foco:

– Casos de uso (domínio do problema e interfaces);

– Categorização de pessoas e equipamentos, dependendo do seu papel no sistema;

2. Ponto fraco: Notação simplista para objetos de domínios (objetos = círculos);

3. Ponto forte: Foi adaptado a engenharia de negócios (idéias usadas para modelar e melhorar processos);

Page 6: Introdução à linguagem UML

Introdução – Métodos Orientado a Objetos

• Shlaer/Mellor (Sally Shlaer e Stephen Mellor):

1. Pode utilizar ferramentas tradicionais (DFD);2. Pode ser usado quando a organização decide

manter suas antigas ferramentas de trabalho, enquanto avalia outra (OO);

3. Utilizava diagrama de ER e transição de estados;4. Recebeu muitas críticas por:

– Não fornecer esquema de tratamento de mensagens e encapsulamento;

– pobreza no suporte a conceitos e herança;

Page 7: Introdução à linguagem UML

Introdução – Métodos Orientado a Objetos

• Coad/Yourdon (Peter Coad e Ed Yourdon):

1. Enfoque simples e eficaz;

2. Divide a análise em classes e objetos;

3. Objetos = Abstrações do mundo real;

4. Classes = Coleção de um ou mais objetos com atributos e serviços;

Page 8: Introdução à linguagem UML

Introdução – Métodos Orientado a Objetos

Outros métodos: Embley/Kurtz; Martin/Odell; Wirfs-Brock; UML

Leitura recomendada:

UML Essencial: Um breve guia para a linguagem-padrão de modelagem de objetos. Martin Fowler, Bookman, 3a Edição, 2004.

Page 9: Introdução à linguagem UML

UML

O que é UML? Linguagem de modelagem unificada; Projetada para descrever modelos de

sistemas (do mundo real e de softwares); Baseada em Objetos;

Padrão É hoje um padrão consolidado (adotada pela

indústria de hardware e software); Tem evoluído bastante durante os últimos

anos;

Page 10: Introdução à linguagem UML

Como surgiu UML?

Inicio-se com um esforço de Grady Booch e Jim Raumbaugh em 1994 para combinar seus métodos populares (Booch e OMT);

Posteriormente, juntou-se a eles Ivar Jacobson (OOSE);

Assim originou-se o termo “UNIFICADA”; Em 1997, foi submetida pela OMG como

candidata a se tornar uma linguagem e uma notação padrão de modelagem;

Page 11: Introdução à linguagem UML

Como surgiu UML?(cont.)

A OMG aceitou e assim a UML tem recebido a aprovação geral (indústrias de hardware e software);

Muitas empreses de desenvolvimento de software e vendedores de ferramentas CASE adotaram a UML;

Assim, a UML está acessível a todos, sendo uma linguagem padrão que é elegante, expressiva e flexível;

Leitura complementar sobre as especificações da notação UML:

www.uml.org

Page 12: Introdução à linguagem UML

Utilidade da UML

É independente do processo de desenvolvimento de software;

Finalidade principal: Ser uma linguagem para modelagem e não um guia de desenvolvimento de software, como por exemplo: Como fazer análise e projeto OO; Qual o processo (etapas, workflows) a seguir;

Não define um ciclo padrão de desenvolvimento;

Page 13: Introdução à linguagem UML

Desenvolvimento da UML

Os esforço iniciais dos autores foram: Identificar e definir a semântica dos conceitos

fundamentais; Criar uma representação gráfica, cuja sintaxe

pudesse ser bem simples, intuitiva e expressiva;

Foi dividida em subconjuntos da UML,definida como meta-modelagem; Vantagem: Permitir a classificação dos

conceitos por nível de abstração, complexidade e pelo domínio da aplicação;

Page 14: Introdução à linguagem UML

Desenvolvimento da UML(cont.)

Um meta-modelo descreve formalmente os elementos do modelo;

O modelo é uma descrição abstrata de um sistema ou processo; A forma do modelo depende do meta-modelo; Cada meta-modelo define elementos do modelo e

suas regras para composição; O conteúdo do modelo depende do problema; É a unidade básica do desenvolvimento e é

construído por elementos com suas diferentes representações;

Page 15: Introdução à linguagem UML

Tipo de Modelos em UML

A UML (v2) define diferentes tipos de modelos para representar sistemas. Exemplos: Classes: Captura a estrutura estática; Estados: Expressa o comportamento dinâmico dos

objetos; Casos de Uso: Descreve os requerimentos dos

usuários; Interações: Representa os cenários do fluxo de

mensagens; Implementação: Mostra as unidades trabalhando; Implantação: Fornece os detalhes pertencentes ao

processo de alocação de recursos;

Page 16: Introdução à linguagem UML

Tipos de Diagramas em UML• Um modelo pode ser constituído por um ou mais

diagramas correspondentes;

• A UML 2 define 13 diferentes tipos de diagramas divididos em grupos:

Page 17: Introdução à linguagem UML

Tipos de Diagramas em UML

1. Diagrama de classes; Descreve os tipos de objetos em um

sistema e os vários tipos de relações estáticas entre eles;

Demonstra os atributos e métodos de uma classe e a com que os objetos estão conectados;

Page 18: Introdução à linguagem UML

Tipos de Diagramas em UML

2. Diagrama de seqüências: Mostra as interações entre objetos organizados em uma

seqüência de tempo, ilustrando as mensagens trocadas;

3. Diagrama de Comunicações: Mostra as interações organizadas em torno dos “roles” –

objetos ou links;

4. Diagrama de Objetos: Mostra objetos e suas relações em um certo ponto no

tempo; É considerado um caso especial do diagrama de classes

em que instâncias e classes podem ser mostradas;

Page 19: Introdução à linguagem UML

Tipos de Diagramas em UML

5. Diagrama de Máquina de Estados: Mostra uma máquina de estados, incluindo estados

simples, transições e compostos; Descreve todos os possíveis estados que este objeto

pode assumir;

6. Diagrama de Atividades: Descreve uma seqüência de atividades, com suporte

de comportamento condicional e paralelo;

7. Diagrama de Casos de Uso: Mostra seqüências de ações entre atores e “uses

cases”;

Page 20: Introdução à linguagem UML

Tipos de Diagramas em UML

8. Diagrama de Componentes: Mostra dependências entre componentes de software –

incluindo componentes de código-fonte, código objeto e executáveis;

9. Diagrama de Implantação: Mostra as relações físicas entre componentes de hardware e

software;

10. Diagrama de Estrutura Composta: Descreve a estrutura interna de uma classe ou componente,

além de permitir a descrição de colaboradores;

11. Diagrama de Pacotes: Representa um subsistema englobado por um sistema de forma

a determinar as partes que o compõem.

Page 21: Introdução à linguagem UML

Tipos de Diagramas em UML

12. Diagrama de Interação Geral: Uma variação do diagrama de atividades que fornece

uma visão geral do fluxo de informações;

13. Diagrama de Tempo: Descreve uma mudança de estado ou condição de

instância, ou ainda, seu papel durante o tempo, tipicamente, em resposta a eventos externos;

Assim, a UML fornece uma notação compreensível para todo o ciclo de desenvolvimento OO;

Page 22: Introdução à linguagem UML

Exercícios