Linguagem de Modelagem Unificada

Documentos relacionados
UML Visão Geral. Índice. Introdução. Diagramas. Modelos e diagramas. Elementos de modelação. Referências

UML Visão Geral. Slides baseados em material disponibilizado pela Rational e adaptação da tradução de João P. Faria Univ. Do Porto.

Introdução a UML. Agenda. Definição Histórico Contribuições Diagramas Observações. Cleidson de Souza (Rodrigo Reis)

modelagem do negócio (processos e objetos do negócio) modelagem de requisitos alocados ao software modelagem da solução de software

Fundamentos de Banco de Dados e Modelagem de Dados

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

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

Modelagem de Processos. Prof.: Fernando Ascani

Unified Modeling Language. Diagramas de Implementação

Unified Software Development Process

Ciência da Computação ENGENHARIA DE SOFTWARE. UML-Unified Modeling Language Linguagem de Modelagem Unificada

Wilson Moraes Góes. Novatec

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

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

Introdução ao RUP Rational Unified Process. por Denize Terra Pimenta Outubro/2004

UML e a Ferramenta Astah. Profa. Reane Franco Goulart

UML Linguagem de Modelagem Unificada

Orientação a Objetos I

Análise e Projeto Orientados a Objeto

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

Marcelo Henrique dos Santos

Introdução a UML. Introdução a UML (Unified Modeling Language)

Diagrama de Estrutura Composta

Autoria:Aristófanes Corrêa Silva Adaptação: Alexandre César M de Oliveira

Diagramas de Casos de Uso

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

Apresentar os conceitos básicos da metodologia de desenvolvimento Processo Unificado, utilizando como aporte o Processo Unificado Rational RUP

Programa do Módulo 2. Métodos Orientados a Objetos - MOO

UML - Unified Modeling Language

Capítulo 8. Introdução UML

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

Curso: Engenharia de Software com Ênfase em Padrões de Software (UECE Universidade Estadual do Ceará) RUP

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

Engenharia de Software

Análise e Projeto de Sistemas. O que é modelagem. O que é modelagem. Tripé de apoio ao desenvolvimento. Notação: UML. Ferramenta: Rational Rose.

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

Micro Mídia Informática Fevereiro/2009

PRÓ-REITORIA DE ENSINO DE GRADUAÇÃO (PROENG) ASSESSORIA DE DESENVOLVIMENTO ASSESSORIA JURÍDICA

UML (Unified Modelling Language)

3. Fase de Planejamento dos Ciclos de Construção do Software

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

Utilizando os Diagramas da UML (Linguagem Unificada de Modelagem) para desenvolver aplicação em JSF

RUP. Evolução. Principais Características do RUP. Principais Características do RUP RUP

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

CURSO DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS

UML 01. Curso Superior de Tecnologia em Banco de Dados Disciplina: Projeto de Banco de Dados Relacional 1 Prof.: Fernando Hadad Zaidan

ATENAS: Um Sistema Gerenciador de Regras de Negócio

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

O modelo unificado de processo. O Rational Unified Process, RUP.

Projetar Arquitetura

PROJETO DE FÁBRICA DE SOFTWARE

Desenvolvimento estruturado versus orientado a objetos.

Fase 1: Engenharia de Produto

Unidade II MODELAGEM DE PROCESSOS

REQUISITOS DE SISTEMAS

UML: Casos de Uso. Projeto de Sistemas de Software

Modelação OO UML Conceitos. Evolução do Desenvolvimento de Software

1 UML (UNIFIED MODELING LANGUAGE)

A Importância da Disciplina de Análise & Design para uma Aplicação. Ivan Zilotti Alencar 01/06/2006 ialencar@gmail.com

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

Engenharia de Software Engenharia de Requisitos. Análise Orientada a Objetos Prof. Edison A M Morais prof@edison.eti.


Ricardo Pereira e Silva UML 2. Modelagem Orientada a Objetos. Visual. Books

UML (Unified Modeling Language) Linguagem de Modelagem Unificada

! Introdução. " Motivação para Processos de Software. ! Processo Unificado (USDP) " Definições " RUP x USDP " Características do Processo Unificado

Estruturação de Descrições de Casos de Uso através de Mecanismos de Extensibilidade da UML

Diagramas de Componentes

Aula 5 UML: Casos de Uso

Introdução ao Processo Unificado (PU)

