Núcleo de Computação Eletrônica Curso de Programação de Computadores Maio a Setembro/2000 Análise e Projeto de Sistemas Unified Modeling Language Renata Araujo Ricardo Storino O que é modelagem Tripé de apoio ao desenvolvimento. • Notação: UML • Processo: RUP – Rational Unified Process • Ferramenta: Rational Rose. 2 O que é modelagem Ajuda a visualizar um sistema como ele é ou como se deseja que ele seja Permite especificar o comportamento e a estrutura de um sistema Oferece uma representação que guiará a construção do sistema Documenta as decisões tomadas pela avaliação das alternativas propostas 3 O que é modelagem Captura dos processos (Use Cases) Melhora da comunicação entre as partes envolvidas (Especialistas e Analistas) Gerência da complexidade permitindo exibir várias Visões dos elementos de modelo Definição da Arquitetura lógica independente das possíveis implementações Permitir o reuso pela criação de componentes 4 O que é modelagem Servir como linguagem para comunicar decisões que não são óbvias ou que não podem ser inferidas Prover uma semântica rica o suficiente para capturar o que é importante a nível tático e estratégico 5 O que é modelagem Auxilia: 6 Avaliação dos riscos Definição do problema Gerenciamento do projeto Modelagem Visual Modelagem Visual é a modelagem utilizando uma notação gráfica padrão. • Sistemas mais fáceis de se comunicarem • A visualização em Gráficos diminui a complexidade • Processos tornam-se mais claros • Define toda a arquitetura de software • Torna a reutilização muito mais significativa 7 O que é UML? UML significa “Linguagem de Modelagem Unificada” A UML combina o melhor de: 8 Conceitos de Modelagem de Dados (Diagramas de Entidade Relacionamento) Modelagem de Negócios (work flow) Modelagem de Objetos Modelagem de Componentes O que é UML? 9 A UML é a padronização da linguagem de desenvolvimento orientado a objetos para visualização, especificação, contrução e documentação de sistemas. Pode ser usada com todos os tipos de processos, em todo o ciclo do desenvolvimento do software. O que é UML? Utiliza o conceito de desenvolvimento iterativo e incremental Se dá através de uma série de iterações Cada iteração consiste de um ou mais processos a saber: 10 Captura de requisitos Modelagem do negócio Análise Projeto Implementação Teste Conceitos da UML A UML pode ser usada para: 11 Mostrar os limites de um sistema e suas funções principais. (Use-cases) Ilustrar as funções básicas do sistema por diagramas de interação. Representar a estrutura estática de sistemas. (Diagramas de Classes) Modelar o comportamento de Objetos com diagramas de estado. A Notação Partes que compõem a UML: Visões Modelos de Elementos Mecanismos gerais Diagramas 12 Visões Tipos de Visões: Visão de Use-cases Visão de Componentes Visão Lógica Visão de Concorrência 13 Modelos de Elementos 14 Classes Objetos Cliente Nome : String Idade : Num Pablo Barros:Cliente Nome : "Pablo Barros" Idade : 20 Criar() Destruir() Criar() Destruir() Modelos de Elementos Estados Componentes Pacotes Relacionamentos 15 Associações Generalizações Diagramas – Diagrama de Use Case <<uses>> Mo vimentar Conta corrente Consulta Historico de Conta Corrente 16 Gerar Histórico Aplicar em Pre Fixados Cliente Diagramas – Diagrama de Classe Cliente 1 possui 0..* refere a Contrato de Aluguel Veículo Alugado 0..1 0..* Tipos de Veículos possui 1 Compahia de Aluguel de Veículos 17 Caminhão Carro Sport Carro de Passeio Diagramas – Diagrama de Estado No Térreo subir (andar) Chegar no térreo Chegar no andar Indo para o térreo Descendo Chegar no andar descer (andar) tempo de espera 18 Subindo Parado subir (andar) Diagramas – Diagrama de Sequência : Computador : Servidor de Impressão Imprimir (arquivo) : Impressora : Fila [Impressora Livre] Imprimir (arquivo) [Impressora Ocupada] Imprimir (arquivo) 19 Diagramas – Diagrama de Componente Gerenciador de Comunicação Gráfic os Comm.dll Grafic os.dll Aplicação App.exe 20 Gerenciador de Banco de Dados Db.dll O Futuro da UML 21 A UML será a base para muitas ferramentas de desenvolvimento, incluindo modelagem visual, simulações e ambientes de desenvolvimento. A integração que a UML trouxe vai acelerar o uso do desenvolvimento de softwares orientados a objetos. Conclusão • Grande aumento no desenvolvimento de Sistemas OO • Softwares Complexos tornam-se mais simples com uma linguagem de modelagem visual • Modelagem visual robusta para todas as fases do desenvolvimento do software 22 Conclusão • Mais facilidade na comunicação entre desenvolvedores • Ferramentas CASE mais poderosas facilitando cada vez mais a programação. 23