วันจันทร์ที่ 19 กันยายน พ.ศ. 2554

ซอฟต์แวร์ (Software)

1. ความหมายของซอฟต์แวร์
                การที่เครื่องคอมพิวเตอร์หรือฮาร์ดแวร์สามารถทำงานได้อย่างมีประสิทธิภาพนั้นเกิดจากคำสั่งหรือชุดคำสั่งหรือที่เรียกว่าโปรแกรมที่เขียนโดยนักเขียนโปรแกรม (programmer) คำสั่งมีลักษณะเป็นซอฟท์แวร์สามารถสั่งให้คอมพิวเตอร์อ่านข้อมูล แปลความหมาย และทำการประมวลผล  แล้วส่งผลลัพธ์ที่ได้ออกมาเป็นสารสนเทศตามที่เราต้องการ ดังนั้นซอฟท์แวร์จึงเป็นส่วนสำคัญและจำเป็นสำหรับการทำงานของคอมพิวเตอร์  มีนักวิชาการให้ความหมายหรือกล่าวถึงซอฟท์แวร์ไว้หลายแง่มุม ดังนี้
                ซอฟท์แวร์   เป็นส่วนที่มนุษย์สัมผัสไม่ได้โดยตรงเพราะซอฟท์แวร์มีคุณลักษณะเป็นนามธรรมโดยทั่วไปเรียกว่าโปรแกรมหรือชุดคำสั่งที่ถูกเขียนขึ้นเพื่อสั่งการให้เครื่องคอมพิวเตอร์ทำงาน ซอฟต์แวร์จึงทำหน้าที่เป็นตัวเชื่อมระหว่างผู้ใช้คอมพิวเตอร์และเครื่องคอมพิวเตอร์ ถ้าไม่มีซอฟต์แวร์เรา ก็ไม่สามารถใช้เครื่องคอมพิวเตอร์ทำอะไรได้เลย ซอฟต์แวร์สำหรับเครื่องคอมพิวเตอร์สามารถแบ่งออกได้เป็นหลายประเภท
                ซอฟต์แวร์  คือ การลำดับขั้นตอนการทำงานของคำสั่งที่จะทำหน้าที่สั่งคอมพิวเตอร์ว่าให้ทำอะไร  เป็นชุดของโปรแกรมหลายๆโปรแกรมนำมารวมกันให้สามารถทำงานได้อย่างครบถ้วนสมบูรณ์ตามที่ต้องการ  เรามองไม่เห็นหรือสัมผัสไม่ได้แต่เราสามารถสร้าง จัดเก็บ และนำมาใช้งานหรือเผยแพร่ได้ด้วยสื่อหลายชนิดเช่น  แผ่นบันทึก  แผ่นซีดี  แฟล็ชไดร์ฟ  ฮาร์ดดิสก์  เป็นต้น
ซอฟต์แวร์ หมายถึงชุดคำสั่งหรือโปรแกรมที่ใช้สั่งงานให้คอมพิวเตอร์ทำงาน ซอฟต์แวร์จึงเป็นคำสั่งที่มีลำดับขั้นตอนการทำงานซึ่งเขียนขึ้นด้วยคำสั่งของคอมพิวเตอร์ คำสั่งเหล่านี้เรียงกันเป็นโปรแกรมคอมพิวเตอร์จากที่ทราบมาแล้วว่าคอมพิวเตอร์ทำงานตามคำสั่ง การทำงานพื้นฐานเป็นเพียงการกระทำกับข้อมูลที่เป็นตัวเลขฐานสอง ซึ่งใช้แทนข้อมูลที่เป็นตัวเลข ตัวอักษร รูปภาพ หรือแม้แต่เป็นเสียงพูดก็ได้
ซอฟต์แวร์ คือ ชุดคำสั่งที่สั่งงานคอมพิวเตอร์อย่างเป็นลำดับขั้น ชุดคำสั่งเหล่านี้ได้จัดเตรียมไว้ในหน่วยความจำ  คอมพิวเตอร์จะอ่านชุดคำสั่งแล้วทำงานตามโปรแกรมที่นักเขียนโปรแกรมได้เขียนไว้ ซอฟต์แวร์จึงเป็นสิ่งที่มนุษย์จัดทำขึ้นเพื่อให้คอมพิวเตอร์ทำงานตามลักษณะของซอฟต์แวร์ที่วางไว้แล้วเท่านั้น
 2. ประเภทของซอฟต์แวร์
