상세 컨텐츠

본문 제목

(10편) 설계 산출물3: 프로그램 목록, 프로그램 명세서 작성법 알아보기

카테고리 없음

by 늦둥이아빠 2024. 4. 9. 09:24

본문

프로젝트 목록 및 명세서는 화면 설계가 끝나면 작성하는 산출물입니다. 프로그램 목록은 프로그램ID, 프로그램 명 등을 작성하며, 프로그램 명세서는 프로그램 목록에 정의된 프로그램 명에 맞게 개요 및 처리 로직을 작성합니다. 가끔 기능명세서와 프로그램명세서를 혼동하는 분들이 있어 차이점과 프로그램 목록과 프로그램명세서의 작성법에 대해 알아보도록 하겠습니다.

(10편) 설계 산출물3: 프로그램 목록, 프로그램 명세서 작성법 알아보기

프로그램 목록 작성하기

화면 설계서의 화면ID와 프로그램 ID를 매핑하여 프로그램 목록을 정리합니다. 프로그램 목록은 프로그램ID, 프로그램 명, 프로그램설명, 관련 테이블을 정리하여 작성합니다. 프로그램 목록은 화면설계서와 인터페이스설계서 등을 보고 추가하거나 삭제할 수 있습니다.

프로그램 목록 작성하기

프로그램 명세서 작성하기

프로그램 명세서는 프로그램 목록에 따라 프로그램 명세서를 작성합니다. 프로그램 명세서는 개발자가 프로그램 ID, 프로그램 명, 개요, 처리로직 등을 작성합니다. 이 부분은 개발이 어느 정도 끝나면 주로 작성을 하니, 설계 단계에서 산출물이 나오지 않는다고 걱정하거나 재촉할 필요가 없습니다. 어느 정도 개발이 마무리 되면, 정리하는 문서입니다.

아래는 위의 프로그램에서 정의된 로그인1, 2, 3경우와 전사포털 처리로직에 대해 설명한 예시입니다.

 

포털 로그인 시 아이디와 패스워드 기반으로 로그인을 하고, PKI 인증서 기반으로 인증 로그인을 표현하고 있습니다.

프로그램 ID PG-PT-001
프로그램 명 로그인
개요 인증서 기반으로 인증 로그인
처리 로직 1)     포털 로그인을 위해 전사포털을 통해 인증서 로그인을 클릭하면 인증서 입력(전자서명) 팝업 화면이 뜨고, 인증서와 인증서암호를 입력함으로써 로그인이 된다. 
2)    관련 테이블 및 입출력 데이터
해당사항 없음
3)    프로그램 
PKI 인증 프로그램 호출 후 결과값 리턴

 

포털 로그인 시 아이디와 패스워드 기반으로 로그인을 하고, OTP 인증 기반으로 인증 로그인을 표현하고 있습니다.

프로그램 ID PG-PT-002
프로그램 명 로그인(ID/OTP) 
개요 ID/OTP 기반으로 인증 로그인 화면
처리 로직 1)     포털 로그인을 위해 전사포털을 통해 인증서 로그인을 하고, ID/OTP 인증 로그인을 클릭하면 아이디, 비밀번호, OTP 인증번호 입력함으로써 로그인이 된다. 
2)    관련 테이블 및 입출력 데이터
해당사항 없음
3)    프로그램 
OTP 인증 프로그램 호출 후 결과값 리턴

 

포털 로그인 시 아이디와 패스워드 기반으로 로그인을 하고, SMS 인증 기반으로 인증 로그인을 표현하고 있습니다.

프로그램 ID PG-PT-003
프로그램 명 로그인(ID/SMS)
개요 ID/SMS 기반으로 인증 로그인 화면
처리 로직 1)     포털 로그인을 위해 전사포털을 통해 인증서 로그인을 클릭하고, ID/SMS 인증 로그인을 클릭하면 아이디, 비밀번호, SMS 인증번호 입력함으로써 로그인이 된다. 
2)    관련 테이블 및 입출력 데이터
해당사항 없음
3)    프로그램 
SMS 인증 프로그램 호출 후 결과값 리턴

 

