Study & Certification/μ •λ³΄μ²˜λ¦¬κΈ°μ‚¬ 곡뢀기둝

[240713] μ£Όμš” UML λ‹€μ΄μ–΄κ·Έλž¨ (μœ μŠ€μΌ€μ΄μŠ€ λ‹€μ΄μ–΄κ·Έλž¨, 클래슀 λ‹€μ΄μ–΄κ·Έλž¨, 순차 λ‹€μ΄μ–΄κ·Έλž¨)

jennnnna 2024. 7. 13. 10:52

μœ μŠ€μΌ€μ΄μŠ€ (Use Case) λ‹€μ΄μ–΄κ·Έλž¨ 

개발될 μ‹œμŠ€ν…œκ³Ό κ΄€λ ¨λœ μ™ΈλΆ€ μš”μ†Œλ“€, 즉 μ‚¬μš©μžμ™€ λ‹€λ₯Έ μ™ΈλΆ€ μ‹œμŠ€ν…œλ“€μ΄ 개발될 μ‹œμŠ€ν…œμ„ μ΄μš©ν•΄ μˆ˜ν–‰ν•  수 μžˆλŠ” κΈ°λŠ₯을
μ‚¬μš©μžμ˜ κ΄€μ μ—μ„œ ν‘œν˜„ν•œ 것. 
- μ™ΈλΆ€ μš”μ†Œμ™€ μ‹œμŠ€ν…œ κ°„μ˜ μƒν˜Έμž‘μš© 확인 κ°€λŠ₯
- μ‚¬μš©μžμ˜ μš”κ΅¬ 사항을 λΆ„μ„ν•˜κΈ° μœ„ν•œ λ„κ΅¬λ‘œ μ‚¬μš©λœλ‹€. 
- μ‹œμŠ€ν…œμ˜ λ²”μœ„λ₯Ό νŒŒμ•…ν•  수 μžˆλ‹€. 

좜처 μœ„ν‚€ν”Όλ””μ•„, Lucid chart

 

유슀 μΌ€μ΄μŠ€ λ‹€μ΄μ–΄κ·Έλž¨μ˜ ꡬ성 μš”μ†Œ 
μ‹œμŠ€ν…œ λ²”μœ„, μ•‘ν„°, μœ μŠ€μΌ€μ΄μŠ€, 관계 

μ‹œμŠ€ν…œ / μ‹œμŠ€ν…œ λ²”μœ„ μ‹œμŠ€ν…œ λ‚΄λΆ€μ—μ„œ μˆ˜ν–‰λ˜λŠ” κΈ°λŠ₯듀을 μ™ΈλΆ€μ‹œμŠ€ν…œκ³Ό κ΅¬λΆ„ν•˜κΈ° μœ„ν•΄ μ‹œμŠ€ν…œ λ‚΄λΆ€μ˜ μœ μŠ€μΌ€μ΄μŠ€λ“€μ„ μ‚¬κ°ν˜•μœΌλ‘œ λ¬Άμ–΄μ„œ μ‹œμŠ€ν…œμ˜ λ²”μœ„ ν‘œν˜„ν•¨. 
μ•‘ν„° (Actor)  μ‹œμŠ€ν…œκ³Ό μƒν˜Έμž‘μš©ν•˜λŠ” λͺ¨λ“  μ™ΈλΆ€ μš”μ†Œ, μ‚¬λžŒμ΄λ‚˜ μ™ΈλΆ€ μ‹œμŠ€ν…œ
μ£Όμ•‘ν„°: 주둜 μ‚¬λžŒ, μ‹œμŠ€ν…œ μ‚¬μš©μœΌλ‘œλΆ€ν„° 이득을 μ–»λŠ” μ‚¬λžŒλ“€ 
λΆ€μ•‘ν„°: μ£Όμ•‘ν„° λͺ©μ  달성을 μœ„ν•΄ μ‹œμŠ€ν…œμ— μ„œλΉ„μŠ€λ₯Ό μ œκ³΅ν•˜λŠ” μ™ΈλΆ€ μ‹œμŠ€ν…œ, μ‘°μ§μ΄λ‚˜ κΈ°κ΄€. (μ½”λ‘œλ‚˜ κ΄€λ ¨ μ•± - μ§ˆλ³‘κ΄€λ¦¬λ³ΈλΆ€ ? ) 
유슀 μΌ€μ΄μŠ€ (use case) μ‚¬μš©μžκ°€ λ³΄λŠ” κ΄€μ μ—μ„œ μ‹œμŠ€ν…œμ΄ μ•‘ν„°μ—κ²Œ μ œκ³΅ν•˜λŠ” μ„œλΉ„μŠ€ λ˜λŠ” κΈ°λŠ₯을 ν‘œν˜„ν•œ 것. 
관계 (relationship)  앑터와 μœ μŠ€μΌ€μ΄μŠ€, μœ μŠ€μΌ€μ΄μŠ€μ™€ μœ μŠ€μΌ€μ΄μŠ€ / μ—°κ΄€ 관계, 포함관계, ν™•μž₯관계, μΌλ°˜ν™” 관계λ₯Ό ν‘œν˜„ν•  수 있음

 

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

