วันพุธที่ 11 ธันวาคม พ.ศ. 2556

โปรแกรม Microsoft Visual Basic


โปรแกรม Microsoft visual basic from WisawachitComputerWork
เนื้อหาในการศึกษาเกียวกับ โปรแกรม Microsoft Visual Basin
และ วิธีการใช้ โปรแกรม Microsoft Visual Basin 

วันพุธที่ 4 กันยายน พ.ศ. 2556

ความหมายของโปรแกรมคอมพิวเตอร์


                                                               ความหมายของโปรแกรม

             โปรแกรมคอมพิวเตอร์ หมายถึง คำสั่งหรือชุดคำสั่ง ที่เขียนขึ้นมาเพื่อสั่งให้เครื่องคอมพิวเตอร์ทำงานตามที่เราต้องการ  เราจะให้คอมพิวเตอร์ทำอะไรก็เขียนเป็นคำสั่ง  ซึ่งต้องสั่งเป็นขั้นตอนและแต่ละขั้นตอนต้องทำอย่างละเอียดและครบถ้วน ซึ่งจะเกิดเป็นงานชิ้นหนึ่งขึ้นมามีชื่อเรียกว่า "โปรแกรม" 
ขั้นตอนที่ 1 : รับข้อมูลเข้า (Input)
เริ่มต้นด้วยการนำข้อมูลเข้าเครื่องคอมพิวเตอร์ ซึ่งสามารถผ่านทางอุปกรณ์ชนิดต่างๆ แล้วแต่ชนิดของข้อมูลที่จะป้อนเข้าไป เช่น ถ้าเป็นการพิมพ์ข้อมูลจะใช้แผงแป้นพิมพ์ (Keyboard) เพื่อพิมพ์ข้อความหรือโปรแกรมเข้าเครื่อง ถ้าเป็นการเขียนภาพจะใช้เครื่องอ่านพิกัดภาพกราฟิค (Graphics Tablet) โดยมีปากกาชนิดพิเศษสำหรับเขียนภาพ หรือถ้าเป็นการเล่นเกมก็จะมีก้านควบคุม (Joystick) สำหรับเคลื่อนตำแหน่งของการเล่นบนจอภาพ เป็นต้น
ขั้นตอนที่ 2 : ประมวลผลข้อมูล (Process)
เมื่อนำข้อมูลเมาแล้ว เครื่องจะดำเนินการกับข้อมูลตามคำสั่งที่ได้รับมาเพื่อให้ได้ผลลัพธ์ตามที่ต้องการ  การประมวลผลอาจจะมีได้หลายอย่าง เช่น นำข้อมูลมาหาผลรวม นำข้อมูลมาจัดกลุ่ม นำข้อมูลมาหาค่ามากที่สุด หรือน้อยที่สุดเป็นต้น 
ขั้นตอนที่ 3 : แสดงผลลัพธ์ (Output)
เป็นการนำผลลัพธ์จากการประมวลผลมาแสดงให้ทราบทางอุปกรณ์ที่กำหนดไว้ โดยทั่วไปจะแสดงผ่านทางจอภาพ หรือเรียกกันโดยทั่วไปว่า "จอมอนิเตอร์" (Monitor)หรือจะพิมพ์ข้อมูลออกทางกระดาษโดยใช้เครื่องพิมพ์ก็ได้
ภาษาโปรแกรมมิ่ง (Programming Language)
ภาษาโปรแกรมมิ่ง  หมาย ถึง ภาษาใดๆ ที่ถูกออกแบบโครงสร้างขึ้นมา เพื่อใช้ในการเขียนคำสั่งหรือชุดคำสั่ง ส่วนใหญ่เป็นภาษาอังกฤษที่มนุษย์เข้าใจ ประกอบด้วยโครงสร้างของภาษา (Structure) รูปแบบไวยากรณ์ (Syntax) และคำศัพท์ต่าง ๆ (Vocabulary หรือ Keyword) เพื่อสั่งให้เครื่องคอมพิวเตอร์ทำงานตามที่เราต้องการในงานเขียนโปรแกรมจะต้องมีการเตรียมงานเกี่ยวกับการเขียนโปแกรมอย่างเป็นขั้นตอน เรียกขั้นตอนเหล่านี้ว่า ขั้นตอนการพัฒนาโปรแกรม 

 ซอฟต์แวร์จะแบ่งออกเป็นประเภทใหญ่ ๆ ได้ 2 ประเภท คือ
              1.1  ซอฟต์แวร์ระบบ (System Software)
              1.2  ซอฟต์แวร์ประยุกต์ (Application Software)


       1.1  ซอฟต์แวร์ระบบ (System Software)
                        ซอฟต์แวร์ระบบ หมายถึงโปรแกรมที่ทำหน้าที่ควบคุมการทำงานของฮาร์ดแวร์ทุกอย่างและอำนวยความสะดวกให้กับผู้ใช้เครื่องคอมพิวเตอร์ ซึ่งแบ่งแต่ละ
