반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- DBMS 개발
- Pointer
- SQLite
- 약어
- go
- 전처리기
- OS 커널
- 한빛미디어
- Programming
- TiKV
- getopts
- 구조와 원리
- 커널
- 긴옵션
- UNIX
- DBMS
- Preprocessor
- newSQL
- Golang
- FreeBSD
- kernel
- 함수포인터
- 포인터
- 컴퓨터 강좌
- 포인터변수
- UNIX Internals
- Windows via c/c++
- Symbol
- TiDB
- bash
Archives
- Today
- Total
sonumb
Architecture Views 본문
1. Architecture의 4+1 관점
"+ 1 view"는 사용자의 관점(view)이며, "4 view"는 소프트웨어 개발 입장(구현 및 배포)의 view 이다.
일반적인 소프트웨어 개발 프로세스는 아래와 같다.
- 요구사항수집
- Scenario View(User View): 요구사항 분석이후, 사용자 관점에서 본 소프트웨어 use case 혹은 use scenario이다.
- 설계
- 사전설계(개념설계)
- Logical view: 요구사항명세서+사용시나리오를 통해 큰 그림과 각 세부 모듈을 선언 및 설계한다.(단, 상세한 내용은 정의 하지 않는다)
- Process View: 로지컬 뷰에서 선언된 세부 모듈들이 어떻게 상호작용하는지 설계한다.(유즈케이스 혹은 사용시나리오로가 근거이며, 세세한 정의는 하지 않는다.)
- 상세설계
- Development View(혹은 implementation view): 큰그림으로부터 세부적인 항목들로 정의하여, 내부동작들을 세세하게 정의한다. 물론 동작의 근거는 요구사항명세서이다.
- Physical View(혹은 Deployment view): 구현이 나오고 난 뒤, 시스탬 엔지니어(배포자)의 관점에서 본 뷰이다. 시스템구성/패키징 배포 및 설치/관리에 있어서 가용성/성능/확장성 등이 주요 관점이다.
- 사전설계(개념설계)
- 구현
- 위 4+1 view를 근거로 구현한다.
- 테스트
- 테스트 케이스, 테스트 시나리오의 설계는 설계 단계에서
- 테스트 케이스 구현은 소프트웨어 구현에서 혹은 테스트 단계에서 이루어져야 한다.
- 배포
- 배포는 위 상세설계 단계에서 설계한 내용을 바탕으로 배포되며
- 테스트 또한 테스트의 시나리오를 기반으로 엔드유저와 실행한다.
이중 1-2 단계의 view들은 위에서 말안 4+1 view와 대응된다.
그리고 각단계의 절차와 그에 상응하는 책임자는 아래와 같다.
- 요구사항 수집: 기획자 (요구사항분석)(주), (리뷰 시 모든 관계자 참여)
- 설계: 아키텍터(주), 프로그래머(설계 내용을 지속적으로 프드백), QA 엔지니어, 시스템 엔지니어
- 구현: 개발자(주), 아키텍터
- 테스트: QA 엔지니어(주), 개발자
- 배포: 시스템 엔지니어(소프트웨어 배포자)
✅ 각 단계를 실시할 때, 책임자는 자신의 단계를 진행하거나 리뷰 시 필요한 책임자들을 involve를 주문할 권한이 있다. 즉, 적절할 판단을 통해 협업할 사람을 정하여 도움을 요청하라는 말이다. |
소프트웨어에 관계된 모든 사람들은 모든 view들에 대해 "입장"을 가지겠지만, 특히 책임질 수 있는 사람을 뜻한다.
또한, QA 엔지니어는 위의 절차 중 1-2단계에 대해 "입장"을 가지며, 테스트 단계를 책임져야 한다.
2. 각 뷰에 대한 결과물
위의 "4+1 관점"에 따라 나와야 할 UML의 결과물의 예시는 아래와 같다.
반응형