วันจันทร์ที่ 16 กรกฎาคม พ.ศ. 2555

หน่าวที่4
ซอฟต์แวร์
(Software)

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

หน้าที่ของซอฟต์แวร์

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

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

ซอฟต์แวร์แบ่งออกเป็น 3 ประเภทใหญ่ๆ คือ
ซอฟต์แวร์ระบบ(System software)
ซอฟต์แวร์ประยุกต์(Application software)
และซอฟต์แวร์ใช้งานเฉพาะ

1.ซอฟต์แวร์ระบบ(System software)

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

2.ซอฟร์แวร์ระบบ(System software)

System software หรือโปรแกรมระบบที่รู้จักกันดีก็คือ DOS, Windows, Unix, Linux รวมทั้งโปรแกรมแปลคำสั่งที่เขียนในภาษาระดับสูง เช่น ภาษา Basic, Fortran, Pascal, Cobol, C เป้นต้น

หน้าที่ของซอฟต์แวร์ระบบ

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

ประเภทของซอฟต์แวร์ระบบ

ซอฟต์แวร์ระบบ แบ่งออกเป็น 2 ตัว ประเภทคือ
1. ระบบปฏิบัติการ(Operating System : OS)
2. ตัวแปลภาษา

1. ระบบปฎิบัติการ หรือที่เรียกย่อๆ ว่า โอเอส (Operating System : OS) เป็นซอฟต์แวร์ใช้ในการดูแลระบบคอมพิวเตอร์ เครื่องคอมพิวเตอร์ทุกเครื่องจะต้องมีซอฟต์แวร์ระบบปฎิบัติการนี้ ระบบปฏิบัติการที่นิยมใช้กันมากและเป็นที่รู้จักกันดี เช่น ดอส วินโดวส์ ยูนิกซ์ ลีนุกซ์ และแมคอินทอช เป็นต้น

1.)ระบบปฎิบัติการ(Operating System :OS)

1.) ดอส (Disk Operatating system :DOS) เป็นซอฟต์แวร์จัดระบบงานที่พัฒนามานานแล้ว การใช้งานจึงใช้คำสั่งเป็นตัวอักษร ดอสเป็นซอฟต์แวร์ที่รู้จักกันดี
2.) วินโดวส์ (Windows) เป็นระบบปฏิบัติการที่พัฒนาต่อจากดอส โดยให้ผู้ใช้สามารถสั่งงานได้จากเมาส์มากขึ้นแทนการใช้แผงแป้นอักขระเพียงอย่างเดียวนอกจากนี้ระบบปฏิบัติการวินโดวส์ยังสามารถทำงานหลายๆงานพร้อมกันได้ โดยงานแต่ละงานจะอยู่ในกรอบช่องหน้าต่างบนจอภาพ การใช้งานใช้รูปแบบกราฟิก ผู้ใช้งานสามารถใช้เมาส์เลื่อนตัวชี้เพื่อเลือกตำแหน่งที่ปรากฏบนจอภาพ ทำให้ใช้งานคอมพิวเตอร์ได้ง่าย ระบบปฎิบัติการวินโดวส์จึงได้รับความนิยมอย่างมากในปัจจุบัน
3.) ยูนิกซ์ (Unix) เป็นระบบปฏิบัติการที่พัฒนามาตั้งแต่ครั้งใช้กับเครื่องมินิคอมพิวเตอร์ ระบบปฎิบัติการยูนิกซ์เป็นระบบปฎิบัติการที่เป็นเทคโนโลยีแบบเปิด(Open system) ซึ่งเป็นแนวคิดที่ผู้ใช้ไม่ต้องผูกติดกับระบบใดระบบหนึ่งหรือใช้อุปกรณ์ที่มียี่ห้อเดียวกัน ยูนิกซ์ยังถูกออกแบบมาเพื่อตอบสนองการใช้งานในลักษณะที่มีผู้ใช้หลายคนในเวลาเดียวกันมราเรียกว่า ระบบหลายผู้ใช้(Multiusers)และสามารถทำงานได้ในหลายๆงานในเวลาเดียวกันในลักษยะที่เรียกว่า ระบบหลายภารกิจ(Multitasking)ระบบปฎิบัติการยูนิกซ์จึงนิยมใช้กับเครื่องที่เชื่อมโยงเป็นเครือข่าย เพื่อใช้งานร่วมกันหลายๆเครื่องพร้อมกัน
4.) ลีนุกซ์ (linux) เป็นระบบปฎิบัติการที่พัฒนามาจากระบบยูนิกซ์ เป็นระบบที่มีการแจกจ่ายโปรแกรมต้นฉบับให้นักพัฒนาช่วยกันพัฒนาคุณสมบัติของระบบปฎิบัติการ ระบบปฏิบัติการลีนุกซ์เป็นที่นิยมกันมากขึ้นในปัจจุบัน เนื่องจากมีโปรแกรมประยุกต์ต่างๆ ที่ทำงานในระบบลีนุกซ์จำนวนมาก โดยฌแพะอย่างยิ่งโปรแกรมในกลุ่มของกส์นิว (GNU)และสิ่งที่สำคัญที่สุดก็คือระบบลีนุกซ์เป็นระบบปฎิบัติการประเภทแจกฟรี(Free Ware) ผู้ใช้สามารถใช้งานได้โดยไม่ต้องเสียค่าใช้จ่าย
ระบบลีนุกซ์ สามารถทำงานได้บนซีพียูหลายตระกูลเช่น อินเทล (PC Intel) ดิจิตอล (Digital Alpha)และซันสปาร์ค(Sun SPARC)ถึงแม้ว่าในขณะนี้ลีนุกซ์ยังไม่สามารถแทนที่ระบบปฎิบัติการวินโดวส์บนพีซีได้ทั้งหมดก็ตาม แต่ผูใช้จำนวนมากได้หันมาใช้
5.) แมคอินทอช (Macintosh)เป็นระบบปฎิบัติการสำหรับเครื่องไมโครคอมพิวเตอร์ แมคอินทอช ส่วนมากนำไปใช้งานด้านกราฟิก ออกแบบและจัดแต่งเอกสาร นิยมใช้ในสำนักพิมพ์ต่างๆ
นอกจากระบบปฎิบัติการที่กล่าวมาแล้วยังมีระบบปฎิบัติการอีกมาก เช่นระบบปฎิบัติการที่ใช้ในเครือข่ายคอมพิวเตอร์ เพื่อใช้คอมพิวเตอร์ทำงานร่วมกันเป็นระบบ

