Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Diagramas UML para sistemas embarcados

Olá,

Tenho uma dúvida com relação aos diagramas UML, desde a época da faculdade.

Como eu faria o uso dos diagramas UML ao projetar um sistema embarcado que não utiliza linguagem orientada a objetos (linguagem C, basicamente)?

Levando em consideração desde a representação dos circuitos eletrônicos (reguladores, drivers, conversores) até a parte de programação em C.

Grato,

Vítor Cruz.

1 resposta
solução!

Caro Vitor,

Obrigado pela sua postagem!

A linguagem C não é orientada a objetos, embora saibamos que ela influenciou a concepção de outras linguagens orientada a objetos com o c++ e Java, por exemplo.

No entanto, considerando os requisitos gerais que você citou do sistema embarcado e os dispositivos que você também citou, os quais estabelecem uma restrição em relação a orientação a objetos, em parte da implementação da camada de modelagem física, onde você teria que "operar e acessador dados/funções de controle nível de funcionalidades" utilizando códigos de linguagem C, você poderia pensar na modelagem do seu sistema da seguinte forma:

  • Levantamento de requisitos e estabelecimento do modelo lógico usando a UML, se atentando para deixar explícito nesta etapa de modelagem que alguns componentes de circuitos eletrônicos (deverão ser acessados usando somente linhas de código em C como linguagem de "máquina" neste caso).

  • Feito isso, considerando abstrações de discussões de aspectos de codificação durante a elaboração do modelo lógico, você poderia fazer toda a diagramação usando UML.

  • Quando estes diagramas UML começarem a ser implementados na modelagem física e tivermos por exemplo elaborado e refinado um documento de visão do sistema e as discussões da arquitetura da solução avançarem aí sim, poderá ser tomada a decisão de quais linguagens de programação (podendo sim usar orientadas a objetivos) além do C, serão de fato usadas para implementação dos requisitos de front-end e back-office que foram especificados nos diagramas UML.

Assim, em linhas gerais a mensagem é mesmo que você tenha um elemento crítico num sistema que seja manipulado por uma linguagem não orientada objetos, você pode se abstrair destes detalhes durante a modelagem lógico e desenvolver o projeto de seu sistema usando a UML para representar os requisitos que precisam ser tratados.

Por fim, fazendo uma analogia este tipo de modelagem que resulta numa codificação "híbrida" orientada e não orientada a objetos, destacamentos que ela já ocorre hoje em projetos de automação e IOT (internet das coisas) onde placas e circuitos controlares são acessados usando linguagem C.

Bons estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software