IEEE 1471 คืออะไร? มาตรฐานการอธิบายสถาปัตยกรรมซอฟต์แวร์
สรุปใจความสำคัญ
- IEEE 1471 เป็นมาตรฐานที่ถูกแทนที่ด้วย ISO/IEC/IEEE 42010 ในปี 2011
- เน้นแนวคิดการใช้ 'หลายมุมมอง' (Multi-view) เพื่อตอบสนองความต้องการของผู้มีส่วนได้ส่วนเสียที่แตกต่างกัน
- กำหนดความแตกต่างระหว่าง Viewpoint (แม่แบบ/เทคนิค) และ View (ผลลัพธ์ที่ได้จากการนำแม่แบบมาใช้กับระบบ)
IEEE 1471 หรือชื่อเต็มคือ ANSI/IEEE 1471-2000 Recommended Practice for Architecture Description of Software-Intensive Systems เป็นมาตรฐานที่ถูกสร้างขึ้นเพื่อกำหนดแนวทางปฏิบัติในการอธิบายสถาปัตยกรรมของระบบที่เน้นการทำงานของซอฟต์แวร์เป็นหลัก (Software-Intensive Systems) ซึ่งเป็นรากฐานสำคัญในการพัฒนาซอฟต์แวร์ขนาดใหญ่และซับซ้อนในปัจจุบัน
ภาพรวมของ IEEE 1471
ในอดีต การออกแบบสถาปัตยกรรมมักจะให้ความสำคัญกับด้านฮาร์ดแวร์มากกว่าซอฟต์แวร์ ทำให้ส่วนของซอฟต์แวร์มักถูกลดทอนความสำคัญลงเมื่อเผชิญกับความกดดันในการพัฒนา IEEE 1471 จึงถูกสร้างขึ้นเพื่อเปลี่ยนแนวคิดนี้ โดยให้ความสำคัญกับการคิดเชิงสถาปัตยกรรมสำหรับระบบที่ขับเคลื่อนด้วยซอฟต์แวร์
คุณประโยชน์หลักของ IEEE 1471
- การกำหนดนิยามและเมตาโมเดล: ให้คำจำกัดความและโครงสร้างพื้นฐานสำหรับการอธิบายสถาปัตยกรรม
- การตอบสนองต่อผู้มีส่วนได้ส่วนเสีย: ระบุว่าสถาปัตยกรรมควรตอบโจทย์ความกังวล (Concerns) ของผู้มีส่วนได้ส่วนเสีย (Stakeholders) ทุกกลุ่ม
- แนวคิดแบบหลายมุมมอง (Multi-view): ยืนยันว่าไม่มีมุมมองเดียวที่สามารถครอบคลุมความต้องการทั้งหมดได้ จึงจำเป็นต้องใช้หลายมุมมองในการอธิบาย
- มุมมอง (View) และจุดมอง (Viewpoint): กำหนดว่า Viewpoint คือข้อกำหนดของเทคนิคและวิธีการที่ใช้ ส่วน View คือผลลัพธ์ที่ได้จากการนำ Viewpoint มาประยุกต์ใช้กับระบบจริง
- การบันทึกเหตุผล (Architecture Rationale): ให้แนวทางในการบันทึกเหตุผลเบื้องหลังการตัดสินใจออกแบบ และการระบุจุดที่ไม่สอดคล้องกันในสถาปัตยกรรม
ประวัติและการพัฒนา
มาตรฐานนี้เริ่มต้นจากการจัดตั้งกลุ่มวางแผนสถาปัตยกรรม (APG) ในปี 1995 และกลุ่มทำงานด้านสถาปัตยกรรม (AWG) ในปี 1996 จนกระทั่งได้รับการอนุมัติเป็น IEEE Std 1471-2000 ในเดือนกันยายน ปี 2000
ต่อมาในปี 2006 ISO/IEC ได้รับมาตรฐานนี้เข้าเป็นส่วนหนึ่งของ ISO/IEC 42010 และในที่สุดในปี 2011 ทั้ง IEEE 1471 และ ISO/IEC 42010:2007 ได้ถูกแทนที่ด้วยมาตรฐานใหม่คือ ISO/IEC/IEEE 42010:2011 ซึ่งเป็นมาตรฐานสากลสำหรับการอธิบายสถาปัตยกรรมระบบและซอฟต์แวร์ในปัจจุบัน
วัตถุประสงค์ของการอธิบายสถาปัตยกรรม
ตามมาตรฐาน IEEE 1471 การจัดทำเอกสารอธิบายสถาปัตยกรรมมีวัตถุประสงค์เพื่อ:
- แสดงโครงสร้างของระบบและการวิวัฒนาการของระบบในอนาคต
- ใช้เป็นเครื่องมือสื่อสารระหว่างผู้มีส่วนได้ส่วนเสีย
- ใช้ในการประเมินและเปรียบเทียบสถาปัตยกรรมอย่างเป็นระบบ
- ช่วยในการวางแผน จัดการ และดำเนินการพัฒนาระบบ
- กำหนดลักษณะที่คงที่และหลักการสนับสนุนเพื่อเป็นแนวทางในการเปลี่ยนแปลงระบบ
- ตรวจสอบว่าการนำระบบไปใช้งานจริงสอดคล้องกับสถาปัตยกรรมที่ออกแบบไว้หรือไม่
คำศัพท์สำคัญที่ควรทราบ
| คำศัพท์ | ความหมาย |
|---|---|
| สถาปนิก (Architect) | บุคคล ทีม หรือองค์กรที่รับผิดชอบในการออกแบบสถาปัตยกรรมระบบ |
| สถาปัตยกรรม (Architecture) | การจัดองค์กรพื้นฐานของระบบ ซึ่งประกอบด้วยส่วนประกอบ ความสัมพันธ์ระหว่างกัน และหลักการที่นำทางในการออกแบบ |
| การอธิบายสถาปัตยกรรม (AD) | ชุดของผลผลิต (Products) ที่ใช้ในการบันทึกและจัดทำเอกสารสถาปัตยกรรม |
| ผู้มีส่วนได้ส่วนเสีย (Stakeholder) | บุคคลหรือกลุ่มคนที่มีส่วนเกี่ยวข้องหรือมีความกังวลเกี่ยวกับระบบ |
| มุมมอง (View) | การนำเสนอระบบทั้งหมดจากมุมมองของชุดความกังวลที่เกี่ยวข้อง |
คำถามที่พบบ่อย
IEEE 1471 แตกต่างจาก ISO/IEC/IEEE 42010 อย่างไร?
IEEE 1471 เป็นมาตรฐานเริ่มต้นที่เน้นระบบที่ใช้ซอฟต์แวร์เป็นหลัก ต่อมาได้ถูกพัฒนาและรวมเข้ากับมาตรฐานสากลจนกลายเป็น ISO/IEC/IEEE 42010 ซึ่งมีความครอบคลุมและเป็นมาตรฐานสากลมากขึ้น
ทำไมต้องมีหลายมุมมอง (Multi-view) ในการออกแบบสถาปัตยกรรม?
เพราะผู้มีส่วนได้ส่วนเสียแต่ละกลุ่ม (เช่น ผู้พัฒนา, ผู้ดูแลระบบ, ลูกค้า) มีความกังวลและต้องการข้อมูลที่แตกต่างกัน ไม่มีแผนผังเดียวที่สามารถตอบโจทย์ทุกคนได้
ใครคือผู้ที่ต้องรับผิดชอบในการสร้าง Architecture Description?
สถาปนิก (Architect) ซึ่งอาจเป็นบุคคลคนเดียว ทีมงาน หรือองค์กรที่ได้รับมอบหมายให้ดูแลการออกแบบโครงสร้างระบบ