SSAFY

IT- Essential - 아키텍처 그리기

황성안 2021. 7. 8. 09:50
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
  • 교수(권한을 통한 정보 보안)
    • (교수 포함)학생과 교수는 본 시스템에 외부, 내부 네트워크 환경에서 모두 접속하여 수강신청을 할 수 있다.
    • 학생과 교수는 안드로이드, IOS, PC로 접속하여 수강신청을 할 수 있다. 지원 브라우저는 IE 11, Chrome 80, safary 13, Samsung internet 11 버전 이상이다.
      • Hybrid web
    • 권한이 있는 교직원 외에는 인사관리 데이터에 아무도 접근X
    • 권한이 없는 교수와 교직원 외에는 학사관리 시스템에 아무도 접근 X
    • (교직원 포함)수강신청 기간에는 매일 오전03시에 수강신청 데이터를 백업 ,수강신청 완료후에 데이터의 영구보존을 위해 수강신청 데이터를 백업, 별도 디스크 저장
      • DB Batch Job
      • Backend batch system

위와 같은 기능은 아키텍처 전략을 수립했다고 볼수있다.

아키텍처 그리기 순서

비기능 요구사항 도출 > 비기능 요구사항으로 품질속성 시나리오 작성 > 품질속성 시나리오로 아키텍처 패턴 결정

마무리

이론적인 방법과 실전에서 사용되는 과정 설명

비기능요구사항 도출 > 품질속성 시나리오 작성> 아키텍처 패턴 결정> 아키텍처 도식화

  1. 품질속성을 정확히 정의
  2. 품질속성 별도 전략 도출
  3. 도출된 전략을 잘 보여줄 수 있게 도식화
  4. 아키텍처 검증(평가)

Q & A

728x90