ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด/Java

java ์ž…๋ฌธ๋ฐ˜ 1์ฃผ์ฐจ

์ˆ˜ํ˜€์ด0812 2024. 11. 15. 13:46
728x90
๋ฐ˜์‘ํ˜•

(ํ™”์š”์ผ)

- github ์ด์Šˆ ์ƒ์„ฑํ•ด์„œ jira๋ž‘ ์—ฐ๋™ ์‹ค์Šตํ•˜๊ธฐ(?)

- README.md ํŒŒ์ผ์—์„œ md๋ž€...? markdown ํŒŒ์ผ์ด๋ผ๋Š” ๋œป (์›น ํŽ˜์ด์ง€ ๊ธ€์˜ฌ๋ฆด ๋•Œ ์“ฐ์ž„) 

Github Project์—์„œ Board๋Š” ์• ์ž์ผ ํ•˜๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋„๋ก ํ•œ๋‹ค!! ์š”์ฆ˜ ์ œ์ผ ๋งŽ์ด ์‚ฌ์šฉ

 

Todo : ์ด์Šˆ ์ง„ํ–‰ ์ „ ์ƒํƒœ

In Progress : ๋‹ด๋‹น์ž๊ฐ€ ์ด์Šˆ๋ฅผ ํ™•์ธํ•˜๊ณ  ์ง„ํ–‰์ค‘์ธ ์ƒํƒœ

In Review : ๊ฒ€ํ† ๋ฅผ ์š”์ฒญ/์ง„ํ–‰ ์ค‘์ธ ์ƒํƒœ(์ค‘๊ฐ„์— ๊ฒ€ํ†  ๋‹จ๊ณ„๋ฅผ ๋„ฃ๋Š”๊ฒŒ ์š”์ฆ˜ ๊ทผํ™ฉ)  

Done : ์™„๋ฃŒ ๋ฐ ์ข…๋ฃŒ๋œ ์ƒํƒœ

 

๊ธฐ๋ณธ ์„ธํŒ… ์™„๋ฃŒ!!

 

issue๋ž‘ project ์—ฐ๊ฒฐ

 

 

 

ํ”„๋กœ์ ํŠธ ๋ชฉํ‘œ : ์ •ํ•ด์ง„ ๋น„์šฉ๊ณผ ๊ธฐ๊ฐ„๋‚ด์—์„œ ์–ด๋–ป๊ฒŒ ํ•˜๋ฉด ํ’ˆ์งˆ์„ ๋†’์ด๋ฉด์„œ ๋งˆ๋ฌด๋ฆฌํ•  ์ˆ˜ ์žˆ์„๊ฑด์ง€...

 

- R&R : Role & Responsibility (pm์ด๋ผ๋ฉด ํ”„๋กœ์ ํŠธ ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•œ ์ฑ…์ž„)

 

ํ•™์ƒ / ํ•™์ƒ ๋“ฑ๋ก / ํ•™์ƒ ๋“ฑ๋ก ์ˆ˜์ • ์ด์ฒ˜๋Ÿผ... ์„ธ๋ถ„ํ™”ํ•˜๋Š” ๊ตฌ์กฐํ™”ํ•˜๋Š” ํ™œ๋™ WBS / Level 3~4 ์ •๋„๋กœ ์ชผ๊ฐœ๋Š”๊ฒƒ์ด ์ข‹๋‹ค (2-3์ฃผ ๋‹จ์œ„๋กœ ํ•  ์ˆ˜ ์žˆ๋Š” ๋ถ„๋Ÿ‰)

 

- wbs ์‹ค์Šต์€ ๋‚ด์ผ!!

 

- ์œ„ํ—˜๊ณผ ์ด์Šˆ์˜ ์ฐจ์ด : ์œ„ํ—˜(potential problem)์€ ์•„์ง ์ž ์žฌ์  ๋ฌธ์ œ๋กœ ์•„์ง ์ผ์–ด๋‚˜์ง€ ์•Š์€ ๊ฒƒ์ด๊ณ  ์ด์Šˆ๋Š” ์ผ์–ด๋‚œ ๋ฌธ์ œ๋กœ ์‹ค์ œ๋กœ ์ผ์–ด๋‚  ์ด์Šˆ๋ฅผ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ์œ„ํ—˜์„ ๋ฐฉ์ง€ํ•ด์•ผํ•œ๋‹ค!

