วิศวกรรมซอฟต์แวร์

วิศวกรรมซอฟต์แวร์

วิศวกรรมซอฟต์แวร์ คือ การประยุกต์ใช้ระบบ กฎเกณฑ์ การเข้าถึงซึ่งสามารถวัดประเมินได้ในการพัฒนา การปฏิบัติการ และการบำรุงรักษาซอฟต์แวร์ และในการศึกษาสิ่งเหล่านี้ ก็คือการประยุกต์ใช้งานทางด้านวิศวกรรมมาจัดการกับซอฟต์แวร์ มหาวิทยาลัยในประเทศไทยที่เปิดสอนหลักสูตรวิศวกรรมซอฟต์แวร์เป็นแห่งแรก คือ ภาควิชาวิศวกรรมคอมพิวเตอร์ คณะวิศวกรรมศาสตร์ จุฬาลงกรณ์มหาวิทยาลัย
ข้อตกลงทางวิศวกรรมซอฟต์แวร์ ปรากฏขึ้นครั้งแรกในการประชุมวิศวกรรมซอฟต์แวร์นาโต ที่จัดขึ้นในปี ค.ศ. 1968 และได้ให้ความสำคัญกับเหตุการณ์ "วิกฤติการณ์ซอฟต์แวร์" ในขณะนั้น ตั้งแต่นั้นเป็นต้นมา วิศวกรรมซอฟต์แวร์ก็ได้กลายมาเป็นศาสตร์และแขนงของการศึกษาเฉพาะ ในการสร้างซอฟต์แวร์ที่มีคุณภาพสูงขึ้น มีราคาถูกลงเป็นที่ยอมรับได้ ดูแลรักษาได้ง่าย และพัฒนาได้อย่างรวดเร็วขึ้น ตั้งแต่นั้นก็ยังคงมีการเปรียบเทียบวิศวกรรมซอฟต์แวร์กับวิศวกรรมแขนงอื่น ยังคงมีการถกเถียงกันว่าวิศวกรรมซอฟต์แวร์ที่แท้จริงคืออะไร และวิศวกรรมซอฟต์แวร์สมควรเป็นหนึ่งในสาขาวิศวกรรมหรือไม่ วิศวกรรมซอฟต์แวร์ได้ขยายวงกว้างอย่างไร้ขีดจำกัดไปยังผู้ที่มีส่วนเกี่ยวข้องกับซอฟต์แวร์ เช่น โปรแกรมเมอร์ การพัฒนาซอฟต์แวร์ในบางครั้งข้อตกลงอาจขึ้นอยู่กับผู้ที่มีส่วนสำคัญในอุตสาหกรรมซอฟต์แวร์ในการเปลี่ยนแปลงกระบวนการสร้างซอฟต์แวร์ แต่กระนั้นวิศวกรรมซอฟต์แวร์ก็ยังเป็นที่ใฝ่ฝันของวัยรุ่นในการประกอบอาชีพ ในนิตยสาร Money Magazine ได้กล่าวว่า อาชีพในแขนงวิศวกรรมซอฟต์แวร์มีแนวโน้มอนาคตที่สดใส และในเว็บไซต์ Salary.com ได้กล่าวว่าอัตราเงินเดือนในอาชีพวิศวกรรมซอฟต์แวร์มีอัตราสูงที่สุดในประเทศสหรัฐอเมริกาในปี ค.ศ. 2006

วิชาชีพ

ในบางสาขาอาชีพ ยกตัวอย่างเช่น ในรัฐออนตาริโอ ประเทศแคนาดา ใบอนุญาตของวิศวกรทางด้านซอฟต์แวร์ ในหลาย ๆ พื้นที่ในโลก ไม่มีกฎหมายควบคุมอาชีพวิศวกรทางด้านซอฟต์แวร์ แต่มีข้อกำหนดบางอย่างจาก สถาบันวิศวกรไฟฟ้าและอิเลคโทรนิค (Institute of Electrical and Electronics Engineers: IEEE) และสมาคมคอมพิวเตอร์ (ACM) ซึ่งเป็นองค์กรหลักในด้านวิศวกรรมซอฟต์แวร์ ใน IEEE ได้กำหนดแนวทางไว้ในองค์ความรู้ด้านวิศวกรรมซอฟต์แวร์เมื่อปี ๒๕๔๗ ได้กำหนดแนวทางและกำหนดกรอบความรู้ที่วิศวกรด้านซอฟต์แวร์ควรรู้ และยังกำหนดจรรยาบรรณของวิศวกรซอฟต์แวร์ และนอกจากนี้ IEEE ยังมีการตีพิมพ์พจนานุกรมว่าด้วยวิศวกรรมซอฟต์แวร์และวิศวกรรมระบบ

ผลกระทบของโลกาภิวัตน์

