λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°

ν”„λ‘œμ νŠΈ/Android

[Android] μš΄λ™ 관리 μ•±

728x90
 

 

​

app-release.apk
5.85MB

​

μ½”λ‘œλ‚˜19 μž₯κΈ°ν™”λ‘œ 성인 10λͺ… 쀑 3λͺ…μ˜ 체쀑이 μ¦κ°€ν–ˆλ‹€λŠ” 톡계 κ²°κ³Όκ°€ μžˆλ‹€.

​

λ°”κΉ₯ ν™œλ™μ΄ 쀄고 집에 머무λ₯΄λŠ” μ‹œκ°„μ΄ κΈΈμ–΄μ§€λ©° ν™œλ™λŸ‰μ΄ 쀄어든 데닀가,

λ°°λ‹¬μŒμ‹μœΌλ‘œ μΈν•œ 고칼둜리 μ„­μ·¨κ°€ λŠ˜μ–΄λ‚œ νƒ“μ΄λΌλŠ” 이유λ₯Ό λ³Ό 수 μžˆλ‹€.

​

μ™ΈμΆœ νšŸμˆ˜κ°€ κ°μ†Œν•˜λ©° μΌμƒμƒν™œ ν™œλ™λŸ‰λ„ ν•¨κ»˜ κ°μ†Œλ˜λ©° μš΄λ™λŸ‰λ„ μ€„μ–΄λ“€μ—ˆλ‹€κ³  λ³Έλ‹€.

​

μ΄λŸ¬ν•œ μ‚¬νšŒν˜„μƒμ„ ν•΄κ²°ν•˜κΈ° μœ„ν•΄ μš°λ¦¬λŠ” μ§‘μ—μ„œ ν•  수 μžˆλŠ” μš΄λ™μ„ μΆ”μ²œν•΄μ£Όκ³ 

μš΄λ™μ„ κΎΈμ€€νžˆ ν•  수 있게 κ²©λ €ν•΄μ£ΌλŠ” μš΄λ™ ν”„λ‘œκ·Έλž¨μ„ μ•±μœΌλ‘œ μ œμž‘ν•˜λ € ν•œλ‹€.

​

μΈν„°λ„·μœΌλ‘œ μΆ©λΆ„νžˆ 찾을 수 μžˆλŠ” λ‚΄μš©μ΄μ§€λ§Œ μš΄λ™μ„ μ‹œμž‘ν•˜λŠ” μ‚¬λžŒλ“€μ€ λ°©λŒ€ν•˜κ³ 

λ§Žμ€ μ–‘μ˜ 정보쀑 μ–΄λ–€ 정보λ₯Ό λ―Ώμ–΄μ•Ό ν• μ§€ κ³ λ―Όν•˜λ‹€ λλ‚΄λ²„λ¦¬λŠ” κ²½μš°κ°€ λ§Žλ‹€.

​

μš°λ¦¬λŠ” 이런 λ²ˆκ±°λ‘œμ›€κ³Ό μš΄λ™μ˜ 지속성을 μœ μ§€ν•˜λŠ” 동기 λΆ€μ—¬λ₯Ό 앱을 톡해 κ΄€λ¦¬ν•˜κ³ 

μ‚¬μš©μžκ°€ 슀슀둜 루틴을 μ •ν•  수 있게 도움을 μ£ΌλŠ” 앱을 κ°œλ°œν•˜κ³ μž ν•œλ‹€.

 

 


개발 ν™˜κ²½ : Windows 10, Android Studio

관리 도ꡬ : Git, XLGantt

개발 μ–Έμ–΄ : Java

개발 생λͺ…μ£ΌκΈ° : ν”Όλ“œλ°± μžˆλŠ” 폭포수 λͺ¨λΈ

​


 

κ°œλ°œμƒλͺ…μ£ΌκΈ°λͺ¨λΈ: ν”Όλ“œλ°±μ΄ μžˆλŠ” 폭포수 λͺ¨λΈ 생λͺ…μ£ΌκΈ°

단계
μž…λ ₯ μ‚°μΆœλ¬Ό
μˆ˜ν–‰ νƒœμŠ€ν¬
좜λ ₯ μ‚°μΆœλ¬Ό
μ‹œμž‘ κΈ°μ€€
μ™„λ£Œ κΈ°μ€€
μš”κ΅¬μ‚¬ν•­
ν”„λ‘œμ νŠΈ μ œμ•ˆμ„œ
κΈ°λŠ₯ 뢄석 및 λͺ…μ„Έμ„œ μž‘μ„±
μš”κ΅¬μ‚¬ν•­ λͺ…μ„Έμ„œ
ν”„λ‘œμ νŠΈ μ œμ•ˆμ„œ μž‘μ„±
μš”κ΅¬μ‚¬ν•­ λͺ…μ„Έμ„œ μž‘μ„±
섀계
μš”κ΅¬μ‚¬ν•­ λͺ…μ„Έμ„œ
아킀텍쳐 DB 섀계
μ„€κ³„μ„œ
μš”κ΅¬μ‚¬ν•­λͺ…μ„Έμ„œ μž‘μ„±
μ„€κ³„μ„œ μž‘μ„±
κ΅¬ν˜„
μ„€κ²Œ μ‚¬μ–‘μ„œ
개발 μ½”λ”© λ‹¨μœ„ ν…ŒμŠ€νŠΈ
μ†ŒμŠ€ μ½”λ“œ ν…ŒμŠ€νŠΈ λ³΄κ³ μ„œ
μ„€κ²Œμ„œ μž‘μ„±
κ΅¬ν˜„ ν›„ λ‹¨μœ„ ν…ŒμŠ€νŠΈ μ’…λ£Œ
ν…ŒμŠ€νŠΈ
μ†ŒμŠ€ μ½”λ“œ
μ‹œμŠ€ν…œ ν…ŒμŠ€νŠΈ 인수 ν…ŒμŠ€νŠΈ
ν…ŒμŠ€νŠΈ λ³΄κ³ μ„œ
톡합 ν…ŒμŠ€νŠΈ μ’…λ£Œ
μ‹œμŠ€ν…œ/인수 ν…ŒμŠ€νŠΈ μ’…λ£Œ
μœ μ§€ 보수
ν…ŒμŠ€νŠΈ λ³΄κ³ μ„œ
ν”„λ‘œμ νŠΈ κ²€ν† 
ν”„λ‘œμ νŠΈ μ™„λ£Œ λ³΄κ³ μ„œ
μ „ ν…ŒμŠ€νŠΈ μ’…λ£Œ
μ™„λ£Œ λ³΄κ³ μ„œ μž‘μ„±

개발 방법둠

객체지ν–₯ 방법둠을 μ΄μš©ν•œλ‹€.

​

-ν”„λ‘œμ νŠΈ 개발 μ–Έμ–΄κ°€ μ™„λ²½ν•œ 객체지ν–₯ 언어인 JAVA이기에 λ©”μ†Œλ“œμ™€ 속성이 κ²°ν•©ν•œ 객체λ₯Ό ν‘œν˜„ν•˜κΈ°μ— μ ν•©ν•˜λ‹€.

​

JAVAκ°€ μ œκ³΅ν•˜λŠ” λ‹€μ–‘ν•œ λ©”μ†Œλ“œλ₯Ό ν™œμš©ν•˜μ—¬ μ—¬λŸ¬κ°€μ§€ κΈ°λŠ₯ κ΅¬ν˜„μ΄ κ°€λŠ₯ν•˜λ‹€.

​

 

객체지ν–₯ 뢄석

