Uthairatt PhangpholInformatics of facultySripatum University
Chonburi Campus
BCS213 หลั�กการโปรแกรมทางธุ�รก�จ
หลั�กการท�างานของเคร��องคอมพิ�วเตอร�
มี� 4 ขั้��นตอน คื�อ
Inpu
t
Processing
Output
Storage
Raw Data
1 2 3
4
Information
ภาพิแสดงลั�กษณะการท�างานของเคร��องคอมพิ�วเตอร�
ลั�กษณะท$�ส�าค�ญของ Computer
1. ความเร&ว (Speed)2. ความน'าเชื่��อถื�อได+(Reliability)
3. เก&บบ�นท-กข+อม.ลั (Storage)
ลั�กษณะท$�ส�าค�ญของ Computer
การท�างานของ Computer ต+องอาศั�ยโปรแกรม / ชื่�ดค�าส��งท$�เร$ยกว'า
Computer Program Instructions / Software ถื-งจะสามารถืท�างานได+
ขั้�อมี ล
Main
Memory
Program
Load
ป1อนเข+า
Output
ท�าการประมวลัผลั(Execut
e)
องค�ประกอบของระบบคอมพิ�วเตอร�
1. Hardware- Input Device - Processing Device- Output Device - Storage Device- Other Device (CPU e.g. Pentium III, Monitor,Keyboard & Mouse,Memory,Hard disk)
2. Software - System Software
•Operating System e.g. Window , DOS•Compiler e.g. C CompilerC Compiler
- Application Software
องค�ประกอบของระบบคอมพิ�วเตอร� 3. Peopleware
- System Analyst- Programmer- User- Computer Operators- Data Entry Operators
4. Data- Primary Data- Secondary Data
ภาษาเคร��องคอมพิ�วเตอร� 1. Machine Language
2. Low Level Language เชื่'น Assembly
3. Midern Level Language เชื่'น C , Forth
4. High Level Language เชื่'น Ada , Modula-2, Pascal, Cobol, Fortran, Basic
ผ�งงาน (Flow Chart)ผ�งงาน (Flowchart) - เป4นแผนภ.ม�
ท$�แสดงลั�าด�บข�5นตอนการท�างาน โดยใชื่+ภาพิส�ญลั�กษณ�ท$�ม$ความหมาย สามารถืเห&นข�5นตอนการท�างานเหลั'าน�5นได+อย'างชื่�ดเจน
ต�วอย'าง Template ส�าหร�บเข$ยนผ�งงาน
ผ�งงาน (Flow Chart)ผ�งงานระบบ (System Flowchart) - ค�อผ�ง
แสดงข�5นตอนการท�างานภายในระบบ ค�าว'า ระบบ“งาน น�5นม$ความหมายกว+างขวางกว'าโปรแกรม เพิราะ”หมายถื-งส'วนต'าง ๆ ท$�เก$�ยวข+องก�บงานท�5งหมด ท�5งว�สด� เคร��องจ�กรอ�ปกรณ�แลัะบ�คลัากร ผ�งระบบงานจะแสดงข�5นตอนต�5งแต'เร��มต+นว'าม$เอกสารเบ�5องต+นเร��มจากส'วนใดของระบบงาน แลัะผ'านไปย�งหน'วยงานใด ม$ก�จกรรมอะไรในหน'วยงานน�5น ส'งงานต'อไปท$�ใดจ-งเสร&จส�5น ด�งน�5นบางส'วนจะเก$�ยวข+องก�บคน ในขณะท$�บางส'วนจะเป4นว�ธุ$การท$�ต+องใชื่+คอมพิ�วเตอร� ซึ่-�งจะต+องน�าส'วนท$�ใชื่+เคร��องคอมพิ�วเตอร�มาแยกเข$ยนโปรแกรม รวมท�5งแสดงรายลัะเอ$ยดการท�างานแยกออกมาเป4น ผ�งงานโปรแกรม (Program Flowchart)
ผ�งงาน (Flow Chart)
ผ�งงานโปรแกรม (Program Flowchart) - ผ�งแสดงลั�าด�บข�5น ตอนการท�างานใน
โปรแกรม ด�งน�5นจ-งม$ส'วนแสดงการท�างานในข�5นการร�บข+อม.ลั การค�านวณหร�อการประมวลัผลั แลัะการแสดงผลัลั�พิธุ� ผ�งงานโปรแกรมน$5อาจเร$ยกอ$กอย'างว'า ผ�งการเข$ยนโปรแกรม หร�อ ผ�งงาน
ประโยชื่น�ของการเข$ยนผ�งงาน
•การเข$ยนผ�งงานน$5ท�าต'อเน��องจากการว�เคราะห�ป9ญหา ผ.+เข$ยนผ�งงานสามารถืถื'ายทอดความเข+าใจ แลัะผลัท$�ได+จากการว�เคราะห� แสดงออกมาเป4นภาพิตามลั�าด�บ เพิ��อแสดงลั�กษณะการท�างานต'าง ๆ ท$�เก�ดข-5น นอกจากน$5ผ�งงานจะชื่'วยให+สามารถืตรวจสอบความถื.กต+องของลั�าด�บข�5นตอนในการท�างานได+สะดวก
ประโยชื่น�ของการเข$ยนผ�งงาน•การศั-กษาโปรแกรมโดยด.จากผ�งงานก'อน จะ
ท�าให+เข+าใจได+อย'างรวดเร&วแลัะง'ายข-5น ชื่'วยลัดเวลัาส�าหร�บผ.+อ��นท$�ต+องการด.โปรแกรม
•การบ�าร�งร�กษาโปรแกรม (Program Maintenance) สามารถืท�าได+ง'าย แลัะม$ประส�ทธุ�ภาพิมากย��งข-5น เน��องจากโดยปกต�โปรแกรมท$�เข$ยนเสร&จแลัะน�าไปใชื่+งานแลั+วจะต+องม$การบ�าร�งร�กษาให+ตรงก�บความต+องการของการใชื่+งานอย.'เสมอ ๆ
ส�ญลั�กษณ�ท$�ใชื่+ในการเข$ยนผ�งงานภาพิ ความหมาย
การเร��มต+น หร�อ การลังท+ายร�บข+อม.ลัหร�อแสดงข+อม.ลัโดยไม'ระบ�ชื่น�ดของอ�ปกรณ�
บ�ตรเจาะข+อม.ลั ใชื่+ร�บข+อม.ลั หร�อแสดงข+อม.ลัการร�บข+อม.ลัเข+าทางแป1นพิ�มพิ�
การค�านวณการเปร$ยบเท$ยบ
การก�าหนดค'าลั'วงหน+า หร�อก�าหนดค'าเป4นชื่�ดต�วเลัข
ส�ญลั�กษณ�ท$�ใชื่+ในการเข$ยนผ�งงานภาพิ ความหมาย
การแสดงผลัทางจอภาพิการแสดงผลัทางเคร��องพิ�มพิ�เทปแม'เหลั&ก
จานแม'เหลั&กการท�างานย'อยเส+นแสดงท�ศัทาง
จ�ดต'อเน��องในหน+าเด$ยวก�นจ�ดต'อเน��องคนลัะหน+า
ค�าอธุ�บาย
ลั�กษณะการเข$ยนผ�งงานท$�ด$• ในหน-�งผ�งงานม$ทางเข+า หร�อจ�ดเร��มต+นแลัะทางออกหร�อจ�ดส�5นส�ด เพิ$ยงทางเด$ยว• ลั�าด�บข�5นตอนการท�างานควรเร��มจากบนลังลั'างหร�อจากซึ่+ายไปขวา• ในส�ญลั�กษณ�ใด ๆ ม$ทางออกเพิ$ยงทางเด$ยวยกเว+นส�ญลั�กษณ�แสดง การต�ดส�นใจหร�อทางเลั�อกสามารถืม$ทางออกไปอย'างน+อยสองทาง• เส+นทางเด�นในผ�งงานควรชื่�ดเจน เป4นระเบ$ยบ• ข+อความหร�อค�าส��งใด ๆ ท$�อย.'ในส�ญลั�กษณ�ควรส�5นกระชื่�บได+ใจความ แลัะสามารถืเข+าใจได+ง'าย• ใชื่+ส�ญลั�กษณ�ท$�ม$ขนาดเหมาะสมก�บค�าส��ง
ร.ปแบบของผ�งงานสามารถืเข$ยนได+โดยใชื่+ร.ปแบบพิ�5นฐานของผ�งงาน
3 ร.ปแบบ ค�อ 1. ร.ปแบบเร$ยงลั�าด�บ (Simple
Sequence Structure) ร.ปแบบเร$ยงลั�าด�บ เป4น ลั�กษณะงานแบบเร$ยงลั�าด�บลัง มาเร��มต�5งแต'การเร��มต+นจนกระท��ง เสร&จส�5น
เริ่��มีต�น
อ�านขั้�อมี ล
ปริ่ะมีวลผล
พิ�มีพิ�ผลล�พิธ์�
หยุ�ดการิ่ทำ"างาน
ต�วอย'าง 1. จงเข$ยน Algorithm , เข$ยน Flow
Chart แลัะ โปรแกรมภาษาซึ่$ เพิ��อท�าการค�านวณหาพิ�5นท$�ส$�เหลั$�ยมผ�นผ+า
2 . จงเข$ยน Algorithm , เข$ยน Flow Chart แลัะ โปรแกรมภาษาซึ่$ เพิ��อท�าการค�านวณหาพิ�5นท$�สามเหลั$�ยม
3 . จงเข$ยน Algorithm , เข$ยน Flow Chart แลัะ โปรแกรมภาษาซึ่$ เพิ��อท�าการค�านวณหาคะแนนรวม ของคะแนนทดสอบ คะแนนสอบกลัางภาค คะแนนสอบปลัายภาค
4 . จงเข$ยน Algorithm , เข$ยน Flow Chart แลัะ โปรแกรมภาษาซึ่$ ในการค�านวณหารายได+ของพิน�กงาน ซึ่-�งเก�ดจากเง�นเด�อน แลัะ ค'าเง�นลั'วงเวลัาท$�ได+ร�บ (ค'าเง�นลั'วงเวลัา = จ�านวนชื่��วโมงท$�ท�างาน * อ�ตราค'าลั'วงเวลัา)
ร.ปแบบของผ�งงาน 2. ร.ปแบบท$�ม$การก�าหนดเง��อนไข (If - Then Structure) - เป4นร.ปแบบท$�ม$การสร+างเง��อนไข (Condition) ให+เลั�อก ค�อ ข+อม.ลัท$�ผ'านเง��อนไขน�5นเป4นความจร�งหร�อไม' ก&จะไปตามเส+นทางการไหลัของ Flow น�5น
เ ริ่��มี ต� น
อ� า น ขั้� อ มี ลA Bแ ล ะ
Aพิ� มี พิ�
ห ยุ� ด ก า ริ่ทำ"า ง า น
A > B
Bพิ� มี พิ�
Y es, True N o, False
Condition X
Function A Function C Function DFunction B
X = a X = b X = c X = d
ร.ปแบบของผ�งงาน 3. ร.ปแบบท$�ม$การวนการท�างานซึ่�5า
(Looping) เป4นร.ปแบบท$�ม$การท�างานวนซึ่�5าใหม'หลัาย ๆ คร�5ง ท�5งน$5การวนซึ่�5าแต'ลัะคร�5งจะต+องเป4นไปตามข�5นตอน ในผ�งงานร.ปแบบชื่น�ดน$5อาจเป4นร.ปแบบท$�ใชื่+ในการตรวจสอบเง��อนไข แลัะตรวจเชื่&คผลัลั�พิธุ�ท$�ได+มาว'าถื.กต+องแลั+วหร�อย�ง เป4นการประมวลัผลั 1 เรคคอร�ด จนกระท��งเรคคอร�ดภายในข+อม.ลัน�5นจะถื.กท�าการประมวลัผลัจนหมดไฟลั�ข+อม.ลั ซึ่-�งเป4นการท�างานวนซึ่�5าก�นเร��อยๆไป
ร.ปแบบของผ�งงานการท�างานวนรอบม$ 2 ประเภท ค�อ
1. Pre-condition Loop ค�อ การท�างานท$�เชื่&คเง��อนไข
ก'อน การท�าซึ่�5า เชื่'น Loop For แลัะ Loop While
2. Post-condition Loop ค�อ การเชื่&คเง��อนไขหลั�งจาก
ปฏิ�บ�ต�งานในส'ว ของการท�าซึ่�5ามาแลั+วอย'างน+อย 1
คร�5ง เชื่'น Do…While
ร.ปแบบการท�างานซึ่�5า
ร.ปแบบของผ�งงานเริ่��มีต�น
อ�านขั้�อมี ล
ปริ่ะมีวลผล
หมีดขั้�อมี ล
พิ�มีพิ�ผลล�พิธ์�
หยุ�ดทำ"างาน
yes
Yes
NO
ข�5นตอนการพิ�ฒนาโปรแกรม• แบ่�งเป&นด�งน��
1. การว�เคราะห�ป9ญหา(Problem Analysis)1.1 เอกสาริ่คืวามีต�องการิ่ขั้องผ �ใช้� (User
Requirement Document) 12. การิ่ว�เคืริ่าะห�คืวามี
ต�องการิ่(Requirements Analysis) เทำคืน�คืทำ��ช้�วยุในการิ่พิ�จาริ่ณาคืวามีต�องการิ่ขั้องริ่ะบ่บ่
1. การิ่ส�มีภาษณ�(Interviewing)2. การิ่ส�งเกต�(Observation)3. แบ่บ่สอบ่ถามี(Questionaies)
- คื"าถามีแบ่บ่เป/ด- คื"าถามีแบ่บ่ป/ด
13. การก�าหนดขอบเขตของป9ญหา(Problem Definition)- ต+องก�าหนดให+ชื่�ดเจนว'ารายลัะเอ$ยดของป9ญหาม$อะไรบ+าง
เป4นอย'างไร- ก�าหนดขอบเขตการแก+ไข- ก�าหนดต�วแปร - ค'าคงท$�ท$�ต+องใชื่+ม$ลั�กษณะใดบ+าง- ถื+าเราไม'ก�าหนดขอบเขต จะท�าให+เก�ดความย�'งยากในการ
แก+ไขป9ญหา- การก�าหนดขอบเขตของป9ญหาน$5 ถื�อว'าม$ความส�าค�ญอย'าง
หน-�งระหว'างผ.+ใชื่+ระบบ(User) ก�บผ.+พิ�ฒนาระบบ โดยจะถื�อว'าเป4นข+อตกลังท$�จะพิ�ฒนาโปรแกรมไปตามขอบเขตท$�ก�าหนดไว+(ถื�อเป4นส�ญญาว'าจ+างในการพิ�ฒนาระบบ)
ข�5นตอนการพิ�ฒนาโปรแกรม
14. การก�าหนดค�ณลั�กษณะของข+อม.ลัเข+าแลัะออกจากระบบ(Input/Output) Specification)
- ก�าหนดว'าข+อม.ลัท$�จะส'งเข+าไปเป4นอย'างไร- ก�าหนดว�ธุ$การน�าข+อม.ลัเข+า เชื่'น ร�บค'า
จาก Keyboard,Mouse- ก�าหนดข+อม.ลัท$�จะแสดงออกมา(ผลัลั�พิธุ�
จะต+องค�าน-งถื-งความจ�าเป4นในการใชื่+งาน)- ก�าหนดลั�กษณะของการแสดงออกของ
ข+อม.ลั เชื่'น Monitor, Printer
ข�5นตอนการพิ�ฒนาโปรแกรม
15. การก�าหนดโครงสร+างข+อม.ลัท$�ใชื่+ในโปรแกรมแลัะข+อม.ลัท$�เข+าแลัะ ออกของโปรแกรม(Global Variable Definition)
- ก�าหนดโครงสร+างของข+อม.ลัท$�ใชื่+ในโปรแกรม- ก�าหนดชื่น�ดของต�วแปรท$�เข+าแลัะออกจากระบบ
EX. ก�าหนดให+ต�วแปร Data เป4นต�วแปรท$�เก&บข+อม.ลัจ�านวน 10
ข+อม.ลั(ต�วแปร Array ) ข+อม.ลัท$�ร�บเป4นข+อม.ลัจ�านวนจร�ง- ร�บข+อม.ลัจ�านวน 10 ข+อม.ลั- ร�บข+อม.ลัเข+าทาง Keyboard ท$ลัะค'า แลัะเม��อค�านวณเสร&จให+
แสดงผลับนจอภาพิ- ก�าหนดต�วแปร Average เป4นต�วแปรท$�เก&บผลัลั�พิธุ� ม$ชื่น�ดเป4น
จ�านวนจร�ง- ผลัลั�พิธุ�ท$�แสดงเป4นเลัขจ�านวนจร�ง ม$ทศัน�ยม 5 ต�าแหน'ง
ข�5นตอนการพิ�ฒนาโปรแกรม
2. การออกแบบข�5นตอนการแก+ไขป9ญหา(Algorithm Design)เม��อเราได+ก�าหนดการว�เคราะห�ป9ญหา(Problem Analysis) เป4นท$�เร$ยบร+อยแลั+ว เราจะน�าเอาผลัการว�เคราะห�ป9ญหา มาจ�ดการต'อด�งน$5
21 ร'างแนวการแก+ไขป9ญหาค�อการก�าหนดว�ธุ$การแก+ไขป9ญหา โดยย-ดหลั�กจาก
ก'อนมาหลั�ง ในกรรมว�ธุ$การแก+ไขป9ญหาจะประกอบด+วยข�5นตอนย'อย ๆ หลัายข�5นตอนอย.'เร$ยงก�น ข�5นตอนท$�จะต+องท�าก'อนก&จะอย.'ก'อนข�5นต+อนท$�จะท�าภายหลั�ง
ข�5นตอนการพิ�ฒนาโปรแกรม
EX 1. ร�บค'าจาก Keyboard 1. Read Value1,Value2,Value3 2. หาค'า Average 2. Compute Average3. แสดงผลัทาง Monitor 3. Write Average
22. การเข$ยนอ�ลักอลั�ท-ม(Algorithm) หร�อค�าส��งเท$ยม(Pseudocode)การเข$ยนค�าส��งเท$ยมจะม$ลั�กษณะคลั+ายคลั-งก�บร'างท$�เราร'างในข�5นต+น แต'จะม$ร.ปแบบชื่�ดเจนแลัะก�าหนดต�วแปรแน'นอน
ข�5นตอนการพิ�ฒนาโปรแกรม
Ex. Algorithm average
1.1 Read(value1)1.2 Read(value2) 1.3 Read(value3)2.1 Sum = value1 +
value2 + value32.2 Average = sum/33.1 Write Average
ข�5นตอนการพิ�ฒนาโปรแกรม____
10203020
ข�5นตอนการพิ�ฒนาโปรแกรม (ข+อสอบ)
Ex. Algorithm average1.1 Write “Please Input
Number1 =“
1.2 Read(value1)
1.3 Write “Please Input Number2=“
1.4 Read(value2)
1.5 Write “Please Input Number3=“
1.6 Read(value3)
2.1 Sum = value1 + value2 + value3
2.2 Average = sum/3
3.1 Write “Total = “
3.2 Write Sum
3.3 Write “Average =“
3.4 Write Average
Please Input Number1=10
Please Input Number2=20
Please Input Number3=30
Total = 60Average = 20
23. การเข$ยนผ�งงานระบบ(Flowchart)
Flowchart ค�อ แผนภาพิท$�ใชื่+อธุ�บายการท�างาน โดยอาศั�ยร.ปทรงต'าง ๆ ควบไปก�บลั.กศัร โดยในแต'ลัะร.ปจะหมายถื-งการท�างานหน-�งข-5นตอน แลัะลั.กศัรจะแทนลั�าด�บการท�างานของข�5นตอนต'าง ๆ
ข�5นตอนการพิ�ฒนาโปรแกรม
3. ใชื่+คอมพิ�วเตอร�ในการแก+ไขป9ญหา (Computer Solution)3.1 การเข$ยนโปรแกรม(Writing a Program)3.2 การทดสอบแลัะแก+ไขโปรแกรม
1 . Syntax Error ไวกรณ�ผ�ด 2. Run Time Error
3. LLLLL LLLLL การค�ดค�านวณผ�ดข�5นตอน ไม'แสดงข+อม.ลัให+เราเห&น 4. การจ�ดท�าค.'ม�อ(Documentation)4.1 ค.'ม�อการใชื่+งาน
42. ค.'ม�อส�าหร�บผ.+พิ�ฒนาหร�อผ.+เข$ยนโปรแกรม
ข�5นตอนการพิ�ฒนาโปรแกรม
ข�5นตอนการพิ�ฒนาโปรแกรม1. Define the problem2. Outline the solution3. Develop the Outline into an
algorithm4. Test the algorithm for correctness 5. Code the algorithm into a specific
programming language6. Run the program on the computer7. Document and maintain the
program
5. บ�าร�งร�กษาโปรแกรม(Maintenance) เป4นข�5นตอนท$�ได+น�าโปรแกรมไปต�ด
ท�5ง(Install) ใชื่+งานแลั+ว จะต+องคอยตรวจสอบ การใชื่+งานจร�งของโปรแกรม เพิ��อแก+ไขข+อผ�ดพิลัาดท$�อาจจะเก�ดข-5นได+ภายหลั�ง หร�อเพิ��อพิ�ฒนาโปรแกรมให+เหมาะสมก�บการใชื่+งานให+มากย��งข-5น แลัะเม��อเวลัาผ'านไป
ข�5นตอนการพิ�ฒนาโปรแกรม
1. การก�าหนดป9ญหา(Define the problem)
• เป4นข�5นตอนการท�าความเข+าใจก�บป9ญหาท$�ต+องการแก+ไข• เพิ��อต+องการให+โปรแกรมตรงตามว�ตถื�ประสงค�ของงาน
แลัะตรงตามความต+องการของผ.+ใชื่+ให+มากท$�ส�ด–จ�ดมี��งหมีายุขั้องโปริ่แกริ่มีทำ��จะเขั้�ยุนขั้1�นคื�ออะไริ่– Input ในโปริ่แกริ่มีต�องเป&นขั้�อมี ลปริ่ะเภทำใด และจ"าเป&น
ต�องมี�ขั้�อมี ลเขั้�าอะไริ่บ่�าง ขั้�อมี ลเหล�าน��มีาจากทำ��ใด–Output ขั้องโปริ่แกริ่มีจะมี�ริ่ ปแบ่บ่หริ่�อล�กษณะใด–มี�ว�ธ์�การิ่ปริ่ะมีวลผล(Processing)อยุ�างไริ่
2. โครงร'างของการแก+ป9ญหา(Outline the Solution)
•เป4นการก�าหนดลั�าด�บข�5นตอนการประมวลัผลัก'อนหลั�งอย'างหยาบ ๆ
•เพิ��อให+เคร��องคอมพิ�วเตอร�ท�าการแก+ป1ญหาให+ได+ค�าตอบหร�อผลัลั�พิธุ�
•เพิ��อให+ได+ โครงร'างของการแก+ป9ญหา(Outline the solution)
2. Develop the Outline into an algorithm
• น�าโครงร'างของการแก+ป9ญหาท$�ได+ออกแบบลั�าด�บข�5นตอนมาแลั+ว น�ามาพิ�ฒนาเป4นอ�ลักอร�ท-ม(Algorithm)
• จะม$ความลัะเอ$ยดมากข-5นกว'าโครงร'างการแก+ป9ญหา• ท�าให+เห&นภาพิลั�าด�บของค�าส��งเม��อลังม�อเข$ยนโปรแกรม
ส��งงานคอมพิ�วเตอร� ท$�เร$ยกว'า ลั�าด�บข�5นตอนว�ธุ$การแก+ป9ญหา
Algorithm หมายถื-ง ข�5นตอนว�ธุ$ท$�เก$�ยวข+องก�บรายการของค�าส��งท$�ระบ�ค�าบรรยายอย'างชื่�ดเจน เป4นข�5นตอนของกระบวนการท$�ร�บประก�นได+ว'าจะส�5นส�ดหลั�งจากการท�างานตามจ�านวนข�5นตอนท$�จ�าก�ด โดยม$ผลัลั�พิธุ�ท$�ถื.กต+องส�าหร�บท�กกรณ$ท$�อาจเก�ดข-5นของป9ญหา
3. Develop the Outline into an algorithm
เคร��องม�อท$�ใชื่+ในการพิ�ฒนาอ�ลักอร�ท-มท$�น�ยมใชื่+1.Pseudocode2.Flowchart3.Nassi – Schneiderman
diagrams(N-S Chart)
4. Test the algorithm for correctness
• เป4นการตรวจสอบความถื.กต+องของ Algorithm ท$�ออกแบบไว+
• เพิ��อให+ Algorithm น�5นสามารถืชื่'วยแก+ไขป9ญหาท$�ต+องการได+
• โดยใชื่+ว�ธุ$ “Desk Checking” โดยส�'มข+อม.ลัมาท�าการตรวจ ให+ผ'านข�5นตอนการท�างานของ Algorithm
• จากน�5นก&ให+น�ามาเปร$ยบเท$ยบก�บข+อม.ลัท$�ควรจะเป4น
5. Code the algorithm into a specific programming
Language•เป4นข�5นตอนลังรห�สโปรแกรม หร�อการเข$ยนโปรแกรม•โดยเลั�อกภาษาในการเข$ยน
โปรแกรม(Programming Language) ให+เหมาะก�บลั�กษณะของงาน
•ควรเลั�อกภาษาให+เหมาะสมก�บงานท$�ตนเองก�าลั�งจะพิ�ฒนางานข-5น
6. Run the program on the computer
• โดยท�าการน�าข+อม.ลัเข+า เพิ��อใชื่+ในการทดสอบ(Data Test) เข+าไปท�างานก�บโปรแกรมท$�เข$ยนข-5นมา
• แลั+วท�าการพิ�จารณาผลัลั�พิธุ�ท$�เก�ดข-5นว'าถื.กต+องหร�อไม'
• ว�ธุ$การทดสอบระบบ แบ'งเป4น1.Integration Test2.System Test3.Acceptance Test
6. Run the program on the computer
•Bug หมายถื-งข+อผ�ดพิลัาดท$�เก�ดข-5นในการท�างานของโปรแกรม ท$�ได+ท�าการทดสอบ
•Debugging หมายถื-ง ว�ธุ$การแก+ไขข+อผ�ดพิลัาด(Bug) ท$�เก�ดข-5นในการทดสอบโปรแกรม
6. Run the program on the computer
•เม��อเราท�าการเข$ยนโปรแกรมแลัะทดสอบเร$ยบร+อยแลั+ว จะต+องม$ การเข$ยนค.'ม�อ(Documentation) ต'าง ๆ ค�อ– ค.'ม�อระบบแลัะโปรแกรม(Technical
Documentation)
– ค.'ม�อปฏิ�บ�ต�งาน(Operation Documentation)
– ค.'ม�อผ.+ใชื่+(User Documentation)
7. Program Maintenance• ท�าหลั�งจากท$�ม$การใชื่+โปรแกรมไปแลั+วระยะหน-�ง• เพิ��อให+โปรแกรมสามารถืใชื่+งานได+อย'างม$ประส�ทธุ�ภาพิ
แลัะเหมาะสมตรงก�บความต+องการของผ.+ใชื่+• โดยท�าการปร�บปร�งโปรแกรมให+เหมาะสม ด�งน�5น
เอกสารต'าง ๆ ท$�ได+จ�ดท�าข-5นจ-งเป4นประโยชื่น�อย'างย��งต'อการ Maintenance
• การปร�บปร�งแก+ไขโปรแกรม สามารถืท�าได+ 2 ลั�กษณะ ค�อ
1 .การบ�าร�งร�กษา(Maintenance)2. การเปลั$�ยนแปลังระบบท�5งหมด(Redevelopment)
7. Program Maintenance
1 .การบ�าร�งร�กษา(Maintenance) เป4นการเปลั$�ยนแปลังเพิ$ยงเลั&กน+อย ไม'ม$ผลักระทบ แลัะเส$ยค'าใชื่+จ'ายไม'มากน�ก
2. การเปลั$�ยนแปลังระบบท�5งหมด(Redevelopment) จะส�5นเปลั�องท�5งก�าลั�งคนแลัะค'าใชื่+จ'าย ท�าให+เก�ดความเส$ยหายเป4นอย'างมาก
ลั�กษณะของโปรแกรมท$�ด$
• ม$ความถื.กต+อง(Correctness)• ม$ความเชื่��อถื�อได+(Reliability)• ม$ความเข+าก�นได+(Portability)• ม$ความเป4นม�ตรต'อผ.+ใชื่+(User-
friendliness)• ม$ความสามารถืน�ากลั�บมาใชื่+
ใหม'(Reusability)• ต+องอ'านง'าย(Readability)• ม$ความปลัอดภ�ย(Security)
ประเภทข+อผ�ดพิลัาดของโปรแกรมคอมพิ�วเตอร�
•Syntax Error•Run - Time Error
•Logic Error
สริ่�ปขั้��นตอนการิ่พิ�ฒนาโปริ่แกริ่มี1) การว�เคราะห�ป9ญหา
ผ.+ใชื่+แจ+งความต+องการ ผ.+พิ�ฒนาระบบว�เคราะห�
ความต+องการ ก�าหนดขอบเขตของ
ป9ญหาให+เป4นลัายลั�กษณ�อ�กษร
ก�าหนดลั�กษณะของข+อม.ลัเข+าแลัะออก
ก�าหนดลั�กษณะของโครงสร+างข+อม.ลั
2) การออกแบบเพิ��อแก+ไขป9ญหา
1 .เข$ยน Flowchart2. ออกแบบหน+าจอ3. เข$ยน Algorithms
3. เข$ยน Algorithms1. Top Level Design
ก�าหนดการท�างานแบบคราวในการท�างานของโปรแกรม
2. Final Level Designก�าหนดต�วแปรท$�ใชื่+ในการแก+ไข
ป9ญหา ท�าการเข$ยนว�ธุ$การแก+ไขป9ญหา
อย'างลัะเอ$ยด 3) เข$ยนโปรแกรม
ท�าตามโครงสร+างของโปรแกรม ว'าการเข$ยนโปรแกรมน�5นม$หลั�กการอย'างไรบ+างประกาศัชื่น�ดของต�วแปรเข$ยนโปรแกรมตามลั�าด�บการท�างานของโปรแกรมท$�เราต+องการให+ท�างานออกมา