โปรแกรมตามหน้าที่การทำงานดังนี้


      1.1.1   OS (Operating System)
                         คือโปรแกรมระบบที่ทำหน้าที่ควบคุมการใช้งานส่วน ต่างๆของเครื่องคอมพิวเตอร์เช่นควบคุมหน่วยความจำควบคุมหน่วยประมวลผลควบคุม หน่วยรับและควบคุมหน่วยแสดงผล ตลอดจนแฟ้มข้อมูลต่าง ๆ ให้มีประสิทธิภาพสูงที่สุด และสามารถใช้อุปกรณ์ทุกส่วนของคอมพิวเตอร์มาทำงานได้อย่างเต็มที่ นอกจากนั้นยังเข้ามาช่วยจัดสรรการใช้ทรัพยากรในเครื่องและช่วยจัดการกระบวน การพื้นฐานที่สำคัญ ๆ ภายในเครื่องคอมพิวเตอร์ เช่น การเปิดหรือปิดไฟล์การสื่อสารกันระหว่างชิ้นส่วนต่าง ๆ ภายในเครื่อง การส่งข้อมูลออกสู่เครื่องพิมพ์หรือจอภาพ เป็นต้น ก่อนที่เครื่องคอมพิวเตอร์แต่ละเครื่องจะสามารถอ่านไฟล์ต่าง ๆ หรือสามารถใช้ซอฟต์แวร์ต่าง ๆ ได้จะต้องผ่านการดึงระบบปฏิบัติการออกมาฝังตัวอยู่ในหน่วยความจำก่อน ปัจจุบันนี้มีโปรแกรมระบบอยู่หลายตัวด้วยกัน ซึ่งแต่ละตัวนั้นก็เป็นโปรแกรมระบบปฏิบัติการเหมือนกัน แต่ต่างกันที่ลักษณะการทำงานจะไม่เหมือนกัน ดังนี้
                - DOS (Disk Operating System)  เป็นระบบปฏิบัติการที่นิยมใช้กันมาตั้งแต่ในอดีตออกมาพร้อมกับเครื่องพีซีของไอบีเอ็มรุ่นแรก ๆ จากนั้นก็มีการพัฒนารุ่นใหม่ออกมาเรื่อย ๆ จนกระทั่งถึงเวอร์ชั่นสุดท้ายคือ เวอร์ชั่น 6.22 หลังจากที่มีการประกาศ ใช้วินโดวส์ 95 ก็คงจะไม่ผลิต DOS เวอร์ชั่นใหม่ออกมาแล้ว โดยทั่วไปจะนิยมใช้วินโดวส์ 3.x ซึ่งถือว่าเป็นโปรแกรมเสริมชนิดหนึ่งที่ใช้ในดอส

             - UNIX  เป็นระบบ ปฏิบัติการที่สามารถใช้ร่วมกันได้หลายคน (Multiuser)