μ•± μ‚¬μš©μžμ™€ μš΄λ™ 관리/기둝을 μ΄κ΄„ν•˜λŠ” 앱을 UML μ–Έμ–΄μ˜ Use Case와 Sequence Diagram을 μ΄μš©ν•˜μ—¬ μš”κ΅¬μ‚¬ν•­μ„ λΆ„μ„ν•˜κ³ , ER λ‹€μ΄μ–΄κ·Έλž¨κ³Ό ν…Œμ΄λΈ” λͺ©λ‘ 및 κΈ°μˆ μ„ ν•˜μ—¬ λ°μ΄ν„°λ² μ΄μŠ€ μš”κ΅¬μ‚¬ν•­μ„ 뢄석

​

​

객체지ν–₯ 섀계

​

μ‹œμŠ€ν…œ 섀계 - DBλ₯Ό μ΅œλŒ€ν•œ μ΅œμ ν™”ν•˜μ—¬ 섀계

​

객체 섀계 - UML μ–Έμ–΄μ˜ Class Diagram을 이용 classλ₯Ό μ •μ˜ν•˜κ³  classλ“€ κ°„μ˜ 관계 및 μ•Œκ³ λ¦¬μ¦˜

그리고 자료ꡬ쑰λ₯Ό 섀계

​

DB 섀계 - ER λ‹€μ΄μ–΄κ·Έλž¨μ„ μ΄μš©ν•˜μ—¬ ν…Œμ΄λΈ”μ„ 상세 기술

​

객체지ν–₯ ν”„λ‘œκ·Έλž˜λ°

섀계λ₯Ό λ°”νƒ•μœΌλ‘œ Javaλ₯Ό μ΄μš©ν•˜μ—¬ 데이터 ꡬ쑰 λΆ€λΆ„κ³Ό κ΄€λ ¨ λ©”μ†Œλ“œλ₯Ό ν¬ν•¨ν•˜λŠ” μ—¬λŸ¬ κ°μ²΄λ“€λ‘œ κ΅¬ν˜„

​

​

​

​


WBS 개발 규λͺ¨ 산정은 λ‹€μŒκ³Ό κ°™λ‹€.

 

 

WBS

κ°„νŠΈμ°¨νŠΈ

 

​

​

​

λΉ„μš© : 간이 κΈ°λŠ₯ μ μˆ˜λ²• μ‚°μ •

κΈ°λŠ₯
개수
평균 κ°€μ€‘μΉ˜
κΈ°λŠ₯ 점수
데이터기λŠ₯
ILF
μš΄λ™ ν…Œμ΄λΈ”,
νšŒμ› ν…Œμ΄λΈ”
2
7.5
15.0
νŠΈλžœμž­μ…˜ κΈ°λŠ₯
EI

μš”μΌλ³„ μš΄λ™ λΆ€μœ„ 등둝/μˆ˜μ •/μ‚­μ œ, νšŒμ› 정보 등둝/μˆ˜μ •/μ‚­μ œ, μš΄λ™μ‹œκ°„ 타이머 μΈ‘μ •

7
4.0
28
EO

μ£Όκ°„ μš΄λ™μ‹œκ°„ 쑰회, μˆœμœ„ 쑰회
2
5.2
10.4
EQ

ν‘Έμ‹œ μ•Œλ¦Ό, μš΄λ™ 정보 쑰회(μΆ”μ²œ), νšŒμ› 정보 쑰회, μš”μΌλ³„ μš΄λ™ λΆ€μœ„ 쑰회

4
3.9
15.6
κΈ°λŠ₯ 점수의 ν•©
15+28+10.4+15.6=69
보정 μ „ 개발 원가
69 * 519,203 = 35,825,007 원
보정 κ³„μˆ˜
규λͺ¨ 보정(0.65), μ• ν”Œλ¦¬μΌ€μ΄μ…˜ μœ ν˜• 보정(1.0),
μ–Έμ–΄ 보정(1.2), ν’ˆμ§ˆ/νŠΉμ„± 보정(1.0)
보정 ν›„ 개발 원가
35,825,007*(0.65*1.0*1.2*1.0)=27,943,505.45 원

데이터 κΈ°λŠ₯ 점수 = ILF 개수 * 7.5 + EIF 개수 * 5.4

= 2*7.5 + 0

= 15

 

νŠΈλžœμ μ…˜ κΈ°λŠ₯ 점수 = (EI개수 * 4.0) + (EO개수 * 5.2) + (EQ개수 * 3.9)

= 7*4.0 + 2*5.2 + 4*3.9

= 54

 

보정 μ „ 개발 원가 = λ―Έμ‘°μ • κΈ°λŠ₯ 점수 * κΈ°λŠ₯ μ μˆ˜λ‹Ή 단가

= ( 데이터 κΈ°λŠ₯ 점수 + νŠΈλžœμž­μ…˜ κΈ°λŠ₯ 점수 ) * 519.203

 

보정 ν›„ 개발 원가 = 보정 μ „ 개발 원가 * ( 규λͺ¨ 보정 κ³„μˆ˜ * μ• ν”Œλ¦¬μΌ€μ΄μ…˜ 보정 κ³„μˆ˜ * μ–Έμ–΄ 보정 κ³„μˆ˜ * ν’ˆμ§ˆ/νŠΉμ„± 보정 κ³„μˆ˜)

 

​

​


μ‹œμŠ€ν…œ μš”κ΅¬μ‚¬ν•­

​

ꡬ뢄
상세 spec
λΉ„κ³ 
둜그인
λ‘œκ·ΈμΈμ€ νšŒμ› DB에 μ €μž₯λ˜μ–΄μžˆλŠ” 아이디와 λΉ„λ°€λ²ˆν˜Έλ₯Ό μ΄μš©ν•œλ‹€.

μ‚¬μš©μžλŠ” 아이디와 λΉ„λ°€λ²ˆν˜Έλ₯Ό μž…λ ₯ν•˜κ³  둜그인 λ²„νŠΌμ„ ν΄λ¦­ν•˜λ©΄ 둜그인이 μ§„ν–‰λœλ‹€.
μ‚¬μš©μžκ°€ 아이디λ₯Ό μž…λ ₯ν•˜μ§€ μ•Šκ±°λ‚˜, 잘λͺ»λœ 아이디 ν˜Ήμ€ λΉ„λ°€λ²ˆν˜Έλ₯Ό μž…λ ₯ν•œ ν›„ 둜그인 λ²„νŠΌμ„ λˆŒλ €μ„ 경우, κ²½κ³  λ©”μ‹œμ§€λ₯Ό 좜λ ₯ν•˜κ³  μž¬μž…λ ₯ λ°›λŠ”λ‹€.
μ‚¬μš©μžκ°€ νšŒμ›DB와 μΌμΉ˜ν•˜λŠ” 아이디와 λΉ„λ°€λ²ˆν˜Έλ‘œ 둜그인이 승인되면, 메인 화면을 보여쀀닀
νšŒμ› 정보
등둝/μˆ˜μ •/μ‚­μ œ/쑰회
둜그인 ν™”λ©΄μ—μ„œ νšŒμ› 정보 등둝(νšŒμ›κ°€μž…)을 톡해 μ‚¬μš©μž 정보 등둝을 μ§„ν–‰ν•œλ‹€.
등둝
νšŒμ› 정보 등둝은 ID, λΉ„λ°€λ²ˆν˜Έ, μ΄λ¦„μœΌλ‘œ 이루어지며, IDλŠ” μ€‘λ³΅λ˜μ§€ μ•Šμ•„μ•Ό ν•˜κ³  λΉ„λ°€λ²ˆν˜ΈλŠ” 6자리 μ΄μƒμœΌλ‘œ μ •ν•œλ‹€.
등둝
μ‚¬μš©μžλŠ” μ‚¬μš©μž 정보 쀑 이름, λΉ„λ°€λ²ˆν˜Έλ₯Ό μˆ˜μ •ν•  수 μžˆλ‹€.
μˆ˜μ •
μ‚¬μš©μžλŠ” νšŒμ› 정보 μ‚­μ œ(νšŒμ› νƒˆν‡΄)λ₯Ό ν•  수 있으며, νƒˆν‡΄μ‹œ μ‚¬μš©μž μ •λ³΄λŠ” λͺ¨λ‘ μ‚­μ œλœλ‹€.
μ‚­μ œ
μ‚¬μš©μžλŠ” μžμ‹ μ˜ μ‚¬μš©μž 정보λ₯Ό μ‘°νšŒν•˜μ—¬, μ‚¬μš©μžκ°€ μ„€μ •ν•œ 이름을 확인할 수 μžˆλ‹€.
쑰회
μš΄λ™ μ‹œκ°„ 쑰회
(μˆœμœ„ 쑰회/
μ£Όκ°„ μš΄λ™μ‹œκ°„ 쑰회)
μ‹œμŠ€ν…œμ€ νšŒμ›-타이머 DBμ—μ„œ 타이머 기둝을 λΆˆλŸ¬μ˜¨λ‹€.