- ์œ„ํ—˜๊ณผ ๊ด€๋ จ๋œ์šฉ์–ด : ๋ฐœ์ƒ ๊ฐ€๋Šฅ์„ฑ๊ณผ ๋ฐœ์ƒํ–ˆ์„๋•Œ์˜ ์‹ฌ๊ฐ๋„(์œ„ํ—˜๋„)๋ฅผ ๊ณฑํ•œ๊ฒƒ์ด ์œ„ํ—˜๋„.. ๋†’์€๊ฒƒ์ด ์šฐ์„ ์ˆœ์œ„๋กœ ์ •ํ•ด์ง€๊ณ  ์ด๋ฅผ ๋Œ€๋น„ํ•˜๊ธฐ ์œ„ํ•ด ์ฒ ์ €ํ•˜๊ฒŒ ๊ณ„ํš์„ ์„ธ์›Œ์•ผํ•œ๋‹ค

 

 

 

(์ˆ˜์š”์ผ)

- wbs ๋งŒ๋“ค๊ธฐ 

 

ํ•™์ƒ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ WBS ๋งŒ๋“ค๊ธฐ

 

 

 

๋ฒ ์ด์Šค ๋ผ์ธ : ํŠน์ • ์‹œ์ ์—์„œ ํ•„์š”ํ•œ ํŒŒ์ผ๋“ค์„์ •ํ™•ํžˆ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ์ž‘์—…..

 - ์–ด๋–ค ์š”๊ตฌ์‚ฌํ•ญ ๋ช…์„ธ์„œ๋ฅผ ๋ฐ˜์˜ํ•˜๋Š” ์†Œ์Šค์ฝ”๋“œ์ธ๊ฑด์ง€๋ฅผ ์•Œ๊ธฐ ์• ๋งคํ•˜๋ฏ€๋กœ ์–ด๋–ค ์‚ฐ์ถœ๋ฌผ์„ ๊ธฐ์ค€์œผ๋กœ ๊ฐœ๋ฐœํ•œ๊ฑด์ง€๋ฅผ ์•Œ๊ธฐ ์œ„ํ•ด ์ ์–ด ๋†“์€๊ฒƒ์ด baseline..

- ์–ด๋–ค ์š”๊ตฌ์‚ฌํ•ญ ๋ช…์„ธ์„œ์™€ ์„ค๊ณ„์„œ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๊ฐœ๋ฐœํ• ๊ฑด์ง€๋ฅผ ํ™•์ธํ•˜๊ณ  ๊ฐœ๋ฐœํ•ด์•ผํ•œ๋‹ค!

- ์†Œํ”„ํŠธ์›จ์–ด ํ˜•์ƒ ํ†ต์ œ : ํ˜•์ƒํ†ต์ œ์œ„์›ํšŒ์—์„œ ๋ณ€๊ฒฝ ์š”์ฒญ์„ ์ˆ˜์šฉํ•  ๊ฒƒ์ธ์ง€ ํ‰๊ฐ€ํ•˜๊ณ  ํ˜‘์˜ํ•˜๋Š” ๊ณผ์ •(CCBํ•œํ…Œ ํ†ต๊ณผ ๋ฐ›์•„์•ผ ์—…๋ฐ์ดํŠธ ๊ฐ€๋Šฅ)

 

 

์š”๊ตฌ์‚ฌํ•ญ ๋ช…์„ธ์„œ(SW Requirement Specification) : ๋ฌด์—‡์„ ๊ฐœ๋ฐœํ• ๊ฑด์ง€์— ์ดˆ์ ์„ ๋งž์ถ˜๋‹ค! (์–ด๋–ค ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ• ๊ฒƒ์ธ์ง€, ์–ด๋–ค ํ’ˆ์งˆ๋กœ / ์–ด๋–ป๊ฒŒ๋Š” ์„ค๊ณ„์„œ์— ๋“ค์–ด๊ฐ‘๋‹ˆ๋‹ค..)