μ‹œμŠ€ν…œμ„ κ΅¬μ„±ν•˜λŠ” 클래슀, 클래슀의 속성, μ˜€νΌλ ˆμ΄μ…˜, 이듀에 λŒ€ν•œ μ œμ•½μ‘°κ±΄, 클래슀 사이에 관계λ₯Ό λ‚˜νƒ€λ‚Έκ²ƒ.
- 클래슀 λ‹€μ΄μ–΄κ·Έλž¨μ€ μ‹œμŠ€ν…œμ„ κ΅¬μ„±ν•˜λŠ” μš”μ†Œμ— λŒ€ν•΄ 이해할 수 μžˆλŠ” ꡬ쑰적 λ‹€μ΄μ–΄κ·Έλž¨
- 클래슀 λ‹€μ΄μ–΄κ·Έλž¨μ€ μ‹œμŠ€ν…œ ꡬ성 μš”μ†Œλ₯Ό λ¬Έμ„œν™”ν•˜λŠ”λ° μ‚¬μš©λœλ‹€. 
- 코딩에 ν•„μš”ν•œ 객체의 속성, ν•¨μˆ˜ λ“±μ˜ 정보λ₯Ό ν‘œν˜„ν•˜κ³  μžˆμ–΄μ„œ μ‹œμŠ€ν…œ λͺ¨λΈλ§ν• λ•Œ 자주 μ‚¬μš©λœλ‹€. (μ½”λ”©ν• λ•Œ νŽΈν•  것 κ°™λ‹€) 

클래슀 λ‹€μ΄μ–΄κ·Έλž¨ ꡬ성 μš”μ†Œ 

클래슀 (Class)  - 각각 객체가 κ°–λŠ” 속성과 μ˜€νΌλ ˆμ΄μ…˜ (ν•¨μˆ˜, λ©”μ†Œλ“œ) ν‘œν˜„ν•¨
- 일반적으둜 3개의 ꡬ획 (Compartment) 으둜 λ‚˜λˆ  클래슀 이름, 속성, μ˜€νΌλ ˆμ΄μ…˜ ν‘œκΈ°
μ œμ•½μ‘°κ±΄  - 속성에 μž…λ ₯될 값에 λŒ€ν•œ μ œμ•½μ‘°κ±΄, μ˜€νΌλ ˆμ΄μ…˜ μˆ˜ν–‰ μ „ 후에 μ§€μ •ν•΄μ•Ό ν•  쑰건듀 ν‘œκΈ°
관계 (Relationship) - ν΄λž˜μŠ€μ™€ 클래슀 μ‚¬μ΄μ˜ μ—°κ΄€μ„± ν‘œν˜„
- λ‹€μ΄μ–΄κ·Έλž¨μ— ν‘œν˜„ν•˜λŠ” κ΄€κ³„μ—λŠ” μ—°κ΄€ 관계, μ§‘ν•©, 포함, μΌλ°˜ν™” μ‚¬μš©λ¨. 

