ScholarGate
Asistente

Modelado de Software y UML

El modelado de software representa un sistema a través de abstracciones que capturan su estructura y comportamiento, y el Lenguaje Unificado de Modelado (UML) es la notación gráfica estándar para expresar dichos modelos.

Encontrar tema con PaperMindPróximamenteFind papers & topics
Tools & resources
Descargar diapositivas
Learn & explore
VídeoPróximamente

Definition

El modelado de software es la construcción de representaciones abstractas de un sistema de software para analizarlo, diseñarlo y comunicarlo, y UML es un lenguaje de modelado estandarizado de propósito general que proporciona un conjunto unificado de tipos de diagramas para estas representaciones.

Scope

Este tema abarca modelos estructurales como diagramas de clases, componentes y despliegue; modelos de comportamiento como diagramas de casos de uso, secuencia, actividad y máquina de estados; el papel de los modelos en el análisis, diseño y comunicación; la ingeniería dirigida por modelos y la generación de código; y el nivel apropiado de rigor de modelado para un proyecto dado.

Core questions

  • ¿Qué aspectos de un sistema son capturados por los modelos estructurales versus los de comportamiento?
  • ¿Cómo representan un diseño los principales tipos de diagramas UML?
  • ¿Qué rigor de modelado es apropiado para un proyecto dado?
  • ¿Cuándo vale la pena la generación automática de código a partir de modelos?

Key theories

Múltiples vistas de un sistema
Un sistema se modela desde puntos de vista complementarios —estructura estática, interacciones, comportamiento de estado y despliegue— cada uno capturado por tipos de diagramas apropiados, porque ninguna vista única transmite toda la información de diseño relevante.
Ingeniería dirigida por modelos
Los modelos pueden servir como artefactos de desarrollo primarios a partir de los cuales las implementaciones se generan parcial o totalmente a través de transformaciones, elevando el nivel de abstracción y vinculando el diseño directamente al código.

Clinical relevance

Los modelos hacen explícita la intención del diseño, apoyan el análisis antes de que exista el código y proporcionan un lenguaje compartido en todo el equipo; su valor depende de usar la cantidad correcta de modelado, ya que los modelos excesivos o desactualizados imponen costos sin beneficio.

Evidence & guidelines

La especificación OMG UML define la notación y la semántica estándar, y los estándares OMG relacionados como SysML y MOF extienden el modelado a la ingeniería de sistemas y el metamodelado.

History

UML surgió a mediados de la década de 1990 de la unificación de los métodos Booch, OMT y Objectory, fue adoptado como estándar OMG en 1997 y evolucionó a través de UML 2; los enfoques dirigidos por modelos y el esbozo ligero coexisten con debates sobre cuánto rinde el modelado formal.

Debates

Desarrollo pesado dirigido por modelos versus esbozo ligero
Se discute si los modelos deben ser artefactos autorizados que impulsen la generación de código o bocetos informales para la comunicación; la visión del modelo como programa promete consistencia, mientras que el uso orientado al boceto valora la baja sobrecarga y la adaptabilidad.

Key figures

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

Related topics

Seminal works

  • booch2005
  • omg2017uml
  • fowler2003

Frequently asked questions

¿Sigue siendo relevante UML en el desarrollo ágil?
Sí, aunque a menudo se usa de forma más ligera. Los equipos ágiles tienden a usar los diagramas UML como bocetos informales para comunicar y razonar sobre el diseño en lugar de como especificaciones exhaustivas, aplicando solo el modelado suficiente para aclarar el problema en cuestión.
¿El modelado requiere UML?
No. UML es la notación más ampliamente estandarizada, pero el modelado puede usar otras notaciones o lenguajes específicos de dominio; la idea esencial es la abstracción de la estructura y el comportamiento, para lo cual UML es una opción bien soportada.

Methods for this concept

Related concepts