- ์‹œ์Šคํ…œ(SYSRS)

- ์†Œํ”„ํŠธ์›จ์–ด(SWRS)

- ํ•˜๋“œ์›จ์–ด(HWRS)

 

๊ธฐ๋Šฅ vs ๋น„๊ธฐ๋Šฅ 

- ๊ธฐ๋Šฅ :  ์ฐ ๊ธฐ๋Šฅ

- ๋น„๊ธฐ๋Šฅ : ํ’ˆ์งˆ, ์„ฑ๋Šฅ, ์ œ์•ฝ์‚ฌํ•ญ

 

๋น„๊ธฐ๋Šฅ ์š”๊ตฌ์‚ฌํ•ญ ์˜ˆ์‹œ

 

๊ธฐ๋Šฅ ์š”๊ตฌ์‚ฌํ•ญ ์–ด๋–ป๊ฒŒ ๋ถ„์„ํ•˜๊ณ  ์ž‘์„ฑํ•˜๋Š”์ง€... (๋„์ถœ, ๋ถ„์„, ๋ช…์„ธ, ํ™•์ธ...)

- ์ข‹์€ ์š”๊ตฌ์‚ฌํ•ญ ๋ช…์„ธ์„œ๋ผ๋ฉด ์š”๊ตฌ์‚ฌํ•ญ ๋ช…์„ธ์„œ๋ฅผ ๊ฐ€์ง€๊ณ  ํ…Œ์ŠคํŠธ๋ฅผ ๋งŒ๋“ค์–ด์„œ ๋‹ค ์ž˜ ๋Œ์•„๊ฐ€๋Š”์ง€...(ํ…Œ์ŠคํŠธ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค๋ฉด ์š”๊ตฌ์‚ฌํ•ญ์ด ๊ต‰์žฅํžˆ ๋””ํ…Œ์ผ ํ•˜๋‹ค๋Š”๊ฒƒ!! / ์•„๋‹ˆ๋ผ๋ฉด ์š”๊ตฌ์‚ฌํ•ญ ๋ช…์„ธ์„œ ๋” ์ž์„ธํ•˜๊ฒŒ ํ•ด๋‹ฌ๋ผ๊ณ  ๋ถ€ํƒํ•˜๊ธฐ!!)

- ์ถ”์ ์„ฑ : ์šฐ๋ฆฌ์˜ ์†Œ์Šค์ฝ”๋“œ๊ฐ€ ์–ด๋–ค ์„ค๊ณ„์„œ, ์•„ํ‚คํ…์ฒ˜ ์„ค๊ณ„์„œ, ์š”๊ตฌ์‚ฌํ•ญ ๋ช…์„ธ์„œ๋ฅผ ๋งŒ์กฑ์‹œํ‚ค๊ธฐ ์œ„ํ•ด ๋‚˜์™”๋Š”์ง€ ์ถ”์ ์ด ๊ฐ€๋Šฅํ•œ์ง€... / ์šฐ๋ฆฌ์˜ ์š”๊ตฌ์‚ฌํ•ญ์€ ์–ธ์ œ๋“ ์ง€ ๋ณ€๊ฒฝ๋  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์–ด๋–ค๊ฑธ ์ˆ˜์ •ํ•ด์•ผํ• ์ง€ ์ฐพ๋Š”๋ฐ ์‹œ๊ฐ„์ด ์˜ค๋ž˜๊ฑธ๋ฆผ, ๋ˆ„๋ฝ ๊ฐ€๋Šฅํ•˜๋‹ค

 

- ๋ณ€๊ฒฝ ์šฉ์ด์„ฑ : ๋‹ค๋ฅธ๊ฒƒ๊ณผ ์ตœ๋Œ€ํ•œ ๋…๋ฆฝ์„ฑ์„ ๋„์šฐ๋Š”๊ฒƒ์ด ์ข‹๋‹ค(์˜์กด์ ์ด๋ฉด ๋ณ€๊ฒฝํ•˜๊ธฐ ํž˜๋“ฆ) 

