บทที่ 1 ความรู้เบื้องต้นเกี่ยวกับซอฟต์แวร์

 

ความหมายของซอฟต์แวร์คอมพิวเตอร์

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

ประเภทของซอฟต์แวร์คอมพิวเตอร์

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

1. ซอฟต์แวร์ระบบ (System Software) หมายถึง ซอฟต์แวร์ที่ทำหน้าที่ติดต่อประสานงานในการควบคุมการทำงานของเครื่องคอมพิวเตอร์ และสนับสนุนให้เครื่องคอมพิวเตอร์สามารถทำงานได้อย่างมีประสิทธิภาพ

2. ซอฟต์แวร์ประยุกต์ (Application Software) หมายถึง ซอฟต์แวร์ที่ทำหน้าที่ทำงาน ตามที่บุคคลต้องการจริง เช่น การพิมพ์งาน การตัดแต่งภาพ เป็นต้น

โดยถ้าพิจารณาความสัมพันธ์ในการทำงานแล้ว อาจมองเทียบได้กับภาพ

ภาพที่ 1  ลักษณะการทำงานระหว่างมนุษย์กับคอมพิวเตอร์

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

การจำแนกประเภทของซอฟต์แวร์ระบบ

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

1. ระบบปฏิบัติการ (Operating System) เป็นหัวใจสำคัญที่ทำให้เครื่องคอมพิวเตอร์สามารถทำงานได้ โดยจะทำการควบคุมการทำงานอุปกรณ์ฮาร์ดแวร์เช่น การเปิด-ปิดเครื่อง เป็นต้น รวมถึงการติดต่อกับซอฟต์แวร์ประยุกต์ให้ทำงานต่างๆ ตามที่ผู้ใช้งานสั่งการ

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

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

ภาพที่ 2  โปรแกรม Disk Defragmenter

ระบบปฏิบัติการ

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

ประเภทของระบบปฏิบัติการ

ระบบปฏิบัติการโดยทั่วไปนั้น ถ้าหากใช้หลักการความสามารถของการทำงานในหนึ่งช่วงเวลามาจำแนก ก็สามารถแบ่งได้เป็น

  • แบบงานเดียว (Single Task) หมายถึง ในหนึ่งช่วงเวลาสามารถทำงานได้เพียงงานเดียว
  • แบบหลายงาน (Multi Task) หมายถึง ในหนึ่งช่วงเวลาสามารถทำงานได้หลายงาน

นอกจากนั้นแล้ว ยังจำแนกได้จาก จำนวนผู้ใช้งานในหนึ่งช่วงเวลา ได้แก่

  • แบบผู้ใช้คนเดียว (Single User) หมายถึง ในหนึ่งช่วงเวลา ระบบปฏิบัติการสามารถรองรับการทำงานของผู้ใช้ได้เพียงคนเดียว
  • แบบผู้ใช้หลายคน (Multi User) หมายถึง ในหนึ่งช่วงเวลา ระบบปฏิบัติการสามารถรองรับการทำงานของผู้ใช้ได้หลายคน

และด้วยลักษณะทั้ง 2 ประการนั้น ได้นำมาพิจารณารวมกัน จัดเป็นรูปแบบของประเภทระบบปฏิบัติการ ดังรายละเอียด คือ

แบบงานเดียว ผู้ใช้คนเดียว (Single Task – Single User)

