Recursos de UML (Unified Modeling Language) UML DEFINIÇÃO: É uma linguagem padrão para visualização, especificação, construção, e documentação dos objetos de um sistema software intensivo. A UML combina o melhor de: – Modelagem de dados – Modelagem de negócios – Modelagem de objetos – Modelagem de componentes UML Conceitos UML • A UML pode ser usada para modelar visualmente: – A interação da sua aplicação com o mundo externo. – O comportamento da sua aplicação. – A estrutura do seu sistema. – A arquitetura da sua empresa. – Os componentes do seu sistema. UML A notação da UML • As fases de análise de requisitos , análise e design utilizam-se em seu desenvolvimento cinco tipos de visões , nove tipos de diagramas e vários modelos de elementos que serão utilizados na criação dos diagramas e mecanismos gerais . • Todos em conjunto especificam e exemplificam a definição do sistema, tanto a definição no que diz respeito à funcionalidade estática e dinâmica do desenvolvimento de um sistema. UML UML – Modelo de Elementos • Um modelo de elemento é definido com a semântica, a definição formal do elemento com o exato significado do que ele representa sem definições duvidosas ou ambíguas e também define sua representação gráfica que é mostrada nos diagramas da UML. – Um elemento pode existir em diversos tipos de diagramas , mas existem regras que definem que elementos podem ser mostrados em que tipos de diagramas. • Alguns exemplos de modelos de elementos são as classes, objetos, estados , pacotes e componentes . • Os relacionamentos também são modelos de elementos , e são usados para conectar outros modelos de elementos entre si. UML Notas • Para permitir adicionar informações a um modelo, UML provê a capacidade de adicionar Notas . – Uma Nota pode ser colocada em qualquer lugar em um diagrama, e pode conter qualquer tipo de informação. UML Estendendo a UML • Estereótipos podem ser usados para estender os elementos da notação UML. • Estereótipos podem ser usados para classificar e estender associações, relacionamentos de herança, classes, e componentes. • Exemplos – – – – Estereótipos de classe: interface, exception, server page Estereótipos de associação: identifying, non-identifying Estereótipos de dependência: include, extend Estereótipos de componentes: subsystem UML Como eu construo um modelo? • Um sistema é composto por diversos aspectos : – funcional (que é sua estrutura estática e suas interações dinâmicas ), – não funcional (requisitos de tempo, confiabilidade, desenvolvimento, etc.) – aspectos organizacionais (organização do trabalho, mapeamento dos módulos de código, etc.). • Modelos são construídos usando visões para descrever perspectivas diferentes e diagramas para descrever os blocos de construção do sistema. UML UML – Visões • Então o sistema é descrito em um certo número de visões , cada uma representando uma projeção da descrição completa e mostrando aspectos particulares do sistema. UML Visão de Casos de Uso • O Visão de Casos de Uso é o “núcleo” das outras views porque ele especifica O QUE o sistema deve fazer. UML Visão Lógica • A Visão Lógica dá suporte aos requerimentos funcionais do sistema. UML Visão de Processos • A Visão de Processos visa a performance, escalabilidade, e o rendimento do sistema. UML Visão de Implantação • A Visão de Implantação tem como prioridade temas como implantação, instalação, e performance. UML Diagramas • Os diagramas utilizados pela UML são compostos de nove tipos: – Diagrama de Casos de Uso – Diagrama de Classes – Diagrama de Objetos – Diagrama de Estados – Diagrama de Sequência – Diagrama de Colaboração – Diagrama de Atividade – Diagrama de Componentes – Diagrama de Execução UML Requisitos de Sistema • Antes de começar a modelagem do sistema, é elaborado um documento chamado Especificação de Requisitos de Sistema. – Este documento contém todas as funcionalidades, restrições e outros tipos de requisitos do sistema • A partir deste documento, o primeiro passo da modelagem é mapear os requisitos funcionais para um ou mais Diagramas de Casos de Uso. DIAGRAMA DE CASO DE USO DIAGRAMA DE CASO DE USO • Diagramas de Casos de Uso (Use Cases) foram propostos inicialmente por Ivar Jacobson em 1986, na técnica OOSE. (Chegaram a ser chamados de Usage Scenarios e Usage Cases, mas os termos não soavam bem em inglês). Forma mais tarde adotados por Rumbaugh na OMT 2.0 e incorporados à UML. • Cada caso de uso descreve cenários que indica como o sistema deve reagir à ação de atores de maneira a executar alguma função, ou atingir algum objetivo específico. DIAGRAMA DE CASO DE USO São bastante úteis para descrever os requisitos funcionais de um sistema. • Apesar de utilizados amplamente em modelagem OO, podem ser utilizados em outros contextos, já que os casos de uso, por natureza, não são OO. • Descrevam o comportamento do sistema. • Especifica os argumentos funcionais que determinarão a macroarquitetura do sistema. • Não descreve a organização interna do software. DIAGRAMA DE CASO DE USO Análise de Caso de Uso • A análise de caso de uso é uma técnica para capturar os processos da empresa a partir da perspectiva do usuário. DIAGRAMA DE CASO DE USO Modelo de Casos de Uso •É um modelo de casos de uso é a representação das funções e ambiente do sistema. • É criado através da Visão de Casos de Uso e pode possuir os seguintes artefatos – Diagramas de Casos de Uso – Fluxo de eventos de Casos de Uso – Informações Suplementares – Diagramas de Atividades DIAGRAMA DE CASO DE USO • A modelagem de um Diagrama de Casos de Uso é uma técnica usada para descrever e definir os requisitos funcionais de um sistema. • Eles são escritos, geralmente, em termos de atores externos e casos de uso. • Os atores representam o papel de uma entidade externa ao sistema como um usuário, um hardware, ou outro sistema que interage com o sistema modelado. DIAGRAMA DE CASO DE USO Caso de Uso • Um caso de uso é uma seqüência de ações feitas pelo sistema que buscam um valor mensurável para um ator. • Na UML, um caso de uso é representado por um elipse Use Case DIAGRAMA DE CASO DE USO Atores • Um ator é alguém ou alguma coisa fora do sistema que interage com o mesmo. • Na UML, um ator é representado por um “homem-palito.” DIAGRAMA DE CASO DE USO Relacionamentos / Associações • Um relacionamento ilustra uma conexão semântica entre elementos de modelo. • Na UML, um relacionamento de associação é representado por um linha sólida com ou sem uma flecha. • Um ator é conectado a um ou mais casos de uso através de associações, e tanto atores quanto casos de uso podem possuir relacionamentos de generalização que definem um comportamento comum de herança em superclasses especializadas em subclasses DIAGRAMA DE CASO DE USO • Os atores iniciam a comunicação com o sistema através dos casos de uso, que representam uma seqüência de ações executadas pelo sistema – O sistema recebe do ator que lhe utiliza dados tangíveis de um tipo ou formato já conhecido, e o valor de resposta da execução de um caso de uso (conteúdo) também já é de um tipo conhecido DIAGRAMA DE CASO DE USO Fluxo de Eventos • É uma descrição textual do caso de uso e é parte da especificação de casos de uso. Este caso de uso começa quando “Registrar” pede que o sistema feche as inscrições. 1. O sistema verifica se a inscrição está em funcionamento. Se estiver, então uma mensagem é mostrada para “Registrar” e o caso de uso termina. O processamento de fechar não pode ser feito enquanto a inscrição estiver funcionando. 2. Para cada curso oferecido, o sistema verifica se um professor se inscreveu para lecionar o curso oferecido e se ao menos três alunos se inscreveram. Se sim, o sistema compromete o curso oferecido para cada agendamento que o contenha. DIAGRAMA DE CASO DE USO Elementos Básicos de Modelagem • atores, agentes externos ( clientes do sistema) • caso de uso, unidade de funcionalidade coerente, expressa pelas transações (comunicação) entre os atores e o sistema • comunicação, ligação entre ator e caso de uso expressando comunicação entre eles (associação, extensão, inclusão, generalização) EXERCÍCIO