-  uml ๊ทธ๋ฆฌ๊ธฐ ์‹ค์Šต์€ ๋‚ด์ผ..

 

 

<๋ชฉ์š”์ผ)

- UML : ์‹œ์Šคํ…œ ์„ค๊ณ„๋ฅผ ํ‘œํ˜„ํ•˜๋Š”๋ฐ ์‚ฌ์šฉํ•˜๋Š” ํ†ตํ•ฉ๋œ ๋ชจ๋ธ๋ง์–ธ์–ด

 

MBD : MODEL BASED DEVELOPMENT / ๋ชจ๋ธ๋ง๋งŒ ํ•˜๋ฉด ์ž๋™์œผ๋กœ ๊ฐœ๋ฐœํ•ด์คŒ... / ๊ฐœ๋ฐœ์ž๋Š” ์—†์–ด์ ธ๋„... ์„ค๊ณ„์ž๋Š” ์•ˆ ์—†์–ด์ง„๋‹ค

 

USECASE DIAGRAM ๊ตฌ์„ฑ์š”์†Œ

- user actor :  ์‹œ์Šคํ…œ์˜ ์™ธ๋ถ€์— ์žˆ์œผ๋ฉด์„œ ์‹œ์Šคํ…œ๊ณผ ์ƒํ˜ธ์ž‘์šฉํ•˜๋Š” ๊ฒƒ๋“ค... ์ผ๋ฐ˜์ ์œผ๋กœ ์‚ฌ์šฉ์ž ํ˜น์€ ์™ธ๋ถ€ ์‹œ์Šคํ…œ

- system actor : ํ•ด๋‹น ํ”„๋กœ์ ํŠธ์˜ ๊ฐœ๋ฐœ ๋ฒ”์œ„์—๋Š” ์†ํ•˜์ง€ ์•Š์ง€๋งŒ ๋ฐ์ดํ„ฐ๋ฅผ์ฃผ๊ณ ๋ฐ›๋Š” ๋“ฑ ์„œ๋กœ ์—ฐ๋™๋˜๋Š” ๋‹ค๋ฅธ ์‹œ์Šคํ…œ 
                          ex) ์šฐ๋ฆฌ ์‹œ์Šคํ…œ์— ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๋Š” ๊ธฐ์ƒ์ฒญ ์‹œ์Šคํ…œ   

- usecase : ์‹œ์Šคํ…œ์ด ์•กํ„ฐ์—๊ฒŒ ์ œ๊ณตํ•ด์•ผ ํ•˜๋Š” ๊ธฐ๋Šฅ์˜ ์ง‘ํ•ฉ / ๋™์‚ฌ+๋ช…์‚ฌ ํ˜•์‹์œผ๋กœ ์ž‘์„ฑ(์„ฑ์ ๋“ฑ๋ก, ์„ฑ์ ์กฐํšŒ)

- relationship : ์•กํ„ฐ์™€ ์œ ์Šค์ผ€์ด์Šค / ์œ ์Šค์ผ€์ด์Šค์™€ ์œ ์Šค์ผ€์ด์Šค ์‚ฌ์ด์˜ ์—ฐ๊ด€ ๊ด€๊ณ„!!! (๊ด€๊ณ„ ์ข…๋ฅ˜.....)

 

 

# USECASE DIAGRAM ๊ทธ๋ฆฌ๊ธฐ

https://app.diagrams.net/

 

Flowchart Maker & Online Diagram Software

Flowchart Maker and Online Diagram Software draw.io is free online diagram software. You can use it as a flowchart maker, network diagram software, to create UML online, as an ER diagram tool, to design database schema, to build BPMN online, as a circuit d

app.diagrams.net

 

 

# ์„ค๊ณ„

- ๊ด€์  : HOW(์–ด๋–ป๊ฒŒ)

- ํŠน์ง• : ์‚ฌ์šฉ ํ™˜๊ฒฝ์„ ๋ฐ˜์˜ํ•ด ๊ตฌ์ฒด์ 

