본문 바로가기

카테고리 없음

문서의 분류

문서화는 정보의 축적, 의사소통, 병행개발, 프로젝트관리, 소프트웨어의 공유등이 주목적이다. 따라서 이를 위하여 문서의 표준화가 이루어져야 하며, 문서의 표준화는 시스템 전체의 프로그램에 관련된 문서를 통일하여 관리의 효율화를 기하는데 있다. 그러므로 효율적인 문서의 관리를 위하여 다음과 같이 문서를 분류하여 표준화하는 것이 바람직하다.

 

*제품문서*

소프트웨어 시스템의 효과적인 사용, 운용, 유지 및 보수, 변환 및 전환 등을 위한 정보를 제공하는 것으로 제품에 대한 유지 보수와 강화를 위한 프래그래머, 컴퓨터 시스템 상에서 제품을 실행하는 운영자, 제품에 대한 정보를 검색하거나 데이터를 입력하는 사용자, 제품의 사용을 감독하는 관리자에 대해 하드웨어와 소프트웨어의 자세한 내용과, 제품 이용성에 대한 공개 데이터들과 지침서를 포함한다.

프로그래머에게는 프로그램이 무엇을 하고자 하며 그것을 실행하는 시기에 대해 기술한 정보가 필요하게 된다. 그들은 기능의 설명, 최종 데이터, 기억장소의 설계 명세서, 프로그램 논리의 설명 및 실례들을 필요로 한다.

소프트웨어 운영 문서는 시스템의 하드웨어 및 소프트웨어를 실행시키는 책임자들에게 소프트웨어를 지원하기 위해 알아야하는 사항을 제시하는 것으로 다음과 같은 정보를 포함한다.

 

*선전용/정보용 문서*

선전용이며 종보를 주는 문서들을 조직 내에서 소프트웨어의 수용성을 증가시키고 소프트웨어를 사용하는 방향으로 조직 변환을 용이하게 하고, 조직외에서 소프트웨어를 다른 조직체로 변환시킬 수 있는 잠재력을 증진시킴으로써 관심 있는 사람들에게 새로운 가능성을 깨닫게 해준다.

 

[ IPT 기법 ]

IPT는 효과적 프로그램 개발 기법으로 관리와 기술의 양면에서 그 해결책을 찾고자 하는 수단으로 등장했다. 이 기법은 사용자가 보기 쉽고 이해하기 쉬우며 개발과 유지 보수의 양면에서 경제적이면서 효율적인 프로그램을 개발하기 위한 것이다.

 

소프트웨어 공학은 공학적 접근 방법을 통해 소프트웨어의 생산성, 품질, 관리문제를 해결하려는 노력으로부터 출발한 연구 분야로, 품질 좋은 소프트웨어를 최소의 개발이용과 일정에 맞추어 개발하기 위한 학문이다. 이러한 학문이 출현하게 된 이유로는 급속히 발전하는 하드웨어에 비해 소프트웨어 생산 활동은 그 보조를 맞추지 못한다는 것이다.

또한 소프트웨어의 요구가 다양해지면서 수요는 계속 늘어나는데 공급은 이를 따라주지 못한다는 것이다. 이러한 소프트웨어의 생산성 문자 이외에도 개발 기간이 지연되고 개발비용이 초과되므로 인해 발생되는 문제들이다. 이들을 소프트웨어 위기라고 표현하고 있다.

 

*소프트웨어 생산성*

소프트웨어의 생산성을 향상시키기 위하여 여러 가지 방법론, 도구, 관리기법을 이용하여 프로그램을 개발한다. 또한 소프트웨어 생산 과정의 효율적인 운용을 통해 소프트웨어 제품이 완성되는 정도를 높인다. 따라서 이러한 일련의 과정들은 소프트웨어의 생산성 향상을 위한 방법론이며, 다음과 같은 내용에 따라 큰 차이가 있을 수 있다.

1 프로그래머 능력 : 프로그래머 개인의 기본적인 능력, 특정 분야에 대한 친숙함, 응용 분야에 대한 경험에 따라 차이가 있을 수 있다.

2 팀간의 의사 전달 : 프로그래머, 관리자, 고객사이의 의사소통이 원활해질 수 있도록 팀 구성을 해야 한다.

3 제품의 복잡도 : 제품의 규모나 복잡도는 개발 노력이나 유지 보수 노력에 비례한다.

4 기술 수준 : 프로젝트에 활용되는 모형, 방법론, 도구, 좋은 프로그래밍 언어 등의 사용이 필요하다.

5 관리 기술 : 개발일정과 가용자원, 조직의 계획과 실행 및 분석을 통해 관리기술을 축적해야 한다.

 

*소프트웨어 품질*

소프트웨어의 품질 향상을 위하여 개발기간동안 중간 점검과 최종 품질에 대한 확인이 반드시 필요하다. 따라서 발주자는 비용, 사용자는 편리성, 관리자는 유지 보수성을 평가하여야 하며, 소프트웨어를 대하는 관점에 따라 소프트웨어의 평가 기준이 달라질 수 있다. 

 

IPT는 보다 향상된 프로그램을 개발하기위해 지원되는 도구로서 기존의 고전적 기법 보다 좀더 진보된 프로그래밍 기법이다. 지원되는 도구로서 기존의 고전적 기법 보다 좀더 진보된 프로그래밍 기법이다. 따라서 효율적이고 신뢰성이 높은 프로그램을 개발하기 위한 해결책을 찾고자 등장한 효과적인 프로그램 개발 기법으로 평가된다. 이러한 IPT는 생산성 향상과 품질 향상에 도움을 주는 기법으로 IBM에서 발표하였으며, 프로그램 개발과 유지 보수의 양면에서 효율적인 프로그램을 작성하고자 하는 것이다. 또한 관리를 지원하는 도구와 기술을 지원하는 도구로 분류되어 기술적인 면이나 관리 면에서도 개발을 용이하게 하며, 완성된 프로그램의 품질을 향상시켜 유지 보수를 용이하게 한다.

IPT 기법은 프로그램의 질적 향상 유지 보수의 효율성까지 고려하여 소프트웨어 개발 주기 전반에 걸친 생산성 향상을 주목적으로 하는 실용적인 기법이다.

 

복합설계는 구조화설계 혹은 기능설라고도 부르며, 큰 프로젝트를 작은 모듈 단위로 설계하는 구조적 설계 기법이다. 이는 시스템에 대한 상세설계의 초기 단계해서 프로그램의 구조를 설계하기 위한 방식의 하나이다. 프로그램의 구조를 설계할 때 프로그램 기능을 계층적 종속 구조인 하향식으로 상세화 해서 기능의 계층 구조를 만들고, 그 구조의 구성요소가 되는 각각의 종속 기능을 모듈화 하는 기법이다.

 

구조적 프로그래밍 기법은 표준화로서 가치가 매우 높다. 따라서 구조적 프로그래밍 구조적 설계도를 토대로 작성하는 작업이며, 모든 프로그램의 논리는 순서, 선택, 반복의 세 가지 표현방식으로 단순화될 수 있다. 그리고 구조적 프로그래밍에서는 GO TO문 사용을 자세한다. 또한 모듈 단위의 설계에 맞는 프로그램이 되므로 프로그램의 크기가 작아 이해가 용이하며, 단일 입구와 단일 출구 구조를 이룬다. 구조적 프로그래밍 기법을 도입합으로써 프로그램의 표준화를 이룰 수 있으며, 원시리스트를 문서로 사용할 수 있는 효과를 얻을 수 있다.