tipo resumen que proposito programaciĆ³n programacion lenguaje estructurado aplicaciones c design uml

resumen - proposito del lenguaje c



UML para lenguaje de programaciĆ³n C (3)

El problema con C es que es más un lenguaje de programación de procedimiento. Es más difícil obtener el diseño de grano fino con una aplicación C. Si está trabajando con C, puede seguir los diagramas de secuencia y los diagramas de componentes, ya que describen y resumen de lo que está sucediendo, en lugar de un gráfico de dependencias e interacción.

UML se utiliza con mayor frecuencia para modelar sistemas mediante el uso de C ++. En mis proyectos C es el lenguaje de implementación. Estoy buscando recursos sobre estrategias UML que sean aplicables para C. Quiero usar UML durante el diseño y representar los diferentes aspectos del sistema.


No conozco ningún recurso existente que discuta el uso de UML específicamente para C. Como otros han mencionado, UML es independiente del lenguaje.

Tenga en cuenta que con UML, puede tener un modelo para el dominio del problema y otro para la implementación. Intente no modelar el dominio del problema en términos de C, sino más bien como OO de alto nivel. Una vez que comprenda el dominio del problema adecuadamente, puede comenzar a modelar una implementación.

Para modelar implementaciones C de estilo de procedimiento, los siguientes diagramas podrían ser útiles:

  • Diagrama de clase:
    • Mostrar API del módulo C
    • Mostrar relaciones de módulo C (principalmente dependencias para no-OO)
    • Mostrar estructuras y enumeraciones (usando <<estereotipo>>)
  • Diagrama de paquete: Mostrar contenido (módulos) de bibliotecas y las relaciones de dependencia entre bibliotecas
  • Diagrama de actividad: Diagrama de flujo algoritmos no triviales
  • Diagrama de secuencia / colaboración: muestra cómo los eventos / mensajes entre módulos / entidades / entradas / salidas ocurren en el tiempo
  • Diagrama de estado: ¡Para máquinas de estado, por supuesto!

Al expandir los diagramas de clase, puede "abusarlos" de la siguiente manera para C de estilo de procedimiento:

  • Funciones externas globales -> métodos públicos
  • Funciones estáticas locales -> métodos privados
  • Variables externas globales -> miembros públicos
  • Variables estáticas locales -> miembros privados
  • Structs -> clase con el estereotipo "struct"
  • #define constantes -> clase con estereotipo de "enumeración"

Experimenta y encontrarás tus propias convenciones para abusar de UML.


Un diseño orientado a objetos es independiente del idioma y, por supuesto, puede diseñar su sistema utilizando UML. Algunas herramientas como Rhapsody también permitirán la generación de código y el disparo circular, que usamos para algunos proyectos especiales donde C ++ no es una opción. Si desea escribir su código a mano, utilice una convención de nombres como Subsystem_Module_Class_Method para nombrar sus funciones de forma orientada a objetos y utilice un archivo .c por clase. Usar C no es un obstáculo para tener un diseño limpio.