- ์ƒ์œ„ ์„ค๊ณ„์„œ, ์ƒ์„ธ ์„ค๊ณ„์„œ ๋‘๊ฐ€์ง€๋กœ ๋‚˜๋‰จ

 

 

(๊ธˆ์š”์ผ)

https://velog.io/@hongjunland/Clean-Architecture

 

ํด๋ฆฐ ์•„ํ‚คํ…์ฒ˜(Clean Architecture)

DDD์ฑ…์„ ์ •๋…ํ•ด๋ณด๊ณ  ์•„ํ‚คํ…์ฒ˜ ํŒจํ„ด์ค‘์— ํ•˜๋‚˜์ธ ํฌํŠธ์™€ ์–ด๋Œ‘ํ„ฐ ํŒจํ„ด์„ ์ž ๊น ๊ณต๋ถ€ํ•ด๋ณธ ์ ์ด์žˆ๋‹ค. ํ”ํžˆ ๋งํ•˜๋Š” ํด๋ฆฐ์•„ํ‚คํ…์ฒ˜์™€ ๊ฑฐ์˜ ๊ฐ™์€๋ง๋กœ ์•Œ๋ ค์ ธ์žˆ๋Š”๋ฐ, ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์ž์„ธํžˆ ๋‚˜์™€์žˆ

velog.io

ํด๋ฆฐ ์•„ํ‚คํ…์ฒ˜ ํ•„๋…์„œ...

 

# ์„ค๊ณ„!!!

 

## ์ถ”์ƒํ™” : ์ƒ์œ„ ๋ ˆ๋ฒจ์—์„œ ์ œํ’ˆ์˜ ๊ตฌํ˜„์„ ์ƒ๊ฐํ•ด๋ด„!!

 

https://wealthymindset.tistory.com/entry/%EC%82%AC%EC%97%85%EC%B6%94%EC%A7%84-%ED%98%95%ED%83%9C%EC%9D%98-%EB%91%90%EA%B0%80%EC%A7%80-%EB%B0%A9%EB%B2%95-%ED%83%91%EB%8B%A4%EC%9A%B4Top-down%ED%95%98%ED%96%A5%EC%8B%9D-%EB%B0%94%ED%85%80%EC%97%85Bottom-up%EC%83%81%ED%96%A5%EC%8B%9D-%EB%B0%A9%EC%8B%9D

 

์‚ฌ์—…์ถ”์ง„ ํ˜•ํƒœ์˜ ๋‘๊ฐ€์ง€ ๋ฐฉ๋ฒ•, ํƒ‘๋‹ค์šด(Top-down,ํ•˜ํ–ฅ์‹) & ๋ฐ”ํ…€์—…(Bottom-up,์ƒํ–ฅ์‹) ๋ฐฉ์‹

Top-down๊ณผ Bottom-up์€ ๋ฌธ์ œ ํ•ด๊ฒฐ์ด๋‚˜ ์˜์‚ฌ ๊ฒฐ์ •์„ ์œ„ํ•œ ๋‘ ๊ฐ€์ง€ ์ ‘๊ทผ ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค. Top-down ์ ‘๊ทผ ๋ฐฉ์‹์€ ํฐ ๊ทธ๋ฆผ์—์„œ ์‹œ์ž‘ํ•˜์—ฌ ์ž‘์€ ์„ธ๋ถ€ ์‚ฌํ•ญ์œผ๋กœ ๋‚ด๋ ค๊ฐ€๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋ฐ˜๋ฉด, Bottom-up ์ ‘๊ทผ ๋ฐฉ์‹์€ ์ž‘์€

wealthymindset.tistory.com

Top-down(ํ•˜ํ–ฅ์‹)๊ณผ Bottom-up(์ƒํ–ฅ์‹)์˜ ์ฐจ์ด..

 

comfile ๊ณผ์ • : .java ํŒŒ์ผ์„ ์ปดํ“จํ„ฐ๊ฐ€ ํ•ด์„ํ•  ์ˆ˜ ์žˆ๋„๋ก ์ปดํŒŒ์ผ๋Ÿฌ๋ฅผ ๊ฑฐ์ณ์„œ .class ํŒŒ์ผ๋กœ ๋ฐ”๊ฟ”์ฃผ๋Š” ๊ณผ์ •

 

 