Ferramenta para Geração de Código a partir da Especialização do Diagrama de Classes

Capítulo 2. Processos de Software Pearson Prentice Hall. Todos os direitos reservados. slide 1

Análise e Projeto OO com UML. Lição 3 Especificação e Modelagem de Requisitos com UML

04/07/2015 UML. Prof. Esp. Fabiano Taguchi DEFINIÇÃO DE REQUSIITOS

ANÁLISE E PROJETO OO & UML 2.0

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

Processo de Desenvolvimento Unificado

O Processo Unificado

Gestão de projectos na Web

Introdução à Orientação a Objetos e UML

ENGENHARIA DE SOFTWARE Prof. Ricardo Rodrigues Barcelar

Software é um produto conceitual e lógico. Software é mais complexo do que qualquer outro produto construídos por seres humanos

UML & Padrões. Aula 1 Apresentação. Profª Kelly Christine C. Silva

Unified Process. Sueleni Mendez Batista. Orientadora: Dra. Elisa Hatsue Moriya Huzita

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

ESTENDENDO A UML PARA REPRESENTAR RESTRIÇÕES DE INTEGRIDADE

UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO DEPARTAMENTO DE ESTATÍSTICA E INFORMÁTICA BACHARELADO EM SISTEMAS DE INFORMAÇÃO RAPID APPLICATION DEVELOPMENT

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

Tarciane Andrade.

Transcrição:

Linguagem de Modelagem Unificada A UML é uma linguagem para visualização especificação construção documentação de artefatos de um sistema com uma componente intensiva de software (software intensive system) UML não é uma metodologia não diz quem deve fazer o quê, quando e como UML pode ser usado segundo diferentes metodologias, tais como RUP (Rational Unified Process), FDD (Feature Driven Development), etc. UML não é uma linguagem de programação Estes slides estão baseados em material disponível na internet pela Rational Software. Foi utilizada tradução de João Pascoal Faria, Univ. do Porto

Histórico UML public feedback Minor revisions UML 2.1, 2007 Major revision UML 2.0, 2003 Minor revisions 1.3, 1.4, 1.5 OMG Acceptance, Nov 1997 Final submission to OMG, Sep 97 First submission to OMG, Jan 97 UML partners UML 2.0, 2.1 UML 1.3, 1.4, 1.5 UML 1.1 UML 1.0 Web - June 96 UML 0.9 OOPSLA 95 Unified Method 0.8 Other methods Booch method OMT OOSE

Unificação de métodos e formalismos Rumbaugh OMT Booch Booch method Meyer Before and after conditions Harel Statecharts Gamma, et al Frameworks and patterns, HP Fusion Operation descriptions and message numbering Embley Singleton classes and high-level view Jacobson OOSE Shlaer - Mellor Object lifecycles Odell Classification Wirfs-Brock Responsibilities

Vantagens da UML É um padrão aberto versão 1.1 aprovada pelo OMG (Object Management Group) em Novembro de 1997 Suporta todo o ciclo de vida do software modelagem do negócio (processos e objetos do negócio) modelagem de requisitos alocados ao software modelagem da solução de software Suporta diversas áreas de aplicação É baseada na experiência e necessidades da comunidade de usuários É suportada por muitas ferramentas

Parceiros UML Rational Software Corporation Hewlett-Packard I-Logix IBM ICON Computing Intellicorp MCI Systemhouse Microsoft ObjecTime Oracle Platinum Technology Taskon Texas Instruments/Sterling Software Unisys

Modelos, Diagramas e Visões (1.x) Use Case Use Case Diagramas de Sequência Use Case Use Case Diagramas de Casos de Uso State State Diagramas de Classes State State Diagramas de Objetos Scenario Scenario Diagramas de Colaboração Modelos State State Diagramas de Componentes Scenario Scenario Diagramas de Estados Diagramas de Atividades Component Component Diagramas de Implantação Um modelo é uma descrição completa de um sistema a partir de uma perspectiva particular.

Exemplo básico Hello World! import java.awt.graphics; class HelloWorld extends java.applet.applet { public void paint (Graphics g) { g.drawstring("hello, World!", 10, 10); } }

Modelos, Diagramas, Visões e Elementos (1) Um modelo é uma representação em pequena escala, numa perspectiva particular, de um sistema existente ou a criar Ao longo do ciclo de vida de um sistema são construídos vários modelos, sucessivamente refinados e enriquecidos Um modelo é constituído por um conjunto de diagramas (desenhos) consistentes entre si, acompanhados de descrições textuais dos elementos que aparecem nos vários diagramas

