Winnie The Pooh Bear Wants A Hug

วันอาทิตย์ที่ 2 กันยายน พ.ศ. 2555

ขั้นตอนการพัฒนาโปรแกรมคอมพิวเตอร์

ขั้นตอนการพัฒนาโปรแกรมคอมพิวเตอร์
โปรแกรม คือชุดคำสั่งที่ใช้สั่งงานและควบคุมระบบคอมพิวเตอร์ให้เป็นไปตามวัตถุประสงค์ที่ต้องการ การที่จะเขียนโปรแกรมคอมพิวเตอร์ขึ้นมาจะต้องพิจารณาจากระบบงานอย่างละเอียดของข้อมูลนำเข้า ที่มาของข้อมูลนำเข้า ข้อมูลที่ต้องการแสดงผล และรูปแบบการแสดงผล
วงจรการพัฒนาโปรแกรม (Program Development Life Cycle: PDLC)
วงจรการพัฒนาโปรแกรม (PDLC) คือ ขั้นตอนการทำงานที่โปรแกรมเมอร์ใช้สำหรับสร้างโปรแกรม ประกอบด้วย 5 ขั้นตอน ดังนี้
1.การวิเคราะห์ปัญหา (Program Analysis)
2.การออกแบบโปรแกรม (Program Design)
3.การเขียนโปรแกรม (Program Coding)
4.การทดสอบโปรแกรม (Program Testing)
5.การบำรุงรักษาโปรแกรม (Program Maintenance)

1. การวิเคราะห์และกำหนดรายละเอียดของปัญหา
รายละเอียดของปัญหาในเบื้องต้นอาจยังไม่ชัดเจน ในขั้นตอนนี้ ผู้เขียนโปรแกรมจะต้องวิเคราะห์ปัญหาเพื่อกำหนดรายละเอียดของปัญหาที่ชัดเจนซึ่งได้แก่ รายละเอียดของข้อมูลเข้า (input data) และรายละเอียดของข้อมูลออก (output data) รายละเอียดของข้อมูลเข้า หมายถึง ข้อมูลที่สามารถนำมาใช้แก้ปัญหา ซึ่งอาจเป็นข้อมูลที่กำหนดให้ หรือข้อมูลที่รับเข้ามา รายละเอียดของข้อมูลออก หมายถึง ข้อมูลซึ่งเป็นผลที่ได้จากการแก้ปัญหา การกำหนดรายละเอียดข้อมูลเข้าและรายละเอียดข้อมูลออก สามารถทำได้โดยไม่ยุ่งยากจนเกินไป
ตัวอย่าง ปัญหาการคำนวณจำนวนช่องจอดรถในลานจอดรถ
ซูเปอร์มาร์เกตแห่งหนึ่ง จัดพื้นที่ด้านหน้าสำหรับจอดรถให้กับลูกค้าที่มาใช้บริการ กว้าง 25 เมตร ยาว 35 เมตร สมมติ โดยเฉลี่ย ช่องจอดรถ 1 ช่อง มีความกว้าง 2 เมตร ความยาว 3.5 เมตร และพื้นที่ 1 ใน 10 ของพื้นที่ลานจอดรถทั้งหมดคิดเป็นพื้นที่ถนนให้รถวิ่ง อยากทราบว่าซูเปอร์มาร์เกตแห่งนี้จะสามารถจัดช่องจอดรถให้กับลูกค้าได้ทั้งหมดจำนวนกี่ช่อง
จากปัญหานี้ เราต้องการคำนวณหาจำนวนช่องจอดรถในลานจอดรถ โดยพื้นที่ที่จะนำมาคำนวณจะต้องหักพื้นที่ส่วนที่เป็นถนนออกจากพื้นที่ของลานจอดรถทั้งหมดก่อน จึงนะนำมาคำนวณหาจำนวนช่องจอดรถที่ต้องการได้ โดยอาศัยข้อมูลขนาดชองช่องจอดรถ 1 คัน ตามที่กำหนดให้ในปัญหา ดังนั้นรายละเอียดของข้อมูลออกจึงกำหนดไว้เป็น
ข้อมูลเข้า : ความกว้าง ความยาวของพื้นที่ลานจอดรถทั้งหมดและความกว้าง ความยาวของพื้นที่ช่องจอดรถ 1 คัน
ข้อมูลออก : จำนวนช่องจอดรถในลานจอดรถ

