[DevCamp] ๐Ÿ“˜ ๊ธฐ์ˆ  ๋ช…์„ธ์„œ ๋ถ„์„ ํŒ๊ณผ ๋ฐฉ๋ฒ•

๋™๊ฑดยท2025๋…„ 5์›” 28์ผ

DevCamp

๋ชฉ๋ก ๋ณด๊ธฐ
74/85

๐Ÿ“˜ ๊ธฐ์ˆ  ๋ช…์„ธ์„œ ๋ถ„์„ ํŒ๊ณผ ๋ฐฉ๋ฒ•

๊ฐœ๋ฐœ์ž๋กœ ์ผํ•˜๋‹ค ๋ณด๋ฉด ๋‹ค์–‘ํ•œ ๊ธฐ์ˆ  ๋ช…์„ธ์„œ(technical specification, tech spec)๋ฅผ ์ ‘ํ•˜๊ฒŒ ๋œ๋‹ค.
ํŠนํžˆ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ ๊ฐœ๋ฐœํ•˜๊ฑฐ๋‚˜ ์™ธ๋ถ€ API์™€ ์—ฐ๋™ํ•  ๋•Œ
๋ช…์„ธ์„œ๋ฅผ ๋น ๋ฅด๊ณ  ์ •ํ™•ํ•˜๊ฒŒ ํ•ด์„ํ•˜๋Š” ๋Šฅ๋ ฅ์€ ์ƒ์‚ฐ์„ฑ๊ณผ ํ’ˆ์งˆ์„ ํฌ๊ฒŒ ์ขŒ์šฐํ•œ๋‹ค.

์˜ค๋Š˜์€ ๊ธฐ์ˆ  ๋ช…์„ธ์„œ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ๋ถ„์„ํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ ์‹ค์ „ ํŒ์„ ์ •๋ฆฌํ•ด๋ณธ๋‹ค.


๐Ÿ” ๊ธฐ์ˆ  ๋ช…์„ธ์„œ๋ž€?

๊ธฐ์ˆ  ๋ช…์„ธ์„œ๋Š” ์‹œ์Šคํ…œ์ด๋‚˜ ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ์ƒ์„ธํ•œ ์š”๊ตฌ์‚ฌํ•ญ, ๋™์ž‘ ๋ฐฉ์‹, ์ œ์•ฝ ์กฐ๊ฑด ๋“ฑ์„ ๊ธฐ์ˆ ํ•œ ๋ฌธ์„œ๋‹ค.

๋ณดํ†ต ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋‚ด์šฉ์„ ํฌํ•จํ•œ๋‹ค:

  • ๋ชฉ์  ๋ฐ ๊ฐœ์š”
  • ๊ธฐ๋Šฅ ์š”๊ตฌ์‚ฌํ•ญ (Functional Requirements)
  • ๋น„๊ธฐ๋Šฅ ์š”๊ตฌ์‚ฌํ•ญ (Non-functional Requirements)
  • API ์ŠคํŽ™ (์—”๋“œํฌ์ธํŠธ, ํŒŒ๋ผ๋ฏธํ„ฐ, ์‘๋‹ต ๋“ฑ)
  • ๋ฐ์ดํ„ฐ ๋ชจ๋ธ ๋ฐ ๊ตฌ์กฐ

๐Ÿงฉ ๋ถ„์„ ์ „ ํ™•์ธํ•ด์•ผ ํ•  ๊ฒƒ

  1. ๋ฌธ์„œ ์ตœ์‹ ์„ฑ: ์ž‘์„ฑ์ผ์ž๋‚˜ ๋ฒ„์ „ ๊ด€๋ฆฌ ํ™•์ธ
  2. ๊ด€๋ จ ๋ฌธ์„œ ์—ฐ๊ณ„: ์„ค๊ณ„ ๋ฌธ์„œ, ERD, API ๋ช…์„ธ ๋“ฑ ์—ฐ๊ด€๋œ ์ž๋ฃŒ๊ฐ€ ์žˆ๋Š”์ง€ ํ™•์ธ
  3. ์—…๋ฐ์ดํŠธ ์—ฌ๋ถ€: ๋ณ€๊ฒฝ ์ด๋ ฅ(Change log) ์กด์žฌ ์—ฌ๋ถ€ ํŒŒ์•…

โœ๏ธ ๋ถ„์„ ๋ฐฉ๋ฒ•

1. ์ „์ฒด ๊ตฌ์กฐ ํŒŒ์•…

  • ๋ฌธ์„œ ์ „์ฒด ๋ชฉ์ฐจ๋ฅผ ๋จผ์ € ์‚ดํŽด๋ณด๊ณ  ๊ตฌ์กฐ๋ฅผ ํŒŒ์•…ํ•œ๋‹ค.
  • ๊ฐœ์š”, ์šฉ์–ด ์ •์˜, ํ๋ฆ„๋„๋ฅผ ๋จผ์ € ํ™•์ธํ•œ๋‹ค.

