วันศุกร์ที่ 17 กุมภาพันธ์ พ.ศ. 2560

Flowchart คืออะไร?

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

ประวัติของ Flowchart

เริ่มต้นครั้งแรก Flowchart ถูกนำเสนอโดย Frank Gilbreth เป็นสมาชิกของ American Society of Machanical Engineers (ASME) ในปี 1921 และถูกพัฒนาในวงการอุตสาหกรรมและวิศวกรรม จนออกเป็นเวอร์ชั่นที่เป็นมาตรฐานในปี 1947 ที่เราใช้กันมาถึงปัจจุบัน 
ในปี 1949 Herman Goldstine และ John von Neumann ได้นำมาพัฒนาต่อเนื่องให้นำไปประยุกต์ใช้กับโปรแกรมคอมพิวเตอร์ (Computer Program) และการเขียนโปรแกรม (Computer Programming) ต่อมาได้ถูกรับรองโดยวิศวกรของ IBM และใช้ต่อจนถึงปัจจุบันเช่นกัน รูปด้านล่างแสดงสัญลักษณ์ของ Flowchart ในขณะนั้น

ทำให้ประเภทของผังงาน (Flowchart) แบ่งออกเป็น 2 ประเภท

  1. ผังงานระบบ (System Flowchart) คือ ผังงานแสดงขั้นตอนการทำงานในระบบ
  2. ผังงานโปรแกรม (Program Flowchart) คือ ผังงานแสดงถึงขั้นตอนในการทำงานของโปรแกรม

1.ผังงานระบบ (System Flowchart)

คือ ผังงานที่แสดงขั้นตอนการทำงานของระบบ แสดงถึงอุปกรณ์รับและส่งข้อมูล สื่อ วิธีประมวลผล แสดงผลลัพธ์ และลำดับขั้นการทำงาน
ตัวอย่างผังงานระบบ (System Flowchart)

2. ผังงานโปรแกรม (Program Flowchart)

คือ ผังงานที่แสดงขั้นตอนของคำสั่งการทำงาน เพื่อวางแผนหรือรวบรวมความคิดการเขียนโปรแกรม โปรแกรมจะแสดงลำดับคำสั่งเป็นขั้นตอน (Step By Step) การเขียนผังงานโปรแกรมจะช่วยลดข้อผิดพลาดในการเขียนโปรแกรมลงได้ ทำให้เขียนโปรแกรมง่ายขึ้นและถูกต้อง รวมถึงยังช่วยวิเคราะห์จุดบกพร่องที่เกิดขึ้น ตัวอย่างเช่น ปัญหาคอขวด (Bottle Neck) ที่เกิดจากการเขียนโปรแกรม
ตัวอย่างผังงานโปรแกรม (Program Flowchart)
สัญลักษณ์ Flowchart คือ รูปภาพที่ใช้แทนความหมายการทำงานในลักษณะต่างๆ ภายในผังงาน (Flowchart) ประกอบไปด้วยการเริ่มต้น (Start), การจบ (End), การกระทำ (Process), การนำเข้าข้อมูล (Input), การแสดงผลข้อมูล (Output), การตัดสินใจ (Decision), คำอธิบาย (Annotation), จุดเชื่อมต่อ (Connector), ทิศทางการทำงาน (Direction Flow) 
สัญลักษณ์เหล่านี้เมื่อถูกนำมาเชื่อมต่อกัน จะกลายเป็น "ผังงาน (Flowchart)" ที่แสดงลำดับขั้นตอนการทำงานเพื่อ
  • เป็นเครื่องมือในการจัดลำดับความคิด
  • เห็นลำดับขั้นตอนการทำงานที่ชัดเจน

สัญลักษณ์ Flowchart (ผังงาน)

