웹 애플리케이션 요구사항 정의서

프로젝트명 : 커플 모임 통장 금융 서비스 웹사이트 개발환경 : Java 21, Spring Boot 4.x, Thymeleaf, Oracle, Gradle

작성일 : 2026.04.11

작성자 : 김병현(기술 리더)

1. 개요

항목 내용
프로젝트 명 모담(돈을 모으고 추억을 담는다) : MODAM
목적 모담은 커플이 함께 계획적으로 소비하고 저축하며, 소비 내역을 추억으로 기록할 수 있는 서비스로, 공동 재정 관리의 불편함과 소비 기록의 단절을 해소하는 서비스
범위 회원 관리(일반 사용자, 관리자), 계좌 관리(개설, 초대, 해지, 지분), 금융 거래(입금, 출금, 결제, 소비 제한), 사용자 소비 관리(내역, 추억 기록, 분석), 저축, 마이페이지(정보, 수정, 탈퇴), 공통 기능(네비게이션 바, 알림, 오류 화면)
주요 사용자 일반 사용자(USER) : 커플이 모임 통장을 중심으로 함께 돈을 모으고 소비를 기록, 분석함

관리자(ADMIN) : 회원 목록 조회, 계좌 해지 승인, 정산 처리 확인, 이상 거래 모니터링, 회원 승인, 탈퇴 관리 기능으로 관리 | | 플랫폼 | 웹 브라우저(PC, 모바일) 기반 |

2. 시스템 구성도

modam_system_architecture_v3.svg

3. 사용자 역할 정의

역할 설명 할 수 있는 일 인증 방식
비회원(GUEST) 로그인하지 않은 방문자 메인 페이지 보기(서비스 소개) 없음
일반회원(USER) 회원가입 후 로그인한 사용자 • 비회원의 모든 기능
• 계좌를 만들었을 때와 만들지 않았을 때 기능 제한 • 세션으로 인증(유저 아이디)
• Spring Security
관리자(ADMIN) 시스템 운영자 • 회원의 모든 기능 + 등록/수정/삭제
• 전체 관리자 기능 • 세션으로 인증(유저 아이디)
• Spring Security

4. 기능 요구사항(상세)

기능 그룹 최소 개수 예시
회원 관리 4개 회원가입, 로그인, 로그아웃, 권한 관리
계좌 관리 5개 계좌 개설, 사용자 초대, 권한 관리, 계좌 해지, 계좌 비밀번호 설정
금융 거래 4개 입금, 출금, 결제, 소비 제한, 기록
소비 내역 및 기록 5개 소비 내역 조회, 소비 기록, 커뮤니티 기능, 수정
소비 분석 3개 월간 리포트, 주간 리포트, 소비 패턴 분석
저축 및 목표 관리 4개 저축 및 목표 생성, 목표 달성, 자동 저축, 진행률 표시
기여도 및 지분 2개 지분 비율 표시, 정산 기능
포인트 및 감성 3개 포인트 적립, 상점, 배경/테마 변경
마이페이지 3개 회원정보 수정, 보기, 탈퇴
알림 관리 9개 알림 설정, 입금, 출금, 결제, 소비 제한, 주간 리포트, 월간 리포트, 포인트 적입, 오류
공통기능 3개 네비게이션 바, 알림, 오류 화면

4-1. 회원 관리