นักศึกษาหลายคนในประเทศที่พัฒนาแล้ว มีความกลัวและได้หลีกเลี่ยงที่จะมีวุฒิการศึกษาระดับปริญญาเกี่ยวข้องกับวิศวกรรมซอฟต์แวร์เนื่องจากเกิดความกลัวเรื่องการจ้างงานจากภายนอกประเทศ offshore outsourcing (การนำเข้าผลิตภัณฑ์ซอฟต์แวร์หรือบริการจากต่างประเทศ) และการย้ายที่อยู่ การต้องเดินทางไปทำงานต่างชาติ ทั้ง ๆ ที่รัฐบาล ไม่ได้แสดงสถิติการคุกคามถึงวิศวกรรมซอฟต์แวร์ อาชีพที่เกี่ยวข้อง กระบวนการเขียนโปรแกรมทางคอมพิวเตอร์ ดูเหมือนว่าจะไม่ปรากฏให้เห็น บ่อยครั้งมีจำนวนหนึ่งคาดว่าจะเริ่มต้นเป็นโปรแกรมเมอร์คอมพิวเตอร์ก่อนที่จะมีการ เลื่อนขั้นให้เป็นวิศวกรซอฟต์แวร์ดังนั้น อาชีพทางวิศวกรรมซอฟต์แวร์มีความยากลำบาก โดยเฉพาะอย่างยิ่ง ในระหว่างช่วงที่เศรษฐกิจตกต่ำ
บางครั้งที่ปรึกษามักแนะนำนักศึกษาให้สนใจในเรื่องของ "ทักษะบุคคล" และทักษะองค์กร มากกว่าทักษะด้านเทคนิคเพียงอย่างเดียว เพราะ "ทักษะเบื้องต้น" นี้ จะถูกนำไปใช้มากกว่าทักษะในระดับที่ยากมากขึ้น มันมีมุมมองด้านวิศวกรรมซอฟต์แวร์ ดูเหมือนจะเริ่มต้นการจำกัดโดยโลกาภิวัฒน์มากยิ่งขึ้น

การศึกษา

ความรู้ทางด้านการเขียนโปรแกรมคอมพิวเตอร์เป็นความรู้พื้นฐานสำหรับอาชีพของวิศวกรซอฟต์แวร์ แต่เท่านั้นยังไม่เพียงพอ ส่วนใหญ่วิศวกรซอฟต์แวร์มีวุฒิการศึกษาในสาขาวิทยาการคอมพิวเตอร์ เนื่องจากอดีตยังไม่ค่อยมีหลักสูตรการเรียนการสอนระดับอุดมศึกษาในสาขาวิศวกรรมซอฟต์แวร์ อย่างไรก็ตามได้มีการเริ่มมีหลักสูตรสาขาวิศวกรรมซอฟต์แวร์ เปิดสอนมากขึ้น โดยเฉพาะอย่างยิ่งระดับปริญญาโทและปริญญาเอก ในช่วงปี ค.ศ. 2001-2004 ได้คณะวิชาการกลุ่มหนึ่งได้พัฒนาหลักสูตรต้นแบบ (อังกฤษ: Model Curriculum) สำหรับวิศวกรรมซอฟต์แวร์ระดับปริญญาตรี เรียกว่า SE2004 เพื่อให้เป็นมาตรฐานสากล การพัฒนาหลักสูตรต้นแบบดังกล่าวได้รับการสนับสนุนจากสมาคม ACM และสมาคมคอมพิวเตอร์แห่ง IEEE
ในปี ค.ศ. 1998 มหาวิทยาลัยบัณฑิตศึกษาแห่งนาวาล (Naval Postgraduate School) ในสหรัฐอเมริกา ได้ริเริ่มหลักสูตรปริญญาเอกสาขาวิศวกรรมซอฟต์แวร์เป็นครั้งแรกในโลก Steve McConnell ได้ให้ความเห็นว่า เป็นเพราะมหาวิทยาลัยส่วนใหญ่มีการเรียนการสอนวิทยาการคอมพิวเตอร์มากกว่าวิศวกรรมซอฟต์แวร์ จึงทำให้ขาดแคลนวิศวกรซอฟต์แวร์ที่แท้จริง ในปี ค.ศ. 2004 สมาคมคอมพิวเตอร์แห่ง IEEE ได้พัฒนา องค์ความรู้ สำหรับสาขาวิศวกรรมซอฟต์แวร์ หรือเรียกว่า Software Engineering Body of Knowledge จนได้รับการรับรองมาตรฐานสากล ISO (ISO/IEC TR 19759:2005) 
European Commission ภายในโปรแกรม Erasmus Mundus สำหรับนักศึกษาจากยุโรป และประเทศอื่น ๆ. นี่เป็นการร่วมกันของ4มหาวิทยาลัยในยุโรป