2.การออกแบบโปรแกรม
เป็นขั้นตอนการออกแบบโปรแกรมให้สอดคล้องกับรายละเอียดของปัญหา โดยจะต้องคำนึงถึงการออกแบบโครงสร้างข้อมูลที่เหมาะสมที่จะใช้จัดเก็บข้อมูลเพื่อประมวลผลและการออกแบบขั้นตอนที่ใช้ประมวลผลข้อมูล ในเบื้องต้นเราจะจัดเก็บข้อมูลที่ใช้สำหรับประมวลผลไว้ภายใต้ชื่อตัวแปร เช่นเดียวกับที่เราคุ้นเคยในการกำหนดตัวแปรสำหรับแก้ปัญหาทางคณิตศาสตร์ การออกแบบโครงสร้างข้อมูลที่มีความซับซ้อนกว่านี้จะได้กล่าวถึงในบทถัด ๆ ไป สำหรับขั้นตอนที่ใช้ประมวลผลข้อมูลที่กำหนดเป็นลำดับที่แน่นอนต่อเนื่องกันเพื่อใช้แก้ปัญหา เรียกว่า ขั้นตอนวิธี (algorithms) ขั้นตอนวิธีที่ดีจะต้องมีระบบระเบียบที่แน่นอนและชัดเจนในการแก้ปัญหา ขั้นตอนวิธีและโปรแกรมที่เราออกแบบอาศัยโครงสร้างควบคุมการทำงาน 3 อย่าง คือ
lโครงสร้างแบบตามลำดับ (sequential structure) ขั้นตอนการทำงานเป็นไปตามลำดับก่อนหลัง และแต่ละขั้นตอนจะถูกประมวลผลเพียงครั้งเดียวเท่านั้น
2โครงสร้างแบบมีทางเลือก (selection structure) ขั้นตอนการทำงานบางขั้นตอนจะได้รับหรือไม่ได้รับการประมวลผล ขึ้นอยู่กับเงื่อนไขบางประการ
3โครงสร้างแบบทำซ้ำ (repetition structure) ขั้นตอนการทำงานบางขั้นตอนจะถูกประมวลผลซ้ำมากกว่า 1 ครั้ง ขึ้นอยู่กับเงื่อนไขบางประการ
ในการเขียนขั้นตอนวิธี สามารถทำได้โดยใช้ภาษาที่คล้ายคลึงกับภาษาที่ใช้ในการเขียนโปรแกรมคอมพิวเตอร์ แต่ไม่จำเป็นต้องเป็นภาษาที่เครื่องคอมพิวเตอร์เข้าใจและสามารถปฏิบัติตามได้ซึ่งเรียกว่า รหัสลำลอง (pseudocode)ผู้เขียนโปรแกรมสามารถนำรหัสลำลองไปแปลงเป็นโปรแกรมคอมพิวเตอร์ด้วยภาษาคอมพิวเตอร์ที่ผู้เขียนโปรแกรมถนัดบนเครื่องคอมพิวเตอร์ที่ผู้เขียนโปรแกรมใช้งานอยู่เป็นประจำได้อย่างไม่มีข้อจำกัด
หลักเกณฑ์ทั่วไปของการเขียนรหัสลำลอง
1.สัญลักษณ์ที่ใช้ในการดำเนินการทางคณิตศาสตร์ต่าง ๆ จะถูกใช้งานตามปกติ คือ + สำหรับการบวก – สำหรับการลบ * สำหรับการคูณ และ/ สำหรับการหาร
2.ชื่อข้อมูลใช้แทนจำนวนที่จะถูกดำเนินการตามขั้นตอนวิธี
3.การใช้คำอธิบายกำกับขั้นตอนวิธี อาจทำโดยใช้สัญลักษณ์ * หรือ ** กำกับหัวท้ายข้อความคำอธิบาย เพื่อแยกออกมาจากขั้นตอนการทำงาน
4.คำสงวนบางคำที่ใช้ในภาษาระดับสูงทั่วไปอาจนำมาใช้ เช่น Read หรือ Enter สำหรับการรับข้อมูลเข้า และWrite หรือ Print สำหรับการแสดงข้อมูลออก
5.การเพิ่มหรือลดระยะเยื้องอย่างเหมาะสม เพื่อแสดงระดับของขั้นตอนการทำงานในโครงสร้างควบคุมการทำงานในกลุ่มเดียวกัน
นอกจากผู้เขียนโปรแกรมจะใช้รหัสลำลอง เป็นเครื่องมือสำหรับเขียนขั้นตอนวิธีให้อยู่ในรูปของคำสั่งการทำงานที่คล้ายคลึงกับคำสั่งในภาษาคอมพิวเตอร์ ผู้เขียนโปรแกรมยังสามารถใช้ผังงาน (Flowchart) ซึ่งเป็นสัญลักษณ์ที่ใช้ถ่ายทอดลำดับการทำงานจากขั้นตอนวิธีได้เช่นเดียวกัน
ตัวอย่าง ปัญหาการคำนวณจำนวนช่องจอดรถในลานจอดรถ
เรากำหนดตัวแปรที่ใช้สำหรับจัดเก็บข้อมูล ดังนี้
ParkW : เป็นตัวแปรสำหรับเก็บค่าความกว้างของพื้นที่ลานจอดรถทั้งหมด
ParkL : เป็นตัวแปรสำหรับเก็บค่าความยาวของพื้นที่ลานจอดรถทั้งหมด
CarW : เป็นตัวแปรสำหรับเก็บค่าความกว้างของพื้นที่ช่องจอดรถ 1 คัน
CarL : เป็นตัวแปรสำหรับเก็บค่าความยาวของพื้นที่ช่องจอดรถ 1 คัน
TotalParkA : เป็นตัวแปรสำหรับเก็บค่าพื้นที่ลานจอดรถทั้งหมด
ParkA : เป็นตัวแปรสำหรับเก็บค่าพื้นที่ที่จะใช้จอดรถได้โดยหักพื้นที่ถนนแล้ว
CarA : เป็นตัวแปรสำหรับเก็บค่าพื้นที่ช่องจอดรถ 1 คัน
NumPark : เป็นตัวแปรสำหรับเก็บค่าจำนวนช่องจอดรถในลานจอดรถ
กำหนดขั้นตอนวิธีที่ใช้แก้ปัญหา ดังนี้
1.เริ่มต้นการทำงาน
2.รับค่าข้อมูลความกว้าง ความยาวของพื้นที่ลานจอดรถทั้งหมด และข้อมูลความกว้าง ความยาวของพื้นที่ช่องจอดรถ 1 คัน มาเก็บไว้ในตัวแปร ParkW ParkL CarW และ CarL ตามลำดับ
3.คำนวณพื้นที่ลานจอดรถทั้งหมดเก็บไว้ในตัวแปร TotalParkA โดยใช้สูตร TotalParkA = ParkW*ParkL
4.คำนวณพื้นที่ที่เหลือสำหรับใช้เป็นช่องจอดรถเก็บไว้ในตัวแปร ParkA โดยใช้สูตร ParkA = TotalParkA – (TotalParkA / 10)
5.คำนวณพื้นที่ช่องจอดรถ 1 คันเก็บไว้ในตัวแปร CarA โดยใช้สูตร CarA = CarW*CarL
6.คำนวณจำนวนช่องจอดรถในลานจอดรถเก็บไว้ในตัวแปร NumPark โดยใช้
สูตร (MOD คือ การคำนวณโดยไม่คิดเศษ)
NumPark = (Park / CarA)-(ParkA MOD CarA)
7.แสดงค่าของตัวแปร NumPark
8. จบการทำงาน

