고객의 요구사항을 만족하는 시스템을 설계하는 과정이란

김성훈·2023년 7월 4일
0

기술면접

목록 보기
2/3
  • 요구사항이란 무엇이며, 어떤 것들이 있나요?
    • 기능적 요구사항( Functional Requirements )
      : 반드시 구현되어야 하는 사항 ( 사용자 입장에서 A를 요구하면 B가 된다. )
    • 비기능적 요구사항( Non-Functional Requirements )
      : 그 기능이 어떻게 되느냐, 지연 없이 되느냐
  • 시스템이란 무엇이며, 시스템을 설계한다는 것은 무엇을 의미하나요?
    • 컴포넌트
    • 컴포넌트 간 통합( Integration, macro )
    • APIs
    • 데이터 모델 분산 시스템( Scale well but complex )

분산 시스템

물리적으로 다양한 네트워크에 서로 연결되어 있는 컴퓨터들이 메시지를 주고 받으며 하나의 서비스를 위해 협력하는 시스템

  • Internet
  • DNS
  • SMTP(Email)
  • Aircraft control systems
  • Wireless Sensor network
  • Meta, Apple, Netfilx, Google, Amazon ( FAANG )

Lamport : 시스템 안에서 컴퓨터 하나에 오류가 발생했을 때 소유자는 그 사실을 모르면서 이윽고 컴퓨터가 사용할 수 없게 만드는 것이다.

분산 시스템을 사용하는 이유

1. 요구사항 충족을 위해 무언가를 분산

  • 워크로드, 기능 분리
  • 가용성, 지연시간, 장애 대응
  • 관리 용이성
  • 법/정치적 요구

2. 고객의 요구사항

  • 기능적 요구사항
  • 비기능적 요구사항

분산 시스템의 장점과 단점

장점

  • Scalability and Modular Growth
    하나의 모듈이 늘어남에 따라 모듈이 성장 ( EC2 생성 -> EC2 추가 생성 )
  • Fault Tolerance and Redundancy
  • Low Latency
  • Cost Effectiveness
  • Efficiency

단점

  • Complexity
  • Higher Initial Cost
  • Security Concerns

(~31:20 )

profile
I wanna be your good partner

0개의 댓글