โป ์ด ์นดํ ๊ณ ๋ฆฌ์ ๊ธ๋ค์ knu HK.Lee ๊ต์๋์ <์ํํธ์จ์ด ์ค๊ณ> ์์ ์ ๋ฃ๊ณ ํ์๊ฐ ๋๋ฆ๋๋ก ์ ๋ฆฌํ ๊ธ์ ๋๋ค.
โป ๋ถ์กฑํ ์ค๋ช ์ด ์๊ฑฐ๋, ์๋ชป ์๊ณ ์์ฑํ ๋ถ๋ถ์ด ๋ณด์ธ๋ค๋ฉด ๋๊ธ๋ก ์๋ ค์ฃผ์๋ฉด ๊ฐ์ฌํ๊ฒ ์ต๋๋ค๐
ํ์ต ๋ชฉ์ฐจ
- ์กํฐ๋นํฐ ๋ค์ด์ด๊ทธ๋จ(Activity Diagrams)์ ๊ท์น๊ณผ ์คํ์ผ ๊ฐ์ด๋๋ผ์ธ์ ์ดํดํฉ๋๋ค.
- ์ ์ค์ผ์ด์ค์ ์ ์ค์ผ์ด์ค ๋ค์ด์ด๊ทธ๋จ(Use Cases and Use Case Diagrams)์ ๊ท์น๊ณผ ์คํ์ผ ๊ฐ์ด๋๋ผ์ธ์ ์ดํดํฉ๋๋ค.
- ์ ์ค์ผ์ด์ค์ ์ ์ค์ผ์ด์ค ๋ค์ด์ด๊ทธ๋จ์ ์์ฑํ๋ ๊ณผ์ ์ ์ดํดํฉ๋๋ค.
- ์กํฐ๋นํฐ ๋ค์ด์ด๊ทธ๋จ, ์ ์ค์ผ์ด์ค, ์ ์ค์ผ์ด์ค ๋ค์ด์ด๊ทธ๋จ์ ์ฌ์ฉํ์ฌ ๊ธฐ๋ฅ์ ๋ชจ๋ธ(Functional Models)์ ๋ง๋ค ์ ์๋๋ก ํฉ๋๋ค.
UseCase Diagram์ด๋?
์ ์ค์ผ์ด์ค ๋ค์ด์ด๊ทธ๋จ์ ์ฌ์ฉ์์ ํ๋ก๊ทธ๋จ ๊ฐ์ ๊ด๊ณ๋ฅผ ๋ช ์ธํ๋ค
์ ์ค์ผ์ด์ค ๋ค์ด์ด๊ทธ๋จ์ ์์คํ ๊ณผ ์ฌ์ฉ์์ ์ํธ์์ฉ์ ๋ช ์ธํ ๋ค์ด์ด๊ทธ๋จ์ผ๋ก, ์ฌ์ฉ์์ ๊ด์ ์์ ์์คํ ์ ์๋น์ค, ๊ธฐ๋ฅ, ์ธ๋ถ์์ ๊ด๊ณ์ ๋ํ์ฌ ๋ค์ด์ด๊ทธ๋จ์ผ๋ก ํํํ ๊ฒ์ ์๋ฏธํฉ๋๋ค.
์ ์ค์ผ์ด์ค ๋ค์ด์ด๊ทธ๋จ์์๋ ์ฌ์ฉ์๊ฐ ์์คํ ์ ์ฌ์ฉํ ๋, ์์คํ ๊ณผ ์ํธ์์ฉ ํ๊ฒ ๋๋ ๊ด๊ณ๋ฅผ ๋ํ๋์ผ๋ก์จ ํ๋ก๊ทธ๋๋ฐ ์ ์ฌ์ฉ์๊ฐ ์์คํ ๋ด๋ถ์ ๊ธฐ๋ฅ ์ค ์ด๋ค ๊ธฐ๋ฅ์ ์ฌ์ฉํ ์ ์์ด์ผ ํ๋์ง, ์์คํ ์ ์ด๋ค ๊ธฐ๋ฅ์ ๊ฐ์ ธ์ผ ํ๋์ง ํ์ ํ์ฌ ๊ณ ๊ฐ๊ณผ ๊ฐ๋ฐ์ ๊ฐ์ ์๊ตฌ์ฌํญ์ ๋ํ ์๊ฒฌ์ ์กฐ์จ ํ ์ ์๋๋ก ํฉ๋๋ค.
UseCase Diagram์ ๊ตฌ์ฑ์์: system, actor, usecase, relation
1. System
๋ค์ด์ด๊ทธ๋จ์ผ๋ก ๋ํ๋ด๋ ค ํ๋ ํ๋ก๊ทธ๋จ
๋ช ์ธํ ํ๋ ค๋ ํ๋ก๊ทธ๋จ์ ๋ปํ๋ฉฐ, ์ธ๋ถ์์ ์กํฐ๊ฐ ๋ฐ๋ผ๋ณด๋ ํ๋ก๊ทธ๋จ๊ณผ ๊ทธ ๋ด๋ถ์ ๋์๋ค์ ํ๋์ ์์ญ์ผ๋ก ํ์ํฉ๋๋ค.
- ex) ATM ์์คํ , ํ๊ต ์๋ฒ ์์คํ ๋ฑ
2. Actor
์์คํ ์ธ๋ถ์ ์กด์ฌํ๋ฉฐ ์์คํ ๊ณผ ์ํธ์์ฉ์ ํ๋ ๋ชจ๋ ๊ฒ
์กํฐ๋ ์์คํ ๊ณผ ์ํธ์์ฉ(Interaction)์ ํ๋ ์์คํ ์ธ๋ถ์ ์กด์ฌ๋ฅผ ์๋ฏธํ๋ฉฐ, ๋๊ฒ ์์คํ ์ ์ฌ์ฉํ๋ ์ฌ์ฉ์์, ์์คํ ์ ์ฌ์ฉํจ์ผ๋ก์ ์ํธ์์ฉ๋๋ ๋ค๋ฅธ ์์คํ ์ด ์กํฐ๊ฐ ๋ ์ ์์ต๋๋ค.
3. UseCase
์์คํ ์ด ์ ๊ณตํ๋ ๊ฐ๋ณ์ ์ธ ๊ธฐ๋ฅ
์ ์ค์ผ์ด์ค๋ ์ฌ์ฉ์์ ์ ์ฅ์์ ๋ฐ๋ผ๋ณธ ์์คํ ์ ์ถ์์ ์ธ ๊ธฐ๋ฅ์ผ๋ก ์์คํ ์ ์๊ตฌ์ฌํญ์ ๋ํ๋ ๋๋ค. ํ๋์ ์ ์ค์ผ์ด์ค๋ ์ฌ์ฉ์๊ฐ ์ธ์งํ ์ ์๋ ํ๋์ ๋จ์ ์ํธ์์ฉ ์ด๋ฉฐ ์ฃผ๋ก ํ์ํ์ผ๋ก ํ๊ธฐํ๊ณ , ์ด๋ฆ์ ์ํํ๋ ์ํธ์์ฉ์ ๋จ์๋ช ๋ฃํ๊ฒ ๊ธฐ์ ํฉ๋๋ค.
- ex) ATM ์์คํ ์์์ ์์คํ ๊ตฌ๋, ์ฌ์ฉ์ ์ธ์ฆ, ํธ๋์ญ์ ๋ฑ
4. Relation
์กํฐ์ ์ ์ค์ผ์ด์ค, ์ ์ค์ผ์ด์ค ์ฌ์ด์ ๊ด๊ณ
๊ด๊ณ๋ ์กํฐ๊ฐ ๊ฐ ์ ์ค์ผ์ด์ค์ ์ํธ์์ฉํ๋ ๊ด๊ณ, ์ ์ค์ผ์ด์ค์ ์ ์ค์ผ์ด์ค๊ฐ ๊ฐ๊ฐ ์ํธ์์ฉํ๋ ๊ด๊ณ๋ฑ์ ๋ํ๋ด๋ฉฐ ํฌํจ(Include)๊ณผ ํ์ฅ(Extend)์ผ๋ก ๋๋ ์ง๋๋ค.
4-1) ํฌํจ ๊ด๊ณ
ํ๋์ ์ ์ค์ผ์ด์ค๊ฐ ์ฐ๊ด๋ ๋ค๋ฅธ ์ ์ค์ผ์ด์ค๊ฐ ๋ฐ๋์ ์คํ ๋์ด์ผ ๋์ํ๋ ๊ด๊ณ๋ฅผ ๋ํ๋ ๋๋ค. ์๋ฅผ ๋ค์ด ์ํ์ ์ฃผ๋ฌธ ๋ณ๊ฒฝํ๊ธฐ ์ํด์๋ ๋ฐ๋์ ์ฃผ๋ฌธ ์ฐพ๊ธฐ๋ฅผ ํด์ผ ํฉ๋๋ค.
4-2) ํ์ฅ ๊ด๊ณ
์ด๋ค ์ ์ค์ผ์ด์ค๊ฐ ๋ถ๊ฐ์ ์ธ ์ ์ค์ผ์ด์ค๋ฅผ ์คํ ํ ์ ์๋ ๊ด๊ณ๋ฅผ ๋ํ๋ ๋๋ค. ์๋ก ๋จ๊ณจ ๊ณ ๊ฐ ํ ์ธ ๊ธฐ๋ฅ์ ์ฃผ๋ฌธ ๊ฒฐ์ฌ๋ฅผ ํ ์ ์์ต๋๋ค.
UseCase Description: UseCase์ ๋ํ ๋ช ์ธ ์์ฑ
UseCase ์์ฑ ์์
Step 1 : defining the system
Step 2 : finding actors
Step 3 : finding use cases
Step 4 : describing the use cases
Step 5 : defining the relationship between use cases
(include, extend)
'๐CS > ๐Software Design' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์ํํธ์จ์ด ์ค๊ณ] Activity Diagram (1) | 2024.10.20 |
---|---|
[์ํํธ์จ์ด ์ค๊ณ] ์ ์ฐจํ ํ๋ก๊ทธ๋๋ฐ vs ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ (0) | 2024.10.20 |
[์ํํธ์จ์ด ์ค๊ณ] 1์ฅ. Introduction to Systems Analysis and Design (0) | 2024.10.18 |
[์ํํธ์จ์ด ์ค๊ณ] 0์ฅ. Overview (0) | 2024.10.18 |