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

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

1. โปรแกรมคอมพิวเตอร์ หมายถึง? 

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

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

ตอบ มี 6 ขั้นตอน ได้แก่

1.การวิเคราะห์ปัญหา 

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

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

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

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

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

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

วันพุธที่ 31 กรกฎาคม พ.ศ. 2556

ภาษาคอมพิวเตอร์

ภาษาคอมพิวเตอร์

1. ภาษาคอมพิวเตอร์ หมายถึง?

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

2. ประเภทของภาษาคอมพิวเตอร์ มีกี่ประเภท อะไรบ้าง?

ตอบ  มี 3 ประเภท


ภาษาระดับต่ำ (Low Level Language)
เป็นภาษาที่มนุษย์ทำความเข้าใจได้ยาก ส่วนใหญ่ต้องมความเข้าใจเกี่ยวกับสถาปัตยกรรมคอมพิวเตอร์ และฮาร์ดแวร์เป็นอย่างดีจึงจะสามารถ
เขียนโปรแกรมสั่งงานได้ มีข้อดีในส่วนที่เขียนโปรแกรมควบคุมฮาร์ดแวร์ แต่ละส่วนได้โดยตรงจึงทำงานได้เร็ว แต่ไม่เหมาะที่จะใช้ในการพัฒนาโปรแกรม ตัวอย่างของภาษาระดับต่ำได้แก่ ภาษาเครื่อง (Machine Language) และภาษาแอสเซมบลี้ (Assembly Language) เป็นต้น

ภาษาระดับกลาง (Medium Level Language) เป็นภาษาที่ทำความเข้าใจได้ไม่ยากนัก เพราะมีลักษณะเป็นภาษาแบบโครงสร้าง ทำความเข้าใจได้ เหมือนกับภาษาระดับสูง แต่ทำงานได้รวดเร็วเหมือนกับภาษาระดับต่ำ สามารถใช้บนเครื่องที่มีความเร็วต่างกัน โดยไม่ต้องดัดแปลง ภาษาระดับกลาง ได้นำข้อดีของภาษาระดับต่ำ และระดับสูงมาพัฒนาเป็นภาษาระดับกลาง ดังนั้นภาษาระดับกลาง จึงเป็นที่นิยมใช้กันแพร่หลาย ตัวอย่างของภาษาระดับกลางได้ภาษาซี เป็นต้น

ภาษาระดับสูง (High Level Language) เป็นภาษาที่ทำความเข้าใจได้ง่าย มีลักษณะ ของการใช้คำสั่งเป็นภาษาอังกฤษ ซึ่งใกล้เคียงกับภาษามนุษย์มาก การสั่งให้คอมพิวเตอร์ทำงาน จะต้องมีการแปลความหมายของคำสั่ง โดยใช้ตัวแปลภาษาทีละชุดคำสั่งที่เรียกว่า Interpreter หรือ แปลครั้งเดียวทั้งโปรแกรมที่เรียกว่า Compiler


          ภาษาระดับสูงถูกออกแบบมาเพื่อให้ใช้งานง่ายและสะดวกสบายมากกว่าภาษาระดับต่ำ โปรแกรมที่เขียนถูกต้องตามกฎเกณฑ์และไวยากรณ์ของภาษาจะถูกแปล (compile) ไปเป็นภาษาระดับต่ำเพื่อให้คอมพิวเตอร์สามารถนำไปใช้งานหรือปฏิบัติตามคำสั่งได้ต่อไป ซอฟต์แวร์สมัยใหม่ส่วนมากเขียนด้วยภาษาระดับสูง แปลไปเป็นออบเจกต์โค้ด (object code) แล้วเปลี่ยนให้เป็นชุดคำสั่งในภาษาเครื่อ

วันพุธที่ 10 กรกฎาคม พ.ศ. 2556

การถ่ายทอดความคิดในการแก้ปัญหาด้วย "อัลกอริทึม"

การถ่ายทอดความคิดในการแก้ปัญหาด้วย "อัลกอริทึม"

1. การเขียนรหัสจำลอง (Pseudo Code) หมายถึงอะไร ตัวอย่าง การเขียนรหัสจำลอง

การเขียนรหัสจำลอง หมายถึง เปนเครื่องมือที่ชวยในการแก้ ปัญหาการเขียนจะเปนคําอธิบายที่มีโครงสรางที่ชัดเจน ไมขึ้นกับภาษาใดภาษาหนึ่ง   แตสามารถเปลี่ยนเปนภาษาทางคอมพิวเตอรไดงาย
จะมีการใชขอความที่เปนภาษาอังกฤษหรือภาษาไทยก็ได  ในการแสดงขั้นตอนการแกปัญหา  แตจะมีการใชคําเฉพาะ(reserve  words)  ที่มีอยูในภาษาโปรแกรมมาชวยในการเขียน  โครงของรหัสจําลองจึงมีสวนที่คลายกับการเขียนโปรแกรมมาก  ดังนั้นรหัสจําลองจึงเปนเครื่องมืออีกแบบที่นิยมใชกันมากในการออกแบบโปรแกรม