Modelos, Diagramas, Visões e Elementos (2) Um diagrama é uma visão sobre um modelo De acordo com o interesse de uma das partes envolvidas (stakeholder) Proporciona uma representação parcial do sistema Deve ser semanticamente consistente com outras visões Na UML 1.5, há 9 diagramas padrões e 3 de organização Diagramas de visão estática: casos de uso (use case), classes, objetos, componentes, implantação (deployment) Diagramas de visão dinâmica: sequência, colaboração, estados (statechart), actividades Diagramas de organização: pacotes, subsistemas e modelos O mesmo elemento (exemplo: classe) pode aparecer em vários diagramas de um modelo

Diferentes Visões Visão de Design Visão de implementação Classes, interfaces, collaborations Use cases Use Case View Components Visão de Processo Visão de implantação Active classes Nodes Organização Comportamento

Diagramas na UML 2.x Diagrama UML Diagrama Estrutural Diagrama de Classe Diagrama de Objetos Diagrama Comportamental Diagrama de Casos de Uso Diagrama de Atividades Diagrama de Componentes Diagrama de Implantação Diagrama de Pacotes Diagrama de Estruturas Compostas Diagrama de Máquinas de Estados Diagrama de Interação Diagrama de Seqüência Diagrama de Comunicação Diagrama de Visão Geral de Interação Diagrama de Temporização

Elementos de Modelagem (1) Elementos estruturais classe, interface, colaboração, caso de uso, classe ativa, componente, nó Elementos de comportamento interação, máquina de estados Elementos de agrupamento pacote (package), subsistema Outros elementos nota Fonte: Grady Booch

Elementos de Modelagem (2) Relações Dependência Associação Generalização Realização (realization) Fonte: Grady Booch Mecanismos de extensibilidade Estereótipos Propriedades (tagged values) Restrições (constraints) Fonte: Grady Booch

Diagrama de Casos de Uso (Use Case Diagram) Captura a funcionalidade do sistema tal como é visto pelos utilizadores Construído nos primeiros estágios do desenvolvimento Objetivo Especificar o contexto de um sistema Capturar os requisitos funcionais de um sistema Validar a arquitetura de um sistema Dirigir a implementação e gerar casos de teste Desenvolvido por analistas e especialistas de domínio

Diagrama de Casos de Uso (Use Case Diagram) Fonte: Grady Booch

Diagrama de Classes Captura o vocabulário de um sistema Construído e refinado ao longo do desenvolvimento Objetivo Nomear e modelar conceitos do domínio Especificar esquemas lógicos de bases de dados Especificar programas OO Desenvolvido por analistas, designers e implementadores

Diagrama de Objetos Mostra objetos (instâncias de classes) e ligações (instâncias de associações) Construído durante a análise e design Objetivo Ilustrar estruturas de dados/objetos Especificar instantâneos (snapshots) Desenvolvido por analistas, designers e implementadores

Diagrama de Componentes Captura a estrutura física da implementação (tipicamente arquivos) Construído como parte da especificação da arquitetura Objetivo Organizar o código fonte Construir uma release executável Especificar uma base de dados física Desenvolvido por arquitetos e programadores

Diagrama de Implantação (Deployment Diagram) Captura a topologia do hardware de um sistema Construído como parte da especificação da arquitetura Objetivo Especificar a distribuição de componentes Identificar estrangulamentos de desempenho Desenvolvido por arquitetos, engenheiros de redes, e engenheiros de sistemas

Diagrama de Sequência Captura comportamento dinâmico (orientado ao tempo) Objetivo Modelar fluxos de controle Ilustrar cenários típicos

Diagrama de Colaboração Captura comportamento dinâmico (orientado a mensagens) Objetivo Modelar fluxo de controle Ilustrar a coordenação entre estrutura de objetos e controle

Diagrama de Estados (Statechart Diagram) Captura comportamento dinâmico (orientado a eventos) Objetivo Modelar ciclo de vida de objetos Modelar objetos reativos (interfaces com o utilizador, dispositivos, etc.)

Diagrama de Actividades Captura comportamento dinâmico (orientado a atividades) Objetivo Modelar processos de negócio e workflows Modelar operações (algoritmos)