## ๋ถ„ํ• ๊ณผ ์ •๋ณต(Divide Conquer)

 

- Component : ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ์š”์†Œ๋“ค์˜ ์ง‘ํ•ฉ / ํด ์ˆ˜๋„ ์ž‘์„ ์ˆ˜๋„ ์–ด๋–ป๊ฒŒ ์ชผ๊ฐœ์ง€๋Š”์ง€๋Š” ๋•Œ๋งˆ๋‹ค ๋‹ค๋ฅด๋‹ค  

- Unit : ๋”์ด์ƒ ๋‚˜๋ˆŒ ์ˆ˜ ์—†๋Š” atomicํ•œ ์š”์†Œ

 

๋ถ„ํ• ๊ณผ ์ •๋ณต์˜ ์˜๋ฏธ...

- ํ•˜๋‚˜๋กœ ํ•˜์ง€ ๋ง๊ณ  ์—ฌ๋Ÿฌ ๊ฐœ๋กœ ์ชผ๊ฐœ๊ณ  ํ•˜๋‚˜ํ•˜๋‚˜ ์ž‘์€ ๋‹จ์œ„๋ถ€ํ„ฐ ๊ฐœ๋ฐœํ•˜๊ณ  ํ•ฉ์ณ์„œ ์ƒํ–ฅ์‹์œผ๋กœ ๊ฐœ๋ฐœํ•ด ๋‚˜๊ฐ€๋ผ๋Š” ์˜๋ฏธ

- ๋ชจ๋“ˆํ™”๋ž‘ ๊ฐ™์€ ์˜๋ฏธ(= unit๊ณผ๋„ ๊ฐ™์Œ)

- ํ•œ ํ™”๋ฉด์— ๋ณด๊ธฐ ์ข‹์€ 50-80์ค„ ์‚ฌ์ด๋กœ ํ•จ์ˆ˜๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Œ

 

 

## ๋ชจ๋“ˆํ™”(Modularity)

 

- ์˜๋ฏธ : ์†Œํ”„ํŠธ์›จ์–ด ๊ตฌ์กฐ๋ฅผ ์ด๋ฃจ๋Š” ๊ธฐ๋ณธ ๋‹จ์œ„

- ํŠน์ง•

  • ๋…๋ฆฝ์ ์ธ ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋‹จ์œ„
  • ์œ ์ผํ•œ ์ด๋ฆ„์„ ๊ฐ€์ง
  • ๋ชจ๋“ˆ์—์„œ ๋˜ ๋‹ค๋ฅธ ๋ชจ๋“ˆ์„ ํ˜ธ์ถœ(call)ํ•  ์ˆ˜ ์žˆ์Œ -> interaction์˜ ํ•œ ์ข…๋ฅ˜ / interface : interaction์„ ํ•˜๋Š”๋ฐ ์†์‰ฝ๊ฒŒ ํ•˜๋Š” ์ˆ˜๋‹จ(ํ™”๋ฉด) / ํ˜ธ์ถœ์„ ํ•˜๋Š”๊ฒฝ์šฐ... ๋ฐ์ดํ„ฐ๋ฅผ ์š”์ฒญํ•˜๊ณ  ์‘๋‹ต ๋ฐ›์„  
  • ๋‹ค๋ฅธ ํ”„๋กœ๊ทธ๋žจ์—์„œ๋„ ๋ชจ๋“ˆ์„ ํ˜ธ์ถœํ•  ์ˆ˜ ์žˆ์Œ

- ๋ชจ๋“ˆ์˜ ํฌ๊ธฐ : ์‹œ์Šคํ…œ์˜ ๊ทœ๋ชจ, ์œ ํ˜•, ํŠน์„ฑ์— ๋”ฐ๋ผ ์ž‘์Œ / ์ž‘์€ ์‹œ์Šคํ…œ์ด๋ผ๋ฉด ๋ชจ๋“ˆ์˜ ํฌ๊ธฐ๋Š” ํ•จ์ˆ˜ / ํฐ ์‹œ์Šคํ…œ์ด๋ผ๋ฉด...

 

