SlideShare a Scribd company logo
1 of 57
Download to read offline
មេម ៀនទី៤៖
ការកំណត់ទ្រង់ទ្ាយនៃដំណណ
ើ រទ្រតិរតតិ
(Processes Modeling)
1
2
Processes Modeling គឺជាបច្ចេកច្េសមួយ ដែល
ត្រូវបានច្ត្បើ សំរាប់ច្រៀបរាប់អំពើែំច្ ើ រត្បរិបរតិរបស់ត្បព័នធ
ព័រ៌មានែូចជាការបញ្េូ លព័រ៌មាន ការត្បរិបរតិេិននន័យ
និងការបច្ញ្េញលេធផលព័រ៌មាន តាមរយៈការគូស DFD
(Data Flow Diagram) ការសរច្សរ Structured
English និងការគូស Decision Tree និង Decision
Table។
Processes Modeling ត្រូវបានបច្ងកើរច្ ើងសំរាប់
ច្្វើជាឯកសារេុកច្ោយ Programmer យកច្ៅច្ត្បើត្បាស់
កនុងការសរច្សរត្បូត្កាម។
១. ដាទ្កាមលំហូររិៃនៃ័យ (Data Flow Diagram)
DFD គឺជាឧបករ ៍ ដែលត្រូវបានច្ត្បើកនុងការកំ រ់
ត្េង់ត្ាយននែំច្ ើ រត្បរិបរតិ ច្ោយព ៌ នាអំពើលំហូរ
េិននន័យនិងែំច្ ើ រត្បរិបរតិាំងឡាយ ដែលសថិរច្ៅខាង
ច្ត្ៅនិងខាងកនុងត្បព័នធព័រ៌មាន។
១.១. សមាសធាតុររស់ DFD
DFD ត្រូវបានបច្ងកើរច្ ើងច្ោយអនកត្សាវត្ជាវពើរត្កុមគឺ
DeMarco-Yourdon និង Gane-Sarson ច្ហរុច្នេះសមាស
ធារុមួយចំនួនរបស់វាក៏មាននិមិរតសញ្ញ
ា ពើរច្ផេងគ្ន
ន ដែរ។
3
ៃិមិតតសញ្ញ
ា ររស់
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
អរថន័យរបស់សមាសធារុនើមួយៗមានែូចខាងច្ត្កាម៖
▪ Data Flow គឺជាដសេត្ពួញសំរាប់បញ្ជូ នេិននន័យពើសមាស
ធារុមួយ ច្ៅកាន់សមាសធារុមួយច្ផេងច្េៀរ។
▪ Data Store គឺជាកដនែងផទុកេិននន័យជានិរនត៍របស់ត្បព័នធ
ព័រ៌មាន ច្ោយវានឹងកា
ែ យច្ៅជា File ឬក៏ Table។
▪ Process គឺជាសកមមភាពឬែំច្ ើ រត្បរិបរតិកនុងការបំដលង
េិននន័យពើការបញ្េូ លច្ៅជាការបច្ញ្េញ។ Process នឹង
កា
ែ យច្ៅជា Sub procedure ឬក៏ Function។
5
▪ Entity/Agent គឺជាមនុសេណាមា
ន ក់ឬកដនែងណាមួយ
ដែលមានេំនាក់េំនងជាមួយនឹងត្បព័នធព័រ៌មាន ែូចជា
ផតល់ព័រ៌មានច្ៅច្ោយត្បព័នធព័រ៌មាន ឬេេួលលេធផល
ជាព័រ៌មានច្ចញពើត្បព័នធព័រ៌មានវ ិញ។ Entity/Agent
ដចកច្ចញជាពើរត្បច្េេគឺ៖
• Internal Entity/Agent គឺជាមនុសេណាមា
ន ក់ឬកដនែងណា
មួយដែលជាបុគគលិកឬការ ិយាល័យសថិរច្ៅកនុងត្កុមហុនឬ
សា
ថ ប័នរបស់មា
េ ស់កមមសិេធត្បព័នធ។ ឧាហរ ៍ ៖ Manager,
Stock Keeper, Room Controller, Accounting Office…
6
• External Entity/Agent គឺជាមនុសេណាមា
ន ក់ឬកដនែងណា
មួយដែលមិនដមនជាបុគគលិកឬការ ិយាល័យសថិរច្ៅកនុងត្កុម
ហុនឬសា
ថ ប័នរបស់មា
េ ស់កមមសិេធត្បព័នធច្នាេះច្ ើយ ក៏បុដនត
មានេំនាក់េំនងជាមួយនឹងត្បព័នធព័រ៌មាន។ ឧាហរ ៍ ៖
Customer, Student, Guest, Reader, Ministry of
Education Youth and Sport, Ministry of Finance…
7
១.២. កបួៃច្បារ់ (Rules) របស់ DFD
ច្ែើមបើគូសែាត្កាមននលំហូរេិននន័យច្ោយបានត្រឹមត្រូវ
ច្យើងត្រូវច្គ្នរពតាមកបួនចាប់ែូចខាងច្ត្កាម៖
➢ ត្គប់េិននន័យាំងអស់ដែលត្រូវបញ្ជូ នតាមរយៈ Data Flow
ត្រូវសរច្សរកនុងេំរង់កច្នោមនាម។
Incorrect Correct
Order Item Ordered Item
Complete time sheet Completed time sheet
8
➢ Process មួយមិនោចមានដរការបញ្េូ លឬការបច្ញ្េ ញច្នាេះ
ច្ ើយ មានន័យថាវាត្រូវមានាំងការបញ្េូ លផងនិងការ
បច្ញ្េញផង។
Incorrect Correct
9
Process
Process
Data
Data
Process
Data Data
➢ 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
➢ 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
➢ Data Flow មិនោចមានេិសច្ៅច្ៅវ ិញច្ៅមកច្ ើយ មាន
ន័យថា ត្បសិនច្បើការបញ្ជូ នេិននន័យច្ៅវ ិញច្ៅមករវាង
Process ជាមួយនឹង Data Store ឬ Entity/Agent ច្នាេះ
ច្យើងត្រូវគូស Data Flow ពើរច្ផេងគ្ន
ន ។
Incorrect Correct
12
Process
Process
Agent
Data Store
Process
Agent
Process Data Store
➢ ការបញ្ជូ នេិននន័យច្ផេងគ្ន
ន ចាប់ពើ២ច្ ើងច្ៅច្ែើមបើត្បរិបរតិកនុង
ច្ពលដរមួយ ច្នាេះច្យើងមិនោចគូស Data Flows ោច់ច្ចញ
ពើគ្ន
ន ច្ ើយ ច្ោយច្យើងត្រូវគូស Data Flow ដរមួយគរ់សំរាប់
បញ្ជូ នេិននន័យាំងច្នាេះ។ ឧាហរ ៍ ៖
13
Check
User
Cashier
username
password (Incorrect)
Check
User
Cashier username, password (Correct)
➢ ត្បសិនច្បើការបញ្ជូ នេិននន័យដរមួយច្ៅកាន់ Processes
ច្ផេងគ្ន
ន ចាប់ពើ២ច្ ើងច្ៅ ច្នាេះច្យើងត្រូវច្ត្បើ Data Flow កនុង
េំរង់ Fork Arrow ( )។ ឧាហរ ៍ ៖
14
Student’s info. (Correct)
Edit
(Incorrect)
Check
Student
Add
New
Check
Student
Edit
Add
New
❖ច្បំណ ំ៖
➢ច្ែើមបើងាយត្សួលកនុងការគូស Data Flow Diagram កុំច្ោយ
មានភាពសមុគសា
ម ញនិងពិបាកយល់ ច្នាេះច្យើងត្រូវអនុវរតតាម
ច្គ្នលការ ៍ ែូចខាងច្ត្កាម៖
▪ Data Flow មិនត្រូវគូសការ់គ្ន
ន ច្ ើយ។
▪ Entity/Agent ឬ Data Store មួយ ច្យើងោចគូស
ច្លើសពើមួយដែលសថិរច្ៅកនុង Data Flow Diagram
ដរមួយ ក៏បុដនតច្យើងត្រូវោក់ច្្
ម េះរបស់វាែូចគ្ន
ន ាំង
ត្សុង។
15
➢ េំនាក់េំនងរវាង 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
១.៣. ទ្រណេរររស់ DFD
ជាេូច្ៅ DFD ដចកច្ចញជាបើត្បច្េេ្ំៗែូចជា៖
❖Context Diagram គឺជា Diagram ដែលបងា
ា ញនូវែំច្ ើ រ
ការរបស់ត្បព័នធព័រ៌មាន តាមរយៈននការសច្ងករពើខាងច្ត្ៅ។
Context Diagram មានលកខ ៈែូចខាងច្ត្កាម៖
▪ មាន Process ដរមួយគរ់ ដែលរំណាងច្ោយត្បព័នធ
ព័រ៌មានាំងមូល។
▪ មាន Entity/Agent ាំងឡាយ ដែលមានេំនាក់េំនងជា
មួយនឹងត្បព័នធព័រ៌មាន កនុងការផតល់ព័រ៌មានច្ៅច្ោយត្បព័នធ
ព័រ៌មានឬេេួលលេធផលជាព័រ៌មានច្ចញពើត្បព័នធព័រ៌មាន។
17
Context Diagram មានត្េង់ត្ាយែូចខាងច្ត្កាម៖
18
Data
System’s Name
ឬ
Business System
Function
Agent1 Data
Data
Agent2 Data
Data
AgentN
Data
❖Top-Level Diagram គឺជា Diagram ដែលបងា
ា ញនូវមុសងារ
សំខាន់ៗរបស់ត្បព័នធព័រ៌មាន។ Top-Level Diagram មាន
លកខ ៈែូចខាងច្ត្កាម៖
▪ មាន Main processes មួយចំនួនដែលរំណាងច្ោយមុស
ងារសំខាន់ៗរបស់ត្បព័នធព័រ៌មាន។
▪ មាន Data Stores ាំងឡាយដែលមានេំនាក់េំនងជាមួយ
នឹង Main processes ាំងច្នាេះតាមរយៈ Data Flow។
▪ មាន Agents ាំងឡាយដែលមានេំនាក់េំនងជាមួយនឹង
Main processes ាំងច្នាេះ តាមរយៈ Data Flow។
19
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
❖Physical-Level (Detail) Diagram គឺជា Diagram ដែល
បងា
ា ញនូវសកមមភាពាំងអស់របស់ត្បព័នធព័រ៌មាន។
Physical-Level Diagram មានលកខ ៈែូចខាងច្ត្កាម៖
▪ មាន Processes ាំងឡាយដែលរំណាងច្ោយសកមមភាព
ននែំច្ ើ រត្បរិបរតិកនុងត្បព័នធព័រ៌មាន។ Process នើមួយៗ
នឹងកា
ែ យច្ៅជា Sub Procedure ឬ Function។
▪ មាន Data Stores ាំងឡាយដែលមានេំនាក់េំនងជាមួយ
នឹង Processes ាំងច្នាេះតាមរយៈ Data Flow។
▪ មាន Agents ាំងឡាយដែលមានេំនាក់េំនងជាមួយនឹង
Processes ាំងច្នាេះ តាមរយៈ Data Flow។
21
ឧាហរ ៍ េើ១៖ ត្កុមហុនលក់កុំពយូេ័រមួយកដនែង ត្រូវការត្បព័នធ
ព័រ៌មានច្ែើមបើត្គប់ត្គងច្លើដផនកបុគគលិក ដផនកនាំចូលនិងដផនកលក់
កុំពយូេ័រ ដែលមានរច្បៀបរបបការងារែូចខាងច្ត្កាម៖
 នាយកត្កុមហុនផតល់ព័រ៌មានរបស់បុគគលិក ច្ហើយ System នឹង
