วงจรพัฒนาโปรแกรม
วงจรพัฒนาโปรแกรมมีจุดประสงค์หลักเพื่อสร้างโปรแกรมภาษาสำหรับแก้ปัญหาและส่งเสริมการทำงานในระบบงานหนึ่ง ๆ แบ่งเป็น 5 ขั้นตอน ดังนี้
1. การวิเคราะห์ปัญหา (Analyze the Problem) เป็นขั้นตอนการศึกษาถึงปัญหาที่เกิดขึ้นและค้นหาสิ่งที่ต้องการเพื่อพิจารณาสิ่งต่อไปนี้
Input คือ ข้อมูลที่จะนำเข้าสู่คอมพิวเตอร์มีอะไรบ้าง
Process คือ วิธีการประมวลผลข้อมูลที่นำเข้าเพื่อให้ได้ผลลัพธ์ที่ต้องการคืออะไร
Output คือ การแสดงผลลัพธ์ที่ได้คืออะไร และมีรูปแบบเป็นอย่างไร
ตัวอย่างเช่น เมื่อเราต้องการสร้างโปรแกรมที่มีการนำตัวเลขเข้ามา 5 ตัว และให้แสดงผลเป็นค่าเฉลี่ยบนหน้าจอภาพ
Input คือ ตัวเลข 5 ตัว เช่น 2, 5, 3, 4, 1
Process คือ คำนวณหาค่าเฉลี่ย เช่น ( 2 + 5 + 3 + 4 + 1)/5
Output คือ แสดงค่าเฉลี่ยผ่านทางหน้าจอภาพ เช่น 3
2. การออกแบบโปรแกรม (Design a Program) เป็นขั้นตอนการใช้เครื่องมือต่างๆ ออกแบบลำดับขั้นการทำงานของโปรแกรม เพื่อให้เห็นทิศทางหรือการทำงานโดยรวมของโปรแกรม ตัวอย่างเครื่องมือที่ใช้ในการออกแบบโปรแกรม เช่น
รหัสจำลอง (Pseudo Code) และผังงาน
3. การเขียนโค้ด (Coding) เป็นขั้นตอนการสร้างโปรแกรมผ่านการเขียนโค้ด การคอมไพล์และการทดลองใช้โปรแกรมและการทดลองใช้โปรแกรม โดยการเขียนโค้ดจะต้องปฏิบัติตามที่ได้ออกแบบไว้ในขั้นตอนการออกแบบโปรแกรม ซึ่งผู้สร้างโปรแกรมภาษาจะต้องเลือกใช้ภาษาคอมพิวเตอร์ที่เหมาะสมกับการทำงานของโปรแกรม เนื่องจากภาษาคอมพิวเตอร์
แต่ละภาษาจะเหมาะสมกับการเขียนโปรแกรมภาษาที่ไม่เหมือนกัน ตัวอย่างเช่น
1. ภาษาเครื่อง (Machine Language) ภาษาเครื่องจัดเป็นภาษาคอมพิวเตอร์ภาษาเดียวที่สามารถ ติดต่อกับคอมพิวเตอร์ได้โดยตรง เพราะว่าการเขียนคำสั่งและข้อมูลในภาษาเครื่องใช้ระบบเลขฐานสอง (binary number system)
คือใช้ตัวเลข 0 และ 1 เท่านั้น
2. ภาษาระดับต่ำ (Low Level Language) เป็นภาษาที่เขียนตามลักษณะการทำงานของเครื่อง ดังนั้น ผู้ที่ใช้ภาษาเหล่านี้จำเป็ นต้องเข้าใจการทำงานของเครื่องเป็นอย่างดีภาษาเหล่านี้ ซึ่งจะมีคำสั่งคล้ายกับ ภาษาเครื่องเป็นอย่างมาก ได้แก่ ภาษาแอสเซมบลี (Assembly Language)โดยมีแอสเซมเบลอ (Assembler) เป็นตัวแปลภาษาแอสแซมบลี คือ
เปลี่ยนภาษาระดับต่ำให้เป็นภาษาเครื่อง
3. ภาษาระดับสูง (High Level Language) เป็นภาษาที่ทำความเข้าใจได้ง่าย มีลักษณะของการใช้ คำสั่งเป็นภาษาอังกฤษซึ่งใกล้เคียงกับภาษามนุษย์มากการสั่งให้คอมพิวเตอร์ทำงานจะต้องมีการแปล ความหมายของคำสั่งโดยใช้
ตัวแปลภาษาทีละชุดคำสั่งที่เรียกว่า อินเทอร์พรีเตอร์(Interpreter) หรือแปลครั้ง เดียวทั้งโปรแกรมที่เรียกว่า
คอมไพเลอร์ (Compile)ได้แก่ ภาษาเบสิก (BASIC) ภาษาโคบอล (COBOL) ภาษาฟอร์เทรน(FORTRAN) ภาษาซี (C) เป็นต้น
4. ภาษาระดับสูงมาก (Very High-Level Language) เป็นภาษาที่มีลักษณะสำคัญคือผู้เขียนโปรแกรม ไม่ต้องบอกวิธีการทำงานโดยละเอียดเพียงแต่ระบุคำสั่งให้ทำงานสั้นๆให้ภาษาระดับสูงมากเข้าใจก็เพียงพอ
5. ภาษาธรรมชาติ (Nature Language) จะเกี่ยวข้องกับระบบฐานความรู้ และกฎอ้างอิง เพียงแต่ผู้ใช้ ภาษาธรรมชาติป้อนคำถามผ่านเข้าไปในคอมพิวเตอร์ที่มีภาษาธรรมชาติก็จะทำการวิเคราะห์คำถามแล้วไป ค้นหาคำตอบจากระบบฐานความรู้ที่เก็บไว้
ตัวอย่างภาษาคอมพิวเตอร์
1.ภาษาเครื่อง (Machine Language)
100110000 01100001
2. ภาษาแอสเซมบลี (Assembly Language) เป็นภาษที่ใกล้เคียงกับภาษาเครื่อง แต่เขียนโดยใช้ สัญลักษณ์ย่อ เพื่อให้เขียนง่ายกว่าการใช้ภาษาเครื่องโดยตรง ตัวอย่างของภาษาแอสเซมบลีจะมีความหมาย เดียวกับภาษาเครื่องข้างต้น
Mov al, 0x61
3. ภาษาฟอร์เทรน (FORTRAN - FORmulaTRANslation) เป็นภาษาที่ออกแบบเพื่อใช้งานทาง วิทยาศาสตร์ วิศวกรรมศาสตร์ และด้านคณิตศาสตร์
ภาษาฟอร์เทนจะประกอบด้วยข้อความ คำสั่ง ทีละ บรรทัด ซึ่งต้องอาศัยการคำนวณเป็นอย่างมาก ตัวอย่างการเขียนคำสั่งฟอร์เทรน สำหรับการคำนวณพื้นที่ ของรูปสี่เหลี่ยมผืนผ้า ดังนี้
C This program calculates the area of a rectangle.
PEAL WIDTH, HEIGHI, AREA
WIDTH = 10.0
HEIGHI = 234.1
AREA = WIDTH * HEIGHI
WRITE (*,*) ' AREA = ' , AREA
STOP
END
4. ภาษาโคบอล (COBOL : Common Business Oriented Language) เป็นภาษาสำหรับใช้ในงานธุรกิจภาษาแรกของโลก โดยคำสั่งของภาษา COBOL จะคล้ายกับภาษาอังกฤษ ทำให้สามารถอ่านและเขียน โปรแกรมได้ไม่ยากนัก
ตัวอย่าง การเขียนภาษาโคบอล ในการสั่งพิมพ์เลข 1 ถึง 10 โดยกําหนดค่าเริ่มต้น เป็น 0
working-storage section.
77 x pic 99.
procedure division.
move 0 to x.
performcal-para until x >= 10.
stop run.
cal-para.
add 1 to x.
display x.
5.ภาษาเบสิก (BASIC) ภาษาโปรแกรมสำหรับผู้เริ่มต้น เป็นภาษาโปรแกรมที่เรียนรู้ง่าย ไม่ซับซ้อน เหมาะสำหรับใช้ในห้องเรียนสำหรับการเรียนการสอน มีคำสั่งที่ง่ายสามารถเข้าใจได้เร็ว
ตัวอย่างการเขียนภาษาเบสิก สำหรับการคำนวณพื้นที่ของรูปสี่เหลี่ยมผืนผ้า ดังนี้
‘ This program calculates the area of
‘ a rectangle
‘***********************************
PRINT : PRINT “Area Calculation”
INPUT “Width: ” ; Width
INPUT “Height: ” ; Height
Area = Width * Height
PRINT “Width: ” ; Width
PRINT “Height: ” ; Height
PRINT “Area: ” ; Area
END
6. ภาษาซี (C)ภาษาสมัยใหม่ เป็นภาษาที่ใช้สำหรับเขียนโปรแกรมระบบปฏิบัติการ เหมาะสำหรับโปรแกรมเมอร์ที่มีความสามารถสูง
#include <stdio.h>
main()
{
printf(" Hello. This is my first program. \n") ; /* This is a comment */
return 0 ;
7.ภาษาจาวา (Java) เป็นภาษาที่พัฒนาขึ้นล่าสุด แต่ได้รับความนิยมในการนำไปใช้ค่อนข้างมาก เนื่องจากสามารถประมวลผลกับระบบคอมพิวเตอร์ได้ทุกประเภท
จาวายังสามารถนำไปใช้เป็นภาษาสำหรับ อุปกรณ์แบบฝังต่าง ๆ เช่น โทรศัพท์ และอุปกรณ์ขนาดมือถือแบบต่าง ๆ เป็นต้น
ตัวอย่าง การเขียนภาษาจาวา การคิดเกรด
if (score < 50)
messageBox.show(“Your grade is F”);
else if (score < 60)
messageBox.show(“Your grade is D”);
else if (score < 70)
messageBox.show(“Your grade is C”);
else if (score < 80)
messageBox.show(“Your grade is B”);
else
messageBox.show(“Your grade is A”);
4. การทดสอบโปรแกรม (Testing) เป็นขั้นตอนในการทดลองใช้โปรแกรมตามเงื่อนไขต่างๆ ที่กำหนดขึ้นเพื่อให้รู้ปัญหาในการใช้โปรแกรม แล้วนำปัญหาดังกล่าวมาแก้ไขเพื่อให้โปรแกรมนั้นมีประสิทธิภาพในการใช้งาน
5. การบำรุงรักษา (Maintenance) เป็นขั้นตอนที่จะต้องปฏิบัติเมื่อมีการใช้งานจริงในระยะผู้สร้างโปรแกรม จะต้องเฝ้าดุและหาข้อผิดพลาดของโปรแกรมเพื่อทำการแก้ไข หรือจะต้องพัฒนาโปรแกรมให้มีความทันสมัย