포털 로그인 후 모든 임직원이 접근할 수 있는 전사포털 처리 화면에 대한 처리 로직 설명입니다. 조직도는 인사테이블에서 불러와 처리하는 것을 알 수 있습니다. 또한, 임직원 누구나 볼 수 있는 콘텐츠로 전사포털 화면이 구성 되었음을 알 수 있습니다.

프로그램 ID PG-PT-004
프로그램 명 전사포털
개요 임직원 누구나 접근할 수 있는 화면
처리 로직 1)     전사포털의 콘텐츠는 임직원 누구나 접근할 수 있는 화면으로 파견, 인턴 등 모든 인력이 볼 수 있는 화면이다. 전사 포털의 조직도는 인사테이블에서 불러와 처리되며, 전사포털 화면은 관리자에 의해 설정되며 사용자는 설정된 화면을 조회할 수 있다.  하단 공통 메뉴는 내가 접근 할 수 있는 콘텐츠에 해당된다.
2)    관련 테이블 및 입출력 데이터
조직도 : LDAP 조직도 데이터 저장 및 조회용 테이블
3)    프로그램 
xxx서버 : xxxxx.sh LDAP조직도 조회 및 csv파일로 저장
그룹웨어서버 : xxxxx.sh LDAP조직도 테이블에 저장

 

다음은 그룹웨어의 재택근무 설정하여 재택 근무 시 재택 기간을 설정할 수 있는 로직을 설명하고 있습니다.

프로그램 ID PG-GW-001
프로그램 명 재택근무 설정
개요 재택 근무 시 재택 기간을 설정
처리 로직 1)     재택근무 여부, 재택근무 메신저 연동 옵션, 재택근무 기간을 지정한 후 저장
2)    메신저 연동을 체크할 경우 메신저에 재택근무로 표시됨
3)    관련 테이블
유저 글로벌: 사용자 정보 테이블
4)    프로그램 
위치 : ~/커스텀/재택근무

 

다음은 기록물철 등록 시 행복재단 기록물철을 매핑하는 처리하는 로직입니다.

프로그램 ID PG-GW-002
프로그램 명 기록물철 매핑
개요 기록물철 등록 시 행복재단 기록물철 매핑
처리 로직 1)     행복재단에서 문서 접수하는 시간이 느려서 만들어진 기능
2)    기록물철 등록 시 매핑되는 행복재단 기록물철을 지정
3)    행복재단에서 문서 접수 시 기록물철은 자동 지정된 상태. 행복재단 외 타 부서 문서 접수 시 기록물철 자동 지정되지 않음.
4)    기록관 이관 시 행복재단 기록물철 정보도 이관
5)    관련 테이블
결재폴더 : 기록물철 정보 테이블
6)    프로그램 
위치 : ~/비지니스/커스텀

 

다음은 메일 작성 시 공문을 첨부 처리하는 로직입니다.

프로그램 ID PG-GW-003
프로그램 명 메일 공문 첨부
개요 메일 작성 시 공문 첨부 기능
처리 로직 1)     메일 작성 시 공문을 선택하여 첨부하는 기능
2)    검색 버튼 클릭 시 기록물 등록대장의 목록을 보여주고 검색하도록 함
3)    결재 문서 선택 시 메일 작성 창 하단에 결재문서 공문 링크
4)    관련 테이블
메시지폴더 : 메일 정보
5)    프로그램 
위치 : ~/메일/커스텀

 

다음은 인터페이스에서 문서유통서버에서 유통 조직을 받아 그룹웨어 DB에 저장하는 처리 로직을 설명하고 있습니다.

프로그램 ID PG-IF-001
프로그램 명 문서유통 조직 연계
개요 문서유통서버에서 유통 조직을 받아 그룹웨어 DB에 저장 
처리 로직 1)     문서유통서버의 LDAP 조직도를 내부망 사용자가 직접 호출하지 못하므로 DMZ구간의 서버에서 LDAP조직도를 불러와서 내부 그룹웨어 서버의 TABLE에 저장함.  사용자는 해당 TABLE의 조직도를 조회 할 수 있다.
2)    관련 테이블 및 입출력 데이터
조직도 : LDAP 조직도 데이터 저장 및 조회용 테이블
3)    프로그램 
DMZ서버 : ooo.xx LDAP조직도 조회 및 csv파일로 저장
그룹웨어서버 : ooo.xx LDAP조직도 테이블에 저장

 

