Introdução. à UML. Histórico (cont.) Histórico Definição Benefícios Notação Diagrama de Classes Diagramas de Interação Conclusões Revisão



Documentos relacionados
A Linguagem UML. A Linguagem UML. De onde surgiu? Fundadores da UML. História da UML. O que é modelagem?

Análise de Sistemas. Aula 5

Tópicos da Aula. A Linguagem UML. A Linguagem UML. De onde surgiu? Fundadores da UML. Introdução à UML e Diagrama de Casos de Uso.

UML. Trabalho Análise e Projeto de Sistemas. Aluna: Luana Alves Businaro

UML (Linguagem Modelagem Unificada) João Paulo Q. dos Santos

Notas de Aula 03: Introdução a Orientação a Objetos e a UML

Marcelo Henrique dos Santos

Curso de Sistemas de Informação. Karla Donato Fook DESU / DComp. Modelagem de Dados UML

Requisitos de Sistemas

Modelagem Usando Orientação à Objetos (Programação Orientada a Objetos) Prof. Responsáveis Wagner Santos C. de Jesus

UML e seus diagramas

Introdução ao POO (Projeto Orientado a Objetos)

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA UML UNIFIED MODELING LANGUAGE

UML (Unified Modelling Language)

DIAGRAMAS DE CLASSE UML

UML. Adriano J. Holanda 21/3/

UML Visão Geral UML Visão geral v.1.1, Novembro de 2001

UML Diagrama de Atividades Diagrama de Caso de Uso. ENG1518/3VB Sistemas de Informação Gerenciais Prof. Marcos Villas

UML: Introdução. História Visão geral Modelo conceitual da UML. Bibliografia. UML: introdução

1 Introdução. 1.1 Teoria dos Sistemas 23/4/2010

Introdução a UML e seus diagramas

MODELAGEM DE SISTEMAS. Introdução a Computação e Engenharia de Software. Profa. Cynthia Pinheiro

INTRODUÇÃO À ENGENHARIA DE SOFTWARE. Prof.: Tiago Alves

Introdução a UML (Unified Modeling Language)

Q d( ) P. a( ) c( ) e( ) c( ) S. c( ) d( )

Engenharia de Software II e III - Introdução ao Diagrama de Classe

Requisitos de sistemas

MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)

Engenharia de Software II e III - Material para estudo Diagrama de Classe

APÊNDICE D Unified Model Language (UML)

INF1013 MODELAGEM DE SOFTWARE

Ciência da Computação. Análise e Projeto Orientado a Objetos UML. Anderson Belgamo

PUC-GO- ADS: Prof. Vicente P. de Camargo. Desenvolvimento de Aplicações para Cliente Servidor

Visão Geral da UML. SSC Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012

Análise e projeto de sistemas

Diagrama de Classes. Régis Patrick Silva Simão. Régis Simão Diagrama de Classes 1/42

1 Analise de Sistemas

Engenharia de Software Orientada a Objetos - OOSE. Método de Jacobson

Tópicos da Aula. Desenvolvimento Dirigido por Modelos (MDD) Reusar cada vez mais... Reusar cada vez mais... O que é modelagem? Reuso: Código x Modelos

A linguagem de modelagem UML

UML UNIFIED MODELING LANGUAGE LINGUAGEM DE MODELAGEM UNIFICADA

UML Unified Modeling Language Linguagem de Modelagem Unificada

Linguagem de Modelagem Unificada UML

Especificação de Sistemas de Software e a UML

Introdução. Pacote. Classe. UML Diagrama de. Atributo. Classes. Método. Prof. Dr. Enzo Seraphim. Visibilidade

Engenharia de Software

Introdução. Introdução. Introdução. Planejamento da disciplina. Modelagem de Processos de Negócio. Prof.: Clarindo Isaías Pereira da Silva e Pádua

Modelos em Sistemas de Informação. Aula 2

Introdução à UML. Prof. Jesus José de Oliveira Neto

UML - Unified Modeling Language

Panorama da notação UML

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 15 PROFª BRUNO CALEGARO

Modelagem de Classes. Mestrado em Engenharia de Produção e Sistemas Computacionais. Profa. Adriana Pereira de Medeiros

Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades. Diagramas UML. Classe, Seqüência e Atividades. Marcio E. F.

Unified Modeling Language (UML)

