Tag Archives: วิศวกรรมซอฟต์แวร์
การพัฒนาระบบและซอฟต์แวร์ในการใช้งานในด้านต่างๆ
การผลิตผลิตภัณฑ์ที่จะต้องใช้วิธีการพัฒนาทางวิศวกรรม ไม่ว่าจะเป็นรถยนต์ซึ่งเป็นวิศวกรรมเครื่องกล เครื่องโทรทัศน์ซึ่งเป็นวิศวกรรไฟฟ้า ตลอดไปจนถึงงานการก่อสร้างสะพานหรืออาคารสูงซึ่งเป็นวิศวกรรมโยธา ล้วนต้องมีกระบวนการหรือขั้นตอนพัฒนาและบำรุงรักษาที่ประกอบด้วยวิธีการต่าง ๆ มากมาย ในงานพัฒนาระบบซอฟต์แวร์ขนาดใหญ่ก็เช่นเดียวกัน จำเป็นต้องมีกระบวนการเชิงวิศวกรรมที่เรียกว่า วิศวกรรมซอฟต์แวร์ ในการพัฒนาและบำรุงรักษาซอฟต์แวร์อย่างเป็นขั้นตอน เพื่อให้งานสำเร็จลุล่วงตามเวลาและบรรลุเป้าหมายที่ต้องการ การพัฒนาระบบซอฟต์แวร์ขนาดใหญ่ ๆ เช่น ระบบสินค้าคงคลังในงานธุรกิจ ระบบการลงทะเบียนเรียนในมหาวิทยาลัย หรือระบบบัญชีลูกหนี้เจ้าหนี้ของบริษัทร้านค้า นับเป็นงานที่ค่อนข้างซับซ้อน มีขอบเขตเกิดกว่าที่สมองของมนุษย์จะจดจำได้อย่างครบถ้วนไม่ใช่งานเล็ก ๆ หรือโปรแกรมเล็กๆ สำหรับผู้พัฒนาเพียงคนเดียว จำเป็นต้องอาศัยผู้ร่วมพัฒนาหลายคนทำงานร่วมกันในช่วงเวลาที่ยาวพอสมควร เพราะในระหว่างการพัฒนาอาจมีปัญหาอุปสรรคเกิดขึ้ได้เสมอ เช่น เป้าหมายของระบบอาจมีการปรับเปลี่ยนให้เหมาะสมขึ้น หรือ ปัญหาด้านบุคลากรที่ร่วมโครงการอาจมีการสับเปลี่ยนเนื่องจากการเปลี่ยนตำแหน่ง หรือ ย้ายงานใหม่ เป็นต้น วิศวกรรมซอฟต์แวร์ ไม่ใช่เป็นเรื่องที่เกี่ยวข้องเฉพาะกับปัญหาเทคนิคของกระบวนการพัฒนาเท่านั้น ยังจะรวมไปถึงปัญหาด้านบุคลากรและการควบคุมติดตามโครงการ ซึ่งในที่นี้จะกล่าวเฉพาะกระบวนการพัฒนาซอฟต์แวร์ และระบบซอฟต์แวร์ที่มีการหมุนเวียนใช้งานเป็นวัฎจักรซอฟต์แวร์ ซอฟต์แวร์ที่พัฒนามาแล้ว จะเข้าสู่วัฎจักรของการนำไปใช้งานแล้วนำมาปรับปรุงแก้ไข และย้อนกลับนำมาใช้งานใหม่ ตลอดระยะเวลาการใช้งานซอฟต์แวร์นั้น จนกว่าจะมีซอฟต์แวร์ใหม่มาแทนที่ ผลิตภัณฑ์อุตสาหกรรมต่าง ๆ มีวัฎจักรเช่นเดียวกัน เพียงแต่ว่า วัฎจักรของผลิตภัณฑ์ ไม่ใช่การปรับปรุงแก้ไข แต่จะเป็นการซ่อมบำรุงให้ใช้งานต่อไปได้ ซอฟต์แวร์ต่างกับผลิตภัณฑ์ตรงที่ไม่มีส่วนสึกหรอ การปรับปรุงแก้ไขซอฟต์แวร์ อาจเกิดขึ้นจากข้อผิดพลาดของซอฟต์แวร์ ที่ยังหลงค้างอยู่ หรือจากข้อกำหนดของเงื่อนไขภายในซอฟต์แวร์ที่มีการเปลี่ยนแปลง เช่น […]