본문 바로가기

IT 관련 지식/소프트웨어공학

프로그램, 시스템 설계 단계 산출물

반응형

안녕하세요 시란입니다. 

이번 포스팅에서는 프로그램 또는 시스템 설계를 할 때 나오는 산출물에 대해서 한번 알아보려고 합니다. 

사실 이전 직장은 주먹구구식으로 시스템 개발을 했었습니다. 산출물의 중요성에 대해서 몰랐지요. 

하지만 현 직장의 경우 문서 작성이 중요해지며 설계물의 중요성에 대해서 강조하는 만큼 시스템 설계 산출물에 대해서 다뤄보려고 합니다.

공부하는 입장이므로 틀린 내용이 있을수 있으니 이점 감안해주셨으면 합니다. 

 

시스템 설계를 하다보면 해당 설계가 맞는지 안 맞는지에 대한 컴펌과 설계가 진행함에 따라 각 단계의 산출물을 통해서 회의 또는 확인이 용의하기 때문입니다. 

또한 아무리 요구사항이 명확하게 정해졌더라도 실제로 구현할때는 많은 다양한 문제가 발생할 수 있기 때문입니다. 따라서 수행자와 주관자가 설계단계의 산출물을 공유하고 협의를 통해 요구사항에 대해서 반영이 잘 되고 있는지 검토를 해야합니다. 

시스템 구축을 함에 있어 가장 중요한 문서들이며 고도화나 유지보수 과저에서도 해당 산출물을 통해 필요합니다. 이 산출물만을 가지고도 시스템을 이해할 수 있어야 하며 각 분야별로 명확하게 작성되어야 합니다. 

 

그렇다면 산출물의 종류에 대해서 알아보겠습니다. 

설계 단계 산출물 종류
메뉴 구성도 시스템 메뉴에 대한 정의
코드 정의서 코드에 대한 명명규칙 등
화면 정의서 화면에 대한 정의
프로세스 정의서 시스템 프로세스 구성 정의
ERD Entity-Relationship Diagram
테이블 정의서 데이터베이스에 들어가는 테이블 정의
컬럼 정의서 컬럼에 대한 상세 내용
클래스 다이어그램 시스템의 클래스 관계
프로그램 목록 메뉴 구성도에서 정의한 메뉴에 대한 프로그램 목록 정의
테스트 계획서 기능 단위 테스트와 통합테스트에 대한 내용
도메인 정의서 데이터베이스 용어 도메인 정의
엔터티 정의서 데이터베이스의 엔터티와 속성 
속성 정의서
데이터 베이스 정의서  데이터베이스 기본적인 정보 기재.

 

추가설명

메뉴 구성도: 메뉴에 대한 정의인데 시스템의 실제 메뉴 구성뿐 아니라 보편적으로 메뉴 구성도에서 정의한 메뉴 별 고유 코드번호는 화면정의서와 프로그램 목록 등과 연계되기 때문에 체계적으로 메뉴의 내용과 구조를 정리해야 함.

코드 정의서: 시스템에서 여러 코드정보들이 들어가는데, 이 코드에 대한 명명규칙과 어떤 코드 사용할지에 대한 문서입니다. 예를들어 데이터를 등록하는 시스템에서 많이 사용되는 등록상태 코드가 있으며, 등록상태 코드는 등록중- 승인요청- 승인완료 - 공개와 같이 코드 단계와 종류가 정해짐. 코드 정의서에는 코드의 이름을 어떻게 정의할지 기재하고 실제 시스템에서 사용하는 코드항목의 목록을 나열함

화면 정의서: 시스템의 화면에 대한 정의 문서이면 메뉴 구성도와 연계되 시스템의 화면에 대한 설계가 진행되며 각 화면별로 연계된 메뉴코드와 프로그램 이름 정보가 포함됨. 그리고 보안관련 기능을 어떻게 적용할지에 대한 내용도 추갈 기재 필요함.

프로세스 정의서 : 시스템 프로세스 구성에 대한 정의 문서. 프로세스별 단계에 따라서 사용자 또는 관리자 입장에서 진행상황에 대한 설명을 기재해야 합니다. 그리고 가장 메인이 되는 프로세스를 전면에 배치하며 각 프로세스의 하위 프로세스들은 다음장에 상세하게 정의를 하면 됩니다. 

ERD : 시스템 데이터베이스를 구성하는 개체간 관계 구조도로 시스템에서 가장 핵심적인 문서입니다. 데이터베이스를 구축하기 위해 필요한 정규화 과정부터 구조 조정까지 다양한 방법론을 적용해 작성하면 됩니다. 

 

반응형