Prévia do material em texto
ATIVIDADE A3 UML (Unified Modeling Language) é uma linguagem de notação (um jeito de escrever, ilustrar, comunicar) para uso em projetos de sistemas. Esta linguagem é expressa através de diagramas. Cada diagrama é composto por elementos (formas gráficas usadas para os desenhos) que possuem relação entre si. Em outras palavras, na área de Engenharia de Software, a UML é uma linguagem de modelagem que permite representar um sistema de forma padronizada (com intuito de facilitar a compreensão pré-implementação). A UML é adequada para a modelagem de sistemas, cuja abrangência poderá incluir desde sistemas de informação corporativos a serem distribuídos a aplicações baseadas na Web e até sistemas complexos embutidos de tempo real. É uma linguagem muito expressiva, abrangendo todas as visões necessárias ao desenvolvimento e implantação desses sistemas. Os diagramas da UML se dividem em dois grandes grupos: diagramas estruturais e diagramas comportamentais. Diagramas estruturais devem ser utilizados para especificar detalhes da estrutura do sistema (parte estática), por exemplo: classes, métodos, interfaces, namespaces, serviços, como componentes devem ser instalados, como deve ser a arquitetura do sistema etc. Diagramas comportamentais devem ser utilizados para especificar detalhes do comportamento do sistema (parte dinâmica), por exemplo: como as funcionalidades devem funcionar, como um processo de negócio deve ser tratado pelo sistema, como componentes estruturais trocam mensagens e como respondem às chamadas etc. UML ajuda muito a deixar o escopo claro, pois centraliza numa única visão (o diagrama) um determinado conceito, utilizando uma linguagem que todos os envolvidos no projeto podem facilmente entender. Mas ajuda desde que utilizada na medida certa, ou seja, apenas quando realmente é necessário. A UML é como uma linguagem universal para profissionais de produção de software, é um “Google Translate” que ajuda muito a comunicação clara e objetiva entre pessoas envolvidas no processo de produção (Analistas de Negócio, Product Onwer, Scrum Master, Arquitetos, Desenvolvedores, Gerentes de Projeto/Produto e demais partes interessadas). Seguem alguns diagramas: Diagramas estruturais Os diagramas estruturais tratam o aspecto estrutural tanto do ponto de vista do sistema quanto das classes. Existem para visualizar, especificar, construir e documentar os aspectos estáticos de um sistema, ou seja, a representação de seu esqueleto e estruturas “relativamente estáveis”. Os aspectos estáticos de um sistema de software abrangem a existência e a colocação de itens como classes, interfaces, colaborações, componentes. E é representado em 7 tipos, segue abaixo as descrições: Diagrama de Classes O Diagrama de Classes é utilizado para fazer a representação de estruturas de classes de negócio, interfaces e outros sistemas e classes de controle. Além disso, o diagrama de classes é considerado o mais importante para a UML, pois serve de apoio para a maioria dos demais diagramas. Se dá pela formação de conjunto de informações sobre determinadas classes, que unidas entre si formam um sentido geral do projeto. Uma Classe é uma abstração de um objeto da vida real (vida real que será tratada via software), que agrupa dados (atributos) e procedimentos (operações) relacionados ao seu contexto. Uma classe, na UML (e na Orientação a Objetos também) possui três compartimentos, sendo para: Nome (primeiro), Atributos (segundo) e Operações (terceiro). Quando fazemos o uso de um diagrama de classes no dia a dia da produção de software, nem sempre é necessário/relevante representar cada classe no menor nível de detalhe, ou seja, com os três compartimentos, e com todo rigor nas especificações dos atributos e operações. Diagramas de objetos O diagrama de objetos representa os objetos de um diagrama de classes em um determinado instante de tempo, representando suas instâncias e seus relacionamentos, conforme definidos no diagrama de classes. Os objetos e suas instâncias demonstradas são utilizados para fazer a modelagem da visão estática do projeto de um sistema, a partir de situações da realidade ou de protótipos. Quando mostrado graficamente, é perceptível que o diagrama de objetos seja parecido com o de classes. Diagramas de componentes Este diagrama mostra os artefatos de que os componentes são feitos, como arquivos de código fonte, bibliotecas de programação ou tabelas de bancos de dados. Modelar software baseado em componentes. Indicar os componentes do software e seus relacionamentos. Diagrama de Instalação ou Implementação O diagrama de instalação (ou diagrama de implantação) é definido pela Linguagem de Modelagem Unificada (Unified Modeling Language - UML), descreve os componentes de hardware e software e sua interação com outros elementos de suporte ao processamento. Representa a configuração e a arquitetura de um sistema em que estarão ligados seus componentes, sendo representado pela arquitetura física de hardware, processadores, etc. Diagramas de pacotes Um diagrama de pacotes é composto de: · Pacotes · Relacionamentos entre pacotes. O diagrama de pacotes tem o objetivo de transformar as classes em pacotes. O critério para definir os pacotes é subjetivo e depende da visão e das necessidades do projetista. Este deve definir uma certa semântica e colocar os elementos similares e que tendem a serem modificados em conjunto num mesmo pacote. Como também, pode-se usar os pacotes para mostrar a arquitetura do sistema. Diagramas de estrutura composta O Diagrama de Estrutura Composta é utilizado para modelar Colaborações. Uma colaboração descreve uma visão de um conjunto de entidades cooperativas interpretadas por instâncias que cooperam entre si para executar uma função específica. O termo estrutura desse diagrama refere-se a uma composição de elementos interconectados, representando instâncias de tempo de execução colaboram, por meio de vínculos de comunicação, para atingir algum objetivo comum. Esse diagrama também pode ser utilizado para definir a estrutura interna de um classificador. Diagrama de perfil O Diagrama de perfil, definido a partir da UML 2.5, destina-se a criar uma visão (ou customização de um metamodelo existente com construções específicas para um determinado domínio) do relacionamento entre classes para atender determinado domínio. Diagrama comportamental Utilizado para visualizar, especificar, construir e documentar aspectos dinâmicos de um devido sistema. Considerando aspectos dinâmicos de um sistema como representação das suas partes que passam por alteração, assim como aspectos dinâmicos de uma casa abrangem a passagem de pessoas pelos cômodos, e a circulação de ar, também os aspectos dinâmicos de um sistema de software envolve itens como fluxo de mensagem ao longo do tempo. UML também permite a representação de um sistema de forma padronizada, para facilitar na compreensão, e ainda auxilia a comunicação entre os objetos, e a identificação de processos. Existem cinco tipos de diagramas comportamentais Diagrama de caso de uso Organiza os comportamentos do sistema. Um diagrama de caso de uso mostra um conjunto de casos de uso e atores (um tipo especial de classe) e seus relacionamentos. Aplique esses diagramas para ilustrar a visão estática do caso de uso de um sistema. Os diagramas de caso de uso são importantes principalmente para organização e modelagem dos comportamentos de um sistema. Diagrama de Atividades O Diagrama de Atividades é um diagrama comportamental (que especifica o comportamento do software), e através dele podemos modelar partes do comportamento de um software. O diagrama de atividades ilustra graficamente como será o funcionamento do software (em nível micro ou macro), como será a execução de alguma de suas partes, como será a atuação do sistema na realidade de negócio na qual ele está inserido. Diagrama de Sequência Um diagrama de sequência é uma espécie de diagrama de interação, pois descreve como, e em qual ordem, um grupo de objetos trabalha em conjunto. Estes diagramas são usados pordesenvolvedores de software e profissionais de negócios para entender as necessidades de um novo sistema ou para documentar um processo existente. Diagramas de sequência são conhecidos como diagramas de eventos ou cenários de eventos. Diagrama de colaboração Enfatiza a organização estrutural de objetos que enviam e recebem mensagens. Um diagrama de comunicação é um diagrama de interação que da ênfase a organização estrutural dos objetos que enviam e recebem mensagens. Um diagrama de comunicação mostra um conjunto de papéis, as conexões existentes entre esses papéis e as mensagens enviadas e recebidas pelas instâncias que representam os papéis. Use os diagramas de comunicação para ilustrar a visão dinâmica de um sistema. Diagrama de transição de estados Enfatiza o estado de mudança de um sistema orientado por eventos. Um diagrama de estados mostra uma máquina de estados, que consiste de estados, transições, eventos e atividades. Use o diagrama de estados para ilustrar a visão dinâmica de um sistema. Esses diagramas são importantes principalmente para fazer a modelagem do comportamento de uma interface, classe ou colaboração. Os diagramas de estados dão ênfase ao comportamento de um objeto, solicitado por eventos, que é de grande ajuda para a modelagem de sistemas reativos. O objetivo de um diagrama da UML é passar uma mensagem de maneira padronizada, onde todos os receptores desta mensagem entendem o padrão usado. A UML deve ser utilizada para comunicar o que se quer e/ou como se quer, de maneira eficiente. No passado utilizou-se UML muito para documentar software existente, fazer projeto preditivo de sistema (ou seja, via diagrama documentar 100% do que deveria ser feito) etc. Isso quase nunca é viável. A UML serve para uma boa comunicação em equipes que produzem software, onde através do uso de diagramas adotamos uma linguagem que todos entendem, para deixar claro o que deve ser feito. UML é uma linguagem espetacular. É como um idioma de simples compreensão, que auxilia equipes de produção de software a ter maior eficiência e eficácia no dia a dia, possibilitando uma comunicação clara e objetiva sobre o que deve ser feito, e como deve ser feito. Essa clareza possibilitada na comunicação pelo uso da UML diminui diretamente o desperdício tão comum na produção de software, desperdício este gerado pelo entendimento “torto” das coisas, e descoberta tardia deste desalinhamento. Mas, como tudo na vida, tem que ser usada na justa medida: o equilíbrio. Referências Ventura, Plínio. O que é UML (Unified Modeling Language). Até o momento. Postado em 31 janeiro 2019. Atualizado em 7 fevereiro 2021. Disponível em: https://www.ateomomento.com.br/diagramas-uml/ Acesso em: 23/05/2022 Wikifox. Para Engenharia de software. Wikipédia, a enciclopédia livre. Postado em abril 2017. Atualizado em 19 de dezembro de 2020. Disponível em: https://www.wikifox.org/pt/wiki/UML Acesso em: 23/5/2022.