Architectural views Architectural views
- มุมมองใดมีประโยชน์เมื่อออกแบบและจัดทำเอกสารสถาปัตยกรรมของระบบ?
- ควรใช้ notation อะไรในการอธิบายรูปแบบสถาปัตยกรรม?
- แต่ละรูปแบบสถาปัตยกรรม จะแสดงมุมมองหรือมุมมองหนึ่งของระบบเท่านั้น
- อาจแสดงให้เห็นว่าระบบสามารถแยกเป็นโมดูลย่อยได้อย่างไร
- ในขณะที่ระบบทำงาน มีวิธีการทำงานร่วมกันของระบบต่าง ๆ อย่างไร
- โดยปกติ ในการออกแบบและทำเอกสารประกอบ เราสามารถนำเสนอมุมมองของสถาปัตยกรรมซอฟต์แวร์ได้อย่างหลากหลาย Architectural views 4 + 1 view model of software architecture
- มุมมองตรรกะ (logical view)
- แสดง abstractions สำคัญในระบบเป็นวัตถุหรือ class ของวัตถุ
- มุมมองกระบวนการ (process view)
- แสดงให้เห็นว่าในขณะดำเนินการระบบประกอบด้วยกระบวนการโต้ตอบอย่างไร
- มุมมองการพัฒนา (development view)
- แสดงให้เห็นว่าซอฟต์แวร์ถูกแบ่งแยกเพื่อการพัฒนาได้อย่างไร
- มุมมองทางกายภาพ (physical view)
- แสดงฮาร์ดแวร์ระบบและส่วนประกอบของซอฟต์แวร์ที่กระจายอยู่บนโปรเซสเซอร์ต่าง ๆ ของระบบ
- ความเกี่ยวข้องโดยใช้ use cases หรือ scenarios (+1) Representing architectural views
- นักพัฒนาเห็นพ้องกันว่า Unified Modeling Language (UML) เป็นสัญกรณ์ (notation) ที่เหมาะสมสำหรับการอธิบายและการจัดทำเอกสารเกี่ยวกับสถาปัตยกรรมระบบ
- อย่างไรก็ตามมันอาจจะไม่เป็นเช่นนั้น เนื่องจาก UML ไม่เหมาะกับการเขียน abstractions ที่เหมาะสมสำหรับคำอธิบายระบบในระดับสูง
- มีการพัฒนาภาษาคำอธิบายเกี่ยวกับสถาปัตยกรรม (Architectural description languages : ADLs) แต่ยังไม่ได้ใช้กันอย่างแพร่หลาย