หรือ เป็นระบบปฏิบัติการแบบเครือข่ายโดยที่ผู้ใช้แต่ละคนจะต้องมีชื่อและพาส เวิร์ดส่วนตัวและสามารถเชื่อมโยงถึงกันได้ถึงทั่วโลกโดยผ่านทางสายโทรศัพท์ และมี Modem เป็น ตัวกลางในการรับส่งข้อมูลหรือโอนย้ายข้อมูลนิยมใช้แพร่หลายในมหาวิทยาลัย หน่วยงานรัฐบาลหรือบริษัทเอกชนที่มีระบบคอมพิวเตอร์ใหญ่ๆใช้ในระบบยูนิกซ์ เองก็มีวินโดวส์อีกชนิดหนึ่งใช้เรียกว่า X Windows สำหรับผู้ที่ต้องการใช้ระบบยูนิกซ์ในเครื่องพีซีที่บ้านก็มีเวอร์ชั่นสำหรับพีซีเรียกว่า Linux ซึ่งจะมีคำสั่งพื้นฐานคล้าย ๆ กับระบบยูนิกซ์
- Linux  เป็นระบบปฏิบัติการตัวหนึ่งเช่นเดียวกับ DOS,Windows
และ Unix แต่ Linux นั้นจัดว่าเป็นระบบปฏิบัติการ Unix ประเภทหนึ่งในปัจจุบันนี้มีการใช้ Linux  กันมากเนื่องจากความสามารถของตัวระบบปฏิบัติการและโปรแกรมประยุกต์ที่ทำงานบนระบบ Linux ได้พัฒนาขึ้นมามากมายโดยเฉพาะอย่างยิ่งโปรแกรมในตระกูลของGNU  (GNU's Not UNIX) และสิ่งที่สำคัญที่สุดคือระบบ Linux เป็นระบบปฏิบัติการประเภท
ฟรีแวร์ (Free Ware) คือไม่เสียค่าใช้จ่ายในการซื้อโปรแกรมระบบ Linux  และนอกจากนั้น Linux ยังสามารถทำงานได้บน CPU ทั้ง 3 ตระกูลคือบน CPU ของอินเทล (PCIntel) ดิจิตอลอัลฟาคอมพิวเตอร์  (Digital Alpha Computer)
และซันสปาร์  (SUNSPARC) ปัจจุบันนี้ได้มีการนำระบบปฏิบัติการ Linux ไปประยุกต์   ใช้เป็นระบบปฏิบัติการแบบเครือข่ายสำหรับงานด้านต่างๆ เช่น  งานด้านการคำนวณสถานีงานสถานีบริการต่างๆ ระบบอินเทอร์เน็ตภายในองค์กรใช้ในการเรียนการสอน การทำวิจัยทางคอมพิวเตอร์ การพัฒนาโปรแกรม เป็นต้น
-  LAN  เป็นระบบปฏิบัติการแบบเครือข่ายเช่นเดียวกัน แต่จะใช้เชื่อมโยงกันใกล้ ๆ เช่น ในอาคารเดียวกันหรือระหว่างอาคารที่อยู่ใกล้กัน โดยใช้สาย Lan เป็นตัวเชื่อมโยง
-  WINDOWS  เป็นระบบปฏิบัติการที่กำลังนิยมใช้กันมากในปัจจุบัน ซึ่งพัฒนามาถึงรุ่นแล้ว Windows 2000 แล้ว บริษัทไม่โครซอฟต์ได้เริ่มประกาศใช้ MS Windows 95 ครั้งแรกเมื่อ 24 สิงหาคม ค.ศ. 1995 โดยมีความคิดที่ว่าจะออกมาแทน MS-DOS และ วินโดวส์ 3.x ที่ใช้ร่วมกันอยู่ลักษณะของวินโดวส์ 95 จึงคล้ายกับระบบโอเอสที่มีทั้งดอสและวินโดวส์อยู่ในตัวเดียวกันแต่เป็นวินโดวส์ที่มีลักษณะพิเศษกว่าวินโดวส์เดิม เช่น มีคุณสมบัติเป็น Plug and Play ซึ่งสามารถจะรู้จักฮาร์ดแวร์ต่าง ๆ ที่ติดตั้งอยู่ในเครื่องได้โดยอัตโนมัติ มีลักษณะเป็นระบบ 32 บิต ในขณะที่วินโดวส์เดิมเป็นระบบ 16 บิต
-  WINDOWS NT เป็นระบบ OS ที่ผลิตมาจากบริษัท IBM เป็นระบบ 32 บิต ที่มีรูปลักษณ์เป็นกราฟิกที่ต้องใช้เม้าส์ คล้ายกับวินโดวส์ทั่วไปเช่นกัน

                   1.1.2 Translation Program
คือ โปรแกรมระบบที่ทำหน้าที่ในการแปลโปรแกรม หรือชุดคำสั่งที่เขียนด้วยภาษาที่ไม่ใช่ภาษาเครื่องหรือภาษาเครื่องที่ไม่ เข้าใจให้เป็นภาษาที่เครื่องเข้าใจ และนำไปปฏิบัติได้ เช่น ภาษาBASIC,COBOL,C,PASCAL, FORTRAN,ASSEMBLY เป็นต้น สำหรับตัวแปลนั้นจะมีอยู่ 3 แบบคือ
-  Assembler เป็นโปรแกรมที่ใช้แปลภาษาแอสแซมบลี ซึ่งมีลักษณะการแปลทีละคำสั่ง เมื่อทำตามคำสั่งนั้นเสร็จแล้ว ก็จะแปลคำสั่งถัดไปเรื่อย ๆ จนจบ
-  อินเตอร์พรีเตอร์ (Interpreter) เป็นตัวแปลภาษาระดับสูงเช่นเดียวกับคอมไพล์เลอร์แต่จะแปลพร้อมกับทำงานตามคำสั่งทีละคำสั่งตลอดไปทั้งโปรแกรม ทำให้การแก้ไขโปรแกรมทำได้ง่ายปละรวดเร็ว การแปลโดยใช้อินเตอร์      พรีเตอร์จะไม่สร้างโปรแกรมเรียกใช้งาน ดังนั้นจะต้องทำการแปลใหม่ทุกครั้งที่มี         การเรียกใช้งาน ตัวอย่างตัวแปลภาษาที่ใช้ตัวแปลอินเตอร์พรีเตอร์ เช่น ภาษาเบสิก (BASIC)
-  คอมไพเลอร์ (Compiler) เป็นตัวแปลภาษาระดับสูง เช่น ภาษาปาสคาล ภาษาโคบอลและภาษาฟอร์เเทรน การทำงานจะใช้หลักการแปลโปรแกรมต้นฉบับทั้งโปรแกรมให้เป็นโปรแกรมเรียกใช้งาน (executable program) ซึ่งจะถูกบันทึกไว้ในลักษณะของแฟ้มข้อมูลหรือไฟล์ เมื่อต้องการเรียกใช้งานโปรแกรมก็สามารถเรียกใช้จากไฟล์เรียกใช้งานโดยไม่ต้องทำการแปลหรือคอมไพล์อีก ทำให้การทำงานเป็นไปอย่างรวดเร็ว ขณะที่คอมไพล์โปรแกรมต้นฉบับที่เขียนขึ้นด้วยภาษาระดับสูง คอมไพล์เลอร์จะตรวจสอบโครงสร้างไวยกรณ์ของคำสั่งและข้อมูลที่ใช้ใน
                    การคำนวณและเปรียบเทียบต่อจากนั้นคอมไพล์เลอร์จะสร้างรายการ
ข้อผิดพลาดของโปรแกรม
 (Program Listing) เพื่อใช้เก็บโปรแกรมต้นฉบับและคำสั่งที่เขียนไม่ถูกต้องตามกฎหรือโครงสร้างของภาษานั้น ๆ ไฟล์นั้นมีประโยชน์ในการช่วยโปรแกรมเมอร์ในการแก้ไขโปรแกรม (Debug)

                   1.1.3 Utility Program

                             คือโปรแกรมระบบที่ทำหน้าที่ในการอำนวยความสะดวกให้กับผู้ใช้เครื่องคอมพิวเตอร์ ให้สามารถทำงานได้สะดวก รวดเร็วและง่ายขึ้น เช่น โปรแกรมที่ใช้ในการเรียงลำดับข้อมูล โปรแกรมโอนย้ายข้อมูลจากชนิดหนึ่งไปยังอีกชนิดหนึ่ง โปรแกรมรวบรวมข้อมูล 2 ชุดด้วยกัน โปรแกรมคัดลอกข้อมูล เป็นต้น สำหรับโปรแกรมที่ทำงานในด้านนี้ ได้แก่ Pctools,Sidekick,PKZIP,PKUNZIP Norton Utility เป็นต้น


1.1.4 Diagnostic Program
คือโปรแกรมระบบที่ทำหน้าที่ตรวจสอบข้อผิดพลาดในการทำงานของอุปกรณ์ต่าง ๆ ของเครื่องคอมพิวเตอร์ ได้แก่ โปรแกรมQAPLUS โปรแกรม NORTON เป็นต้น และเมื่อพบข้อผิดพลาดก็จะแจ้งขึ้นมาบนจอภาพให้ทราบ เช่น ถ้ามีการตรวจสอบแล้วปรากฏว่า Keyboard บางปุ่มเสียไปก็จะแจ้งบอกขึ้นมาเป็นรหัสให้ผู้ใช้ทราบ หรือในกรณีที่ Card จอปกติไม่สามารถแสดงภาพได้ ก็จะบอกในลักษณะของเสียงแทน เช่นเดียวกับ RAM ถ้าเสียก็จะมีเสียงบอก
          1.2 ซอฟต์แวร์ประยุกต์ (Application Software)
หมายถึง โปรแกรมที่ผู้ใช้คอมพิวเตอร์เป็นผู้เขียนขึ้นมาใช้เองเพื่อสั่งให้เครื่องคอมพิวเตอร์ทำงานอย่างใดอย่างหนึ่งตามที่ต้องการ ซึ่งแบ่งได้ดังนี้
                    1.2.1  User Program
คือโปรแกรมที่ผู้ใช้เขียนขึ้นมาใช้เองโดยใช้ภาษาระดับต่างๆทางคอมพิวเตอร์เช่นภาษาBASICCOBOL,PASCAL,C,ASSEMBLY,FORTRAN ฯลฯ
ซึ่ง จะใช้ภาษาใดขึ้นอยู่กับความเหมาะสมของงานเหล่านั้น เช่น 
โปรแกรมระบบบัญชี
,โปรแกรมควบคุมสต็อกสินค้า,โปรแกรมแฟ้มทะเบียนประวัติ,โปรแกรมคำนวณภาษี,โปรแกรมคอดเงินเดือน เป็นต้น

1.2.2       Package Program
คือโปรแกรมสำเร็จรูป ซึ่งเป็นโปรแกรมที่ถูกสร้างหรือเขียนขึ้นมาโดยบริษัทต่าง ๆ เสร็จเรียบร้อยแล้วพร้อมที่จะนำมาใช้งานต่าง ๆ ได้ทันที ตัวอย่างเช่น
-   Word Processer โปรแกรมที่ช่วยในการทำเอกสาร พิมพ์งานต่าง ๆ เช่น เวิร์ดจุฬา,เวิร์ดราชวิถี,Microsoft Word,WordPerfect,Amipro เป็นต้น
-  Spreadsheet โปรแกรมที่ใช้ในการคำนวณข้อมูล มีลักษณะเป็นตาราง เช่น Lotus 1-2-3,Microsoft Excel เป็นต้น
-  Database โปรแกรมที่ใช้ในการทำงานทางด้านฐานข้อมูลจะใช้เก็บรวบรวมข้อมูล ต่าง ๆ ที่มีขนาดใหญ่ และมีข้อมูลเป็นจำนวนมาก เช่นdBASEIIIPlus, Foxbase, Microsoft Access Foxpro, Visual Foxpro, Pracle, Infomix, DB2  เป็นต้น
-  Graphic โปรแกรมที่ใช้ในการทำงานทางด้านสร้างรูปภาพและกราฟิกต่าง ๆ รวมทั้งงานทางด้านสิ่งพิมพ์ การทำโบรชัวร์ แผ่นพับ นามบัตร เช่น CorelDraw, Photoshop, Harvard Graphic, Freelance Graphic, PowerPoint, PageMaker เป็นต้น
-  Internet โปรแกรมที่ใช้งานบน Internet เท่านั้น โดนจะต้องเรียกใช้ผ่านทาง Browser ซึ่งอาจจะเป็น Netscape Communicatorหรือ Internet Explorer โดยการติดตั้งผ่านทางแผ่น CD-Rom หรือ Download ขึ้นมาติดตั้งก็ได้ สำหรับโปรแกรมที่นิยมใช้ในปัจจุบัน
วัฏจักรในการพัฒนาระบบ แบ่งออกเป็น 6 ขั้นตอนคือ
2.1 System investigation
เป็นขั้นตอนในการศึกษาความต้องการของผู้ใช้ซึ่งจะนำข้อมูลต่าง  ที่ได้มากำหนดความต้องการของระบบและศึกษาความเป็นไปได้ของการพัฒนาระบบ กรณีที่สามารถพัฒนาระบบงานได้ตามความต้องการของผู้ใช้ จะดำเนินงานตามขั้นตอนขั้นต่อไป

                   2.2 System analysis
                       เป็นขั้นตอนในการวิเคราะห์ในรายละเอียดถึงความต้องการต่างๆ ของผู้ใช้ระบบรวมทั้งความต้องการของหน่วยงานและระบบอื่นๆ ที่ใช้อยู่ในปัจจุบันในด้านการประมวลผลทางด้านข้อมูลเข้า (input) ข้อมูลออก (output) หน่วยความจำ (storage) และควบคุมให้ได้ตรงตามความต้องการซึ่งเป็นจุดมุ่งหมายของระบบ

                   2.3 System design
                      เป็นขั้นตอนในการพัฒนาโปรแกรม โดยระบุถึงฮาร์ดแวร์ที่ใช้ในระบบ เช่น อุปกรณ์และสื่อต่างๆ ที่ใช้ รวมทั้งซอฟต์แวร์ เช่น โปรแกรมและวิธีการดำเนินงาน (procedure) เป็นต้น บุคลากรในระบบ เช่น ผู้ใช้และผู้เชี่ยวชาญ รวมทั้งออกแบบโครงสร้างของข้อมูลทั้งในด้านข้อมูลเข้าข้อมูลออก การประมวลผลข้อมูล หน่วยเก็บข้อมูล (storage) และฟังก์ชันควบคุมของระบบใหม่

           2.4 Software development
                     เป็นขั้นตอนในการพัฒนาโปรแกรม โดยสร้างโปรแกรมขึ้นมาเพื่อให้สามารถทำงานได้ตามที่ได้ออกแบบระบบไว้

                   2.5 System implementation
          เป็นขั้นตอนของการใช้งาน โดยการนำเอาโปรแกรมที่พัฒนาสมบูรณ์ไปติดตั้ง ทำการทดสอบระบบรวมทั้งฝึกฝนให้ผู้ใช้ระบบสามารถปฏิบัติงานโดยใช้ระบบใหม่นี้ได้

                   2.6 System maintenance
                             เป็นขั้นตอนในการบำรุงรักษาระบบ โดยตรวจสอบหรือควบคุม         การทำงานของระบบคอมพิวเตอร์และแก้ไขระบบเมื่อต้องการ
3.  ระยะต่าง ๆ ของการเขียนโปรแกรม (The Stages of the Programming Process)
               การเขียนโปรแกรมคอมพิวเตอร์ คือ วิธี การในการพัฒนาโปรแกรมคอมพิวเตอร์ซึ่งประกอบด้วยกลุ่มของคำสั่งซึ่งสั่งให้ เครื่องคอมพิวเตอร์ประมวลผลหรือกิจกรรมต่างๆซึ่งเกี่ยวของกับการเขียนคำสั่ง ในภาษาโปรแกรมต่าง ๆ ซึ่งสามารถแบ่งได้เป็นหลายระยะคือ

                     3.1 Program analysis
                            เป็นระยะของการวิเคราะห์ถึงจุดประสงค์ของงานประยุกต์ โดยกำหนดถึงหน้าที่ต่าง ๆ ที่จะให้โปรแกรมทำงานได้

                     3.2 Program design
                            เป็นระยะของการวางแผนและออกแบบถึงคุณลักษณะของข้อมูลเข้า (input) ข้อมูลออก (output) หน่วยเก็บข้อมูล วิธีดำเนินการประมวลผล

                     3.3 Program coding
                            เป็นระยะของการเขียนคำสั่งภาษาโปรแกรมซึ่งเปลี่ยนจาก Program design เป็นโปรแกรมคอมพิวเตอร์ที่สมบูรณ์

                     3.4 Program verification
                            เป็นระยะของการตรวจทานทดสอบโปรแกรมที่เขียนขึ้นให้ถูกต้องและสมบูรณ์ตรงตามความต้องการของระบบ ซึ่งเรียกว่า debuggingและ testing

                     3.5 Program documentation
                            เป็นระยะของการบันทึกรายละเอียดของการออกแบบและรายละเอียดของโปรแกรม โดยจัดทำเป็นคู่มือและเอกสารของระบบ

                     3.6 Program maintenance
                            เป็นระยะของการปรับปรุงหรือสร้างโปรแกรมคอมพิวเตอร์ เพื่อพัฒนาให้ดีขึ้นซึ่งอาจจะขยายขีดความสามารถหรือปรับปรุงให้ถูกต้องยิ่งขึ้น

4.  การวิเคราะห์โปรแกรม (Program analysis)
                    การวิเคราะห์โปรแกรมเป็นขั้นตอนแรกในการเขียนโปรแกรมคอมพิวเตอร์โดยการวิเคราะห์ถึงหน้าที่ต่างๆ ของโปรแกรมโดยแบ่งเป็นงานหรือฟังก์ชันฟังก์ชันหนึ่งอาจปฏิบัติการได้ก็ต่อเมื่อปฏิบัติงานอีกฟังก์ชันหนึ่งเสร็จก่อน   การวิเคราะห์ปัญหาต่างๆ ของโปรแกรมอาจเป็นปัญหาสั้นๆ  พื้นฐานหรือปัญหาทางคณิตศาสตร์ซับซ้อน  ซึ่งจะต้องกำหนดปัญหา  (Problem Definition) และกำหนดรายละเอียดของปัญหา (Problem Specification) ในการปฏิบัติงานให้ชัดเจน  ในกรณีที่งานประยุกต์เป็นงานประมวลผลข้อมูลการวิเคราะห์โปรแกรมควรวิเคราะห์ถึงข้อกำหนดรายละเอียดของซอฟต์แวร์ (Software Specification) ในระยะของการออกแบบ (Design Stage) หรือความต้องการในรายละเอียดของโปรแกรม (Program Specification) อย่างเช่น
                    1. Output โดยวิเคราะห์ว่าผลลัพธ์ที่ต้องการคืออะไรบ้าง
                    2. Input โดยวิเคราะห์ว่าข้อมูลที่สามารถเรียกหาได้มีอะไรได้บ้าง
                    3. Storage โดยวิเคราะห์ว่าข้อมูลจะเก็บ (store) หรือดึง (retrieved) หรือ
                         แก้ไขในหน่วยเก็บข้อมูลอะไร
                    4. Processing โดยวิเคราะห์ถึงวิธีการประมวลผลต่าง ๆ ซึ่งอาจเป็น           การคำนวณทางคณิตศาสตร์ การเปรียบเทียบและกรรมวิธีอื่น ๆ
                    5. Control procedure โดยวิเคราะห์วิธีการควบคุมการทำงานของโปรแกรม

5.  การออกแบบโปรแกรม (Program design)


                      ระยะของการออกแบบโปรแกรมเป็นระยะของการวางแผนและออกแบบโดยระบุคุณลักษณะของข้อมูลเข้า (Input) ข้อมูลออก (Output) กรรมวิธีการประมวลกำหนดรายละเอียดของหน่วยเก็บข้อมูลและวิธีการควบคุมซึ่งค่าของความพยายาม (effort) ใน การวิเคราะห์และออกแบบโปรแกรมขึ้นอยู่กับความซับซ้อนของงานประยุกต์และจำนวน ของงานในระบบโดยปกติจะเป็นการกำหนดกฎเกณฑ์ทงตรรกะและคำสั่งที่ระบุถึงการ ปฏิบัติงานซึ่งเรียกว่าโมดุล (modules หรือ subdivisions) โดยแต่ละโมดุลจะมีส่วนของการกำหนดค่าเริ่มต้น (initialization) ข้อมูลเข้า (input) ประมวลผล (processing) และส่วนแสดงผล (output) และส่วนของการสิ้นสุดหรือเลิกใช้ (termination) โมดุลโปรแกรมส่วนมากมีโมดุลควบคุมใช้สำหรับตรวจสอบและควบคุมการทำงานต่าง ๆ เช่น
                      1. ลำดับของการประมวลผล (order of processing)
                      2. ขั้นตอนการทำงานซ้ำ ๆ (looping)
                      3. เงื่อนไขยกเว้น เช่น ข้อผิดพลาดต่าง ๆ (errors)
                      4. สิ่งเบี่ยงเบนจากการประมวลผลปกติ (other deviations form normal processing require)
                 6.  การเขียนคำสั่งโปรแกรม (Program coding)
                       การเขียนคำสั่งโปรแกรมเป็นขั้นตอนในการแปลง (convert) ตรรกะ ที่ได้ออกแบบในระยะการออกแบบโปรแกรมให้เป็นกลุ่มของคำสั่งโปรแกรมภาษาเพื่อ สั่งให้คอมพิวเตอร์ปฏิบัติตามโปรแกรมภาษาในปัจจุบันมีมากมายหลายภาษา ซึ่งเหมาะกับงานด้านต่าง ๆ ซึ่งแต่ละภาษามีการเขียนที่แตกต่างกัน ทั้งรูปแบบ กฎเกณฑ์ต่างๆ  ดังนั้นผู้เขียนควรศึกษารูปแบบและกฎเกณฑ์ต่างๆ  เหล่านี้ก่อนโปรแกรมใดๆ ที่นิยมใช้ในปัจจุบัน จะประกอบด้วยคำสั่งโครงสร้างพื้นฐาน 3 อย่างคือ
                       1. แบบลำดับ (Sequence)
                       2. แบบทางเลือก (Selection)
                       3. แบบวนรอบ (Loop   หรือ   Repetition)
ซึ่งเป็นส่วนสำคัญในการเขียนโปรแกรมโครงสร้างแบบบนลงล่าง (top-down structure) จะช่วยให้การเขียนโปรแกรมเป็นมาตรฐาน (standardizes) และเข้าใจได้ง่าย รวมทั้งการแก้ไขง่ายอีกด้วย

                       Sequence Structure
                       เป็นโครงสร้างลำดับ  ซึ่ง แสดงถึงลำดับของคำสั่งหรือการปฏิบัติงานกล่าวคือคำสั่งซึ่งอยู่ก่อนจะถูก ปฏิบัติงานก่อนดังนั้นคำสั่งโปรแกรมซึ่งเก็บไว้ในคอมพิวเตอร์ก่อนถูกทำงาน ก่อน

                    Selection Structure
                       โครงสร้างทางเลือก หรือเรียกว่า decision หรือ IF-THEN-ELSE ก็ได้ เป็นโครงสร้างซึ่งแสดงทางเลือกของการทำงาน โดยขึ้นกับผลของเงื่อนไข โดยเงื่อนไขนี้ผลลัพธ์มี 2 ทางคือ จริง (True) และเท็จ (False) ถ้าเงื่อนไขเป็นจริงจะกระทำอย่างหนึ่ง ถ้าเงื่อนไขเป็นเท็จจะกระทำอีกอย่างหนึ่ง
                       Repetition (Loop) Structure
                       โครงสร้างวนรอบ หรือเรียกว่า DO-WHILE หรือ DO-UNTIL ก็ได้ เป็นโครงสร้างที่กระทำหน้าที่หรือคำสั่งซึ่งขึ้นกับเงื่อนไข โดยการทำงานจะเป็นการทำงานซ้ำ ๆ กัน ซึ่งจะหยุดการทำงานวนรอบก็ต่อเมื่อเงื่อนไขเป็นเท็จ (False)

7.  การตรวจสอบความถูกต้องของโปรแกรม (Program Verification)
                       การตรวจทานโปรแกรมโดยทั่วไปเรียกว่าdebuggingซึ่งเป็นระยะหนึ่งในการเขียนโปรแกรมรวมถุงการตรวจสอบ (checking) การทดสอบ (testing) และการทำให้ถูกต้อง (correction) เหราะการเขียนคำสั่งโปรแกรมใหม่ ๆ อาจเกิดข้อผิดพลาด (bugs) ได้ง่าย

                     7.1 ข้อผิดพลาดในการเขียนโปรแกรม (Programming Error)
                                 ข้อผิดพลาดในการเขียนโปรแกรมสามารถแบ่งเป็น 3 ชนิดคือsyntaxerrors,logicerrors แล system design errors

                                 Syntax errors  เป็นข้อผิดพลาดที่เกิดจากการเขียนคำสั่งโปรแกรมผิดรูปแบบ
ไวยกรณ์ของภาษา

                                 Logic errors  เป็นข้อผิดพลาดที่เกิดจากการใช้ตรรกะผิดในโปรแกรม ซึ่งเงื่อนไขผิดมีผลให้การกระทำตามเงื่อนไขผิดไปด้วย

                                 System design errors  เป็นข้อผิดพลาดจากการออกแบบระบบทำให้ผลของการทำงานไม่เป็นที่ยอมรับของผู้ใช้ซึ่งความผิดพลาดนี้ อาจเกิดจากการสื่อสารระหว่างโปรแกรมเมอร์กับผู้วิเคราะห์ระบบหรือผู้ใช้ระบบไม่ดี

                                 Syntax errors เป็นความผิดพลาดที่ค้นพบได้ง่ายกว่า logic errors เพราะสามารถตรวจพบได้ในระหว่างการทำการแปลภาษา ส่วน logic errors จะตรวจพบเมื่อโปรแกรมทำงานจนได้ผลลัพธ์ไม่ถูกต้องเท่านั้น

                       7.2  การตรวจสอบ (checking)

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

7.3  Structured walkthroughs
เป็นเครื่องมือของการออกแบบ,เขียนคำสั่ง,ตรวจ สอบข้อผิดพลาดของการเขียนโปรแกรมที่ดีซึ่งเป็นวิธีการที่ผู้เขียนโปรแกรม แสดงผลงานให้โปรแกรมเมอร์อื่นๆตรวจสอบดูซึ่งการทำงานนี้เป็นแนวคาวมคิดของ การเขียนโปรแกรมเป็นทีมงานซึ่งมีการกำหนดให้พัฒนาโปรแกรมเดียวกันภายใต้การ ควบคุมของหัวหน้าโปรแกรมเมอร์ (chiefprogrammer) โดยสมาชิกในทีมงานจะช่วยกันตรวจดูถึงการออกแบบและการเขียนคำสั่งเป็นช่วงๆ เป็นประจำของแต่ละโมดุล ซึ่งทำให้ค่าใช้จ่ายของการทวนสอบ (Verification) น้อยลง โดยสามารถพบข้อผิดพลาดได้ในระยะเริ่มแรกของการเขียนโปรแกรม โดยไม่ต้องคอยจนกระทั่งตรวจพบในระยะของการทดสอบโปรแกรม ซึ่งเป็นการทราบที่จะทราบว่าจุดใดที่เกิดข้อผิดพลาด ซึ่งมีผลทำให้ค่าใช้จ่ายสูงตามไปด้วย
7.4  การทดสอบ (testing)
การทดสอบเป็นการตรวจสอบการทำงานของโปรแกรมโดยใช้ข้อมูลทดสอบ (testdata) เพื่อดูผลลัพธ์จากการทำงานการทดสอบที่ดีนั้นควรใช้ข้อมูลที่แตกต่างกันเพื่อให้สามารถกระทำได้ในทุกๆ เงื่อนไขในการทำงานของโปรแกรมรวมทั้งควรทดลองข้อมูลที่ไม่ถูกต้องด้วยโปรแกรมที่ดีเมื่อใส่ข้อมูลผิดๆ จะไม่เกิด error แต่ จะแสดงข้อความเพื่อเตือนเท่านั้นในการเขียนโปรแกรมโครงสร้างที่ใช้โปรแกรม ภาษาระดับสูงนั้นผู้ทำการทดสอบโปรแกรมสามารถแบ่งการทดสอบโปรแกรมออกเป็น ส่วนๆ ซึ่งเรียกว่า โมดุล เพื่อสะดวกในการทดสอบซึ่งง่ายต่อ            การค้นหาข้อผิดพลาดและง่ายต่อการแก้ไขให้ถูกต้องด้วยเมื่อทดสอบโมดุลย่อยๆ เหล่านี้จนไม่มีข้อผิดพลาดจึงนำมาเป็นโปรแกรมหลักอีกครั้งหนึ่ง การ ทดสอบโปรแกรมกรณีที่ต้องให้โปรแกรมที่พัฒนาขึ้นมาแทนที่การประมวลผลเก่าซึ่ง กำลังดำเนินอยู่การทดสอบต้องกระทำขนานกันไปกับระบบเก่าซึ่งเรารียกการประมวล ผลนี้ว่า parallel processing ดังนั้นการทดสอบระบบต้องทดสอบจนกว่าจะแน่ใจว่าสามารถกระทำแทนที่ระบบเก่าได้จึงจะนำเอาการปฏิบัติงานของระบบเก่าออกไปได้
8.  เอกสารโปรแกรม (Program documentation)

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

9.  การบำรุงรักษาโปรแกรม (Program maintenance)
ขั้น ตอนสุดท้ายในการเขียนโปรแกรมคอมพิวเตอร์จะเริ่มหลังจากโปรแกรมคอมพิวเตอร์ ที่พัฒนาขึ้นนั้นเป็นที่ยอมรับจากผู้ใช้และได้ปฏิบัติงานมาแล้วชั่วระยะเวลา หนึ่ง ต่อมาเกิดความจำเป็นบางอย่างเกิดขึ้น เช่น ต้องการปรับปรุงระบบให้มีประสิทธิภาพดีขึ้น หรือต้องการแก้ไขหน้าที่บางอย่างหรือต้องการขยายขีดความสามารถของโปรแกรม หรืออาจเกิดจากความผิดพลาดในโปรแกรมต้องการแก้ไขให้ถูกต้อง โดยอาจมีผลมาจากนโยบายของบริษัทที่เปลี่ยนไป หรือระเบียบทางราชการบังคับ หรือการแข่งขันทางธุรกิจ ฯลฯ การเปลี่ยนแปลงอาจเกิดขึ้นได้กับทั้งฮาร์ดแวร์และซอฟต์แวร์ของระบบ การบำรุงรักษาเป็นหน้าที่หลักของการประมวลผลข่าวสารของหน่วยงานเกี่ยวของกับ การวิเคราะห์ การออกแบบ การเขียนคำสั่ง การตรวจสอบ การเปลี่ยนแปลงเอกสารให้ทันสมัย ซึ่งจะมี Maintenance Programmers เป็นผู้ที่รับผิดชอบหน้าที่บำรุง รักษาโปรแกรม ซึ่งในความเป็นจริงแล้วผู้เขียนโปรแกรมกับผู้ที่บำรุงรักษาโปรแกรมจะเป็นคน ละทีมงานกัน ดังนั้นจึงเป็นการยากที่ต้องแก้ไขโปรแกรมที่ไม่ได้พัฒนาขึ้นมา ดังนั้นสิ่งสำคัญของการเขียนโปรแกรมโครงสร้างจะช่วยให้การเขียนโปรแกรมเป็น มาตรฐานและทำให้ง่ายต่อการอ่านและเข้าใจ

ภาษาเบสิกและความหมายของภาษาเบสิก


ภาษาเบสิก

ความหมายของภาษาเบสิกคือ
ภาษาเบสิก (BASIC programming language) เป็นภาษาระดับสูง (high level language) ภาษาหนึ่งใช้ในการเขียนโปรแกรม ภาษาเบสิกนี้เขียนง่าย ๆ และยังได้รับความนิยมมาจนถึงทุกวันนี้ เบสิกออกแบบมาให้ใช้กับคอมพิวเตอร์ตามบ้าน และเหมาะกับผู้เริ่มต้นเรียน คำว่า BASIC นั้นย่อมาจาก Beginner's All-purpose Symbolic Instruction Code แปลได้ว่า รหัสคำสั่งที่เป็นสัญลักษณ์เอนกประสงค์สำหรับผู้เริ่มต้นใช้คอมพิวเตอร์ เมื่อเริ่มนำออกใช้ใหม่ ๆ ภาษานี้มีข้อจำกัดมาก ในปัจจุบันแม้จะมีการพัฒนาภาษานี้ไปไกลแล้ว แต่นักทำโปรแกรมทั่วไปมักจะดูถูกว่า เป็นภาษาสำหรับผู้เริ่มต้น และไม่นิยมนำมาใช้ในการเขียนโปรแกรมใหญ่ ๆ ข้อดีของภาษานี้ก็คือ จะทราบที่ผิดและแก้ไขได้ทันที

ชื่อภาษาเบสิก หรือ BASIC ย่อมาจาก Beginner's Allpurpose Symbolic Instruction Code ต้องเขียนด้วยตัวพิมพ์ใหญ่เสมอ
บริษัทไมโครซอฟท์ได้นำภาษาเบสิกมาปรับปรุงให้ทันสมัย และพัฒนาเครื่องมือพัฒนาโปรแกรม Visual Basic ทำให้เบสิกได้รับความนิยมในการพัฒนาโปรแกรมยุคใหม่ รุ่นล่าสุดของวิชวลเบสิกเรียกว่า VB.NET
 

ประวัติความเป็นมาของภาษาเบสิก

ภาษาเบสิกได้พัฒนาขึ้นมาโดยศาสตราจารย์จอห์น เคเมนี (John Kemeny) และศาสตราจารย์โทมัส  ครูสซ์ (Thomas Kurtz) แห่งมหาวิทยาลัยดารห์เมาท์ (Dartmounth College) แห่งสหรัฐอเมริกา โดยการที่จะสั่งให้เครื่องคอมพิวเตอร์ทำงานได้ตามที่เราต้องการ โดยการใช้โปรแกรมภาษาระดับสูงอย่างภาษาเบสิกในการสั่งเราเรียกว่าการเขียนโปรแกรม ในความหมายของการเขียนโปรแกรมคอมพิวเตอร์หมายถึง การเขียนคำสั่งตั้งแต่ 1 คำสั่งขึ้นไป

เพื่อให้คอมพิวเตอร์ทำงานอย่างที่ต้องการ เนื่องจากคอมพิวเตอร์สามารถรับรู้คำสั่งได้ค่อนข้างจำกัด

 ดังนั้นการเขียนคำสั่งแต่ละคำสั่งต้องอยู่ในรูปแบบ และเป็นไปตามหลักไวยากรณ์

 ในกลางปี ค.ศ. 1964 ภาษาเบสิกใช้ได้กับคอมพิวเตอร์ขนาดเล็กถึงขนาดใหญ่ มีการพัฒนาจนทำให้มีภาษาเบสิกต่าง ๆ กัน เช่น Turbo Basic Power Basic QBasic และ Visual Basic เป็นต้น

 
 
 

วันพุธที่ 7 สิงหาคม พ.ศ. 2556

โปรแกรมคอมพิวเตอร์

                                     โปรแกรมคอมพิวเตอร์

1.โปรแกรมคอมพิวเตอร์หมายถึงอะไร
ตอบ หมายถึง คำสั่งคอมพิวเตอร์ชุดหนึ่ง ๆ ที่เขียนขึ้นเป็นภาษาคอมพิวเตอร์ภาษาใดภาษาหนึ่ง เช่น ภาษาซี (C) ภาษาโคบอล (COBOL) ภาษาเบสิก (BASIC) หรือ ภาษาแอสเซมบลี (Assembly) ฯ คำ "โปรแกรม" นี้ อาจจะเรียกเป็นชื่ออื่นก็ได้ เช่น ซอฟต์แวร์ (software) หรือ แอพพลิเคชัน (application) โปรแกรมนั้น แบ่งได้เป็นหลายประเภท ประเภทแรกคือประเภทที่ผู้ใช้เขียนขึ้นเองเพื่อให้ตรงกับความต้องการ กับอีกประเภทหนึ่งมีคนทำสำเร็จรูปไว้ขาย เช่น โปรแกรมสำหรับวาดภาพ (graphics) โปรแกรมประมวลผลคำ (word processing) โปรแกรมตารางจัดการ (spreadsheet) นอกจากนั้น ยังมีโปรแกรมระบบ (systems software) ซึ่งเป็นโปรแกรมที่ควบคุมการทำงานของเครื่องคอมพิวเตอร์ มีบางส่วนติดตั้งมาจากโรงงานที่ผลิตเลย และโปรแกรมระบบปฏิบัติการ (operating system) ที่จะทำหน้าที่เหมือนแม่บ้านคอยดูแลให้อุปกรณ์ต่าง ๆ ทำงานให้ประสานกัน สรุปว่า คอมพิวเตอร์สามารถทำงานได้ทุกอย่าง แต่คนเขียนคำสั่งต้องเข้าใจขั้นตอน วิธี (algorithm) และภาษาที่จะใช้เป็นอย่างดี จึงจะสามารถเขียนสั่งเครื่องให้ทำงานได้


2.ขั้นตอนการพัฒนาโปรแกรม มีกี่ขั้นตอน อะไรบ้าง
ตอบ การพัฒนาโปรแกรม มีทั้งหมด 6 ขั้นตอน ดังนี้


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

                                                                2.การออกแบบโปรแกรม
การออกแบบขั้นตอนการทำงานของโปรแกรมเป็นขั้นตอนที่ใช้เป็นแนวทางในการลงรหัสโปรแกรม ผู้ออกแบบขั้นตอนการทำงานของโปรแกรมอาจใช้เครื่องมือต่างๆ ช่วยในการออกแบบ อาทิเช่น คำสั่งลำลอง (Pseudocode) หรือ ผังงาน (Flow chart) การออกแบบโปรแกรมนั้นไม่ต้องพะวงกับรูปแบบคำสั่งภาษาคอมพิวเตอร์ แต่ให้มุ่งความสนใจไปที่ลำดับขั้นตอนในการประมวลผลของโปรแกรมเท่านั้น

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


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

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

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