1.ขั้นตอนการพัฒนาโปรแกรม(steps in Program Development )
มี 7 ขั้นตอน ประกอบด้วย
1.1 กำหนดปัญหา(Define the Problem)
1.2 ร่างรายละเอียดแนวทางการแก้ไขปัญหา(Outline the Solution)
1.3 พัฒนาอัลกอลิทึม(Develop and Algorithm)
1.4 ตรวจสอบความถูกต้องของอัลกอริทึม(Test the Algorithm for Correctness)
1.5 เขียนโปรแกรม(Proramming)
1.6 ทดสอบโปรแกรม(Testing)
1.7 จัดทำเอกสารและบำรุงรักษาโปรแกรม(Document and Maintain the Program)
มาดูความหมายและวิธีของแต่ละขั้นตอนกันดีกว่า
1.1 กำหนดปัญหา(Define the Problem) ประกอบด้วย
-Input
-Outputs
-Processing
1.2 ร่างรายละเอียดแนวทางการแก้ไขปัญหา(Outline the Solution)
-แตกงานให้เป็นช้นย่อยๆหรือเป็นขั้นเป็นตอน(หลังจากกำหนดปัญหา)
-การร่างรายละเอียดแนวทางการแก้ไขปัญหาต่างๆประกอบด้วย
-ขั้นตอนการประเมณผลส่วนหลักๆ
-ส่วนหลักของงานที่ได้มีการแตกย่อย(Subtask)
-ส่วนความสัมพันธ์กับผู้ใช้งาน
-โครงสร้างที่ใช้ควบคุม เช่น การวนซ้ำ หรือการกำหนดทางเลือก
-ตัวแปรและโครงสร้างของเรคอร์ด
-ตรรกะโปรแกรม(Logic)
1.3 พัฒนาอัลกอลิทึม(Develop and Algorithm)
-ขั้นตอนที่ใช้อธิบายลำดับการทำงาน และหากได้ปฏิบัติตามขั้นตอนของอัลกิริทึมที่ออกมา
-ซูโดโค้ดเป็นตัวแทนอัลกอริทึมเพื่อใช้แก้ไขปัญาหาทางคอมพิวเตอร์
1.4 ตรวจสอบความถูกต้องของอัลกอริทึม(Test the Algorithm for Correctness) เป็นขั้นตอนที่สำคัญที่สุด
ตรวจสอบทั้งตรรกะของอัลกอริทึม
ขั้นตอน ตัวแปรหลักและการนำข้อมูลทดสอบเข้าไปประมวลผลในแต่ละ
1.5 เขียนโปรแกรม(Proramming)
-นำอัลกอริทึมที่ได้รับการออกแบบอย่างสมบูรณ์มาพัฒนาด้วยการเขียนโปรแกรม(ชุดคำสั่ง)
-เลือกใช้ภาษาระดับสูงเพื่อใช้เขียนโปรแกรม เช่น c,PASCAL เป็นต้น
1.6 ทดสอบโปรแกรม(Testing)
-นำข้อมูลป้อนเข้าไปเพื่อทดสอบบนเครื่องกับโปรแกรมที่ได้เขียนขึ้นว่าถูกต้องหรือไม่
-การตรวจสอบ
-รูปแบบชุดคำสั่ง(Syntax Errors)
-โปรแกรม(Logic Errors)
1.7 จัดทำเอกสารและบำรุงรักษาโปรแกรม(Document and Maintain the Program)
การจัดทำเอกสารประกอบโปรแกรมจะต้องจัดทำขึ้นตั้งแต่ขั้นตอน การกำหนดปัญหาจนถึงขั้นตอน
สุดท้าย คือการทดสอบผลลัพธ์
-เอกสารประกอบโปรแกรมประกอบด้วย
-เอกสารภายนอก(External document) เช่น ผังโครงสร้างอัลกอริทึมที่ใช้แก้ปัญหาและผลของการทดสอบข้อมูล
-เอกสารภายใน(Internal document) คือ ชุดคำสั่งในโปรมแกรม
-การบำรุงรักษาโปรแกรมจะเกี่ยวข้องกับการดูแลและปรับปรุงโปรแกรม
2.วิธีการออกแบบโปรแกรม(Program Design Methodology)
2.1 การออกแบบโปรแกรมแบบ Procedure-Driven
แนวความคิด>>มีกระบวนการ(Processes)หรือฟังก์ชัน(Function) |
2.2 การออกแบบโปรแกรมแบบ Event-Driven
แนวความคิด>>เหตุการณ์หรือโต้ตอบจากภยนอกเป็นสำคัญ ที่ส่งผลต่อ
โปรแกรมในด้านของการเปลี่ยนแปลงในแต่ละสถานะ |
2.3 การออกแบบโปรแกรมแบบ Data-Driven
แนวความคิด>>ข้อมูลในโปรแกรมมมากกว่ากระบวนการ โดยเริ่มต้นจากการวิเคราะห์ข้อมูล
และความสัมพันธ์ระหว่างข้อมูล มีการกำหนดโครงสร้างข้อมูลเบื้องต้นและเมื่อโครงสร้างข้อมูล
ได้ถูกกำหนดขึ้น ความต้องการในผลลัพธ์ของข้อมูลก็จะถูกพิจารณาในลำดับถัดไปว่า
มีกระบวนการใดที่ทำการแปลงข้อมูลนำเข้าเพื่อไปสู่ผลลัพธ์หรือเอาต์พุตที่ต้องการ
|
3.การเขียนโปรแกรมแบบ Procedural และ Object-Oriented
3.1 การเขียนโปรแกรมแบบบนลงล่าง(Top-Down Development)
3.2 การออกแบบโปรแกรมในลักษณะโมดูล (Modular Design)
3.3 การโปรแกรมเชิงวัตถุ (Object-Oriented Programming)
4.วัตถุประสงค์ของการใช้เทคนิคการออกแบบโครงสร้างโปรแกรม
(Objective of Structured Program Design Techniques)
4.1 ต้องการให้โปรแกรมมีคุณภาพและคาดหมายพฤติกรรมการทำงานของโปรแกรมได้ว่า
จะเกิดผลลัพธ์อะไรขึ้นในเงื่อนไขกรณีต่างๆ
4.2 โปรแกรมสามารถที่จะแก้ไข ปรับปรุง หรือดัดแปลงได้ง่ายในอนาคต
4.3 ทำให้ขั้นตอนของการเขียนโปรแกรมเป็นไปอย่างมีระบบ มีความสะดวกและง่ายขึ้น
4.4 ลดเวลาในการพัฒนาโปรแกรม
5.ความรู้เบื้องต้นเกี่ยวกับอัลกอริทึมและซูโดโค้ด(Introduction to Algorithm and Pseude Code)
อัลกอริทึม (Algorithm) คือ กลุ่มของขั้นตอนหรือกฎเกณฑ์ที่จะนำพาไปสู่การแก้ไขปัญหาได้ หรือขั้น
ตอนวิธีซึ่งจะใช้อธิบายว่างานนั้นทำงานอย่างไร เมื่อได้ปฏิบัติตามขั้นตอนจนครบก็จะได้ผลลัพธ์ที่ถูก
ต้องตามต้องการ
คุณสมบัติของอัลกอริทึมที่ดี
-ไม่กำกวม อ่านแล้วเข้าใจง่าย
-ต้องมีความถูกต้องในผลลัพธ์ที่ใช้แก้ไขปัญหาในกรณีต่างๆ
-กระบวนการหรือขั้นตอนที่ระบุไว้ในอัลกอริทึมต้องมีความเรียบง่ายเพียงพอต่อการดำเนิน
งานเพื่อประมวลผลในคอมพิวเตอร์ได้
-ต้องมีจุดสิ้นสุด
ซูโดโค้ด(Pseudo Code) สามารถนำมาใช้แทนอัลกอริทึมได้ โปรแกรมเมอร์สามารถนำอัลกอริทึมที่
นำเสนอในรูปแบบซูโดโค้ดไปเขียนเป็นชุดคำสั่งภาษาโปรแกรมได้ทันที
หลักการเขียนซูโดโค้ด
-ถ้อยคำที่ใช้เขียน ใช้ภาษาอังกฤษที่เข้าใจง่าย
-ในหนึ่งบรรทัด ให้มีเพียงหนึ่งประโยคคำสั่ง
-ใช้ย่อหน้าให้เป็นประโยชน์ ในการแสดงการควบคุมอย่างเป็นสัดส่วน
-แต่ละประโยคคำสั่งให้เขียนจากบนลงล่าง และมีทางออกทางเดียว
-กลุ่มของประโยคคำสั่งอาจรวมเป็นหมวดหมู่แล้วเรียกใช้เป็นโมดูล
6.การปฏิบัติพื้นฐาน 6 ประการของคอมพิวเตอร์(Six Basic Computer Operations)
6.1 รับข้อมูลได้ (input device)
-อุปกรณ์รับข้อมูล เช่น เทอร์มินัล คีย์บอร์ด หรือรับข้อมูลจากการอ่านไฟล์ข้อมูลบนสื่อจัดเก็บ
ข้อมูล เช่น ดิสก์ หรือเทป
-ในการอ่านข้อมูลจะใช้ read และ get เพื่อใช้ในการเขียนซูโดโค้ด
-read ใช้เมื่อมีการรับหรืออ่านเรคคอร์ดจากไฟล์ข้อมูล
-get ใช้สำหรับรบข้อมูลจากแป้นคีย์บอร์ด
ตัวอย่าง เช่น :
read studentName
get systemDate
read number1,number2
get taxCode |
6.2 แสดงผลได้ (output device) การแสดงผลลัพธ์จะใช้
-print ใช้สำหรับการส่งผลลัพธ์ออกทางแป้นพิมพ์
-write ใช้สำหรับการส่งออกเอาต์พุตเพื่อเก็บบันทึกลงในไฟล์
-put,output หรือ display ใช้สำหรับการส่งเอาต์พุตออกไปแสดงผลทางจอภาพ
ตัวอย่าง เช่น :
print “Program Completed”
write customer record to master file
put name,address and postcode
output totalTax
display “End of data” |
6.3 คำนวณได้ (Cont.)
-คำสั่ง prompt ที่ใช้สำหรับแสดงข้อความก่อนที่จะใช้คำสั่ง get,เพื่อจะได้สามารถสือสาร
โต้ตอบกับยูสเซอร์ได้อย่างสมบูรณ์ยิ่งขึ้น
-คำกริยาที่ใช้ในการคำนวณจะใช้ compute และ calculate
สัญลักษณ์ที่ใช้ในการคำนวณ + ใช้แทนการบวก (Add) - ใช้แทนการลบ (subtract) * ใช้แทนการคูณ (multiply) / ใช้แทนการหาร (divide) () ใช้แทนเครื่องหมายวงเล็บเปิด/ปิด |
ตัวอย่าง เช่น :
divide totalMarks by studentCount salesTax costPrice*0.10 computeC=(F-32)*5/9 |
6.4 กำหนดค่าตัวแปรได้ (storage) สามารถทำได้ 3 รูปแบบ ดังนี้
- ใช้คำกริยา initialize หรือคำว่า set เพือกำหนดค่าเริ่มต้นให้กับตัวแปร
-ใช้สัญลักษณ์เครื่องหมาย = หรือเครื่องหมาย ←เพื่อกำหนดค่าให้กับตัวแปร
ใช้คำกริยา store ในการจัดเก็บข้อมูลให้กับตัวแปร
ตัวอย่าง เช่น :
initialize totalPrice to zero
set studentCount to o
totalPrice = costPrice+salesTax
totalPrice ← costPrice+salesTax
store customerId lastCustomerID |
6.5 เปรียบเทียบ หรือเลือกทำงานได้ (compare or decision)
-ใช้คำ if…then…else และจบด้วย end if เสมอ
ตัวอย่าง เช่น :
if employeeStatus is partTime then
add to partTimeCount
else
add to fullTimeCount
end if |
***หมายเหตุ: if ตามด้วยคำสั่ง เมื่อเงื่อนไขเป็นจริงทำหลัง then เป็นเท็จทำหลัง else แล้วจบด้วย end if
6.6 ทำซ้ำได้ (repeation or loop)
-ใช้คำ dowhile…enddo หรือ repeat..until
ตัวอย่าง เช่น :
dowhile file_flag<>”eof”
read student record
print studentName,address to report
add 1 to studentTotal
enddo |
eof >> End of File
***หมายเหตุ:
-dowhile…enddo ใช้ในกรณีประมวลผลขั้นตอนหรือกิจกรรมซ้ำๆจะทำงานซ้ำไปเรื่อยๆเมื่อ
ตรงกับเงื่อนไขหรือเงื่อนไขเป็นจริงจนกระทั่งเงื่อนไขเป็นเท็จ ก็จะออกจากหลูป
-repeat..until จะทำตามคำสั่ง(execute statement)ก่อน หลังจากนั้นก็จะย้อนกลับไปตรวจสอบเงื่อนไข
7. The Three Basic Control Structures
-แบบเรียงลำดับ(Sequence) ทำงานตามชุดคำสั่งแบบลำดับ จากบนลงล่าง
-แบบเลือกการทำงาน(Selection) เปรียบเทียบเงื่อนไขโดยใช้คำสั่ง
if…………..
then………
else………
end if……
-แบบทำงานซ้ำ(Repetition)
dowhile จะทำงานซ้ำไปเรื่อยๆเมื่อตรงกับเงื่อนไขจนกระทั่งเป็นเท็จ ก็จะออกจากหลูป
dowhile condition p is ture
statement block
enddo
ส่วน repeat….until จะทำตามคำสั่ง(execute statement) ก่อนเช็คเงื่อนไข
repeat
statement
statement
:
:
until condition is true