μ‚¬μš©μžλŠ” λ‹€λ₯Έ μ‚¬μš©μžμ™€ μ£Όκ°„ 타이머 기둝을 ν†΅ν•˜μ—¬ μˆœμœ„λ₯Ό μ‘°νšŒν•˜κ±°λ‚˜, μ‚¬μš©μž 본인의 μ£Όκ°„ μš΄λ™ μ‹œκ°„μ„ μ‘°νšŒν•  수 μžˆλ‹€.
μš”μΌλ³„ μš΄λ™λΆ€μœ„
등둝/μˆ˜μ •/μ‚­μ œ/쑰회
μ‹œμŠ€ν…œμ€ μ‚¬μš©μžμ˜ μš”μΌλ³„ μŠ€μΌ€μ₯΄μ„ 보여쀀닀.
쑰회
μ‚¬μš©μžλŠ” μš”μΌλ³„λ‘œ μš΄λ™ν•˜κ³ μž ν•˜λŠ” λΆ€μœ„λ₯Ό 등둝/μˆ˜μ •/μ‚­μ œ/μ‘°νšŒν•  수 μžˆλ‹€.

μ΄λŠ” 곡백으둜 λ‘˜ 수 있고, 2개 μ΄μƒμ˜ μš΄λ™μ„ 등둝할 수 μžˆλ‹€. μ΄λ•Œ μ›ν•˜λŠ” μš”μΌμ„ μ„ νƒν•˜λ©΄ μŠ€μΌ€μ€„ 관리λ₯Ό ν•  수 μžˆλ‹€.
등둝/
μˆ˜μ •
μ‹œμŠ€ν…œμ€ 리슀트 λ°•μŠ€λ₯Ό ν†΅ν•˜μ—¬ μš΄λ™DB에 μ €μž₯된 μš΄λ™ λΆ€μœ„ λͺ©λ‘μ„ 좜λ ₯ν•œλ‹€.
등둝/
μˆ˜μ •
μ‚¬μš©μžλŠ” λ“±λ‘ν•˜κ³ μž ν•˜λŠ” μš΄λ™ λΆ€μœ„λ₯Ό μ„ νƒν•˜κ³  μ €μž₯λ²„νŠΌμ„ λˆ„λ₯Έ 경우 νšŒμ›-μŠ€μΌ€μ€„ DB에 μ €μž₯ν•œλ‹€.
등둝/
μˆ˜μ •
μ‚¬μš©μžλŠ” μš”μΌλ³„ μŠ€μΌ€μ₯΄μ— μš΄λ™λ“±λ‘μ„ μ›μΉ˜μ•Šμ„ 경우, λΆ€μœ„ 선택을 ν•˜μ§€ μ•Šκ³  μ €μž₯ κΈ°λŠ₯을 μ‹€ν–‰ν•œλ‹€.
등둝/
μˆ˜μ •
μ‹œμŠ€ν…œμ€ μ‚¬μš©μžκ°€ μš΄λ™ λΆ€μœ„ 선택 ν›„ μ €μž₯ν•˜μ˜€μ„ 경우 μš΄λ™ λΆ€μœ„κ°€ ν¬ν•¨λœ μš”μΌ μŠ€μΌ€μ₯΄μ„ 좜λ ₯ν•œλ‹€.
쑰회
μ‚¬μš©μžλŠ” μ‚¬μš©μžκ°€ λ“±λ‘ν•œ μš΄λ™λΆ€μœ„ 쀑 μ‚­μ œν•˜κ³  싢은 μš΄λ™ λΆ€μœ„κ°€ μžˆμ„ 경우 μ‚­μ œ λ²„νŠΌμ„ ν΄λ¦­ν•˜μ—¬ μ „μ²΄μ‚­μ œν•œλ‹€.
μ‚­μ œ
μš΄λ™
등둝/μˆ˜μ •/μ‚­μ œ
κ΄€λ¦¬μž λ‘œκ·ΈμΈμ€ μ§€μ •λœ ID와 λΉ„λ°€λ²ˆν˜Έλ₯Ό 톡해 λ‘œκ·ΈμΈν•œλ‹€.

μ‹œμŠ€ν…œμ€ 잘λͺ»λœ 아이디와 λΉ„λ°€λ²ˆν˜Έλ‘œ 둜그인 μ‹œ, μš΄λ™DB에 접근을 μ œν•œν•œλ‹€.
κ΄€λ¦¬μžλŠ” 각 μš΄λ™μ— λŒ€ν•œ 정보λ₯Ό μš΄λ™DB에 등둝/μˆ˜μ •/μ‚­μ œκ°€ κ°€λŠ₯ν•˜λ‹€.
μΆ”μ²œ μš΄λ™ 정보 쑰회
μ‹œμŠ€ν…œμ€ μ‚¬μš©μžκ°€ μ„ νƒν•œ μš΄λ™ λΆ€μœ„μ— 따라 μ μ ˆν•œ μš΄λ™μ„ DBμ—μ„œ μ‘°νšŒν•˜μ—¬ 리슀트둜 좜λ ₯ν•œλ‹€.

μ‚¬μš©μžκ°€ μ„ νƒν•œ μš΄λ™ λΆ€μœ„μ— λŒ€ν•œ 정보λ₯Ό 사진, μš΄λ™λͺ…, 상세 정보 λ“±μœΌλ‘œ 좜λ ₯ν•œλ‹€.
μš΄λ™μ‹œκ°„
타이머 μΈ‘μ •
μ‚¬μš©μžκ°€ μš΄λ™ν•  λ•Œ, 타이머λ₯Ό μˆ˜λ™μœΌλ‘œ μ‘°μž‘ν•˜μ—¬ μ‹œκ°„μ„ κΈ°λ‘ν•œλ‹€.

μ‹œμŠ€ν…œμ€ μ‚¬μš©μžκ°€ μš΄λ™μ„ μ’…λ£Œν•œ ν›„ μΈ‘μ •λœ μ‹œκ°„μ„ 타이머 DB에 μžλ™μœΌλ‘œ κΈ°λ‘ν•œλ‹€.
λ˜ν•œ νƒ€μ΄λ¨ΈλŠ” μ‚¬μš©μžκ°€ 쀑간에 μΌμ‹œμ •μ§€ κ°€λŠ₯ν•˜λ©°, μΌμ‹œμ •μ§€κ°€ λλ‚œ ν›„μ—λŠ” μž¬μ‹œμž‘ν•  수 μžˆλ‹€.
μ •μ§€ λ²„νŠΌμ€ μš΄λ™ μ’…λ£Œ λ²„νŠΌμ΄λ©° μ‚¬μš©μžκ°€ μ’…λ£Œ λ²„νŠΌμ„ λˆ„λ₯Ό λ•Œ μ‹œμŠ€ν…œμ΄ 타이머 DB에 μ €μž₯ν•œλ‹€.
ν‘Έμ‹œμ•Œλ¦Ό
μ„€μ •
μ‚¬μš©μžλŠ” μš΄λ™μ‹œκ°„ μ•Œλ¦Ό λ“±κ³Ό 같은 정보λ₯Ό μ‹œμŠ€ν…œμ˜ ν‘Έμ‹œ μ•Œλ¦Όμ„ 톡해 받을 수 μžˆλ‹€.

