Uma Visão Geral de UML

Documentos relacionados
UML Diagramas. UML Diagramas. UML Diagrama Diagrama de Classes. UML Diagrama Diagrama de Classes

Modelagem OO com UML. Vítor E. Silva Souza ~ vitorsouza

Unisant Anna Gestão Empresarial com ERP 2014 Modelagem de Sistemas - UML e MER

3.1 Definições Uma classe é a descrição de um tipo de objeto.

Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto

A Linguagem de Modelagem Unificada (UML)

Wilson Moraes Góes. Novatec

Diagrama de Classes. Um diagrama de classes descreve a visão estática do sistema em termos de classes e relacionamentos entre as classes.

UNIVERSIDADE DO ESTADO DE SANTA CATARINA - UDESC DCC Departamento de Ciência da Computação Joinville-SC

Engenharia de Software I: Análise e Projeto de Software Usando UML

Modelagem de Processos. Prof.: Fernando Ascani

2 Diagrama de Caso de Uso

Engenharia de Requisitos Estudo de Caso

Modelagem de Casos de Uso (Parte 1)

Felipe Denis M. de Oliveira. Fonte: Alice e Carlos Rodrigo (Internet)

Uma visão mais clara da UML Sumário

Unified Modeling Language UML - Notações

O Processo Unificado: Captura de requisitos

Engenharia de Software I

O que é a UML? Introdução a UML. Objetivos da Modelagem. Modelos. A UML não é. Princípios da Modelagem. O que é um modelo?

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

ANÁLISE E PROJETO ORIENTADO A OBJETOS. Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com

UML: Unified Modeling Language. Graduação em Informática 2008 Profa. Itana Gimenes

Itens estruturais/caso de uso. Itens estruturais/classe ativa. Itens estruturais/componente. Itens estruturais/artefatos. Itens comportamentais

Sumário. Uma visão mais clara da UML

UML - Unified Modeling Language

BPMN - Business Process Modeling and Notation

Modelos de Sistema by Pearson Education. Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 8 Slide 1.

UML Itens Estruturais - Interface

1 UML (UNIFIED MODELING LANGUAGE)

Análise e Projeto Orientados por Objetos

Uma Abordagem usando PU

MC536 Bancos de Dados: Teoria e Prática

Programa do Módulo 2. Fundações do Modelo Objeto

ENGENHARIA DE SOFTWARE Prof. Ricardo Rodrigues Barcelar

Modelagemde Software Orientadaa Objetos com UML

Conteúdo. Disciplina: INF Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo

UML Aspectos de projetos em Diagramas de classes

TRABALHO DE DIPLOMAÇÃO Regime Modular ORIENTAÇÕES SOBRE O ROTEIRO DO PROJETO FINAL DE SISTEMAS DE INFORMAÇÕES

Diagrama de Caso de Uso e Diagrama de Sequência

UML: Diagrama de Classes

Tópicos em Engenharia de Software (Optativa III) AULA 2. Prof. Andrêza Leite (81 )

Mapa Mental de Engenharia de Software - Diagramas UML

Análise e Projeto Orientado a Objetos

Análise e Projeto de Sistemas

UML Aula III Diagramas de Estado, Atividades, Componentes e Instalação

4 O Workflow e a Máquina de Regras

Engenharia de Software na Prática Hélio Engholm Jr.

Engenharia de Software

Notas de Aula 04: Casos de uso de um sistema

Engenharia de Software I

Conteúdo. Disciplina: INF Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo

Estudo de Caso. Caixa Eletrônico. Deitel & Deitel. Java como Programar 6a edição

Introdução à Engenharia de Software

UML. Diagrama de Seqüência

FMR Faculdade Marechal Rondon Gestão de Sistemas de Informação Prof. Ms. Elvio Gilberto da Silva

Diagramasde Interação. Prof. Anderson Cavalcanti UFRN-CT-DCA

Processo de Desenvolvimento Unificado

Modelagem de Processos. Prof.: Fernando Ascani

Sistemas para internet e software livre

Levantamento, Análise e Gestão Requisitos. Aula 04

BPMN. Business Process Modeling Notation. Leandro C. López Agosto

CASO DE USO. Isac Aguiar isacaguiar.com.br

QUESTÃO 01 - DIAGRAMA DE SEQUENCIA (CONCEITOS)

Modelagem de Software Prof. Flávio de Oliveira Silva, Ph.D.