ระบบปฏิบัติการประเภทนี้เป็นลักษณะแรกๆ ที่มีระบบปฏิบัติการเกิดขึ้น เช่น ระบบปฏิบัติการดอส (Disk Operating System: DOS) ซึ่งลักษณะการทำงาน คือ ถ้าหากมีคนหนึ่งทำงานอย่างหนึ่งอยู่แล้ว ยังไม่เสร็จสิ้นก็จะไม่สามารถทำงานอย่างอื่นได้ ต้องรอให้งานแรกเสร็จก่อนจึงจะสามารถทำงานอื่นต่อได้ และนอกจากนั้นระบบปฏิบัติการในรูปแบบนี้ไม่มีการจำแนกงานของแต่ละบุคคลออกจากกัน ถ้าหากผู้ใช้คนแรกทำงานอย่างใดอย่างหนึ่งไว้ และผู้ใช้คนถัดไปจะสามารถแก้ไขดัดแปลง ซึ่งจะส่งผลกระทบต่องานนั้นได้   ระบบปฏิบัติการในรูปแบบนี้ ได้มีการพัฒนาต่อในยุคถัดมา เกิดเป็นลักษณะอื่นต่อไป

ภาพที่ 3  ระบบปฏิบัติการไมโครซอฟต์ ดอส (Microsoft DOS )

แบบหลายงาน ผู้ใช้คนเดียว (Multi Task – Single User)

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

ภาพที่ 4  ระบบปฏิบัติการไมโครซอฟต์ วินโดวส์ เอ็กพี (Microsoft Windows XP)

แบบหลายงาน ผู้ใช้หลายคน (Multi task – Multi user)

ระบบปฏิบัติประเภทนี้จะสามารถรองรับการทำงานหลายๆ งานได้ในช่วงเวลาเดียว และในขณะเดียวกันนั้น ยังสามารถรองรับการทำงานของคนหลายๆ คนได้ สำหรับตัวอย่างระบบปฏิบัติการในลักษณะนี้  เช่น  ไมโครซอฟต์ เซิร์ฟเวอร์ (Microsoft Server),  ไมโครซอฟต์ เอ็นที (Microsoft NT) หรือ ลีนุกซ์ (Linux) ซึ่งระบบปฏิบัติการในระดับนี้ เหมาะสมกับการทำเป็นเครื่องแม่ข่าย (Server) เพราะสามารถรองรับผู้ใช้ได้หลายคน เช่น เครื่องแม่ข่ายของเว็บไซต์ เป็นต้น

ภาพที่ 5 ระบบปฏิบัติการไมโครซอฟต์ วินโดวส์ 2000 เซิร์ฟเวอร์

 

คุณลักษณะของระบบปฏิบัติการ

ระบบปฏิบัติการเป็นซอฟต์แวร์ระบบที่ทำหน้าที่ในการติดต่อควบคุมฮาร์ดแวร์คอมพิวเตอร์ และติดต่อกับผู้ใช้งาน   ระบบปฏิบัติการจะแบ่งการทำงานได้เป็น 3 ระดับ คือ

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

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

2.1 เทคเชล (Text Shell) หมายถึง ส่วนการติดต่อกับผู้ใช้ ในลักษณะของการรับคำสั่งในรูปตัวอักขระ ซึ่งในรูปแบบนี้จะสามารถติดต่อกับเคอร์แนล ได้อย่างรวดเร็ว และยังสามารถเปลี่ยนแปลงทิศทางของการนำเข้าข้อมูล และการแสดงผลข้อมูลในลักษณะของการนำผลลัพธ์ที่ได้จากการทำงานหนึ่งไปเป็นข้อมูลที่นำเข้าไปประมวลผลต่อได้ เรียกว่า pipelining นอกจากนั้น ยังสามารถเขียนคำสั่งให้เครื่องคอมพิวเตอร์ทำงานรวมกันไว้เป็นชุดได้  ซึ่งเรียกว่า เชล สคริป (Shell Script)   สำหรับตัวอย่างที่เห็นได้ชัด เช่นในระบบปฏิบัติการยูนิค จะมีเชล ในลักษณะเทคเชล อยู่หลายแบบ เช่น ซีเชล(C-Shell) ,คอนเชล (Korn-Shell)   สำหรับระบบปฏิบัติการวินโดวส์ จะมีเทคเชล ในรูปแบบของไมโครซอฟต์ ดอส ที่ทำงานผ่านทางคำสั่งต่างๆ   การใช้งานผ่านทางเทคเชลนั้นมีข้อดีคือสามารถทำงานต่างได้รวดเร็ว  แต่ผู้ใช้ทั่วไปนั้นจะต้องเรียนรู้คำสั่งต่างๆที่ใช้ในการสั่งงานซึ่งเป็นเรื่องยุ่งยาก  เช่น ถ้าต้องการคัดลอกไฟล์ในระบบปฏิบัติการแบบ ก็ต้องใช้คำสั่ง cp ตามด้วยชื่อไฟล์ที่ต้องการคัดลอก  และชื่อใหม่ที่ต้องการตั้ง  เป็นต้น

