หน่วยที่ 4 ซอฟต์แวร์ (Software)
1. ความหมายของซอฟต์แวร์
การที่เครื่องคอมพิวเตอร์หรือฮาร์ดแวร์สามารถทำงานได้อย่างมีประสิทธิภาพนั้นเกิดจากคำสั่งหรือชุดคำสั่งหรือที่เรียกว่าโปรแกรมที่เขียนโดยนักเขียนโปรแกรม (programmer) คำสั่งมีลักษณะเป็นซอฟท์แวร์สามารถ
สั่งให้คอมพิวเตอร์อ่านข้อมูล
แปลความหมาย และทำการประมวลผล แล้วส่งผลลัพธ์ที่ได้ออกมาเป็นสารสนเทศตามที่เราต้องการ
ดังนั้นซอฟท์แวร์จึงเป็นส่วนสำคัญและจำเป็นสำหรับการทำงานของคอมพิวเตอร์ มีนักวิชาการให้ความหมายหรือกล่าวถึงซอฟท์แวร์ไว้หลายแง่มุม ดังนี้
ซอฟท์แวร์ เป็นส่วนที่มนุษย์สัมผัสไม่ได้โดยตรงเพราะซอฟท์แวร์มีคุณลักษณะเป็นนามธรรมโดยทั่วไปเรียกว่าโปรแกรมหรือชุดคำสั่งที่ถูกเขียนขึ้นเพื่อสั่งการให้เครื่องคอมพิวเตอร์ทำงาน
ซอฟต์แวร์จึงทำหน้าที่เป็นตัวเชื่อมระหว่างผู้ใช้คอมพิวเตอร์และเครื่องคอมพิวเตอร์
ถ้าไม่มีซอฟต์แวร์เรา ก็ไม่สามารถใช้เครื่องคอมพิวเตอร์ทำอะไรได้เลย
ซอฟต์แวร์สำหรับเครื่องคอมพิวเตอร์สามารถแบ่งออกได้เป็นหลายประเภท
ซอฟต์แวร์ คือ
การลำดับขั้นตอนการทำงานของคำสั่งที่จะทำหน้าที่สั่งคอมพิวเตอร์ว่าให้ทำอะไร เป็นชุดของโปรแกรมหลายๆโปรแกรมนำมารวมกันให้สามารถทำงานได้อย่างครบถ้วนสมบูรณ์ตามที่ต้องการ เรามองไม่เห็นหรือสัมผัสไม่ได้แต่เราสามารถสร้าง จัดเก็บ
และนำมาใช้งานหรือเผยแพร่ได้ด้วยสื่อหลายชนิดเช่น แผ่นบันทึก แผ่นซีดี แฟล็ชไดร์ฟ ฮาร์ดดิสก์ เป็นต้น
ซอฟต์แวร์ หมายถึงชุดคำสั่งหรือโปรแกรมที่ใช้สั่งงานให้คอมพิวเตอร์ทำงาน
ซอฟต์แวร์จึงเป็นคำสั่งที่มีลำดับขั้นตอนการทำงานซึ่งเขียนขึ้นด้วยคำสั่งของคอมพิวเตอร์
คำสั่งเหล่านี้เรียงกันเป็นโปรแกรมคอมพิวเตอร์จากที่ทราบมาแล้วว่าคอมพิวเตอร์ทำงานตามคำสั่ง
การทำงานพื้นฐานเป็นเพียงการกระทำกับข้อมูลที่เป็นตัวเลขฐานสอง ซึ่งใช้แทนข้อมูลที่เป็นตัวเลข
ตัวอักษร รูปภาพ หรือแม้แต่เป็นเสียงพูดก็ได้
ซอฟต์แวร์ คือ
ชุดคำสั่งที่สั่งงานคอมพิวเตอร์อย่างเป็นลำดับขั้น
ชุดคำสั่งเหล่านี้ได้จัดเตรียมไว้ในหน่วยความจำ
คอมพิวเตอร์จะอ่านชุดคำสั่งแล้วทำงานตามโปรแกรมที่นักเขียนโปรแกรมได้เขียนไว้
ซอฟต์แวร์จึงเป็นสิ่งที่มนุษย์จัดทำขึ้นเพื่อให้คอมพิวเตอร์ทำงานตามลักษณะของซอฟต์แวร์ที่วางไว้แล้วเท่านั้น
กล่องบรรจุซอฟต์แวร์ประยุกต์และซอฟต์แวร์ระบบ
2. ประเภทของซอฟต์แวร์
ในบรรดาซอฟต์แวร์หรือโปรแกรมคอมพิวเตอร์ที่มีผู้พัฒนาขึ้นเพื่อใช้งานกับ
คอมพิวเตอร์มีมากมาย ซอฟต์แวร์เหล่านี้อาจได้รับการพัฒนาโดยผู้ใช้งานเอง
หรือผู้พัฒนาระบบ หรือผู้ผลิตจำหน่าย หากแบ่งแยกชนิดของซอฟต์แวร์ตามสภาพการทำงาน
โดยทั่วไปแล้วซอฟต์แวร์แบ่งได้ 3 ประเภทใหญ่ๆ คือ
ซอฟต์แวร์ระบบ (System Software) ซอฟต์แวร์ประยุกต์
(Application Software)
โดยมีรายละเอียดของซอฟต์แวร์แต่ละประเภทดังนี้
1. ซอฟต์แวร์ระบบ (System
Software)
ซอฟท์แวร์
ระบบเป็นโปรแกรมที่บริษัทผู้ผลิตสร้างขึ้นมาเพื่อใช้จัดการกับระบบ
หน้าที่การทำงานของซอฟต์แวร์ระบบ คือ ดำเนินงานพื้นฐานต่าง ๆ ของระบบคอมพิวเตอร์
เช่น รับข้อมูลจากแผงแป้นอักขระแล้วแปลความหมายให้คอมพิวเตอร์เข้าใจ
นำข้อมูลไปแสดงผลบนจอภาพหรือนำออกไปยังเครื่องพิมพ์
จัดการข้อมูลในระบบแฟ้มข้อมูลบนหน่วยความจำรอง เมื่อ
เราเปิดเครื่องคอมพิวเตอร์ ทันทีที่มีการจ่ายกระแสไฟฟ้าให้กับคอมพิวเตอร์
คอมพิวเตอร์จะทำงานตามโปรแกรมทันที
โปรแกรมแรกที่สั่งคอมพิวเตอร์ทำงานนี้เป็นซอฟต์แวร์ระบบ
ซอฟต์แวร์ระบบอาจเก็บไว้ในรอม หรือในแผ่นจานแม่เหล็ก หากไม่มีซอฟต์แวร์ระบบ
คอมพิวเตอร์จะทำงานไม่ได้
นอกจากนี้ซอฟต์แวร์ระบบยังใช้เป็นเครื่องมือในการพัฒนาซอฟต์แวร์อื่น ๆ
และยังรวมไปถึงซอฟต์แวร์ที่ใช้ในการแปลภาษาต่าง ๆ ซอฟท์แวร์ระบบจึงทำหน้าที่เป็นตัวกลางเชื่อมต่อระหว่างฮาร์ดแวร์และโปรแกรมประยุกต์ ใช้ในการควบคุมดูแลการทำงานทั้งหมดของระบบคอมพิวเตอร์ ขณะ
ที่เรากำลังใช้โปรแกรมประยุกต์อยู่ซอฟต์แวร์ระบบจะควบคุมการทำงานของอุปกรณ์
คอมพิวเตอร์ทั้งหมดอย่างต่อเนื่อง ซึ่งซอฟท์แวร์ระบบมีลักษณะแตกต่างกันดังนี้
1.1 ระบบปฏิบัติการ
(Operating Software หรือ OS) เป็นซอฟต์แวร์ที่ควบคุมกิจกรรมทั้งหมดของคอมพิวเตอร์ เพื่อให้มั่นใจว่าอุปกรณ์ที่เป็นฮาร์ดแวร์ทุกส่วนของระบบคอมพิวเตอร์ทำงานร่วมกันได้อย่างราบรื่นและมีประสิทธิภาพซอฟท์แวร์ระบบปฏิบัติการใช้ในการบริหารจัดการข้อมูลและทำแฟ้มข้อมูลภายในเครื่องคอมพิวเตอร์ เช่น การสำเนาข้อมูล (copy) การเรียงลำดับ (sort) การลบ (delete)
และอื่น ๆ นอกจากนั้นยังใช้ในการดำเนินงานของโปรแกรมประยุกต์ด้วย โปรแกรมที่พัฒนาจากระบบปฏิบัติการที่ต่างกันจะนำมาใช้ร่วมกันไม่ได้ระบบปฏิบัติการที่นิยมใช้มากที่สุดในขณะนี้
คือ
1) ระบบปฏิบัติการดอส(DOS)
2) ระบบ
ปฏิบัติการแบบวินโดวส์
3) ระบบปฏิบัติการยูนิกส์
(UNIX)
4) ระบบปฏิบัติการแมค
(MAC OS)
1.2 ตัวแปลภาษาในการพัฒนาซอฟต์แวร์จำเป็นต้องมีซอฟต์แวร์ที่ใช้ในการแปลภาษาระดับสูง
เพื่อแปลภาษาระดับสูงให้เป็นภาษาเครื่อง ภาษาระดับสูงมีหลายภาษา
ภาษาระดับสูงเหล่านี้สร้างขึ้นเพื่อให้ผู้เขียนโปรแกรมเขียนชุดคำสั่งได้ง่าย
เข้าใจได้ ตลอดจนถึงสามารถปรับปรุงแก้ไขซอฟต์แวร์ในภายหลังได้ ภาษาระดับสูงที่พัฒนาขึ้นมาทุกภาษาจะต้องมีตัวแปลภาษาสำหรับแปลภาษา
ภาษาระดับสูงซึ่งเป็นที่รู้จักและนิยมกันมากในปัจจุบัน เช่นภาษาปาสคาล ภาษาเบสิก
ภาษาซี และภาษาโลโก
1) ภาษาปาสคาล
เป็นภาษาสั่งงานคอมพิวเตอร์ที่มีรูปแบบเป็นโครงสร้าง เขียน สั่งงานคอมพิวเตอร์เป็นกระบวนความ
ผู้เขียนสามารถแบ่งแยกงานออกเป็นชิ้นเล็ก ๆ แล้วมารวมกันเป็นโปรแกรมขนาดใหญ่ได้
2) ภาษาเบสิก
เป็นภาษาที่มีรูปแบบคำสั่งไม่ยุ่งยาก
สามารถเรียนรู้และเข้าใจได้ง่ายมีรูปแบบคำสั่งพื้นฐานที่สามารถนำมาเขียนเรียงต่อกันเป็นโปรแกรมได้
3) ภาษาซี
เป็นภาษาที่เหมาะสำหรับใช้ในการพัฒนาซอฟต์แวร์อื่น ๆ ภาษาซีเป็นภาษาที่มีโครงสร้างคล่องตัวสำหรับการเขียนโปรแกรมหรือให้คอมพิวเตอร์ติดต่อกับอุปกรณ์ต่าง
ๆ
4) ภาษาโลโก
เป็นภาษาที่เหมาะสำหรับการเรียนรู้และเข้าใจหลักการโปรแกรมภาษาโลโกได้รับการพัฒนาสำหรับเด็ก นอกจากภาษาที่กล่าวถึงแล้ว ยังมีภาษาคอมพิวเตอร์ที่ใช้กันอยู่ในปัจจุบันอีกมากมายหลายภาษา
เช่น ภาษาฟอร์แทรน ภาษาโคบอล ภาษาอาร์พีจี
2. ซอฟต์แวร์ประยุกต์ (Application Software)
ซอฟต์แวร์ประยุกต์เป็นโปรแกรมที่ออกแบบมาเพื่อการใช้งานเฉพาะเรื่องตามที่เราต้องการ เช่น งานพิมพ์เอกสาร งานพิมพ์รายงาน วาดภาพ เล่นเกม หรือโปรแกรมระบบบัญชี รายรับรายจ่าย และเงินเดือน โปรแกรมอินเทอร์เน็ตเอ็กซ์พลอเรอร์ ใช้เพื่อการสืบค้นข้อมูลและเชื่อมโยง กับระบบอินเทอร์เน็ตก็ได้ เน้นการใช้งานสะดวก
2.1 ซอฟต์แวร์สำเร็จ ในบรรดาซอฟต์แวร์ประยุกต์ที่มีใช้กันทั่วไป
ซอฟต์แวร์สำเร็จ (package) เป็นซอฟต์แวร์ที่มีความนิยมใช้กันสูงมาซอฟต์แวร์สำเร็จเป็นซอฟต์แวร์ที่บริษัทพัฒนาขึ้น
แล้วนำออกมาจำหน่าย เพื่อให้ผู้ใช้งานซื้อไปใช้ได้โดยตรง
ไม่ต้องเสียเวลาในการพัฒนาซอฟต์แวร์อีก
2.2 ซอฟต์แวร์ใช้งานเฉพาะ เป็นโปรแกรมที่ทำหน้าที่ช่วยในการทำงานของระบบคอมพิวเตอร์ในหน้าที่เฉพาะด้านบางอย่าง
เช่น การตรวจหาและกำจัดไวรัสคอมพิวเตอร์ การจัด เรียงข้อมูลในฮาร์ดดิสก์ เป็นต้น
การประยุกต์ใช้งานด้วยซอฟต์แวร์สำเร็จมักจะเน้นการใช้งานทั่วไป
แต่อาจจะนำมาประยุกต์โดยตรงกับงานทางธุรกิจบางอย่างไม่ได้ เช่นในกิจการธนาคาร
มีการฝากถอนเงิน งานทางด้านบัญชี หรือในห้างสรรพสินค้าก็มีงานการขายสินค้า
การออกใบเสร็จรับเงิน การควบคุมสินค้าคงคลัง
ดังนั้นจึงต้องมีการพัฒนาซอฟต์แวร์ใช้งานเฉพาะสำหรับงานแต่ละประเภท ให้ตรงกับความต้องการของผู้ใช้แต่ละราย
ซอฟต์แวร์ใช้งานเฉพาะมักเป็นซอฟต์แวร์ที่ผู้พัฒนาต้องเข้าไปศึกษารูปแบบการทำงานหรือความต้องการของธุรกิจนั้น
ๆ แล้วจัดทำขึ้น โดยทั่วไปจะเป็นซอฟต์แวร์ที่มีหลายส่วนรวมกันเพื่อร่วมกันทำงาน
ซอฟต์แวร์ใช้งานเฉพาะที่ใช้กันในทางธุรกิจ เช่น ระบบงานทางด้านบัญชี
ระบบงานจัดจำหน่าย ระบบงานในโรงงานอุตสาหกรรม บริหารการเงิน และการเช่าซื้อ ความต้องการของการใช้คอมพิวเตอร์ในงานทางธุรกิจยังมีอีกมาก
ดังนั้นจึงต้องมีความต้องการผู้พัฒนาซอฟต์แวร์เพื่อพัฒนาซอฟต์แวร์ใช้งานเฉพาะต่าง
ๆ อีกมากมาย
3. ความจำเป็นของการใช้ซอฟต์แวร์
ซอฟต์แวร์
เป็นชุดคำสั่งหรือโปรแกรมที่ใช้สั่งงานให้คอมพิวเตอร์ทำงานตามต้องการ
เป็นการสั่งงานตามลำดับขั้นตอนที่ผู้เขียนโปรแกรมเรียบเรียงไว้ในรูปของเลขฐานสองซึ่งใช้แทนข้อมูลที่เป็นตัวเลข
ตัวอักษร รูปภาพ และเสียง ภาษาหรือโปรแกรมที่ใช้สั่งงานคอมพิวเตอร์จึงเป็นซอฟต์แวร์สำคัญที่ทำให้คอมพิวเตอร์แต่ละเครื่องทำงานแตกต่างกันได้มากมาย เพราะคำสั่งหรือซอฟท์แวร์แต่ละโปรแกรมจะถูกออกแบบสำหรับใช้กับแต่ละงานแตกต่างกัน เช่น โปรแกรมสำหรับจัดทำเอกสาร โปรแกรมสำหรับจัดทำบัญชี โปรแกรมสำหรับจัดทำสื่อการนำเสนอ โปรแกรมที่เกี่ยวข้องกับการตกแต่งภาพนิ่ง โปรแกรมเกี่ยวกับการตัดต่อภาพเคลื่อนไหว ฯลฯ เป็นต้น
ซึ่งบางโปรแกรมสามารถประยุกต์ใช้งานดีอีกหลายด้านตามความสามารถของผู้เขียนและผู้ใช้โปรแกรมนั้น
ๆ จะเห็นได้ว่าปัจจุบันการที่คอมพิวเตอร์สามารถทำงานได้มากมาย
เพราะว่ามีการพัฒนาโปรแกรมหรือซอฟท์แวร์เพื่อสั่งงานคอมพิวเตอร์ตามความต้องการของผู้ใช้งาน
ดังที่พบเห็นในชีวิตประจำวัน เช่น
ร้านค้าอาจใช้คอมพิวเตอร์ทำบัญชีที่ยุ่งยากซับซ้อน
บริษัทขายตั๋วใช้คอมพิวเตอร์ช่วยในระบบการจองตั๋ว คอมพิวเตอร์ช่วยในเรื่องกิจการงานธนาคารที่มีข้อมูลต่าง
ๆ มากมาย คอมพิวเตอร์ช่วยงานพิมพ์เอกสารให้สวยงาม
คอมพิวเตอร์ช่วยในการตัดต่อบันทึกเสียง เป็นต้น
การที่คอมพิวเตอร์ดำเนินการให้ประโยชน์ได้มากมายมหาศาลจะขึ้นอยู่กับซอฟต์แวร์
ซอฟต์แวร์จึงเป็นส่วนสำคัญและจำเป็นของระบบคอมพิวเตอร์ หากขาดซอฟต์แวร์คอมพิวเตอร์ก็ไม่สามารถทำงานได้
และเป็นส่วนประกอบหนึ่งที่ทำให้ระบบสารสนเทศเป็นไปได้ตามที่ต้องการ
4. ซอฟต์แวร์และภาษาคอมพิวเตอร์
เนื่องจากคอมพิวเตอร์ทำงานด้วยสัญญาณทางไฟฟ้าที่แทนค่าด้วยตัวเลข 0 และ 1 ได้
โดยผู้ออกแบบคอมพิวเตอร์ใช้ตัวเลข 0 และ 1 นี้เป็นรหัสแทนคำสั่งในการสั่งงานคอมพิวเตอร์
รหัสแทนข้อมูลและคำสั่งโดยใช้ระบบเลขฐานสองนี้
คอมพิวเตอร์สามารถแปลผลอย่างเป็นเหตุเป็นผลเชิงตรรกะได้อย่างถูกต้อง
เราเรียกเลขฐานสองที่ประกอบกันเป็นชุดคำสั่งสำหรับคอมพิวเตอร์ว่า ภาษาเครื่อง
ในการทำงานของคอมพิวเตอร์จะทำหน้าที่แปลภาษาระดับสูงให้เป็นภาษาเครื่อง
ดังนั้นจึงมีผู้พัฒนาโปรแกรมคอมพิวเตอร์สำหรับแปลภาษาคอมพิวเตอร์ระดับสูงให้เป็นภาษาเครื่อง
โปรแกรมที่ใช้แปลภาษาคอมพิวเตอร์ระดับสูงให้เป็นภาษาเครื่องเรียกว่า คอมไพเลอร์ (compiler) หรืออินเทอร์พรีเตอร์ (interpreter)
คอมไพเลอร์จะทำการแปลโปรแกรมที่เขียนเป็นภาษาระดับสูงทั้งโปรแกรมให้เป็นภาษาเครื่องก่อน
แล้วจึงให้คอมพิวเตอร์ทำงานตามภาษาเครื่องนั้น ส่วนอินเทอร์พรีเตอร์จะทำการแปลทีละคำสั่ง
แล้วให้คอมพิวเตอร์ทำตามคำสั่งนั้น เมื่อทำเสร็จแล้วจึงมาทำการแปลคำสั่งลำดับต่อไป
ข้อแตกต่างระหว่างคอมไพเลอร์กับอินเทอร์พรีเตอร์จึงอยู่ที่การแปลทั้งโปรแกรมหรือแปลทีละคำสั่ง
ตัวแปลภาษาที่รู้จักกันดี เช่น ตัวแปลภาษาเบสิก ตัวแปลภาษาโคบอล
ซอฟต์แวร์หรือโปรแกรมคอมพิวเตอร์จึงเป็นส่วนสำคัญที่ควบคุมการทำงานของคอมพิวเตอร์ให้ดำเนินการตามแนวความคิดที่ได้กำหนดไว้ล่วงหน้าแล้ว
คอมพิวเตอร์ต้องทำงานตามโปรแกรมเท่านั้น
ไม่สามารถทำงานที่นอกเหนือจากที่กำหนดไว้ในแต่ละโปรแกรมได้
เนื้อหาเข้าใจง่ายกระชับ
ตอบลบ