3. การเขียนโปรแกรมด้วยภาษาคอมพิวเตอร์
การเขียนโปรแกรมเป็นการนำเอาผลลัพธ์ของการออกแบบโปรแกรม มาเปลี่ยนเป็นโปรแกรมภาษาคอมพิวเตอร์ภาษาใดภาษาหนึ่ง ผู้เขียนโปรแกรมจะต้องให้ความสนใจต่อรูปแบบคำสั่งและกฎเกณฑ์ของภาษาที่ใช้เพื่อให้การประมวลผลเป็นไปตามผลลัพธ์ที่ได้ออกแบบไว้ นอกจากนั้นผู้เขียนโปรแกรมควรแทรกคำอธิบายการทำงานต่าง ๆ ลงในโปรแกรมเพื่อให้โปรแกรมนั้นมีความกระจ่างชัดและง่ายต่อการตรวจสอบ และโปรแกรมนี้ยังใช้เป็นส่วนหนึ่งของเอกสารประกอบ

4.การทดสอบและแก้ไขโปรแกรม
การทดสอบโปรแกรมเป็นการนำโปรแกรมที่ลงรหัสแล้วเข้าคอมพิวเตอร์ เพื่อตรวจสอบรูปแบบกฎเกณฑ์ของภาษา และผลการทำงานของโปรแกรมนั้น ถ้าพบว่ายังไม่ถูกก็แก้ไขให้ถูกต้องต่อไป ขั้นตอนการทดสอบและแก้ไขโปรแกรม อาจแบ่งได้เป็น 3 ขั้น
1.สร้างแฟ้มเก็บโปแกรมซึ่งส่วนใหญ่นิยมนำโปรแกรมเข้าโดยผ่านทางแป้นพิมพ์โดยใช้โปรแกรมประมวลคำ
2.ใช้ตัวแปลภาษาคอมพิวเตอร์แปลโปรแกรมที่สร้างขึ้นเป็นภาษาเครื่อง โดยระหว่างการแปลจะมีการตรวจสอบความถูกต้องของรูปแบบและกฎเกณฑ์ในการใช้ภาษา ถ้าคำสั่งใดมีรูปแบบไม่ถูกต้องก็จะแสดงข้อผิดพลาดออกมาเพื่อให้ผู้เขียนนำไปแก้ไขต่อไป ถ้าไม่มีข้อผิดพลาด เราจะได้โปรแกรมภาษาเครื่องที่สามารถให้คอมพิวเตอร์ประมวลผลได้
3.ตรวจสอบความถูกต้องของการประมวลผลของโปรแกรม โปรแกรมที่ถูกต้องตามรูปแบบและกฎเกณฑ์ของภาษา อาจให้ผลลัพธ์ของการประมวลผลไม่ถูกต้องก็ได้ ดังนั้นผู้เขียนโปรแกรมจำเป็นต้องตรวจสอบว่าโปรแกรมประมวลผลถูกต้องตามต้องการหรือไม่ วิธีการหนึ่งก็คือ สมมติข้อมูลตัวแทนจากข้อมูลจริงนำไปให้โปรแกรมประมวลผลแล้วตรวจสอบผลลัพธ์ว่าถูกต้องหรือไม่ ถ้าพบว่าไม่ถูกต้องก็ต้องดำเนินการแก้ไขโปรแกรมต่อไป การสมมติข้อมูลตัวแทนเพื่อการทดสอบเป็นสิ่งที่มีความสำคัญเป็นอย่างมาก ลักษณะของข้อมูลตัวแทนที่ดีควรจะสมมติทั้งข้อมูลที่ถูกต้องและข้อมูลที่ผิดพลาด เพื่อทดสอบว่าโปรแกรมที่พัฒนาขึ้นสามารถครอบคลุมการปฏิบัติงานในเงื่อนไขต่าง ๆ ได้ครบถ้วน นอกจากนี้อาจตรวจสอบการทำงานของโปรแกรมด้วยการสมมติตัวเองเป็นคอมพิวเตอร์ที่จะประมวลผล แล้วทำตามคำสั่งทีละคำสั่งของโปรแกรมนั้น ๆ วิธีการนี้อาจทำได้ยากถ้าโปรแกรมมีขนาดใหญ่ หรือมีการประมวลผลที่ซับซ้อน

