1. Tool
피그마 선택
이유: 무료, 간편함, 협업, 오픈소스
'프로젝트 > 로또 번호 추천 웹사이트' 카테고리의 다른 글
2. 데이터베이스 설계 (0) | 2023.10.31 |
---|---|
1. 요구사항 분석 (0) | 2023.10.31 |
0. 홈페이지를 제작하는 방법, 순서 (0) | 2023.10.30 |
1. Tool
피그마 선택
이유: 무료, 간편함, 협업, 오픈소스
2. 데이터베이스 설계 (0) | 2023.10.31 |
---|---|
1. 요구사항 분석 (0) | 2023.10.31 |
0. 홈페이지를 제작하는 방법, 순서 (0) | 2023.10.30 |
1. 요구 분석:
로또 당첨 번호와 회차 정보 저장
각 회차의 보너스 번호 저장
회차에 따른 당첨 번호 조회 가능
2.개념적 설계:
Entity: LottoDraw, LottoNumber
Relationship:
한 LottoDraw는 여러 LottoNumber를 가짐 (One to Many)
한 LottoNumber는 하나의 LottoDraw에 속함 (Many to One)
3.논리적 설계:
3.1. LottoDraw
id (PK): Integer
date: Date
bonusNumber: Integer
3.2. LottoNumber
id (PK): Integer
drawId (FK): Integer (LottoDraw의 id 참조)
number: Integer
3.3 특이사항: 보너스번호를 LottoDraw 테이블에 저장하는 이유
3.3.1 LottoDraws 테이블에 저장
장점: 각 회차마다 하나의 보너스 번호만 있기 때문에, 회차와 함께 보너스 번호를 저장하면 조회하기가 간단해진다
단점: LottoNumbers 테이블과의 일관성이 떨어질 수 있습니다. 일반 당첨 번호와는 다르게 처리해야 하는 경우가 생길 수 있다.
LottoNumbers 테이블에 저장 (별도의 구분자 필드 추가)
장점: 모든 번호 (당첨 번호 + 보너스 번호)를 동일한 테이블에서 관리할 수 있으므로 일관성이 유지된다. 특정 회차의 모든 번호 (당첨 + 보너스)를 한번의 쿼리로 조회할 수 있다.
단점: 번호를 조회할 때마다 구분자 필드를 확인해야한다. 이는 쿼리 복잡성을 약간 증가시킬 수 있다.
4.JPA Entity 클래스 작성
@Entity
public class LottoDraw {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
private LocalDate date;
private Integer bonusNumber;
@OneToMany(mappedBy = "lottoDraw", cascade = CascadeType.ALL)
private List<LottoNumber> numbers = new ArrayList<>();
// ... getters, setters, etc.
}
@Entity
public class LottoNumber {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
@ManyToOne
@JoinColumn(name = "drawId")
private LottoDraw lottoDraw;
private Integer number;
// ... getters, setters, etc.
}
3. UI/UX 설계 (0) | 2023.10.31 |
---|---|
1. 요구사항 분석 (0) | 2023.10.31 |
0. 홈페이지를 제작하는 방법, 순서 (0) | 2023.10.30 |
1.최근 5회차의 로또 당첨 번호 제공:
사용자가 웹 애플리케이션에 접속하면 최근 5회차의 당첨 번호를 볼 수 있어야 한다.
2.최근 5회차에서 가장 나오지 않았던 번호들을 기반으로 한 로또 번호 추천 기능:
최근 5회차에서 가장 자주 나오지 않았던 번호들 중에서 로또 번호를 추천해주는 기능을 제공해야 한다.
3.관리자가 별도의 조치를 하지 않아도 모든 것이 자동으로 이루어져야한다.
3. UI/UX 설계 (0) | 2023.10.31 |
---|---|
2. 데이터베이스 설계 (0) | 2023.10.31 |
0. 홈페이지를 제작하는 방법, 순서 (0) | 2023.10.30 |
1.요구사항 분석
웹 애플리케이션의 목적 및 핵심 기능 파악
사용자의 필요와 요구를 분석
2.설계
데이터베이스 설계 (테이블, 관계 등)
UI/UX 디자인 (화면 레이아웃, 사용자 경험)
아키텍처 및 시스템 설계 (서버 구조, API 설계 등)
3.개발
프론트엔드 개발 (HTML, CSS, JavaScript 등)
백엔드 개발 (서버 로직, 데이터베이스 연동 등)
API 개발 및 연동
4.테스팅
단위 테스트 (각 기능 별 테스트)
통합 테스트 (전체 시스템 테스트)
성능 테스트, 보안 테스트 등 필요한 추가 테스트 진행
5.배포
웹 서버 및 데이터베이스 서버 설정
도메인 연결 및 SSL 인증서 적용
애플리케이션 배포 및 실행
6.유지보수
애플리케이션 모니터링 및 오류 수정
사용자 피드백 기반의 업데이트
성능 개선 및 보안 강화
3. UI/UX 설계 (0) | 2023.10.31 |
---|---|
2. 데이터베이스 설계 (0) | 2023.10.31 |
1. 요구사항 분석 (0) | 2023.10.31 |