Tópicos da Aula. Diretrizes Gerais. Trabalho Prático (TP) Pontuação do TP. Tema do Trabalho. Projeto de Software Diagrama de Classes

Fatec Ipiranga - Engenharia de Software I 18/02/2013. Agenda. 0. Relembrando os Relacionamentos do Diagrama de Classes

Engenharia de Software II e III - Material para estudo Diagrama de Classe

MODELAGEM DE DADOS MÓDULO III - UNIDADE V- MAPEAMENTO OBJETO RELACIONAL

ANÁLISE E PROJETO DE SISTEMAS TÓPICO IV - INTRODUÇÃO A UML

UML Linguagem Unificada de Modelagem (Visão Geral)

Engenharia de Software

UML - Linguagem de Modelagem Unificada

UML Unified Modeling Language Linguagem de Modelagem Unificada Requisitos, Casos de Uso no ArgoUML

Capítulo 5 Modelação do Sistema 1

Programação para Games II. Professor Ariel da Silva Dias Orientação a Objetos

Diagramas de Classes. ESII Profª. Andressa Falcade URI Santiago

15/04/2013. Outro Diagrama de Classes. Primeiro Diagrama de Classes. Diagrama de Classes. Atributos. Eduardo Figueiredo

MODELAGEM DE SISTEMAS Unidade 2 A Linguagem UML. Luiz Leão

Análise de Sistemas. Visão Geral - Orientação a Objetos. Prof. José Honorato Ferreira Nunes

ENGENHARIA DE SOFTWARE. Aula 07 UML - Diagrama de Casos de Uso

Tópicos da Aula. Conceitos de programação orientada a objetos. Projeto orientado a objetos com UML

Diagrama de Comunicação

FUNDAÇÃO UNIVERSIDADE ESTADUAL DE MARINGÁ

SIG SIG. GEO-OMT Exercícios. Alisson Fernando Coelho do Carmo

Aula 4 POO 1 Análise OO. Profa. Elaine Faria UFU

INF1013 MODELAGEM DE SOFTWARE

UML Relacionamentos. Relacionamento é uma conexão entre itens A maioria dos itens relacionam-se entre si. Quatro tipos de relacionamentos:

Engenharia de Software Modelagem de Negócio

Rational Unified Process (RUP)

DS: notação. Falta-nos apenas dar exemplos de DSS que contenham a criação de objectos temporários e sua posterior destruição.

Introdução ao RUP Rational Unified Process

Engenharia de Software. Prof. Me. Clodoaldo Brasilino

SISTEMAS DE INFORMAÇÃO UML UMA VISÃO GERAL

Curso SISTEMAS DE INFORMAÇÃO Série 3 Disciplina Análise e Projeto Orientados a Objetos

Diagrama de Casos de Uso

Curso de Java Módulo Básico

Modelagem de Processos. Prof.: Fernando Ascani

POO Paradigma Orientado a Objetos. POO Paradigma Orientado a Objetos. POO Paradigma Orientado a Objetos. POO Paradigma Orientado a Objetos

UML Linguagem de Modelagem Unificada

INF1404 MODELAGEM DE SISTEMAS

Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios

Análise e Projeto Orientados a Objetos

Introdução à UML. Universidade Federal de Mato Grosso do Sul Sistemas de Informação - CPCX. Prof. Fernando Maia da Mota

UML (Linguagem unificada de modelagem)

Requisitos de Software e UML Básico. Janaína Horácio

Transcrição:

Sumário Introdução à UML BSI Bacharelado em Sistemas de Informação LOO Linguagens Orientadas a Objetos Humberto Mossri de Almeida hmossri_cursos@yahoo.com.br Marcelo Nassau Malta nassau_cursos@yahoo.com.br Histórico Definição Benefícios Notação Diagrama de Classes Diagramas de Interação Conclusões Revisão LOO - Linguagens Orientadas a Objetos 2 Histórico Histórico (cont.) A UML tem origem na compilação das melhores práticas de engenharia de software Começou em 1994 Grady Booch: Método de Booch Jim Rumbaugh: OMT - Object Modeling Technique Em 1995, Ivar Jacobson se juntou a eles OOSE - Object Oriented Software Enginnering A proposta ganhou parceiros como HP, Oracle, Microsoft, James Martin, Unisys, dentre muitos outros LOO - Linguagens Orientadas a Objetos 3 LOO - Linguagens Orientadas a Objetos 4

