LINGUAGEM DE MODELAGEM UNIFICADA UML. Instituto Federal da Bahia Alunos: Fabiano Souza e Luana...

36
UML

Transcript of LINGUAGEM DE MODELAGEM UNIFICADA UML. Instituto Federal da Bahia Alunos: Fabiano Souza e Luana...

Page 1: LINGUAGEM DE MODELAGEM UNIFICADA UML. Instituto Federal da Bahia Alunos: Fabiano Souza e Luana Menezes Orientador: Antonio Carlos Disciplina: Introdução.

UML

Page 2: LINGUAGEM DE MODELAGEM UNIFICADA UML. Instituto Federal da Bahia Alunos: Fabiano Souza e Luana Menezes Orientador: Antonio Carlos Disciplina: Introdução.

Instituto Federal da Bahia

Alunos: Fabiano Souza e Luana Menezes

Orientador: Antonio Carlos

Disciplina: Introdução a Computação

ADS.1

Page 3: LINGUAGEM DE MODELAGEM UNIFICADA UML. Instituto Federal da Bahia Alunos: Fabiano Souza e Luana Menezes Orientador: Antonio Carlos Disciplina: Introdução.

VISÃO GERAL

A Unified Modelling Language (UML) é uma linguagem ou notação de diagramas para especificar, visualizar e documentar modelos de 'software' orientados por objetos.

A UML não é uma metodologia de desenvolvimento!

Basicamente, a UML permite que desenvolvedores visualizem os produtos de seus trabalhos em diagramas padronizados.

VISÃO GERAL

Page 4: LINGUAGEM DE MODELAGEM UNIFICADA UML. Instituto Federal da Bahia Alunos: Fabiano Souza e Luana Menezes Orientador: Antonio Carlos Disciplina: Introdução.

VISÃO GERAL

O UML é controlado pelo Object Management Group (OMG) que é padrão da indústria para descrever graficamente o 'software'.

É importante distinguir entre um modelo UML e um diagrama (ou conjunto de diagramas) de UML.

VISÃO GERAL

Page 5: LINGUAGEM DE MODELAGEM UNIFICADA UML. Instituto Federal da Bahia Alunos: Fabiano Souza e Luana Menezes Orientador: Antonio Carlos Disciplina: Introdução.

MODELAGEM DE SOFTWARE

É a atividade de construir modelos que expliquem as características ou o comportamento de um software ou de um sistema de software.

Frequentemente a modelagem de software usa algum tipo de notação gráfica e são apoiados pelo uso de Ferramentas CASE.

A modelagem de software normalmente utiliza a construção de modelos gráficos.

MODELAGEM DE SOFTWARE

Page 6: LINGUAGEM DE MODELAGEM UNIFICADA UML. Instituto Federal da Bahia Alunos: Fabiano Souza e Luana Menezes Orientador: Antonio Carlos Disciplina: Introdução.

MODELAGEM DE SOFTWARE

Programas procedurais (não orientados a objeto) utilizam fluxogramas.

Programas orientados a objeto normalmente usam a linguagem gráfica UML.

MODELAGEM DE SOFTWARE

Page 7: LINGUAGEM DE MODELAGEM UNIFICADA UML. Instituto Federal da Bahia Alunos: Fabiano Souza e Luana Menezes Orientador: Antonio Carlos Disciplina: Introdução.

ORIENTAÇÃO À OBJETOS

A orientação a objetos, também conhecida como Programação Orientada a Objetos (POO), é um paradigma de análise, projeto e programação de sistemas de software baseado na composição e interação entre diversas unidades de software chamadas de objetos.

Classe / Atributo / Método/ Construtor

ORIENTAÇÃO À OBJETOS

Page 8: LINGUAGEM DE MODELAGEM UNIFICADA UML. Instituto Federal da Bahia Alunos: Fabiano Souza e Luana Menezes Orientador: Antonio Carlos Disciplina: Introdução.

