UML - Visão geral
UML é uma linguagem padrão para especificar, visualizar, construir e documentar os artefatos de sistemas de software.
A UML foi criada pelo Object Management Group (OMG) e o rascunho da especificação UML 1.0 foi proposto ao OMG em janeiro de 1997.
OMG está continuamente fazendo esforços para criar um verdadeiro padrão da indústria.
UML significa Unified Modeling Language.
UML é diferente de outras linguagens de programação comuns, como C ++, Java, COBOL, etc.
UML é uma linguagem pictórica usada para fazer projetos de software.
UML pode ser descrita como uma linguagem de modelagem visual de propósito geral para visualizar, especificar, construir e documentar o sistema de software.
Embora a UML seja geralmente usada para modelar sistemas de software, ela não está limitada a esse limite. Também é usado para modelar sistemas que não sejam de software. Por exemplo, o fluxo do processo em uma unidade de manufatura, etc.
UML não é uma linguagem de programação, mas as ferramentas podem ser usadas para gerar código em várias linguagens usando diagramas UML. UML tem uma relação direta com a análise e design orientado a objetos. Após alguma padronização, UML se tornou um padrão OMG.
Objetivos da UML
Uma imagem vale mais que mil palavras , esse idioma se encaixa perfeitamente na descrição de UML. Os conceitos orientados a objetos foram introduzidos muito antes da UML. Naquela época, não havia metodologias padronizadas para organizar e consolidar o desenvolvimento orientado a objetos. Foi então que a UML entrou em cena.
Existem vários objetivos para desenvolver UML, mas o mais importante é definir alguma linguagem de modelagem de propósito geral, que todos os modeladores podem usar e também precisa ser simplificada para entender e usar.
Os diagramas UML não são feitos apenas para desenvolvedores, mas também para usuários de negócios, pessoas comuns e qualquer pessoa interessada em entender o sistema. O sistema pode ser um sistema de software ou não. Portanto, deve ficar claro que UML não é um método de desenvolvimento, mas sim acompanha processos para torná-lo um sistema de sucesso.
Em conclusão, o objetivo da UML pode ser definido como um mecanismo de modelagem simples para modelar todos os sistemas práticos possíveis no ambiente complexo de hoje.
Um modelo conceitual de UML
Para entender o modelo conceitual da UML, primeiro precisamos esclarecer o que é um modelo conceitual? e por que um modelo conceitual é necessário?
Um modelo conceitual pode ser definido como um modelo feito de conceitos e seus relacionamentos.
Um modelo conceitual é a primeira etapa antes de desenhar um diagrama UML. Ajuda a compreender as entidades do mundo real e como elas interagem umas com as outras.
Como a UML descreve os sistemas de tempo real, é muito importante fazer um modelo conceitual e prosseguir gradualmente. O modelo conceitual de UML pode ser dominado aprendendo os seguintes três elementos principais -
- Blocos de construção UML
- Regras para conectar os blocos de construção
- Mecanismos comuns de UML
Conceitos Orientados a Objetos
A UML pode ser descrita como a sucessora da análise e design orientado a objetos (OO).
Um objeto contém dados e métodos que controlam os dados. Os dados representam o estado do objeto. Uma classe descreve um objeto e eles também formam uma hierarquia para modelar o sistema do mundo real. A hierarquia é representada como herança e as classes também podem ser associadas de diferentes maneiras de acordo com o requisito.
Os objetos são as entidades do mundo real que existem ao nosso redor e os conceitos básicos, como abstração, encapsulamento, herança e polimorfismo, todos podem ser representados usando UML.
A UML é poderosa o suficiente para representar todos os conceitos que existem na análise e design orientado a objetos. Os diagramas UML são representações apenas de conceitos orientados a objetos. Portanto, antes de aprender UML, torna-se importante entender o conceito OO em detalhes.
A seguir estão alguns conceitos fundamentais do mundo orientado a objetos -
Objects - Os objetos representam uma entidade e o bloco de construção básico.
Class - A classe é a planta de um objeto.
Abstraction - A abstração representa o comportamento de uma entidade do mundo real.
Encapsulation - Encapsulamento é o mecanismo de vincular os dados e ocultá-los do mundo exterior.
Inheritance - Herança é o mecanismo de fazer novas classes a partir das existentes.
Polymorphism - Define o mecanismo para existir em diferentes formas.
Análise e Design OO
OO pode ser definido como uma investigação e, para ser mais específico, é a investigação de objetos. Design significa colaboração de objetos identificados.
Portanto, é importante entender os conceitos de análise e design OO. O propósito mais importante da análise OO é identificar os objetos de um sistema a ser projetado. Essa análise também é feita para um sistema existente. Agora, uma análise eficiente só é possível quando somos capazes de começar a pensar de uma forma onde os objetos possam ser identificados. Depois de identificar os objetos, seus relacionamentos são identificados e, finalmente, o design é produzido.
O objetivo da análise e design OO pode ser descrito como -
Identificando os objetos de um sistema.
Identificando seus relacionamentos.
Fazendo um design, que pode ser convertido em executáveis usando linguagens OO.
Existem três etapas básicas onde os conceitos OO são aplicados e implementados. As etapas podem ser definidas como
OO Analysis → OO Design → OO implementation using OO languages
Os três pontos acima podem ser descritos em detalhes como -
Durante a análise OO, o propósito mais importante é identificar objetos e descrevê-los de maneira adequada. Se esses objetos forem identificados de forma eficiente, o próximo trabalho de design será fácil. Os objetos devem ser identificados com responsabilidades. Responsabilidades são as funções desempenhadas pelo objeto. Todo e qualquer objeto tem algum tipo de responsabilidades a serem desempenhadas. Quando essas responsabilidades são colaboradas, o propósito do sistema é cumprido.
A segunda fase é o design OO. Durante esta fase, a ênfase é colocada nos requisitos e no seu cumprimento. Nesta etapa, os objetos são colaborados de acordo com a associação pretendida. Depois que a associação for concluída, o design também estará concluído.
A terceira fase é a implementação OO. Nesta fase, o design é implementado usando linguagens OO como Java, C ++, etc.
Papel da UML no design OO
UML é uma linguagem de modelagem usada para modelar sistemas de software e não software. Embora a UML seja usada para sistemas que não sejam de software, a ênfase está na modelagem de aplicativos de software OO. A maioria dos diagramas UML discutidos até agora são usados para modelar diferentes aspectos, como estático, dinâmico, etc. Agora, qualquer que seja o aspecto, os artefatos nada mais são do que objetos.
Se olharmos para o diagrama de classe, diagrama de objeto, diagrama de colaboração, diagramas de interação, todos seriam basicamente projetados com base nos objetos.
Portanto, a relação entre o projeto OO e UML é muito importante para entender. O design OO é transformado em diagramas UML de acordo com o requisito. Antes de entender a UML em detalhes, o conceito OO deve ser aprendido adequadamente. Depois que a análise e o design OO estiverem concluídos, a próxima etapa é muito fácil. A entrada da análise e design OO é a entrada para os diagramas UML.