μ‚¬μš©μžλŠ” 섀정창을 ν†΅ν•˜μ—¬ ν‘Έμ‹œ μ•Œλ¦Όμ„ On/Off ν•  수 μžˆλ‹€.
μ‹œμŠ€ν…œμ€ ν‘Έμ‹œ μ•Œλ¦Ό 섀정이 On인 경우, ν•˜λ£¨μ— ν•œ λ²ˆμ”© μ‚¬μš©μžμ—κ²Œ μš΄λ™ 동기 λΆ€μ—¬λ₯Ό μœ„ν•œ ν‘Έμ‹œ μ•Œλ¦Όμ„ 보낸닀.
μ‹œμŠ€ν…œμ€ ν‘Έμ‹œ μ•Œλ¦Ό 섀정이 Off인 경우, μ‚¬μš©μžμ—κ²Œ ν‘Έμ‹œ μ•Œλ¦Όμ„ 보내지 μ•ŠλŠ”λ‹€.
μœ μŠ€μΌ€μ΄μŠ€ λ‹€μ΄μ–΄κ·Έλž¨ (전체)

 

​

μ•‘ν„°λͺ©λ‘

μ•‘ν„°
μ„€λͺ…
μ‚¬μš©μž
μš΄λ™ 관리 앱을 μ‚¬μš©ν•˜λŠ” μ‚¬λžŒ
κ΄€λ¦¬μž
μš΄λ™ 관리 앱을 κ΄€λ¦¬ν•˜κ³ , μš΄λ™ 정보λ₯Ό κ΄€λ¦¬ν•˜λŠ” μ‚¬λžŒ

​

​

μœ μŠ€μΌ€μ΄μŠ€ λͺ©λ‘

μ‹λ³„μž
ν–‰μœ„μž
μ„€λͺ…
UC-U01
μ‚¬μš©μž
μš”μΌλ³„ μš΄λ™ λΆ€μœ„ 등둝
UC-U02
μ‚¬μš©μž
μš”μΌλ³„ μš΄λ™ λΆ€μœ„ μˆ˜μ •
UC-U03
μ‚¬μš©μž
μš”μΌλ³„ μš΄λ™ λΆ€μœ„ μ‚­μ œ
UC-U04
μ‚¬μš©μž
μš”μΌλ³„ μš΄λ™ λΆ€μœ„ 쑰회
UC-U05
μ‚¬μš©μž
νšŒμ› 정보 등둝(νšŒμ›κ°€μž…)
UC-U06
μ‚¬μš©μž
νšŒμ› 정보 μˆ˜μ •
UC-U07
μ‚¬μš©μž
νšŒμ› 정보 μ‚­μ œ(νšŒμ›νƒˆν‡΄)
UC-U08
μ‚¬μš©μž
νšŒμ› 정보 쑰회
UC-U09
μ‚¬μš©μž
μΆ”μ²œ μš΄λ™ 정보 쑰회
UC-U10
μ‚¬μš©μž
ν‘Έμ‹œ μ•Œλ¦Ό μ„€μ •
UC-U11
μ‚¬μš©μž
μš΄λ™μ‹œκ°„ 타이머 μΈ‘μ •
UC-U12
μ‚¬μš©μž
μš΄λ™ μ‹œκ°„ 쑰회
UC-U13
μ‚¬μš©μž
둜그인
UC-U14
μ‚¬μš©μž
μˆœμœ„ 쑰회
UC-U15
μ‚¬μš©μž
μ£Όκ°„ μš΄λ™ μ‹œκ°„ 쑰회
UC-A01
κ΄€λ¦¬μž
μš΄λ™ 등둝
UC-A02
κ΄€λ¦¬μž
μš΄λ™ μˆ˜μ •
UC-A03
κ΄€λ¦¬μž
μš΄λ™ μ‚­μ œ

​

​

​

​

μœ μŠ€μΌ€μ΄μŠ€ μ‹œλ‚˜λ¦¬μ˜€

μœ μŠ€μΌ€μ΄μŠ€ μ‹λ³„μž/λͺ…
UC-U01μš”μΌλ³„ μš΄λ™ λΆ€μœ„ λ“±λ‘μœ μŠ€μΌ€μ΄μŠ€
κ°œμš”
μš”μΌλ³„ μš΄λ™ λΆ€μœ„ 등둝은 μš”μΌλ³„λ‘œ νŠΉμ •ν•œ λΆ€μœ„λ₯Ό 등둝할 수 있으며, λΆ€μœ„λ₯Ό 등둝할 λ•ŒλŠ” 슀크둀이 달린 리슀트 λ°•μŠ€λ₯Ό ν†΅ν•˜μ—¬ μ‚¬μš©μžκ°€ 선택할 수 μžˆλ‹€. μš΄λ™ λΆ€μœ„λŠ” μ—¬λŸ¬ λΆ€μœ„λ₯Ό μ„€μ •ν•  수 있으며, μš΄λ™ λΆ€μœ„ 등둝은 μƒλž΅ν•  수 μžˆλ‹€.
μ£Ό ν–‰μœ„μž
μ‚¬μš©μž
λΆ€ ν–‰μœ„μž
해당사항 μ—†μŒ
사전 쑰건
μ‚¬μš©μžλŠ” νšŒμ›κ°€μž…λœ ID둜 λ‘œκ·ΈμΈν•˜κ³ ,
μš”μΌλ³„ μš΄λ™ λΆ€μœ„ 등둝을 ν•œλ‹€
κΈ°λ³Έ 흐름
ν–‰μœ„μž
μ‹œμŠ€ν…œ
2. μš΄λ™ λΆ€μœ„ 등둝을 μ›ν•˜λŠ” μš”μΌμ„ μ„ νƒν•œλ‹€

4. λ“±λ‘ν•˜κ³ μž ν•˜λŠ” μš΄λ™ λΆ€μœ„λ₯Ό μ„ νƒν•˜κ³  μ €μž₯ λ²„νŠΌμ„ λˆ„λ₯Έλ‹€.
μš”μΌλ³„ μŠ€μΌ€μ₯΄μ„ 좜λ ₯ν•œλ‹€.

3. 리슀트 λ°•μŠ€λ₯Ό ν†΅ν•˜μ—¬ μš΄λ™ λΆ€μœ„ λͺ©λ‘μ„ 좜λ ₯ν•œλ‹€.

5. νšŒμ›-μŠ€μΌ€μ₯΄ DB에 νšŒμ›μ΄ λ“±λ‘ν•œ μš΄λ™ λΆ€μœ„κ°€ μ €μž₯λœλ‹€.
6. μš΄λ™ DB에 λ“±λ‘λœ μš΄λ™ λΆ€μœ„κ°€ ν¬ν•¨λœ μš”μΌ μŠ€μΌ€μ₯΄μ„ 좜λ ₯ν•œλ‹€.
λŒ€μ•ˆ 흐름
ν–‰μœ„μž
μ‹œμŠ€ν…œ
4. λ“±λ‘ν•˜κ³ μž ν•˜λŠ” λΆ€μœ„λ₯Ό μ„ νƒν•˜μ§€ μ•Šκ³  μ €μž₯ κΈ°λŠ₯을 μ‹€ν–‰ν•œλ‹€.



