introdução à linguagem uml
Post on 27-May-2015
1.702 Views
Preview:
TRANSCRIPT
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
Roteiro
Introdução (métodos OO) UML
Conceitos História Utilidade e Desenvolvimento Modelos e Diagramas
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;
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;
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);
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;
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;
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.
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;
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;
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
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;
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;
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;
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;
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:
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;
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;
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”;
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.
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;
Exercícios
top related