Um modelo é uma simplificação da realidade. Construímos modelos para compreender melhor o sistema que estamos desenvolvendo.

A linguagem UML. UML e Diagramas de Casos de Uso e Classes. Por que usar UML? O que é modelagem?

Orientação à Objetos. Aécio Costa

Tópicos em Engenharia de Computação

Modelagem de Sistemas Prof. Marcos Roberto e Silva

Engenharia de Software

BPMN Business Process Modeling Notation

Engenharia de Software III

UML 2. Gilleanes T. A. Guedes. Novatec

Uma visão mais clara da UML Sumário

Aspectos técnicos do desenvolvimento baseado em componentes

QUESTÃO 2: A respeito do diagrama de caso de uso apresentado, assinale a alternativa correta.

4.2. UML Diagramas de classes

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

Rock In Rio - Lisboa

PROGRAMAÇÃO AVANÇADA -CONCEITOS DE ORIENTAÇÃO A OBJETOS. Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br

Padrões de projeto 1

UML: Diagrama de Casos de Uso, Diagrama de Classes

Casos de Uso - definições

Concepção e Elaboração

Modelagem de Casos de Uso! Um modelo funcional

Um Processo para Desenvolvimento de Aplicações Web Baseado em Serviços. Autores: Fábio Zaupa, Itana Gimenes, Don Cowan, Paulo Alencar e Carlos Lucena

UML e a Ferramenta Astah. Profa. Reane Franco Goulart

Capítulo 6. Criando um Diagrama de Caso de Uso Inicial

Persistência e Banco de Dados em Jogos Digitais

UML 2. Guia Prático. Gilleanes T.A. Guedes. Novatec. Obra revisada e ampliada a partir do título Guia de Consulta Rápida UML 2

Faculdade Lourenço Filho - ENADE

Estudo de Caso Sistema de Caixa Automático

Histórico da Orientação a Objetos Ciclo de vida de Desenvolvimento de SW

do grego: arkhé (chefe ou mestre) + tékton (trabalhador ou construtor); tekhne arte ou habilidade;

Relacionamentos entre classes

Desenvolvimento Baseado em Componentes e o Processo UML Components

Para cada fase consideramos. Tempo para um projeto típico Tempo para um projeto Complexo. Arquitetura do Processo Unificado. A meta a ser atingida

Unified Software Development Process

Transcrição:

Uma Visão Geral de UML Prof. Fabio Kon IME/USP Apresentação baseada em slides de Kendall V. Scott 1

Linguagem de Modelagem Unificada UML é uma linguagem padrão da OMG para visualização, especificação, construção e documentação de software orientado a objetos. 2

Visualização A existência de um modelo visual facilita a comunicação e faz com que os membros de um grupo tenham a mesma idéia do sistema. Cada símbolo gráfico tem uma semântica bem definida. 3

Especificação É uma ferramenta poderosa para a especificação de diferentes aspectos arquiteturais e de uso de um sistema. 4

Construção Geração automática de código a partir do modelo visual Geração do modelo visual a partir do código Ambientes de desenvolvimento de software atuais permitem: movimentações em ambos sentidos e manutenção da consistência entre as duas visões. 5

Documentação Pode incluir artefatos como: Deliverables (documentos como especificação de requisitos, especificações funcionais, planos de teste, etc.). Materiais que são importantes para controlar, medir, e refletir sobre um sistema durante o seu desenvolvimento e implantação. 6

Descrição Arquitetônica UML oferece uma forma padrão de se desenhar as plantas (como em arquitetura) de um sistema de forma a incluir aspectos abstratos (processos de negócio, funcionalidades do sistema) aspectos concretos (classes C++/Java esquemas de bancos de dados, componentes de software reutilizáveis) 7

Razões para Modelar Comunicar a estrutura e o comportamento desejado de um sistema. Visualizar e controlar a arquitetura de um sistema. Para melhorar o nosso entendimento de um sistema e, assim, expor oportunidades para melhorias e reutilização. Para administrar os riscos e trade-offs. 8

Diagramas Estruturais Usados para visualizar, especificar, construir e documentar aspectos estáticos de um sistema diagrama de classes diagrama de pacotes diagrama de objetos diagrama de componentes diagrama de implantação 9

Usos Comuns para Diagramas de Classes Modelar o vocabulário do sistema, em termos de quais abstrações fazem parte do sistema e quais caem fora de seus domínios. Modelar as colaborações/interações (sociedades de elementos que trabalham em conjunto oferencendo algum comportamento cooperativo). Modelagem lógica dos dados manipulados pelo sistema (servindo de base para a definição formal do modelo da base de dados). 10

