teo-sprint12-Day 3
π¨ νλ‘μ νΈ μΌμ§
μ 보 μ λ¬λ³΄λ¨ νλ‘μ νΈλ₯Ό μ§ννλ©° κ²ͺμ μ λ€, λλ μ λ€μ κΈ°λ‘ν μΌμ§
Project
: ν
μ€μ μ€νλ¦°νΈ 12κΈ°
νλ‘ νΈμλ κ°λ°μλ‘ κ΅¬κΈλ§νλ€λ³΄λ©΄ λꡬλ νλ²μ―€μ λ€μ΄κ°λ³΄μμ ν
μ€μ λΈλ‘κ·Έ
μ΄λ² νλ‘μ νΈλ ν
μ€κ° μ΄μνλ ν
μ€μ μ€νλ¦°νΈ 12κΈ°
μ μ°Έμ¬ν κΈ°λ‘μ΄λ€.
짧λ€λ©΄ 짧μ 5μΌμ κΈ°κ° λμ μ²μ 보λ μ¬λλ€κ³Ό νμ μ΄λ€, νμ
(ν
μ€κ° μ μΌ κ°μ‘°νλ λΆλΆ)
μ λ°°μΈ μ μλ μ’μ κΈ°νλΌκ³ μκ°νλ€!
π μμ΄μ€ λΈλ μ΄νΉ
μμμ μμμ, ν
μ€κ° μ€λΉν΄μ£Όμ μ§λ¬ΈμΌλ‘ κ°λ¨ν μμ΄μ€ λΈλ μ΄νΉμ μ§ννλ€.(μ λ§ μ¬μν΄λ³΄μ΄μ§λ§, μ΄λ° μμ μ₯μΉλ€μ΄ νμ κ°μ νν©μ λμμ£Όλ κ² κ°λ€.)
μΈκ³μΈμκ² μ°λ¦¬μ μ§μ
(κ°λ°μ)λ₯Ό κ·Έλ¦ΌμΌλ‘ μ€λͺ
νλ€λ©΄?
μ΄λΌλ μ£Όμ λ‘ κ°μ λ°νλ₯Ό μ§ννλ€.γ
γ
γ
γ
γ
νμλ€μ΄ μκ°νλ λ€μν κ°λ°μμ λͺ¨μ΅λ μ¬λ―Έμμκ³ μλ‘μ κ·Έλ¦Όμ κΎΈλ©°μ£Όκ³ λν΄μ£Όλ κ² μκ²Όλ€. γ
γ
γ
γ
γ
γ
γ
γ
γ
λμ κ·Έλ¦Όμ λμμ κΈμ μ±μ·¨νλ―μ΄, κ°λ°μλ μ½λλ₯Ό ν΅ν΄ κΈ(μ’μ μλΉμ€)μ λ§λ λ€λ 컨μ
μ΄λ€. νμλ€μ λμλ‘ κΈλ©μ΄κ° κΏλ²μ²λΌ λμ΄λ²λ Έμ§λ§γ
γ
γ
γ
γ
λ무 μ μΎνκ³ μ¬λ―Έμλ μκ°μ΄μλ€.
π μ€μ μ€μΌμΉ
κ°μΈμ μΌλ‘ μ λ§ μ λ§ μ λ§ νμνλ€κ³ μκ°νλ μκ°!!!!!! κ·Έ λμ 곡μ ν λ΄μ©λ€μ ν λλ‘, κ°μκ° νμ΄μ§ νλνλλ₯Ό μ’λ λν
μΌνκ² κ·Έλ €λ³΄κ³ λ°ννλ©° μκ°μ λ§μΆλ μκ°μ΄μλ€.
μ΄ μκ°μ κ°μκ° κ°κ³ μλ μμ£Ό μΈλ°ν μκ°λ€μ μ‘°μ¨ν μ μμκ³ λ λ€μν μλΉμ€λ κΈ°λ₯, νλ©΄μ λν κ³ λ―Όμ μ§λνκ² ν μ μμλ€!(맀μ°λ§€μ° μ μ©ν μκ°μ΄μλ€.)
λν μ΄ λ, UX μ΅κ³ κ²°μ κΆμμ PL(Project Leader)μ λ½μλ€. μλμ κ°μ μ·¨μ§μλ€.
μλμ μ€λͺ νλλλ‘ κ²°μ κΆμ μλ μνλ‘ μ견κ΅νλ§ νκ² λλ€λ©΄ λμ€μλ μκ²¬μ΄ λλ¦½μ΄ λλ©΄μ μ°μΌλ‘ κ° κ³΅μ°μ΄ λμ΅λλ€. λκ΅°κ°λ κ²°μ μ ν΄μΌνκ³ μ°λ¦¬λ μνμ μ΄κ² ν¬νλ₯Ό ν΅ν΄μ λ μνλ μ¬λμ΄ κ²°μ μ ν μ μλλ‘ νμμ΅λλ€. μνμ μΈ νμν¬μμλ μΈμ λ 무μΈκ°λ₯Ό μ μΌ μνλ μ¬λμ΄ μ μΌ μν μ μλλ‘ ν΄μ£Όλ κ²μ΄ μ€μνλ©° μ΄λ κΆμλ μ§κΈμ΄ μλλΌ μν μ μννλ κ²μ΄λΌλ κ²μ λ€μ νλ² κΈ°μ΅ν΄μ£ΌμΈμ.
κ°λ°νλ κΈ°κ°λμ λ κ²°μ μ ν΄μΌνλ μΌμ΄ μκΈ΄λ€λ©΄ UXμ΅μ’ κ²°μ κΆμμ PLμ κΈ°μ μ€νκ³Ό νμ€ν¬ κ²°μ κΆμ λν΄μλ μ‘΄μ€μ ν΄μ£ΌμκΈ° λ°λλλ€. κ²°μ μ νλ λ° λλ μλμ§λ λΆμμ νλ μλμ§λ³΄λ€ ν¨μ¬ λ ν° μλμ§ μλͺ¨κ° μλ€κ³ ν©λλ€. 미루λκ² μλλΌ μλ‘ κ°μ΄ μΉμ΄νκ² κ³ λ―Όνλ κ²°μ κΆμ μ‘΄μ€νκ³ κ²°μ λ κ²°κ³Όλ₯Ό μ λ°λΌμ£ΌκΈ°λ₯Ό λ°λλλ€.
π BDDμ SDD
ν
μ€κ° μ§μ μΉ΄μΉ΄μ€μμλ μ§ννλ BDD(Behavior Driven Development)
μ SDD(Schema Driven Development)
μ μ€λͺ
ν΄μ£Όμκ³ μ΄μ λ§μΆ° κ°λ° κ³νμ μΈμ보μλ€.
BDD
BDDλ νμ μ£Όλ κ°λ°
λ‘ μ€μ μλΉμ€λ₯Ό μ΄μ©νλ μ μ μ μ
μ₯μμ μ
κ°ν΄μ κ°λ° ν
μ€ν¬λ₯Ό ꡬλΆνλ λ°©λ²μ΄λ€.
- Given
- When
- Then
μμ 3κ°λ₯Ό λλκ³ , λ¨Όμ WhenλΆν° μμνλ€. μ¬μ΄ μ€λͺ
μ μν΄ μμλ₯Ό λ€μ΄λ³΄κ² λ€.
When: μμ λ²νΌμ ν΄λ¦νλ€.(μμλ²νΌμ ν΄λ¦ν λ)
-> Then(1): νλ©΄ λ°°κ²½μ΄ λ³νλ€.
-> Then(2): νμ΄λ¨Έκ° μμλλ€.
μ΄λ κ² νλμ Whenμ λν΄ 2κ° μ΄μμ Thenμ΄ λμ¨λ€λ©΄ Givenμ ν΅ν΄ λλ μ€λ€.
κ·Έλ κ² ν΄μ ν
μ€ν¬ νλμ κ°κ° 1κ°μ©μ Given, When, Thenμ΄ λ€μ΄κ°κ² λλ€.
μ΄λ° μμΌλ‘ μ§νμ΄λκ³ κ° ν μ€ν¬λ₯Ό λ°°λΆνμ¬ κ°λ°μ μ§ννλ€.
SDD
SDDλ μ€ν€λ§(λ°μ΄ν°) μ£Όλ κ°λ°
λ‘μ MV*ν¨ν΄μμ M(Model)κ³Ό V(View)μ λ°μ΄ν° μ€ν€λ§λ₯Ό μ νκ³ λ°μ΄ν°μ νλ¦μ λ°λΌκ°λ©΄μ κ°λ°μ μ§ννλ λ°©λ²μ΄λ€.
μ΄λ² νλ‘μ νΈμμλ λ°μ΄ν°μ 볡μ‘λκ° λμ§μμ λ°λ‘ μ§ννμ§ μμμ§λ§, νλ‘μ νΈ νλ°λΆμ κ°μλ‘ SDDλ₯Ό μ§ννμΌλ©΄ ν¨μ¬ λμλμ κ±°λ μκ°μ΄ λ€μλ€.
apiλ₯Ό ν΅ν΄ νμν λ°μ΄ν°λ₯Ό μ 립νκ³ , κ° νλ©΄ λ¨μμ μ΄λ€ λ°μ΄ν°κ° νμνμ§ μ€ν€λ§ ν
μ΄λΈλ‘ μ 리νλ μμ
μ΄ λν΄μ‘λ€λ©΄ νλ°λΆμμ λ°μ΄ν°λ₯Ό μ μ νλ μκ°μ΄ λ¨μΆλμ κ²μ΄λΌ μκ°λλ€.
νκ³
BDD, SDDμ κ°μ κ°λ° λ°©λ²μ λ°°μ΄ κ² λμμ΄ λ§μ΄ λμλ€. λ§μ°νκ² TDD, BDD, SDD λ±μ λν΄μλ λ€μ΄λ΄€μ§λ§ μ΄λ κ² μ§μ μ μ©νμ¬ νμ μ ν΄λ³΄λ νμ€ν κ°μΈμ΄ λ κ² κ°λ€. λ€μ μ§ννκ² λ νλ‘μ νΈμλ μ΄λ₯Ό μ μ©μμΌμ ν΄λ³Ό μ μκ² λ€λ μκ°μ΄ λ€μλ€. μ΄μ κΈ°νμ μκ°μ λμ΄ λκ³ μ¨μ ν κ°λ° μκ°μ΄ λ¨μλ€! π―