Histórico (cont.) Em Janeiro de 1997, foi lançada a UML 1.0 A OMG (Object Management Group), que é uma organização internacional que aprova padrões abertos para aplicações orientadas a objetos, demandava a definição de uma linguagem e notação de modelagem padronizada Em novembro de 1997 a OMG aprovou a UML Versão atual: 2.1.1 (www.uml.org) Definição UML significa Linguagem de Modelagem Unificada UML é uma linguagem para especificar, visualizar, construir e documentar os artefatos de sistemas de software (OMG) Pode ser usada com todos os tipos de processos, em todo o ciclo do desenvolvimento do software A UML é independente de linguagem de programação LOO - Linguagens Orientadas a Objetos 5 LOO - Linguagens Orientadas a Objetos 6 Definição (cont.) Definição (cont.) A UML não é: Um processo Uma metodologia Uma linguagem de programação Um conjunto de regras de negócio Um software A UML pode ser usada para: Mostrar os limites de um sistema e suas funções principais (Diagramas de Casos de Uso) Ilustrar as funções básicas do sistema (Diagramas de Interação) Representar a estrutura estática de sistemas (Diagramas de Classes) Modelar o comportamento de Objetos (Diagramas de Estado) LOO - Linguagens Orientadas a Objetos 7 LOO - Linguagens Orientadas a Objetos 8

Definição (cont.) Metodologia X Linguagem de Modelagem Metodologia descreve como modelar um software Linguagem de modelagem descreve como representar graficamente o projeto de um software Uma metodologia pode utilizar uma linguagem de modelagem Definição (cont.) Os diagramas da UML são divididos em três grupos: Estruturais Ex: Diagrama de Classes, Diagrama de Objetos Comportamentais Ex: Diagrama de Casos de Uso, Diagrama de Atividades Interação Ex: Diagrama de Seqüência, Diagrama de Colaboração LOO - Linguagens Orientadas a Objetos 9 LOO - Linguagens Orientadas a Objetos 10 Benefícios Notação Define um mapeamento da análise à implementação sem descartar o desenho Facilita os testes Define uma notação expressiva e consistente Facilita a comunicação entre as pessoas Classe Nome Atributos Operações Ajuda a apontar inconsistências e omissões Suporta o processo de desenvolvimento para grandes e pequenos sistemas LOO - Linguagens Orientadas a Objetos 11 LOO - Linguagens Orientadas a Objetos 12

Classe Abstrata Caracterizada pelo nome em itálico Não pode ser instanciada É possível também utilizar {abstract} após o nome Visibilidade dos métodos e atributos - private # protected + public LOO - Linguagens Orientadas a Objetos 13 LOO - Linguagens Orientadas a Objetos 14 Objeto Semelhante à classe Nome do objeto sublinhado joao : Aluno : Aluno Métodos omitidos Atributos podem exibir valor Nota Utilizada para documentar elementos Torna o modelo inteligível Ligada ao elemento por linha tracejada LOO - Linguagens Orientadas a Objetos 15 LOO - Linguagens Orientadas a Objetos 16

Estereótipos Estende o vocabulário da UML Palavra ou frase entre << >> Colocado acima ou ao lado de um elemento Relacionamentos Descrevem como as classes se interagem Conexão entre dois ou mais elementos Representando por linhas ou setas entre as classes Pode ser utilizado também em atributos ou operações LOO - Linguagens Orientadas a Objetos 17 LOO - Linguagens Orientadas a Objetos 18 Tipos de Relacionamentos Dependência Tipo de Relacionamentos (cont.) Dependência Associação Agregação Composição Generalização Quando um objeto depende da especificação de outro Se a especificação mudar, o objeto dependente deve ser atualizado Representado por uma seta tracejada LOO - Linguagens Orientadas a Objetos 19 LOO - Linguagens Orientadas a Objetos 20