Notação para Classes Nome Atributos Operações 11

Notações Alternativas Nome Atributos Operações Nome Nome Atributos Operações itálico abstrata Responsabilidades 12

Especificação do Acesso Nome + atrib1 - atrib2 + op1 - op2 # op3 + public - private # protected 13

Relacionamentos São conexões entre classes: 1. dependência 2. generalização 3. associação 14

Dependência É uma relação do tipo usa na qual mudanças na implementação de uma classe podem causar efeitos em outra classe que a usa. Exemplo: uma classe usa a outra. Window handleevent() Event 15

Generalização É uma relação do tipo é um entre uma coisa geral (superclasse) e uma coisa mais específica (subclasse). Shape Circle Rectangle 16

Associação É uma relação estrutural na qual classes ou objetos estão interconectados. Uma associação entre objetos é chamada de uma ligação (link). Pessoa Empresa 17

Ornamentos para Associações nome papel multiplicidade agregação composição 18

Nome da Associação descreve a natureza da relação: Pessoa trabalha p/ Empresa pode indicar a direção: Pessoa trabalha p/ Empresa 19

Papéis Classes e objetos podem assumir papéis diferentes em diferentes momentos. Pessoa empregado empregador Empresa 20

Multiplicidade Valores possíveis: valor exato, intervalo, ou * para muitos. Exemplo: Pessoa 1..* 1 Empresa 21

Agregação É uma relação do tipo todo/parte ou possui um na qual uma classe representa uma coisa grande que é composta de coisas menores. Instituto Departamento ( diamante vazio ) 22

Composição É um tipo especial de agregação na qual as partes são inseparáveis do todo. Window Frame ( diamante cheio ) 23

Classes de Associação Uma classe de associação possui as propriedades de classes e de associações: Pessoa Empresa Emprego descrição datadecontratação salário 24

Interfaces É uma coleção de operações que possui um nome. É usada para especificar um tipo de serviço sem ditar a sua implementação. Observer «interface» Observer update() 25

Interfaces e Relacionamentos Uma interface pode participar de generalizações, associações e dependências. Tracker Observer Observation Periodic Observer 26

Realização É uma relação entre uma interface e a classe que a implementa, i.e., que provê o serviço definido pela interface. «interface» Observer update() TargetTracker Observer Uma classe pode realizar (implementar) várias interfaces. 27

28

Ornamentos e Extensibilidade Um ornamento é algo como uma nota que adiciona texto ou algum elemento gráfico ao modelo. UML oferece vários mecanismos que podem ser utilizados para estender a linguagem oficial. estereótipos valores rotulados (tagged values) restrições 29

Notas É um símbolo gráfico contendo texto ou figuras oferecendo algum comentário ou detalhes sobre um elemento de um modelo. Check with Mike on this. See http://www. softdocwiz.com See encrypt.ps 30

Estereótipos É uma extensão do vocabulário de UML que permite a criação de um tipo básico novo que é específico ao problema que está sendo resolvido. «interface» Observer «control» TargetTracker update() 31

