ซอฟต์แวร์เป็นชุดคำสั่งที่มีหน้าที่สั่งการให้เครื่องคอมพิวเตอร์หรืออุปกรณ์ ฮาร์ดแวร์อื่น ๆ ทำงานประมวลผลข้อมูลตามต้องการ ลำพังมีแต่เฉพาะอุปกรณ์ฮาร์ดแวร์โดยไม่มีคำสั่ง หรือส่วนที่เป็นซอฟต์แวร์เข้าไปควบคุม มันจะไม่สามารถทำงานได้โดยสิ้นเชิง ซอฟต์แวร์เป็นองค์ประกอบสำคัญอันหนึ่งในระบบประมวลผลข้อมูลที่จะขาดไม่ได้ องค์ประกอบต่าง ๆ ของระบบประมวลผลข้อมูล ประกอบด้วยองค์ประกอบต่าง ๆ ดังนี้ (ดูรูปข้างล่างประกอบ))
แผนภูมิองค์ประกอบระบบประมวลผลข้อมูล
ความสำคัญขององค์ประกอบทั้ง 5 ส่วนนี้ มีความสำคัญต่อระบบประมวลผลข้อมูลที่เกื้อหนุนกัน จะขาดองค์ประกอบส่วนหนึ่งส่วนใดไม่ได้ องค์ประกอบต่าง ๆ เป็นองค์ประกอบย่อยของระบบประมวลผลข้อมูล ซึ่งเป็นระบบใหญ่ ถ้าระบบย่อยส่วนใดเกิดปัญหาบกพร่องหรือเสียหาย เช่น องค์ประกอบด้านซอฟต์แวร์เกิดความผิดพลาดหรือไม่มี การประมวลผล ก็จะผิดพลาดหรือประมวลผลไม่ได้ เป็นต้น
ซอฟต์แวร์เป็นองค์ประกอบหลักองค์หนึ่งของระบบประมวลผลข้อมูล ซอฟต์แวร์ได้ถูกสร้างขึ้น และพัฒนาควบคู่มากับฮาร์ดแวร์ นับถึงบัดนี้ก็เป็นเวลา 40 ปี จำนวนซอฟต์แวร์จึงมีมากมายนับไม่ถ้วน ถึงอย่างไรก็ตามเมื่อจัดแบ่งเป็นประเภทจะได้ 2 ประเภทใหญ่ ๆ ดังนี้
- ซอฟต์แวร์สำเร็จรูปทั่วไป (General Package) คือซอฟต์แวร์สำเร็จรูป ที่ใช้งานได้กว้างขวางทั่วไป เป็นที่นิยม สามารถนำซอฟต์แวร์ไปประยุกต์ใช้งานในหน่วยงานได้โดยไม่จำกัดประเภทหน่วยงาน เช่น ซอฟต์แวร์ในชุด Microsoft Office for Window ได้แก่ Microsoft Word จะทำงานด้านพิมพ์เอกสาร Microsoft Excel จะทำงานด้านตารางทำการหรือที่เรียกว่า กระดาษทดอิเล็กทรอนิกส์ Microsoft Access จะทำงานทางด้านแฟ้มข้อมูลและจัดการฐานข้อมูล เป็นต้น
- ซอฟต์แวร์สำเร็จรูปเฉพาะหน่วยงาน (Specific Package) หมายถึง ซอฟต์แวร์ที่หน่วยงานได้พัฒนาขึ้นเพื่อใช้งานในหน่วยงานโดยเฉพาะ อาจพัฒนาโดยบุคลากรของหน่วยงานเองหรือว่าจ้างบริษัทที่ทำหน้าที่พัฒนาซอฟต์แวร์จัดการให้ก็ตาม ซอฟต์แวร์แบบนี้จะดูคล้ายกับซอฟต์แวร์สำเร็จรูปทั่วไป ให้ความสะดวก มีประสิทธิภาพ และน่าใช้ พนักงานหรือบุคลากรในหน่วยงานนั้นจะมีความรู้สึก คล้ายกับกำลังใช้โปรแกรมสำเร็จรูปทั่ว ๆ ไป
- ซอฟต์แวร์ที่เขียนใช้งานโดยส่วนบุคคล (Personal Software) ซอฟต์แวร์ประเภทนี้จะมี ขนาดเล็ก มีขอบเขตการทำงานเฉพาะเรื่องไม่กว้างขวางหรือครอบคลุมงานทั้งหมด อาจจะไม่มีความสะดวกในการใช้งานหรือดูไม่ค่อยน่าใช้ แต่ก็สามารถทำงานประมวลผลตามข้อกำหนดได้อย่างมีประสิทธิภาพ ซอฟต์แวร์ประเภทนี้มีมากมาย และเป็นที่น่าเสียดายที่มักจะไม่ได้ถูกใช้ประโยชน์อย่างคุ้มค่า เมื่อผู้เขียนเขียนขึ้นและใช้งานเองเสร็จสิ้นแล้วก็จะเก็บไว้ไม่ได้ใช้อีกหรือไม่ได้เผยแพร่ ให้ใช้ประโยชน์กว้างขวางออกไป จึงเป็นที่น่าเสียดายความคิดที่ได้ใช้ไปกับการพัฒนาซอฟต์แวร์เหล่านี้ ถ้าหากได้มีการรวบรวม เผยแพร่ และนำมาพัฒนา เราจะได้ประโยชน์จากซอฟต์แวร์กลุ่มนี้อีกมาก
แสดงอาณาจักรซอฟต์แวร์
ในการใช้งานคอมพิวเตอร์ ซอฟต์แวร์ที่เกี่ยวข้องกับการใช้งานขณะนั้น จะต้องนำเข้า (Load) ไว้ในหน่วยความจำหลัก (Main Memory) ของเครื่อง (ซอฟต์แวร์บางส่วนที่ยังไม่ถึงเวลาทำงานอาจยังไม่ได้รับการอ่านเข้าหน่วยความจำ ก็จะอยู่ที่ หน่วยความจำสำรอง เช่น ในสื่อ Hard Disc แผ่น Floppy Diskette หรือซอฟต์แวร์ อาจจะเก็บไว้ในแผ่น CD (Compact Disc) เป็นต้น ซึ่งระบบปฏิบัติการจะจัด การในเรื่องนี้) ระบบปฏิบัติการ (Operating System Software: OS) จะทำหน้าที่เป็นตัวกลางประสานการทำงานระหว่างซอฟต์แวร์ประยุกต์ กับตัวเครื่อง (Chip CPU) ให้การประมวลผลดำเนินไปตามขั้นตอนในซอฟต์แวร์ และทำงานอย่างมีประสิทธิภาพ นั่นคือผู้ใช้งาน (Users) จะใช้งานโดยผ่านซอฟต์แวร์ทั้งสองประเภทในขณะทำงาน บางช่วงเวลาของการทำงานผู้ใช้งานกำลังทำงานกับซอฟต์แวร์ประยุกต์ ขณะนั้นซอฟต์แวร์ประยุกต์จะเป็นซอฟต์แวร์ที่อยู่เบื้องหน้า (Foreground) ซอฟต์แวร์ ส่วนระบบปฏิบัติการก็จะอยู่เบื้องหลัง (Background) ดังรูปข้างล่าง หน้าจอก็จะแสดงผลภายใต้โปรแกรมประยุกต์นั้น แต่ในบางช่วงเวลาผู้ใช้อาจต้องการติดต่อกับ ระบบปฏิบัติการเพื่อทำงานบางอย่างที่ต้องการ ก็จะต้องออกจากซอฟต์แวร์ ประยุกต์นั้น จะเหลือซอฟต์แวร์ระบบปฏิบัติการอย่างเดียวและเป็นเบื้องหน้า (Foregground) แสดงที่หน้าจอ ให้ผู้ใช้ได้เห็นและใช้คำสั่ง ติดต่อสั่งการซึ่งเป็นคำสั่งของระบบปฏิบัติการตัวนั้น
แสดงความสัมพันธ์ระหว่าง Hardware, Software และ Users
หน้าที่ของซอฟต์แวร์ระบบปฏิบัติการมีหน้าที่หลัก 3 ประการ ดังนี้
ดังที่กล่าวมาสรุปได้ว่า ผู้ใช้จะต้องใช้งานซอฟต์แวร์ทั้งสองประเภทในเวลาเดียวกัน ดังรูปข้างล่าง ดังนั้นในฐานะผู้ใช้งานจึงต้องเรียนรู้การใช้งานซอฟต์แวร์ทั้งสองประเภท คือ เรียนรู้การใช้งานระบบปฏิบัติการตัวนั้น และเรียนรู้วิธีการใช้ซอฟต์แวร์ประยุกต์ที่ใช้งานนั้น ตัวอย่างเช่นต้องการใช้โปรแกรมพิมพ์เอกสาร Microsoft Word ที่ทำงานบน Windows 98 ผู้ใช้ก็จะต้องเรียนรู้การใช้งาน Windows 98 ซึ่งเป็นระบบปฏิบัติการ และต้องเรียนรู้วิธีใช้ Microsoft Word ซึ่งเป็น โปรแกรมประยุกต์ เป็นต้น
แสดงผู้ใช้ (Users) จะใช้ซอฟต์แวร์ทั้งสองประเภท
ภาษา คือ สื่อกลางหรือเครื่องมือที่ใช้แลกเปลี่ยนความคิดความรู้สึกระหว่างผู้พูดกับผู้ฟัง ที่กล่าวนี้จะหมายถึงภาษาที่มนุษย์ใช้สื่อสารระหว่างกัน ในทางคอมพิวเตอร์ก็มีการพัฒนาภาษาสำหรับเป็นเครื่องมือสื่อสารระหว่างคนกับเครื่องคอมพิวเตอร์ คอมพิวเตอร์ในปัจจุบันระบบวงจรภายในเครื่องเป็นแบบดิจิตอล ซึ่งข้อมูล และคำสั่งที่เครื่องจะรับรู้ และสามารถนำไปประมวลผลได้จะต้องเป็นระบบเลขฐานสองทั้งสิ้น นั่นคือ 0 และ 1 ดังนั้นสัญลักษณ์ที่ คอมพิวเตอร์เข้าใจและมนุษย์ใช้สื่อความหมายกับคอมพิวเตอร์ได้จะต้องเป้นระบบเลขฐานสอง เราเรียกภาษาดังกล่าวนี้ว่า ภาษาเครื่อง (Machine Language) ซึ่งเป็นภาษาเดียวเท่านั้นที่คอมพิวเตอร์เข้าใจโดยตรง ไม่ต้องมีการแปลภาษาแต่กลับเป็นภาษาที่ยากสำหรับมนุษย์ที่จะนำมาเขียนโปรแกรม จึงได้มีผู้คิดค้นภาษาที่มนุษย์จะใช้ติดต่อกับเครื่องได้ง่ายขึ้น จึงเกิดภาษาใหม่ ขึ้นมามากมาย สามารถแบ่งได้ดังนี้
- คำศัพท์ (Vocabulary หรือ Keyword) เป็นความจริงที่ว่าภาษาทุกภาษาจะต้องมีคำศัพท์ของตัวเอง คำศัพท์เป็นตัวแทนของความหมายแต่ละความหมาย แต่ละภาษาจึงต้องมีรายการคำศัพท์จำนวนมากรวบรวมไว้เป็นพจนานุกรม หรือ Dictionary ภาษาคอมพิวเตอร์ก็ทำนองเดียวกัน ผู้สร้างภาษาจะต้องสร้างคำศัพท์ในภาษาที่สร้างให้ครบถ้วนครอบคลุมที่จะใช้งานคำศัพท์เหล่านี้อาจอยู่ในรูปคำศัพท์เฉพาะ ในรูปของฟังก์ชัน (Function) หรือบางภาษาจะอยู่ในรูปของ Procedure ทั้ง Function และ Procedure ก็คือ โปรแกรมย่อยที่ผู้สร้างภาษาสร้างไว้และเก็บไว้ในคลังของคำสั่งในรูป ของไฟล์คำสั่ง ซึ่งอาจแบ่งเป็นกลุ่มหรือประเภทต่าง ๆ ตามความสะดวก และเหมาะสมในการใช้งาน แต่จะมีไฟล์หนึ่ง ที่เป็นคำสั่งพื้นฐานที่ใช้บ่อยก็มักจะกำหนดชื่อ ให้เป็นไฟล์มาตฐาน (Standard) เช่น ภาษา Pascal คำสั่ง Read, Readln คำสั่ง Write, Writeln ล้วนเป็นโปรแกรมย่อยในรูป Procedure ทั้งสิ้น และอยู่ในไฟล์มาตรฐานของภาษา Pascal ส่วนคำสั่ง Clrscr ก็เป็น Procedure อยู่ในไฟล์คำสั่งชื่อ Crt เป็นต้น สำหรับภาษาซี คำสั่งต่าง ๆ ถือว่าเป็นฟังก์ชันทั้งหมด เช่น คำสั่ง scanf() , printf() เป็นฟังก์ชัน ที่กำหนดส่วนหัว ของฟังก์ชันไว้ในไฟล์เฮดเดอร์ (ไฟล์เก็บส่วนหัว) ขื่อ stdio.h ในการใช้คำสั่ง จึงต้องมีการเปิด หรือเรียก หรืออ้างถึงก่อน ในภาษาซีใช้ประโยค # include <stdio.h> ส่วนคำสั่ง clrscr() ซึ่งเป็นฟังก์ชันลบจอ ส่วนหัวจะอยู่ในเฮดเดอร์ไฟล์ ชื่อ conio.h จึงอ้างถึงด้วยประโยค # include <conio.h> หลังจากนั้นส่วนหัวก็จะส่งผ่านไปยัง คลังคำสั่งเพื่อเชื่อมโยงกับส่วนตัวของฟังก์ชัน เป็นต้น
- ไวยากรณ์ (Syntax) หมายความว่าการนำคำศัพท์มาใช้เขียนคำสั่ง: จะอยู่ในรูปของประโยคคำสั่ง (Statements) จึงต้องมีรูปแบบไวยากรณ์ซึ่งผู้สร้างภาษาจะต้องกำหนดรูปแบบไวยากรณ์ของภาษานั้น ซึ่งจะศึกษาได้จากคู่มือ ของแต่ละภาษา
- โครงสร้างภาษา (Structure) หมายถึงเมื่อนำภาษาไปเขียนโปรแกรม รูปแบบหรือโครงสร้างของโปรแกรมเป็นอย่างไร เช่น โครงสร้างของโปรแกรมที่เขียนด้วยภาษาซี กับภาษาปาสคาลก็จะไม่เหมือนกัน ถึงแม้จะมีส่วนที่คล้ายคลึงกันก็ตาม
- ตัวแปลภาษา (Translator) เมื่อภาษาถูกสร้างด้วยสัญลักษณ์เต็ม รูปแบบเพื่อง่าย และสะดวกรวดเร็วต่อการใช้เขียนโปรแกรม แต่คอมพิวเตอร์ไม่ได้เข้าใจด้วยจึงเป็นความจำเป็นที่ผู้สร้างภาษาจะต้องสร้างซอฟต์แวร์เพื่อแปลหรือแปลงภาษาระดับสูงให้กลับเป็นภาษาเครื่องเพื่อใช้เป็นซอฟต์แวร์ ควบคุมการทำงานประมวลผลได้
การแปลภาษามีหลายลักษณะ สามารถแบ่งตัวแปลภาษาตามลักษณะการแปลได้ 3 แบบ
- ภาษา BASIC เป็นภาษาที่ใช้งานง่าย เหมาะสำหรับผู้เริ่มต้นศึกษา การเขียนโปรแกรม BASIC เป็นตัวย่อมาจากตัวเต็มว่า Beginners All-purpose Symbolic Instruction Code ภาษารุ่นแรกจะแปลแบบ Interpreter ทำงานช้า และไม่เหมาะกับงานเชิงธุรกิจ ปัจจุบันจะมีรุ่นใหม่ ใช้การแปลแบบ Compiler ทำงานได้ดีและคล่องตัว ได้แก่ Microsofts Quick BASIC และ Visual BASIC เป็นต้น
- ภาษา COBOL เป็นภาษาที่สร้างมานานตั้งแต่ปี ค.ศ. 1960 เหมาะกับงาน ด้านธุรกิจ คำสั่งในภาษานี้จะคล้ายภาษาอังกฤษทำให้อ่าน และเขียนได้ง่าย ยุคแรก ๆ ใช้กับเครื่องเมนเฟรม ปัจจุบันจะมีรุ่นที่ใช้กับเครื่องไมโครคอมพิวเตอร์ และมีรุ่นที่สนับสนุนการเขียนโปรแกรมในแนว เชิงวัตถุ (Object Oriented Paradigm) เรียกว่า Visual COBOL ด้วย
- ภาษา Pascal เป็นภาษาที่เอื้ออำนวยช่วยให้เขียนโปรแกรมตามแนว โครงสร้างง่ายต่อการเขียนโปรแกรม นิยมใช้บนเครื่องไมโครคอมพิวเตอร์เป็นภาษาที่เหมาะกับการเรียนการสอน และเขียนโปรแกรมประยุกต์เป็นภาษาที่มีตัวแปลทั้ง Interpreter และ Compiler ปัจจุบันรุ่น Turbo Pascal จะได้รับความนิยมสูงทั้งในการเรียนการสอน และการใช้งานเพราะมีข้อดีกว่ารุ่นแรก ๆ
- ภาษา C เป็นภาษาที่ได้รับความนิยมในหมู่นักเขียนโปรแกรมมีข้อดี คือ ม๊ความยืดหยุ่น และมีไวยากรณ์ที่เข้าใจได้ง่าย มีประสิทธิภาพ และความ เร็วในการทำงาน การพัฒนาโปรแกรมทำได้ง่ายเทียบเท่ากับภาษาอื่น ปัจจุบันมีรุ่น C++ เป็นรุ่นที่สามารถเขียนโปรแกรมเชิงวัตถุ (Object Oriented Programming)
แนวทางการเขียนโปรแกรมเป็นเรื่องที่สำคัญอีกเรื่องหนึ่งควรจะต้อง ทำความเข้าในบทนี้ก่อนที่จะไปศึกษารายละเอียดในบทต่าง ๆ ต่อไป เพราะโดยชื่อหัวข้อก็บอกถึงความสำคัญอยู่ในตัวคำว่าแนวทางก็คือหนทางที่จะเดินไปสู่ จุดมุ่งหมายที่มุ่งหวังด้วยความราบรื่น รวดเร็ว และปลอดภัย แต่ถ้าเป็นแนวทางไม่ดี ไม่เหมาะสม ก็อาจจะพบอุปสรรคหรือปัญหาทำให้ต้องเสียเวลา ล่าช้า ถ้าการเดินทางมีทางให้เลือกหลายทาง แน่นอนที่สุดเราต้องเลือกเดินทางในเส้นทางที่เหมาะที่สุด ทั้งรวดเร็วปลอดภัย รวมทั้งผลดีอื่น ๆ ที่จะได้รับการพัฒนาโปรแกรมก็เช่นเดียวกัน เราคงต้องการได้แนวทาง การพัฒนาที่ให้ประโยชน์สูงสุด การพัฒนาโปรแกรมในปัจจุบัน มีแนวทางอยู่ 2 แนวทาง คือ การเขียนโปรแกรมเชิงโครงสร้าง (Structured Paradigm หรือ Function Oreinted Paradigm) และการเขียนโปรแกรม เชิงวัตถุ (Object Oriented Paradigm) ซึ่งทั้งสองมีแนวทางที่แตกต่างกัน เหมือนการ เดินทางที่มีทางให้เลือกดังกล่าว
เปรียบเทียบวงจรชีวิตของซอฟต์แวร์ที่พัฒนาตามแนว Structured Paradigm กับ Ojbect-oriented Paradigm
Structured Paradigm | Object-Oriented Paradigm |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ศึกษาเนื้อหาโดยละเอียดได้จากหนังสือเสริม ....
|