728x90
IT- Essential - 아키텍처 그리기
아키텍처를 요구하는 대상
컨설턴트, 명세서, 매니저 등등등...
프로젝트 진행 시, 아키텍처를 설계는 '필수적'
수요는 넘처나는데 공급은 얼마없다 ㅠㅠ.. 그래서 시니어급에서 많이 합니다. ( 기초 설계 )
그리고 또다른 시니어들이 최적으로 만들게된다.
사전적 정의
아키텍처
- 건물이나 다른 구조물을 계획하고 설계하고 건설하는 과정과 그 결과물이다.
SW 아키텍처
- 소프트웨어 구성요소들 사이에서 유기적 관계를 표현한다.
- 소프트웨어의 설계와 업그레이드를 통제하는 지침과 원칙이다.
왜 중요한가요?
초기 설계 과정의 '결정 사항'
- 구현에 대한 제약사항 검토 및 시스템에 대한 구조 결정
커뮤니케이션의 '기준점'
- 서비스나 시스템의 이해 당사자들 간의 공통분모
재사용 가능한 '레퍼런스'
- 아키텍처를 결정 짓게 한, 유사한 요구사항 및 설계 경험의 재사용
'학사관리시스템'을 통한 아키텍처 설계방법
결정요인 도출
- 이해관계자 선별
- 시스템과 연관되는 사람, 다른 시스템
- 학생, 교수, 교직원, 외부시스템(인사관리 시스템, 학사관리 시스템)
- 시스템과 연관되는 사람, 다른 시스템
- 기능 요구사항
- 학사관리기능, 수업 관리기능, 수강 관리 기능, 사용자 관리 기능
- 비기능요구사항
- 품질 속성
- 강의신청 기간에 원활한 진행, 언제 어디서나 접근 가능 모바일에서도 접속 가능, 권한을 통한 정보 보안, 데이터 손실 방지
- 품질 속성
품질속성시나리오
- 스파이크 성 트래픽에 대한 처리, public 환경, 하이브리드 웹, 권한을 통한 정보 보안, 주기적 데이터 백업
- 학생 (스파이크 성 트래픽에 대한 처리, public환경, 하이브리드-웹)
- 학생 1100명이 수강신청을 동시에 신청할 시에, 수강신청을 먼저 신청한 학생 순서대로 5초 이내에 처리 완료한다.
- Scaleout 가능 구조, DB sharding, L4-switch load balancer, Memory cache, Message Queue
- (교수 포함)학생과 교수는 본 시스템에 외부, 내부 네트워크 환경에서 모두 접속하여 수강신청을 할 수 있다.
- Public IP
- Hybrid web
- (교수 포함)학생과 교수는 안드로이드, IOS, PC로 접속하여 수강신청을 할 수 있다. 지원 브라우저는 IE 11, Chrome 80, safary 13, Samsung internet 11 버전 이상이다.
- Hybrid web
- 학생 1100명이 수강신청을 동시에 신청할 시에, 수강신청을 먼저 신청한 학생 순서대로 5초 이내에 처리 완료한다.
- 교수(권한을 통한 정보 보안)
- (교수 포함)학생과 교수는 본 시스템에 외부, 내부 네트워크 환경에서 모두 접속하여 수강신청을 할 수 있다.
- 학생과 교수는 안드로이드, IOS, PC로 접속하여 수강신청을 할 수 있다. 지원 브라우저는 IE 11, Chrome 80, safary 13, Samsung internet 11 버전 이상이다.
- Hybrid web
- 권한이 있는 교직원 외에는 인사관리 데이터에 아무도 접근X
- 권한이 없는 교수와 교직원 외에는 학사관리 시스템에 아무도 접근 X
- (교직원 포함)수강신청 기간에는 매일 오전03시에 수강신청 데이터를 백업 ,수강신청 완료후에 데이터의 영구보존을 위해 수강신청 데이터를 백업, 별도 디스크 저장
- DB Batch Job
- Backend batch system
위와 같은 기능은 아키텍처 전략을 수립했다고 볼수있다.
아키텍처 그리기 순서
비기능 요구사항 도출 > 비기능 요구사항으로 품질속성 시나리오 작성 > 품질속성 시나리오로 아키텍처 패턴 결정
마무리
이론적인 방법과 실전에서 사용되는 과정 설명
비기능요구사항 도출 > 품질속성 시나리오 작성> 아키텍처 패턴 결정> 아키텍처 도식화
- 품질속성을 정확히 정의
- 품질속성 별도 전략 도출
- 도출된 전략을 잘 보여줄 수 있게 도식화
- 아키텍처 검증(평가)
Q & A
728x90
'SSAFY' 카테고리의 다른 글
[SSAFY] 블록체인 기본 개념 구현 및 해쉬의 이해 (0) | 2021.07.12 |
---|---|
[SSAFY - Colab] Google Colab 기반 Generative Adversarial Network 응용하기 (0) | 2021.07.11 |
Jira 및 JQL 활용법 (0) | 2021.07.07 |
[SSAFY 2] 협업하기 (0) | 2021.07.06 |
[ SSAFY ] 2학기 시작 (0) | 2021.06.28 |