Estereótipos Padrão em UML cerca de 50, incluindo: become (indica uma dependência na qual um objeto se torna outro) enumeration (especifica um tipo enumerado incluindo seus possíveis valores) utility (uma classe na qual todos os valores e atributos pertencem à classe (e não às suas instâncias) 32

Valores Rotulados Permite a especificação de propriedades de elementos de um modelo: GL Account {persistent} TargetTracker {release = 2.0} 33

Restrições Especifica uma condição que deve ser satisfeita pelo sistema. Portfolio {secure} Bank Account {or} Person Corporation 34

Pacotes Um mecanismo para organizar elementos de um modelo (classes, diagramas, etc. ) em grupos. Cada elemento de um modelo pertence a um único pacote. O seu nome dentro do pacote deve ser único. 35

Um Diagrama de Pacotes Arcabouço para construção de sistemas distribuídos adaptativos (de Francisco Silva 2 ). 36

Diagrama de Objetos Mostra um conjunto de objetos e seus relacionamentos em um certo instante em tempo de execução. ime: Instituto comp: Departmento nome = MAC p2: Pessoa ID = 87684 p1: Pessoa ID = 84724 : Contato ramal = 6000 37

Componente É uma parte de um sistema que pode ser substituída e que oferece uma implementação de um conjunto de interfaces. Exemplos práticos: Biblioteca de carga dinâmica (DLL) Componente CORBA Enterprise Java Bean (EJB) 38

Notação para Componentes Escalonador ----------- ---------- ---------- ---------- ---------- ---------- signal.cpp 39

40

Nó Representa um elemento físico capaz de oferecer recursos computacionais. Em geral, possui pelo menos memória e processador. 41

Diagrama de Implantação : Kiosk deploys user.exe c: Console deploys config.exe «10-T Ethernet» «RS-232» s: Server deploys dbadmin.exe : RAID farm 42

Diagrama de Implantação : Client deploys mozilla.exe * 1 w: WebServer deploys apache «HTTP» a: AppServer deploys JBoss «Fast Ethernet» : RAID farm 43

Diagramas Comportamentais Usados para visualizar, especifcar, construir e documentar aspectos dinâmicos de um sistema diagrama de casos de uso diagrama de seqüência diagrama de colaboração diagrama de estados diagrama de atividades 44

Casos de Uso e Atores Um caso de uso é uma seqüência de ações, incluindo variantes, que um sistema realiza a fim de gerar um resultado observável de interesse para um ator. Um ator é um papel (ou conjunto de papéis) que um usuário desempenha quando participa de um caso de uso. 45

Fluxos de Eventos O fluxo de eventos principal descreve o caso em que tudo corre bem. Fluxos de eventos excepcionais cobrem as variações que podem ocorrer quando diferentes coisas dão errado ou quando algo pouco comum acontece. 46

Um Diagrama de Caso de Uso Compra Material Gera Relatório de Compra Atualiza Estoque 47

Organização de Casos de Uso pacotes generalização inclusão extensão 48

Pacotes de Casos de Uso Pode ser útil para distribuir trabalho para subgrupos de trabalho. Estoque Cria Novo Estoque Visualiza Estoque Agrega Estoques Gera Relatório Mensal 49

Generalização Análoga à generalização/especialização de classes. Verifica Senha Autentica Usuário Analisa Impressão Digital 50

Inclusão O estereótipo «include» indica que um caso inclui o outro. Permite fatorar comportamento comum a vários casos. Encomenda Livro «include» Autentica Usuário «include» Rastreia Encomenda 51

Extensão Pode-se usar o estereótipo «extend» para indicar que um caso estende o outro. Útil para fatorar comportamento incomum/não-padrão. Encomenda Livro «extend» Encomenda Urgentíssima 52

53

Interações e Mensagens Uma interação é um comportamento composto da troca de um conjunto de mensagens entre um grupo de objetos a fim de atingir um determinado objetivo. Uma mensagem é uma comunicação entre objetos que resulta na transmissão de informação com o intuito de que alguma atividade será realizada. 54

Diagrama de Seqüência É um diagrama de interações que enfatiza a ordem temporal das mensagens. Uma linha de vida é uma linha tracejada vertical que representa o tempo de vida de um objeto. Um foco de controle é um retângulo fino vertical sobreposto à linha de vida que mostra o período durante o qual um objeto está realizando uma ação. 55

Diagrama de Seqüência c: Client : Ticket Agent «create» setitinerary(i) route calculateroute() 56

57

Diagrama de Colaboração É um diagrama de interação que enfatiza a organização dos objetos que participam da interação. Um caminho é uma ligação entre objetos, possivelmente com um estereótipo «local». Números de seqüência indicam a ordem temporal das mensagens em um ou mais níveis. 58

Diagrama de Colaboração c: Client : Transaction 1: «create» 2: setactions (a,d,o) 3: «destroy» «global» 2.1: setvalues(d,3,4) 2.2: setvalues(a, CO ) p: ODBCProxy 59

60

Diagrama de Estados Diagrama de Estados Representa os possíveis estados que um sistema pode assumir e as possíveis transições entre os estados 61

62

Diagrama de Atividades É um tipo específico de Diagrama de Estados Útil para modelar fluxo de trabalho (workflow) Representa as atividades que afetam o estado do sistema e os fluxos que levam de uma atividade a outra. É usado para modelar processos de negócio e workflows 63

Exemplo de Diagrama de Atividade Dormir [despertador toca] Levantar Tomar café Filho se prepara Escovar dente Vestir-se estômago: órgão Sair uninho: Carro 64

That s All Folks! Por hoje é só pessoal! 65