หน่วยปฎิบัติการวิจัย
หน่วยปฏิบัติการวิจัยพัฒนาวิศวกรรมซอฟต์แวร์ (SWE)

 

บทนำ

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

swe-team

โครงการวิจัยในปัจจุบัน

ปัจจุบันหน่วยปฏิบัติการวิจัยพัฒนาวิศวกรรมซอฟต์แวร์ มีภารกิจเพื่อศึกษา วิจัยและพัฒนางาน 3 ด้านหลัก ได้แก่

1. การปรับปรุงกระบวนการพัฒนาซอฟต์แวร์ (Software Process Improvement: SPI)

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

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

โครงการที่อยู่ระหว่างดำเนินการ ได้แก่

  • โครงการพัฒนากระบวนการทำงานของเนคเทคสู่มาตรฐาน CMMI-DEV ML3 (เนคเทค และบริษัท ISEM จำกัด (SEI Partner))
  • โครงการศึกษาและวิเคราะห์เครื่องมือ Opensource ที่สนับสนุนกระบวนการพัฒนาซอฟต์แวร์ของเนคเทค
  • โครงการพัฒนาเครื่องมือสนับสนุนการประเมินประสิทธิภาพของการทดสอบตามหลักการ TMM (TMM-AAT) (เนคเทคและ CU)
  • โครงการวิจัยและพัฒนาการประยุกต์ Agile Model เพื่อเพิ่มประสิทธิภาพของกระบวนการตามหลักการ CMMI (เนคเทค และ TGGS)

2. สถาปัตยกรรมซอฟต์แวร์ (Software Architecture: SA)

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

  • การพัฒนาต้นแบบเพื่อต่อยอดผลงานวิจัยและผลิตภัณฑ์ซอฟต์แวร์ เช่น Mobile Camera Sign Translator, Web Citation Thailand ฯลฯ
  • การศึกษาวิจัยเทคโนโลยีและขั้นตอนวิธีขั้นสูง เพื่อสนับสนุนการพัฒนาซอฟต์แวร์ เช่น Agile Model, UML & Code Generator ฯลฯ
  • การพัฒนาต้นแบบเพื่อส่งเสริมการบูรณาการระบบ เช่น Enterprise Service bus (ESB), Data Cleansing Tool ฯลฯ
  • การถ่ายทอดองค์ความรู้ด้านสถาปัตยกรรมซอฟต์แวร์

โครงการที่อยู่ระหว่างดำเนินการ ได้แก่

  • โครงการศึกษาและพัฒนาเทคโนโลยีเพื่อส่งเสริมผลงานวิจัยและผลิตภัณฑ์ซอฟต์แวร์
  • โครงการสนับสนุนและให้บริการที่ปรึกษาด้าน IT ให้กับหน่วยงานภายในและภายนอก

3. การทดสอบและตรวจวัดคุณภาพซอฟต์แวร์ (Software Testing and Quality Measurement: STQM)

การทดสอบซอฟต์แวร์เป็นกิจกรรมหนึ่งที่สำคัญสำหรับการพัฒนาซอฟต์แวร์ การดำเนินการทดสอบจะต้องทำในทุกขั้นตอนของกระบวนการพัฒนา โดยเริ่มจากการสร้างแผนการทดสอบและกรณีทดสอบในขั้นตอนการออกแบบระบบ การทำ Unit Testing ในขั้นตอนการพัฒนา การทำ Integration และ System Testing ในขั้นตอนการทดสอบและติดตั้งระบบ จนถึงการทำ User Acceptance Test ซึ่งเป็นส่วนสุดท้ายก่อนที่จะส่งมอบซอฟต์แวร์ให้กับลูกค้า เพื่อทำให้มั่นใจว่าซอฟต์แวร์ที่ได้นั้นมีคุณภาพ ได้มาตรฐานและตรงกับความต้องการของลูกค้าอย่างแท้จริง ซึ่งการศึกษาวิจัยในด้านนี้ จะเน้นศึกษาถึงเทคนิควิธีในการตรวจสอบข้อผิดพลาดที่เหมาะสมกับการพัฒนาซอฟต์แวร์ในลักษณะต่างๆ การวัด performance ของระบบซอฟต์แวร์ การกำหนดขั้นตอนและเกณฑ์ในการทดสอบ และการพัฒนาขั้นตอนเพื่อการพัฒนาซอฟต์แวร์ พร้อมทั้งสร้างเครื่องมือและเทคนิคสำหรับการทดสอบซอฟต์แวร์ที่ง่ายต่อการใช้งาน ซึ่งจะทำให้ทีมผู้พัฒนาให้ความสำคัญกับคุณภาพของผลิตภัณฑ์ซอฟต์แวร์มากยิ่งขึ้น

ปัจจุบันทางหน่วยปฏิบัติการฯ ได้มีการศึกษาและวิจัยที่เกี่ยวข้องกับการทดสอบและตรวจวัดคุณภาพซอฟต์แวร์ในหลายด้าน ได้แก่

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

โครงการที่อยู่ระหว่างดำเนินการ ได้แก่

  • โครงการศึกษาวิจัยเพื่อการทดสอบและตรวจวัดคุณภาพซอฟต์แวร์
  • Performance Testing ระบบบันทึกบัญชีองค์กรปกครองส่วนท้องถิ่น

 


dr_chumphol

ดร.ชุมพล ครุฑแก้ว
ผู้เชี่ยวชาญ

ผู้อำนวยการฝ่ายหน่วยปฏิบัติการวิจัยพัฒนาวิศวกรรมซอฟต์แวร์
E-Mail : chumphol Dot krootkaew At nectec Dot or Dot th