다은하게

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

소프트웨어공학

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

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 임베디드 소프트웨어 요구사항 분석

'소프트웨어공학' 카테고리의 다른 글

멀티프로세서의 유형 : SISD, SIMD, MISD, MIMD  (0) 2021.04.13
DFD 개념과 작성법  (0) 2021.04.13
ERD (ER 다이어그램)  (0) 2021.04.13
Comments