Skip to end of metadata
Go to start of metadata

SDS ( Software Design Specification )

CONFIDENTIALITY/SECURITY WARNING

이 문서에 포함되어 있는 정보는 313 DEV GRP의 자산이며, 313 DEV GRP의 서면 허락 없이 사용되거나, 재 가공 되거나, 외부로 반출 할 수 없습니다. 이 문서에 대한 열람 및 보관할 수 있는 사람은 분실, 도난, 반출에 대한 책임을 자동 승계하는 것에 대하여 동의하는 자에 한 합니다. 

 

 

목 차

 

 


 

 

 

1. 개요

 

 

1.1 목적

문서 작성 목적을 기술한다.

 

 

1.2 범위

설계 범위 및 적용 범위(제품, 버전 등)에 대해 기술한다.

 

 

1.3 정의 및 약어

문서 내에서 사용되는 정의 및 약어를 설명한다.

 

 

1.4 관련문서

SRS, (Main 또는 Sub) SDS, TDS 등 관련 문서를 나열한다.

 

 

1.5 개발자 스펙

SDS를 보고 바로 구현할 수 있는 개발자의 요구 스펙을 기술한다.

 

 

2. 설계 고려사항

 

 

2.1 소프트웨어 설계 목표

소프트웨어 설계 시 수행 목표 또는 원칙 등을 기술한다.

 

 

2.2 제약사항

 

 

2.2.1 H/W 제약사항

 

 

2.2.2 S/W 제약사항

 

 

2.2.3 N/W 제약사항

네트워크 제약사항을 기술한다.

 

 

2.2.4 외부 제약사항

 

 

2.3 기타

소프트웨어 설계에 영향을 미치는 여러 사항에 대해 기술한다.

 

 

3. 설계

 

 

3.1 구성

 

 

3.1.1 소프트웨어 배치

반드시 작성되어야 하는 내용입니다.

소프트웨어를 개발 완료 후 타제품과의 관계 또는 타제품에의 적용 모습 등을 기술한다.

 

 

3.1.2 소프트웨어 아키텍처

소프트웨어의 Component의 개략적인 조망을 보여주는 아키텍처를 표시하고 설명합니다.

 

 

3.1.3 운영체제와의 관계도

 

 

3.1.4 Component 정의

반드시 작성이 되어야 하는 내용입니다.

소프트웨어 구성요소인 각 Component와 그 하위 module을 정의하고, 각각의 기능 및 의존관계 등을 기술합니다.

각 Component 또는 Module 의 Public 함수들에 대한 Function Prototype 은 "3.4 Interface Design" 또는 "3.6 Component Design" 에 반드시 기술되어야 한다.

 

 

3.1.4.1 Component1

 

 

3.1.4.1.1 Module11

 

 

3.1.4.1.2 Module12

 

 

3.1.4.1.3 Module13

 

 

3.1.4.2 Component2

 

 

3.1.4.2.1 Module21

 

 

3.1.4.2.2 Module22

 

 

3.1.4.2.3 Module23

 

 

3.2 Data Design

반드시 작성되어야 하는 내용입니다.

소프트웨어 Component 들 간에 전달되는 자료구조를 설명한다.

설계 중 사용되는 모든 Data에 대해 기술한다.

 

 

3.2.1 Internal Software Data Structure

내부 Component에서 사용되는 Data를 기술한다.

구조체(Structure)

상수

기타

 

 

3.2.2 Global Data Structure

Component 간 공유되는 Data 를 기술한다.

구조체(Structure)

상수

File ex) ini, cfg, dat, registry

 

 

3.2.3 Temporary Data Structure

임시로 사용되고 버리는 Data에 대해 기술한다.

 

 

3.2.4 Permanent Date Structure

영구적으로 사용되는 Data에 대해 기술한다.

 

 

3.2.5 Database Description

영구적으로 사용되는 Data에 대해 기술한다.

 

 

3.2.5 Database Description

 

 

3.2.5.1 ERD(Entity Relationship Diagram)

 

 

3.2.5.2 Data Dictionary

 

 

3.3 Architectural Design

설계자의 판단에 따라서 작성하는 내용입니다.