ภาพที่ 6  การใช้คำสั่ง cp ในการคัดลอกไฟล์

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

ภาพที่ 7  ระบบปฏิบัติการไมโครซอฟต์ วินโดวส์ ที่เป็นลักษณะกราฟิก เชล

3. ยูทิลิตี (Utility) เป็นโปรแกรมที่จัดการทำงานให้กับระบบปฏิบัติการ เช่น การจัดการพื้นที่ การคัดลอกไฟล์ การลบไฟล์เป็นต้น ซึ่งทั้งนี้โปรแกรมยูทิลิตี จะมีความแตกต่างกันไปตามแต่ละประเภทของระบบปฏิบัติการ และลักษณะของเชล

ระบบปฏิบัติการสำหรับอุปกรณ์เคลื่อนที่

ปัจจุบันอุปกรณ์สื่อสารที่สามารถพกพาได้กำลังเป็นที่นิยม  ไม่ว่าจะเป็นโทรศัพท์เคลื่อนที่  หรือคอมพิวเตอร์ขนาดพกพา จะเห็นได้ว่าอุปกรณ์อิเล็กทรอนิกส์เหล่านี้มีความสามารถได้เกือบเทียบเท่าเครื่องคอมพิวเตอร์โดยทั่วไป  แต่สิ่งที่แตกต่างกันคือขนาดที่เล็กและหน่วยความจำที่ใช้ในการเก็บข้อมูลที่มีขนาดเล็กกว่า  ตลอดจนชิ้นส่วนอุปกรณ์ที่ทำหน้าที่จ่ายไฟหล่อเลี้ยงการทำงานมีขนาดเล็ก  ดังนั้นอุปกรณ์เหล่านี้จึงต้องมีระบบปฏิบัติการของตนโดยเฉพาะ  ที่พบได้ในปัจจุบันได้แก่ ปาล์มโอเอส (PlamOS), วินโดวส์ โมบาย (Window Mobile)   หรือ ซิมเบียน (Symbian) ซึ่งทั้งนี้ขึ้นอยู่กับผู้ผลิตสินค้าแต่ละรายที่ละเลือกระบบปฏิบัติการติดตั้งลงในผลิตภัณฑ์ของตน และในฐานะผู้ใช้ก็ควรจะต้องเลือกว่าอุปกรณ์สื่อสารเพื่องานใดและระบบปฏิบัติการนั้นสามารถรองรับการทำงานได้หรือไม่

ซอฟต์แวร์ประยุกต์

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

ประเภทของซอฟต์แวร์ประยุกต์

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

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

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

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

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

– ซอฟต์แวร์งานออกแบบ เป็นซอฟต์แวร์ที่ใช้ในงานทางวิศวกรรมและสถาปัตยกรรมในการออกแบบอาคาร สิ่งก่อสร้าง หรือ เฟอร์นิเจอร์ต่างๆ  ตัวอย่างซอฟต์แวร์ในกลุ่มนี้เช่น โปรแกรม CAD เป็นต้น

– ซอฟต์แวร์ตกแต่งภาพกราฟิก เป็นซอฟต์แวร์ที่ใช้ในการสร้างและดัดแปลงตกแต่งภาพ ตัวอย่างซอฟต์แวร์ในกลุ่มนี้เช่น โฟโต้ชอร์ป  อิรัสเตเตอร์  เป็นต้น