EVOLUÇÃO HISTÓRICA DA MODELAGEM

Décadas de 1950/60 – Sistemas de Softwares bastantes simples.

Década de 1970 – Grande expansão do mercado computacional, computadores mais avançados e acessíveis.

Década de 1980 – Surge a necessidade de interfaces mais sofisticadas, o que originou a produção de sistemas de softwares mais complexos. Surge a análise estruturada.

EVOLUÇÃO HISTÓRICA DA MODELAGEM

Page 9: LINGUAGEM DE MODELAGEM UNIFICADA UML. Instituto Federal da Bahia Alunos: Fabiano Souza e Luana Menezes Orientador: Antonio Carlos Disciplina: Introdução.

EVOLUÇÃO HISTÓRICA

Início da Década de 1990 – Este é o período que surge um novo paradigma de modelagem, a Análise orientada à objetos.

Fim da Década de 1990 – O paradigma da Análise orientada à objetos atinge sua maturidade. Surge a Linguagem de Modelagem Unificada (UML).

EVOLUÇÃO HISTÓRICA DA MODELAGEM

Page 10: LINGUAGEM DE MODELAGEM UNIFICADA UML. Instituto Federal da Bahia Alunos: Fabiano Souza e Luana Menezes Orientador: Antonio Carlos Disciplina: Introdução.

DIAGRAMAS DA UML

Diagramas Estruturais:

->Diagrama de Classes

->Diagrama de Objetos

->Diagramas de componentes

->Diagrama de instalação

->Diagrama de pacotes

->Diagrama de estruturas

DIAGRAMAS DE UML

Page 11: LINGUAGEM DE MODELAGEM UNIFICADA UML. Instituto Federal da Bahia Alunos: Fabiano Souza e Luana Menezes Orientador: Antonio Carlos Disciplina: Introdução.

DIAGRAMAS DA UML

Diagramas comportamentais ->Diagrama de caso de uso

->Diagrama de transição de estado

->Diagrama de atividade

Diagramas de Interação ->Diagrama de sequência

->Diagrama de interatividade

->Diagrama de comunicação

->Diagrama de tempo

DIAGRAMAS DE UML

Page 12: LINGUAGEM DE MODELAGEM UNIFICADA UML. Instituto Federal da Bahia Alunos: Fabiano Souza e Luana Menezes Orientador: Antonio Carlos Disciplina: Introdução.

O PROCESSO DE DESENVOLVIMENTO DE SOFTWARE

O PROCESSO DE DESENVOLVIMENTO DE SOFTWARE

Page 13: LINGUAGEM DE MODELAGEM UNIFICADA UML. Instituto Federal da Bahia Alunos: Fabiano Souza e Luana Menezes Orientador: Antonio Carlos Disciplina: Introdução.

DADOS LEVANTADOS

Porcentagem de projetos que terminam dentro do prazo estimado: 10%

Porcentagem de projetos que são descontinuados antes de chegarem ao fim: 25%

Porcentagem de projetos acima do custo esperado: 60%

Atraso médio nos projetos: um ano.

O PROCESSO DE DESENVOLVIMENTO DE SOFTWARE

Chaos Report (1994)Chaos Report (1994)

Page 14: LINGUAGEM DE MODELAGEM UNIFICADA UML. Instituto Federal da Bahia Alunos: Fabiano Souza e Luana Menezes Orientador: Antonio Carlos Disciplina: Introdução.

ATIVIDADES DE UM PROCESSO DE DESENVOLVIMENTO

Análise (ou levantamento) de requisitos

Análise

Design (Projeto)

Programação (Implementação)

Testes

Implantação

O PROCESSO DE DESENVOLVIMENTO DE SOFTWARE

Page 15: LINGUAGEM DE MODELAGEM UNIFICADA UML. Instituto Federal da Bahia Alunos: Fabiano Souza e Luana Menezes Orientador: Antonio Carlos Disciplina: Introdução.