다음은 포털에서 인사시스템의 결재 카운트를 받아오는 처리 로직입니다.

프로그램 ID PG-IF-002
프로그램 명 인사시스템 결재 카운트
개요 인사시스템의 결재 카운트 수신
처리 로직 1)     인사시스템의 API를 호출하여 결재 대기 카운트를 수신
2)    호출 URL
http://인사시스템/oooCount.xx
3)    입력 데이터
사번_코드 : 사번
기타1 : 구분값
4)    출력 데이터
상태값
에러코드
에러설명
결재건수. 없으면 ‘0’

 

다음은 포털에서 포털 로그인 후 타 시스템 연계 시 SSO 처리하는 로직입니다.

프로그램 ID PG-IF-003
프로그램 명 SSO 연계
개요 포털 로그인 후 타 시스템 연계 시 SSO처리하여 접근되도록 구현
처리 로직 1)     포털 로그인 시 SSO서버에 토큰 발급 및 인증 처리
2)    관련 테이블 및 입출력 데이터
SSO토근 발급 API 호출하여 “xxxtoken” 쿠키값에 저장
3)    프로그램
프로그램 위치 : ~/xxx/xxdocs/custom/sso
프로그램 : 토큰 발급 및 쿠키저장 xxxToken.jsp

 

프로그램명세서는 Front-end, Back-end, Interface 관점에서 개발 해야 하는 프로그램을 정의하여, 추후 운영 유지보수나 개선 시 개발자가 보고 파악할 수 있는 중요한 문서입니다. 프로그램 명세서를 보면 소스를 파악할 수 있는 가이드 역할을 하니, 소스 위치나 모듈의 역할 그리고 호출하는 jsp 화면의 위치를 명확히 기술해야 합니다.

기능명세서란

기능명세서란 프로그램에서 처리해야 할 기능을 구체적으로 세분하여 그 기능을 정의하고, 입출력 요건과 프로그래밍에 필요한 논리 개념을 정리하는 문서입니다. 대부분의 솔루션의 경우 기능명세서는 가지고 있으며, 커스터마이징된 내용에 대해서만 작성을 합니다.

기능명세서는 개발자가 구현을 할 때 이 기능을 어떻게 구현을 해야 할 때 필요한 문서라고 생각하시면 됩니다. 기능명세서의 형식은 정해진 규칙이 없습니다. 일단 수행사가 작성을 하고, 고객과 협의하면 됩니다.

프로젝트에서 기능명세서는 대분류, 중분류, 세부기능, 상세내용, 관련양식순으로 작성을 하며, 추가적인 항목을 더 넣어서 작성할 수 있습니다. 다음은 인사정보시스템의 기능명세서를 작성한 예시입니다.

기능명세서 양식, 샘플

 

다음은 업무관리시스템 기능명세표입니다. 업무관리시스템은 행정기관이 업무처리의 전 과정을 과제관리카드 및 문서관리카드 등을 이용하여 전자적으로 관리하는 시스템으로서, 정부의 행정능률 향상 및 국민 중심의 범정부적 서비스 전달체계를 개선하는 일환으로 정부의 기능을 체계화하기 위해 업무관리카드를 기반으로 하는 업무관리체계가 정착할 수 있도록 행정기관에서 사용할 업무관리시스템으로서 필요한 기능 및 행정정보시스템과 업무관리시스템 간에 원활한 연계가 가능하도록 필요한 기능 등을 정의한 시스템입니다.

다음은 업무관리시스템의 기능명세표로 기능명(대,중,소)과 세부기능하목 그리고 구분(필수, 선택)으로 분류되어 있습니다.

업무관리시스템의 기능명세표

 

이렇듯 기능명세서는 프로그램 명세서와 달리 분석자가 기능을 구체적으로 세분하여 그 기능을 정의한 문서이고, 프로그램명세서는 화면 설계이후 프로그램 목록을 정의하고 그에 따라 개발자가 프로그램 ID, 프로그램 명, 개요, 처리로직 등을 작성하는 문서입니다.

마치며

