인공지능에서의 Software Engineering - Software Life Cycle


프로그램은 하나의 제품과 같습니다. 여러가지 제품을 만드는 과정이 다 틀리듯이 인공지능에서 어떠한 방법을 사용하는지 설명 드리겠습니다.

이러한 과정을 Software Life Cycle 이라고 부릅니다. 사실 간단한 프로그램 (혹은 Software)를 만들때에는 한번 만들고 끝이지요. 그런 조그마한 과정에도 사용되는 기술들이 있습니다.

먼저 여러가지 사용되고 있는 방법을 나열해 놓고 인공지능에서는 어떻게 하는가 설명드리지요.

위의 모델들은 기본적으로 알고 있어야 합니다. 혹시 모르시거나 기억이 가물가물 하시면 웹검색이나 오래된 책을 먼지털어 읽으시길 바랍니다. 시간이 없어서 한가지만 알고 싶다면 맨 마지막인 Spiral Model을 알아보십시요. (혹은 다 알아본뒤에 꼭 기억해야 하는것이 Spiral Model 입니다.)

인공지능에서는 그럼 Spiral Model을 사용할껏 같이 위에서 설명을 드렸는데, 비슷하다고 보시면 됩니다.

인공지능을 하는 분들은 처음 인공지능을 소프트웨어로 시작한분 부터 제자에 이르기 까지 다음의 방식을 물려줍니다:

Wish 는 말 그대로 소원, 희망 이며 List 도 그대로 나열한 줄입니다. 즉, 희망 사항이죠.

먼저 프로그램을 만들기 전에 프로그램이 이러한 이러한 기능(feature)들이 있이면 좋겠다 하고 백지에다 써나가기 시작하면서 시작되는 겁니다.

여기에서 아주 좋은점이 있는데, 그것을 나열하지면:

위의 Wish List 를 실행할려면 다음과 같습니다.

  1. 종이와 펜을 준비합니다.
  2. 위에 프로그램 이름적고 옆에다 Wish List라고 적습니다 (혹은 희망사항)
  3. 원하는 기능을 적어나갑니다. 여럿이랑 같이하면 더 많아집니다.
  4. 같이 프로젝트 하는 사람수에 맞게 복사를 한뒤, 나누어 주고 누가 어떠한 희망사항 기능에 대해 프로그램 할것인가 정합니다.
  5. 각자 기능에 대해서 맡은바를 합니다.
  6. 기능의 완료되면 그 기능을 종이 위에 선을 그으며 잔잔한 미소를 띄웁니다.
  7. 1번 부터 6번을 계속 반복합니다.

처음엔 위의 여러가지 기능들과 비교하면 별볼일 없게 보이며, 이렇게 해서 될려나 할지도 모르지만 이러한 방식이 위에 여러가지 모델보다 더 좋다고 봅니다. (이건 한편으로 기울어진 편견이라면 편견일지도 모릅니다.)

희망사항을 적을때에는 자세히 적으면 더 좋습니다.


위 모델에 대해서 좋은 사이트 있으면 여기다 붙이겠습니다.