Associação Associação - Papel Indica que um objeto contém outro Representa a navegação entre os objetos Representado por uma linha contínua Sem seta: bidirecional Com seta: navegação em apenas uma direção Identifica o papel de cada classe na associação LOO - Linguagens Orientadas a Objetos 21 LOO - Linguagens Orientadas a Objetos 22 Associação - Multiplicidade Identifica quantos objetos podem tomar parte na instância de uma associação Notação 1 * 1..* x..y Valor Um Qualquer número Pelo menos um Qualquer quantidade entre x e y Associação - Multiplicidade (exemplo) Uma empresa deve ter pelo menos um funcionário e um funcionário deve pertencer a uma e apenas uma empresa LOO - Linguagens Orientadas a Objetos 23 LOO - Linguagens Orientadas a Objetos 24

Agregação Caso particular de associação Indica que uma das classes do relacionamento é uma parte, ou está contida em outra classe Palavras chaves usadas para identificar uma agregação (todo/parte): consiste em contém é parte de Agregação (exemplo) Um carro contém roda LOO - Linguagens Orientadas a Objetos 25 LOO - Linguagens Orientadas a Objetos 26 Composição Caso particular de associação Indica que uma das classes do relacionamento é uma parte, ou está contida em outra classe A parte é dependente do todo (todo/parte) Se o objeto da classe que contém a parte for destruído, os objetos da composição também serão destruídos Composição (exemplo) Um pedido contém itens de pedido LOO - Linguagens Orientadas a Objetos 27 LOO - Linguagens Orientadas a Objetos 28

Generalização Relacionamento entre um elemento mais geral e um outro mais específico Também é chamada de herança O elemento mais específico possui todas as características do elemento geral e ainda contém características particulares É representada através de uma linha contínua com uma seta fechada e vazada apontando para a classe mais genérica Generalização (exemplo) Uma pessoa pode ser física ou jurídica LOO - Linguagens Orientadas a Objetos 29 LOO - Linguagens Orientadas a Objetos 30 Diagrama de Classes Representa a estrutura estática das classes e seus respectivos relacionamentos Diagrama de Classes (cont.) Exemplo de uma locadora de veículos É o diagrama mais importante da UML Serve como base para construção de outros diagramas Diagrama de Objetos, Diagramas de Interação etc. LOO - Linguagens Orientadas a Objetos 31 LOO - Linguagens Orientadas a Objetos 32

Diagramas de Interação Modelam as interações entre os objetos Modelam aspectos dinâmicos do sistema Dois tipos: Diagrama de Colaboração Diagrama de Seqüência Diagramas de Interação (cont.) Diagrama de Colaboração Representam as mensagens que os objetos enviam uns para os outros de acordo com seus relacionamentos Uma mensagem transporta a chamada de uma operação de um objeto para outro Cada mensagem pode estar associada a um número que indica a ordem com que a mensagem é executada LOO - Linguagens Orientadas a Objetos 33 LOO - Linguagens Orientadas a Objetos 34 Diagramas de Interação (cont.) Diagrama de Colaboração (exemplo) LOO - Linguagens Orientadas a Objetos 35 Diagramas de Interação (cont.) Diagrama de Seqüência Modela a seqüência de eventos em um cenário Mostra uma interação organizada em uma seqüência de tempo entre objetos participantes de uma operação e todas as trocas de mensagens Dimensão Vertical: tempo Dimensão Horizontal: objetos envolvidos LOO - Linguagens Orientadas a Objetos 36

Diagramas de Interação (cont.) Diagrama de Seqüência (exemplo) Conclusões A modelagem é fundamental para o sucesso de um processo de software A UML deve estar incorporada ao cotidiano do desenvolvedor de software O uso de uma ferramenta CASE é um fator crítico para usufruir o que a UML tem a oferecer Modelar usando a UML requer quebra de paradigma LOO - Linguagens Orientadas a Objetos 37 LOO - Linguagens Orientadas a Objetos 38 Revisão 1. O que é UML? 2. Qual a diferença entre uma metodologia e uma linguagem de modelagem? 3. Como definir a visibilidade de atributos na UML? 4. Como representar uma classe ou método abstrato? 5. Explique os relacionamentos de agregação, composição e associação. Revisão (cont.) 6. O que multiplicidade? Exemplifique. 7. Cite e explique quais são os dois diagramas de interação da UML? 8. Cite os benefício de usar a UML. 9. O que representa o diagrama de classe. Entregar os exercícios até 10/03/2007 LOO - Linguagens Orientadas a Objetos 39 LOO - Linguagens Orientadas a Objetos 40

Dúvidas LOO - Linguagens Orientadas a Objetos 41