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 문서는 만들어보세요
아키텍처 고려사항
확장성, 가용성, 보안, 신뢰성
보안 -> 여러분이 아키텍처를 그려와야 판단이 가능
신뢰성
- 두 시스템 간 아동 정보가 일치하면 성공
확장성
- 강결합 안하는것만으로도 확장성을 어느정도 확보할 수 있어요
가용성
- 어디가 제일 트래픽이 많을까요?
- 예약시스템 (수평확장)
- 신청 정보가 담기는 곳도 엄청 가용성이 좋아야 함 (고민해보세요)
'Final Project' 카테고리의 다른 글
Devops Day 72 (6.17) Final Project_Day 6 (토요일) (2) | 2023.06.18 |
---|---|
Devops Day 71 (6.16) Final Project_Day 5 (0) | 2023.06.18 |
Devops Day 70 (6.15) Final Project_Day 4 (0) | 2023.06.16 |
Devops Day 69 (6.14) Final Project_Day 3 (0) | 2023.06.15 |
Devops Day 67 (6.12) Final Project_Day 1 (0) | 2023.06.12 |