기능 ID 기능명 설명 입력값(검증 규칙) 결과 우선순위
MEM-01 회원가입 아이디, 비밀번호, 이메일, 주민등록번호, 전화번호, 집주소, 개인정보 수집 동의(알림 동의)
새 계정을 생성 아이디(6 ~ 20자) 필수, 비밀번호 (8 ~ 20) 필수, 이메일 (50자) 필수, 전화번호 (13자)필수, 집주소 (255자) 필수, 개인정보 수집 동의(bool) 필수, 알림 동의(bool) 선택, 영문이름(성, 이름) 성공: 로그인 페이지 이동실패: 에러 메시지 표시(이미 사용 중인 이메일) 높음
MEM-02 로그인 아이디와 비밀번호로 인증 후 세션처리 아이디 (6자 이상) 필수, 비밀번호 (8자 이상) 필수 성공 : 메인 페이지 이동 및 세션 생성
실패 : 에러 메시지 표시(팝업) 높음
MEM-03 로그아웃 현재 세션을 종료 없음 메인 페이지로 이동 높음
MEM-04 권한 관리 ADMIN은 관리자 기능 접근, USER는 일반 기능만,
비회원은 일부 기능만 읽기 가능 없음 (세션에서 판별) ADMIN : 계좌 CRUD 가능
USER : CRD가능
비회원 : CR가능 높음

4-2. 계좌관리

기능 ID 기능명 설명 입력값(검증 규칙) 결과 우선순위
ACC-01 계좌 개설 사용자가 계좌를 생성함 배송 주소, 직장 정보(직업), 거래목적 및 자금출처(거래목적, 자금출처), 금융상품이 본인 소유임을 확인하는 동의서(체크) 성공 : 계좌 대시보드로 이동
실패 : 계좌 개설 화면으로 이동
• 메시지 전달(에러) 높음
ACC-02 계좌 비밀번호 설정 사용자가 계좌를 개설하고 비밀번호를 설정함 비밀번호(6자리, 사용자의 생년월일과 전화번호 중복 금지) 성공 : 계좌 개설 성공 화면 이동
실패 : 계좌 비밀번호 설정 화면 이동 높음
ACC-03 사용자 초대 초대할 사용자의 이메일을 입력하여 초대함 이메일(한 명에게만 보낼 수 있게) 성공 : 초대화면 이동
• 초대한 사람이 초대를 받았는지 안 받았는지 확인
실패 : 초대화면 이동
• 메시지 전달(에러) 높음
ACC-04 계좌 해지 계좌 해지 화면에서 두 사용자가 해지 버튼을 누르고 모두 동의시 관리자가 다시 확인해서 해지하는 기능

한 명이 해지 버튼을 눌렀을 시 계좌의 입출금을 정지하는 기능 | 없음 | 성공 : 관리자에게 해지 요청 전달 실패 : 예외처리 | 높음 |

4-3. 금융 거래

기능 ID 기능명 설명 입력값(검증 규칙) 결과 우선순위
FIN-01 입급 개인 통장에서 모임통장으로 입금하는 기능 계좌번호, 입금액 성공 : 입금 성공 화면 이동
• 현재 잔액 표시
실패 : 입금 화면 이동
• 동시에 입금할 시
• 잔액부족일 시 높음
FIN-02 출금 모임 통장에서 개인 통장으로 출금 계좌번호, 출금액, 비밀번호 성공 : 출금 성공 화면 이동
실패 : 출금 화면 이동
• 출금 실패 알림(메시지) 높음
FIN-03 결제 가상의 가게로 입금되는 시스템 계좌번호, 결제액 성공 : 결제 완료 화면 이동
실패 : 결제 실패 화면 이동 높음
FIN-04 소비 제한 사용자가 소비 제한을 걸면 결제할 때 제한 금액에 가까워지거나 넘을거 같으면 현재까지 쓴 값과 소비 제한 금액을 출력하는 화면을 표시하고 최종 결제창 띄워주기 없음 성공 : 결제 화면 이동
실패 : 칭찬 화면 이동
• “얼마만큼 소비를 아꼈어요”
• 포인트 보상 주기(한 달에 받을 수 있는 포인트 제한 걸기) 높음
FIN-05 거래 내역 기록 입금, 출금, 결제 발생 시 거래 내역을 자동으로 기록한다, 사용자는 일, 주, 월별로 조회할 수 있다. 없음 거래 발생 시 거래 유형, 금액, 거래 일시, 거래자 정보 자동 저장 및 내역 목록에 표시 중간