ซอฟต์แวร์ (Software)
1.ความหมายของซอฟแวร์
ซอฟต์แวร์ คือ การลำดับขั้นตอนการทำงานของคำสั่งที่จะทำหน้าที่สั่งคอมพิวเตอร์ว่าให้ทำอะไร เป็นชุดของโปรแกรมหลายๆโปรแกรมนำมารวมกันให้สามารถทำงานได้อย่างครบถ้วนสมบูรณ์ตามที่ต้องการ เรามองไม่เห็นหรือสัมผัสไม่ได้แต่เราสามารถสร้าง จัดเก็บ และนำมาใช้งานหรือเผยแพร่ได้ด้วยสื่อหลายชนิดเช่น แผ่นบันทึก แผ่นซีดี แฟล็ชไดร์ฟ ฮาร์ดดิสก์ เป็นต้น
หน้าที่ของซอฟต์แวร์
ซอฟต์แวร์ทำหน้าที่เป็นตัวเชื่อมระหว่างผู้ใช้คอมพิวเตอร์และเครื่องคอมพิวเตอร์ ถ้าไม่มีซอฟต์แวร์ เราก็ไม่สามารถใช้เครื่องคอมพิวเตอร์ทำอะไรได้เลย ซอฟต์แวร์สำหรับเครื่องคอมพิวเตอร์สามารถแบ่งออกได้เป็นหลายประเภท
2. ประเภทของซอฟแวร์
ซอฟต์แวร์แบ่งเป็น 3 ประเภทใหญ่ๆ คือ
-ซอฟต์แวร์ระบบ(System Software)
-ซอฟต์แวร์ประยุกต์ (Application Software)
-ซอฟต์แวร์ใช้งานเฉพาะ
1. ซอฟท์แวร์ระบบ (System Software)
ซอฟท์แวร์ระบบเป็นโปรแกรมที่บริษัทผู้ผลิตสร้างขึ้นมาเพื่อใช้จัดการกับระบบ หน้าที่การทำงานของซอฟต์แวร์ระบบ คือ ดำเนินงานพื้นฐานต่าง ๆ ของระบบคอมพิวเตอร์ เช่น รับข้อมูลจากแผงแป้นอักขระแล้วแปลความหมายให้คอมพิวเตอร์เข้าใจ นำข้อมูลไปแสดงผลบนจอภาพหรือนำออกไปยังเครื่องพิมพ์ จัดการข้อมูลในระบบแฟ้มข้อมูลบนหน่วยความจำรอง
System Software หรือโปรแกรมระบบที่รู้จักกันดีก็คือ DOS, Windows, Unix, Linux รวมทั้งโปรแกรมแปลคำสั่งที่เขียนในภาษาระดับสูง เช่น ภาษา Basic, Fortran, Pascal, Cobol, C เป็นต้น
นอกจากนี้โปรแกรมที่ใช้ในการตรวจสอบระบบเช่น Norton’s Utilities ก็นับเป็นโปรแกรมสำหรับระบบด้วยเช่นกัน
นอกจากนี้โปรแกรมที่ใช้ในการตรวจสอบระบบเช่น Norton’s Utilities ก็นับเป็นโปรแกรมสำหรับระบบด้วยเช่นกัน
1) ใช้ในการจัดการหน่วยรับเข้าและหน่วยส่งออก เช่น รับรู้การกดแป้นต่างๆ บนแผงแป้นอักขระ ส่งรหัสตัวอักษรออกทางจอภาพหรือเครื่องพิมพ์ ติดต่อกับอุปกรณ์รับเข้าและส่งออกอื่นๆ เช่น เมาส์ ลำโพงเป็นต้น
2) ใช้ในการจัดการหน่วยความจำ เพื่อนำข้อมูลจากแผ่นบันทึกมาบรรจุยังหน่วยความจำหลัก หรือในทำนองกลับกัน คือนำข้อมูลจากหน่วยความจำหลักมาเก็บไว้ในแผ่นบันทึก
3) ใช้เป็นตัวเชื่อมต่อระหว่างผู้ใช้กับเครื่องคอมพิวเตอร์ เพื่อให้สามารถใช้งานได้ง่ายขึ้น เช่น การขอดูรายการในสาระบบ (directory) ในแผ่นบันทึก การทำสำเนาแฟ้มข้อมูล
ซอฟต์แวร์ระบบพื้นฐานที่เห็นกันทั่วไป แบ่งออกเป็นระบบปฏิบัติการ และ ตัวแปลภาษา
ประเภทของซอฟต์แวร์ระบบ
ซอฟต์แวร์ระบบ แบ่งเป็น 2 ประเภทคือ
1. ระบบปฏิบัติการ (Operating System : OS)
2. ตัวแปลภาษา
1. ระบบปฏิบัติการ หรือที่เรียกย่อๆ ว่า โอเอส (Operating System : OS) เป็นซอฟต์แวร์ที่ใช้ในการดูแลระบบคอมพิวเตอร์ เครื่องคอมพิวเตอร์ทุกเครื่องจะต้องมีซอฟต์แวร์ระบบปฏิบัติการนี้ ระบบปฏิบัติการที่นิยมใช้กันมากและเป็นที่รู้จักกันดีเช่น ดอส วินโดวส์ ยูนิกซ์ ลีนุกซ์ และแมคอินทอช เป็นต้น
1) ดอส (Disk Operating System : DOS) เป็นซอฟต์แวร์จัดระบบงานที่พัฒนามานานแล้ว การใช้งานจึงใช้คำสั่งเป็นตัวอักษร ดอสเป็นซอฟต์แวร์ที่รู้จักกันดีในหมู่ผู้ใช้ไมโครคอมพิวเตอร์ในอดีต ปัจจุบันระบบปฏิบัติการดอสนั้นมีการใช้งานน้อยมาก
2) วินโดวส์ (Windows) เป็นระบบปฏิบัติการที่พัฒนาต่อจากดอส โดยให้ผู้ใช้สามารถสั่งงานได้จากเมาส์มากขึ้นแทนการใช้แผงแป้นอักขระเพียงอย่างเดียว นอกจากนี้ระบบปฏิบัติการวินโดวส์ยังสามารถทำงานหลายงานพร้อมกันได้ โดยงานแต่ละงานจะอยู่ในกรอบช่องหน้าต่างบนจอภาพ การใช้งานเน้นรูปแบบกราฟิก ผู้ใช้งานสามารถใช้เมาส์เลื่อนตัวชี้เพื่อเลือกตำแหน่งที่ปรากฏบนจอภาพ ทำให้ใช้งานคอมพิวเตอร์ได้ง่ายระบบปฏิบัติการวินโดวส์จึงได้รับความนิยมอย่างมากในปัจจุบัน
3) ยูนิกซ์ (Unix) เป็นระบบปฏิบัติการที่พัฒนามาตั้งแต่ครั้งใช้กับเครื่องมินิคอมพิวเตอร์ ระบบปฏิบัติการยูนิกซ์เป็นระบบปฏิบัติการที่เป็นเทคโนโลยีแบบเปิด (open system) ซึ่งเป็นแนวคิดที่ผู้ใช้ไม่ต้องผูกติดกับระบบใดระบบหนึ่งหรือใช้อุปกรณ์ที่มียี่ห้อเดียวกัน ยูนิกซ์ยังถูกออกแบบมาเพื่อตอบสนองการใช้งานในลักษณะที่มีผู้ใช้ได้หลายคนในเวลาเดียวกันที่เรียกว่า ระบบหลายผู้ใช้ (multiusers) และสามารถทำงานได้หลายๆ งานในเวลาเดียวกันในลักษณะที่เรียกว่า ระบบหลายภารกิจ (multitasking) ระบบปฏิบัติการยูนิกซ์จึงนิยมใช้กับเครื่องที่เชื่อมโยงเป็นเครือข่าย เพื่อใช้งานร่วมกันหลายๆ เครื่องพร้อมกัน
4) ลีนุกซ์ (linux) เป็นระบบปฏิบัติการที่พัฒนามาจากระบบยูนิกซ์ เป็นระบบซึ่งมีการแจกจ่ายโปรแกรมต้นฉบับให้นักพัฒนาช่วยกันพัฒนาคุณสมบัติของระบบปฏิบัติการ ระบบปฏิบัติการ
ลีนุกซ์เป็นที่นิยมกันมากขึ้นในปัจจุบัน เนื่องจากมีโปรแกรมประยุกต์ต่างๆ ที่ทำงานบนระบบลีนุกซ์จำนวนมาก โดยเฉพาะอย่างยิ่งโปรแกรมในกลุ่มของกูส์นิว (GNU) และสิ่งที่สำคัญที่สุดก็คือระบบลีนุกซ์เป็นระบบปฏิบัติการประเภทแจกฟรี (Free Ware) ผู้ใช้สามารถใช้งานได้โดยไม่ต้องเสียค่าใช้จ่าย
ระบบลีนุกซ์ สามารถทำงานได้บนซีพียูหลายตระกูล เช่น อินเทล (PC Intel) ดิจิตอล (Digital Alpha Computer) และซันสปาร์ค (SUN SPARC) ถึงแม้ว่าในขณะนี้ลีนุกซ์ยังไม่สามารถแทนที่ระบบปฏิบัติการวินโดวส์บนพีซีได้ทั้งหมดก็ตาม แต่ผู้ใช้จำนวนมากได้หันมาใช้และช่วยพัฒนาโปรแกรมประยุกต์บนลีนุกซ์กันมากขึ้น
ลีนุกซ์เป็นที่นิยมกันมากขึ้นในปัจจุบัน เนื่องจากมีโปรแกรมประยุกต์ต่างๆ ที่ทำงานบนระบบลีนุกซ์จำนวนมาก โดยเฉพาะอย่างยิ่งโปรแกรมในกลุ่มของกูส์นิว (GNU) และสิ่งที่สำคัญที่สุดก็คือระบบลีนุกซ์เป็นระบบปฏิบัติการประเภทแจกฟรี (Free Ware) ผู้ใช้สามารถใช้งานได้โดยไม่ต้องเสียค่าใช้จ่าย
ระบบลีนุกซ์ สามารถทำงานได้บนซีพียูหลายตระกูล เช่น อินเทล (PC Intel) ดิจิตอล (Digital Alpha Computer) และซันสปาร์ค (SUN SPARC) ถึงแม้ว่าในขณะนี้ลีนุกซ์ยังไม่สามารถแทนที่ระบบปฏิบัติการวินโดวส์บนพีซีได้ทั้งหมดก็ตาม แต่ผู้ใช้จำนวนมากได้หันมาใช้และช่วยพัฒนาโปรแกรมประยุกต์บนลีนุกซ์กันมากขึ้น
5) แมคอินทอช (macintosh) เป็นระบบปฏิบัติการสำหรับเครื่องไมโครคอมพิวเตอร์ แมคอินทอช ส่วนมากนำไปใช้งานด้านกราฟิก ออกแบบและจัดแต่งเอกสาร นิยมใช้ในสำนักพิมพ์ต่างๆ
นอกจากระบบปฏิบัติการที่กล่าวมาแล้วยังมีระบบปฏิบัติการอีกมาก เช่นระบบปฏิบัติการที่ใช้ในเครือข่ายคอมพิวเตอร์ เพื่อให้คอมพิวเตอร์ทำงานร่วมกันเป็นระบบ เช่น ระบบปฏิบัติการเน็ตแวร์ นอกจากนี้ยังมีระบบปฏิบัติการที่ใช้งานเฉพาะกับเครื่องคอมพิวเตอร์ที่สร้างขึ้นมาเพื่องานใดงานหนึ่งโดยเฉพาะ ซึ่งส่วนใหญ่จะใช้ในห้องปฏิบัติการคอมพิวเตอร์ในสถาบันการศึกษา
ชนิดของระบบปฏิบัติการ จำแนกตามการใช้งานสามารถจำแนกออกได้เป็น 3 ชนิดด้วยกัน คือ
1 ประเภทใช้งานเดียว (Single-tasking)
ระบบปฏิบัติการประเภทนี้จะกำหนดให้คอมพิวเตอร์ใช้งานได้ครั้งละหนึ่งงานเท่านั้น ใช้ในเครื่องขนาดเล็กอย่างไมโครคอมพิวเตอร์ เช่น ระบบปฏิบัติการดอส เป็นต้น
2 ประเภทใช้หลายงาน (Multi-tasking)
ระบบปฏิบัติการประเภทนี้สามารถควบคุมการทำงานพร้อมกันหลายงานในขณะเดียวกัน ผู้ใช้สามารถทำงานกับซอฟต์แวร์ประยุกต์ได้หลายชนิดในเวลาเดียวกัน เช่น ระบบปฏิบัติการ Windows 98 ขึ้นไป และUNIX เป็นต้น
ในหน่วยงานบางแห่งอาจใช้คอมพิวเตอร์ขนาดใหญ่ทำหน้าที่ประมวลผล ทำให้ในขณะใดขณะหนึ่งมีผู้ใช้คอมพิวเตอร์พร้อมกันหลายคน แต่ละคนจะมีสถานีงานของตนเองเชื่อมต่อกับคอมพิวเตอร์ จึงต้องใช้ระบบปฏิบัติการที่มีความสามารถสูง เพื่อให้ผู้ใช้ทุกคนสามารถทำงานเสร็จในเวลา เช่น ระบบปฏิบัติการWindows NT และ UNIX เป็นต้น
2. ตัวแปลภาษา
การพัฒนาซอฟแวร์ต้องอาศัยซอฟแวร์ที่ใช้ในการแปลภาษาระดับสูงเพื่อแปลภาษาระดับสูงให้เป็นภาษาเครื่องภาษาระดับสูงมีหลายภาษาซึ่งสร้างขึ้นเพื่อให้ผู้เขียนโปรแกรมเขียนชุดคำสั่งได้ง่าย เข้าใจได้ และเพื่อให้สามารถปรับปรุงแก้ไขซอฟแวร์ในภายหลังได้ภาษาระดับสูงที่พัฒนาขึ้นทุกภาษาต้องมีตัวแปลภาษาซึ่งภาษาระดับสูงได้แก่ ภาษาBasic,Pascal, C และภาษาโลโก เป็นต้นนอกจากนี้ ยังมีภาษาคอมพิวเตอร์ที่ใช้กันอยู่ในปัจจุบันอีกมาก ได้แก่ Fortran, Cobol, และภาษาอาร์พีจี
2. ซอฟต์แวร์ประยุกต์(Applicafion Software)
2.2 ซอฟต์แวร์ประยุกต์ (Application Software)
ซอฟต์แวร์ที่ใช้ทำงานร่วมกับคอมพิวเตอร์ เพื่อใช้ทำงานเฉพาะด้าน เช่น การจัดพิมพ์รายงาน การนำเสนองาน การจัดทำบัญชี การตกแต่งภาพ หรือการออกแบบเว็บไซต์ เป็นต้น
ประเภทของซอฟต์แวร์ประยุกต์
แบ่งตามลักษณะการผลิต จำแนกได้เป็น 2 ประเภท คือ
1. ซอฟแวร์ที่พัฒนาขึ้นใช้เองโดยเฉพาะ (Proprietary Software)
2. ซอฟแวร์ที่หาซื้อได้ทั่วไป (Packaged Software)
มีทั้งโปรแกรมเฉพาะ (Customized Package) และ โปรแกรมมาตรฐาน (Standard Package)
ประเภทของซอฟต์แวร์ประยุกต์
แบ่งตามกลุ่มการใช้งาน จำแนกได้เป็น 3 กลุ่มใหญ่ๆ ดังนี้
1. กลุ่มการใช้งานทางด้านธุรกิจ(Business)
2. กลุ่มการใช้งานด้านกราฟิกและมัลติมีเดีย(Graphic and Multimedia)
3. กลุ่มการใช้งานบนเว็บ (Web and Communications)
กลุ่มการใช้งานทางด้านธุรกิจ (Business)
ซอฟแวร์กลุ่มนี้ ถูกนำมาใช้โดยมุ่งหวังให้การทำงานมีประสิทธิภาพมากขึ้น เช่นการจัดพิมพ์รายงานเอกสาร นำเสนองาน และการบันทึกนัดหมายต่างๆ ตัวอย่างเช่น:
โปรแกรมประมวลคำ อาทิ Microsoft Word, Sun StarOffice Writer
โปรแกรม ตารางคำนวณ อาทิ Microsoft Excel, Sun StarOffice Cals
โปรแกรมนำเสนองาน อาทิ Microsoft PowerPoint, Sun StarOffice Impress
กลุ่มการใช้งานทางด้านกราฟิกและมัลติมีเดีย
ซอฟแวร์กลุ่มนี้ถูกพัฒนาขึ้นเพื่อช่วยจัดการด้านงานกราฟิกและมัลติมีเดีย เพื่อให้งานง่ายขึ้น เช่น ใช้ตกแต่ง วาดรูป ปรับเสียง ตัดต่อภาพเคลื่อนไหว และการสร้างและออกแบบเว็บไซต์ ตัวอย่างเช่น
โปรแกรมงานออกแบบ อาทิ Microsoft Visio Professional
โปรแกรมตกแต่งภาพ อาทิ CorelDRAW, Adobe Photoshop
โปรแกรมตัดต่อวิดิโอและเสียง อาทิ Adobe Premiere, Pinnacle Studio DV
โปรแกรมสร้างสื่อมัลติมีเดีย อาทิ Adobe Authorware, Toolbook Instructor, Adobe Director
โปรแกรมสร้างเว็บ อาทิ Adobe Flash, Adobe Dreamweaver
กลุ่มการใช้งานบนเว็บและการติดต่อสื่อสาร
เมื่อเกิดการเติบโตของเครือข่ายอินเตอร์เน็ต ซอฟแวร์กลุ่มนี้ได้ถูกพัฒนาขึ้นเพื่อใช้งานเฉพาะเพิ่มมากขึ้น เช่น โปรแกรมการตรวจเช็คอีเมล การท่องเว็บไซต์ การจัดการดูแลเว็บ และการส่งข้อความติดต่อสื่อสาร การประชุมทางไกลผ่านเครือข่าย ตัวอย่างโปรแกรมในกลุ่มนี้ได้แก่:
โปรแกรมจัดการอีเมล อาทิ Microsoft Outlook, Mozzila Thunderbird
โปรแกรมท่องเว็บ อาทิ Microsoft Internet Explorer, Mozzila Firefox
โปรแกรม ประชุมทางไกล (Video Conference) อาทิ Microsoft Netmeeting
โปรแกรมส่งข้อความด่วน (Instant Messaging) อาทิ MSN Messenger/ Windows Messenger, ICQ
โปรแกรมสนทนาบนอินเทอร์เน็ต อาทิ PIRCH, MIRCH
ความจำเป็นของการใช้ซอฟต์แวร์
การใช้ภาษาเครื่องนี้ถึงแม้ว่าคอมพิวเตอร์จะเข้าใจได้ทันที แต่มนุษย์ผู้ใช้จะมีข้อยุ่งยากมากเพราะเข้าใจและจดจำได้ยาก จึงมีผู้สร้างภาษา คอมพิวเตอร์ในรูปแบบที่เป็นตัวอักษร เป็นประโยคข้อความ ภาษาในลักษณะดังกล่าวนี้เรียกว่าภาษาคอมพิวเตอร์ระดับสูง ภาษาระดับสูงมีอยู่มากมายบางภาษามีความเหมาะสมกับการใช้สั่งงานการคำนวณทางคณิตศาสตร์ และวิทยาศาสตร์ บางภาษามีความเหมาะสมไว้ใช้สั่งงานทางด้านการจัดการข้อมูล
ซอฟต์แวร์และภาษาคอมพิวเตอร์
เมื่อมนุษย์ต้องการใช้คอมพิวเตอร์ช่วยในการทำงาน มนุษย์จะต้องบอกขั้นตอนวิธีการให้คอมพิวเตอร์ทราบ การที่บอกสิ่งที่มนุษย์เข้าใจให้คอมพิวเตอร์รับรู้ และทำงานได้อย่างถูกต้อง จำเป็นต้องมีสื่อกลาง ถ้าเปรียบเทียบกับชีวิตประจำวัแล้ว เรามีภาษาที่ใช้ใน การติดต่อซึ่งกันและกัน เช่นเดียวกันถ้ามนุษย์ต้องการจะถ่ายทอดความต้องการให้คอมพิวเตอร์รับรู้ และปฏิบัติตามจะต้องมีสื่อกลางสำหรับการติดต่อเพื่อให้คอมพิวเตอร์รับรู้เราเรียกสื่อกลางนี้ว่า ภาษาคอมพิวเตอร์
ภาษาคอมพิวเตอร์ในแต่ละยุคประกอบด้วย
ภาษาเครื่อง (Machine Languages)
เนื่องจากคอมพิวเตอร์ทำงานด้วยสัญญาณทางไฟฟ้า ใช้แทนด้วยตัวเลข 0 และ 1 ได้ ผู้ออกแบบคอมพิวเตอร์ใช้ตัวเลข 0 และ 1 นี้เป็นรหัสแทนคำสั่งในการสั่งงานคอมพิวเตอร์ รหัสแทนข้อมูลและคำสั่งโดยใช้ระบบเลขฐานสองนี้ คอมพิวเตอร์สามารถเข้าใจได้ เราเรียกเลขฐานสองที่ประกอบกันเป็นชุดคำสั่งและใช้สั่งงานคอมพิวเตอร์ว่าภาษาเครื่อง การใช้ภาษาเครื่องนี้ถึงแม้คอมพิวเตอร์จะเข้าใจได้ทันทีแต่มนุษย์ผู้ใช้จะมีข้อยุ่งยากมาก เพราะเข้าใจและจดจำได้ยาก จึงมีผู้สร้างภาษาคอมพิวเตอร์ในรูปแบบอื่นที่เป็นตัวอักษร
ภาษาแอสเซมบลี (Assembly Languages)
เป็นภาษาคอมพิวเตอร์ในยุคที่ 2 ถัดจากภาษาเครื่อง ภาษาแอสเซมบลีช่วยลดความยุ่งยากลงในการเขียนโปรแกรมเพื่อติดต่อกับคอมพิวเตอร์
แต่อย่างไรก็ตามภาษาแอสเซมบลีก็ยังมีความใกล้เคียงภาษาเครื่องอยู่มาก และจำเป็นต้องใช้ตัวแปลภาษาที่เรียกว่าแอสเซมเบลอร์(Assembler) เพื่อแปลชุดภาษาแอสเซมบลีให้เป็นภาษาเครื่อง
ภาษาระดับสูง (High-Level Languages)
เป็นภาษาคอมพิวเตอร์ในยุคที่ 3 เริ่มมีการใช้ชุดคำสั่งที่เรียกว่า Statements ที่มีลักษณะเป็นประโยคภาษาอังกฤษ ทำให้ผู้ที่เขียนโปรแกรมสามารถเข้าใจชุดคำสั่งเพื่อสั่งให้คอมพิวเตอร์ทำงานง่ายขึ้น ผู้คนทั่วไปสามารถเรียนรู้และเขียโปรแกรมได้ง่ายขึ้น เนื่องจากภาษาระดับสูงใกล้เคียงภาษามนุษย์ ตัวแปลภาษาระดับสูงเพื่อให้เป็นภาษาเครื่องนั้นมีอยู่ 2 ชนิด ด้วยกัน คือคอมไพเลอร์ (Compiler) และ อินเทอร์พรีเตอร์(Interpreter)
คอมไพเลอร์ จะทำการแปลโปรแกรมที่เขียนเป็นภาษาระดับสูงทั้งโปรแกรมให้เป็นภาษาเครื่องก่อน แล้วจึงให้คอมพิวเตอร์ทำงานตามภาษาเครื่องนั้น อินเทอร์พรีเตอร์ จะทำการแปลทีละคำสั่ง แล้วให้คอมพิวเตอร์ทำตามคำสั่งนั้น เมื่อทำเสร็แล้วจึงมาทำการแปลคำสั่งลำดับต่อไป ข้อแตกต่างระหว่างคอมไพเลอร์กับอินเทอร์พรีเตอร์จึงอยู่ที่การแปลทั้งโปรแกรมหรือแปลทีละคำสั่ง