ชนิดของระบบปฎิบัติการ จำแนกตามการใช้งานสามารถจำแนกออกได้เป็น 3 ขนิด ด้วยกันคือ
1. ประเภทใช้งานเดียว(Single-tasking)ระบบปฎิบัติการประเภทนี้จะกำหนดให้คอมพิวเตอร์ใช้งานได้ครั้งละหนึ่งงานเท่านั้น ใช้ในเครื่องขนาดเล็กอย่างไมโครคอมพิวเตอร์  เช่น ระบบปฎิบัติการคอม เป็นต้น
2. ประเภทใช้หลายงาน(Multi-tasking) ระบบปฎิบัติการประเภทนี้สามารถควบคุมการทำงานหลายงานในขณะเดียวกัน ผู้ใช้งานสามารถทำงานกับซอฟต์แวร์ประยุกต์ได้หลายชนิดในเวลาเดียวกัน เช่น ระบบปฏิบัติการ Windows 98 และ UNIX เป็นต้น
3.ประเภทใช้งานหลายคน(Multi-user)ในหน่วยงานบางแห่งอาจใช้คอมพิวเตอร์ขนาดใหญ่ทำหน้าที่ประมาลผล ทำให้ในขณะใดขณะหนึ่งมีผู้ใช้คอมพิวเตอร์พร้อมกันหลายคน แต่ละคนจะมีสถานีงานของตนเองเชื่อมต่อกับคอมพิวเตอร์ จึงต้องใช้ระบบปฎิบัติการที่มีความสามารถสูง เพื่อให้ผู้ใช้ทุกคนสามารถทำงานเสร็จในเวลา เช่น ระบบปฏิบัติการ Windows NT และ UNIX เป็นต้น

2.ตัวแปลภาษา

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

2.2ซอฟต์แวร์ประยุกต์
(Application Software)
         ซอฟต์แวร์ที่ใช้ทำงานร่วมกับคอมพิวเตอร์ เพื่อใช้ทำงานเฉพาะด้าน เช่น การจัดพิมพ์รายงาน การนำเสนองาน การจัดทำบัญชี การตกแต่งภาพ หรือการออกแบบเว็บไซต์ เป็นต้น

