1 / 20

บทที่ 2 การออกแบบและพัฒนาโปรแกรม

บทที่ 2 การออกแบบและพัฒนาโปรแกรม. บทที่ 2 การออกแบบและพัฒนาโปรแกรม. ลักษณะของโปรแกรมที่ดี. 1. มีความถูกต้องและเชื่อถือได้ ( Correctness and Reliability ) คือ ผลลัพธ์ของโปรแกรมถูกต้องแม่นยำ ไม่คลาดเคลื่อน ผ่านการทดสอบที่ครอบคลุม โปรแกรมต้องนิ่ง ไม่ค่อยเกิดปัญหา

darena
Download Presentation

บทที่ 2 การออกแบบและพัฒนาโปรแกรม

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. บทที่ 2 การออกแบบและพัฒนาโปรแกรม บทที่ 2 การออกแบบและพัฒนาโปรแกรม

  2. ลักษณะของโปรแกรมที่ดี 1. มีความถูกต้องและเชื่อถือได้ (Correctness and Reliability) คือ ผลลัพธ์ของโปรแกรมถูกต้องแม่นยำ ไม่คลาดเคลื่อน ผ่านการทดสอบที่ครอบคลุม โปรแกรมต้องนิ่ง ไม่ค่อยเกิดปัญหา 2. มีความเป็นมิตรต่อผู้ใช้ (User-friendliness) คือ สร้างโปรแกรมให้ใช้งานง่าย เพราะผู้ใช้บางส่วนพื้นฐานทางคอมพิวเตอร์มีน้อย 3. ค่าใช้จ่ายต่ำ (Low Cost) คือ มุมมองของผู้ใช้ จะมองว่าโปรแกรมต้องคุ้มค่ากับเงินที่จ่าย ในมุมของผู้พัฒนาโปรแกรม ต้องใช้ค่าใช้จ่ายให้ต่ำกว่าราคาที่เสนอลูกค้า ดังนั้นต้องมีการประเมินค่าใช้จ่ายก่อนการพัฒนาโปรแกรม และเมื่อพัฒนาโปรแกรม ต้องควบคุมค่าใช้จ่ายให้เป็นไปตามแผนที่วางไว้

  3. ลักษณะของโปรแกรมที่ดี(ต่อ) 4. อ่านง่ายและสามารถนำกลับมาใช้ใหม่ (Readability & Reusability) คือ โปรแกรมที่มีความสามารถมาก มักมีโครงสร้างที่ใหญ่และซับซ้อน จึงควรออกแบบเป็นโมดูล(Module) ย่อยให้เป็นอิสระต่อกัน เพื่อให้ผู้พัฒนาโปรแกรมคนอื่นนำโปรแกรมไปพัฒนาให้เหมาะสมตามยุคสมัยได้ 5. มีความปลอดภัย (Security) คือ โปรแกรมที่ดีต้องมีความปลอดภัย ป้องกันการถูกลักลอบขโมยข้อมูล การแก้ไขข้อมูลโดยไม่ได้รับอนุญาต ตลอดจนการทำลายข้อมูล 6. ใช้เวลาในการพัฒนาไม่นาน คือ การพัฒนาโปรแกรมต้องส่งมอบงานตามที่ประเมินไว้ หากช้าความต้องการของผู้ใช้อาจเปลี่ยนไปเพราะเทคโนโลยีต่าง ๆ เจริญก้าวหน้าอย่างรวดเร็ว

  4. วงจรการพัฒนาโปรแกรม ขั้นตอนการเขียนโปรแกรม หรือวงจรการพัฒนาโปรแกรม (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) แต่ละขั้นตอนควรตรวจสอบความถูกต้องอย่างละเอียดก่อนไปทำกิจกรรมในขั้นตอนถัดไป แต่ถ้าหากพบว่ามีปัญหาก็สามารถย้อนกลับไปทำกิจกรรในขั้นตอนก่อนหน้าได้

  5. วงจรการพัฒนาโปรแกรม(ต่อ) วิเคราะห์ความต้องการ วางแผนแก้ปัญหา เขียนโปรแกรม ทดสอบและแก้ไข บำรุงรักษา วงจรการพัฒนาโปรแกรม (Program Development Life Cycle : PDLC)

  6. วงจรการพัฒนาโปรแกรม(ต่อ) 1. ขั้นวิเคราะห์ความต้องการ (Requirement Analysis & Feasibility Study) - ศึกษาผลลัพธ์(Output) ข้อมูลนำเข้า(Input) และวิธีการประมวลผลที่จะใช้เขียนโปรแกรม โดยทั่วไปการวิเคราะห์งานมี 5 ขั้นตอนคือ 1) กำหนดขอบเขตของปัญหา 2) กำหนดลักษณะข้อมูลเข้าและออกจากระบบ 3) กำหนดรูปแบบผลลัพธ์ 4) กำหนดตัวแปรที่ใช้ 5) กำหนดวิธีการประมวลผล

  7. วงจรการพัฒนาโปรแกรม(ต่อ) 1. ขั้นวิเคราะห์ความต้องการ (Requirement Analysis & Feasibility Study)(ต่อ) ตัวอย่าง จงแก้ปัญหาเพื่อหาพื้นที่ของรูปวงกลม โดยรับค่ารัศมีของวงกลมจากผู้ใช้ทางแป้นพิมพ์ วิเคราะห์งาน 1. สิ่งที่ต้องการ • พื้นที่รูปวงกลม • รับค่าข้อมูลความยาวรัศมีของวงกลมทางแป้นพิมพ์ 2. ข้อมูลนำเข้า • ค่าความยาวของรัศมีของวงกลม 3. รูปแบบผลลัพธ์ • แสดงผลลัพธ์ของพื้นที่รูปวงกลมเป็นตัวเลขจำนวนจริง

  8. วงจรการพัฒนาโปรแกรม(ต่อ) 1. ขั้นวิเคราะห์ความต้องการ (Requirement Analysis & Feasibility Study)(ต่อ) วิเคราะห์งาน 4. ตัวแปรที่ใช้ • ค่า rแทน รัศมีของวงกลม • ค่า area แทนพื้นที่ของวงกลมที่ได้จากการประมวลผล 5. วิธีการประมวลผล • เริ่มต้น • รับค่า r • คำนวณหาพื้นที่รูปวงกลมจากสูตร 3.14159 * r^2 • แสดงค่า area • จบการทำงาน

  9. วงจรการพัฒนาโปรแกรม(ต่อ) 2. ขั้นวางแผนแก้ไขปัญหา (Algorithm Design) ขั้นตอนนี้มักเรียกว่า “การออกแบบอัลกอริทึม” ซึ่งเป็นแนวทางให้โปรแกรมเมอร์เขียนโปรแกรมได้ง่ายขึ้น มีหลายวิธีที่จะนำมาช่วยออกแบบได้แก่ 1) การเขียนอัลกอริทึม คือ การนำเอาลับดับขั้นตอนการทำงานที่ออกแบบไว้ มาเขียนให้อยู่ในรูปของภาษาเขียน หรืออยู่ในรูปของภาษาอังกฤษ ที่จัดเป็นโครงสร้างไว้เช่นเดียวกับการเขียนรหัสเทียม แต่จะต่างกันตรงที่อัลกอริทึมจะเน้นลำดับขั้นตอนการทำงานเป็นหลัก 2) การเขียนผังงาน คือ การนำเอาลับดับขั้นตอนการทำงานมาเขียนเป็นภาพหรือสัญลักษณ์ โดยเปลี่ยนจากคำพูดหรือข้อความในการวิเคราะห์งานมาเป็นรูปภาพก่อน แล้วเขียนคำอธิบายเพิ่มลงไปในรูปภาพ รูปภาพหรือสัญลักษณ์นี้เรียกว่า ผังงาน(Flowchart) ปัจจุบันผังงานได้รับความนิยมลดลงด้วยเหตุผลต่อไปนี้ 1. ผังงานมีขนาดใหญ่ เมื่อโปรแกรมมีขนาดใหญ่ 2. หากมีการเปลี่ยนแปลงขั้นตอนวิธีการ การปรับผังงานจะทำได้ยาก บางครั้งต้องเขียนใหม่ทั้งหมด

  10. วงจรการพัฒนาโปรแกรม(ต่อ) 3. การเขียนซูโด้โค้ด(Pseudo Code) หรือ รหัสเทียม เป็นเครื่องมือที่นิยมใช้กันมาก ในการอกแบบโปรแกรม ช่วยให้โปรแกรมเมอร์เขียนโปรแกรมได้ง่ายขึ้น โดยเป็นการผสมผสานระหว่างภาอังกฤษทั่วไปกับภาษาคอมพิวเตอร์ โครงสร้างของรหัสเทียมจึงคล้ายการเขียนโปรแกรม จากตัวอย่างการหาพื้นที่รูปวงกลมนำมาเขียนซูโด้โค้ดได้ดังนี้ Area Of Circle read radius compute area=3.14159* radius * radius display area End

  11. วงจรการพัฒนาโปรแกรม(ต่อ) 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(); }

  12. วงจรการพัฒนาโปรแกรม(ต่อ) 4. ขั้นทดสอบและแก้ไขโปรแกรม (Program Testing & Debugging) เป็นขั้นตอนการตรวจสอบจุดผิดพลาดของโปรแกรม (Bugs) ที่เขียนขึ้น และดำเนินการแก้ไขข้อผิดพลาดนั้น (Debugs) โปรแกรมที่ทำงานไม่ได้ตามวัตถุประสงค์เรียกว่าโปรแกรมเกิด Error โดยสาเหตุที่ทำให้โปรแกรมเกิด Error มี 2 สาเหตุหลัก คือ 1. ข้อผิดพลาดทางไวยากรณ์ของภาษา (Syntax Error) คือข้อผิดพลาดที่เกิดจากการเขียนโค้ดคำสั่ง(Source Code) ไม่ตรงกับไวยากรณ์(Syntax) ของภาษาโปรแกรมนั้น ๆ 2. ข้อผิดพลาดที่เกิดจากการตีความหมายของปัญหาผิดไป (Logic Error) ข้อผิดพลาดประเภทนี้หาจุดผิดพลาดได้ยากกว่าสาเหตุแรกเพราะตอนคอมไพล์จะไม่มีการแจ้งข้อผิดพลาด

  13. วงจรการพัฒนาโปรแกรม(ต่อ) 5. ขั้นการเขียนเอกสารประกอบ (Documentation) หลังทดสอบโปรแกรมผ่านแล้ว ควรจัดทำเอกสารประกอบการใช้งานโปรแกรมด้วย คืออธิบาย รายละเอียดของโปรแกรมว่า - จุดประสงค์ของโปรแกรมคืออะไร - มีขั้นตอนการทำงานของโปรแกรมเป็นอย่างไร ผู้พัฒนาโปรแกรมที่ดีควรทำเอกสารประกอบโปรแกรมตั้งแต่ขั้นตอนการออกแบบจนถึงขั้น ทดสอบโปรแกรมเพื่อให้ผู้พัฒนาโปรแกรมต่อดูเอกสารแล้วเข้าใจง่ายขึ้น เอกสารคู่มือโปรแกรมโดยทั่วไปมี 2 แบบคือ 1. คู่มือผู้ใช้(Users Manual) เน้นการใช้งานโปรแกรมเป็นหลัก 2. คู่มือโปรแกรมเมอร์ (Programmers Manual) อธิบายรายละเอียดส่วนต่าง ๆ เกี่ยวกับ โปรแกรมหลักโปรแกรมย่อย มีประโยชน์ต่อการปรับปรุงแก้ไขโปรแกรมในอนาคต

  14. วงจรการพัฒนาโปรแกรม(ต่อ) 6. ขั้นการบำรุงรักษาโปรแกรม (Program Maintenance) ขั้นตอนนี้เกิดขึ้นหลังจากใช้โปรแกรมไปแล้วระยะหนึ่ง และต้องมีการปรับปรุงแก้ไขโปรแกรมให้เหมาะสมกับความเป็นจริง รวมทั้งรักษา ดูแลสื่อที่ใช้บันทึกโปรแกรมให้พ้นจากสนามแม่เหล็ก ฝุ่นละอองที่จะทำให้สื่อที่บันทึกโปรแกรมนั้นเกิดความเสียหาย

  15. รูปแบบการเขียนโปรแกรมคอมพิวเตอร์ การเขียนโปรแกรมแบบบนลงล่าง(Top-Down Programming) - เป็นการเขียนโปรแกรมแบบโมดูลาร์เป็นลำดับ - โดยมองปัญหาตั้งแต่ต้นจนจบการทำงาน - หากโปรแกรมมีความซับซ้อนก็จะสร้างเป็นโมดูลย่อย เพื่อให้โมดูลหลักเรียกใช้เป็นลำดับ - เขียนการทำงานแต่ละส่วนเรียงลำดับกันไป - จากนั้นนำโครงสร้างที่ออกแบบมาพัฒนาเป็นโปรแกรมคอมพิวเตอร์

  16. รูปแบบการเขียนโปรแกรมคอมพิวเตอร์(ต่อ) การเขียนโปรแกรมแบบโมดูลาร์ (Modular Programming) - มีการแยกโปรแกรมออกเป็นโปรแกรมย่อยขนาดเล็กหลายโปรแกรม - แต่ละโปรแกรมเรียกว่าโมดูล (Module) ซึ่งสามารถทำงานได้อย่างอิสระจากโมดูลอื่น - หากโปรแกรมมีความผิดพลาดสามารถแก้ไขปรับปรุงได้ง่าย - มีโมดูลหลักควบคุมการทำงานทั้งหมด ว่าจะเรียกโมดูลใดมาใช้งานก่อน - โมดูลแต่ละโมดูลสามารถเรียกใช้โมดูลย่อยได้อีก - โมดูลหรือโปรแกรมย่อยมี 2 ประเภทคือ โปรแกรมย่อยภายใน(Internal Subroutine) และโปรแกรมย่อยภายนอก(External Subroutine)

  17. รูปแบบการเขียนโปรแกรมคอมพิวเตอร์(ต่อ) • การเขียนโปรแกรมแบบโมดูลาร์ โมดูลหลัก โมดูลย่อย

  18. รูปแบบการเขียนโปรแกรมคอมพิวเตอร์(ต่อ) การเขียนโปรแกรมเชิงวัตถุ (Object-Oriented Programming) - เป็นการเขียนโปรแกรมแนวใหม่ที่มองการทำงานต่าง ๆ เป็นวัตถุ หรือออบเจ็กต์(Object) - โดยมีการบอกว่าออบเจ็กต์นั้นคืออะไร ใช้ทำอะไร - เมื่อโปรแกรมต้องการใช้ ก็สามารถนำออบเจ็กต์นั้นมาใช้ได้ ปรับขนาด เปลี่ยนสีได้ - VB.Net, Delphi, Foxpro

  19. รูปแบบการเขียนโปรแกรมคอมพิวเตอร์(ต่อ) • การเขียนโปรแกรมเชิงวัตถุ(Object Oriented Programming)

  20. การออกแบบและพัฒนาโปรแกรม THE END NextTime :การเขียนผังงาน (FLOWCHART) การเขียนอัลกอริธึม (ALGORITHM)

More Related