PROTOTIPAGEM

Um protótipo é um esboço de alguma parte do sistema.

A prototipagem é uma técnica complementar à análise de requisitos.

Objetivo: assegurar que os requisitos do sistema tenham sido bem entendidos.

A construção de protótipos utiliza ambientes com facilidades para a construção da interface gráfica.

MECANISMOS GERAIS

Page 16: LINGUAGEM DE MODELAGEM UNIFICADA UML. Instituto Federal da Bahia Alunos: Fabiano Souza e Luana Menezes Orientador: Antonio Carlos Disciplina: Introdução.

PROTOTIPAGEM

A prototipagem NÃO é um substituto à construção de modelos do sistema.

A prototipagem é uma técnica complementar à construção dos modelos do sistema.

Mesmo com o uso de protótipos, os modelos do sistema devem ser construídos.

MECANISMOS GERAIS

Page 17: LINGUAGEM DE MODELAGEM UNIFICADA UML. Instituto Federal da Bahia Alunos: Fabiano Souza e Luana Menezes Orientador: Antonio Carlos Disciplina: Introdução.

FERRAMENTAS CASE

Sistemas de software que são utilizados para dar suporte ao desenvolvimento são normalmente chamados de ferramentas CASE.

MECANISMOS GERAIS

Page 18: LINGUAGEM DE MODELAGEM UNIFICADA UML. Instituto Federal da Bahia Alunos: Fabiano Souza e Luana Menezes Orientador: Antonio Carlos Disciplina: Introdução.

ESTERIÓTIPOS

Mecanismo de extensão de UML. Quando você precisa modelar algo que não existe em UML, mas sabe que existe algo semelhante.

MECANISMOS GERAIS

Page 19: LINGUAGEM DE MODELAGEM UNIFICADA UML. Instituto Federal da Bahia Alunos: Fabiano Souza e Luana Menezes Orientador: Antonio Carlos Disciplina: Introdução.

NOTAS EXPLICATIVAS

São utilizadas para definir informação que comenta ou esclarece alguma parte do diagrama.

MECANISMOS GERAIS

Page 20: LINGUAGEM DE MODELAGEM UNIFICADA UML. Instituto Federal da Bahia Alunos: Fabiano Souza e Luana Menezes Orientador: Antonio Carlos Disciplina: Introdução.

ETIQUETAS VALORADAS ( TAGGED VALUES)

MECANISMOS GERAIS

Um valor etiquetado é uma combinação de um tag e um valor que fornece informações complementares que é anexado a um elemento do modelo. Um valor de tag pode ser usada para adicionar propriedades para todos os elementos do modelo e pode ser aplicado a um elemento de modelo ou um estereótipo.

Page 21: LINGUAGEM DE MODELAGEM UNIFICADA UML. Instituto Federal da Bahia Alunos: Fabiano Souza e Luana Menezes Orientador: Antonio Carlos Disciplina: Introdução.

RESTRIÇÕES E OCL

Restrições: Permitem estender ou alterar a semântica natural de um elemento gráfico.

OCL : A OCL é uma linguagem de expressões para especificar restrições sobre modelos orientados a objetos ou outros artefatos da linguagem UML. É uma linguagem precisa, textual e formal. Uma das suas principais características é que seu uso não exige um forte conhecimento matemático para sua manipulação.

MECANISMOS GERAIS

Page 22: LINGUAGEM DE MODELAGEM UNIFICADA UML. Instituto Federal da Bahia Alunos: Fabiano Souza e Luana Menezes Orientador: Antonio Carlos Disciplina: Introdução.

PACOTES

Pacote é um mecanismo de propósito geral para organizar elementos de modelo em grupos.

MECANISMOS GERAIS

Page 23: LINGUAGEM DE MODELAGEM UNIFICADA UML. Instituto Federal da Bahia Alunos: Fabiano Souza e Luana Menezes Orientador: Antonio Carlos Disciplina: Introdução.