– ซอฟต์แวร์สื่อสารข้อมูล เป็นซอฟต์แวร์ที่ใช้ในการติดต่อสื่อสารระหว่างเครื่องคอมพิวเตอร์ตั้งแต่ 2 เครื่องขึ้นไป   สำหรับข้อมูลในที่นี้หมายความรวมถึงภาพ ตัวอักษร เสียง เป็นต้น   ตัวอย่างซอฟต์แวร์ในกลุ่มนี้เช่น อินเทอร์เน็ต เอ็กพลอเลอร์ (Internet Explorer) เป็นโปรแกรมเว็บบราวเซอร์ใช้แสดงข้อมูลที่ส่งผ่านเครือข่ายอินเทอร์เน็ต MSN เป็นโปรแกรมที่ใช้ส่งข้อมูลที่แสดงผลในรูปของตัวอักขระ หรือแม้แต่ภาพและเสียงก็ได้ SSH Secure Shell เป็นโปรแกรมที่ใช้ในการถ่ายโอนข้อมูลระหว่างเครื่องแม่ข่ายกับลูกข่าย เป็นต้น

นอกจากกลุ่มต่างๆที่ยกมาในขั้นต้นแล้วก็ยังมีกลุ่มอื่นๆอีก ทั้ง ซอฟต์แวร์ด้านการศึกษา ซอฟต์แวร์เพื่อความบันเทิง  เป็นต้น

ภาพที่ 10  ตัวอย่างซอฟแวร์ที่มีวัตถุประสงค์ทั่วไป

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

ภาพที่ 11  ตัวอย่างซอฟต์แวร์ที่มีวัตถุประสงค์เฉพาะ

การพิจารณาซอฟต์แวร์ตามหลักการของลิขสิทธิ์

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

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

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

3. ซอฟต์แวร์ฟรีแวร์(Free Ware) เป็นซอฟต์แวร์ที่พัฒนาขึ้นโดยมีเป้าหมายเพื่อต้องการเผยแพร่ให้ผู้ใช้ต่างๆสามารถนำไปใช้ได้โดยไม่ต้องเสียค่าใช้จ่าย สำหรับซอฟต์แวร์ฟรีแวร์นั้นอาจแบ่งเป็น 2 กลุ่มหลักๆได้อีก คือ

3.1 ซอฟต์แวร์ฟรีแวร์ที่ไม่เปิดเผยวิธีในการผลิต  มุ่งเน้นให้ผู้ใช้สามารถนำไปใช้ได้เพียงอย่างเดียว  ไม่สามารถนำไปพัฒนาต่อได้

3.2 ซอฟต์แวร์ที่เปิดเผยวิธีการผลิต  เรียกอีกชื่อว่า ซอฟต์แวร์โอเพนซอร์ส ( Open Source Software) หรือ ซอฟต์แวร์รหัสเปิด   ซอฟต์แวร์ในกลุ่มนี้มีแนวคิดว่า ซอฟต์แวร์โอเพนซอร์ส เป็นสมบัติของทุกคนที่สามารถนำไปใช้งาน  ทำซ้ำ  เรียนรู้  ปรับปรุง  แก้ไขเพิ่มเติม และเผยแพร่ได้ ซอฟต์แวร์โอเพนซอร์ส นั้นมีทั้งที่เป็นระบบปฏิบัติการ เช่น  ลีนุกซ์     และซอฟต์แวร์ประยุกต์ เช่น ซอฟต์แวร์ที่ใช้ในการพัฒนาเวปแอพพริเคชันอย่างเช่น พีเอชพี (PHP)  ซอฟต์แวร์จัดการฐานข้อมูลอย่างเช่น มายเอสคิวแอล(MySQL)  หรือแม้แต่ซอฟต์แวร์สำนักงานได้แก่ ปลาดาวออฟฟิส และออฟฟิสทะเล  เป็นต้น ซึ่งซอฟต์แวร์ทั้งหมดนั้นได้มีการพัฒนาอย่างต่อเนื่อง  และสำหรับประเทศไทยนั้นก็มีหน่วยงานที่สนับสนุนการพัฒนาและใช้งานซอฟต์แวร์ที่พัฒนาขึ้นมาโดยคนไทย  อย่างเช่น ศูนย์เทคโนโลยีอิเล็กทรอนิกส์และคอมพิวเตอร์แห่งชาติ (NECTEC)  และ สำนักงานส่งเสริมอุตสาหกรรม ซอฟต์แวร์แห่งชาติ (SIPA) เป็นต้น  เพื่อทำให้คนไทยไม่ต้องสิ้นเปลืองค่าใช้จ่ายเป็นจำนวนมากในการซื้อซอฟต์แวร์จากต่างประเทศ  และส่งเสริมวงการการผลิตซอฟต์แวร์ในประเทศให้ก้าวหน้าต่อไป

