ทที่ 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) เป็นต้น เพื่อทำให้คนไทยไม่ต้องสิ้นเปลืองค่าใช้จ่ายเป็นจำนวนมากในการซื้อซอฟต์แวร์จากต่างประเทศ และส่งเสริมวงการการผลิตซอฟต์แวร์ในประเทศให้ก้าวหน้าต่อไป
ไม่มีความคิดเห็น:
แสดงความคิดเห็น