480 likes | 1.39k Views
บทที่ 2 การออกแบบและพัฒนาโปรแกรม. บทที่ 2 การออกแบบและพัฒนาโปรแกรม. ลักษณะของโปรแกรมที่ดี. 1. มีความถูกต้องและเชื่อถือได้ ( Correctness and Reliability ) คือ ผลลัพธ์ของโปรแกรมถูกต้องแม่นยำ ไม่คลาดเคลื่อน ผ่านการทดสอบที่ครอบคลุม โปรแกรมต้องนิ่ง ไม่ค่อยเกิดปัญหา
E N D
บทที่ 2 การออกแบบและพัฒนาโปรแกรม บทที่ 2 การออกแบบและพัฒนาโปรแกรม
ลักษณะของโปรแกรมที่ดี 1. มีความถูกต้องและเชื่อถือได้ (Correctness and Reliability) คือ ผลลัพธ์ของโปรแกรมถูกต้องแม่นยำ ไม่คลาดเคลื่อน ผ่านการทดสอบที่ครอบคลุม โปรแกรมต้องนิ่ง ไม่ค่อยเกิดปัญหา 2. มีความเป็นมิตรต่อผู้ใช้ (User-friendliness) คือ สร้างโปรแกรมให้ใช้งานง่าย เพราะผู้ใช้บางส่วนพื้นฐานทางคอมพิวเตอร์มีน้อย 3. ค่าใช้จ่ายต่ำ (Low Cost) คือ มุมมองของผู้ใช้ จะมองว่าโปรแกรมต้องคุ้มค่ากับเงินที่จ่าย ในมุมของผู้พัฒนาโปรแกรม ต้องใช้ค่าใช้จ่ายให้ต่ำกว่าราคาที่เสนอลูกค้า ดังนั้นต้องมีการประเมินค่าใช้จ่ายก่อนการพัฒนาโปรแกรม และเมื่อพัฒนาโปรแกรม ต้องควบคุมค่าใช้จ่ายให้เป็นไปตามแผนที่วางไว้
ลักษณะของโปรแกรมที่ดี(ต่อ) 4. อ่านง่ายและสามารถนำกลับมาใช้ใหม่ (Readability & Reusability) คือ โปรแกรมที่มีความสามารถมาก มักมีโครงสร้างที่ใหญ่และซับซ้อน จึงควรออกแบบเป็นโมดูล(Module) ย่อยให้เป็นอิสระต่อกัน เพื่อให้ผู้พัฒนาโปรแกรมคนอื่นนำโปรแกรมไปพัฒนาให้เหมาะสมตามยุคสมัยได้ 5. มีความปลอดภัย (Security) คือ โปรแกรมที่ดีต้องมีความปลอดภัย ป้องกันการถูกลักลอบขโมยข้อมูล การแก้ไขข้อมูลโดยไม่ได้รับอนุญาต ตลอดจนการทำลายข้อมูล 6. ใช้เวลาในการพัฒนาไม่นาน คือ การพัฒนาโปรแกรมต้องส่งมอบงานตามที่ประเมินไว้ หากช้าความต้องการของผู้ใช้อาจเปลี่ยนไปเพราะเทคโนโลยีต่าง ๆ เจริญก้าวหน้าอย่างรวดเร็ว
วงจรการพัฒนาโปรแกรม ขั้นตอนการเขียนโปรแกรม หรือวงจรการพัฒนาโปรแกรม (Program Development Life Cycle: PDLC) ประกอบด้วย 6 ขั้นตอน คือ 1. ขั้นวิเคราะห์ความต้องการ (Requirement Analysis & Feasibility Study) 2. ขั้นวางแผนแก้ปัญหา (Algorithm Design) 3. ขั้นดำเนินการเขียนโปรแกรม (Program Coding) 4. ขั้นทดสอบและแก้ไขโปรแกรม (Program Testing & Debugging) 5. ขั้นการเขียนเอกสารประกอบ (Documentation) 6. ขั้นบำรุงรักษาโปรแกรม (Program Maintenance) แต่ละขั้นตอนควรตรวจสอบความถูกต้องอย่างละเอียดก่อนไปทำกิจกรรมในขั้นตอนถัดไป แต่ถ้าหากพบว่ามีปัญหาก็สามารถย้อนกลับไปทำกิจกรรในขั้นตอนก่อนหน้าได้
วงจรการพัฒนาโปรแกรม(ต่อ) วิเคราะห์ความต้องการ วางแผนแก้ปัญหา เขียนโปรแกรม ทดสอบและแก้ไข บำรุงรักษา วงจรการพัฒนาโปรแกรม (Program Development Life Cycle : PDLC)
วงจรการพัฒนาโปรแกรม(ต่อ) 1. ขั้นวิเคราะห์ความต้องการ (Requirement Analysis & Feasibility Study) - ศึกษาผลลัพธ์(Output) ข้อมูลนำเข้า(Input) และวิธีการประมวลผลที่จะใช้เขียนโปรแกรม โดยทั่วไปการวิเคราะห์งานมี 5 ขั้นตอนคือ 1) กำหนดขอบเขตของปัญหา 2) กำหนดลักษณะข้อมูลเข้าและออกจากระบบ 3) กำหนดรูปแบบผลลัพธ์ 4) กำหนดตัวแปรที่ใช้ 5) กำหนดวิธีการประมวลผล
วงจรการพัฒนาโปรแกรม(ต่อ) 1. ขั้นวิเคราะห์ความต้องการ (Requirement Analysis & Feasibility Study)(ต่อ) ตัวอย่าง จงแก้ปัญหาเพื่อหาพื้นที่ของรูปวงกลม โดยรับค่ารัศมีของวงกลมจากผู้ใช้ทางแป้นพิมพ์ วิเคราะห์งาน 1. สิ่งที่ต้องการ • พื้นที่รูปวงกลม • รับค่าข้อมูลความยาวรัศมีของวงกลมทางแป้นพิมพ์ 2. ข้อมูลนำเข้า • ค่าความยาวของรัศมีของวงกลม 3. รูปแบบผลลัพธ์ • แสดงผลลัพธ์ของพื้นที่รูปวงกลมเป็นตัวเลขจำนวนจริง
วงจรการพัฒนาโปรแกรม(ต่อ) 1. ขั้นวิเคราะห์ความต้องการ (Requirement Analysis & Feasibility Study)(ต่อ) วิเคราะห์งาน 4. ตัวแปรที่ใช้ • ค่า rแทน รัศมีของวงกลม • ค่า area แทนพื้นที่ของวงกลมที่ได้จากการประมวลผล 5. วิธีการประมวลผล • เริ่มต้น • รับค่า r • คำนวณหาพื้นที่รูปวงกลมจากสูตร 3.14159 * r^2 • แสดงค่า area • จบการทำงาน
วงจรการพัฒนาโปรแกรม(ต่อ) 2. ขั้นวางแผนแก้ไขปัญหา (Algorithm Design) ขั้นตอนนี้มักเรียกว่า “การออกแบบอัลกอริทึม” ซึ่งเป็นแนวทางให้โปรแกรมเมอร์เขียนโปรแกรมได้ง่ายขึ้น มีหลายวิธีที่จะนำมาช่วยออกแบบได้แก่ 1) การเขียนอัลกอริทึม คือ การนำเอาลับดับขั้นตอนการทำงานที่ออกแบบไว้ มาเขียนให้อยู่ในรูปของภาษาเขียน หรืออยู่ในรูปของภาษาอังกฤษ ที่จัดเป็นโครงสร้างไว้เช่นเดียวกับการเขียนรหัสเทียม แต่จะต่างกันตรงที่อัลกอริทึมจะเน้นลำดับขั้นตอนการทำงานเป็นหลัก 2) การเขียนผังงาน คือ การนำเอาลับดับขั้นตอนการทำงานมาเขียนเป็นภาพหรือสัญลักษณ์ โดยเปลี่ยนจากคำพูดหรือข้อความในการวิเคราะห์งานมาเป็นรูปภาพก่อน แล้วเขียนคำอธิบายเพิ่มลงไปในรูปภาพ รูปภาพหรือสัญลักษณ์นี้เรียกว่า ผังงาน(Flowchart) ปัจจุบันผังงานได้รับความนิยมลดลงด้วยเหตุผลต่อไปนี้ 1. ผังงานมีขนาดใหญ่ เมื่อโปรแกรมมีขนาดใหญ่ 2. หากมีการเปลี่ยนแปลงขั้นตอนวิธีการ การปรับผังงานจะทำได้ยาก บางครั้งต้องเขียนใหม่ทั้งหมด
วงจรการพัฒนาโปรแกรม(ต่อ) 3. การเขียนซูโด้โค้ด(Pseudo Code) หรือ รหัสเทียม เป็นเครื่องมือที่นิยมใช้กันมาก ในการอกแบบโปรแกรม ช่วยให้โปรแกรมเมอร์เขียนโปรแกรมได้ง่ายขึ้น โดยเป็นการผสมผสานระหว่างภาอังกฤษทั่วไปกับภาษาคอมพิวเตอร์ โครงสร้างของรหัสเทียมจึงคล้ายการเขียนโปรแกรม จากตัวอย่างการหาพื้นที่รูปวงกลมนำมาเขียนซูโด้โค้ดได้ดังนี้ Area Of Circle read radius compute area=3.14159* radius * radius display area End
วงจรการพัฒนาโปรแกรม(ต่อ) 3. ขั้นดำเนินการเขียนโปรแกรม (Program Coding) เป็นขั้นตอนการเขียนโปรแกรมด้วยภาษาคอมพิวเตอร์ภาษาใดภาษาหนึ่ง โดยเลือกภาษาให้เหมาะสมกับประเภทของงาน และความถนัดของผู้เขียน เช่น ถ้าเป็นงานทางธุรกิจก็ใช้ภาษาโคบอล ถ้าเป็นการพิมพ์รายงานก็ใช้ภาษาอาร์พีจี เป็นต้น จากการวิเคราะห์งาน และการเขียนซูโด้โค้ดของการหาพื้นที่รูปวงกลมสามารถนำมาเขียนโปรแกรมภาษาซีได้ดังนี้ #include<stdio.h> #include<conio.h> main(){ float r; printf("Enter Radius: "); scanf("%f",&r); printf("%.2f",3.14159*r*r); getche(); }
วงจรการพัฒนาโปรแกรม(ต่อ) 4. ขั้นทดสอบและแก้ไขโปรแกรม (Program Testing & Debugging) เป็นขั้นตอนการตรวจสอบจุดผิดพลาดของโปรแกรม (Bugs) ที่เขียนขึ้น และดำเนินการแก้ไขข้อผิดพลาดนั้น (Debugs) โปรแกรมที่ทำงานไม่ได้ตามวัตถุประสงค์เรียกว่าโปรแกรมเกิด Error โดยสาเหตุที่ทำให้โปรแกรมเกิด Error มี 2 สาเหตุหลัก คือ 1. ข้อผิดพลาดทางไวยากรณ์ของภาษา (Syntax Error) คือข้อผิดพลาดที่เกิดจากการเขียนโค้ดคำสั่ง(Source Code) ไม่ตรงกับไวยากรณ์(Syntax) ของภาษาโปรแกรมนั้น ๆ 2. ข้อผิดพลาดที่เกิดจากการตีความหมายของปัญหาผิดไป (Logic Error) ข้อผิดพลาดประเภทนี้หาจุดผิดพลาดได้ยากกว่าสาเหตุแรกเพราะตอนคอมไพล์จะไม่มีการแจ้งข้อผิดพลาด
วงจรการพัฒนาโปรแกรม(ต่อ) 5. ขั้นการเขียนเอกสารประกอบ (Documentation) หลังทดสอบโปรแกรมผ่านแล้ว ควรจัดทำเอกสารประกอบการใช้งานโปรแกรมด้วย คืออธิบาย รายละเอียดของโปรแกรมว่า - จุดประสงค์ของโปรแกรมคืออะไร - มีขั้นตอนการทำงานของโปรแกรมเป็นอย่างไร ผู้พัฒนาโปรแกรมที่ดีควรทำเอกสารประกอบโปรแกรมตั้งแต่ขั้นตอนการออกแบบจนถึงขั้น ทดสอบโปรแกรมเพื่อให้ผู้พัฒนาโปรแกรมต่อดูเอกสารแล้วเข้าใจง่ายขึ้น เอกสารคู่มือโปรแกรมโดยทั่วไปมี 2 แบบคือ 1. คู่มือผู้ใช้(Users Manual) เน้นการใช้งานโปรแกรมเป็นหลัก 2. คู่มือโปรแกรมเมอร์ (Programmers Manual) อธิบายรายละเอียดส่วนต่าง ๆ เกี่ยวกับ โปรแกรมหลักโปรแกรมย่อย มีประโยชน์ต่อการปรับปรุงแก้ไขโปรแกรมในอนาคต
วงจรการพัฒนาโปรแกรม(ต่อ) 6. ขั้นการบำรุงรักษาโปรแกรม (Program Maintenance) ขั้นตอนนี้เกิดขึ้นหลังจากใช้โปรแกรมไปแล้วระยะหนึ่ง และต้องมีการปรับปรุงแก้ไขโปรแกรมให้เหมาะสมกับความเป็นจริง รวมทั้งรักษา ดูแลสื่อที่ใช้บันทึกโปรแกรมให้พ้นจากสนามแม่เหล็ก ฝุ่นละอองที่จะทำให้สื่อที่บันทึกโปรแกรมนั้นเกิดความเสียหาย
รูปแบบการเขียนโปรแกรมคอมพิวเตอร์ การเขียนโปรแกรมแบบบนลงล่าง(Top-Down Programming) - เป็นการเขียนโปรแกรมแบบโมดูลาร์เป็นลำดับ - โดยมองปัญหาตั้งแต่ต้นจนจบการทำงาน - หากโปรแกรมมีความซับซ้อนก็จะสร้างเป็นโมดูลย่อย เพื่อให้โมดูลหลักเรียกใช้เป็นลำดับ - เขียนการทำงานแต่ละส่วนเรียงลำดับกันไป - จากนั้นนำโครงสร้างที่ออกแบบมาพัฒนาเป็นโปรแกรมคอมพิวเตอร์
รูปแบบการเขียนโปรแกรมคอมพิวเตอร์(ต่อ) การเขียนโปรแกรมแบบโมดูลาร์ (Modular Programming) - มีการแยกโปรแกรมออกเป็นโปรแกรมย่อยขนาดเล็กหลายโปรแกรม - แต่ละโปรแกรมเรียกว่าโมดูล (Module) ซึ่งสามารถทำงานได้อย่างอิสระจากโมดูลอื่น - หากโปรแกรมมีความผิดพลาดสามารถแก้ไขปรับปรุงได้ง่าย - มีโมดูลหลักควบคุมการทำงานทั้งหมด ว่าจะเรียกโมดูลใดมาใช้งานก่อน - โมดูลแต่ละโมดูลสามารถเรียกใช้โมดูลย่อยได้อีก - โมดูลหรือโปรแกรมย่อยมี 2 ประเภทคือ โปรแกรมย่อยภายใน(Internal Subroutine) และโปรแกรมย่อยภายนอก(External Subroutine)
รูปแบบการเขียนโปรแกรมคอมพิวเตอร์(ต่อ) • การเขียนโปรแกรมแบบโมดูลาร์ โมดูลหลัก โมดูลย่อย
รูปแบบการเขียนโปรแกรมคอมพิวเตอร์(ต่อ) การเขียนโปรแกรมเชิงวัตถุ (Object-Oriented Programming) - เป็นการเขียนโปรแกรมแนวใหม่ที่มองการทำงานต่าง ๆ เป็นวัตถุ หรือออบเจ็กต์(Object) - โดยมีการบอกว่าออบเจ็กต์นั้นคืออะไร ใช้ทำอะไร - เมื่อโปรแกรมต้องการใช้ ก็สามารถนำออบเจ็กต์นั้นมาใช้ได้ ปรับขนาด เปลี่ยนสีได้ - VB.Net, Delphi, Foxpro
รูปแบบการเขียนโปรแกรมคอมพิวเตอร์(ต่อ) • การเขียนโปรแกรมเชิงวัตถุ(Object Oriented Programming)
การออกแบบและพัฒนาโปรแกรม THE END NextTime :การเขียนผังงาน (FLOWCHART) การเขียนอัลกอริธึม (ALGORITHM)