중요 Function 이나 중요 상태에 대해 기술합니다.

 

 

 

3.3.1 Use Case Diagram

 

 

3.3.2 Class Diagram

 

 

3.3.3 Flow Chart

 

 

3.3.4 DFD(Data Flow Diagram)

 

 

3.3.5 Sequence Diagram

 

 

3.4 Interface Design

반드시 작성이 되어야 하는 내용입니다.

Component 간 발생할 수 있는 모든 Interface Line에 대한 정의

호출하는 방향으로 Line을 연결한다.

Return에 대한 Line은 생략할 수 있다.

 

 

3.4.1 Component Interface

 

 

3.4.2 Module Interface

Component 하단의 Module 간 발생할 수 있는 모든 Interface Line에 대한 정의

 

 

3.4.3 Process Interface

프로세스의 호출과 통신 관점에서 발생할 수 있는 모든 Interface Line에 대한 정의

 

 

3.4.4 N/W Interface

Network 의 연결 관점에서 발생할 수 있는 모든 Interface Line에 대한 정의

 

 

3.4.5 H/W  & Device Interface

Hardware Device 의 연결 관점에서 발생할 수 있는 모든 Interface Line에 대한 정의

 

 

3.5 User Interface Design

 

 

3.5.1 Screen images

 

 

3.5.2 Screen Object and Actions

 

 

3.6 Component Design (& Module Design)

반드시 작성되어야 하는 내용입니다.

각 Component 또는 Module 별로 상세한 내용을 설계하며, 각 모듈에 대해 다음과 같은 상세 항목을 설명합니다.

Module ID

Module Name

Input parameters and the order passed

Returns(output parameters) and the order returned

Modifies(list of variables, local and global, this module modifies)

Restrictions/limitations

Is-calles-by(list of modules that call it)

Calls(list of modules called by this module)

Algorithmic model(pseudo code)

Local data structures

 

 

3.6.1 Component 1

 

 

3.6.1.1 Module11

 

 

3.6.1.2 Module12

 

 

3.6.1.3 Module13

 

 

3.6.2 Component 2

 

 

3.6.2.1 Module21

 

 

3.6.2.2 Module22

 

 

3.7 기타

 

 

3.7.1 소스트리 구성

반드시 작성이 되어야 하는 내용입니다.

소스트리 위치 및 디렉토리를 어떻게 구성할 것인지에 대해 기술한다.

 

 

3.7.2 빌드 설계

반드시 작성이 되어야 하는 내용입니다.

Build를 위해 사전에 설치되어야 할 라이브러리 종류, 버전 등을 포함한 Build에 필요한 다양한 instructions 을 기술한다.

 

 

3.7.3 설치 설계

반드시 작성이 되어야 하는 내용입니다.

설치할 파일 리스트 및 설치 위치, 설치 시 필요한 정보, 설치 User Interface 등에 대해 설명한다.

 

 

3.7.4 배포 설계

 

 

3.7.4.1 마스터 구성

마스터의 내/외부 구성형태를 구체적으로 기술한다.

 

 

3.7.4.2 배포 방법

최초 배포 및 설치 방법을 기술한다.

 

 

3.7.4.3 업데이트 방법

배포 이후, 패치 및 업데이트 시에 필요한 파일 및 정보, 방법 등을 구체적으로 기술한다.

 

 

3.7.5 테스트 설계

개발자 입장에서 필요한 테스트 방법 및 예상결과 등에 대해서 기술한다.

 

 

3.7.5.1 Classes of Test

블랙박스 테스트, 화이트박스 테스트를 비롯한 요구되는 테스트 종류 및 단계적인 테스트 방법을 기술한다.

 

 

3.7.5.2 Expected Software Response

테스트케이스를 도출하고, 단계적인 테스트 방법을 기술한다. 이에 대한 나와야 하는 테스트 결과를 예상하여 기술한다.

 

 

3.7.5.3 Perfomance Bounds

테스트되어야 하는 성능측면의 요구사항을 기술한다.

 

 

3.7.5.4 Identification of Critical Components

테스트에서 특별한 주의가 요구되거나 Critical 한 사항에 대해서 기술한다.

 

 

 

 

 

Labels
  • None