วิศวกรรมซอฟแวร์ ( Software Engineering ) เป็นศาสตร์เกี่ยวกับวิศวกรรมด้านซอฟต์แวร์ มีเนื้อหาเกี่ยวข้องกับการใช้กระบวนการทางวิศวกรรมในการดูแลการผลิต แบ่งสาขาย่อยออกเป็น 10 สาขาย่อยดังนี้
- การวิเคราะห์ความต้องการของซอฟต์แวร์: การศึกษาวิเคราะห์ข้อกำหนดและข้อกำหนดสำหรับการตรวจสอบความถูกต้องของซอฟต์แวร์
2. การออกแบบซอฟต์แวร์: การออกแบบซอฟต์แวร์มักใช้เครื่องมือช่วยในการออกแบบ Computer-Aided Software Engineering (CASE) และใช้การออกแบบที่เป็นมาตรฐานที่เป็นที่ยอมรับโดยทั่วไป
3. การพัฒนาซอฟต์แวร์: การพัฒนาซอฟต์แวร์ด้วยภาษาการเขียนโปรแกรมคอมพิวเตอร์ต่าง ๆ
4. การทดสอบซอฟต์แวร์: การทดสอบการทำงานของซอฟต์แวร์
5. การบำรุง รักษาซอฟต์แวร์: ระบบซอฟต์แวร์ต่าง ๆ มักมีปัญหาหลาย ๆ อย่าง หลังจากพัฒนาเสร็จแล้วยังจำเป็นต้องมีการเพิ่มเติมเรื่อย ๆ เป็นเวลาอีกยาวนาน
6. การจัดการการตั้งค่าซอฟต์แวร์: เนื่องจากซอฟต์แวร์เป็นระบบที่มีคววมซับซ้อนสูง การกำหนดค่า (เช่นการควบคุมเวอร์ชันและการควบคุมซอร์ซโค๊ด) ต้องได้รับการจัดการตามมาตรฐานและกรรมวิธีที่ถูกต้อง
7. การจัดการวิศวกรรมซอฟต์แวร์: การบริหารจัดการระบบซอฟต์แวร์เรียนแบบมาจากการบริหารโครงการ แต่มีข้อแตกต่างกันเล็กน้อย ซึ่งจะพบแค่ในสาขาของซอฟต์แวร์
8. กระบวนการพัฒนาซอฟต์แวร์: กระบวนการพัฒนาซอฟต์แวร์เป็นหัวข้อที่มีผู้พูดถึงเป็นอย่างมาก
9. คุณภาพซอฟต์แวร์: การควบคุมคุณภาพซอฟต์แวร์ และการประกันคุณภาพให้กับการพัฒนาซอฟต์แวร์
10. ซอฟต์แวร์ท้องถิ่น: เป็นหนึ่งสาขาของอุตสาหกรรมนี้ที่เกี่ยวกับภาษาท้องถิ่น
แหล่งที่มา