ตัวอย่าง การเขียนรหัสจำลอง


1)   ใหนับจํานวนนักศึกษาที่อายุ มากกวา หรือเทากับ 18 ปี  และจํานวนนักศึกษาที่อายุนอยกวา 18 ปี
IF student’s age >= 18
         THEN   AdultCounter = AdultCounter + 1
          ELSE   JuniorCounter = JuniorCounter + 1
    ENDIF


2) ใหนับจํานวนชั่วโมงการทํางานที่เกิน 40 ชั่วโมง
IF  hour worked > 40
            THEN OverTimeCounter = OverTimeCounter + 1
      ENDIF

3)  จงเขียนรหัสจําลองหาพื้นที่ของวงกลม
     กําหนดให   สูตรพื้นที่วงกลม    =       3.1415  x รัศมี  x  รัศมี
Area of  cycle
Read radius
Compute Area = 3.1415 * radius * radius
Display Area
End


2. การเขียนผังงาน (Flowchart) หมายถึงอะไร พร้อมสัญลักษณ์ที่ใช้เขียนผังงาน

การเขียนผังงาน หมายถึง การจําลองความคิดใหเปนแผนผังที่เรียกวา Flow chart ชวยใหสามารถแกปญหาไดดีเฉพาะอยางยิ่งปญหาที่ยุงยากซับซอน  และการเขียนผังงานจะใชสัญลักษณ สื่อสารความหมายใหเขาใจตรงกัน ของสถาบันมาตรฐานแหงชาติอเมริกัน : ANSI ไดกําหนดสัญลักษณไวเปนมาตรฐาน  ซึ่งมีรายละเอียดรูปแบบและความหมายที่ควรทราบตามตารางตอไปนี้

ตัวอย่าง สัญลักษณ์ที่ใช้เขียนผังงาน



วันพุธที่ 3 กรกฎาคม พ.ศ. 2556

กระบวนการเทคโนโลยีสารสนเทศ

กระบวนการเทคโนโลยีสารสนเทศ

การวิเคราะห์และกำหนดรายละเอียดของปัญหา

         การวิเคราะห์และกำหนดรายละเอียดของปัญหา (State the problem) ขั้นตอนนี้เป็นขั้นตอนแรกสุดก่อนที่จะลงมือแก้ปัญหา แต่ผู้แก้ปัญหามักจะมองข้ามความสำคัญของขั้นตอนนี้
อยู่เสมอ จุดประสงค์ของขั้นตอนนี้ คือการทำความเข้าใจกับปัญหาเพื่อแยกให้ออกว่าข้อมูลที่กำหนดมาในปัญหาหรือเงื่อนไขของปัญหาคืออะไร และสิ่งที่ต้องการคืออะไร อีกทั้งวิธีการที่ใช้ประมวลผล ในการวิเคราะห์ปัญหาใด กล่าวโดยสรุปมีองค์ประกอบในการวิเคราะห์ ดังนี้
        
  1. การระบุข้อมูลเข้า  ได้แก่ การพิจารณาข้อมูลและเงื่อนไขที่กำหนดมาในปัญหา
         
 2. การระบุข้อมูลออก  ได้แก่ การพิจารณาเป้าหมายหรือสิ่งที่ต้องหาคำตอบ
          
3  การกำหนดวิธีประมวลผล  ได้แก่ การพิจารณาขั้นตอนวิธีหาคำตอบหรือข้อมูลออก


