프로그램 개발 진행시 사용했던 문서들을 정리해서 올려봅니다.
몇년동안 사용했던 문서을 모와서 일부 가공한거라 일관성은 없지만 대략 필요한 문서를 이해할 수 있을꺼라보입니다.
단계 | 액티비티 | 태스크 | 착수일 | 종료일 | 산출물 | 산출물 형태 |
검토 | 제안요청서 (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)의 프로세스에 대한 자세한 작업 과정을 기술한다.
데이터 흐름도의 최하위 처리 공정을 대상으로 어떤 기능을 하는지 상세히 작성한다.
▶ 미니 명세서 작성 툴
- 서술 문장(가장 나쁨)
- 구조적 언어
- 의사 결정트리
- 의사 결정표
- 표
- 그래프(가장 좋음)
▶ 미니 명세서 작성 기준
- 반 페이지~ 한 페이지 정도의 분량이 적당하다.
- 다음 조건일 때 DFD를 분할한다.
- 시간적으로 동이하지 않는 두 개의 기능을 수행할 때
- 명명이 용이하지 않을 때
- 분량이 적어서 사용자의 시스템에 대한 이해가 용이할 때
▶ 참고프로그램, 시스템 설계 단계 산출물
▶ 참고 소프트웨어공학의 이해 Chap. 5 임베디드 소프트웨어 요구사항 분석