สถาปัตยกรรมซอฟต์แวร์

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

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

การจัดทำเอกสารสถาปัตยกรรมซอฟต์แวร์จะช่วยอำนวยความสะดวกในการสื่อสารระหว่างผู้มีส่วนได้ส่วนเสีย (stakeholder) บันทึกการตัดสินใจเบื้องต้นเกี่ยวกับการออกแบบระดับสูง และช่วยให้สามารถนำส่วนประกอบการออกแบบกลับมาใช้ใหม่ในโครงการอื่น ๆ ต่อได้

สถาปัตยกรรมซอฟต์แวร์มีแนวโน้มที่จะซับซ้อนมากขึ้นตามกาลเวลา สถาปนิกซอฟต์แวร์จึงควรใช้ "ฟังก์ชันความเหมาะสม" (fitness function) เพื่อกำกับและควบคุมสถาปัตยกรรมอย่างต่อเนื่อง

อ้างอิง

หมวดหมู่:สถาปัตยกรรมซอฟต์แวร์