- ์‘์ง‘๋„๋Š” ๊ฐ•ํ•˜๊ฒŒ(๋ชจ๋“ˆ ๊ตฌ์„ฑ ์š”์†Œ๊ฐ„์—๋Š” ๊ฐ•ํ•˜๊ฒŒ) / ๊ฒฐํ•ฉ๋„๋Š” ์•ฝํ•˜๊ฒŒ(์˜์กด์„ฑ์ด ์•ฝํ•ด์•ผํ•œ๋‹ค)

- ๊ฒฐํ•ฉ๋„๋ฅผ ๋А์Šจํ•˜๊ฒŒ ํ•˜๋ผ๋Š” ๋ง์ด... ๋ชจ๋“  ๊ด€๊ณ„๊ฐ€ ์•ˆ์ข‹๋‹ค๋Š” ๋ง์ด ์•„๋‹ˆ๋ผ A,B๊ฐ€ ์„œ๋กœ ํ˜ธ์ถœํ•˜์—ฌ ์—๋Ÿฌ์˜ ๋ฌดํ•œ๋ฃจํ”„๋ฅผ ๋Œ์ง€ ๋ง๋ผ๋Š” ์†Œ๋ฆฌ  

- ๊ฒฐํ•ฉ๋„๊ฐ€ ๋†’์„์ˆ˜๋ก ๋ณต์žกํ•ด์ง / ๋‚ฎ์„์ˆ˜๋ก ๋‹จ์ˆœํ•ด์ง€๋„ ์œ ์ง€๋ณด์ˆ˜, ์žฌ์‚ฌ์šฉ์„ฑ์ด ์ข‹๋‹ค

 

 

C์–ธ์–ด ์ ˆ์ฐจ์ง€ํ–ฅํ˜• ์–ธ์–ด...

- ๋‹ค๋ฅธ ์–ธ์–ด๋“ค๋„ ๋‹ค ์ˆœ์„œ๋Œ€๋กœ ์ฝ”๋“œ๊ฐ€ ์‹คํ–‰๋˜๋Š”๋ฐ ์™œ ์ ˆ์ฐจ์ง€ํ–ฅ์ด๋ผ๊ณ  ํ•˜๋Š”์ง€ ???? ํŠนํžˆ๋‚˜ ์ˆœ์„œ์— ์ง‘์ค‘ํ•ด์„œ?? ํ•จ์ˆ˜๋ฅผ ์–ด๋””์„œ๋‚˜ ์“ฐ๋ ค๊ณ  ํ•˜๋ฉด ์ „์—ญ๋ณ€์ˆ˜๋กœ ์„ ์–ธํ•ด์•ผ ํ•œ๋‹ค / ์œ ์ง€๋ณด์ˆ˜ ์–ด๋ ค์›€

 

JAVA ๊ฐ์ฒด์ง€ํ–ฅ ์–ธ์–ด...

- ์‚ฌ๋žŒ์ด ์ดํ•ดํ•œ๊ฒƒ์ฒ˜๋Ÿผ ์ฝ”๋“œ๋ฅผ ์งœ๋ณด์ž ํ•ด์„œ ๋‚˜์˜จ ์–ธ์–ด

- interaction์ด ์ด๋ฃจ์–ด์ง€๊ธฐ ๋•Œ๋ฌธ์— loose coupling, strong cohension์„ ๊ผญ ํ•˜์ž

 

 

# ๊ฐ์ฒด์ง€ํ–ฅ๋ฐฉ๋ฒ•๋ก ์˜ ํŠน์ง•

 

- ์บก์Аํ™” : ์ •๋ณด์€๋‹‰์˜ ๊ฐœ๋…์ด ํฌํ•จ๋œ ๊ฐœ๋… / ๋‚˜์˜ ์ •๋ณด๋ฅผ ๊ฐ์‹ธ์„œ ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์—๊ฒŒ ์ •๋ณด๋ฅผ ์ˆจ๊ธฐ๋Š” ํšจ๊ณผ 

