일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- DBMS
- go
- UNIX
- Pointer
- newSQL
- DBMS 개발
- TiKV
- Golang
- 컴퓨터 강좌
- Windows via c/c++
- getopts
- UNIX Internals
- OS 커널
- SQLite
- 약어
- kernel
- 구조와 원리
- bash
- Symbol
- 커널
- 전처리기
- Programming
- Preprocessor
- 함수포인터
- TiDB
- 한빛미디어
- 포인터변수
- 포인터
- FreeBSD
- 긴옵션
- Today
- Total
sonumb
소프트웨어 설계 문서 템플릿 본문
소프트웨어 설계 문서
속성
|
가치
|
---|---|
발행 번호 |
|
프로젝트 제목 | |
팀 이름 | |
이름 |
|
날짜 |
|
ℹ️ 설계 단계는 두단계로 나뉜다.
- 개념 설계 (conceptual design) (혹은 사전설계:preliminary design)
- 상세 설계 (detailed design)
각 단계별 내용과 산출물은 아래와 같이 정의될 수 있다.
- 개념 설계
- 시스템의 구조 설계
- 기능을 분해하여 모듈 구조 (모듈 자체의 기능, I/O 설계)
- 모듈이름
- 모듈형
- 인터페이스
- 오류메시지
- 사용하는 파일
- 호출하는 모듈
- 기능설명
- 모듈 간의 관계를 정립(모듈 인터페이스)
- 자료설계(데이터베이스 설계)
- 결과 시스템 구조도(Structure Chart)
- 외부 파일 및 DB 설계도(레코드 레이아웃, ERD)
- 상세 설계
- 모듈 내부 설계
- 모듈별로 아래 내용을 기술
- 자료구조
- 변수명
- 자료형
- 역활 (주석으로 상세히 기술하면 좋다.)
- 알고리즘
- 알고리즘 이름
- 매개변수 타입
- 내부 절차(Pseudo code)
- 반환값
- 모듈 내 변수
- 이름
- 목적(무엇을 위해 저장하는지, 어떻게 이용될 것인지 기술)
- 자료구조
- 모듈별로 아래 내용을 기술
- DBMS 물리스키마
- 개념설계에서 논리스키마를 제공했다면, 상세설계에서는 실제로 작동할 수 있는 SQL 생성 구문이 제공되어야 한다.
- 컬럼명,자료형, 인덱스, 제약사항
- 효율적인 동작을 고려해야한다. 즉 컬럼들의 순서가 중요하다.(옵티마이징)
- 사용자 인터페이스 ( DBMS와 같은 시스템 프로그램(혹은 라이브러리)은 거의 해당하지 않는다. iSQL와 같은 사용자 툴만 해당.)
- 메뉴
- 입력 폼
- 출력 레포트 자료구조 설계
- 구조형 및 배열 결과
- 프로그램 사양서
- 화면 및 출력물 레이아웃
- 모듈 내부 설계
1. 서론
1.1. 목적
이 SDD 및 해당 대상의 목적을 식별하십시오. (예 : "이 소프트웨어 설계 문서는 XX의 아키텍처 및 시스템 설계를 설명합니다.").
1.2. 범위
소프트웨어의 설명과 범위를 제공하고 프로젝트의 목표, 목적 및 이점을 설명하십시오. 이것은 귀하의 제품에 대한 간략한 설명을위한 기초를 제공합니다.
1.3. 개요
이 문서와 조직에 대한 개요를 제공하십시오.
1.4. 참고 자료
이 섹션은 선택 사항입니다.
테스트 계획에 대한 정보 출처로 사용 된 모든 문서를 나열하십시오.
1.5. 정의 및 약어
이 섹션은 선택 사항입니다.
SDD를 올바르게 해석하기 위해 존재할 수있는 모든 용어, 두문자어 및 약어에 대한 정의를 제공하십시오. 이 정의는 SDD에서 사용되는 것으로 청중에게 가장 잘 알려지지 않은 항목이어야합니다.
2. 시스템 개요
프로젝트의 기능, 컨텍스트 및 디자인에 대한 일반적인 설명을 제공하십시오. 필요한 경우 배경 정보를 제공하십시오.
3. 시스템 구조
3.1. 아키텍쳐 설계
모듈 형 프로그램 구조를 개발하고 모듈 간의 관계를 설명하여 시스템의 완전한 기능을 구현하십시오. 이것은 시스템의 책임이 어떻게 분할되어 하위 시스템에 할당되었는지에 대한 고차원적인 개요입니다. 상위 수준의 각 하위 시스템과 그에 할당 된 역할 또는 책임을 식별하십시오. 원하는 기능을 수행하기 위해 이러한 서브 시스템이 어떻게 서로 협력하는지 설명하십시오. 개별 하위 시스템에 대해 너무 자세히 설명하지 마십시오. 주된 목적은 시스템이 어떻게, 왜 왜 분해되었는지, 어떻게 개별 부품이 함께 작동 하는지를 이해하는 것입니다. 주요 하위 시스템과 데이터 저장소 및 상호 연결을 보여주는 다이어그램을 제공하십시오. 필요한 경우 다이어그램을 설명하십시오.
3.2. 분해 설명
건축 설계에서 서브 시스템의 분해를 제공하십시오. 필요에 따라 텍스트를 보충하십시오. 기능적 설명 또는 객체 지향적 설명을 제공 할 수 있습니다. 기능적 설명을 위해 최상위 데이터 흐름도 (DFD)와 구조적 분해도를 작성하십시오. OO 설명의 경우, 서브 시스템 모델, 오브젝트 다이어그램, 일반화 계층 다이어그램 (있을 경우), 집계 계층 다이어그램 (있는 경우), 인터페이스 스펙 및 시퀀스 다이어그램을 여기에 입력하십시오.
3.3. 디자인 이론적 근거
고려 된 중요한 문제 및 거래 / 해제를 포함하여 3.1에 설명 된 아키텍처를 선택하는 근거에 대해 토론합니다. 고려하지 않은 다른 아키텍처에 대해 토론 할 수 있습니다. 단, 선택한 아키텍처를 선택하지 않은 이유를 설명해야합니다.
4. 데이터 디자인
4.1. 데이터 설명
시스템의 정보 도메인이 어떻게 데이터 구조로 변환되는지 설명하십시오. 주요 데이터 또는 시스템 엔티티를 저장, 처리 및 구성하는 방법을 설명하십시오. 데이터베이스 또는 데이터 저장 항목을 나열하십시오.
4.2. 데이터 사전
유형이나 설명과 함께 시스템 엔티티 또는 주요 데이터를 알파벳순으로 나열합니다. 3.2 절의 기능 설명을 제공 한 경우 모든 기능 및 기능 매개 변수를 나열하십시오. OO 설명을 제공 한 경우, 객체와 그 속성, 메소드 및 메소드 매개 변수를 나열하십시오.
5. 구성 요소 설계
이 섹션에서는 각 구성 요소가보다 체계적인 방식으로 수행하는 작업을 자세히 살펴 봅니다. 3.2 절의 기능 설명을 제공 한 경우 절차 적 설명 언어 (PDL) 또는 의사 코드로 3.2에 나열된 각 함수에 대한 알고리즘 요약을 제공하십시오. OO 설명을 한 경우 PDL 또는 의사 코드의 3.2에 나열된 모든 객체에 대해 각 객체 구성원 함수를 요약하십시오. 필요한 경우 모든 로컬 데이터를 설명하십시오.
6. 인체 공학적 설계
6.1. 사용자 인터페이스 개요
사용자의 관점에서 시스템의 기능을 설명하십시오. 사용자가 시스템을 사용하여 예상되는 모든 기능과 사용자에게 표시 될 피드백 정보를 어떻게 완성 할 수 있는지 설명하십시오.
6.2. 화면 이미지
사용자 관점에서 인터페이스를 보여주는 스크린 샷을 표시합니다. 이것들은 손으로 그린 것이거나 자동화 된 그리기 도구를 사용할 수 있습니다. 가능한 한 정확하도록하십시오. (그래프 용지는 잘 작동합니다.)
6.3. 화면 개체 및 동작
화면 개체 및 해당 개체와 관련된 작업에 대한 설명입니다.
7. 요구 사항 매트릭스
구성 요소 및 데이터 구조를 SRS 문서의 요구 사항에 따라 추적하는 상호 참조를 제공합니다.
표 형식을 사용하여 SRS의 각 기능 요구 사항을 충족하는 시스템 구성 요소를 표시합니다. 기능 요구 사항을 SRS에서 제공 한 번호 / 코드로 참조하십시오.
8. 부록
이 섹션은 선택 사항입니다.
소프트웨어 설계 문서를 이해하는 데 도움이 될 수있는 지원 세부 사항을 제공하기 위해 부록이 직접 또는 참조로 포함될 수 있습니다.