ในบรรดาซอฟต์แวร์หรือโปรแกรมคอมพิวเตอร์ที่มีผู้พัฒนาขึ้นเพื่อใช้งานกับคอมพิวเตอร์มีมากมาย ซอฟต์แวร์เหล่านี้อาจได้รับการพัฒนาโดยผู้ใช้งานเอง หรือผู้พัฒนาระบบ หรือผู้ผลิตจำหน่าย หากแบ่งแยกชนิดของซอฟต์แวร์ตามสภาพการทำงาน โดยทั่วไปแล้วซอฟต์แวร์แบ่งได้ 3 ประเภทใหญ่ๆ คือ ซอฟต์แวร์ระบบ (System Software) ซอฟต์แวร์ประยุกต์ (Application Software) โดยมีรายละเอียดของซอฟต์แวร์แต่ละประเภทดังนี้
2.1 ซอฟต์แวร์ระบบ (System Software)
ซอฟท์แวร์ระบบเป็นโปรแกรมที่บริษัทผู้ผลิตสร้างขึ้นมาเพื่อใช้จัดการกับระบบ หน้าที่การทำงานของซอฟต์แวร์ระบบ คือ ดำเนินงานพื้นฐานต่าง ๆ ของระบบคอมพิวเตอร์ เช่น รับข้อมูลจากแผงแป้นอักขระแล้วแปลความหมายให้คอมพิวเตอร์เข้าใจ นำข้อมูลไปแสดงผลบนจอภาพหรือนำออกไปยังเครื่องพิมพ์ จัดการข้อมูลในระบบแฟ้มข้อมูลบนหน่วยความจำรอง
เมื่อเราเปิดเครื่องคอมพิวเตอร์ ทันทีที่มีการจ่ายกระแสไฟฟ้าให้กับคอมพิวเตอร์ คอมพิวเตอร์จะทำงานตามโปรแกรมทันที โปรแกรมแรกที่สั่งคอมพิวเตอร์ทำงานนี้เป็นซอฟต์แวร์ระบบ ซอฟต์แวร์ระบบอาจเก็บไว้ในรอม หรือในแผ่นจานแม่เหล็ก หากไม่มีซอฟต์แวร์ระบบ คอมพิวเตอร์จะทำงานไม่ได้ นอกจากนี้ซอฟต์แวร์ระบบยังใช้เป็นเครื่องมือในการพัฒนาซอฟต์แวร์อื่น ๆ และยังรวมไปถึงซอฟต์แวร์ที่ใช้ในการแปลภาษาต่าง ๆ
ซอฟท์แวร์ระบบจึงทำหน้าที่เป็นตัวกลางเชื่อมต่อระหว่างฮาร์ดแวร์และโปรแกรมประยุกต์  ใช้ในการควบคุมดูแลการทำงานทั้งหมดของระบบคอมพิวเตอร์  ขณะที่เรากำลังใช้โปรแกรมประยุกต์อยู่ซอฟต์แวร์ระบบจะควบคุมการทำงานของอุปกรณ์คอมพิวเตอร์ทั้งหมดอย่างต่อเนื่อง ซึ่งซอฟท์แวร์ระบบมีลักษณะแตกต่างกันดังนี้
2.1.1 ระบบปฏิบัติการ (Operating Software หรือ OS) เป็นซอฟต์แวร์ที่ควบคุมกิจกรรม
ทั้งหมดของคอมพิวเตอร์  เพื่อให้มั่นใจว่าอุปกรณ์ที่เป็นฮาร์ดแวร์ทุกส่วนของระบบคอมพิวเตอร์ทำงานร่วมกันได้อย่างราบรื่นและมีประสิทธิภาพ  ซอฟท์แวร์ระบบปฏิบัติการใช้ในการบริหารจัดการข้อมูลและทำแฟ้มข้อมูลภายในเครื่องคอมพิวเตอร์  เช่น  การสำเนาข้อมูล (copy)  การเรียงลำดับ (sort)  การลบ (delete) และอื่น ๆ นอกจากนั้นยังใช้ในการดำเนินงานของโปรแกรมประยุกต์ด้วย  โปรแกรมที่พัฒนาจากระบบปฏิบัติการที่ต่างกันจะนำมาใช้ร่วมกันไม่ได้
ระบบปฏิบัติการที่นิยมใช้มากที่สุดในขณะนี้ คือ
1)ระบบปฏิบัติการดอส(DOS) เป็นระบบปฏิบัติการที่รับคำสั่งจากผู้ใช้งานเป็น
ข้อความ (text mode) DOS มาจากคำว่า  Disk  Operating System อาจเป็น พีซีดอส (PC-DOS)  หรือ เอ็มเอส-ดอส (MS-DOS) ซึ่งพัฒนาโดยบริษัทไมโครซอฟต์ก็ได้  ปัจจุบันไม่ค่อยนิยมแล้ว
2) ระบบปฏิบัติการแบบวินโดวส์ พัฒนาโดยบริษัทไมโครซอฟต์ เป็นระบบปฏิบัติการทำงานที่ทำงานด้วยคำสั่งกราฟิกชนจอภาพโดยใช้เมาส์ในการควบคุมคำสั่งให้โปแกรมทำงานผ่านภาพ กราฟิกที่เป็นสัญลักษณ์ต่าง ๆ ที่เรียกว่า  สัญรูป หรือ ไอคอน (icon)  เราเรียกว่าการทำงานแบบการประสานกับผู้ใช้ในลักษณะของกราฟิก GUI (graphical user interface) อ่านออกเสียงว่า “กุย” ซึ่งเป็นวิธีที่ง่ายกว่าระบบปฏิบัติการแบบดอส  ระบบปฏิบัติการโดวส์ที่ได้พัฒนามามีใช้หลายแบบ เช่น วินโดวส์ 3.1 , วินโดวส์ 95, วินโดวส์ 2000, วินโดวส์มี (Windows me), วินโดวส์ เอ็นที (Windows NT)และวินโดวส์เอ็กซ์พี (Windows XP) เป็นต้น
3)  ระบบปฏิบัติการยูนิกส์ (UNIX) เป็นระบบปฏิบัติการที่ได้พัฒนามาเป็นเวลานานมากกว่าระบบดอส  ระบบยูนิกส์มีประสิทธิภาพในการทำงานสูง  จึงนิยมใช้กับเครื่องที่ต้องการประสิทธิ ภาพการทำงานสูง  เช่น  เครื่องที่เป็นแม่ข่ายของระบบอินเทอร์เน็ต  ระบบยูนิกส์ที่ใช้มีหลายระบบ  เช่น  Unix Ware, AIX, Linux, HP-UX และVMS  เป็นต้น  ระบบปฏิบัติการลินุกซ์สามารถใช้กับเครื่องไมโครคอมพิวเตอร์ได้
4)  ระบบปฏิบัติการแมค (MAC OS)  พัฒนาโดยบริษัทแอปเปิลคอมพิวเตอร์ใช้กับเครื่องคอมพิวเตอร์แม็คอินทอช ทำงานแบบเดียวกับโปรแกรมวินโดวส์นิยมใช้งานประเภทการออกแบบกราฟิก
2.1.2  ตัวแปลภาษา
ในการพัฒนาซอฟต์แวร์จำเป็นต้องมีซอฟต์แวร์ที่ใช้ในการแปลภาษาระดับสูง เพื่อ
แปลภาษาระดับสูงให้เป็นภาษาเครื่อง ภาษาระดับสูงมีหลายภาษา ภาษาระดับสูงเหล่านี้สร้างขึ้นเพื่อให้ผู้เขียนโปรแกรมเขียนชุดคำสั่งได้ง่าย เข้าใจได้ ตลอดจนถึงสามารถปรับปรุงแก้ไขซอฟต์แวร์ในภายหลังได้
ภาษาระดับสูงที่พัฒนาขึ้นมาทุกภาษาจะต้องมีตัวแปลภาษาสำหรับแปลภาษา ภาษา
ระดับสูงซึ่งเป็นที่รู้จักและนิยมกันมากในปัจจุบัน เช่น ภาษาปาสคาล ภาษาเบสิก ภาษาซี และภาษาโลโก
1) ภาษาปาสคาล เป็นภาษาสั่งงานคอมพิวเตอร์ที่มีรูปแบบเป็นโครงสร้าง เขียน
สั่งงานคอมพิวเตอร์เป็นกระบวนความ ผู้เขียนสามารถแบ่งแยกงานออกเป็นชิ้นเล็ก ๆ แล้วมารวมกันเป็นโปรแกรมขนาดใหญ่ได้
2) ภาษาเบสิก เป็นภาษาที่มีรูปแบบคำสั่งไม่ยุ่งยาก สามารถเรียนรู้และเข้าใจได้ง่าย
มีรูปแบบคำสั่งพื้นฐานที่สามารถนำมาเขียนเรียงต่อกันเป็นโปรแกรมได้
3) ภาษาซี เป็นภาษาที่เหมาะสำหรับใช้ในการพัฒนาซอฟต์แวร์อื่น ๆ ภาษาซีเป็น
ภาษาที่มีโครงสร้างคล่องตัวสำหรับการเขียนโปรแกรมหรือให้คอมพิวเตอร์ติดต่อกับอุปกรณ์ต่าง ๆ
4) ภาษาโลโก เป็นภาษาที่เหมาะสำหรับการเรียนรู้และเข้าใจหลักการโปรแกรม
ภาษาโลโกได้รับการพัฒนาสำหรับเด็ก
นอกจากภาษาที่กล่าวถึงแล้ว ยังมีภาษาคอมพิวเตอร์ที่ใช้กันอยู่ในปัจจุบันอีก
มากมายหลายภาษา เช่น ภาษาฟอร์แทรน ภาษาโคบอล ภาษาอาร์พีจี
2.2  ซอฟต์แวร์ประยุกต์ (Application Software)
ซอฟต์แวร์ประยุกต์เป็นโปรแกรมที่ออกแบบมาเพื่อการใช้งานเฉพาะเรื่องตามที่เราต้องการ 
เช่น  งานพิมพ์เอกสาร  งานพิมพ์รายงาน  วาดภาพ  เล่นเกม  หรือโปรแกรมระบบบัญชี  รายรับรายจ่าย  และเงินเดือน  โปรแกรมอินเทอร์เน็ตเอ็กซ์พลอเรอร์  ใช้เพื่อการสืบค้นข้อมูลและเชื่อมโยง  กับระบบอินเทอร์เน็ตก็ได้  เน้นการใช้งานสะดวก
2.2.1  ซอฟต์แวร์สำเร็จ ในบรรดาซอฟต์แวร์ประยุกต์ที่มีใช้กันทั่วไป ซอฟต์แวร์สำเร็จ (package) เป็นซอฟต์แวร์ที่มีความนิยมใช้กันสูงมาก ซอฟต์แวร์สำเร็จเป็นซอฟต์แวร์ที่บริษัทพัฒนาขึ้น แล้วนำออกมาจำหน่าย เพื่อให้ผู้ใช้งานซื้อไปใช้ได้โดยตรง ไม่ต้องเสียเวลาในการพัฒนาซอฟต์แวร์อีก ซอฟต์แวร์สำเร็จที่มีจำหน่ายในท้องตลาดทั่วไป และเป็นที่นิยมของผู้ใช้มี 5 กลุ่มใหญ่ ได้แก่ ซอฟต์แวร์ประมวลคำ (word processing software) ซอฟต์แวร์ตารางทำงาน (spread sheet software) ซอฟต์แวร์จัดการฐานข้อมูล (data base management software) ซอฟต์แวร์นำเสนอ (presentation software) และซอฟต์แวร์สื่อสารข้อมูล (data communication software)
1) ซอฟต์แวร์ประมวลคำ เป็นซอฟต์แวร์ประยุกต์ใช้สำหรับการพิมพ์เอกสาร สามารถแก้ไข เพิ่ม แทรก ลบ และจัดรูปแบบเอกสารได้อย่างดี เอกสารที่พิมพ์ไว้จัดเป็นแฟ้มข้อมูล เรียกมาพิมพ์หรือแก้ไขใหม่ได้ การพิมพ์ออกทางเครื่องพิมพ์ก็มีรูปแบบตัวอักษรให้เลือกหลายรูปแบบ เอกสารจึงดูเรียบร้อยสวยงาม ปัจจุบันมีการเพิ่มขีดความสามารถของซอฟต์แวร์ประมวลคำอีกมากมาย ซอฟต์แวร์ประมวลคำที่นิยมอยู่ในปัจจุบัน เช่น วินส์เวิร์ด จุฬาจารึก โลตัสเอมิโปร
2) ซอฟต์แวร์ตารางทำงาน เป็นซอฟต์แวร์ที่ช่วยในการคิดคำนวณ การทำงานของซอฟต์แวร์ตารางทำงาน ใช้หลักการเสมือนมีโต๊ะทำงานที่มีกระดาษขนาดใหญ่วางไว้ มีเครื่องมือคล้ายปากกา ยางลบ และเครื่องคำนวณเตรียมไว้ให้เสร็จ บนกระดาษมีช่องให้ใส่ตัวเลข ข้อความหรือสูตร สามารถสั่งให้คำนวณตามสูตรหรือเงื่อนไขที่กำหนด ผู้ใช้ซอฟต์แวร์ตารางทำงานสามารถประยุกต์ใช้งานประมวลผลตัวเลขอื่น ๆ ได้กว้างขวาง ซอฟต์แวร์ตารางทำงานที่นิยมใช้ เช่น เอกเซล โลตัส
3) ซอฟต์แวร์จัดการฐานข้อมูล การใช้คอมพิวเตอร์อย่างหนึ่งคือการใช้เก็บข้อมูล และจัดการกับข้อมูลที่จัดเก็บในคอมพิวเตอร์ จึงจำเป็นต้องมีซอฟต์แวร์จัดการข้อมูล การรวบรวมข้อมูลหลาย ๆ เรื่องที่เกี่ยวข้องกันไว้ในคอมพิวเตอร์ เราก็เรียกว่าฐานข้อมูล ซอฟต์แวร์จัดการฐานข้อมูลจึงหมายถึงซอฟต์แวร์ที่ช่วยในการเก็บ การเรียกค้นมาใช้งาน การทำรายงาน การสรุปผลจากข้อมูล ซอฟต์แวร์จัดการฐานข้อมูลที่นิยมใช้ เช่น เอกเซส ดีเบส พาราด็อก ฟ๊อกเบส
4) ซอฟต์แวร์นำเสนอ เป็นซอฟต์แวร์ที่ใช้สำหรับนำเสนอข้อมูล การแสดงผลต้องสามารถดึงดูดความสนใจ ซอฟต์แวร์เหล่านี้จึงเป็นซอฟต์แวร์ที่นอกจากสามารถแสดงข้อความในลักษณะที่จะสื่อความหมายได้ง่ายแล้วจะต้องสร้างแผนภูมิ กราฟ และรูปภาพได้ ตัวอย่างของซอฟต์แวร์นำเสนอ  เช่น เพาเวอร์พอยต์ โลตัสฟรีแลนซ์ ฮาร์วาร์ดกราฟิก
5) ซอฟต์แวร์สื่อสารข้อมูล ซอฟต์แวร์สื่อสารข้อมูลนี้หมายถึง ซอฟต์แวร์
ที่จะช่วยให้ไมโครคอมพิวเตอร์ติดต่อสื่อสารกับเครื่องคอมพิวเตอร์อื่นในที่ห่างไกล โดยผ่านทางสายโทรศัพท์ ซอฟต์แวร์สื่อสารใช้เชื่อมโยงต่อเข้ากับระบบเครือข่ายคอมพิวเตอร์ เช่น อินเทอร์เน็ต ทำให้สามารถใช้บริการอื่น ๆ เพิ่มเติมได้ สามารถใช้รับส่งไปรษณีย์อิเล็กทรอนิกส์ ใช้โอนย้ายแฟ้มข้อมูล ใช้แลกเปลี่ยนข้อมูล อ่านข่าวสาร นอกจากนี้ยังใช้ในการเชื่อมเข้าหามินิคอมพิวเตอร์หรือเมนเฟรม เพื่อเรียกใช้งานจากเครื่องเหล่านั้นได้ ซอฟต์แวร์สื่อสารข้อมูลที่นิยมมีมากมายหลายซอฟต์แวร์ เช่น โปรคอม ครอสทอล์ค เทลิก
2.2.2 ซอฟต์แวร์ใช้งานเฉพาะ เป็นโปรแกรมที่ทำหน้าที่ช่วยในการทำงานของระบบคอมพิวเตอร์ในหน้าที่เฉพาะด้านบางอย่าง เช่น การตรวจหาและกำจัดไวรัสคอมพิวเตอร์ การจัด เรียงข้อมูลในฮาร์ดดิสก์ เป็นต้น
การประยุกต์ใช้งานด้วยซอฟต์แวร์สำเร็จมักจะเน้นการใช้งานทั่วไป แต่อาจจะนำมาประยุกต์โดยตรงกับงานทางธุรกิจบางอย่างไม่ได้ เช่นในกิจการธนาคาร มีการฝากถอนเงิน งานทางด้านบัญชี หรือในห้างสรรพสินค้าก็มีงานการขายสินค้า การออกใบเสร็จรับเงิน การควบคุมสินค้าคงคลัง ดังนั้นจึงต้องมีการพัฒนาซอฟต์แวร์ใช้งานเฉพาะสำหรับงานแต่ละประเภท ให้ตรงกับความต้องการของผู้ใช้        แต่ละราย ซอฟต์แวร์ใช้งานเฉพาะมักเป็นซอฟต์แวร์ที่ผู้พัฒนาต้องเข้าไปศึกษารูปแบบการทำงานหรือความต้องการของธุรกิจนั้น ๆ แล้วจัดทำขึ้น โดยทั่วไปจะเป็นซอฟต์แวร์ที่มีหลายส่วนรวมกันเพื่อร่วมกันทำงาน ซอฟต์แวร์ใช้งานเฉพาะที่ใช้กันในทางธุรกิจ เช่น ระบบงานทางด้านบัญชี ระบบงานจัดจำหน่าย ระบบงานในโรงงานอุตสาหกรรม บริหารการเงิน และการเช่าซื้อ   ความต้องการของการใช้คอมพิวเตอร์ในงานทางธุรกิจยังมีอีกมาก ดังนั้นจึงต้องมีความต้องการผู้พัฒนาซอฟต์แวร์เพื่อพัฒนาซอฟต์แวร์ใช้งานเฉพาะต่าง ๆ อีกมากมาย
ซอฟต์แวร์ เป็นชุดคำสั่งหรือโปรแกรมที่ใช้สั่งงานให้คอมพิวเตอร์ทำงานตามต้องการ เป็นการสั่งงานตามลำดับขั้นตอนที่ผู้เขียนโปรแกรมเรียบเรียงไว้ในรูปของเลขฐานสองซึ่งใช้แทนข้อมูลที่เป็นตัวเลข ตัวอักษร รูปภาพ และเสียง
ภาษาหรือโปรแกรมที่ใช้สั่งงานคอมพิวเตอร์จึงเป็นซอฟต์แวร์สำคัญที่ทำให้คอมพิวเตอร์แต่ละเครื่องทำงานแตกต่างกันได้มากมาย  เพราะคำสั่งหรือซอฟท์แวร์แต่ละโปรแกรมจะถูกออกแบบสำหรับใช้กับแต่ละงานแตกต่างกัน  เช่น โปรแกรมสำหรับจัดทำเอกสาร  โปรแกรมสำหรับจัดทำบัญชี  โปรแกรมสำหรับจัดทำสื่อการนำเสนอ  โปรแกรมที่เกี่ยวข้องกับการตกแต่งภาพนิ่ง  โปรแกรมเกี่ยวกับการตัดต่อภาพเคลื่อนไหว ฯลฯ เป็นต้น ซึ่งบางโปรแกรมสามารถประยุกต์ใช้งานดีอีกหลายด้านตามความสามารถของผู้เขียนและผู้ใช้โปรแกรมนั้น ๆ
จะเห็นได้ว่าปัจจุบันการที่คอมพิวเตอร์สามารถทำงานได้มากมาย เพราะว่ามีการพัฒนาโปรแกรมหรือซอฟท์แวร์เพื่อสั่งงานคอมพิวเตอร์ตามความต้องการของผู้ใช้งาน ดังที่พบเห็นในชีวิตประจำวัน เช่น ร้านค้าอาจใช้คอมพิวเตอร์ทำบัญชีที่ยุ่งยากซับซ้อน บริษัทขายตั๋วใช้คอมพิวเตอร์ช่วยในระบบการจองตั๋ว คอมพิวเตอร์ช่วยในเรื่องกิจการงานธนาคารที่มีข้อมูลต่าง ๆ มากมาย คอมพิวเตอร์ช่วยงานพิมพ์เอกสารให้สวยงาม คอมพิวเตอร์ช่วยในการตัดต่อบันทึกเสียง เป็นต้น การที่คอมพิวเตอร์ดำเนินการให้ประโยชน์ได้มากมายมหาศาลจะขึ้นอยู่กับซอฟต์แวร์ ซอฟต์แวร์จึงเป็นส่วนสำคัญและจำเป็นของระบบคอมพิวเตอร์ หากขาดซอฟต์แวร์คอมพิวเตอร์ก็ไม่สามารถทำงานได้ และเป็นส่วนประกอบหนึ่งที่ทำให้ระบบสารสนเทศเป็นไปได้ตามที่ต้องการ
4. ซอฟท์แวร์และภาษาคอมพิวเตอร์

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