การเลือกเครื่องมือและออกแบบขั้นตอนวิธี


           การเลือกเครื่องมือและออกแบบขั้นตอนวิธี (Tools and Algorithm development) ขั้นตอนนี้เป็นขั้นตอนของการวางแผนในการแก้ปัญหาอย่างละเอียดถี่ถ้วน หลังจากที่เราทำความเข้าใจกับปัญหา พิจารณาข้อมูลและเงื่อนไขที่มีอยู่ และสิ่งที่ต้องการหาในขั้นตอนที่  1  แล้ว เราสามารถคาดคะเนวิธีการที่จะใช้ในการแก้ปัญหา ขั้นตอนนี้จำเป็นต้องอาศัยประสบการณ์ของผู้แก้ปัญหาเป็นหลัก หากผู้แก้ปัญหาเคยพบกับปัญหาทำนองนี้มาแล้วก็สามารถดำเนินการตามแนวทางที่เคยปฏิบัติมา
            ขั้นตอนนี้จะเริ่มจากการเลือกเครื่องมือที่ใช้ในการแก้ปัญหา โดยพิจารณาความเหมาะสมระหว่างเครื่องมือกับเงื่อนไขต่างๆ ของปัญหาซึ่งหมายรวมถึงความสามารถของเครื่องมือในการแก้ปัญหาดังกล่าว และสิ่งที่สำคัญคือความคุ้นเคยในการใช้งานเครื่องมือนั้นๆ ของผู้แก้ปัญหา
            อีกสิ่งหนึ่งที่สำคัญในการแก้ปัญหา คือยุทธวิธีที่ใช้ในการแก้ปัญหาหรือที่เราเรียกว่าขั้นตอนวิธี (algorithm) ในการแก้ปัญหา  หลังจากที่เราได้เครื่องมือช่วยแก้ปัญหาแล้ว ผู้แก้ปัญหาต้องวางแผนว่าจะใช้เครื่องมือดังกล่าวเพื่อให้ได้ผลลัพธ์ที่ถูกต้องและดีที่สุด การออกแบบขั้นตอนวิธีในการแก้ปัญหา ผู้แก้ปัญหาควรใช้แผนภาพหรือเครื่องมือในการแสดงขั้นตอนการทำงานเพื่อให้ง่ายต่อความเข้าใจ เช่น  ผังงาน (flowchart) ที่จำลองขั้นตอนวิธีการแก้ปัญหาในรูปของสัญลักษณ์  รหัสลำลอง (pseudo code) ซึ่งเป็นการจำลองขั้นตอนวิธีการแก้ปัญหาในรูปของคำบรรยาย การใช้เครื่องมือช่วยออกแบบดังกล่าวนอกจากแสดงกระบวนการที่ชัดเจนแล้ว ยังช่วยให้ผู้แก้ปัญหาสามารถหาข้อผิดพลาดของวิธีการที่ใช้ได้ง่ายและแก้ไขได้อย่างรวดเร็ว


การดำเนินการแก้ปัญหา

              การดำเนินการแก้ปัญหา (Implementation) หลังจากที่ได้ออกแบบขั้นตอนวิธี
เรียบร้อยแล้ว ขั้นตอนนี้เป็นขั้นตอนที่ต้องลงมือแก้ปัญหาโดยใช้เครื่องมือที่ได้เลือกไว้ หากการแก้ปัญหาดังกล่าวใช้คอมพิวเตอร์เข้ามาช่วย  ขั้นตอนนี้ก็เป็นการใช้โปรแกรมสำเร็จหรือใช้ภาษาคอมพิวเตอร์เขียนโปรแกรมแก้ปัญหา ขั้นตอนนี้ต้องอาศัยความรู้เกี่ยวกับเครื่องมือที่เลือกใช้ซึ่งผู้แก้ปัญหาต้องศึกษาให้เข้าใจและเชี่ยวชาญ ในขณะที่ดำเนินการหากพบแนวทางที่ดีกว่าที่ออกแบบไว้ก็สามารถปรับเปลี่ยนได้




การตรวจสอบและปรับปรุง

                  การตรวจสอบและปรับปรุง (Refinement) หลังจากที่ลงมือแก้ปัญหาแล้ว ต้องตรวจสอบให้แน่ใจว่าวิธีการนี้ให้ผลลัพธ์ที่ถูกต้อง โดยผู้แก้ปัญหาต้องตรวจสอบว่าขั้นตอนวิธีที่สร้างขึ้นสอดคล้องกับรายละเอียดของปัญหา ซึ่งได้แก่ ข้อมูลเข้า และข้อมูลออก เพื่อให้มั่นใจว่าสามารถรองรับข้อมูลเข้าได้ในทุกกรณีอย่างถูกต้องและสมบูรณ์ ในขณะเดียวกันก็ต้องปรับปรุงวิธีการเพื่อให้การแก้ปัญหานี้ได้ผลลัพธ์ที่ดีที่สุด


ขั้นตอนทั้ง  4   ขั้นตอนดังกล่าวข้างต้น เป็นเสมือนขั้นบันได (stair) ที่ทำให้มนุษย์สามารถประสบความสำเร็จในการแก้ปัญหาต่างๆ ได้ รวมทั้งการเขียนหรือพัฒนาโปรแกรมคอมพิวเตอร์เพื่อแก้ปัญหาก็ต้องใช้กระบวนการตามขั้นตอนทั้ง 4 นี้เช่นกัน