ประเภทของซอฟต์แวร์ประยุกต์
แบ่งตามลักษณะการผลิต จำแนกได้เป็น2ประเภท คือ

1.ซอฟต์แวร์ที่พัฒนาขึ้นใช้เองดดยเฉพาะ
(Proprietary Software)

2.ซอฟต์แวร์ที่หาซื้อได้ทั่วไป
(Packaged Software) และโปรแกรมมาตรฐาน(Standard Software)

ประเภทของซอฟต์แวร์ประยุกต์
แบ่งตามกลุ่มการใช้งาน จำแนกได้เป็น3ประเภทใหญ่ๆ ดังนี้

1.กลุ่มการใช้งานทางด้านธุรกิจ
(Business)

2.กลุ่มการใช้งานด้านกราฟิกและมัลติมีเดีย
(Graphic and Multimedia)

3.กลุ่มการใช้งานบนเว็บ
(Wed and Communications)

กลุ่มการใช้งานทางด้านธุรกิจ (Business)
     ซอฟต์แวร์กลุ่มนี้ ถูกนำมาใช้โดยมุ่งหวังในการทำงานมีประสิทธิภาพมากขึ้น เช่น การจัดพิมพ์ราบงานเอกสาร นำเสนองาน และการบันทึกนัดหมายต่างๆ ตัวอย่าง เช่น :

โปรแกรมประมวลคำ อาทิ Microsoftword, Sun StarOffice writer

โปรแกรม ตารางคำนวณ อาทิ Microsoft Excel, Sun StarOffice Cals

โปรแกรมนำเสนองาน อาทิ Microsoft PowerPoint


กลุ่มการใช้งานทางด้านกราฟิกและมัลติมมีเดีย

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

โปรแกรมตกแต่งภาพ อาทิ CoreIDRAW,Adobe Photoshop

โปรแกรมตัดต่อวิดิโอและเสียง อาทิ Adobe Premiere, Pinnacle Studio DV

โปรแกรมสร้างสื่อมัลติมีเดีย อาทิ Adobe Authorware, Toolbook Instructor, Adobe Director

โปรแกรมสร้างเว็บ อาทิ Adobe Flash, Adobe Dreamweaver


กลุ่มการใช้งานบนเว็บและการติดต่อสื่อสาร

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

โปรแกรมจัดการอีเมล อาทิ Microsoft Outlook, Mozzila Thunderbird

โปรแกรมสร้างเว็บ อาทิ Microsoft Internet, Mozzila Firefox

โปรแกรม ประชุมทางไกล (Video Conference) อาทิ Microsoft Netmeeting

โปรแกรมส่งข้อความด่วน (Instant Messaging) อาทิ MSN Messenger/Windows  Messenger, ICT


ความจำเป็นของการใช้ซอฟต์แวร์

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


ซอฟต์แวร์และภาษาคอมพิวเตอร์

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


ภาษาคอมพิวเตอร์ในแต่ละยุคประกอบด้วย

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


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

ภาษาระดับสูง(High-level Languages)
เป็นภาษาคอมพิวเตอร์ในยุคที่3 เริ่มมีการใช้ชุดคำสั่งที่เรียกว่า Statements ที่มีลักษณะเป็นประโยคภาอังกฤษ ทำให้ผู้ที่เขียนโปรแกรมสามารถเข้าใจชุดคำสั่งเพื่อสั่งให้คอมพิวเตอร์ทำงานง่ายขึ้น ผู้คนทั่วไปสามารถเรียนรู้และเขียนโปรแกรมได้งายขึ้น เนื่องจากภาษาระดับสูงใกล้เคียงภาษามนุษย์ ตัวแปลภาษาระดับสูงเพื่อมให้เป็นภาษาเครื่องนั้นมีอยู่ 2 ชนิด คือ คอมไพเลอร์(Compiler) และ อินเตอร์พรีเตอร์ (Interpretre)

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

อินเทอร์พลีเตอร์ จะทำการแปลทีละคำสั่งและให้คอมพิวเตอร์ทำตามคำสั่งนั้น เมื่อทำเสร็จแล้วจึงมาทำการแปลคำสั่งลำดับต่อไป ข้อแตกต่างระหว่างคอมไพรเลอร์กับอินเทอร์พีเตอร์จึงอยู่ที่การแปลทั้งดปรแกรมหรือแปลทีละคำสั่ง