รูปภาพสัญลักษณ์ความหมายของสัญลักษณ์
Start / End
การเริ่มต้นหรือจบ Flowchart (Start หรือ End)
Process
การกระทำ (Process) ถูกใช้เพื่อแสดงที่การกระทำใน Flowchart
ตัวอย่างเช่น "กำหนด 1 ให้ X", "บันทึกการเปลี่ยนแปลง", "แทนที่ X ด้วยค่า 10"
Input / Output
ส่วนการนำเข้าข้อมูลหรือแสดงผลข้อมูล (Input / Output) 
ตัวอย่างเช่น "นำเข้าค่า X จากผู้ใช้", "แสดงผลข้อมูล X"
Decision
การตัดสินใจ (Decision)
นำมาใช้เพื่อพิจารณา True หรือ False เส้นการทำงานที่ออกจาก Decision จะมีสองเส้นเสมอ
เส้นแรกเมื่อเป็น True และอีกเส้นเมื่อเป็น False
Annotation
คำอธิบายประกอบ (Annotation) 
สัญลักษณ์นี้ถูกนำมาใช้เพื่อเขียนคอมเม้นต์ให้กับ Flowchart
Connector
จุดเชื่อมต่อ (Connector) 
ใช้รวมเส้นการทำงานของ Flowchart ให้ออกไปเหลือเพียงเส้นเดียว

Direction Flow
ทิศทางการทำงาน (Direction Flow)
ใช้เชื่อมต่อสัญลักษณ์ต่างๆ เพื่อแสดงการไหลการงาน


วิธีใช้เขียนผังงาน

หลักการนำสัญลักษณ์ Flowchart ต่างๆ มาเขียนผังงาน
  1. ผังงาน (Flowchart) ต้องมีจุดเริ่มต้น (Start) และจุดสิ้นสุด (End)
  2. สัญลักษณ์แต่ละรูปจะถูกเชื่อมต่อด้วยทิศทางการทำงาน (Direction Flow) เพื่อบอกว่าเมื่อทำงานนี้เสร็จต้องไปทำงานไหนต่อไป
  3. การทำงานจะต้องเริ่มต้นที่จุดเริ่มต้น (Start) และจบที่จุดสิ้นสุด (End) เท่านั้น

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

 

ตัวอย่าง ผังงานการลาป่วย 

อธิบายผังงานลาป่วย
  1. เริ่มต้น - Start
  2. ไปทำงาน - Process
  3. ฉันป่วยหรือไม่ ? - Decision ถ้าไม่ป่วยก็จบเลย - False
  4. ใช่ ฉันป่วย - True
  5. กรอกใบลาป่วย - Process
  6. ส่งอีเมล์ให้หัวหน้า - Process
  7. นอนพักผ่อน - Process
  8. จบ - End 
 อ้างอิงจาก http://share.olanlab.com/th/it/blog/view/211
ลงวันที่ 17 กุมภาพันธ์ 2560 เวลา 22.07 น.


ตัวอย่างผลงานที่สร้างจากซอฟต์แวร์กราฟิก

ซอฟต์แวร์ที่ใช้ในระบบกราฟิก

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

