플밍 설계할때 마치 건축캐드처럼 할수있을까요?

dummy999의 이미지

여러분은 프로그래밍을 설계할때 (그니까 구체적인 단계로 코딩전에 하는 설계)
어떠한 다이어그램을 이용하시는지요

제가 아는분을 예로들자면 이분은 모든게 박스와 선만있으면 기본적인 설계를 한다고하네요
(근데 여건상 구체적으로 질문하기가 힘들었습니다. )
미리 말씀드리지만 제가 이부분의 전문적인 지식이 약합니다.
혹시나 이부분의 용어가 있거나 또는 관련내용이 연구중이거나 할수있겠지만
제가 잘모르는바이므로..

하얀전지한장에 자바나 C++로된 소스를 한번도 바꾸지않고 빽빽하게 채워가면서
일괄적으로 그릴수있지않을까라는생각을 해봅니다.
예전에 순서도는 이렇게하라면 가능했지만 한계가있습니다.
즉 하나의 연관된 파일만 그렇게가능하지만 여러개의 모듈단위를 호출관계로 뒀을때
표현하기가 좀힘들다는겁니다.
(적절한 표현방법이없기때문이죠)

마치 건축도면 설계도를 캐드로 만들면 그것하나에 부분도면을 수십장을 만들수있듯
설계나 프로그래밍도 하나의설계도에서 쓸수있을까요?.

지금은 UML이있고 또 안으로들어가면 순서도를 이용하지만.
실질적으로 논리적인부분의 코딩을 100%처리할수있는가라는겁니다.
UML자체도 6가지정도의 다이어그램으로 나뉘는걸로알고있습니다.
근데 이걸 나누지않고 한번에 모두 처리할수있지않을까 라는생각도듭니다.

문제가 정확하게 전달되었는지모르겠습니다만.
이해하신분들의 생각을 부탁드립니다.

Vadis의 이미지

UML은 아니지만, 이런 프로그래밍 언어가 생각나네요....

좋은 날 즐거운 날....

JuEUS-U의 이미지

UML 2.0 버젼부터는
Code Generator 기능이 추가되었습니다.
그래서 어플리케이션의 전체 골격을 생성할 수 있습니다.

다만 각 메소드 내부의 코드는 직접 작성해야합니다.
제가 생각해도 섬세한 부분은 GUI로 해결하는게 오히려 번거로울것 같군요.

blkstorm의 이미지

Rational Rose 라는게 툴이 있는걸로 압니다. IBM에서 판매하지요.

sDH8988L의 이미지

한번 생각해 볼 문제이기는 하네요...

일단, 건축 설계와 코딩의 차이점부터 출발해 보도록 하지요...

건축 설계는 건물을 그대로 2D 화면으로 옮긴 거죠... 즉, 코딩에서 주가 되는 조건문 같은 것이 필요 없는 무조건 고정된 객체들만 존재합니다...

프로그래밍에서는 조건문, 대입문이 주가 되겠죠... 이것들을 어떻게 하면 2D 상에 쉽고 간단하게 나타내는냐가 관건이 될 거라고 봅니다...

고정된 객체에 대한 캐드와 같은 설계는 이미 10년도 더 전부터 잘 쓰고 있습니다... Visual Basic과 같이 Interface를 잘 만드는 Tool들이 그런 것이겠죠... Interface를 만드는 것도 프로그래밍의 일부니까요...

거기에 Dynamic한 특성이 들어가면 건축 캐드와 다른 부분이 생기는 거라고 생각합니다...

사실, 위에 Vadis님이 올려주신 이미지처럼 캐드로 표현해도 조건과 변수 이름 등등 이런 것들 때문에 건축 캐드처럼 깔끔하게 보이지는 않습니다...

sDH8988L의 이미지

아...

한 가지 더 생각나는 것이 있는데요...

지금 dummy999님께서 생각하고 계신 바와 가장 가깝다고 생각되는 것이 VHDL류와 같은 Hardware Description Language가 아닌가 합니다...

Hardware의 경우 간단한 회로들을 이리저리 연결하여 큰 회로를 만드는 것으로, 이미 캐드화가 많이 진행되었습니다...

사실 캐드툴의 도움이 없이는 거의 불가능에 가깝게 되었다고 해야 옳은 표현이겠죠...

물론, VHDL에는 다이나믹한 특성을 반영하는 부분은 없다는 점이 일반 프로그래밍과는 다른 점이라고는 할 수 있네요...