์๊ตฌ์ฌํญ
์ด๋ค ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ํ์ํ ์กฐ๊ฑด, ์ ์ฝ์ฌํญ์ ์๊ตฌ
SW ๊ฐ๋ฐ/์ ์ง ๋ณด์ ๊ณผ์ ์ ํ์ํ ๊ธฐ์ค๊ณผ ๊ทผ๊ฑฐ๋ฅผ ์ ๊ณต
- ์๊ตฌ์ฌํญ์ ์ ํ
- ๊ธฐ๋ฅ์ ์๊ตฌ์ฌํญ
- ๋น๊ธฐ๋ฅ์ ์๊ตฌ์ฌํญ: ์ฑ๋ฅ, ๋ณด์, ํ์ง, ์์ ์ฑ ๋ฑ ๊ธฐ๋ฅ์ ๋ถ๊ฐ์ ์ธ ๊ฒ
- ์๊ตฌ์ฌํญ ๊ฐ๋ฐ ํ๋ก์ธ์ค
- ๋์ถ/์ถ์ถ : ์ดํด๊ด๊ณ์ ๊ฐ ์๊ตฌ์ฌํญ์ ์ ์ (์๋ณ ๋ฐ ์ดํด)
- ์ธํฐ๋ทฐ, ์ค๋ฌธ, ๋ธ๋ ์ธ์คํ ๋ฐ, ์ฒญ์ทจ, ํ๋กํ ํ์ดํ, ์ ์ค์ผ์ด์ค
- ๋ถ์: ์ฌ์ฉ์ ์๊ตฌ์ฌํญ์ ํ๋น์ฑ ์กฐ์ฌ ๋ฐ ๋น์ฉ ๋ฐ ์ผ์ ์ ๋ํ ์ ์ฝ ์ค์
- ๊ด์ฐฐ, ๊ฐ๋ ๋ชจ๋ธ๋ง, ์ ํ ๋ถ์, ์๊ตฌ์ฌํญ ์ ์ ๋ฌธ์ํ
- ๋ช ์ธ: ์๊ตฌ์ฌํญ์ ์ฒด๊ณ์ ์ผ๋ก ๋ถ์ ํ '์น์ธ๊ฐ๋ฅํ๋๋ก ๋ฌธ์ํ'
- ํ์ธ/๊ฒ์ฆ : ๋ช ์ธ์๋ฅผ ๊ฒํ
- ๋์ถ/์ถ์ถ : ์ดํด๊ด๊ณ์ ๊ฐ ์๊ตฌ์ฌํญ์ ์ ์ (์๋ณ ๋ฐ ์ดํด)
- ์๊ตฌ์ฌํญ ๋ถ์ ๋๊ตฌ
- ์๊ตฌ์ฌํญ ๋ถ์ CASE(Computer Aided SW Engineering)
- SADT : ๊ตฌ์กฐ์ ๋ถ์ ๋ฐ ์ค๊ณ ๋ถ์, ๋ธ๋ก ๋ค์ด์ด ๊ทธ๋จ
- SREM : ์ค์๊ฐ ์ฒ๋ฆฌ ์์คํ ์์ ์๊ตฌ์ฌํญ์ ๋ช ํํ๊ฒ ๊ธฐ์
- PSL/PSA : ๋ฌธ์ ๊ธฐ์ ์ธ์ด/์๊ตฌ์ฌํญ ๋ถ์ ๋ณด๊ณ ์ ์ถ๋ ฅ
- TAGS: ์์คํ ๊ณตํ ๋ฐฉ๋ฒ ์์ฉ์ ๋ํ ์๋ ์ ๊ทผ, ๊ฐ๋ฐ ์ฃผ๊ธฐ ์ ๊ณผ์ ์ ์ด์ฉ ๊ฐ๋ฅ
- ์๊ตฌ์ฌํญ ๋ถ์ CASE(Computer Aided SW Engineering)
๊ตฌ์กฐ์ ๋ถ์ ๋ชจ๋ธ
- ๋ฐ์ดํฐ/์๋ฃ ํ๋ฆ๋ (DFD, Data Flow Diagram)
- ์ - ํ๋ก์ธ์ค
- ํ์ดํ - ํ๋ฆ
- ํํ์ - ์๋ฃ ์ ์ฅ์ (DB, Memory)
- ๋จ๋ง - Terminator (done)
- ์๊ฐ ํ๋ฆ์ ๋ช ํํ๊ฒ ํํํ ์ ์์ ๋ฒ๋ธ ์ฐจํธ๋ผ๊ณ ๋ ๋ถ๋ฅธ๋ค.
+-----------------+ +-----------------+
| External Entity |-->--| Process |-->--[Data Store]
+-----------------+ +-----------------+
^
|
+-----------------+
| Data Flow |
+-----------------+
- ์๋ฃ ์ฌ์ (DD, Data Dictionary)
- ์๋ฃ ํ๋ฆ๋์ ๋ด์ฉ์ ์์ธ ์ ์/์์ธ ์ค๋ช
- [] : ์ ํ
- () : ์๋ต
- {} : ๋ฐ๋ณต
- + : ๊ตฌ์ฑ
- = : ์ ์
- ** : ์ฃผ์
- DFD์ ์๋จ์ ๋ช ์ธ์์ด๋ฉฐ ERD์ STD์ ๊ฐ์ด ์ฌ์ฉ๋๋ค.
External Entity: ๊ณ ๊ฐ(Customer)
Process: ์ฃผ๋ฌธ ์ฒ๋ฆฌ(Order Processing)
Data Store: ์ฃผ๋ฌธ ๋ฐ์ดํฐ๋ฒ ์ด์ค(Order Database)
Data Flow: ์ฃผ๋ฌธ ์์ฒญ(Order Request)
- ERD
+----------------+ +----------------+
| Customer |-----| Order |
|----------------| 1 |----------------|
| CustomerID | | OrderID |
| Name | | CustomerID |
| Address | | OrderDate |
+----------------+ +----------------+
- STD
+-------------+ +-------------+ +-------------+
| ์ํ: ๋๊ธฐ |----| ์ด๋ฒคํธ: ์ฃผ๋ฌธ |----| ์ํ: ์ฒ๋ฆฌ ์ค |
+-------------+ +-------------+ +-------------+
|
+-------------+
| ์ด๋ฒคํธ: ์ทจ์ |
+-------------+
|
+-------------+
| ์ํ: ์ทจ์๋จ |
+-------------+
๊ฐ์ฒด์งํฅ ๋ถ์ ๋ชจ๋ธ
- Booch(๋ถ์น) : ๋ฏธ์์ , ๊ฑฐ์์ ๊ฐ๋ฐ ํ๋ก์ธ์ค๋ฅผ ๋ชจ๋ ์ฌ์ฉํด์ ํด๋์ค ๋ถ์ ๋ฐ ์๋ณ ๊ฑฐ์์
๊ฑฐ์์
+---------------------------+
| ์จ๋ผ์ธ ๋์ ํ๋งค ์์คํ
|
+---------------------------+
| ์ฌ์ฉ์ ์ธํฐํ์ด์ค |
| ์ฃผ๋ฌธ ์ฒ๋ฆฌ ์์คํ
|
| ๊ฒฐ์ ์์คํ
|
| ๋ฐ์ดํฐ๋ฒ ์ด์ค |
+---------------------------+
๋ฏธ์์
Class: User
Attributes: userID, name, email, password
Methods: register(), login(), updateProfile()
Class: Book
Attributes: bookID, title, author, price
Methods: addBook(), updateBook(), deleteBook()
Class: Order
Attributes: orderID, userID, bookID, orderDate, status
Methods: createOrder(), updateOrder(), cancelOrder()
- Jacobson(์ ์ด์ฝฅ์จ): Use Case๋ฅผ ์ฌ์ฉ (์ฌ์ฉ์์ ์ธ๋ถ ์์คํ ์ด ์์คํ ๊ณผ ์ํธ ์์ฉ)
์ฌ์ฉ์ ๊ธฐ๋ฅ ๋ช
์ธ
+---------------------------+
| ์จ๋ผ์ธ ๋์ ํ๋งค ์์คํ
|
+---------------------------+
| 1. ์ฑ
๊ฒ์ |
| 2. ์ฑ
์ฃผ๋ฌธ |
| 3. ๊ฒฐ์ ์ฒ๋ฆฌ |
| 4. ์ฃผ๋ฌธ ํ์ธ |
+---------------------------+
์ ์ค์ผ์ด์ค
+------------+
| ์ฌ์ฉ์ |
+------------+
|
v
+---------------------------+
| ์จ๋ผ์ธ ๋์ ํ๋งค ์์คํ
|
+---------------------------+
| 1. ์ฑ
๊ฒ์ |
| 2. ์ฑ
์ฃผ๋ฌธ |
| 3. ๊ฒฐ์ ์ฒ๋ฆฌ |
| 4. ์ฃผ๋ฌธ ํ์ธ |
+---------------------------+
- Coad-Yourdon : E-R ๋ค์ด์ด๊ทธ๋จ, ๊ฐ์ฒด์ ํ์
E-R ๋ค์ด์ด๊ทธ๋จ
+------------+ +------------+ +------------+
| User | | Book | | Order |
+------------+ +------------+ +------------+
| userID | <--------- | bookID | <--------| orderID |
| name | 1 : M | title | N : M | userID |
| email | | author | | bookID |
| password | | price | | orderDate |
+------------+ +------------+ | status |
+------------+
- Wirfs-Brock : ๋ถ์, ์ค๊ณ ๊ฐ ๊ตฌ๋ถ์ด ์๋ค. ๊ณ ๊ฐ ๋ช ์ธ์ ํ๊ฐ ํ ์ค๊ณ ์์ ๊น์ง ์ํ
+---------------------------+
| ๊ณ ๊ฐ ๋ช
์ธ์ ํ๊ฐ ํ ์ค๊ณ |
+---------------------------+
| - ์ฑ
๊ฒ์ ๊ธฐ๋ฅ |
| - ์ฑ
์ฃผ๋ฌธ ๊ธฐ๋ฅ |
| - ๊ฒฐ์ ์ฒ๋ฆฌ ๊ธฐ๋ฅ |
| - ์ฃผ๋ฌธ ํ์ธ ๊ธฐ๋ฅ |
+---------------------------+
- Rumbaugh (๋ผ๋ฐ์ฐ) : ๊ฐ์ฅ ์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉํ๋ค. ๊ฐ์ฒด/๋์ /๊ธฐ๋ฅ ๋ชจ๋ธ
- ๊ฐ์ฒด ๋ชจ๋ธ๋ง -> Object Diagram ๊ฐ์ฒด ๊ฐ์ ๊ด๊ณ
- ๋์ ๋ชจ๋ธ๋ง -> Dynamic, ์ํ ๋ค์ด์ด๊ทธ๋จ / ์์คํ ์ ๋์ ์ธ ํ์
- ๊ธฐ๋ฅ ๋ชจ๋ธ๋ง -> ์๋ฃ ํ๋ฆ๋ DFD / ๋ค์์ ํ๋ก์ธ์ค ์ฒ๋ฆฌ ๊ณผ์
๊ฐ์ฒด ๋ชจ๋ธ๋ง
+------------+ +------------+ +------------+
| User | | Book | | Order |
+------------+ +------------+ +------------+
| userID | <--------- | bookID | <--------- | orderID |
| name | 1 : N | title | N : M | userID |
| email | | author | | bookID |
| password | | price | | orderDate |
+------------+ +------------+ | status |
+------------+
๋์ ๋ชจ๋ธ๋ง
[Order Created] --> [Order Confirmed] --> [Order Shipped] --> [Order Delivered]
| | | |
v v v v
[Order Cancelled] [Payment Failed] [Order Returned] [Order Completed]
๊ธฐ๋ฅ ๋ชจ๋ธ๋ง
+-----------------+
| Search Books |
+-----------------+
|
v
+-----------------+ +-----------------+
| Select Book | <---> | Add to Cart |
+-----------------+ +-----------------+
|
v
+-----------------+ +-----------------+
| Create Order | <---> | Payment Process |
+-----------------+ +-----------------+
|
v
+-----------------+
| Confirm Order | ---> [ Data Stroe ]
+-----------------+
- ์๊ตฌ์ฌํญ ๋ช
์ธ
- ์ ํ ๋ช
์ธ
- ์ํ์ ์๋ฆฌ
- ์ ํํ๊ณ ๊ฐ๊ฒฐํ ์๊ตฌ์ฌํญ์ด ํํ ๋จ
- ๋์ ์ด๋ ค์์ ์ฌ์ฉ์๊ฐ ์ดํดํ๊ธฐ ์ด๋ ค์
- ๋น์ ํ ๋ช
์ธ
- ์์ฐ์ด๋ ๊ทธ๋ฆผ ์ค์ฌ
- ์์ฌ์ํต์ ์ฉ์ดํ๋ ์ผ๊ด์ฑ์ด ์์
- ์ ํ ๋ช
์ธ
'์๊ฒฉ์ฆ > ์ ๋ณด์ฒ๋ฆฌ๊ธฐ์ฌ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์ค๊ธฐ] ์ ๋ณด์ฒ๋ฆฌ๊ธฐ์ฌ 23๋ 1ํ ๊ธฐ์ถ ์ค๋ต๋ ธํธ (1) | 2024.07.26 |
---|---|
[์ค๊ธฐ] ์ํํธ์จ์ด ๊ตฌ์ถ - ์ํํธ์จ์ด ์ค๊ณ (0) | 2024.07.25 |
[์ค๊ธฐ] ์ํํธ์จ์ด ๊ตฌ์ถ - ํ๋ก์ ํธ ๊ณํ (0) | 2024.07.25 |
[์ค๊ธฐ] ์ํํธ์จ์ด ๊ตฌ์ถ - SW ์ค๊ณ (0) | 2024.07.25 |
์ ๋ณด์ฒ๋ฆฌ๊ธฐ์ฌ ํ๊ธฐ ํฉ๊ฒฉ (0) | 2024.02.22 |