오늘은 설계 단계 산출물 중 프로그램 목록 및 프로그램 명세서 작성법과 기능명세서와의 차이점에 대해 알아보왔습니다.

프로그램 명세서는 화면설계서의 개발하고자 하는 화면의 비즈니스 로직을 어떻게 처리하는지에 대해 설명한 자료입니다. 프로그램 명세서를 작성하지 않아도 된다고 생각하는 분들도 더러 계시는데, 프로그램명세서를 작성하면서 잘못된 부분도 검토가 되며, 향후 유지보수나 기능개선 을 위한 중요한 문서로 작용을 하기에 구체적이고, 명확하게 작성을 해야한다는 인식을 하시기 바랍니다.

다음편에서는 설계 산출물 중 인터페이스 설계서에 대해 살펴보도록 하겠습니다.

 

프로젝트에 대해 다른 사항이 궁금하시면 아래 링크를 클릭하세요

 

(1편) 프로젝트: 기술협상서 작성하기

공공입찰을 통해 수주가 확정되면 우선협상대상자가 되고, 프로젝트를 시작하기 전에 발주사와 수행사 간 기술협상을 하게 됩니다. 기술협상을 통해 발주사와 수행사간 최종 업무범위 협의 및

rinfo.tistory.com

 

(2편) 프로젝트: 사업수행계획서, WBS 작성하기

경쟁입찰을 통해 우선협상대상자가 된 다음 기술협상을 마무리하면 프로젝트 준비 및 착수를 시작하게 됩니다. 이때 프로젝트 착수계와 함께 사업수행계획서를 투입 후 2주내 작성하여 제출하

rinfo.tistory.com

 

(3편) 프로젝트: 프로젝트 착수 보고 작성하기

프로젝트 착수계와 함께 사업수행계획서를 투입 후 2주내 작성하여 제출하고 나면 고객과 협의를 통해 착수보고를 합니다. 착수보고는 프로젝트 시작할 때, 주요 관계자들을 모아서 주요 사항

rinfo.tistory.com

 

(4편) 프로젝트: 사업관리 산출물 작성하기

3편의 프로젝트 착수보고가 끝나면 이제 본격적으로 프로젝트가 시작됩니다. 프로젝트가 시작되면 분석단계 시작과 함께 사업관리도 시작됩니다. 사업관리에는 일간, 주간, 월간 보고와 함께

rinfo.tistory.com

 

(5편) 프로젝트: 주간보고, 월간보고 작성하기

주간보고는 사업진척현황에 대해 발주사에게 매주 추진 일정, 진척 현황, 단계별 진행 현황, 업무별 진척현황, 단위업무현황, 미결업무 및 이슈사항, 요청사항을 보고하는 문서입니다. 주간보고

rinfo.tistory.com

 

(6편) 프로젝트: 회의록 종류 및 작성법 알아보기

프로젝트에서 회의록은 각 단계별 및 행위별 활동에 따른 회의 내용을 기록하는 것을 말합니다. 회의록을 통해 발주사와 수행사간의 참석자, 회의주제, 회의 내용 그리고 의사결정사항들을 정

rinfo.tistory.com

 

(7편) 분석 산출물 요구사항정의서 등 작성법 알아보기

프로젝트 분석단계에서 사용자 요구사항과 어플리케이션, 인프라, 데이터 현황 분석을 하는 것은 매우 중요합니다. 분석이 잘못 되면 다음 단계의 설계, 구현, 테스트 등 모든 진행이 문제가 될

rinfo.tistory.com

 

(8편) 설계 산출물1: 화면설계서 작성법 알아보기

프로젝트 분석단계에서 사용자 요구사항과 어플리케이션, 인프라, 데이터 현황 분석을 하는 것은 매우 중요합니다. 분석이 잘못 되면 다음 단계의 설계, 구현, 테스트 등 모든 진행이 문제가 될

rinfo.tistory.com

 

(9편) 설계 산출물2: 시스템구성도 작성법 알아보기

프로젝트 설계 산출물 화면설계서에 이어 두번째로 시스템 구성도 작성법에 대해 알아보겠습니다. 시스템 구성도는 집을 짓는다고 하면 뼈대를 구성하는 과정과 유사합니다. 즉 플랫폼 구조를

rinfo.tistory.com