1. ขั้นตอนการวิเคราะห์ปัญหา (Analysis the Problem)
2. ขั้นตอนการออกแบบโปรแกรม (Design a Program)
3. ขั้นตอนการเขียนโปรแกรม (Coding)
4. ขั้นตอนการตรวจสอบข้อผิดพลาดของโปรแกรม (Testing and Debugging)
5. ขั้นตอนการทดสอบความถูกต้องของโปรแกรม (Testing and Validating)
6. ขั้นตอนการทำเอกสารประกอบโปรแกรม (Documentation)
7. ขั้นตอนการบำรุงรักษาโปรแกรม (Program Maintenance)
1. ขั้นตอนการวิเคราะห์ปัญหา (Analysis the Problem)
ขั้นตอนนี้เป็นขั้นตอนแรกสุดที่นักเขียนโปรแกรมจะต้องทำก่อนที่จะลงมือเขียนโปรแกรมจริง ๆ เพื่อทำความเข้าใจกับปัญหาที่เกิดขึ้น และค้นหาจุดมุ่งหมายหรือสิ่งที่ต้องการ ในขั้นตอนนี้จะมีองค์ประกอบอยู่ 3องค์ประกอบที่จะช่วยในการวิเคราะห์ปัญหา ได้แก่
1 การระบุข้อมูลเข้า (Input) ต้องรู้ว่ามีข้อมูลอะไรบ้างที่จะต้องป้อนเข้าสู่คอมพิวเตอร์พร้อมกับโปรแกรม เพื่อให้โปรแกรมทำการประมวลผลและออกผลลัพธ์
2. การระบุข้อมูลออก (Output) จะพิจารณาว่างานที่ทำมีเป้าหมายหรือวัตถุประสงค์อะไร ต้องการผลลัพธ์ที่มีรูปร่างหน้าตาเป็นอย่างไร โดยจะต้องคำนึงถึงผู้ใช้เป็นหลักในการออกแบบผลลัพธ์
3. กำหนดวิธีการประมวลผล (Process) ต้องรู้วิธีการประมวลผลเพื่อให้ได้ผลลัพธ์ตามที่ต้องการ
2.ขั้นตอนการออกแบบโปรแกรม (Design a Program)
ในขั้นตอนการออกแบบโปรแกรมนี้ เป็นการออกแบบการทำงานของโปรแกรม หรือขั้นตอนในการแก้ปัญหา ซึ่งผู้ออกแบบสามารถเลือกใช้เครื่องมือมาช่วยในการออกแบบได้ โดยเครื่องมือที่ใช้ในการออกแบบโปรแกรมมีอยู่หลายอย่าง ซึ่งวิธีการซึ่งเป็นที่นิยมสำหรับใช้ในการออกแบบโปรแกรม เช่น
• อัลกอริทึม (Algorithm)
• ผังงาน (Flowchart)
• รหัสจำลอง (Pseudo-code)
• แผนภูมิโครงสร้าง (Structure Chart)
3. ขั้นตอนการเขียนโปรแกรม (Coding)
ในขั้นตอนนี้ จะเป็นการนำเครื่องมือที่ถูกสร้างขึ้นจากขั้นตอนการออกแบบมาแปลให้เป็นโปรแกรมคอมพิวเตอร์ ซึ่งในการสร้างโปรแกรมคอมพิวเตอร์นั้น เราสามารถเลือกใช้ภาษาได้หลายภาษา ตั้งแต่ภาษาระดับต่ำ เช่น ภาษาแอสเซมบลี จนถึงภาษาระดับสูง เช่น ภาษาเบสิก ภาษาโคบอล ภาษาปาสคาล ภาษาซี ซึ่งแต่ละภาษาจะมีรูปแบบ โครงสร้าง หรือไวยากรณ์ของภาษาที่แตกต่างกันออกไปดังนั้น การเขียนโปรแกรมที่ดีนั้น ควรจะต้องทำตามขั้นตอนคือ เริ่มตั้งแต่วิเคราะห์ปัญหาให้ได้ก่อน แล้วทำการออกแบบโปรแกรมจึงจะเริ่มเขียนโปรแกรม ซึ่งในการเขียนโปรแกรมนั้น สำหรับผู้ที่ยังไม่มีประสบการณ์การเขียนโปรแกรมเพียงพอ ก็ควรจะทดลองเขียนลงในกระดาษก่อน แล้วตรวจสอบจนแน่ใจว่าสามารถทำงานได้แล้ว จึงทำการป้อนเข้าสู่เครื่องคอมพิวเตอร์ เพื่อเป็นการประหยัดเวลาและทำให้สามารถทำงานได้เร็วขึ้น
4.ขั้นตอนการตรวจสอบข้อผิดพลาดของโปรแกรม (Testing and Debugging)
หลังจากที่ทำการเขียนโปรแกรมเสร็จสิ้นแล้ว โปรแกรมนั้นจะต้องได้รับการตรวจสอบก่อนว่า มีข้อผิดพลาด (error) ในโปรแกรมหรือไม่ ซึ่งอาจเกิดจากการเขียนโปรแกรมที่ผิดหลักไวยากรณ์ของภาษาเป็นต้น โดยทั่วไปจะมีวิธีที่จะตรวจสอบข้อผิดพลาดของโปรแกรม 2 ขั้นตอน ดังนี้
1. ตรวจสอบด้วยตนเอง (Self Checking) เป็นการทดลองเขียนโปรแกรมลงบนกระดาษ แล้วใส่ตรวจสอบการทำงานของโปรแกรมทีละขั้นด้วยตนเอง ว่าโปรแกรมมีการทำงานที่ถูกต้อง ได้ผลลัพธ์ตรงตามความเป็นจริงหรือไม่
2. ตรวจสอบด้วยการแปลภาษา (Translating) หลังจากที่เขียนโปรแกรมเสร็ข และมีการตรวจสอบด้วยตนเองเรียบร้อยแล้ว ก็จะป้อนโปรแกรมเข้าสู่เครื่องคอมพิวเตอร์เพื่อทำการแปลโปรแกรม โดยจะต้องเรียกใช้ตัวแปลภาษาโปรแกรม ที่เรียกว่า คอมไพเลอร์ (Compiler) หรือ อินเตอร์พรีเตอร์ (Interpreter) อย่างใดอย่างหนึ่ง ทำการแปลภาษาโปรแกรมให้เป็นภาษาเครื่อง การแปลนี้จะเป็นการตรวจสอบความผิดพลาดของโปรแกรมด้วย ซึ่งถ้ามีข้อผิดพลาดใด ๆ เครื่องคอมพิวเตอร์จะแจ้งให้ทราบทางหน้าจอ
5.ขั้นตอนการทดสอบความถูกต้องของโปรแกรม
(Testing and Validating)
ในบางครั้ง โปรแกรมอาจผ่านการแปล โดยไม่มีข้อผิดพลาดใด ๆ แจ้งออกมา แต่เมื่อนำโปรแกรมนั้นไปใช้งาน ปรากฏว่าได้ผลลัพธ์ที่ไม่เป็นจริง เนื่องจากอาจเกิดข้อผิดพลาดขึ้นได้ ดังนั้นจึงควรจะต้องมีขั้นตอนการทดสอบความถูกต้องของโปรแกรมอีกทีด้วยในการทดสอบความถูกต้องของข้อมูล จะมีอยู่หลายวิธี ดังต่อไปนี้
1. การใส่ข้อมูลที่ถูกต้อง (Valid Case) เป็นการทดสอบโปรแกรมเมื่อมีการรันโปรแกรม
2. การใช้ขอบเขตและความถูกต้องของข้อมูลเป็นการทดสอบ โดยตรวจสอบขอบเขตของข้อมูลที่ป้อนเข้าสู่โปรแกรม
3. การใช้ความสมเหตุสมผล ตัวอย่างเช่น ถ้าโปรแกรมมีการออกแบบให้ผู้ใช้ป้อนข้อมูลลงไปในฟอร์มที่มีข้อมูลที่เป็นเพศ (หญิง หรือ ชาย) และรายละเอียดส่วนตัวของคน ๆ นั้น เช่นเพศ วันลาคลอดชาย ต้องไม่มี (ห้ามใส่)หญิง อาจมีหรือไม่มีก็ได้
4. ข้อมูลที่เป็นตัวเลขและตัวอักษร เป็นการตรวจสอบว่า ถ้าโปรแกรมให้ผู้ใช้ป้อนข้อมูลในฟิลด์ที่ต้องรับข้อมูลที่เป็นตัวเลข อย่างเช่น ฟิลด์ที่เป็นจำนวนเงิน ก็ควรจะยอมให้ผู้ใช้ป้อนข้อมูลได้เฉพาะตัวเลขเท่านั้น ไม่อนุญาตให้ใส่ตัวอักษรในฟิลด์นั้นได้
5. ข้อมูลเป็นไปตามข้อกำหนด ข้อมูลที่ป้อนในฟิลด์ ต้องเป็นไปตามที่กำหนดไว้แน่นอนแล้วเท่านั้น เช่น กำหนดให้ฟิลด์นี้ป้อนข้อมูลได้เฉพาะตัวเลขที่อยู่ในกลุ่ม 1,2,5,7 ได้เท่านั้น จะป้อนเป็นตัวเลขอื่นที่ไม่อยู่ในกลุ่มนี้ ไม่ได้
6.ขั้นตอนการทำเอกสารประกอบโปรแกรม (Documentation)
การทำเอกสารประกอบโปรแกรม คือ การอธิบายรายละเอียดของโปรแกรมว่า จุดประสงค์ของโปรแกรมคืออะไร สามารถทำงานอะไรได้บ้าง และมีขั้นตอนการทำงานของโปรแกรมเป็นอย่างไร เครื่องมือที่ช่วยในการออกแบบโปรแกรมเช่น ผังงาน หรือรหัสจำลอง ก็สามารถนำมาประกอบกันเป็นเอกสารประกอบโปรแกรมได้โปรแกรมเมอร์ที่ดี ควรมีการทำเอกสารประกอบโปรแกรม ทุกขั้นตอนของการพัฒนาโปรแกรม ไม่ว่าจะเป็นขั้นตอนการออกแบบ การเขียนโปรแกรม หรือขั้นตอนการทดสอบโปรแกรม ซึ่งการทำเอกสารนี้จะมีประโยชน์อย่างมากต่อหน่วยงาน เนื่องจากบางครั้งอาจต้องการเปลี่ยนแปลงแก้ไขโปรแกรมที่ได้มีการทำเสร็จไปนานแล้ว เพื่อให้ตรงกับความต้องการที่เปลี่ยนไป จะทำให้เข้าใจโปรแกรมได้ง่ายขึ้นและจะเป็นการสะดวกต่อผู้ที่ต้องเข้ามารับช่วงงานต่อทีหลังเอกสารประกอบโปรแกรม โดยทั่วไปจะมีอยู่ด้วยกัน 2 แบบคือ
1. เอกสารประกอบโปรแกรมสำหรับผู้ใช้ (User Documentation)
จะเหมาะสำหรับผู้ใช้ที่ไม่ต้องเกี่ยวข้องกับการพัฒนาโปรแกรม แต่เป็นผู้ที่ใช้งานโปรแกรมอย่างเดียว จะเน้นการอธิบายเกี่ยวกับการใช้งานโปรแกรมเป็นหลัก ตัวอย่างเช่น
• โปรแกรมนี้ทำอะไร ใช้งานในด้านไหน
• ข้อมูลเข้า มีลักษณะอย่างไร
• ข้อมูลออกหรือผลลัพธ์มีลักษณะอย่างไร
• การเรียกใช้โปรแกรม ทำอย่างไร
• คำสั่งหรือข้อมูลที่จำเป็นให้โปรแกรมเริ่มทำงาน มีอะไรบ้าง
• อธิบายเกี่ยวกับประสิทธิภาพ และความสามารถของโปรแกรม
2. เอกสารประกอบโปรแกรมสำหรับผู้เขียนโปรแกรม (Technical Documentation) จะได้ออกได้เป็น 2 ส่วน
- ส่วนที่เป็นคำอธิบายหรือหมายเหตุในโปรแกรม หรือเรียกอีกอย่างหนึ่งว่า คอมเมนท์ (Comment) ซึ่งส่วนใหญ่มักจะเขียนแทรกอยู่ในโปรแกรม อธิบายการทำงานของโปรแกรมเป็นส่วน ๆ
- ส่วนอธิบายด้านเทคนิค ซึ่งส่วนนี้มักจะทำเป็นเอกสารแยกต่างหากจากโปรแกรม จะอธิบายในรายละเอียดที่มากขึ้น เช่น ชื่อโปรแกรมย่อยต่าง ๆ มีอะไรบ้าง แต่ละโปรแกรมย่อยทำหน้าที่อะไร และคำอธิบายย่อ ๆ เกี่ยวกับวัตถุประสงค์ของโปรแกรม
7.ขั้นตอนการบำรุงรักษาโปรแกรม (Program Maintenance)
เมื่อโปรแกรมผ่านการตรวจสอบตามขั้นตอนเรียบร้อยแล้ว และถูกนำมาให้ผู้ใช้ได้ใช้งาน ในช่วงแรกผู้ใช้อาจจะยังไม่คุ้นเคยก็อาจทำให้เกิดปัญหาขึ้นมาบ้าง ดังนั้นจึงต้องมีผู้คอยควบคุมดูแล และตรวจสอบการทำงาน การบำรุงรักษาโปรแกรมจึงเป็นขั้นตอนที่ผู้เขียนโปรแกรมต้องคอยเฝ้าดูแลและหาข้อผิดพลาดของโปรแกรมในระหว่างที่ผู้ใช้ใช้งานโปรแกรมและปรับปรุงแก้ไขโปรแกรมเมื่อเกิดข้อผิดพลาดขึ้น หรือในการใช้งานโปรแกรมไปนาน ๆ ผู้ใช้อาจต้องการเปลี่ยนแปลงการทำงานของระบบเดิมเพื่อให้เหมาะกับเหตุการณ์ เช่น ต้องการเปลี่ยนแปลงหน้าตาของรายงาน มีการเพิ่มเติมข้อมูลหรือลบข้อมูลเดิม นักเขียนโปรแกรมก็จะต้องคอยปรับปรุง แก้ไขโปรแกรมตามความต้องการของผู้ใช้ที่เปลี่ยนแปลงไปนั้น