4. ៃិមិតតសញ្ញ
ា ររស់
DeMarco-Yourdon
សមាសធាតុ ៃិមិតតសញ្ញ
ា ររស់
Gane-Sarson
Data Flow
Data Store
Process
Entity/Agent
4
Data Data
Data Store’s Name
Data Store’s Name
Process
P.No
Process
P.No
Entity/Agent
Name
Entity/Agent
Name
5. អរថន័យរបស់សមាសធារុនើមួយៗមានែូចខាងច្ត្កាម៖
▪ Data Flow គឺជាដសេត្ពួញសំរាប់បញ្ជូ នេិននន័យពើសមាស
ធារុមួយ ច្ៅកាន់សមាសធារុមួយច្ផេងច្េៀរ។
▪ Data Store គឺជាកដនែងផទុកេិននន័យជានិរនត៍របស់ត្បព័នធ
ព័រ៌មាន ច្ោយវានឹងកា
ែ យច្ៅជា File ឬក៏ Table។
▪ Process គឺជាសកមមភាពឬែំច្ ើ រត្បរិបរតិកនុងការបំដលង
េិននន័យពើការបញ្េូ លច្ៅជាការបច្ញ្េញ។ Process នឹង
កា
ែ យច្ៅជា Sub procedure ឬក៏ Function។
5
8. ១.២. កបួៃច្បារ់ (Rules) របស់ DFD
ច្ែើមបើគូសែាត្កាមននលំហូរេិននន័យច្ោយបានត្រឹមត្រូវ
ច្យើងត្រូវច្គ្នរពតាមកបួនចាប់ែូចខាងច្ត្កាម៖
➢ ត្គប់េិននន័យាំងអស់ដែលត្រូវបញ្ជូ នតាមរយៈ Data Flow
ត្រូវសរច្សរកនុងេំរង់កច្នោមនាម។
Incorrect Correct
Order Item Ordered Item
Complete time sheet Completed time sheet
8
9. ➢ Process មួយមិនោចមានដរការបញ្េូ លឬការបច្ញ្េ ញច្នាេះ
ច្ ើយ មានន័យថាវាត្រូវមានាំងការបញ្េូ លផងនិងការ
បច្ញ្េញផង។
Incorrect Correct
9
Process
Process
Data
Data
Process
Data Data
10. ➢ Data Store មិនោចភា
ជ ប់េំនាក់េំនងច្ោយផ្ទ
ទ ល់ជាមួយនឹង
Data Store ច្ផេងច្េៀរឬ Entity/Agent ច្ ើយ។ មានន័យថា
វាត្រូវភា
ជ ប់ជាមួយនឹង Process យាងច្ោចណាស់មួយជាមុន
សិន ច្េើបោចភា
ជ ប់បនតពើ Process ច្ៅកាន់ Data Store ឬ
Entity/Agent។
Incorrect Correct
10
Process
Data Store1 Data Store2 Data Store1 Data Store2
Process
Data Store Data Store
Agent Agent
11. ➢ Entity/Agent មិនោចភា
ជ ប់េំនាក់េំនងច្ោយផ្ទ
ទ ល់ជាមួយ
នឹង Entity/Agent ច្ផេងច្េៀរឬ Data Store ច្ ើយ។ មាន
ន័យថាវាត្រូវភា
ជ ប់ជាមួយនឹង Process យាងច្ោចណាស់មួយ
ជាមុនសិន ច្េើបោចភា
ជ ប់បនតពើ Process ច្ៅកាន់
Entity/Agent ឬ Data Store ។
Incorrect Correct
11
Process
Process
Data Store
Agent1
Agent
Agent2
Agent
Agent1 Agent2
Data Store
12. ➢ Data Flow មិនោចមានេិសច្ៅច្ៅវ ិញច្ៅមកច្ ើយ មាន
ន័យថា ត្បសិនច្បើការបញ្ជូ នេិននន័យច្ៅវ ិញច្ៅមករវាង
Process ជាមួយនឹង Data Store ឬ Entity/Agent ច្នាេះ
ច្យើងត្រូវគូស Data Flow ពើរច្ផេងគ្ន
ន ។
Incorrect Correct
12
Process
Process
Agent
Data Store
Process
Agent
Process Data Store
13. ➢ ការបញ្ជូ នេិននន័យច្ផេងគ្ន
ន ចាប់ពើ២ច្ ើងច្ៅច្ែើមបើត្បរិបរតិកនុង
ច្ពលដរមួយ ច្នាេះច្យើងមិនោចគូស Data Flows ោច់ច្ចញ
ពើគ្ន
ន ច្ ើយ ច្ោយច្យើងត្រូវគូស Data Flow ដរមួយគរ់សំរាប់
បញ្ជូ នេិននន័យាំងច្នាេះ។ ឧាហរ ៍ ៖
13
Check
User
Cashier
username
password (Incorrect)
Check
User
Cashier username, password (Correct)
15. ❖ច្បំណ ំ៖
➢ច្ែើមបើងាយត្សួលកនុងការគូស Data Flow Diagram កុំច្ោយ
មានភាពសមុគសា
ម ញនិងពិបាកយល់ ច្នាេះច្យើងត្រូវអនុវរតតាម
ច្គ្នលការ ៍ ែូចខាងច្ត្កាម៖
▪ Data Flow មិនត្រូវគូសការ់គ្ន
ន ច្ ើយ។
▪ Entity/Agent ឬ Data Store មួយ ច្យើងោចគូស
ច្លើសពើមួយដែលសថិរច្ៅកនុង Data Flow Diagram
ដរមួយ ក៏បុដនតច្យើងត្រូវោក់ច្្
ម េះរបស់វាែូចគ្ន
ន ាំង
ត្សុង។
15
16. ➢ េំនាក់េំនងរវាង Process ជាមួយនឹង Data Store មានែូច
ខាងច្ត្កាម៖
16
Edit Data Store
AddNew
Data Store
Check Data Store
Delete Data Store
Calculate Data Store Create
Report
Data Store
Data Store2 Copy Data Store1
19. ❖Top-Level Diagram គឺជា Diagram ដែលបងា
ា ញនូវមុសងារ
សំខាន់ៗរបស់ត្បព័នធព័រ៌មាន។ Top-Level Diagram មាន
លកខ ៈែូចខាងច្ត្កាម៖
▪ មាន Main processes មួយចំនួនដែលរំណាងច្ោយមុស
ងារសំខាន់ៗរបស់ត្បព័នធព័រ៌មាន។
▪ មាន Data Stores ាំងឡាយដែលមានេំនាក់េំនងជាមួយ
នឹង Main processes ាំងច្នាេះតាមរយៈ Data Flow។
▪ មាន Agents ាំងឡាយដែលមានេំនាក់េំនងជាមួយនឹង
Main processes ាំងច្នាេះ តាមរយៈ Data Flow។
19
20. Top-Level Diagram មានត្េង់ត្ាយែូចខាងច្ត្កាម៖
20
Data Main
System
Function1
Agent1 Data
Data
Agent2 Data
Data
AgentN
Data
Main
System
Function2
Main
System
Function3
Data
Data
Data Store3
Data Store1
Data Store2
1.0
2.0
3.0
21. ❖Physical-Level (Detail) Diagram គឺជា Diagram ដែល
បងា
ា ញនូវសកមមភាពាំងអស់របស់ត្បព័នធព័រ៌មាន។
Physical-Level Diagram មានលកខ ៈែូចខាងច្ត្កាម៖
▪ មាន Processes ាំងឡាយដែលរំណាងច្ោយសកមមភាព
ននែំច្ ើ រត្បរិបរតិកនុងត្បព័នធព័រ៌មាន។ Process នើមួយៗ
នឹងកា
ែ យច្ៅជា Sub Procedure ឬ Function។
▪ មាន Data Stores ាំងឡាយដែលមានេំនាក់េំនងជាមួយ
នឹង Processes ាំងច្នាេះតាមរយៈ Data Flow។
▪ មាន Agents ាំងឡាយដែលមានេំនាក់េំនងជាមួយនឹង
Processes ាំងច្នាេះ តាមរយៈ Data Flow។
21
34. ២. Structured English ៖
Structured English គឺជា Algorithms ននែំច្ ើ រ
ត្បរិបរតិ ិ ជជកមម ដែលត្រូវបានសរច្សរច្ោយច្ត្បើត្បាស់នូវ
កយពិច្សស (Keyword) របស់ភាសាអង់ច្គែស ជាមួយនឹង
Control Structures កនុងេំរង់ននត្បូត្កាមណាមួយ ច្ែើមបើ
ព ៌ នាអំពើែំច្ ើ រត្បរិបរតិ ិ ជជកមម។
Structured English = English Keywords + Control
Structures
34
35. ❖ កយពិច្សស (Keyword) ននភាសាអង់ច្គែសដែលច្យើងោច
ច្ត្បើរួមមាន៖
▪ Input Data/Information (ការផតល់ព័រ៌មានពើ Agent)
▪ Read Data/Information From Source Data Store’s Name
Insert Into Destination Data Store’s Name (សំរាប់ Copy)
▪ Addnew/Insert Data/Information Into Data Store’s Name
▪ Edit/Update Data Store’s Name (Expression of Updating)
▪ GetValue/LookUp Data From Data Store’s Name
35
36. ▪ Create Message (Message Sentence) Send to Agent’s Name
▪ Check Data Store’s Name/Data
▪ Create Report’s Name For Agent’s Name
▪ Delete Information From Data Store’s Name
❖ Control Structures មួយចំនួនដែលច្យើងោចច្ត្បើមានែូច
ខាងច្ត្កាម៖
▪ If Condition Then
Process1
…
ProcessN
[ End If ]
36
37. ▪ If Condition Then
Process1
…
ProcessN
Else
Process1
…
ProcessN
[ End If ]
37
38. ▪ For Each Data/Information In Data Store’s Name
Process1
…
ProcessN
[End For]
▪ Do While Condition
Process1
…
ProcessN
[End Do]
38
39. ឧាហរ ៍ េើ១៖ តាមរយៈ DFD (Data Flow Diagram)
ដែលព ៌ នាអំពើសកមមភាពននការសងច្សៀវច្ៅ របស់អនកោន
កនុងបណា
ណ ល័យមួយ ច្យើងោចសរច្សរ Structured English
កនុងត្េង់ត្ាយែូចខាងច្ត្កាម៖
- Input ID Card, Returned Book
1. If Check ID Card = True Then
1.1. Create Invoice For READER
- Input Paid Amount
1.2. Addnew Paid Amount Into INCOME
39
40. 1.3. Read Borrowed Expired Information From
BORROWEXPIRE Insert Into RETURN
1.4. Delete Borrowed Expired Information
From BORROWEXPIRE
1.5. Update BOOK (StockQty = StockQty+1)
Else
1.1. Read Borrowed Information From
BORROW Insert Into RETURN
1.2. Delete Borrowed Information From BORROW
1.3. Update BOOK (StockQty = StockQty+1)
40
41. ឧាហរ ៍ េើ២៖ តាមរយៈ DFD (Data Flow Diagram) ដែល
ព ៌ នាអំពើសកមមភាពននការរកបនទប់សា
ន ក់ច្ៅរបស់ច្េញៀវ ច្យើងោច
សរច្សរ Structured English ែូចខាងច្ត្កាម៖
- Input CheckInDate, Duration, Roomtype
1. If Check Available Room = False Then
1.1. Create Message (“Not Available Room”)
Send to GUEST
Else
- Input Guest’s Information
1.1. If Check GUEST = False Then
1.1.1. Addnew Guest’s Information Into GUEST
41
42. 1.2. If CheckInDate > Date Then
1.2.1. Addnew Booking’s Information Into BOOKING
1.2.2. If CheckFreeStatus = True Then
1.2.2.1. Update ROOM (Status = “Booked”)
1.2.3. Create Booking Receipt For GUEST
- Input Prepaid
1.2.4. Addnew Prepaid Into INCOME
Else
1.2.1. Addnew CheckIn’s Information Into CHECKIN
1.2.2. Update ROOM (Status = “CheckIn”)
42
43. ឧាហរ ៍ េើ៣៖ តាមរយៈ DFD (Data Flow Diagram)
ដែលព ៌ នាអំពើសកមមភាពចំលងព័រ៌មានននការកក់បនទប់ាំង
ឡាយដែលត្រូវចូលសា
ន ក់ច្ៅ និងការចំលងព័រ៌មានននការសា
ន ក់
ច្ៅដែលែល់នថ្ៃត្រូវចាកច្ចញាំងឡាយ ច្យើងោចសរច្សរ
Structured English ែូចខាងច្ត្កាម៖
For Each Booking’s Information In BOOKING
1. If CheckInDate <= Date Then
1.1. Read Booking’s Information From BOOKING
Insert Into CHECKIN
1.2. Update ROOM (Status = “CheckIn”)
43
44. 1.3. Delete Booking’s Information From BOOKING
For Each CheckIn’s Information In CHECKIN
2. If CheckOutDate <= Date Then
2.1. Read CheckIn’s Information From CHECKIN
Insert Into CHECKINEXPIRE
2.2. If Check BOOKING = True Then
2.2.1. Update ROOM (Status = “Booked”)
Else
2.2.1. Update ROOM (Status = “Free”)
2.3. Delete CheckIn’s Information From CHECKIN
44
51. Rule No
Conditions
1 2 3 4 5 6 7 8
SavingAccount
FixedAccount
Riel
Dollar
3 Months
6 Months
12 Months
Y
N
Y
N
N
N
N
Y
N
N
Y
N
N
N
N
Y
Y
N
Y
N
N
N
Y
Y
N
N
Y
N
N
Y
Y
N
N
N
Y
N
Y
N
Y
Y
N
N
N
Y
N
Y
N
Y
N
N
Y
N
Y
N
N
Y
3%
4%
6%
8%
10%
X
X
X
X
X
X
X
X
51
Decision Table មានត្េង់ត្ាយែូចខាងច្ត្កាម៖