5.การทำเอกสารประกอบโปรแกรม
การทำเอกสารประกอบโปรแกรมเป็นงานที่สำคัญของการพัฒนาโปรแกรม เอกสารประกอบโปรแกรมช่วยให้ผู้ใช้โปรแกรมเข้าใจวัตถุประสงค์ ข้อมูลที่จะต้องใช้กับโปรแกรมตลอดจนผลลัพธ์ที่จะได้จากโปรแกรม การทำโปรแกรมทุกโปรแกรมจึงควรต้องทำเอกสารกำกับเพื่อใช้สำหรับการอ้างอิงเมื่อจะใช้งานโปรแกรมและเมื่อต้องการแก้ไขปรับปรุงโปรแกรม เอกสารประกอบโปรแกรมที่จัดทำ ควรประกอบด้วยหัวข้อต่อไปนี้
1. วัตถุประสงค์
2. ประเภทและชนิดของคอมพิวเตอร์และอุปกรณ์ที่ใช้ในโปรแกรม
3. วิธีการใช้โปรแกรม
4. แนวคิดเกี่ยวกับการออกแบบโปรแกรม
5. รายละเอียดโปรแกรม
6. ข้อมูลตัวแทนที่ใช้ทดสอบ
7. ผลลัพธ์ของการทดสอบ
6. การบำรุงรักษาโปรแกรม

6. การบำรุงรักษาโปรแกรม
เมื่อโปรแกรมผ่านการตรวจสอบตามขั้นตอนเรียบร้อยแล้ว และถูกนำมาให้ผู้ใช้ได้ใช้งาน ในช่วงแรกผู้ใช้อาจจะยังไม่คุ้นเคยก็อาจทำให้เกิดปัญหาขึ้นมาบ้าง ดังนั้นจึงต้องมีผู้คอยควบคุมดูแลและคอยตรวจสอบการทำงาน การบำรุงรักษาโปรแกรมจึงเป็นขั้นตอนที่ผู้เขียนโปรแกรมต้องคอยเฝ้าดูและหาข้อผิดพลาดของโปรแกรมในระหว่างที่ผู้ใช้ใช้งานโปรแกรม และปรับปรุงโปรแกรมเมื่อเกิดข้อผิดพลาดขึ้น หรือในการใช้งานโปรแกรมไปนาน ๆ ผู้ใช้อาจต้องการเปลี่ยนแปลงการทำงานของระบบงานเดิมเพื่อให้เหมาะกับเหตุการณ์ นักเขียนโปรแกรมก็จะต้องคอยปรับปรุงแก้ไขโปรแกรมตามความต้องการของผู้ใช้ที่เปลี่ยนแปลงไปนั่นเอง









ไม่มีความคิดเห็น:

แสดงความคิดเห็น