ScholarGate
Assistente

Modelagem de Software e UML

A modelagem de software representa um sistema através de abstrações que capturam sua estrutura e comportamento, e a Unified Modeling Language (UML) é a notação gráfica padrão para expressar tais modelos.

Encontrar tema com PaperMindEm breveFind papers & topics
Tools & resources
Baixar slides
Learn & explore
VídeoEm breve

Definition

Modelagem de software é a construção de representações abstratas de um sistema de software para analisá-lo, projetá-lo e comunicá-lo, e UML é uma linguagem de modelagem padronizada de propósito geral que fornece um conjunto unificado de tipos de diagramas para essas representações.

Scope

Este tópico abrange modelos estruturais, como diagramas de classe, componente e implantação; modelos comportamentais, como diagramas de caso de uso, sequência, atividade e máquina de estados; o papel dos modelos na análise, design e comunicação; engenharia dirigida por modelos e geração de código; e o nível apropriado de rigor de modelagem para um determinado projeto.

Core questions

  • Quais aspectos de um sistema são capturados por modelos estruturais versus comportamentais?
  • Como os principais tipos de diagramas UML representam um design?
  • Quanto rigor de modelagem é apropriado para um determinado projeto?
  • Quando a geração automática de código a partir de modelos é vantajosa?

Key theories

Múltiplas visões de um sistema
Um sistema é modelado a partir de pontos de vista complementares — estrutura estática, interações, comportamento de estado e implantação — cada um capturado por tipos de diagramas apropriados, porque nenhuma visão única transmite todas as informações de design relevantes.
Engenharia dirigida por modelos
Os modelos podem servir como artefatos de desenvolvimento primários a partir dos quais as implementações são parcial ou totalmente geradas através de transformações, elevando o nível de abstração e ligando o design diretamente ao código.

Clinical relevance

Os modelos tornam a intenção do design explícita, apoiam a análise antes que o código exista e fornecem uma linguagem compartilhada entre uma equipe; seu valor depende do uso da quantidade certa de modelagem, já que modelos excessivos ou desatualizados impõem custos sem benefício.

Evidence & guidelines

A especificação OMG UML define a notação e a semântica padrão, e padrões OMG relacionados, como SysML e MOF, estendem a modelagem para engenharia de sistemas e metamodelagem.

History

A UML surgiu em meados da década de 1990 a partir da unificação dos métodos Booch, OMT e Objectory, foi adotada como um padrão OMG em 1997 e evoluiu através da UML 2; abordagens dirigidas por modelos e esboços leves coexistem com debates sobre o quanto a modelagem formal compensa.

Debates

Desenvolvimento dirigido por modelos "pesado" versus esboço "leve"
É contestado se os modelos devem ser artefatos autoritários que impulsionam a geração de código ou esboços informais para comunicação; a visão de modelo como programa promete consistência, enquanto o uso orientado a esboços valoriza a baixa sobrecarga e a adaptabilidade.

Key figures

  • Grady Booch
  • James Rumbaugh
  • Ivar Jacobson
  • Martin Fowler

Related topics

Seminal works

  • booch2005
  • omg2017uml
  • fowler2003

Frequently asked questions

A UML ainda é relevante no desenvolvimento ágil?
Sim, embora frequentemente usada de forma mais leve. Equipes ágeis tendem a usar diagramas UML como esboços informais para comunicar e raciocinar sobre o design, em vez de como especificações exaustivas, aplicando apenas a modelagem suficiente para esclarecer o problema em questão.
A modelagem exige UML?
Não. A UML é a notação mais amplamente padronizada, mas a modelagem pode usar outras notações ou linguagens específicas de domínio; a ideia essencial é a abstração de estrutura e comportamento, para a qual a UML é uma opção bem suportada.

Methods for this concept

Related concepts