- ์ƒ์† : ๋‹ค๋ฅธํด๋ž˜์Šค์˜ ์†์„ฑ์„ ๋ฌผ๋Ÿฌ๋ฐ›์•„ ๋‚ด ๊ฒƒ์ฒ˜๋Ÿผ ์“ฐ๋Š” ๊ฒƒ 

- ๋‹คํ˜•์„ฑ : ํ•˜๋‚˜ ์ด์ƒ์˜ ํ˜•ํƒœ๋ฅผ ๊ฐ–๋Š” ๊ฒƒ

  • ์˜ค๋ฒ„๋กœ๋”ฉ : ๊ฐ™์€ ํ•จ์ˆ˜ ์ด๋ฆ„์ด์–ด๋„ ๋งค๊ฐœ๋ณ€์ˆ˜์˜ ๊ฐœ์ˆ˜๋‚˜ ํƒ€์ž…์ด ๋‹ค๋ฅด๋ฉด ์ค‘๋ณต ์ •์˜ํ•˜์—ฌ ์‚ฌ์šฉ ๊ฐ€๋Šฅ
  • ์˜ค๋ฒ„๋ผ์ด๋”ฉ : ์ƒ์† ๊ด€๊ณ„์—์„œ ๋ถ€๋ชจ์˜ ๊ฐ€์ ธ์˜จ ๋ฉ”์†Œ๋“œ๋ฅผ ์ž์‹ ํด๋ž˜์Šค๊ฐ€ ์žฌ์ •์˜ ํ•˜์—ฌ ์‚ฌ์šฉ ๊ฐ€๋Šฅ
    • ์˜ค๋ฒ„๋ผ์ด๋”ฉ์€ ๋ถ€๋ชจ ํด๋ž˜์Šค์˜ ๋ฉ”์†Œ๋“œ๋ฅผ ์ž์‹ ํด๋ž˜์Šค์—์„œ ๋™์ผํ•œ ์ด๋ฆ„๊ณผ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์žฌ์ •์˜ํ•˜์—ฌ, ์ž์‹ ํด๋ž˜์Šค์—์„œ ๋ฉ”์†Œ๋“œ๋ฅผ ํ˜ธ์ถœํ•  ๋•Œ ๋ถ€๋ชจ ํด๋ž˜์Šค์˜ ๋ฉ”์†Œ๋“œ๊ฐ€ ์•„๋‹Œ ์ž์‹ ํด๋ž˜์Šค์˜ ๋ฉ”์†Œ๋“œ๊ฐ€ ์‹คํ–‰๋˜๋„๋ก ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์˜ค๋ฒ„๋ผ์ด๋”ฉ์€ ๋ฉ”์†Œ๋“œ์—์„œ๋งŒ ์ด๋ฃจ์–ด์ง‘๋‹ˆ๋‹ค.
    • ์‰๋„์ž‰์€ ์ž์‹ ํด๋ž˜์Šค์—์„œ ๋ถ€๋ชจ ํด๋ž˜์Šค์™€ ๋™์ผํ•œ ์ด๋ฆ„์˜ ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•˜์—ฌ ๋ถ€๋ชจ ํด๋ž˜์Šค์˜ ๋ณ€์ˆ˜๋ฅผ ๋ฎ์–ด์“ฐ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ ์ž์‹ ํด๋ž˜์Šค์˜ ์ธ์Šคํ„ด์Šค๋Š” ๋ถ€๋ชจ ํด๋ž˜์Šค์˜ ๋ณ€์ˆ˜ ๋Œ€์‹  ์ž์‹ ํด๋ž˜์Šค์˜ ๋ณ€์ˆ˜๋ฅผ ์ฐธ์กฐํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋ถ€๋ชจ ํด๋ž˜์Šค์˜ ๋ณ€์ˆ˜ ์ž์ฒด๊ฐ€ ๋ณ€๊ฒฝ๋˜๋Š” ๊ฒƒ์€ ์•„๋‹™๋‹ˆ๋‹ค
728x90
๋ฐ˜์‘ํ˜•