5. 이전 μš”μΌ μŠ€μΌ€μ₯΄μ„ 좜λ ₯ν•œλ‹€.
μ˜ˆμ™Έμ‚¬ν•­ μ‹œλ‚˜λ¦¬μ˜€
ν–‰μœ„μž
μ‹œμŠ€ν…œ
-
-
사후쑰건
해당사항 μ—†μŒ

​

​

μœ μŠ€μΌ€μ΄μŠ€ μ‹λ³„μž/λͺ…
UC-U09μΆ”μ²œ μš΄λ™ 정보 μ‘°νšŒμœ μŠ€μΌ€μ΄μŠ€
κ°œμš”
μΆ”μ²œ μš΄λ™ 정보 μ‘°νšŒλŠ” μ‚¬μš©μžκ°€ μ„ νƒν•œ μš΄λ™ λΆ€μœ„μ— 따라 μš΄λ™ DBμ—μ„œ 리슀트λ₯Ό ν†΅ν•˜μ—¬ 좜λ ₯ν•œλ‹€. μš΄λ™ λΆ€μœ„λ₯Ό 선택할 λ•ŒλŠ” μƒλ‹¨μ˜ 탭을 ν†΅ν•˜μ—¬ 였λ₯Έμͺ½ λ˜λŠ” μ™Όμͺ½ μŠ€ν¬λ‘€μ„ ν†΅ν•˜μ—¬ 선택할 수 μžˆλ‹€. μš΄λ™ λΆ€μœ„ 선택후 그에 λ§žλŠ” μš΄λ™ 정보λ₯Ό μ‘°νšŒν•  λ•ŒλŠ” 슀크둀이 달린 리슀트λ₯Ό ν†΅ν•˜μ—¬ 좜λ ₯ν•œλ‹€.
μ£Ό ν–‰μœ„μž
μ‚¬μš©μž
λΆ€ ν–‰μœ„μž
해당사항 μ—†μŒ
사전 쑰건
μ‚¬μš©μžλŠ” νšŒμ›κ°€μž…λœ ID둜 λ‘œκ·ΈμΈμ„ ν•˜κ±°λ‚˜,
λΉ„νšŒμ› 둜그인 λ²„νŠΌμ„ λˆ„λ₯Έλ‹€.
κΈ°λ³Έ 흐름
ν–‰μœ„μž
μ‹œμŠ€ν…œ





2. 상단 탭에 μ‘°νšŒν•˜κ³ μž ν•˜λŠ” μš΄λ™ λΆ€μœ„λ₯Ό μ„ νƒν•œλ‹€.


4. 좜λ ₯된 μš΄λ™ 정보λ₯Ό μ„ νƒν•˜μ—¬ μš΄λ™ 정보λ₯Ό ν™•μΈν•œλ‹€.

1. μš΄λ™ DBμ—μ„œ μš΄λ™ λΆ€μœ„λ₯Ό 가져와 상단 탭에 μ•„μ΄μ½˜μœΌλ‘œ 좜λ ₯ν•œλ‹€.




3. 리슀트λ₯Ό ν†΅ν•˜μ—¬ μ„ νƒλœ μš΄λ™ λΆ€μœ„μ— ν•΄λ‹Ήν•˜λŠ” μš΄λ™ 정보듀을 μš΄λ™ DBλ₯Ό ν†΅ν•˜μ—¬ 좜λ ₯ν•œλ‹€.


λŒ€μ•ˆ 흐름
ν–‰μœ„μž
μ‹œμŠ€ν…œ
-
-
μ˜ˆμ™Έμ‚¬ν•­ μ‹œλ‚˜λ¦¬μ˜€
ν–‰μœ„μž
μ‹œμŠ€ν…œ
-
-
사후쑰건
해당사항 μ—†μŒ

​

μœ μŠ€μΌ€μ΄μŠ€ μ‹λ³„μž/λͺ…
UC-U13λ‘œκ·ΈμΈμœ μŠ€μΌ€μ΄μŠ€
κ°œμš”
아이디와 λΉ„λ°€λ²ˆν˜Έλ₯Ό μž…λ ₯ν•˜μ—¬ μš΄λ™ 관리 μ•±μ˜ μΆ”μ²œ μš΄λ™ 정보 쑰회 화면에 μ ‘μ†ν•œλ‹€. λ‘œκ·ΈμΈμ‹œ μΆ”μ²œ μš΄λ™ 정보 μ‘°νšŒμ™€ 타이머 μΈ‘μ •, μˆœμœ„ 쑰회, μ£Όκ°„μš΄λ™μ‹œκ°„ 쑰회, μš”μΌλ³„ μš΄λ™ 등둝, μˆ˜μ •, 쑰회, μ‚­μ œ κΈ°λŠ₯을 μ‚¬μš©ν•  수 μžˆλ‹€.
μ£Ό ν–‰μœ„μž
μ‚¬μš©μž
λΆ€ ν–‰μœ„μž
해당사항 μ—†μŒ
사전 쑰건
μ‚¬μš©μžκ°€ ν”„λ‘œκ·Έλž¨μ„ μ‹€ν–‰μ‹œν‚€κ³ ,
μ‚¬μš©μžμ˜ 정보(아이디, λΉ„λ°€λ²ˆν˜Έ)κ°€ λ“±λ‘λ˜μ–΄μžˆλ‹€.
κΈ°λ³Έ 흐름
ν–‰μœ„μž
μ‹œμŠ€ν…œ
1. 아이디와 λΉ„λ°€λ²ˆν˜Έλ₯Ό μž…λ ₯ν•˜κ³ ,
둜그인 λ²„νŠΌμ„ ν΄λ¦­ν•œλ‹€.


2. μ‹œμŠ€ν…œμ€ νšŒμ› DBμ—μ„œ
아이디 쑴재 μ—¬λΆ€λ₯Ό ν™•μΈν•œλ‹€.

3. νšŒμ› DBλ₯Ό 톡해 아이디에 λ§žλŠ” λΉ„λ°€λ²ˆν˜ΈμΈμ§€ ν™•μΈν•œλ‹€.

4. 아이디와 λΉ„λ°€λ²ˆν˜Έκ°€ 맞으면
μ‚¬μš©μžμž„μ„ 인증 ν›„, 메인 ν”„λ‘œκ·Έλž¨μ„ μ‹€ν–‰μ‹œν‚¨λ‹€.
λŒ€μ•ˆ 흐름
ν–‰μœ„μž
μ‹œμŠ€ν…œ
-


μ˜ˆμ™Έμ‚¬ν•­ μ‹œλ‚˜λ¦¬μ˜€
ν–‰μœ„μž
μ‹œμŠ€ν…œ
1. 잘λͺ»λœ 아이디 λ˜λŠ” λΉ„λ°€λ²ˆν˜Έλ₯Ό
μž…λ ₯ν•œλ‹€.






2. νšŒμ› DBλ₯Ό λΉ„κ΅ν•˜μ˜€μ„ λ•Œ λ§žμ§€ μ•ŠμœΌλ―€λ‘œ 였λ₯˜ λ©”μ‹œμ§€λ₯Ό 좜λ ₯ν•œλ‹€.
사후쑰건
메인화면 (μΆ”μ²œ μš΄λ™ 정보)을 λ„μš΄λ‹€.

​

​

​


μ‚¬μš©μž μΈν„°νŽ˜μ΄μŠ€ μš”κ΅¬μ‚¬ν•­

​

