ใน บรรดาซอฟต์แวร์หรือโปรแกรมคอมพิวเตอร์ที่มีผู้พัฒนาขึ้นเพื่อใช้งานกับ คอมพิวเตอร์มีมากมาย ซอฟต์แวร์เหล่านี้อาจได้รับการพัฒนาโดยผู้ใช้งานเอง หรือผู้พัฒนาระบบ หรือผู้ผลิตจำหน่าย หากแบ่งแยกชนิดของซอฟต์แวร์ตามสภาพการทำงาน โดยทั่วไปแล้วซอฟต์แวร์แบ่งได้ 3 ประเภทใหญ่ๆ คือ ซอฟต์แวร์ระบบ (System Software) ซอฟต์แวร์ประยุกต์ (Application Software) โดยมีรายละเอียดของซอฟต์แวร์แต่ละประเภทดังนี้
1. ซอฟต์แวร์ระบบ (System Software)
ซอฟท์แวร์ ระบบเป็นโปรแกรมที่บริษัทผู้ผลิตสร้างขึ้นมาเพื่อใช้จัดการกับระบบ หน้าที่การทำงานของซอฟต์แวร์ระบบ คือ ดำเนินงานพื้นฐานต่าง ๆ ของระบบคอมพิวเตอร์ เช่น รับข้อมูลจากแผงแป้นอักขระแล้วแปลความหมายให้คอมพิวเตอร์เข้าใจ นำข้อมูลไปแสดงผลบนจอภาพหรือนำออกไปยังเครื่องพิมพ์ จัดการข้อมูลในระบบแฟ้มข้อมูลบนหน่วยความจำรอง
เมื่อ เราเปิดเครื่องคอมพิวเตอร์ ทันทีที่มีการจ่ายกระแสไฟฟ้าให้กับคอมพิวเตอร์ คอมพิวเตอร์จะทำงานตามโปรแกรมทันที โปรแกรมแรกที่สั่งคอมพิวเตอร์ทำงานนี้เป็นซอฟต์แวร์ระบบ ซอฟต์แวร์ระบบอาจเก็บไว้ในรอม หรือในแผ่นจานแม่เหล็ก หากไม่มีซอฟต์แวร์ระบบ คอมพิวเตอร์จะทำงานไม่ได้ นอกจากนี้ซอฟต์แวร์ระบบยังใช้เป็นเครื่องมือในการพัฒนาซอฟต์แวร์อื่น ๆ และยังรวมไปถึงซอฟต์แวร์ที่ใช้ในการแปลภาษาต่าง ๆ
ซอฟท์แวร์ระบบจึงทำหน้าที่เป็นตัวกลางเชื่อมต่อระหว่างฮาร์ดแวร์และโปรแกรมประยุกต์ ใช้ในการควบคุมดูแลการทำงานทั้งหมดของระบบคอมพิวเตอร์ ขณะ ที่เรากำลังใช้โปรแกรมประยุกต์อยู่ซอฟต์แวร์ระบบจะควบคุมการทำงานของอุปกรณ์ คอมพิวเตอร์ทั้งหมดอย่างต่อเนื่อง ซึ่งซอฟท์แวร์ระบบมีลักษณะแตกต่างกันดังนี้
1.1 ระบบปฏิบัติการ (Operating Software หรือ OS) เป็นซอฟต์แวร์ที่ควบคุมกิจกรรม
1.1 ระบบปฏิบัติการ (Operating Software หรือ OS) เป็นซอฟต์แวร์ที่ควบคุมกิจกรรม
ทั้งหมดของคอมพิวเตอร์ เพื่อให้มั่นใจว่าอุปกรณ์ที่เป็นฮาร์ดแวร์ทุกส่วนของระบบคอมพิวเตอร์ทำงานร่วมกันได้อย่างราบรื่นและมีประสิทธิภาพซอฟท์แวร์ระบบปฏิบัติการใช้ในการบริหารจัดการข้อมูลและทำแฟ้มข้อมูลภายในเครื่องคอมพิวเตอร์ เช่น การสำเนาข้อมูล (copy) การเรียงลำดับ (sort) การลบ (delete) และอื่น ๆ นอกจากนั้นยังใช้ในการดำเนินงานของโปรแกรมประยุกต์ด้วย โปรแกรมที่พัฒนาจากระบบปฏิบัติการที่ต่างกันจะนำมาใช้ร่วมกันไม่ได้
ระบบปฏิบัติการที่นิยมใช้มากที่สุดในขณะนี้ คือ
1) ระบบปฏิบัติการดอส(DOS) 2) ระบบ ปฏิบัติการแบบวินโดวส์
3) ระบบปฏิบัติการยูนิกส์ (UNIX) 4) ระบบปฏิบัติการแมค (MAC OS) 1.2 ตัวแปลภาษาในการพัฒนาซอฟต์แวร์จำเป็นต้องมีซอฟต์แวร์ที่ใช้ในการแปลภาษาระดับสูง เพื่อแปลภาษาระดับสูงให้เป็นภาษาเครื่อง ภาษาระดับสูงมีหลายภาษา ภาษาระดับสูงเหล่านี้สร้างขึ้นเพื่อให้ผู้เขียนโปรแกรมเขียนชุดคำสั่งได้ง่าย เข้าใจได้ ตลอดจนถึงสามารถปรับปรุงแก้ไขซอฟต์แวร์ในภายหลังได้
ภาษาระดับสูงที่พัฒนาขึ้นมาทุกภาษาจะต้องมีตัวแปลภาษาสำหรับแปลภาษา ภาษาระดับสูงซึ่งเป็นที่รู้จักและนิยมกันมากในปัจจุบัน เช่น ภาษาปาสคาล ภาษาเบสิก ภาษาซี และภาษาโลโก 1) ภาษาปาสคาล เป็นภาษาสั่งงานคอมพิวเตอร์ที่มีรูปแบบเป็นโครงสร้าง เขียน
สั่งงานคอมพิวเตอร์เป็นกระบวนความ ผู้เขียนสามารถแบ่งแยกงานออกเป็นชิ้นเล็ก ๆ แล้วมารวมกันเป็นโปรแกรมขนาดใหญ่ได้
2) ภาษาเบสิก เป็นภาษาที่มีรูปแบบคำสั่งไม่ยุ่งยาก สามารถเรียนรู้และเข้าใจได้ง่ายมีรูปแบบคำสั่งพื้นฐานที่สามารถนำมาเขียนเรียงต่อกันเป็นโปรแกรมได้ 3) ภาษาซี เป็นภาษาที่เหมาะสำหรับใช้ในการพัฒนาซอฟต์แวร์อื่น ๆ ภาษาซีเป็นภาษาที่มีโครงสร้างคล่องตัวสำหรับการเขียนโปรแกรมหรือให้คอมพิวเตอร์ติดต่อกับอุปกรณ์ต่าง ๆ
4) ภาษาโลโก เป็นภาษาที่เหมาะสำหรับการเรียนรู้และเข้าใจหลักการโปรแกรมภาษาโลโกได้รับการพัฒนาสำหรับเด็ก นอกจากภาษาที่กล่าวถึงแล้ว ยังมีภาษาคอมพิวเตอร์ที่ใช้กันอยู่ในปัจจุบันอีกมากมายหลายภาษา เช่น ภาษาฟอร์แทรน ภาษาโคบอล ภาษาอาร์พีจี
2. ซอฟต์แวร์ประยุกต์ (Application Software) ซอฟต์แวร์ประยุกต์เป็นโปรแกรมที่ออกแบบมาเพื่อการใช้งานเฉพาะเรื่องตามที่เราต้องการ เช่น งานพิมพ์เอกสาร งานพิมพ์รายงาน วาดภาพ เล่นเกม หรือโปรแกรมระบบบัญชี รายรับรายจ่าย และเงินเดือน โปรแกรมอินเทอร์เน็ตเอ็กซ์พลอเรอร์ ใช้เพื่อการสืบค้นข้อมูลและเชื่อมโยง กับระบบอินเทอร์เน็ตก็ได้ เน้นการใช้งานสะดวก
2.1 ซอฟต์แวร์สำเร็จ ในบรรดาซอฟต์แวร์ประยุกต์ที่มีใช้กันทั่วไป ซอฟต์แวร์สำเร็จ (package) เป็นซอฟต์แวร์ที่มีความนิยมใช้กันสูงมาก ซอฟต์แวร์สำเร็จเป็นซอฟต์แวร์ที่บริษัทพัฒนาขึ้น แล้วนำออกมาจำหน่าย เพื่อให้ผู้ใช้งานซื้อไปใช้ได้โดยตรง ไม่ต้องเสียเวลาในการพัฒนาซอฟต์แวร์อีก
2.2 ซอฟต์แวร์ใช้งานเฉพาะ เป็นโปรแกรมที่ทำหน้าที่ช่วยในการทำงานของระบบคอมพิวเตอร์ในหน้าที่เฉพาะด้านบางอย่าง เช่น การตรวจหาและกำจัดไวรัสคอมพิวเตอร์ การจัด เรียงข้อมูลในฮาร์ดดิสก์ เป็นต้น
การประยุกต์ใช้งานด้วยซอฟต์แวร์สำเร็จมักจะเน้นการใช้งานทั่วไป แต่อาจจะนำมาประยุกต์โดยตรงกับงานทางธุรกิจบางอย่างไม่ได้ เช่นในกิจการธนาคาร มีการฝากถอนเงิน งานทางด้านบัญชี หรือในห้างสรรพสินค้าก็มีงานการขายสินค้า การออกใบเสร็จรับเงิน การควบคุมสินค้าคงคลัง ดังนั้นจึงต้องมีการพัฒนาซอฟต์แวร์ใช้งานเฉพาะสำหรับงานแต่ละประเภท ให้ตรงกับความต้องการของผู้ใช้แต่ละราย ซอฟต์แวร์ใช้งานเฉพาะมักเป็นซอฟต์แวร์ที่ผู้พัฒนาต้องเข้าไปศึกษารูปแบบการทำงานหรือความต้องการของธุรกิจนั้น ๆ แล้วจัดทำขึ้น โดยทั่วไปจะเป็นซอฟต์แวร์ที่มีหลายส่วนรวมกันเพื่อร่วมกันทำงาน ซอฟต์แวร์ใช้งานเฉพาะที่ใช้กันในทางธุรกิจ เช่น ระบบงานทางด้านบัญชี ระบบงานจัดจำหน่าย ระบบงานในโรงงานอุตสาหกรรม บริหารการเงิน และการเช่าซื้อ ความต้องการของการใช้คอมพิวเตอร์ในงานทางธุรกิจยังมีอีกมาก ดังนั้นจึงต้องมีความต้องการผู้พัฒนาซอฟต์แวร์เพื่อพัฒนาซอฟต์แวร์ใช้งานเฉพาะต่าง ๆ อีกมากมาย