ANÁLISE E PROJETO DE SISTEMAS TÓPICO IV - INTRODUÇÃO A UML
AGENDA Histórico da UML O que é e para que serve a UML Conjunto de diagramas da UML Overview Diagrama de Casos de Uso e Diagrama de Classes
PROBLEMAS DO DESENVOLVIMENTO DE SOFTWARE Requisitos de qualidade não são obtidos. Falta de confiabilidade e robustez do software. Deficiências na identificação dos requisitos e constantes modificações dos mesmos. Imprecisão nas estimativas de custos. Custos de desenvolvimento muito alto Difícil estimativa de tempo Dificuldade e alto custo de manutenção Crescimento da complexidade dos sistemas
Por que modelar? Introdução a UML Redução da complexidade dos sistemas que temos que desenvolver: Simplificação da Realidade por meio de abstração: trata-se de uma forma de reduzirmos a complexidade do mundo real e tratarmos o problema na linguagem de sua solução. Possibilidade de simularmos comportamentos do sistema antes de seu desenvolvimento. NÃO É LINGUAGEM DE PROGRAMAÇÃO! É VISUAL!
Experiências
ENVOLVIDOS 6/29
ENVOLVIDOS 7/29
ENVOLVIDOS CRIAÇÃO DA UML 8/29
CRIAÇÃO DA UML feedback UML 1.5 Aceitação do OMG, Nov 1997 UML 1.3 Submissão Final ao OMG, Set 1997 UML 1.1 Primeira Submissão ao OMG, Jan 1997 Parcerias UML UML 1.0 UML 2.0 Web - Junho 1996 UML 0.9 OOPSLA 95 Unified Method 0.8 Outros Métodos Método Booch OMT OOSE
CONTRIBUIÇÕES À UML Harel Meyer Máquinas de Estados Pré e Pós Condições Booch Booch method Rumbaugh OMT Jacobson Gamma, et al Frameworks e patterns, HP Fusion Descrições de Operações e Numeração de Menssagens Embley Classes Singleton e Visão de Alto Nível Wirfs-Brock OOSE Shlaer - Mellor Ciclos de Vida de Objetos Odell Classificação Responsabilidades
PARCEIROS DAUML NO OMG Rational Software Corporation Hewlett-Packard I-Logix IBM ICON Computing Intellicorp MCI Systemhouse Microsoft ObjecTime Oracle Platinum Technology Taskon Sterling Software Unisys
Mudanças na UML 2.0 Meta-modelo com núcleo composto por: Modelos de Classes; Casos de Uso e Modelos de Seqüência; Existem mais de 50 ferramentas (profissionais e acadêmicas) de modelagem com UML, incluindo recursos de engenharia reversa e geração de código; Possui suporte para várias linguagens Decomposição Hierárquica visão de estrutura/estática visão dinâmica/interação Integração dos elementos de texto aos diagramas
Um Diagrama é uma visão do modelo Apresentado da perspectiva de um patrocinador em particular Fornece uma representação parcial do sistema É semanticamente consistente com outras visões Na UML, há treze diagramas padrão: Comportamentais; Estruturais; De Interação.
MODELOS, VISÕES, DIAGRAMAS
USUÁRIOS DOS SISTEMAS Visão Lógica Visão de Implementação Usuário Final Funcionalidade Visão de Casos de Uso Programadores Gerenciamento de Software Integradores Desempenho Escalabilidade Visão de Processo Conceitual Visão de Instalação/ Distribuição Engenheiros Topologia de Sistema Instalação Comunicação Físico
ARQUITETURA E A UML Visão de Projeto Visão de Implementação Classes, interfaces, colaborações Casos de Uso Casos de Uso Componentes Classes ativas Visão de Processo Visão de Distribuição Pacotes
DIRECIONAMENTOA Nem todos os Diagramas necessitam ser utilizados em todos os projetos; Evite Diagramas estranhos ou redundantes; Utilize apenas informações coerentes para os propósitos da Modelagem; Evite a poluição nos Diagramas; Não simplifique demais os Diagramas; Faça um balanceamento dos Diagramas Comportamentais, Estruturais e Funcionais do Sistema; Utilize nomes significativos nos Diagramas ; Use Ferramentas CASE para desenhar os Diagramas.
O DADO NÃO É MAIS O CENTRO DO PROJETO
DIAGRAMA DE CASO DE USO Mostra um conjunto de Casos de Uso e Atores e seus Relacionamentos. Descreve as funcionalidades do Sistema; Representa quem faz o que (interage) com o sistema, sem considerar o comportamento interno do sistema Visão Funcional
<<actor>> <Almoxarife> Subsistema Compras Acompanhar Estoque Registrar Recebimento Produtos Agendar Pagamento de Duplicata <<actor>> <Funcionário Setor Financeiro> <<actor>> <Funcionário Setor de Compras> Acompanhar Duplicatas a Pagar Elaborar Pedido de Compra Registrar Pagamento Duplicata Acompanhar Pedido de Compra DIAGRAMA DE CASO DE USO
DIAGRAMA DE CLASSE Mostra um conjunto de Classes, Interfaces e Colaborações com seus respectivos relacionamentos. É o Diagrama mais comum na modelagem de Sistema Orientados a Objeto; Visões estrutural e estática
DIAGRAMA DE CLASSE