ν™”λ©΄
​
​
μ„€λͺ…
μš΄λ™ 관리 앱을 μ‹€ν–‰ν•˜λ©΄ λ¨Όμ € μ‹€ν–‰λ˜λŠ” 화면이 메인 ν™”λ©΄(쒌츑) 이닀.
νšŒμ› κ°€μž…μ΄ λ˜μ–΄μžˆλ‹€λ©΄, 아이디와 λΉ„λ°€λ²ˆν˜Έλ₯Ό μž…λ ₯ν•˜μ—¬, 둜그인 ν›„ μ‚¬μš©μ΄ κ°€λŠ₯ν•˜λ‹€.
κ°€μž…λ˜μ–΄ μžˆμ§€ μ•Šλ‹€λ©΄ νšŒμ›κ°€μž…μ„ 톡해 νšŒμ›κ°€μž…μ„
ν•˜κ±°λ‚˜ λΉ„νšŒμ› λ‘œκ·ΈμΈμ„ ν†΅ν•˜μ—¬ μΆ”μ²œ μš΄λ™ 정보 쑰회 κΈ°λŠ₯만 μ‚¬μš© κ°€λŠ₯ν•˜λ‹€.
둜그인 λ˜λŠ” λΉ„νšŒμ› λ‘œκ·ΈμΈμ‹œ μΆ”μ²œ μš΄λ™ 정보창 (우츑)이 ν‘œμ‹œλœλ‹€.
λͺ©λ‘μ—μ„œ μ›ν•˜λŠ” μš΄λ™ 정보λ₯Ό ν΄λ¦­ν•˜λ©΄ μš΄λ™μ— κ΄€ν•œ 정보가 ν‘œμ‹œλœλ‹€.
맨 μ•„λž˜ 탭은 μ°¨λ‘€λ‘œ μŠ€μΌ€μ€„ 등둝, μΆ”μ²œ μš΄λ™ 정보창, 타이머 μΈ‘μ •, μ„€μ • κΈ°λŠ₯ λ²„νŠΌμ΄λ‹€.

​

​

μœ μŠ€μΌ€μ΄μŠ€λͺ…
μš”μΌλ³„ μŠ€μΌ€μ₯΄ 쑰회/등둝/μ‚­μ œ/μˆ˜μ •
ν™”λ©΄λͺ…
μš”μΌλ³„ μŠ€μΌ€μ₯΄
ν™”λ©΄
μš”κ΅¬μ‚¬ν•­
μš”μΌλ³„ μŠ€μΌ€μ₯΄ ν™”λ©΄μ˜ 기본은 μ‹œμŠ€ν…œμ΄ μ‚¬μš©μžκ°€ 등둝해 λ‘” μŠ€μΌ€μ₯΄μ„ μ‘°νšŒν•œ λ‚΄μš©μ„ 보여쀀닀.
λ“±λ‘λœ μŠ€μΌ€μ₯΄μ„ μˆ˜μ •ν•˜κΈ° μœ„ν•΄μ„œλŠ” μˆ˜μ •ν•  μš”μΌμ„ μ„ νƒν•œλ‹€.
μ‹œμŠ€ν…œμ΄ 리슀트뷰λ₯Ό ν†΅ν•˜μ—¬ μš΄λ™ λͺ©λ‘μ„ 좜λ ₯ν•˜λ©΄ μ‚¬μš©μžλŠ” μΆ”κ°€ν•  μš΄λ™λΆ€μœ„λ₯Ό κ³ λ₯Ό 수 μžˆλ‹€.
μ‚­μ œ λ²„νŠΌμ„ 눌러 λ“±λ‘ν•œ μŠ€μΌ€μ₯΄ 전체λ₯Ό μ‚­μ œ ν•  수 μžˆλ‹€.
등둝과 μˆ˜μ • λͺ¨λ‘ μ €μž₯λ²„νŠΌμ„ λˆŒλŸ¬μ•Ό μŠ€μΌ€μ₯΄ DB에 μ €μž₯이 λœλ‹€.
μ‚¬μš©μžλŠ” μš”μΌλ³„ μŠ€μΌ€μ₯΄μ— μ–΄λ–€ λ‚΄μš©λ„ μ„ νƒν•˜μ§€ μ•Šκ³  μ €μž₯ν•  수 μžˆλ‹€.

 

μœ μŠ€μΌ€μ΄μŠ€λͺ…
μΆ”μ²œ μš΄λ™ 정보 쑰회
ν™”λ©΄λͺ…
μΆ”μ²œ μš΄λ™ 정보 쑰회
ν™”λ©΄

μš”κ΅¬μ‚¬ν•­
상단 μ•„μ΄μ½˜ νƒ­μ—μ„œ μš΄λ™ λΆ€μœ„ (νŒ”, μ–΄κΉ¨, ν•˜μ²΄, 상체, λ“±)을 μ„ νƒν•œλ‹€.
메뉴창을 였λ₯Έμͺ½ λ˜λŠ” μ™Όμͺ½μœΌλ‘œ 슀크둀 μ‹œ ν•œ 화면에 보이지 μ•ŠλŠ” μš΄λ™ λΆ€μœ„λ₯Ό 선택할 수 μžˆλ‹€.
μ„ νƒν•œ μš΄λ™λΆ€μœ„μ— λ”°λΌμ„œ ν•˜λ‹¨μ— μš΄λ™λΆ€μœ„λ³„ μΆ”μ²œ μš΄λ™ λ¦¬μŠ€νŠΈκ°€ 좜λ ₯λœλ‹€.
좜λ ₯된 μš΄λ™μ„ μ„ νƒμ‹œ κ·Έ μš΄λ™μ— λŒ€ν•œ 정보(이름, μš΄λ™ 방법)이 좜λ ₯λœλ‹€.

​

​

μ„±λŠ₯ μš”κ΅¬μ‚¬ν•­

ν•­λͺ©
μš”κ΅¬μ‚¬ν•­
λΉ„κ³ 
λ°˜μ‘μ‹œκ°„
μ‹œμŠ€ν…œμ€ μ‚¬μš©μžμ˜ μš”κ΅¬μ— 5초 이내에 μ²˜λ¦¬ν•΄ κ²°κ³Όλ₯Ό 보여야 ν•œλ‹€.

​

μ‹ λ’°μ„± μš”κ΅¬μ‚¬ν•­

ν•­λͺ©
μš”κ΅¬μ‚¬ν•­
λΉ„κ³ 
데이터 μ‹ λ’°μ„±
μ‚¬μš©μžκ°€ μΈ‘μ •ν•œ μš΄λ™ μ‹œκ°„μ— λŒ€ν•˜μ—¬ μ‹œμŠ€ν…œμ€ μ •ν™•ν•œ 정보λ₯Ό μœ μ§€ν•˜κ³  관리해야 ν•œλ‹€.

데이터 μ •ν™•μ„±
μš΄λ™ 데이터 등둝, μˆ˜μ •, μ‚­μ œλŠ” κ΄€λ¦¬μžκ°€ μ œκ³΅ν•œ λ°μ΄ν„°μ˜
원본 κ·ΈλŒ€λ‘œ μ‚¬μš©μžμ—κ²Œ μ œκ³΅λ˜μ–΄μ•Ό ν•œλ‹€.

데이터 무결성
μ‚¬μš©μžκ°€ 과거에 μš΄λ™ν–ˆλ˜ 기둝은 μ‹œμŠ€ν…œμ—μ„œ μž„μ˜λ‘œ μˆ˜μ • 및 μΆ”κ°€, μ‚­μ œλ˜μ–΄μ„œλŠ” μ•ˆλœλ‹€.

​

λ³΄μ•ˆ μš”κ΅¬μ‚¬ν•­

ν•­λͺ©
μš”κ΅¬μ‚¬ν•­
λΉ„κ³ 
둜그인 λΉ„λ°€λ²ˆν˜Έ
둜그인 λΉ„λ°€λ²ˆν˜ΈλŠ” μž…λ ₯μ‹œ “*”둜 보여주며, 6자리 μ΄μƒμœΌλ‘œ ν•œλ‹€.