ในปี ค.ศ. 1979 คณะกรรมการวางแผนมาตรฐานซอฟต์แวร์ทางกราฟิก (Graphic Standard Planing Committee : GSPC) ได้พยายามจัดการให้เกิดมาตรฐานของซอฟต์แวร์ทางกราฟิกขึ้นในอเมริกา ซึ่งระบบ CORE (Core Graphic System) ซึ่งเป็นมาตรฐานสำหรับระบบการแสดงภาพ 3 มิติ และในเวลาใกล้เคียงกัน สถาบันกำหนดมาตรฐานของประเทศเยอรมนี (West German National Standard : DIN) ก็ได้พัฒนามาตรฐานกราฟิกของตัวเองขึ้นเรียกว่า GKS ( Graphic Kernel System) ซึ่งเป็นมาตรฐานสำหรับระบบการแสดงภาพ 2 มิติเท่านั้นขาดส่วนที่เป็น 3 มิติ ในปี ค.ศ. 1982 ระบบ GKS ถูกใช้เป็นมาตรฐานนานชาติของระบบกราฟิก สมาคมกราฟิกนานาชาติ (International Graphics Community) ก็เลยพยายามรวมมาตรฐาน CORE กับ GKS เข้าเป็นมาตรฐานเดียวกัน แต่ไม่สำเร็จเนื่องจากมีการเมืองเข้ามาเกี่ยวข้อง ต่อมาก็ได้มีการพัฒนามาตรฐานขึ้นอีกหลายมาตรฐาน ทั้งที่เกิดขึ้นใหม่และที่ขยายจากระบบมาตรฐานเดิมตัวอย่างเช่น GKS-3D, PHIGS (Programmer's Hierarchical Interface Graphics System), PHIGS+ เป็นต้น


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

ตัวอย่างโปรแกรมกราฟิกการนำเสนอ
 
การสร้างภาพกราฟิกด้วยคอมพิวเตอร์มีเทคนิคอยู่ 2 วิธี คือ
1. ภาพแบบบิตแม็ป (bitmap)  หรือกราฟิกแรสเตอร์  (raster graphic) หรือกราฟิกจุดภาพ(pixel graphic) 

2. ภาพแบบเวคเตอร์ (Vector) หรือกราฟิกเชิงวัตถุ (object-oriented graphic)
ภาพกราฟิกที่สร้างด้วยวิธีการทั้งสองแบบมีความเหมาะสมต่อการใช้งานที่แตกต่างกัน จึงควรมีความเข้าใจถึงลักษณะและข้อดีข้อเสียของวิธีการทั้งสองแบบ เพื่อนำไปเลือกใช้งานได้อย่างเหมาะสม

อ้างอิงจาก http://www.baanjomyut.com/library_2/extension-2/computer_graphic/03.html
               https://sites.google.com/site/phattrawutsnirueangrtn/home/sux-kar-reiyn-kar-                    sxn/wicha-kraffik-laea-karna-senx-1
ลงวันที่ 17 กุมภาพันธ์ 2560 เวลา 21.45 น.

ข้อดีข้อเสียของซอฟต์แวร์เฉพาะงาน

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

2. โปรแกรมช่วยงานอุตสาหกรรม CAM (Computer-Aided Manufactory and Composition And Make-up) 
ซอฟต์แวร์ชนิดนี้ใช้สำหรับงานด้านอุตสาหกรรม
เป็นส่วนใหญ่ เช่น ใช้คอมพิวเตอร์ดูแลและควบคุมเครื่องจักรกลแทนคน หรืองานประเภทที่ต้องทำซ้ำๆ กัน ครั้งละมากๆ (Mass-production)
3. โปรแกรมช่วยในการเรียนการสอน CAI (Computer-Assisted Instruction)โดยการใช้คอมพิวเตอร์ หรือจำลองตัวเองเป็นสื่อในการเรียนการสอนประกอบกับรูปภาพ(เคลื่อนไหว) ในลักษณะต่างๆ ซึ่งทำให้ง่ายต่อความเข้าใจ

4. เกมส์ (Game) 
สำหรับผ่อนคลายหลังจากการใช้เครื่องแต่ส่วนใหญ่นิยมเล่นเพื่อความเพลิดเพลิน ตัวอย่างของเกมส์เหล่านี้ได้แก่ โปรแกรมเกมส์ต่างๆ ตามห้างสรรพสินค้า (Arcade game), เกมส์บนกระดาน (Board game) เช่น หมากรุก โมโนโปลีฯลฯ เกมส์ไพ่ (Card) เกมส์เสมือนหรือจำลอง
5. โปรแกรมเพื่องานออกแบบหรือ CAD (Computer-Aidea Design) 
เช่น AutoCad AutoLISP และ DisgnCAD เป็นต้น โปรแกรมคอมพิวเตอร์ชนิดนี้ใช้สำหรับการออกแบบผลิตภัณฑ์ชนิดต่างๆ และงานออกแบบทางด้านสถาปัตยกรรม

6. โปรแกรมตรวจสอบ/ป้องกันไวรัส (Anti-Virus) 
มีไว้เพื่อป้องกันการโจมตีของไวรัสคอมพิวเตอร์ และมักจะมีคำสั่งให้ทำลายล้างไวรัสออกจากเครื่องคอมพิวเตอร์ เช่น McAfee virus scan, AVI-scan, Norton Anti-virus เป็นต้น

7. โปรแกรมมัลติมีเดีย (Multimedia)  
เป็นซอฟต์แวร์ใช้สำหรับสร้างโปรแกรม CAI หรือทำ Presentation หรือใช้สำหรับดูหนัง ฟังเพลง เช่น  Multimedia Toolbook, Xing MPEG, Authorware, PowerDVDชนิดอื่นๆ เช่น ระบบธุรกิจต่างๆ งานทำดนตรีงานตัดต่อภาพยนตร์ การวางแผนงาน งานศิลปะ งานวาดรูป การประมาณการ วิเคราะห์ งานพัฒนา การบริหารโครงงาน


ข้อดี

1. ได้ระบบตรงตามความต้องการ 100% เพราะผู้พัฒนา ย่อมต้องทำโปรแกรม ตามที่ผู้ใช้ต้องการ โดยไม่มีเงื่อนไข
2. สามารถควบคุมปัจจัยต่างๆ ในการพัฒนาได้มากกว่า เช่น การเร่งเวลา การเพิ่มบุคคลากร การแก้ไขรายละเอียด (Specification) ของโปรแกรม และการรักษาความลับทางธุรกิจ เป็นต้น
ข้อเสีย
1. ต้นทุนในการพัฒนาจะสูง และควบคุมงบประมาณได้ยาก เพราะองค์กรต้องจ่ายเงินเดือนประจาให้โปรแกรมเมอร์ และต้องซื้อเครื่องไม้เครื่องมือ เพื่อการพัฒนาด้วยตนเอง แต่เพียงผู้เดียว ไม่อาจเฉลี่ยค่าใช้จ่าย ให้กับผู้อื่นได้ และมีความเสี่ยง หากทาเองแล้วไม่สาเร็จ
2. ค่าใช้จ่าย ในการบารุงรักษาโปรแกรม จะสูงแปรผันตามการลงทุน ในการพัฒนาโปรแกรม เพราะจะต้อง ว่าจ้างโปรแกรมเมอร์ ที่เขียนงานไว้เพื่อดูแลระบบต่อไป อย่างหลีกเลี่ยงไม่ได้ ซึ่งโดยปกติแล้ว กาลังงานที่ใช้ในการดูแล (Maintain) จะต้องน้อยกว่าขั้นตอนการพัฒนาเสมอ
3. องค์กรอาจถูกพนักงานโปรแกรมเมอร์ กลั่นแกล้งหรือต่อรอง กับองค์กร เพื่อประโยชน์ตนเอง ซึ่งองค์กร มักตกเป็นเบี้ยล่าง เพราะซอฟท์แวร์ ที่โปรแกรมเมอร์เขียนไว้ ไม่สามารถหาบุคคลอื่นมาดูแล หรือสานงานต่อได้ เมื่อโปรแกรมเมอร์ลาออก ก็ต้องทิ้งโปรแกรมตามไปด้วย หรือทนใช้ไป ท่ามกลางความเสี่ยง เหมือนยืนอยู่บนเส้นด้าย
4. องค์กรไม่อาจมุ่งทรัพยากรทั้งหมด เพื่อสร้างความเชี่ยวชาญเฉพาะ อุตสาหกรรม ที่ดาเนินการอยู่ได้อย่างแท้จริง เพราะต้องคอยมาบริหาร การพัฒนาโปรแกรม ควบคู่ไปด้วย ทั้งๆที่ไม่ใช่ความเชี่ยวชาญหลัก ขององค์กร
5. องค์กรมักตามไม่ทัน กับเทคโนโลยีด้าน IT ที่เปลี่ยนแปลงไปอย่างรวดเร็ว เพราะบุคลากรภายใน ไม่ได้ถูกผลักดันจากภาวะการแข่งขัน ในการพัฒนาโปรแกรม กับองค์กรอื่น
6. บุคลากรหรือโปรแกรมเมอร์ ภายในองค์กร มักมีประสบการณ์ และความเชี่ยวชาญน้อยกว่า โปรแกรมเมอร์ จากบริษัท Software House หรือจากบริษัทผลิตโปรแกรมสาเร็จรูป เพราะบริษัทเหล่านั้น มีการถ่ายทอด แลกเปลี่ยนประสบการณ์กัน ระหว่าง Senior Programmers และ Junior Programmers ได้อย่างทั่วถึง และมีการพัฒนาโปรแกรม ตลอดเวลา เป็นระยะเวลานาน ทาให้มีความเชี่ยวชาญ เป็นมืออาชีพมากกว่า
7. เมื่อความต้องการขององค์กรเปลี่ยนไป ในอนาคตตามสภาพแวดล้อมทางธุรกิจ โปรแกรมที่พัฒนาไว้เดิม อาจไม่รองรับการเปลี่ยนแปลง หรือไม่มีความยืดหยุ่นพอ เพราะผู้ออกแบบโปรแกรม ไม่ได้เตรียมการไว้ล่วงหน้า ซึ่งอาจมีสาเหตุมาจากความไม่มีประสบการณ์ ความมักง่าย หรือความไม่รู้ หากโชคดีก็อาจจะพอแก้ไขกันได้ แต่หากโชคร้าย ก็ต้องพัฒนากันใหม่ เสียทั้งเงินทั้งเวลาอีกครั้ง

อ้างอิงจาก https://sarun272.wordpress.com/assignment-erp/
ลงวันที่ 17 กุมภาพันธ์ 2560 เวลา 20.57 น.

วันพฤหัสบดีที่ 16 กุมภาพันธ์ พ.ศ. 2560

เลขฐาน 2 กับ ซอฟต์แวร์



คอมพิวเตอร์ เป็นเครื่องจักรอิเล็กทรอนิกส์ ที่ถูกสร้างขึ้นเพื่อใช้ทำงานแทนมนุษย์ ในด้านการคิดคำนวณและสามารถจำข้อมูล ทั้งตัวเลขและตัวอักษาได้ เพื่อการเรียกใช้งานในครั้งต่อไป เราบอกว่าคอมพิวเตอร์ทำการคำนวณทางคณิตศาสตร์แต่คณิตศาสตร์ของคอมพิวเตอร์ นั้นต่างกับคณิตศาสตร์ที่เราใช้คิดเลขในชีวิตประจำวัน คณิตศาสตร์ในชีวิตประจำวันของเราเป็นระบบเลขฐานสิบ โดยมีตัวเลขให้ใช้ 10 ตัว คือ 0,1,2,3,4,5,6,7,8,และ 9 แต่คณิตศาสตร์ของคอมพิวเตอร์นั้นเป็นระบบเลขฐานสอง ซึ่งมีตัวเลขให้ใช้เพียงสองตัวเท่านั้น คือ 0 และ 1 

คงแปลกใจว่า คอมพิวเตอร์จะสามารถคิดเลขได้อย่างไร ในเมื่อมีเพียงตัวเลข 0 และ 1 เท่านั้น การนับเลขในระบบเลขฐานสิบ สมมติเราเริ่มนับเลขจากศูนย์และนับเพิ่มไปทีละหนึ่งเป็นหนึ่ง สอง สาม ฯลฯ ถ้าเราใช้เลขหลักเดียว เราจะนับได้ไม่เกิน เก้า ซึ่งเขียนแทนด้วย “9” ถ้านับต่อจาก (หนึ่ง ศูนย์) ให้สังเกตตัวเลขหลักทางขวามือ ซึ่งเราเรียกว่า หลักหน่วย นั้น พอนับถึง 9 ก็วนกลับมาเป็น 0 เหมือนตอนตั้งต้น ฉะนั้นการนับเลขในแต่ละหลัก จึงเป็นการนับวนไปเรื่อย ๆ จาก 0 ถึง 9 แล้วมาเริ่ม 0 ใหม่ ดังนี้

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

ถ้าเทียบกับการนับเลขฐานสิบแล้ว จะพบว่าการนับเลขฐานสอง ต้องใช้จำนวนหลักมากกว่า เพื่อที่จะนับในจำนวนที่เท่ากัน ทั้งนี้เพราะเลขฐานสองหลักเดียวนับได้ตั้งแต่ 0 ถึง 1 เท่านั้น ถ้าใช้สองหลักจะนับจำนวนสูงสุดได้เท่ากับ 3
การนับเลขในระบบเลขฐานสอง

จำนวนหลักที่ใช้กับจำนวนสูงสุดที่นับได้สำหรับกรณีเลขฐานสิบเทียบกับเลขฐานสอง

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

การเขียนจำนวนเลขในระบบฐานสอง
เทียบกับระบบฐานสิบ (ในช่วง 1- 15)
เพื่อให้นักเรียนได้เกิดความคุ้นเคยกับระบบเลขฐานสองมากขึ้น

ระบบเลขฐานสองกับระบบดิจิตอล ความสัมพันธ์ระหว่างระบบเลขฐานสองกับระบบดิจิทัล ระบบดิจิทัลที่ใช้ในวงจรอิเล็กทรอนิกส์สมัยใหม่ เป็นระบบที่ทำงานด้วยแรงดันไฟฟ้าสองระดับ ซึ่งต่างกับระบบแอนาล็อกดั้งเดิม ที่ทำงานโดยอาศัยการเปลี่ยนแปลงของแรงดันไฟฟ้าอย่างต่อเนื่อง

การเปรียบเทียบระหว่างรูปคลื่นแรงดันไฟฟ้า ของระบบดิจิทัลกับระบบแอนาล็อก
เนื่องจากระบบดิจิตอลทำงานโดยอาศัยแรงดันไฟฟ้าสองระดับ เราจึงสามารถใช้ระบบเลขฐานสอง (เลข 0 กับ เลข 1) แทนแรงดันไฟฟ้าสองระดับนั้น ดังนั้นเมื่อเราสร้างคอมพิวเตอร์ด้วยวงจรอิเล็อทรอนิกส์ระบบดิจิตอลเราจึง อาจกล่าวได้ว่าคอมพิวเตอร์ทำงานด้วยระบบเลขฐานสอง นั่นคือคอมพิวเตอร์จะใช้เพียงเลข 0 กับเลข 1 เท่านั้น แต่เนื่องจากคอมพิวเตอร์จะต้องคำนวณเลขที่มีค่ามาก หรือต้องจัดการกับข้อมูลจำนวนมาก เลขฐานสองที่ใช้จึงต้องมีจำนวนหลักมาก จำนวนหลักของเลขฐานสองนี่เองที่เราเรียกว่า บิต (bit) เช่น เลขฐานสองที่ใช้เป็นรหัสแทนตัวอักษรต่าง ๆ บนแผงแป้นอักขระของคอมพิวเตอร์นั้น เป็นเลขฐานสองขนาด 8 บิต คือ มี 8 หลัก เช่น อักษร “A” แทนด้วย 0100 0001 อักษร “Z” แทนด้วย 0101 1010 เป็นต้น


อ้างอิงจาก http://armzaclub-anc-armza.blogspot.com/p/blog-page_21.html?m=1
อ้างอิงรูปภาพจาก http://bewsodza.blogspot.com/p/blog-page.html?m=1
ลงวันที่ 17 กุมภาพันธ์ 2560 เวลา 13.32 น.