[인실리코젠] Spring CRUD 프로젝트 요구 사항 분석 및 데이터베이스 설계

2024. 2. 16. 12:40·인실리코젠
목차
  1. 요구사항
  2. 데이터 베이스 설계 
  3. 요구사항 분석
더보기

본 글은 (주)인실리코젠 이병준 주임님과 이수호 주임님께서 제공해주신 Spring CRUD 프로젝트 입니다.

 

요구사항

요구사항 세부내용 요구 기술
사용자 회원 가입 사용자 아이디는 중복 검사를 통해 유효성 검사 Front : jQuery validation
Back : Hibernate validator
비밀번호는 숫자, 영문, 특수문자를 조합하여 최소 8자리
비밀번호를 찾기 위한 사용자 비밀번호 힌트 풀 제공
필수 입력사항 표시
항목 : 사용자 아이디, 사용자 이름, 비밀번호, 성별, 생년월일, 비밀번호 힌트
회원 비밀번호 찾기  회원 가입 시 선택한 비밀번호 힌트를 통해 비밀번호 찾기  
새로운 비밀번호로 변경 가능하도록 구현
공지사항 게시판 게시판 등록은 관리자 권한 사용자만 등록 Tabulator.js
우선 게시 여부, 사용 여부 입력
첨부파일 업로드
글 내용에 이미지 업로드 => 내용에 표시
필수 입력 사항 표시
(항목 : 제목, 내용, 우선 게시 여부, 사용 여부)
공지사항 게시판 댓글 로그인 여부에 상관없이 공지사항에 댓글 등록  
댓글 수정, 삭제는 관리자 또는 등록자만 가능
회원 통계 시스템이 회원 가입한 사용자들의 나이, 성별, 가입일시에 따른 결과를 시각화하여 표시하도록 구현 Chart.js
게시글 통계 등록 일시에 따라 시각화 Chart.js
첨부파일 통계 시각화
조회 수와 댓글 수에 따라 시각화

데이터 베이스 설계 

데이터베이스를 설계 과정은 요구사항 분석 → 개념적 설계 →  논리적 설계 →  물리적 설계 순서에 해당된다.  

 


요구사항 분석

회원가입 기능

  • 로그인 아이디 중복 검사 필요
  • 비밀번호 최소 8자
    • 숫자, 영문, 특수문자 조합
  • 비밀번호 찾기 기능
  • 필수 항목
    • 사용자 아이디(로그인 시 필요한 아이디)
    • 사용자 이름
    • 비밀번호
    • 성별
    • 생년월일
    • 비밀번호 힌트

공지사항 게시판 기능

  • 사용자 관리자 권한 구분
  • 게시판 옵션
    • 우선 게시 
    • 게시글 사용
  • 첨부파일 업로드 가능
  • 글 내용에 이미지 업로드 가능
    • 내용에 표시 되도록
  • 필수 항목
    • 제목
    • 내용
    • 옵션
  • 댓글 
    • 로그인 , 비로그인 구분
    • 수정 및 삭제
      • 관리자 or 게시글 등록자만 가능

통계 기능

  • 회원통계
    • 시각화
      • 나이, 성별, 가입 일시
  • 게시글 통계
    • 시각화
      • 등록 일시
      • 첨부파일
      • 조회 수 및 댓글 수

개념적 설계

회원가입 테이블 (User)

  • user_id (PK): 사용자 고유 식별자
  • user_login_id: 사용자 로그인 아이디 (중복 검사 필요)
  • user_name: 사용자 이름
  • password: 비밀번호 (최소 8자, 숫자, 영문, 특수문자 조합)
  • gender: 성별
  • date_of_birth: 생년월일
  • answer: 비밀번호 힌트 정답
  • hint_id : 힌트 테이블 FK

힌트 테이블

  • hint_id(PK): 힌트 고유 식별자
  • content: 힌트 내용

공지사항 게시판 테이블 (Board)

  • board_id(PK): 공지사항 고유 식별자
  • title: 게시글 제목
  • content: 게시글 내용
  • user_id(FK) : 게시글 등록자

댓글 테이블 (Comment)

  • comment_id (PK): 댓글 고유 식별자
  • content: 댓글 내용
  • user_id (FK): 댓글 작성자 
  • board_id (FK): 댓글이 작성된 게시글 

첨부 파일 테이블 (Attachement File)

  • Attachement_File_id  (PK): 첨부파일 고유 식별자
  • file_name: 이름 내용
  • file_size : 파일 크기
  • file_path : 파일 경로
  • board_id (FK): 파일 업로드된 게시글

권한 테이블 (Auth)

  • auth_id(PK) : 권한 고유 식별자
  • auth_content : 권한 명

논리적 설계

물리적 설계

 

설계 시 용어 사전에 따라 컬럼명을 정의하였음.

  •  

'인실리코젠' 카테고리의 다른 글

[인실리코젠] Spring Security + JWT + JPA  (0) 2024.03.15
[인실리코젠] Spring CRUD - 회원 가입  (0) 2024.02.16
[인실리코젠] Web Crawling - Finish  (1) 2024.02.02
[인실리코젠] WebCrawling - 2  (0) 2024.01.22
[인실리코젠] Spring : 용어 정리(기본)  (0) 2024.01.19
  1. 요구사항
  2. 데이터 베이스 설계 
  3. 요구사항 분석
'인실리코젠' 카테고리의 다른 글
  • [인실리코젠] Spring Security + JWT + JPA
  • [인실리코젠] Spring CRUD - 회원 가입
  • [인실리코젠] Web Crawling - Finish
  • [인실리코젠] WebCrawling - 2
min._.uuk_
min._.uuk_
하루 하나 기록하기
  • min._.uuk_
    기록하는 습관
    min._.uuk_
  • 전체
    오늘
    어제
    • 분류 전체보기 (33)
      • 알고리즘 (15)
      • 자바 스크립트 (2)
      • 인실리코젠 (15)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • github
  • 공지사항

  • 인기 글

  • 태그

    백준 #세그먼트 트리 #구간합 #c언어 #골드1 #탐색
    백준 #1407번 #재귀함수
    백준 #MST #최소비용신장트리 #크루스칼 #그리디 #알고리즘
    백준 #BOJ #스택 #수열
    백준 #후위표기식 #스택 #중위표기식 #우선순위 #1918번
    인실리코젠 #크롤링 #SpringBoot #MVC #jQuery
    Apache #POI #JAVA #maven
    JS #테트리스 #HTML #CSS #추억의 게임
    #BOJ #백준 #10989번 #C언어 #카운팅정렬 #정렬
    백준 #동적계획법 #dp #백트래킹 #dfs
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
min._.uuk_
[인실리코젠] Spring CRUD 프로젝트 요구 사항 분석 및 데이터베이스 설계
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.