ករ់ត្តាេុកកនុងតារាងច្្
ម េះ Staff ចំច្ េះបុគគលិកថ្មើ ដរច្បើបុគគលិក
ចាស់វ ិញ ច្នាេះ System នឹងដកដត្បរួនាេើនិងត្បាក់ដសរបស់បុគគលិក
ច្នេះ។ មាងច្េៀរនាយកត្កុមហុន មាននាេើកំ រ់នថ្ែលក់សំរាប់
េំនិញនើមួយៗកនុងតារាង Product ច្ហើយនាយកត្កុមហុនចាំេេួល
របាយការ ៍ ាក់េងច្ៅនឹងត្បាក់ដសរបស់បុគគលិក របាយការ ៍
នាំចូលេំនិញច្ហើយនិងរបាយការ ៍ លក់េំនិញផងដែរ។
22
 ត្បេពផគរ់ផគង់ (Supplier) ផតល់ព័រ៌មានននេើកដនែងផគរ់ផគង់ ច្ោយ
System នឹងករ់ត្តាេុកកនុងតារាងច្្
ម េះ Supplier ចំច្ េះត្បេព
ផគរ់ផគង់ថ្មើបុច្ណា
ណ េះ។ មាងច្េៀរ ត្បេពផគរ់ផគង់ផតល់ព័រ៌មានរបស់
េំនិញ ដែលត្រូវបាននាំចូល ច្ោយ System នឹងត្រួរពិនិរយច្មើល
ថាច្រើេំនិញច្នេះមានច្ៅកនុងតារាងច្្
ម េះ Product ច្ហើយឬច្ៅ?
ត្បសិនច្បើេំនិញច្នេះមានរួចច្ហើយ ច្នាេះ System នឹងដកដត្ប
បរ ិមា របស់េំនិញច្នេះ ច្ោយយកបរ ិមា ចាស់បូកដថ្ម
បរ ិមា នាំចូល។ ផទុយច្ៅវ ិញ System នឹងករ់ត្តាព័រ៌មានរបស់
េំនិញថ្មើច្នេះ ច្ៅផទុកកនុងតារាងច្្
ម េះ Product។
ជាចុងច្ត្កាយ System នឹងករ់ត្តាព័រ៌មានននការនាំចូល
េំនិញច្ៅផទុកកនុងតារាងច្្
ម េះ Import។
23
 អរិថ្ិជនផតល់ព័រ៌មានរបស់េំនិញដែលគ្នរ់ចង់េិញ ច្នាេះ
System នឹងត្រួរពិនិរយច្មើលថាច្រើេំនិញច្នេះមានត្គប់ត្គ្នន់
ដែរឬអរ់? ត្បសិនច្បើេំនិញច្នេះមិនមានត្គប់ត្គ្នន់ ច្នាេះ
System នឹងបងា
ា ញ Message ត្បាប់ច្ៅកាន់អរិថ្ិជនវ ិញ។
ផទុយច្ៅវ ិញ ច្នាេះ System នឹងករ់ត្តាព័រ៌មានរបស់អរិថ្ិជន
ច្ៅផទុកកនុងតារាងច្្
ម េះ Customer ចំច្ េះអរិថ្ិជនថ្មើ
បុច្ណា
ណ េះ។ បនា
ទ ប់មក System នឹងដកដត្បបរ ិមា របស់េំនិញ
ដែលអរិថ្ិជនបានេិញ ច្ោយយកបរ ិមា ចាស់ែក
បរ ិមា ដែលអរិថ្ិជនេិញកនុងតារាងច្្
ម េះ Product។
24
បនា
ទ ប់មកច្េៀរ System នឹងករ់ត្តាព័រ៌មានននការបញ្ញ
ជ
េិញរបស់អរិថ្ិជន ច្ៅផទុកកនុងតារាងច្្
ម េះ Order។ System
រំរូវច្ោយអរិថ្ិជនបង់ត្បាក់កក់ សំរាប់ការបញ្ញ
ជ េិញច្នេះ
ច្ោយ System នឹងករ់ត្តាេុកកនុងតារាងច្្
ម េះ Payment
ដែលេេួលសុសត្រូវច្ោយបុគគលិក ោនច្ចញពើតារាងច្្
ម េះ
Staff ច្េើប System បច្ញ្េញវ ិក័យបត្រច្ោយច្ៅអរិថ្ិជន
ច្ែើមបើបង់ត្បាក់បង្គងគប់ច្ៅនថ្ៃច្ត្កាយ ច្ោយ System នឹងករ់ត្តា
េុកកនុងតារាងច្្
ម េះ Payment ដែលេេួលសុសត្រូវច្ោយ
បុគគលិកោនច្ចញពើតារាងច្្
ម េះ Staff។
25
 ចំណាំ៖ ចំច្ េះការនាំចូលនិងលក់េំនិញក៏ត្រូវបាន
េេួលសុសត្រូវច្ោយបុគគលិក ាញច្ចញពើតារាង
ច្្
ម េះ Staff ផងដែរ។
ក. ចូរគូស Context Diagram
ស. ចូរគូស Top-Level Diagram
គ. ចូរគូស Physical-Level Diagram
26
ចច្មែើយ៖ តាមរយៈរច្បៀបរបបការងារខាងច្លើ ច្យើងោច
កំ រ់បាន៖
 Agent រួមមាន MANAGER, SUPPLIER និង
CUSTOMER។
 Data Store រួមមាន STAFF, PRODUCT, SUPPLIER,
