แม่แบบบันทึกการตัดสินใจด้านสถาปัตยกรรม (ADR)
นี่คือแม่แบบสำหรับ ADR ของ EdgeX Foundry
แหล่งที่มา: https://docs.edgexfoundry.org/2.3/design/adr/template/
ผู้เสนอ
ระบุรายชื่อผู้เสนอ ADR
รูปแบบ:
- ชื่อ (องค์กร)
บันทึกการเปลี่ยนแปลง
ระบุการเปลี่ยนแปลงของเอกสาร รวมถึงสถานะ วันที่ และ URL ของ pull request
สถานะเป็นหนึ่งใน: pending, approved, amended, deprecated
วันที่เป็นสตริง ISO 8601 (YYYY-MM-DD)
PR คือ pull request ที่ส่งการเปลี่ยนแปลง และมีข้อมูลเช่น diff ผู้มีส่วนร่วม และผู้ทบทวน
รูปแบบ:
- [สถานะของ ADR เช่น approved, amended ฯลฯ](URL ของ pull request) YYYY-MM-DD
กรณีใช้งานที่อ้างอิง
ระบุเอกสารกรณีใช้งาน / ข้อกำหนดที่เกี่ยวข้องทั้งหมด
ADR ต้องมีกรณีใช้งานที่เกี่ยวข้องและได้รับอนุมัติอย่างน้อยหนึ่งรายการ
รูปแบบ:
- [ชื่อกรณีใช้งาน](URL)
เพิ่มคำอธิบายหาก ADR ไม่ครอบคลุมข้อกำหนดทั้งหมดของกรณีใช้งาน
บริบท
อธิบาย:
ทำไมการออกแบบจึงมีนัยสำคัญด้านสถาปัตยกรรม - ทำไมจึงต้องมี ADR (แทนที่จะเป็นเพียง issue และ PR เพื่อแก้ปัญหา)
แนวทางการออกแบบระดับสูง (รายละเอียดอยู่ในการออกแบบที่เสนอด้านล่าง)
การออกแบบที่เสนอ
รายละเอียดของการออกแบบ (หากเป็นไปได้โดยไม่ลงลึกถึงการนำไปใช้)
ภาพรวมของ:
บริการ/โมดูลที่ได้รับผลกระทบ (เปลี่ยนแปลง)
บริการ/โมดูลใหม่ที่เพิ่มเข้ามา
ผลกระทบต่อโมเดลและ DTO (เปลี่ยน/เพิ่ม/ลบ)
ผลกระทบต่อ API (เปลี่ยน/เพิ่ม/ลบ)
ผลกระทบต่อการกำหนดค่าส่วนกลาง (ส่วนใหม่ เปลี่ยน/เพิ่ม/ลบ)
ผลกระทบต่อ devops
ข้อพิจารณา
บันทึกทางเลือก ข้อกังวล ประเด็นข้างเคียงหรือที่เกี่ยวข้อง และคำถามที่ถูกยกขึ้นในการอภิปราย ADR
ระบุว่าได้รับการแก้ไขหรือบรรเทาแล้วหรือไม่ และอย่างไร
การตัดสินใจ
บันทึกรายละเอียดการนำไปใช้ที่สำคัญที่ตกลงกัน ข้อควรระวัง ข้อพิจารณาในอนาคต และประเด็นการออกแบบที่เหลือหรือเลื่อนออกไป
บันทึกส่วนของข้อกำหนดที่การออกแบบที่เสนอไม่ได้ตอบสนอง
ADR อื่นที่เกี่ยวข้อง
ระบุ ADR ที่เกี่ยวข้อง เช่น การตัดสินใจด้านการออกแบบสำหรับส่วนย่อยของฟีเจอร์ การออกแบบที่ล้าสมัยจากการออกแบบนี้ ฯลฯ
รูปแบบ:
- [ชื่อ ADR](URL) - ความเกี่ยวข้อง
ข้อมูลอ้างอิง
ระบุข้อมูลอ้างอิงเพิ่มเติม
รูปแบบ:
- [ชื่อ](URL)