좜처: λ§ˆμ΄ν¬λ‘œμ†Œν”„νŠΈ

순차 (Sequence) λ‹€μ΄μ–΄κ·Έλž¨ 

μ‹œμŠ€ν…œμ΄λ‚˜ 객체듀이 λ©”μ‹œμ§€λ₯Ό μ£Όκ³  λ°›μœΌλ©° μ‹œκ°„μ˜ 흐름에 따라 μƒν˜Έμž‘μš©ν•˜λŠ” 과정을 μ•‘ν„°, 객체, λ©”μ‹œμ§€ λ“±μ˜ μš”μ†Œλ₯Ό μ‚¬μš©ν•΄ 그림으둜 ν‘œν˜„ν•œ 것. 
- μ‹œμŠ€ν…œμ΄λ‚˜ 객체듀이 μƒν˜Έμž‘μš© 과정을 톡해 μ£Όκ³  λ°›λŠ” λ©”μ‹œμ§€λ₯Ό ν‘œν˜„ν•œλ‹€. 
- 각 λ™μž‘μ— μ°Έμ—¬ν•˜λŠ” μ‹œμŠ€ν…œμ΄λ‚˜ κ°μ²΄λ“€μ˜ μˆ˜ν–‰ 기간을 확인할 수 μžˆλ‹€. 
- 클래슀 내뢀에 μžˆλŠ” 객체듀을 κΈ°λ³Έ λ‹¨μœ„λ‘œ ν•˜μ—¬, κ·Έλ“€μ˜ μƒν˜Έμž‘μš©μ„ ν‘œν˜„ν•œλ‹€. 
- 주둜 κΈ°λŠ₯ λͺ¨λΈλ§μ—μ„œ μž‘μ„±ν•œ μœ μŠ€μΌ€μ΄μ„œ λͺ…μ„Έμ„œλ₯Ό ν•˜λ‚˜μ˜ ν‘œν˜„λ²”μœ„λ‘œ ν•˜μ§€λ§Œ, ν•˜λ‚˜μ˜ ν΄λž˜μŠ€μ— ν¬ν•¨λœ λ©”μ†Œλ“œ ν•˜λ‚˜λ₯Ό λ²”μœ„λ‘œ ν‘œν˜„ν•˜κΈ°λ„ ν•œλ‹€. 

순차 λ‹€μ΄μ–΄κ·Έλž¨ ꡬ성 μš”μ†Œ

μ•‘ν„° (Actor) μ‹œμŠ€ν…œμœΌλ‘œλΆ€ν„° μ„œλΉ„μŠ€λ₯Ό μš”μ²­ν•˜λŠ” μ™ΈλΆ€ μš”μ†Œ, μ‚¬λžŒμ΄λ‚˜ μ™ΈλΆ€ μ‹œμŠ€ν…œ
객체 (Object) λ©”μ‹œμ§€λ₯Ό μ£Όκ³  λ°›λŠ” 주체 

생λͺ…μ„  (Lifeline) 객체가 λ©”λͺ¨λ¦¬μ— μ‘΄μž¬ν•˜λŠ” κΈ°κ°„, 객체 μ•„λž˜μͺ½μ— 점선을 κ·Έμ–΄ ν‘œν˜„
μ‹€ν–‰ μƒμž (Active box) 객체가 λ©”μ‹œμ§€λ₯Ό μ£Όκ³  λ°›μœΌλ©° κ΅¬λ™λ˜κ³  μžˆμŒμ„ ν‘œν˜„
λ©”μ‹œμ§€ (Message) 객체가 μƒν˜Έμž‘μš©μ„ μœ„ν•΄ μ£Όκ³  λ°›λŠ” λ©”μ‹œμ§€

좜처: Research Gate