MODELAGEM DE CASOS DE USO

Representação das funcionalidades externamente observáveis do sistema e dos elementos externos ao sistema que interagem com ele.

É importante, pois direciona diversas tarefas posteriores do processo de desenvolvimento de um sistema de software.

MODELAGEM DE CASOS DE USO

Page 24: LINGUAGEM DE MODELAGEM UNIFICADA UML. Instituto Federal da Bahia Alunos: Fabiano Souza e Luana Menezes Orientador: Antonio Carlos Disciplina: Introdução.

CASOS DE USO – USE CASE

Um caso de uso representa quem faz o que (interage) com o sistema, sem considerar o comportamento interno do sistema.

Um conjunto de cenários, onde cada cenário é uma sequência de passos a qual descreve uma interação entre um usuário (atores) e o sistema.

MODELAGEM DE CASOS DE USO

Page 25: LINGUAGEM DE MODELAGEM UNIFICADA UML. Instituto Federal da Bahia Alunos: Fabiano Souza e Luana Menezes Orientador: Antonio Carlos Disciplina: Introdução.

DIAGRAMA DE CASOS DE USO

Corresponde a uma visão externa de alto nível do sistema.

Representa graficamente os atores, os casos de uso e o relacionamento entre esses elementos.

MODELAGEM DE CASOS DE USO

Page 26: LINGUAGEM DE MODELAGEM UNIFICADA UML. Instituto Federal da Bahia Alunos: Fabiano Souza e Luana Menezes Orientador: Antonio Carlos Disciplina: Introdução.

MODELAGEM DE CASOS DE USO

Page 27: LINGUAGEM DE MODELAGEM UNIFICADA UML. Instituto Federal da Bahia Alunos: Fabiano Souza e Luana Menezes Orientador: Antonio Carlos Disciplina: Introdução.

DIAGRAMA DE CLASSE

Diagramas de Classe mostram as diferentes classes que fazem um sistema e como elas se relacionam. Os Diagramas de Classe são chamados diagramas “estáticos” porque mostram as classes, com seus métodos e atributos bem como os relacionamentos estáticos entre elas: quais classes “conhecem” ou quais classes “são parte” de outras classes, mas não mostram a troca de mensagens entre elas.

Page 28: LINGUAGEM DE MODELAGEM UNIFICADA UML. Instituto Federal da Bahia Alunos: Fabiano Souza e Luana Menezes Orientador: Antonio Carlos Disciplina: Introdução.

DIAGRAMA DE CLASSE

Associação : São relacionamentos estruturais entre instâncias e especificam que objetos de uma classe estão ligados a objetos de outras classes.

Page 29: LINGUAGEM DE MODELAGEM UNIFICADA UML. Instituto Federal da Bahia Alunos: Fabiano Souza e Luana Menezes Orientador: Antonio Carlos Disciplina: Introdução.

DIAGRAMA DE CLASSE

Associação : São relacionamentos estruturais entre instâncias e especificam que objetos de uma

classe estão ligados a objetos de outras classes.

Dependência - São relacionamentos de utilização no qual uma mudança na especificação de um elemento pode alterar a especificação do elemento dependente. A dependência entre classes indica que os objetos de uma classe usam serviços dos objetos de outra classe.

Generalização (herança : simples ou composta) - Relacionamento entre um elemento mais geral e um mais específico. Onde o elemento mais específico herda as propriedades e métodos do elemento mais geral.

Agregação Regular - tipo de associação ( é parte de , todo/parte) onde o objeto parte é um atributo do todo ; onde os objetos partes somente são criados se o todo ao qual estão agregados seja criado. Pedidos é composto por itens de pedidos.

Composição - Relacionamento entre um elemento ( o todo) e outros elementos (as partes) onde as parte só podem pertencer ao todo e são criadas e destruídas com ele.

