본문 바로가기
Final Project

Devops Day 68 (6.13) Final Project_Day 2

by Jackykim 2023. 6. 14.

1. 요구 사항 분석서 업데이트

- 요구사항 수정 및 추가 논의
- Sequence Diagram에 필요한 요구사항 명세서


[어린이집 입소 대기 시스템]

1. 회원가입

2. 로그인

3. 로그아웃

4. 사용자 정보 수정/탈퇴

5. 아동 등록

6. 아동 정보 수정/삭제

7. 아동 조회

8. 입소대기 신청

9. 입소 대기 신청 조회

10. 입소 대기 신청 수정/삭제

 

[어린이집 관리 시스템]

1. 로그인

2. 신청 아동 조회

3. 신청 아동 입소 등록 (알림 전송 포함)

4. 신청 아동 수정 (보류/취소)

5. 입소 등록 조회

Sequence Diagram (저희 파트)
5. 아동 등록

6. 아동 정보 수정/삭제

7. 아동 조회

**추가 수정
Sequence Diagram에서 어린이집 입소 대기 시스템 -> 학부모로 전달 되는 메세지는 불필요함.
이미 Frontend (어린이 입소 대기 시스템 웹사이트)에서 Redirect 통해 완료된 내용을 볼 수 있어 추가로 학부모로 알람 / 메시지가 필요없습니다. 단 알람이나 메세지를 전달 할 경우 WAS에서 알람 시스템으로 바로 전송하여 알람시스템이 학부모로 연락하는 구조를 구현해야 합니다. 

 

[ERD 2차 변경안]
첨언해주신 내용을 바탕으로 데이터베이스를 통합 결합성을 낮추기 위하여 아래와 같이 3가지 DB로 나누어보았습니다. 각 데이터베이스는 RDS로 이루어져있기 때문에 3개의 RDS를 갖게 됩니다.

 

엔지니어 피드벡

불분명한 요구사항 정리

  • 어린이집 관리 시스템 (이하 아동관리시스템)은 어린이집 별로 있는 것이 아니라, 많은 원장들이 사용하는 하나의 통합시스템이다.
  • 따라서, 어떤 한 아동이 어린이집을 배정받았을 경우, 다른 원장도 이를 알 수 있는 구조다 (아동관리시스템이 하나의 데이터베이스를 사용하니까)
    • 대기열에 있던 아동이 어린이집을 배정받은 경우, 학부모 뿐 아니라, 다른 원장에게도 알림이 가야한다.

아키텍처 제안 (엔지니어)

  • 두 개의 별도의 시스템을 상정한것으로 보임 (클러스터까지 따로)
  • 그런데, 하나의 데이터베이스를 사용하는 것은 현실적이지 않음 -> 따로 분리
  • "아동의 상태"라는 주제에 대해 두 시스템의 정합성이 맞아야 함
  • "어린이집의 수용 가능 인원"이라는 주제에 대해 두 시스템의 정합성이 맞아야 함
  • 아동의 상태를 다루는 어떤 중간 시스템이 하나 있으면 좋겠음 (메시지 큐 같은거)

우선순위

[예약시스템]
8. 입소대기 신청
9. 입소 대기 신청 조회

[아동관리시스템]
2. 신청 아동 조회
3. 신청 아동 입소 등록 (알림 전송 포함)
4. 신청 아동 수정 (보류/취소)

  • db에 데이터는 다 mocking 해서 만들면 좋겠음
  • 로그인은 나중에 할거긴 한데, 우선순위로는 천천히 해도 됩니다.
  • api 문서는 만들어보세요

아키텍처 고려사항

확장성, 가용성, 보안, 신뢰성

보안 -> 여러분이 아키텍처를 그려와야 판단이 가능

신뢰성

  • 두 시스템 간 아동 정보가 일치하면 성공

확장성

  • 강결합 안하는것만으로도 확장성을 어느정도 확보할 수 있어요

가용성

  • 어디가 제일 트래픽이 많을까요?
    • 예약시스템 (수평확장)
    • 신청 정보가 담기는 곳도 엄청 가용성이 좋아야 함 (고민해보세요)