2. ์š”๊ตฌ์‚ฌํ•ญ ๊ตฌ๋ถ„

  • ๊ธฐ๋Šฅ ์š”๊ตฌ์‚ฌํ•ญ๊ณผ ๋น„๊ธฐ๋Šฅ ์š”๊ตฌ์‚ฌํ•ญ์„ ๋ถ„๋ฆฌํ•ด์„œ ์ฝ๋Š”๋‹ค.
  • ๊ฐ ์š”๊ตฌ์‚ฌํ•ญ์— ๋ฒˆํ˜ธ๋‚˜ ํƒœ๊ทธ๋ฅผ ๋ถ™์—ฌ ์ฒดํฌ๋ฆฌ์ŠคํŠธํ™”ํ•œ๋‹ค.

3. ์šฉ์–ด์™€ ์•ฝ์–ด ์ •๋ฆฌ

  • ๊ธฐ์ˆ  ๋ช…์„ธ์„œ์— ์ž์ฃผ ๋“ฑ์žฅํ•˜๋Š” ์šฉ์–ด๋‚˜ ์•ฝ์–ด๋Š” ๋ณ„๋„๋กœ ์ •๋ฆฌํ•ด๋‘์ž.

4. API ๋ช…์„ธ ์ง‘์ค‘ ๋ถ„์„

  • ๊ฐ API์˜ ๋ชฉ์ , HTTP Method, URL, ์š”์ฒญ/์‘๋‹ต ํ˜•์‹์„ ํ‘œ๋กœ ์ •๋ฆฌ
  • ์ธ์ฆ ๋ฐฉ์‹์ด๋‚˜ ์ƒํƒœ ์ฝ”๋“œ ์˜๋ฏธ ๋“ฑ์€ ์ •ํ™•ํžˆ ์ˆ™์ง€

5. ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ํ๋ฆ„ ์ดํ•ด

  • ์˜ค๋ฅ˜ ์ฝ”๋“œ ๋ฐ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ๋ฐฉ์‹์ด ์ •์˜๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์ธ
  • ์‹คํŒจ ์ผ€์ด์Šค๋ฅผ ํ†ตํ•ด ์‹œ์Šคํ…œ์ด ์–ด๋–ป๊ฒŒ ๋ฐ˜์‘ํ•˜๋Š”์ง€ ํŒŒ์•…

๐Ÿ› ๏ธ ์‹ค์ „ ํŒ

  • Google Docs๋‚˜ Notion์— ๊ฐ ํ•ญ๋ชฉ์„ ์ •๋ฆฌํ•ด๊ฐ€๋ฉฐ ์ฝ๊ธฐ
  • ๋ชจํ˜ธํ•œ ๋ถ€๋ถ„์€ ๋ฐ”๋กœ ์งˆ๋ฌธ ๋‚จ๊ธฐ๊ธฐ ("์ด ๊ธฐ๋Šฅ์€ ์–ด๋–ค ์ƒํ™ฉ์—์„œ ํ˜ธ์ถœ๋˜๋‚˜์š”?")
  • ๊ทธ๋ฆผ์ด๋‚˜ ์‹œํ€€์Šค ๋‹ค์ด์–ด๊ทธ๋žจ์„ ์ง์ ‘ ๊ทธ๋ ค๋ณด๋ฉฐ ํ๋ฆ„ ์ดํ•ดํ•˜๊ธฐ
  • ํ”„๋กœ์ ํŠธ ์ง„ํ–‰ ์ค‘ ๋ฌธ์„œ์™€ ์‹ค์ œ ๋™์ž‘์ด ๋‹ค๋ฅผ ๊ฒฝ์šฐ ์ฆ‰์‹œ ํ”ผ๋“œ๋ฐฑ

๐Ÿ”จ TIL

  • ๋ช…์„ธ์„œ ๋ถ„์„์€ ๋‹จ์ˆœํžˆ ์ฝ๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, ํ•ด์„ํ•˜๊ณ  ์ ์šฉํ•˜๋Š” ๋Šฅ๋ ฅ์ด ํ•„์š”ํ•˜๋‹ค๋Š” ์ ์„ ๋А๊ผˆ๋‹ค.
  • ๋ฌธ์„œ ๊ตฌ์กฐ์™€ ๋ฐ˜๋ณต๋˜๋Š” ํŒจํ„ด์„ ์ตํžˆ๋ฉด ๋ถ„์„ ์†๋„๊ฐ€ ํ›จ์”ฌ ๋นจ๋ผ์ง„๋‹ค.
  • ์ข‹์€ ๊ธฐ์ˆ  ๋ช…์„ธ์„œ๋ฅผ ๊ธฐ์ค€ ์‚ผ์•„, ๋‚ด๊ฐ€ ์ž‘์„ฑํ•˜๋Š” ๋ฌธ์„œ์—๋„ ํ’ˆ์งˆ์„ ๋ฐ˜์˜ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์•ผ๊ฒ ๋‹ค.
profile
๋ฐฐ๊ณ ํ”ˆ ๊ฐœ๋ฐœ์ž

0๊ฐœ์˜ ๋Œ“๊ธ€