IMPORT, CUSTOMER, ORDER និង PAYMENT។
27
ឧាហរ ៍ េើ២៖ មា
េ ស់សណា
ា គ្នរត្រូវការត្បព័នធព័រ៌មានសំរាប់
ត្គប់ត្គងច្លើការសា
ន ក់ច្ៅរបស់ច្េញៀវ ច្ោយមានរច្បៀបរបបការងារ
ែូចខាងច្ត្កាម៖
▪ នាយកត្បរិបរតិផតល់ព័រ៌មានរបស់ត្បច្េេបនទប់ ដែលត្រូវករ់
ត្តាេុក (ចំច្ េះត្បច្េេបនទប់ថ្មើ) ឬដកដត្ប (ចំច្ េះត្បច្េេ
បនទប់ចាស់) កនុងតារាង ROOMTYPE។ នាយកត្បរិបរតិក៏មាន
នាេើផតល់ព័រ៌មានរបស់បនទប់ច្ៅតាមត្បច្េេនិមួយៗ ច្ោយ
ត្រូវករ់ត្តាេុក (ចំច្ េះបនទប់ថ្មើ) ឬដកដត្ប (ចំច្ េះបនទប់
ចាស់) កនុងតារាង ROOM។
28
▪ ច្េញៀវបានត្បាប់នថ្ៃដែលត្រូវចូលសា
ន ក់ច្ៅ ចំនួននថ្ៃសា
ន ក់ច្ៅ
និងត្បច្េេបនទប់ច្ែើមបើច្ោយ System រកបនទប់ដែលោច
រកបានសំរាប់ការសា
ន ក់ច្ៅរបស់ច្េញៀវ។ ច្បើ System មិន
ោចរកបនទប់បាន ច្នាេះវានឹងបងា
ា ញ Message ត្បាប់ច្ៅ
ច្េញៀវ។ ផទុយច្ៅវ ិញ ច្បើ System ោចរកបនទប់បាន ច្នាេះវា
នឹងករ់ត្តាព័រ៌មានរបស់ច្េញៀវដែលបានផតល់ច្ោយ ច្ៅផទុក
កនុងតារាង GUEST ចំច្ េះច្េញៀវថ្មើបុច្ណា
ណ េះ រួចវាពិនិរយច្មើល
នថ្ៃដែលត្រូវចូលសា
ន ក់ច្ៅ ច្រើ្ំជាងនថ្ៃបចេុបបននដែរឬអរ់?
ច្បើពិរជា្ំជាង ច្នាេះ System នឹងករ់ត្តាព័រ៌មានននការ
29
កក់បនទប់ច្ៅផទុកកនុងតារាង BOOKING ច្ហើយច្បើបនទប់ដែលច្េញៀវ
បានកក់មាន Status ច្សមើនឹង កយ “Free” ច្េើបបតូរ Status
របស់បនទប់ច្នេះកនុងតារាង ROOM ឲ្យច្សមើនឹង កយ “Booked”។
បនា
ទ ប់មកបច្ងកើរវ ិក័យបត្រននការកក់បនទប់ច្នេះ ផតល់ច្ៅច្ោយ
ច្េញៀវ ច្ែើមបើច្ោយច្េញៀវបង់ត្បាក់កក់ ដែលត្រូវករ់ត្តាេុកកនុង
តារាង INCOME ដែលេេួលសុសត្រូវច្ោយបុគគលិកាញច្ចញ
ពើតារាង STAFF។ ផទុយច្ៅវ ិញច្បើនថ្ៃចូលសា
ន ក់ច្ៅរូចជាងឬច្សមើ
នថ្ៃបចេុបបនន ច្នាេះ System នឹងករ់ត្តាព័រ៌មានននការសា
ន ក់ច្ៅ
របស់ច្េញៀវផទុកកនុងតារាង CHECKIN រួចបតូរ Status កនុងតារាង
ROOM ច្ោយច្សមើនឹង កយ “Checkin”។
30
▪ System នឹងចំលងព័រ៌មានននការកក់បនទប់ាំងឡាយដែល
ែល់នថ្ៃកំ រ់ត្រូវចូលសា
ន ក់ច្ៅ (CheckInDate <= Date)
ច្ចញពើតារាង BOOKING ច្ៅផទុកកនុងតារាង CHECKIN
ច្ោយបតូរ Status ននបនទប់ាំងច្នេះកនុងតារាង ROOM ច្ោយ
ច្សមើនឹង កយ “CheckIn” រួចលុបព័រ៌មានននការកក់បនទប់ាំង
ច្នេះច្ចញពើតារាង BOOKING។ បនា
ទ ប់មក System នឹង
ចំលងព័រ៌មានននការសា
ន ក់ច្ៅាំងឡាយដែលែល់នថ្ៃកំ រ់
ត្រូវចាកច្ចញ (CheckOutDate <= Date) ច្ចញពើតារាង
CHECKIN ច្ៅផទុកកនុងតារាង CHECKINEXPIRE ច្ោយបតូរ
31
Status ននបនទប់ាំងច្នេះ កនុងតារាង ROOM ច្ោយច្សមើនឹង កយ
“Booked” (ត្បសិនច្បើមានច្គកក់បនត) ក៏បុដនតត្បសិនច្បើគ្ន
ម នច្គកក់បនត
ច្នាេះវាត្រូវបតូរ Status របស់បនទប់ាំងច្នេះច្ោយច្សមើនឹង កយ “Free”
ច្ហើយលុបព័រ៌មានននការសា
ន ក់ច្ៅដែលែល់នថ្ៃចាកច្ចញាំងច្នេះ ច្ចញ
ពើតារាង CHECKIN។
▪ មុននឹងចាកច្ចញពើសណា
ា គ្នរ System នឹងបច្ងកើរវ ិក័យបត្រផតល់ច្ោយ
ច្េញៀវដែលត្រូវចាកច្ចញ ច្ែើមបើច្ោយច្េញៀវបង់ត្បាក់ដែលត្រូវករ់ត្តាេុក
កនុងតារាង INCOME ដែលេេួលសុសត្រូវច្ោយបុគគលិកាញច្ចញពើ
តារាង STAFF។ បនា
ទ ប់មក System នឹងចំលងព័រ៌មានននការសា
ន ក់
ច្ៅរបស់ច្េៀវច្នេះច្ចញពើតារាង CHECKINEXPIRE ច្ៅផទុកកនុងតារាង
CHECKOUT រួចលុបព័រ៌មានននការសា
ន ក់ច្ៅរបស់ច្េញៀវច្នេះច្ចញពើ
តារាង CHECKINEXPIRE។
32
ក. ចូរគូស Context Diagram
ស. ចូរគូស Physical-Level Diagram
ចច្មែើយ៖ តាមរយៈរច្បៀបរបបការងារខាងច្លើ ច្យើងោចកំ រ់
បាន៖
▪ Agent មានែូចជា MANAGER និង GUEST។
▪ Data Store មានែូចជា ROOMTYPE, ROOM, GUEST,
BOOKING, INCOME, STAFF, CHECKIN,
CHECKINEXPIRE និង CHECKOUT។
33
២. Structured English ៖
Structured English គឺជា Algorithms ននែំច្ ើ រ
ត្បរិបរតិ ិ ជជកមម ដែលត្រូវបានសរច្សរច្ោយច្ត្បើត្បាស់នូវ
កយពិច្សស (Keyword) របស់ភាសាអង់ច្គែស ជាមួយនឹង
Control Structures កនុងេំរង់ននត្បូត្កាមណាមួយ ច្ែើមបើ
ព ៌ នាអំពើែំច្ ើ រត្បរិបរតិ ិ ជជកមម។
Structured English = English Keywords + Control
Structures
34
❖ កយពិច្សស (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
▪ 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
▪ If Condition Then
Process1
…
ProcessN
Else
Process1
…
ProcessN
[ End If ]
37
▪ For Each Data/Information In Data Store’s Name
Process1
…
ProcessN
[End For]
▪ Do While Condition
Process1
…
ProcessN
[End Do]
38
ឧាហរ ៍ េើ១៖ តាមរយៈ 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
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
ឧាហរ ៍ េើ២៖ តាមរយៈ 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
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
ឧាហរ ៍ េើ៣៖ តាមរយៈ 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
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
៣. Decision Tree និង Decision Table៖
៣.១. Decision Tree៖
Decision Tree គឺជាការកំ រ់កបួនចាប់ឬច្គ្នលការ ៍
និងលកខស ឌ ននែំច្ ើ រត្បរិបរតិេិននន័យាំងឡាយ របស់ត្បព័នធ
ិ ជជកមមកនុងេំរង់ជាដមកធាង (Tree)។
Decision Tree មានអរថត្បច្យាជន៍សំរាប់ច្ោយ
Programmer យកច្ៅច្ត្បើត្បាស់កនុងការកំ រ់លកខស ឌ ច្ៅ
តាមកបួនចាប់ឬច្គ្នលការ ៍ ច្ែើមបើកំ រ់សកមមភាពដែលត្រូវ
អនុវរត។
45
Decision Tree មានត្េង់ត្ាយែូចខាងច្ត្កាម៖
46
1
2
2
3
3
3
3
1
K
M
N
Action1
ActionK
ActionM
ActionN
Rule No
៣.២. Decision Table៖
Decision Table គឺជាតារាងសច្ងខប ដែលបងា
ា ញនូវេំនាក់
េំនងរវាងកបួនចាប់ (Rules) ជាមួយនឹងលកខស ឌ ច្ែើមបើ
កំ រ់នូវសកមមភាព (Action) ដែលត្រូវអនុវរត។
47
Rule No
Conditions
1 2 … N
Condition1
…
ConditionN
Action1
…
ActionN
ោក់អកេរ Y ចំច្ េះ Condition នើមួយៗដែល
ត្រូវគ្ន
ន ជាមួយនឹង Rule No នើមួយៗ។ ផទុយច្ៅ
វ ិញោក់អកេរ N។
ោក់អកេរ X សំរាប់ Rule No នើមួយៗ
ដែលត្រូវអនុវរតនូវ Action ណាមួយ។
ឧាហរ ៍ ៖ ចូរគូស Decision Tree និង Decision Table
សំរាប់ច្្វើេំនាក់េំនងរវាងកបួនចាប់ ឬច្គ្នលការ ៍ ននការច្ផញើ
ត្បាក់របស់្នាគ្នរមួយជាមួយនឹងលកខស ឌ ដែលត្រូវកំ រ់
ច្ែើមបើកំ រ់អត្តាការត្បាក់ែូចខាងច្ត្កាម៖
+ ចំច្ េះត្បច្េេ Saving Account៖
- ការច្ផញើត្បាក់ច្រៀលនឹងេេួលបានការត្បាក់ 4% កនុងមួយឆ្
ន ំ
- ការច្ផញើត្បាក់ែុល្ល
ែ នឹងេេួលបានការត្បាក់ 3% កនុងមួយឆ្
ន ំ
48
+ ចំច្ េះត្បច្េេ Fixed Account៖
- ការច្ផញើត្បាក់ច្រៀលកនុងរយៈច្ពលកំ រ់៖
. ៣ដសនឹងេេួលបានការត្បាក់ 6% កនុងមួយឆ្
ន ំ
. ៦ដសនឹងេេួលបានការត្បាក់ 8% កនុងមួយឆ្
ន ំ
. ១២ដសនឹងេេួលបានការត្បាក់ 10% កនុងមួយឆ្
ន ំ
- ការច្ផញើត្បាក់ែុល្ល
ែ កនុងរយៈច្ពលកំ រ់៖
. ៣ដសនឹងេេួលបានការត្បាក់ 4% កនុងមួយឆ្
ន ំ
. ៦ដសនឹងេេួលបានការត្បាក់ 6% កនុងមួយឆ្
ន ំ
. ១២ដសនឹងេេួលបានការត្បាក់ 8% កនុងមួយឆ្
ន ំ
49
ចច្មែើយ៖ Decision Tree មានត្េង់ត្ាយ៖
50
1
2
2
3
3
3
3
1
3
4%
6%
Rule No
2 3%
4
6 Months 4 4 8%
4 5 10%
6 4%
4
6 Months 4 7 6%
4 8 8%
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 មានត្េង់ត្ាយែូចខាងច្ត្កាម៖
លំោរ់េើ១៖បណា
ណ ល័យហុនដសន (Hun Sen Library) ត្រូវការ
ត្បព័នធពរ៌មានសំរាប់ត្គប់ត្គងការចុេះច្្
ម េះនិងការសេើច្សៀវច្ៅ ដែល
មានរច្បៀបរបបការងារែូចរច្ៅ៖
+ ច្ៅច្ពលចុេះច្្
ម េះ អនកោន (READER) ត្រូវផតល់ព័រ៌មានផ្ទ
ទ ល់
សែួន ច្នាេះ System នឹងត្រួរពិនិរយច្មើលកនុងតារាង READER ថាច្រើ
ព័រ៌មានរបស់អនកោនច្នេះមានដែរឬអរ់? ច្បើអរ់មាន ច្នាេះ
System នឹងករ់ត្តាព័រ៌មានរបស់អនកោនច្នេះ េុកកនុងតារាង
READER បនា
ទ ប់មករំរូវច្ោយអនកោនបង់ត្បាក់សំរាប់ការចុេះ
ច្្
ម េះច្ោយករ់ត្តាេុកកនុងតារាង INCOME ច្េើបបច្ងកើរ Card ផត
ល់ច្ៅច្ោយអនកោន។ ផទុយច្ៅវ ិញ វានឹងពិនិរយច្មើលកនុងតារាង
READER ថាច្រើ ExpireDate ហួសនថ្ៃកំ រ់ដែរឬអរ់? 52
ច្បើហួសនថ្ៃកំ រ់ ច្នាេះ System នឹងបងា
ា ញ Message ត្បាប់
ច្ៅអនកោន ច្ោយបង់ត្បាក់ ច្ហើយច្ៅច្ពលអនកោនបង់ត្បាក់
ដែលត្រូវករ់ត្តាេុកកនុងតារាង Income ច្េើប System ដកដត្បនថ្ៃ
ផុរកំ រ់ (ExpireDate) ថ្មើកនុងតារាង Reader សំរាប់អនកោន
ច្នេះ រួចបច្ងកើរ Card ច្ោយច្ៅអនកោនច្នេះ។ ផទុយច្ៅវ ិញ ច្បើមិន
ហួសនថ្ៃកំ រ់ ច្នាេះ System នឹងត្រួរពិនិរយកនុងតារាង
BorrowExpire ថាច្រើសមាជិកអនកោនច្នេះបានសេើច្សៀវច្ៅហួស
នថ្ៃកំ រ់ដែរឬអរ់? ច្បើអនកោនច្នេះបានសេើច្សៀវច្ៅហួសនថ្ៃ
កំ រ់ ច្នាេះ System នឹងបងា
ា ញ Message ត្បាប់ច្ៅអនកោន
ច្ោយបានែឹង។ ផទុយច្ៅវ ិញ ច្នាេះ System នឹងត្រួរពិនិរយ 53
កនុងតារាង LimitBorrow និងតារាង Borrow ថាច្រើអនកោនច្នេះ
បានសេើច្សៀវច្ៅត្គប់ចំនួនកំ រ់ច្ហើយឬច្ៅ? ច្បើសេើត្គប់ចំនួនរួច
ច្ហើយ ច្នាេះ System នឹងបងា
ា ញ Message ត្បាប់ច្ៅអនកោន
ច្ោយែឹង។ ផទុយច្ៅវ ិញច្បើមិនាន់ត្គប់ចំនួន ច្នាេះ System
នឹងករ់ត្តាពរ៌មានននការសេើច្សៀវច្ៅរបស់អនកោនច្នេះេុកកនុង
តារាង Borrow រួចដកដត្បបរ ិមា ច្សៀវច្ៅច្នេះ កនុងតារាង Book
ច្ោយយកបរ ិមា ចាស់ែកមួយ។
ចូរគូស Context Diagram និង Physical Level
Diagram សំរាប់ែំច្ ើ រការខាងច្លើ។
54
លំោរ់េើ២៖ ចូរគូស Physical-Level (Detail)
Diagram សំរាប់ព ៌ នាអំពើសកមមភាពននការសង
ច្សៀវច្ៅរបស់អនកោន កនុងបណា
ណ ល័យមួយ ដែលមាន
ែំច្ ើ រការែូចរច្ៅ៖
▪ អនកោន (Reader) ត្រូវផតល់ព័រ៌មានែូចជា ID Card
និងច្សៀវច្ៅដែលត្រូវសង ច្ពលច្នាេះ System នឹង
ត្រួរពិនិរយច្មើលកនុងតារាង BORROWEXPIRE ថាច្រើ
មាន ID Card របស់អនកោនច្នេះដែរឬក៏អរ់?
55
ត្បសិនច្បើពិរជាមាន ច្នាេះ System នឹងបច្ងកើរវ ិក័យបត្រផ្ទកពិន័យ
ច្ោយាញេិននន័យពើតារាង BORROWEXPIRE តារាង READER
និងតារាង BOOK សំរាប់ផតល់ច្ៅច្ោយអនកោន ច្ែើមបើបង់ត្បាក់
ដែលត្រូវករ់ត្តាេុកកនុងតារាង INCOME ដែលេេួលសុសត្រូវច្ោយ
បុគគលិកោនច្ចញពើតារាង STAFF បនា
ទ ប់មក System នឹងចំលង
ព័រ៌មានននការសេើច្សៀវច្ៅរបស់អនកោនច្នេះ ច្ចញពើតារាង
BORROWEXPIRE ច្ៅផទុកកនុងតារាង RETURN ច្ហើយលុប
ព័រ៌មានននការសេើច្សៀវច្ៅរបស់អនកោនច្នេះ ច្ចញពើតារាង
BORROWEXPIRE រួចដកដត្បបរ ិមា របស់ច្សៀវច្ៅ (StockQty)
កនុងតារាង BOOK ច្ោយយកបរ ិមា ចាស់បូកដថ្ម១។ 56
ផទុយច្ៅវ ិញ (មិនមាន) ច្នាេះ System នឹងចំលងព័រ៌មានននការ
សេើច្សៀវច្ៅរបស់អនកោនច្នេះច្ចញពើតារាង BORROW ច្ៅផទុក
កនុងតារាង RETURN ច្ហើយលុបព័រ៌មានននការសេើច្សៀវច្ៅ របស់
អនកោនច្នេះច្ចញពើតារាង BORROW រួចដកដត្បបរ ិមា របស់
ច្សៀវច្ៅ (StockQty) កនុងតារាង BOOK ច្ោយយកបរ ិមា
ចាស់បូកដថ្ម១។
57

More Related Content

What's hot

Referential integrity
Referential integrityReferential integrity
Referential integrityJubin Raju
 
Three main Architectures For Parallel Database.pptx
Three main Architectures  For Parallel Database.pptxThree main Architectures  For Parallel Database.pptx
Three main Architectures For Parallel Database.pptxshailajawesley023
 
Lekts presentation10
Lekts presentation10Lekts presentation10
Lekts presentation10ganzorigb
 
database design of online food delivery.pptx
database design of online food delivery.pptxdatabase design of online food delivery.pptx
database design of online food delivery.pptxFazlullah21
 
Πρόχειρο διαγώνισμα στα λειτουργικά συστήματα 2
Πρόχειρο διαγώνισμα στα λειτουργικά συστήματα 2Πρόχειρο διαγώνισμα στα λειτουργικά συστήματα 2
Πρόχειρο διαγώνισμα στα λειτουργικά συστήματα 2Ιωάννου Γιαννάκης
 
latihan cisco paket tracer
latihan cisco paket tracerlatihan cisco paket tracer
latihan cisco paket tracerSyahrul Ngadim
 
Advantages and disadvantages of relational databases
Advantages and disadvantages of relational databasesAdvantages and disadvantages of relational databases
Advantages and disadvantages of relational databasesSanthiNivas
 
4 the relational data model and relational database constraints
4 the relational data model and relational database constraints4 the relational data model and relational database constraints
4 the relational data model and relational database constraintsKumar
 
Мод, графын ерөнхий зарчим
Мод, графын ерөнхий зарчимМод, графын ерөнхий зарчим
Мод, графын ерөнхий зарчимBayalagmaa Davaanyam
 
MSc CST (5yr Integrated Course ) Syllabus - Madras University
MSc CST (5yr Integrated Course ) Syllabus - Madras UniversityMSc CST (5yr Integrated Course ) Syllabus - Madras University
MSc CST (5yr Integrated Course ) Syllabus - Madras UniversityGriffinder VinHai
 
Database Security
Database SecurityDatabase Security
Database Securityalraee
 
Software Architecture Design Decisions
Software Architecture Design DecisionsSoftware Architecture Design Decisions
Software Architecture Design DecisionsAfaq Mansoor Khan
 
Lecture 15&amp;16
Lecture 15&amp;16Lecture 15&amp;16
Lecture 15&amp;16narachka
 
docsity-p1-examine-the-characteristics-of-the-object-orientated-paradigm-as-w...
docsity-p1-examine-the-characteristics-of-the-object-orientated-paradigm-as-w...docsity-p1-examine-the-characteristics-of-the-object-orientated-paradigm-as-w...
docsity-p1-examine-the-characteristics-of-the-object-orientated-paradigm-as-w...RagnarOp1
 
Domain logic patterns of Software Architecture
Domain logic patterns of Software ArchitectureDomain logic patterns of Software Architecture
Domain logic patterns of Software ArchitectureShweta Ghate
 

What's hot (20)

Referential integrity
Referential integrityReferential integrity
Referential integrity
 
Windows7
Windows7Windows7
Windows7
 
module view decomposition
module view decompositionmodule view decomposition
module view decomposition
 
Three main Architectures For Parallel Database.pptx
Three main Architectures  For Parallel Database.pptxThree main Architectures  For Parallel Database.pptx
Three main Architectures For Parallel Database.pptx
 
Lekts presentation10
Lekts presentation10Lekts presentation10
Lekts presentation10
 
database design of online food delivery.pptx
database design of online food delivery.pptxdatabase design of online food delivery.pptx
database design of online food delivery.pptx
 
Πρόχειρο διαγώνισμα στα λειτουργικά συστήματα 2
Πρόχειρο διαγώνισμα στα λειτουργικά συστήματα 2Πρόχειρο διαγώνισμα στα λειτουργικά συστήματα 2
Πρόχειρο διαγώνισμα στα λειτουργικά συστήματα 2
 
latihan cisco paket tracer
latihan cisco paket tracerlatihan cisco paket tracer
latihan cisco paket tracer
 
Os services
Os servicesOs services
Os services
 
Advantages and disadvantages of relational databases
Advantages and disadvantages of relational databasesAdvantages and disadvantages of relational databases
Advantages and disadvantages of relational databases
 
4 the relational data model and relational database constraints
4 the relational data model and relational database constraints4 the relational data model and relational database constraints
4 the relational data model and relational database constraints
 
Мод, графын ерөнхий зарчим
Мод, графын ерөнхий зарчимМод, графын ерөнхий зарчим
Мод, графын ерөнхий зарчим
 
MSc CST (5yr Integrated Course ) Syllabus - Madras University
MSc CST (5yr Integrated Course ) Syllabus - Madras UniversityMSc CST (5yr Integrated Course ) Syllabus - Madras University
MSc CST (5yr Integrated Course ) Syllabus - Madras University
 
Εισαγωγή στο Alice 3
Εισαγωγή στο Alice 3Εισαγωγή στο Alice 3
Εισαγωγή στο Alice 3
 
Database Security
Database SecurityDatabase Security
Database Security
 
Software Architecture Design Decisions
Software Architecture Design DecisionsSoftware Architecture Design Decisions
Software Architecture Design Decisions
 
Lecture 15&amp;16
Lecture 15&amp;16Lecture 15&amp;16
Lecture 15&amp;16
 
docsity-p1-examine-the-characteristics-of-the-object-orientated-paradigm-as-w...
docsity-p1-examine-the-characteristics-of-the-object-orientated-paradigm-as-w...docsity-p1-examine-the-characteristics-of-the-object-orientated-paradigm-as-w...
docsity-p1-examine-the-characteristics-of-the-object-orientated-paradigm-as-w...
 
Hci activity#2
Hci activity#2Hci activity#2
Hci activity#2
 
Domain logic patterns of Software Architecture
Domain logic patterns of Software ArchitectureDomain logic patterns of Software Architecture
Domain logic patterns of Software Architecture
 

Chapter4 process modeling

  • 2. 2 Processes Modeling គឺជាបច្ចេកច្េសមួយ ដែល ត្រូវបានច្ត្បើ សំរាប់ច្រៀបរាប់អំពើែំច្ ើ រត្បរិបរតិរបស់ត្បព័នធ ព័រ៌មានែូចជាការបញ្េូ លព័រ៌មាន ការត្បរិបរតិេិននន័យ និងការបច្ញ្េញលេធផលព័រ៌មាន តាមរយៈការគូស DFD (Data Flow Diagram) ការសរច្សរ Structured English និងការគូស Decision Tree និង Decision Table។ Processes Modeling ត្រូវបានបច្ងកើរច្ ើងសំរាប់ ច្្វើជាឯកសារេុកច្ោយ Programmer យកច្ៅច្ត្បើត្បាស់ កនុងការសរច្សរត្បូត្កាម។
  • 3. ១. ដាទ្កាមលំហូររិៃនៃ័យ (Data Flow Diagram) DFD គឺជាឧបករ ៍ ដែលត្រូវបានច្ត្បើកនុងការកំ រ់ ត្េង់ត្ាយននែំច្ ើ រត្បរិបរតិ ច្ោយព ៌ នាអំពើលំហូរ េិននន័យនិងែំច្ ើ រត្បរិបរតិាំងឡាយ ដែលសថិរច្ៅខាង ច្ត្ៅនិងខាងកនុងត្បព័នធព័រ៌មាន។ ១.១. សមាសធាតុររស់ DFD DFD ត្រូវបានបច្ងកើរច្ ើងច្ោយអនកត្សាវត្ជាវពើរត្កុមគឺ DeMarco-Yourdon និង Gane-Sarson ច្ហរុច្នេះសមាស ធារុមួយចំនួនរបស់វាក៏មាននិមិរតសញ្ញ ា ពើរច្ផេងគ្ន ន ដែរ។ 3
  • 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
  • 6. ▪ Entity/Agent គឺជាមនុសេណាមា ន ក់ឬកដនែងណាមួយ ដែលមានេំនាក់េំនងជាមួយនឹងត្បព័នធព័រ៌មាន ែូចជា ផតល់ព័រ៌មានច្ៅច្ោយត្បព័នធព័រ៌មាន ឬេេួលលេធផល ជាព័រ៌មានច្ចញពើត្បព័នធព័រ៌មានវ ិញ។ Entity/Agent ដចកច្ចញជាពើរត្បច្េេគឺ៖ • Internal Entity/Agent គឺជាមនុសេណាមា ន ក់ឬកដនែងណា មួយដែលជាបុគគលិកឬការ ិយាល័យសថិរច្ៅកនុងត្កុមហុនឬ សា ថ ប័នរបស់មា េ ស់កមមសិេធត្បព័នធ។ ឧាហរ ៍ ៖ Manager, Stock Keeper, Room Controller, Accounting Office… 6
  • 7. • External Entity/Agent គឺជាមនុសេណាមា ន ក់ឬកដនែងណា មួយដែលមិនដមនជាបុគគលិកឬការ ិយាល័យសថិរច្ៅកនុងត្កុម ហុនឬសា ថ ប័នរបស់មា េ ស់កមមសិេធត្បព័នធច្នាេះច្ ើយ ក៏បុដនត មានេំនាក់េំនងជាមួយនឹងត្បព័នធព័រ៌មាន។ ឧាហរ ៍ ៖ Customer, Student, Guest, Reader, Ministry of Education Youth and Sport, Ministry of Finance… 7
  • 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)
  • 14. ➢ ត្បសិនច្បើការបញ្ជូ នេិននន័យដរមួយច្ៅកាន់ Processes ច្ផេងគ្ន ន ចាប់ពើ២ច្ ើងច្ៅ ច្នាេះច្យើងត្រូវច្ត្បើ Data Flow កនុង េំរង់ Fork Arrow ( )។ ឧាហរ ៍ ៖ 14 Student’s info. (Correct) Edit (Incorrect) Check Student Add New Check Student Edit Add New
  • 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
  • 17. ១.៣. ទ្រណេរររស់ DFD ជាេូច្ៅ DFD ដចកច្ចញជាបើត្បច្េេ្ំៗែូចជា៖ ❖Context Diagram គឺជា Diagram ដែលបងា ា ញនូវែំច្ ើ រ ការរបស់ត្បព័នធព័រ៌មាន តាមរយៈននការសច្ងករពើខាងច្ត្ៅ។ Context Diagram មានលកខ ៈែូចខាងច្ត្កាម៖ ▪ មាន Process ដរមួយគរ់ ដែលរំណាងច្ោយត្បព័នធ ព័រ៌មានាំងមូល។ ▪ មាន Entity/Agent ាំងឡាយ ដែលមានេំនាក់េំនងជា មួយនឹងត្បព័នធព័រ៌មាន កនុងការផតល់ព័រ៌មានច្ៅច្ោយត្បព័នធ ព័រ៌មានឬេេួលលេធផលជាព័រ៌មានច្ចញពើត្បព័នធព័រ៌មាន។ 17
  • 18. Context Diagram មានត្េង់ត្ាយែូចខាងច្ត្កាម៖ 18 Data System’s Name ឬ Business System Function Agent1 Data Data Agent2 Data Data AgentN Data
  • 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
  • 22. ឧាហរ ៍ េើ១៖ ត្កុមហុនលក់កុំពយូេ័រមួយកដនែង ត្រូវការត្បព័នធ ព័រ៌មានច្ែើមបើត្គប់ត្គងច្លើដផនកបុគគលិក ដផនកនាំចូលនិងដផនកលក់ កុំពយូេ័រ ដែលមានរច្បៀបរបបការងារែូចខាងច្ត្កាម៖  នាយកត្កុមហុនផតល់ព័រ៌មានរបស់បុគគលិក ច្ហើយ System នឹង ករ់ត្តាេុកកនុងតារាងច្្ ម េះ Staff ចំច្ េះបុគគលិកថ្មើ ដរច្បើបុគគលិក ចាស់វ ិញ ច្នាេះ System នឹងដកដត្បរួនាេើនិងត្បាក់ដសរបស់បុគគលិក ច្នេះ។ មាងច្េៀរនាយកត្កុមហុន មាននាេើកំ រ់នថ្ែលក់សំរាប់ េំនិញនើមួយៗកនុងតារាង Product ច្ហើយនាយកត្កុមហុនចាំេេួល របាយការ ៍ ាក់េងច្ៅនឹងត្បាក់ដសរបស់បុគគលិក របាយការ ៍ នាំចូលេំនិញច្ហើយនិងរបាយការ ៍ លក់េំនិញផងដែរ។ 22
  • 23.  ត្បេពផគរ់ផគង់ (Supplier) ផតល់ព័រ៌មានននេើកដនែងផគរ់ផគង់ ច្ោយ System នឹងករ់ត្តាេុកកនុងតារាងច្្ ម េះ Supplier ចំច្ េះត្បេព ផគរ់ផគង់ថ្មើបុច្ណា ណ េះ។ មាងច្េៀរ ត្បេពផគរ់ផគង់ផតល់ព័រ៌មានរបស់ េំនិញ ដែលត្រូវបាននាំចូល ច្ោយ System នឹងត្រួរពិនិរយច្មើល ថាច្រើេំនិញច្នេះមានច្ៅកនុងតារាងច្្ ម េះ Product ច្ហើយឬច្ៅ? ត្បសិនច្បើេំនិញច្នេះមានរួចច្ហើយ ច្នាេះ System នឹងដកដត្ប បរ ិមា របស់េំនិញច្នេះ ច្ោយយកបរ ិមា ចាស់បូកដថ្ម បរ ិមា នាំចូល។ ផទុយច្ៅវ ិញ System នឹងករ់ត្តាព័រ៌មានរបស់ េំនិញថ្មើច្នេះ ច្ៅផទុកកនុងតារាងច្្ ម េះ Product។ ជាចុងច្ត្កាយ System នឹងករ់ត្តាព័រ៌មានននការនាំចូល េំនិញច្ៅផទុកកនុងតារាងច្្ ម េះ Import។ 23
  • 24.  អរិថ្ិជនផតល់ព័រ៌មានរបស់េំនិញដែលគ្នរ់ចង់េិញ ច្នាេះ System នឹងត្រួរពិនិរយច្មើលថាច្រើេំនិញច្នេះមានត្គប់ត្គ្នន់ ដែរឬអរ់? ត្បសិនច្បើេំនិញច្នេះមិនមានត្គប់ត្គ្នន់ ច្នាេះ System នឹងបងា ា ញ Message ត្បាប់ច្ៅកាន់អរិថ្ិជនវ ិញ។ ផទុយច្ៅវ ិញ ច្នាេះ System នឹងករ់ត្តាព័រ៌មានរបស់អរិថ្ិជន ច្ៅផទុកកនុងតារាងច្្ ម េះ Customer ចំច្ េះអរិថ្ិជនថ្មើ បុច្ណា ណ េះ។ បនា ទ ប់មក System នឹងដកដត្បបរ ិមា របស់េំនិញ ដែលអរិថ្ិជនបានេិញ ច្ោយយកបរ ិមា ចាស់ែក បរ ិមា ដែលអរិថ្ិជនេិញកនុងតារាងច្្ ម េះ Product។ 24
  • 25. បនា ទ ប់មកច្េៀរ System នឹងករ់ត្តាព័រ៌មានននការបញ្ញ ជ េិញរបស់អរិថ្ិជន ច្ៅផទុកកនុងតារាងច្្ ម េះ Order។ System រំរូវច្ោយអរិថ្ិជនបង់ត្បាក់កក់ សំរាប់ការបញ្ញ ជ េិញច្នេះ ច្ោយ System នឹងករ់ត្តាេុកកនុងតារាងច្្ ម េះ Payment ដែលេេួលសុសត្រូវច្ោយបុគគលិក ោនច្ចញពើតារាងច្្ ម េះ Staff ច្េើប System បច្ញ្េញវ ិក័យបត្រច្ោយច្ៅអរិថ្ិជន ច្ែើមបើបង់ត្បាក់បង្គងគប់ច្ៅនថ្ៃច្ត្កាយ ច្ោយ System នឹងករ់ត្តា េុកកនុងតារាងច្្ ម េះ Payment ដែលេេួលសុសត្រូវច្ោយ បុគគលិកោនច្ចញពើតារាងច្្ ម េះ Staff។ 25
  • 26.  ចំណាំ៖ ចំច្ េះការនាំចូលនិងលក់េំនិញក៏ត្រូវបាន េេួលសុសត្រូវច្ោយបុគគលិក ាញច្ចញពើតារាង ច្្ ម េះ Staff ផងដែរ។ ក. ចូរគូស Context Diagram ស. ចូរគូស Top-Level Diagram គ. ចូរគូស Physical-Level Diagram 26
  • 27. ចច្មែើយ៖ តាមរយៈរច្បៀបរបបការងារខាងច្លើ ច្យើងោច កំ រ់បាន៖  Agent រួមមាន MANAGER, SUPPLIER និង CUSTOMER។  Data Store រួមមាន STAFF, PRODUCT, SUPPLIER, IMPORT, CUSTOMER, ORDER និង PAYMENT។ 27
  • 28. ឧាហរ ៍ េើ២៖ មា េ ស់សណា ា គ្នរត្រូវការត្បព័នធព័រ៌មានសំរាប់ ត្គប់ត្គងច្លើការសា ន ក់ច្ៅរបស់ច្េញៀវ ច្ោយមានរច្បៀបរបបការងារ ែូចខាងច្ត្កាម៖ ▪ នាយកត្បរិបរតិផតល់ព័រ៌មានរបស់ត្បច្េេបនទប់ ដែលត្រូវករ់ ត្តាេុក (ចំច្ េះត្បច្េេបនទប់ថ្មើ) ឬដកដត្ប (ចំច្ េះត្បច្េេ បនទប់ចាស់) កនុងតារាង ROOMTYPE។ នាយកត្បរិបរតិក៏មាន នាេើផតល់ព័រ៌មានរបស់បនទប់ច្ៅតាមត្បច្េេនិមួយៗ ច្ោយ ត្រូវករ់ត្តាេុក (ចំច្ េះបនទប់ថ្មើ) ឬដកដត្ប (ចំច្ េះបនទប់ ចាស់) កនុងតារាង ROOM។ 28
  • 29. ▪ ច្េញៀវបានត្បាប់នថ្ៃដែលត្រូវចូលសា ន ក់ច្ៅ ចំនួននថ្ៃសា ន ក់ច្ៅ និងត្បច្េេបនទប់ច្ែើមបើច្ោយ System រកបនទប់ដែលោច រកបានសំរាប់ការសា ន ក់ច្ៅរបស់ច្េញៀវ។ ច្បើ System មិន ោចរកបនទប់បាន ច្នាេះវានឹងបងា ា ញ Message ត្បាប់ច្ៅ ច្េញៀវ។ ផទុយច្ៅវ ិញ ច្បើ System ោចរកបនទប់បាន ច្នាេះវា នឹងករ់ត្តាព័រ៌មានរបស់ច្េញៀវដែលបានផតល់ច្ោយ ច្ៅផទុក កនុងតារាង GUEST ចំច្ េះច្េញៀវថ្មើបុច្ណា ណ េះ រួចវាពិនិរយច្មើល នថ្ៃដែលត្រូវចូលសា ន ក់ច្ៅ ច្រើ្ំជាងនថ្ៃបចេុបបននដែរឬអរ់? ច្បើពិរជា្ំជាង ច្នាេះ System នឹងករ់ត្តាព័រ៌មានននការ 29
  • 30. កក់បនទប់ច្ៅផទុកកនុងតារាង BOOKING ច្ហើយច្បើបនទប់ដែលច្េញៀវ បានកក់មាន Status ច្សមើនឹង កយ “Free” ច្េើបបតូរ Status របស់បនទប់ច្នេះកនុងតារាង ROOM ឲ្យច្សមើនឹង កយ “Booked”។ បនា ទ ប់មកបច្ងកើរវ ិក័យបត្រននការកក់បនទប់ច្នេះ ផតល់ច្ៅច្ោយ ច្េញៀវ ច្ែើមបើច្ោយច្េញៀវបង់ត្បាក់កក់ ដែលត្រូវករ់ត្តាេុកកនុង តារាង INCOME ដែលេេួលសុសត្រូវច្ោយបុគគលិកាញច្ចញ ពើតារាង STAFF។ ផទុយច្ៅវ ិញច្បើនថ្ៃចូលសា ន ក់ច្ៅរូចជាងឬច្សមើ នថ្ៃបចេុបបនន ច្នាេះ System នឹងករ់ត្តាព័រ៌មានននការសា ន ក់ច្ៅ របស់ច្េញៀវផទុកកនុងតារាង CHECKIN រួចបតូរ Status កនុងតារាង ROOM ច្ោយច្សមើនឹង កយ “Checkin”។ 30
  • 31. ▪ System នឹងចំលងព័រ៌មានននការកក់បនទប់ាំងឡាយដែល ែល់នថ្ៃកំ រ់ត្រូវចូលសា ន ក់ច្ៅ (CheckInDate <= Date) ច្ចញពើតារាង BOOKING ច្ៅផទុកកនុងតារាង CHECKIN ច្ោយបតូរ Status ននបនទប់ាំងច្នេះកនុងតារាង ROOM ច្ោយ ច្សមើនឹង កយ “CheckIn” រួចលុបព័រ៌មានននការកក់បនទប់ាំង ច្នេះច្ចញពើតារាង BOOKING។ បនា ទ ប់មក System នឹង ចំលងព័រ៌មានននការសា ន ក់ច្ៅាំងឡាយដែលែល់នថ្ៃកំ រ់ ត្រូវចាកច្ចញ (CheckOutDate <= Date) ច្ចញពើតារាង CHECKIN ច្ៅផទុកកនុងតារាង CHECKINEXPIRE ច្ោយបតូរ 31
  • 32. Status ននបនទប់ាំងច្នេះ កនុងតារាង ROOM ច្ោយច្សមើនឹង កយ “Booked” (ត្បសិនច្បើមានច្គកក់បនត) ក៏បុដនតត្បសិនច្បើគ្ន ម នច្គកក់បនត ច្នាេះវាត្រូវបតូរ Status របស់បនទប់ាំងច្នេះច្ោយច្សមើនឹង កយ “Free” ច្ហើយលុបព័រ៌មានននការសា ន ក់ច្ៅដែលែល់នថ្ៃចាកច្ចញាំងច្នេះ ច្ចញ ពើតារាង CHECKIN។ ▪ មុននឹងចាកច្ចញពើសណា ា គ្នរ System នឹងបច្ងកើរវ ិក័យបត្រផតល់ច្ោយ ច្េញៀវដែលត្រូវចាកច្ចញ ច្ែើមបើច្ោយច្េញៀវបង់ត្បាក់ដែលត្រូវករ់ត្តាេុក កនុងតារាង INCOME ដែលេេួលសុសត្រូវច្ោយបុគគលិកាញច្ចញពើ តារាង STAFF។ បនា ទ ប់មក System នឹងចំលងព័រ៌មានននការសា ន ក់ ច្ៅរបស់ច្េៀវច្នេះច្ចញពើតារាង CHECKINEXPIRE ច្ៅផទុកកនុងតារាង CHECKOUT រួចលុបព័រ៌មានននការសា ន ក់ច្ៅរបស់ច្េញៀវច្នេះច្ចញពើ តារាង CHECKINEXPIRE។ 32
  • 33. ក. ចូរគូស Context Diagram ស. ចូរគូស Physical-Level Diagram ចច្មែើយ៖ តាមរយៈរច្បៀបរបបការងារខាងច្លើ ច្យើងោចកំ រ់ បាន៖ ▪ Agent មានែូចជា MANAGER និង GUEST។ ▪ Data Store មានែូចជា ROOMTYPE, ROOM, GUEST, BOOKING, INCOME, STAFF, CHECKIN, CHECKINEXPIRE និង CHECKOUT។ 33
  • 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
  • 45. ៣. Decision Tree និង Decision Table៖ ៣.១. Decision Tree៖ Decision Tree គឺជាការកំ រ់កបួនចាប់ឬច្គ្នលការ ៍ និងលកខស ឌ ននែំច្ ើ រត្បរិបរតិេិននន័យាំងឡាយ របស់ត្បព័នធ ិ ជជកមមកនុងេំរង់ជាដមកធាង (Tree)។ Decision Tree មានអរថត្បច្យាជន៍សំរាប់ច្ោយ Programmer យកច្ៅច្ត្បើត្បាស់កនុងការកំ រ់លកខស ឌ ច្ៅ តាមកបួនចាប់ឬច្គ្នលការ ៍ ច្ែើមបើកំ រ់សកមមភាពដែលត្រូវ អនុវរត។ 45
  • 47. ៣.២. Decision Table៖ Decision Table គឺជាតារាងសច្ងខប ដែលបងា ា ញនូវេំនាក់ េំនងរវាងកបួនចាប់ (Rules) ជាមួយនឹងលកខស ឌ ច្ែើមបើ កំ រ់នូវសកមមភាព (Action) ដែលត្រូវអនុវរត។ 47 Rule No Conditions 1 2 … N Condition1 … ConditionN Action1 … ActionN ោក់អកេរ Y ចំច្ េះ Condition នើមួយៗដែល ត្រូវគ្ន ន ជាមួយនឹង Rule No នើមួយៗ។ ផទុយច្ៅ វ ិញោក់អកេរ N។ ោក់អកេរ X សំរាប់ Rule No នើមួយៗ ដែលត្រូវអនុវរតនូវ Action ណាមួយ។
  • 48. ឧាហរ ៍ ៖ ចូរគូស Decision Tree និង Decision Table សំរាប់ច្្វើេំនាក់េំនងរវាងកបួនចាប់ ឬច្គ្នលការ ៍ ននការច្ផញើ ត្បាក់របស់្នាគ្នរមួយជាមួយនឹងលកខស ឌ ដែលត្រូវកំ រ់ ច្ែើមបើកំ រ់អត្តាការត្បាក់ែូចខាងច្ត្កាម៖ + ចំច្ េះត្បច្េេ Saving Account៖ - ការច្ផញើត្បាក់ច្រៀលនឹងេេួលបានការត្បាក់ 4% កនុងមួយឆ្ ន ំ - ការច្ផញើត្បាក់ែុល្ល ែ នឹងេេួលបានការត្បាក់ 3% កនុងមួយឆ្ ន ំ 48
  • 49. + ចំច្ េះត្បច្េេ Fixed Account៖ - ការច្ផញើត្បាក់ច្រៀលកនុងរយៈច្ពលកំ រ់៖ . ៣ដសនឹងេេួលបានការត្បាក់ 6% កនុងមួយឆ្ ន ំ . ៦ដសនឹងេេួលបានការត្បាក់ 8% កនុងមួយឆ្ ន ំ . ១២ដសនឹងេេួលបានការត្បាក់ 10% កនុងមួយឆ្ ន ំ - ការច្ផញើត្បាក់ែុល្ល ែ កនុងរយៈច្ពលកំ រ់៖ . ៣ដសនឹងេេួលបានការត្បាក់ 4% កនុងមួយឆ្ ន ំ . ៦ដសនឹងេេួលបានការត្បាក់ 6% កនុងមួយឆ្ ន ំ . ១២ដសនឹងេេួលបានការត្បាក់ 8% កនុងមួយឆ្ ន ំ 49
  • 50. ចច្មែើយ៖ Decision Tree មានត្េង់ត្ាយ៖ 50 1 2 2 3 3 3 3 1 3 4% 6% Rule No 2 3% 4 6 Months 4 4 8% 4 5 10% 6 4% 4 6 Months 4 7 6% 4 8 8%
  • 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 មានត្េង់ត្ាយែូចខាងច្ត្កាម៖
  • 52. លំោរ់េើ១៖បណា ណ ល័យហុនដសន (Hun Sen Library) ត្រូវការ ត្បព័នធពរ៌មានសំរាប់ត្គប់ត្គងការចុេះច្្ ម េះនិងការសេើច្សៀវច្ៅ ដែល មានរច្បៀបរបបការងារែូចរច្ៅ៖ + ច្ៅច្ពលចុេះច្្ ម េះ អនកោន (READER) ត្រូវផតល់ព័រ៌មានផ្ទ ទ ល់ សែួន ច្នាេះ System នឹងត្រួរពិនិរយច្មើលកនុងតារាង READER ថាច្រើ ព័រ៌មានរបស់អនកោនច្នេះមានដែរឬអរ់? ច្បើអរ់មាន ច្នាេះ System នឹងករ់ត្តាព័រ៌មានរបស់អនកោនច្នេះ េុកកនុងតារាង READER បនា ទ ប់មករំរូវច្ោយអនកោនបង់ត្បាក់សំរាប់ការចុេះ ច្្ ម េះច្ោយករ់ត្តាេុកកនុងតារាង INCOME ច្េើបបច្ងកើរ Card ផត ល់ច្ៅច្ោយអនកោន។ ផទុយច្ៅវ ិញ វានឹងពិនិរយច្មើលកនុងតារាង READER ថាច្រើ ExpireDate ហួសនថ្ៃកំ រ់ដែរឬអរ់? 52
  • 53. ច្បើហួសនថ្ៃកំ រ់ ច្នាេះ System នឹងបងា ា ញ Message ត្បាប់ ច្ៅអនកោន ច្ោយបង់ត្បាក់ ច្ហើយច្ៅច្ពលអនកោនបង់ត្បាក់ ដែលត្រូវករ់ត្តាេុកកនុងតារាង Income ច្េើប System ដកដត្បនថ្ៃ ផុរកំ រ់ (ExpireDate) ថ្មើកនុងតារាង Reader សំរាប់អនកោន ច្នេះ រួចបច្ងកើរ Card ច្ោយច្ៅអនកោនច្នេះ។ ផទុយច្ៅវ ិញ ច្បើមិន ហួសនថ្ៃកំ រ់ ច្នាេះ System នឹងត្រួរពិនិរយកនុងតារាង BorrowExpire ថាច្រើសមាជិកអនកោនច្នេះបានសេើច្សៀវច្ៅហួស នថ្ៃកំ រ់ដែរឬអរ់? ច្បើអនកោនច្នេះបានសេើច្សៀវច្ៅហួសនថ្ៃ កំ រ់ ច្នាេះ System នឹងបងា ា ញ Message ត្បាប់ច្ៅអនកោន ច្ោយបានែឹង។ ផទុយច្ៅវ ិញ ច្នាេះ System នឹងត្រួរពិនិរយ 53
  • 54. កនុងតារាង LimitBorrow និងតារាង Borrow ថាច្រើអនកោនច្នេះ បានសេើច្សៀវច្ៅត្គប់ចំនួនកំ រ់ច្ហើយឬច្ៅ? ច្បើសេើត្គប់ចំនួនរួច ច្ហើយ ច្នាេះ System នឹងបងា ា ញ Message ត្បាប់ច្ៅអនកោន ច្ោយែឹង។ ផទុយច្ៅវ ិញច្បើមិនាន់ត្គប់ចំនួន ច្នាេះ System នឹងករ់ត្តាពរ៌មានននការសេើច្សៀវច្ៅរបស់អនកោនច្នេះេុកកនុង តារាង Borrow រួចដកដត្បបរ ិមា ច្សៀវច្ៅច្នេះ កនុងតារាង Book ច្ោយយកបរ ិមា ចាស់ែកមួយ។ ចូរគូស Context Diagram និង Physical Level Diagram សំរាប់ែំច្ ើ រការខាងច្លើ។ 54
  • 55. លំោរ់េើ២៖ ចូរគូស Physical-Level (Detail) Diagram សំរាប់ព ៌ នាអំពើសកមមភាពននការសង ច្សៀវច្ៅរបស់អនកោន កនុងបណា ណ ល័យមួយ ដែលមាន ែំច្ ើ រការែូចរច្ៅ៖ ▪ អនកោន (Reader) ត្រូវផតល់ព័រ៌មានែូចជា ID Card និងច្សៀវច្ៅដែលត្រូវសង ច្ពលច្នាេះ System នឹង ត្រួរពិនិរយច្មើលកនុងតារាង BORROWEXPIRE ថាច្រើ មាន ID Card របស់អនកោនច្នេះដែរឬក៏អរ់? 55
  • 56. ត្បសិនច្បើពិរជាមាន ច្នាេះ System នឹងបច្ងកើរវ ិក័យបត្រផ្ទកពិន័យ ច្ោយាញេិននន័យពើតារាង BORROWEXPIRE តារាង READER និងតារាង BOOK សំរាប់ផតល់ច្ៅច្ោយអនកោន ច្ែើមបើបង់ត្បាក់ ដែលត្រូវករ់ត្តាេុកកនុងតារាង INCOME ដែលេេួលសុសត្រូវច្ោយ បុគគលិកោនច្ចញពើតារាង STAFF បនា ទ ប់មក System នឹងចំលង ព័រ៌មានននការសេើច្សៀវច្ៅរបស់អនកោនច្នេះ ច្ចញពើតារាង BORROWEXPIRE ច្ៅផទុកកនុងតារាង RETURN ច្ហើយលុប ព័រ៌មានននការសេើច្សៀវច្ៅរបស់អនកោនច្នេះ ច្ចញពើតារាង BORROWEXPIRE រួចដកដត្បបរ ិមា របស់ច្សៀវច្ៅ (StockQty) កនុងតារាង BOOK ច្ោយយកបរ ិមា ចាស់បូកដថ្ម១។ 56
  • 57. ផទុយច្ៅវ ិញ (មិនមាន) ច្នាេះ System នឹងចំលងព័រ៌មានននការ សេើច្សៀវច្ៅរបស់អនកោនច្នេះច្ចញពើតារាង BORROW ច្ៅផទុក កនុងតារាង RETURN ច្ហើយលុបព័រ៌មានននការសេើច្សៀវច្ៅ របស់ អនកោនច្នេះច្ចញពើតារាង BORROW រួចដកដត្បបរ ិមា របស់ ច្សៀវច្ៅ (StockQty) កនុងតារាង BOOK ច្ោយយកបរ ិមា ចាស់បូកដថ្ម១។ 57