잡담

집에서

tomato13 2007. 4. 15. 01:02

차주 화요일에는 첨기연에서 강의가 있다. 잘하고 싶지만 사실 별다른 준비가 안 되어 있어서 지금 이대로 간다면 오히려 어리버리하게 서 있다가 내려올 듯 하다. 잠시 생각나는대로 정리를 해 본다.

 

함수설명서라는 것이 왜 필요할까.. doxygen이 왜 필요할까...  참조할만한 논문들을 조금 찾아보았다. 

http://portal.acm.org/ft_gateway.cfm?id=581697&type=pdf&coll=GUIDE&dl=GUIDE&CFID=19949560&CFTOKEN=92976294 

 

http://portal.acm.org/ft_gateway.cfm?id=1104980&type=pdf&coll=GUIDE&dl=GUIDE&CFID=19949560&CFTOKEN=92976294

 

도대체 documentation이 왜 필요할까... 소프트웨어 유지/보수를 위해서 필요하다. 그것은 왜 필요한가.. 유지/보수란 무엇인가... 변화에 맞추어 소프트웨어를 수정하며 관리하는 활동을 가리킨다. 이는 많은 비용을 필요로 하며 사실상 영원한 유지/보수는 불가능하다. 유지/보수하기 위해서는 소프트웨어를 이해할 수 있어야 한다. 구체적으로 무엇을 이해해야하는가.. 소프트웨어와 관련된 모든 것을 알고 있어야 한다. 요구사양, 설계서, 사용자매뉴얼 및 Test plan, Test case spec., test case 등을 포함할 수 있다. 개인적으로는 reference 자료도 포함될 것이다. 직접 과제투입인력의 도움을 받을 수 없다면 이는 text, code 그리고 image등으로 제공될 수 있다. 그렇다면 software documentation이란 어떻게 정의할 수 있는가?

 

Software Documentation or Source Code Documentation is written text that accompanies computer software.(http://en.wikipedia.org/wiki/Software_documentation)

 

document는 어떻게 작성할 수 있는가? 내가 본 것은 다음과 같다.

1. word processor등을 사용해서 작성할 수 있다.

2. 소스코드에 주석으로 넣을 수 있다.

3. 전문 도구를 사용할 수 있다. requirement manage tool, design 개발도구, test case spec.관리 도구, test plan관리도구, 자동문서생성도구(SoDA...) 그리고 doxygen이다.

 

doxygen은 어떤 도구인가?

Doxygen is a documentation generator for C++, C, Java, Objective-C, Python, IDL (Corba and Microsoft flavors) and to some extent PHP, C#, D and ActionScript. It runs on most Unix systems as well as on Windows and Mac OS X. Most of the Doxygen code was written by Dimitri van Heesch.(http://en.wikipedia.org/wiki/Doxygen)

 

doxygen은 어떤 장점을 가지고 있는가? 내가 본 바에 의하면

1. source code와의 consistency를 유지할 수 있다.

2. 코드내부의 주석으로도 활용할 수 있다.

3. 코드내부에 작성하기 때문에 document작업이 다른 방법들에 비해서 쉽다.

4. 다양한 포멧으로 출력할 수 있다. 대표적인 것은 html이며 많이 사용되고 있다.

5. 사용방법이 쉽다.

6. freeware이다.

7. test case 자동생성이 가능하기도 하였다.(가전(사)사례)

 

실제 사용예를 보여줄 수 있는가?

1. ARIB

2. Leeum

3. 가전(사)

 

어떻게 사용하는가?

.....