ภาพที่ 12  ตัวอย่างซอฟต์แวร์โอเพนซอร์ส

ชื่อ – นามสกุล……………………………………………………..เลขที่……….สาขาวิชา…………………………………..

 

แบบฝึกหัดท้ายบทที่ 1

1. ซอฟต์แวร์ระบบกับซอฟต์แวร์ประยุกต์แตกต่างกันอย่างไร

………………………………………………………………………………………………………………………………………………………………….

………………………………………………………………………………………………………………………………………………………………….

………………………………………………………………………………………………………………………………………………………………….

2. ซอฟต์แวร์ระบบสามารถจำแนกเป็น 3 ลักษณะ ได้แก่อะไรบ้าง

………………………………………………………………………………………………………………………………………………………………….

………………………………………………………………………………………………………………………………………………………………….

………………………………………………………………………………………………………………………………………………………………….

………………………………………………………………………………………………………………………………………………………………….

………………………………………………………………………………………………………………………………………………………………….

………………………………………………………………………………………………………………………………………………………………….

3. จงอธิบายความแตกต่างของระบบปฏิบัติการที่เป็นลักษณะ แบบงานเดียว ผู้ใช้คนเดียว ,แบบหลายงาน ผู้ใช้คนเดียว และแบบหลายงาน ผู้ใช้หลายคน  พร้อมยกตัวอย่าง

………………………………………………………………………………………………………………………………………………………………….

………………………………………………………………………………………………………………………………………………………………….

………………………………………………………………………………………………………………………………………………………………….

………………………………………………………………………………………………………………………………………………………………….

………………………………………………………………………………………………………………………………………………………………….

4. Shell คืออะไร และทำหน้าที่อะไรในระบบปฏิบัติการ

………………………………………………………………………………………………………………………………………………………………….

………………………………………………………………………………………………………………………………………………………………….

………………………………………………………………………………………………………………………………………………………………….

………………………………………………………………………………………………………………………………………………………………….

5. ซอฟต์แวร์สำเร็จรูปหมายถึงอะไร และจงยกตัวอย่าง

………………………………………………………………………………………………………………………………………………………………….

………………………………………………………………………………………………………………………………………………………………….

………………………………………………………………………………………………………………………………………………………………….

………………………………………………………………………………………………………………………………………………………………….

6. จงบอกถึงความแตกต่างของซอฟต์แวร์ฟรีแวร์  และแชร์แวร์

………………………………………………………………………………………………………………………………………………………………….

………………………………………………………………………………………………………………………………………………………………….

………………………………………………………………………………………………………………………………………………………………….

8. จงเปรียบเทียบข้อดีและข้อเสียของการใช้ซอฟต์แวร์ที่มีลิขสิทธิ์ และซอฟต์แวร์โอเพนซอร์ส

………………………………………………………………………………………………………………………………………………………………….

………………………………………………………………………………………………………………………………………………………………….

………………………………………………………………………………………………………………………………………………………………….

………………………………………………………………………………………………………………………………………………………………….

ใส่ความเห็น

ถาม - ตอบ