Page 30: LINGUAGEM DE MODELAGEM UNIFICADA UML. Instituto Federal da Bahia Alunos: Fabiano Souza e Luana Menezes Orientador: Antonio Carlos Disciplina: Introdução.

DIAGRAMA DE CLASSE

Atributos Na UML, atributos são mostrados com pelo menos seu nome, e podem também

mostrar seu tipo, valor inicial e outras propriedades. Atributos podem também ser exibidos com sua visibilidade:

+ indica atributos públicos

# indica atributos protegidos

- indica atributos privados

Operações Operações (métodos) também são exibidos com pelo menos seu nome, e podem

também mostrar seus parâmetros e valores de retorno. Operações podem, como os Atributos, mostras sua visibilidade:

+ indica operações públicas

# indica operações protegidas

- indica operações privadas

Page 31: LINGUAGEM DE MODELAGEM UNIFICADA UML. Instituto Federal da Bahia Alunos: Fabiano Souza e Luana Menezes Orientador: Antonio Carlos Disciplina: Introdução.

DIAGRAMA DE CLASSE

Page 32: LINGUAGEM DE MODELAGEM UNIFICADA UML. Instituto Federal da Bahia Alunos: Fabiano Souza e Luana Menezes Orientador: Antonio Carlos Disciplina: Introdução.

DIAGRAMA DE INTERATIVIDADE

Diagramas de interatividade são variações de “Diagrama de atividade". Nele, sequências formam um fluxo de atividades, mostrando como elas trabalham em uma sequência de eventos.

Diagrama de Interatividade pode ser visto como um Diagrama de Atividade em que as atividades são substituídas por pequenos Diagramas de Sequência ou como Diagrama de Sequência que usam, de forma complementar, a notação do Diagrama de Atividades para mostrar controle de fluxo.

Page 33: LINGUAGEM DE MODELAGEM UNIFICADA UML. Instituto Federal da Bahia Alunos: Fabiano Souza e Luana Menezes Orientador: Antonio Carlos Disciplina: Introdução.

DIAGRAMA DE INTERATIVIDADE

O Umbrello UML Modeller mostrando um Diagrama de Atividade.

Page 34: LINGUAGEM DE MODELAGEM UNIFICADA UML. Instituto Federal da Bahia Alunos: Fabiano Souza e Luana Menezes Orientador: Antonio Carlos Disciplina: Introdução.

DIAGRAMA DE INTERATIVIDADE

Diagramas de Atividade são similares as Diagramas de Fluxo de procedimentos, com a diferença de que todas as Atividades são claramente anexas aos Objetos.

Diagramas de Atividade são sempre associados a um Classe, uma Operação ou um Caso de Uso.

Page 35: LINGUAGEM DE MODELAGEM UNIFICADA UML. Instituto Federal da Bahia Alunos: Fabiano Souza e Luana Menezes Orientador: Antonio Carlos Disciplina: Introdução.

UML x LINGUAGEM ESTRUTURADA

Animal[] listaDeAnimais = new Animal[100]; // Criamos um array com 100 posições que armazena objetos do tipo Animal.

listaDeAnimais[0] = new Cachorro("Frodo"); // Criamos um novo objeto do tipo Cachorro com o nome Frodo e armazenamos no array

listaDeAnimais[1] = new Gato("Alan"); // Criamos um novo objeto do tipo Gato com o nome Alan e armazenamos no array

Classe Animal { método fale() {imprimaNaTela(" Eu sou mudo! ");}}

Page 36: LINGUAGEM DE MODELAGEM UNIFICADA UML. Instituto Federal da Bahia Alunos: Fabiano Souza e Luana Menezes Orientador: Antonio Carlos Disciplina: Introdução.

BIBLIOGRAFIA

Bezerra, Eduardo - Princípios de análise e projeto de sistemas com UML/Eduardo Bezerra – Rio de Janeiro: Elsevier ,2007

http://docs.kde.org/