DB 관리
DB의 μš΄λ™ 등둝/μˆ˜μ •/μ‚­μ œλŠ” 인증된 κ΄€λ¦¬μžλ§Œμ΄ μˆ˜ν–‰ν•  수 μžˆλ‹€.

​

​

​


클래슀 λ‹€μ΄μ–΄κ·Έλž¨

​

​

​

​

​


클래슀 λͺ…μ„Έμ„œ

​

클래슀λͺ…
ExerInfoSystem
클래슀 κ°œμš”
μΆ”μ²œ μš΄λ™ 정보 쑰회λ₯Ό μœ„ν•œ 클래슀
Stereotype
control
Public
Interface
Operations
Operation(Parameter)
Retrun
μ„€λͺ…
ExerInfoSystem
(exerInfoUI: ExerInfoUI)
void
ExerInfoSystem 객체λ₯Ό μƒμ„±ν•œλ‹€.
getExerInfoSystem()
String[][]
μš΄λ™μ •λ³΄λ₯Ό λ°›λŠ”λ‹€.
getExerList()
ExerList
μš΄λ™λ¦¬μŠ€νŠΈ 정보λ₯Ό λ°›λŠ”λ‹€.
addInfo
Void
μš΄λ™ 정보λ₯Ό μΆ”κ°€
Attributes
Attribute
Type
μ„€λͺ…
exerList
ExerList
μš΄λ™ 리슀트
exerInfoUI
ExerInfoUI
ExerInfoUI 객체
클래슀λͺ…
PlanJoinSystem
클래슀 κ°œμš”
μš”μΌλ³„ μŠ€μΌ€μ₯΄ 등둝을 μœ„ν•œ 클래슀
Stereotype
control
Public
Interface
Operations
Operation(Parameter)
Retrun
μ„€λͺ…
PlanJoinSystem (weekPlanUI: WeekPlanUI)
void
PlanJoinSystem 객체λ₯Ό μƒμ„±ν•œλ‹€.
addPlan(loginedUser: User, plan:Plan)
void
μš”μΌ, μš΄λ™λΆ€μœ„λ₯Ό λ“±λ‘ν•˜μ—¬ μš”μΌλ³„ μŠ€μΌ€μ₯΄ 등둝
Attributes
Attribute
Type
μ„€λͺ…
weekPlanUI
WeekPlanUI
WeekPlanUI 객체

​

클래슀λͺ…
PlanViewSystem
클래슀 κ°œμš”
μš”μΌλ³„ μŠ€μΌ€μ₯΄ 쑰회λ₯Ό μœ„ν•œ 클래슀
Stereotype
control
Public
Interface
Operations
Operation(Parameter)
Retrun
μ„€λͺ…
PlanViewSystem (weekPlanUI: WeekPlanUI)
void
PlanViewSystem 객체λ₯Ό μƒμ„±ν•œλ‹€.
callPlan
(loginedUser: User)
Table
μ‚¬μš©μžμ˜ μš”μΌλ³„ μŠ€μΌ€μ₯΄ ν…Œμ΄λΈ”μ„ 보여쀀닀.
Attributes
Attribute
Type
μ„€λͺ…
weekPlanUI
WeekPlanUI
WeekPlanUI 객체
클래슀λͺ…
PlanDelSystem
클래슀 κ°œμš”
μš”μΌλ³„ μŠ€μΌ€μ₯΄ μ‚­μ œλ₯Ό μœ„ν•œ 클래슀
Stereotype
control
Public
Interface
Operations
Operation(Parameter)
Retrun
μ„€λͺ…
PlanDelSystem (weekPlanUI: WeekPlanUI)
void
PlanDelSystem 객체λ₯Ό μƒμ„±ν•œλ‹€.
initTable(loginedUser: User)
void
μ‚¬μš©μžμ˜ μš”μΌλ³„ μŠ€μΌ€μ₯΄μ„ 전체 μ‚­μ œν•œλ‹€.
Attributes
Attribute
Type
μ„€λͺ…
weekPlanUI
WeekPlanUI
WeekPlanUI 객체
클래슀λͺ…
PlanEditSystem
클래슀 κ°œμš”
μš”μΌλ³„ μŠ€μΌ€μ₯΄ μˆ˜μ •μ„ μœ„ν•œ 클래슀
Stereotype
control
Public
Interface
Operations
Operation(Parameter)
Retrun
μ„€λͺ…
PlanEditSystem (weekPlanUI: WeekPlanUI)
void
PlanEditSystem 객체λ₯Ό μƒμ„±ν•œλ‹€.
editPlan(loginedUser: User, plan:Plan)
void
μ‚¬μš©μžμ˜ μš”μΌλ³„ μŠ€μΌ€μ₯΄ 쀑 μ„ νƒλœ μš”μΌμ˜ μš΄λ™ λΆ€μœ„λ₯Ό μˆ˜μ •ν•œλ‹€.
Attributes
Attribute
Type
μ„€λͺ…
weekPlanUI
WeekPlanUI
WeekPlanUI 객체
클래슀λͺ…
Plan
클래슀 κ°œμš”
μš”μΌλ³„ μŠ€μΌ€μ₯΄ 클래슀
Stereotype
entity
Public
Interface
Operations
Operation(Parameter)
Retrun
μ„€λͺ…
Plan(weekly: String, exerPartArray: String)
void
Plan 객체λ₯Ό μƒμ„±ν•œλ‹€.
getWeekly()
String
μš”μΌλ³„ μŠ€μΌ€μ₯΄μ„ λ°›μ•„μ˜¨λ‹€.
getExerPartArray()
String
μš”μΌλ³„ μš΄λ™ λΆ€μœ„
Attributes
Attribute
Type
μ„€λͺ…
weekly
String
weekly 객체
exerPartArray
String
exerPartArray 객체
클래슀λͺ…
ExerList
클래슀 κ°œμš”
μš΄λ™ λͺ©λ‘ 클래슀
Stereotype
entity
Public
Interface
Operations
Operation(Parameter)
Retrun
μ„€λͺ…
ExerList()
void
ExerList객체λ₯Ό μƒμ„±ν•œλ‹€.
getExerPartArray()
ExerPart[]
λΆ€μœ„λ³„ μš΄λ™ 정보λ₯Ό λ°›λŠ”λ‹€.
Attributes
Attribute
Type
μ„€λͺ…
exerPartArray
ExerPart[]
exerPartArray 객체

​

클래슀λͺ…
ExerPart
클래슀 κ°œμš”
μš΄λ™ λΆ€μœ„ 클래슀
Stereotype
entity
Public
Interface

Operations
Operation(Parameter)
Retrun
μ„€λͺ…
ExerPart(exerPartName: String)
void
ExerPart 객체λ₯Ό μƒμ„±ν•œλ‹€.
getExerInfoArray()
ExerInfo[]
μš΄λ™ 정보λ₯Ό λ°›λŠ”λ‹€.
getExerPartName()
String
μš΄λ™ λΆ€μœ„ 이름을 λ°›λŠ”λ‹€.
setExerPartName(exerPartName:String)
void
μš΄λ™ λΆ€μœ„ 이름을 μ“΄λ‹€.
getResId()
int
μš΄λ™ λΆ€μœ„ 사진 번호λ₯Ό λ°›μ•„μ˜¨λ‹€.
setResId(resId:Int)
void
μš΄λ™ λΆ€μœ„ 사진 번호λ₯Ό μ“΄λ‹€.
Attributes

