산출물 프로그램 명세서 - sanchulmul peulogeulaem myeongseseo

프로그램 개발 진행시 사용했던 문서들을 정리해서 올려봅니다.

몇년동안 사용했던 문서을 모와서 일부 가공한거라 일관성은 없지만 대략 필요한 문서를 이해할 수 있을꺼라보입니다.

단계 액티비티 태스크 착수일 종료일 산출물 산출물 형태
검토 제안요청서 (RFP)
사업진행초기문서 서비스도입단계 기획문서 P01_C020_기획서.ppt
P01_C021_기획서.docx
프로젝트 계획 작성 제안서 P01_C030_제안서.ppt
개발투입금액 산정 견적서 P01_C040_견적서.xls
P01_C041_견적서.xls
개발계약진행 계약서 사업계획서 P01_C050_계약서.doc
착수 프로젝트 팀 구성 팀원인선 조직도
프로젝트환경구축 프로젝트 사양서 P01_D120_프로젝트사양서.doc
공정계획수립 공정구조정의
일정계획수립 개발일정표 P01_D140_공정산출물일정.xls
프로젝트계획수립 프로젝트위험요소도출
프로젝트계획서작성 프로젝트계획서
품질보증계획수립 품질보증계획서
착수계 및 사업계획서 작성 착수계 P01_D180_사업계획서.hwp
P01_D181_사업계획서.ppt
착수점검회의실시
분석 현황평가 현행업무분석
현행시스템분석
인터뷰실시 인터뷰결과 P01_E280_인터뷰결과서.doc
P01_E281_회의록.doc
P01_E282_주간보고.doc
P01_E283_월간보고.doc
요구사항 정의 기능요구사항 정의 현업요구사항정의서
인터페이스 정의서
P01_E290_요구사항명세서.doc
P01_E291_요구사항명세서.xls
기술요구사항 정의
타시스템 인터페이스
시스템기본요건 정의
시스템화 범위 및 우선순위결정 P01_E330_구성도_사양서작성용.pptx
개발일정계획 수립 일정표 P01_E340_개발일정표.xlsx
P01_E341_개발일정표.xls

다은하게

'소프트웨어 프로세서 명세서'란? 본문

소프트웨어공학

'소프트웨어 프로세서 명세서'란?

DaaEun 2021. 4. 13. 20:30

멀티프로세서컴퓨팅 강의를 수강중인데, 한 시스템의 소프트웨어 프로세서 명세서를 작성하라는 과제가 주어졌다. 과제를 수행하기 위해 '소프트웨어 프로세서 명세서'의 정확한 개념을 파악하고자 열심히 구글링하였다.

☞ 시스템 설계 단계 산출물

  • 시스템 설계 단계에서 해당 설계가 맞는지 안 맞는지에 대한 컴펌과 설계가 진행함에 따라 각 단계의 산출물을 통해서 회의 또는 확인이 용의하다. 
  • 아무리 요구사항이 명확하게 정해졌더라도 실제로 구현할 때 많은 다양한 문제가 발생할 수 있다. 따라서 수행자와 주관자가 설계단계의 산출물을 공유하고 협의를 통해 요구사항에 대해서 반영이 잘 되고 있는지 검토를 해야한다.
  • 시스템 구축함에 있어 가장 중요한 문서들이며, 유지보수 과정에서도 해당 산출물이 필요된다. 이 산출물만을 가지고도 시스템을 이해할 수 있어야 하며 각 분야별로 명확하게 작성되어야 한다. 

☞ 산출물의 종류

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

메뉴 구성도

  • 메뉴에 대한 정의서이다.
  • 메뉴별 고유 코드번호는 화면정의서와 프로그램 목록 등과 연계되기 때문에 체계적으로 메뉴의 내용과 구조를 정리해야 한다.

코드 정의서

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

화면 정의서

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

프로세스 정의서

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

ERD

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

☞ 미니 명세서(Mini-Specification)

데이터 흐름도(DFD)의 프로세스에 대한 자세한 작업 과정을 기술한다.

데이터 흐름도의 최하위 처리 공정을 대상으로 어떤 기능을 하는지 상세히 작성한다.

▶ 미니 명세서 작성 툴

  1. 서술 문장(가장 나쁨)
  2. 구조적 언어
  3. 의사 결정트리
  4. 의사 결정표
  5. 그래프(가장 좋음)

▶ 미니 명세서 작성 기준

  • 반 페이지~ 한 페이지 정도의 분량이 적당하다.
  • 다음 조건일 때 DFD를 분할한다.
    1. 시간적으로 동이하지 않는 두 개의 기능을 수행할 때
    2. 명명이 용이하지 않을 때
    3. 분량이 적어서 사용자의 시스템에 대한 이해가 용이할 때

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

▶ 참고 소프트웨어공학의 이해 Chap. 5 임베디드 소프트웨어 요구사항 분석