Attribute
Type
μ„€λͺ…
exerPartName
String
exerPartName 객체
exerInfoArray
ExerInfo[]
exerInfoArray 객체
resId
int
ExerPart μ‚¬μ§„μ˜ λ²ˆν˜Έμ΄λ‹€.
클래슀λͺ…
ExerInfo
클래슀 κ°œμš”
μš΄λ™ 정보에 λŒ€ν•œ 클래슀
Stereotype
control
Public
Interface
Operations
Operation(Parameter)
Retrun
μ„€λͺ…
ExerInfo(exerName: String, exerPic: String, exerHow: String)
void
ExerInfo 객체λ₯Ό μƒμ„±ν•œλ‹€.
getExerName()
String
μš΄λ™ 이름을 λ°›λŠ”λ‹€.
getExerPic()
String
μš΄λ™ 사진을 λ°›λŠ”λ‹€.
getExerHow()
String
μš΄λ™ 방법을 λ°›λŠ”λ‹€.
Attributes
Attribute
Type
μ„€λͺ…
exerName
String
exerName 객체
exerPic
String
exerPic 객체
exerHow
String
exerHow 객체

​

클래슀λͺ…
LoginUI
클래슀 κ°œμš”
λ‘œκ·ΈμΈμ„ μ§„ν–‰ν•˜λŠ” ν™”λ©΄ 클래슀
Stereotype
boundary
Public
Interface
Operation
Operation
Return
μ„€λͺ…
LoginUI()
Void
LoginUI 객체λ₯Ό μƒμ„±ν•œλ‹€.
showLoginUI()
Void
LoginUIλ₯Ό 화면에 λ„μš΄λ‹€.
failLogin()
Void
λ‘œκ·ΈμΈμ— μ‹€νŒ¨ν–ˆμ„ λ•Œ μ‹€ν–‰ν•œλ‹€.
setLoginSystem
(LoginSystem)
Void
둜그인 μ‹œμŠ€ν…œμ„ μ„ΈνŒ…ν•œλ‹€.
getLoginSystem()
LoginSystem
둜그인 μ‹œμŠ€ν…œμ„ μ‹€ν–‰ν•œλ‹€.
actionPerformed(e: ActionEvent)
Void
이벀트λ₯Ό μ²˜λ¦¬ν•œλ‹€.
Attributes
Attribute
Type
μ„€λͺ…
idEditText
EditText
IDλ₯Ό μž…λ ₯ν•˜λŠ” ν…μŠ€νŠΈ μ°½
pwEditText
EditText
λΉ„λ°€λ²ˆν˜Έλ₯Ό μž…λ ₯ν•˜λŠ” ν…μŠ€νŠΈ μ°½
loginButton
Button
둜그인 λ²„νŠΌ
joinButton
Button
νšŒμ›κ°€μž… λ²„νŠΌ
unknownLoginButton
Button
λ‘œκ·ΈμΈν•˜μ§€ μ•Šκ³  μ‹œμž‘ν•˜λŠ” λ²„νŠΌ
loginSystem
LoginSystem
둜그인 μ‹œμŠ€ν…œ

​

​

클래슀λͺ…
ExerInfoUI
클래슀 κ°œμš”
μš΄λ™ 정보 ν™”λ©΄ 클래슀
Stereotype
boundary
Public
Interface
Operation
Operation
Return
μ„€λͺ…
ExerInfoUI()
Void
ExerInfoUI 객체λ₯Ό μƒμ„±ν•œλ‹€.
showExerInfoUI()
Void
ExerInfoUIλ₯Ό 화면에 λ„μš΄λ‹€.
actionPerformed(e: ActionEvent)
Void
이벀트λ₯Ό μ²˜λ¦¬ν•œλ‹€.
Attributes
Attribute
Type
μ„€λͺ…
exerPartRecyclerView
RecyclerView
μš΄λ™ λΆ€μœ„ λ¦¬μ‚¬μ΄ν΄λŸ¬λ·°
exerNameListView
ListView
μš΄λ™ 이름 리슀트뷰
menu
BottomNavigationView
전체 메뉴
exerInfoAlertDialog
AlertDialog
μš΄λ™ 정보 νŒμ—…
exerInfoSystem
ExerInfoSystem
μš΄λ™ 정보 μ‹œμŠ€ν…œ
클래슀λͺ…
WeekPlanUI
클래슀 κ°œμš”
μ£Όκ°„ μš΄λ™ κ³„νš ν™”λ©΄ 클래슀
Stereotype
boundary
Public
Interface
Operation
Operation
Return
μ„€λͺ…
WeekPlanUI(loginSystem: LoginSystem)
Void
WeekPlanUI 객체λ₯Ό μƒμ„±ν•œλ‹€.
showWeekPlanUI()
Void
WeekPlanUIλ₯Ό 화면에 λ„μš΄λ‹€.
actionPerformed(e: ActionEvent)
Void
이벀트λ₯Ό μ²˜λ¦¬ν•œλ‹€.
Attributes
Attribute
Type
μ„€λͺ…
weekButton
Button
각 μš”μΌλ³„ λ²„νŠΌ
weekExerTable
Table
μ£Όκ°„ μš΄λ™ ν…Œμ΄λΈ”
saveButton
Button
λ³€κ²½ 사항 μ €μž₯ λ²„νŠΌ
delButton
Button
전체 μŠ€μΌ€μ₯΄ μ‚­μ œ λ²„νŠΌ
exerPartListView
ListView
μš΄λ™ λΆ€μœ„ 리슀트뷰
exerPartTextView
TextView
μš΄λ™ λΆ€μœ„ ν…μŠ€νŠΈλ·°
loginSystem
LoginSystem
둜그인 μ‹œμŠ€ν…œ
planEditSystem
PlanEditSystem
κ³„νš μˆ˜μ • μ‹œμŠ€ν…œ
planViewSystem
PlanEditSystem
κ³„νš 쑰회 μ‹œμŠ€ν…œ
planDelSystem
PlanEditSystem
κ³„νš μ‚­μ œ μ‹œμŠ€ν…œ
planJoinSystem
PlanEditSystem
κ³„νš 등둝 μ‹œμŠ€ν…œ
menu
BottomNavigationView
전체 메뉴

​

​


μ‹œν€€μŠ€ λ‹€μ΄μ–΄κ·Έλž¨

​

μš”μΌλ³„ μš΄λ™ λΆ€μœ„ 등둝

 

μΆ”μ²œ μš΄λ™ 정보 쑰회

 


DB 섀계

ER λ‹€μ΄μ–΄κ·Έλž¨

 

​

 

 

 

 

 


​

μ•ˆλ“œλ‘œμ΄λ“œ : ν”„λž˜κ·Έλ¨ΌνŠΈμ— 리슀트뷰(ListView) μ‚¬μš©ν•˜κΈ°, https://m.blog.naver.com/cosmosjs/222006150792

RecyclerViewλ₯Ό μ»€μŠ€ν…€ν•΄μ„œ κ°€λ‘œ, μ„Έλ‘œ κ΅¬ν˜„ν•˜κΈ°, https://taek2.tistory.com/m/13

Fragment Refresh(μƒˆλ‘œκ³ μΉ¨) ν•˜λŠ” 방법, https://maivve.tistory.com/35

SQLite μ‚¬μš© 방법 및 예제, https://blog.naver.com/hee072794/220619425456

ν…μŠ€νŠΈλ·°(TextView) 동적생성, https://aries574.tistory.com/62

BottomNavigationView μ‚¬μš©ν•˜μ—¬ ν•˜λ‹¨ 메뉴 λ§Œλ“€κΈ°, https://lktprogrammer.tistory.com/183

AlertDialog μ‚¬μš©ν•˜μ—¬ μ•Œλ¦Όμ°½ λ„μš°λŠ” 방법 총정리, https://lktprogrammer.tistory.com/155

ν…Œμ΄λΈ”-AUTOINCREMENT을 μ„€μ •ν–ˆμ„ λ•Œ κ°’μ˜ ν• λ‹Ή κ·œμΉ™,

https://araikuma.tistory.com/690