سند معماری نرمافزار به منظور توصیف معماری یک سیستم نرمافزاری تهیه میشود. در این سند، شیوهها، الگوها، و مکانیزمهای مورد استفاده در شکلدهی راهکار، انتخابهای کلیدی، محدودیتها، و کلیهی ملاحظات کلیدی، از منظرهای مختلف مورد بررسی قرار میگیرد.
در این سند، از شیوهای تحت عنوان «الگوی توصیف معماری مبتنی بر مدل»، برای توصیف معماری یک سیستم نرمافزاری استفاده شده است. بر اساس این شیوه، معماری به وسیلهی مدلهای مختلف و از جنبههای مختلفی بر اساس کارکردهای آن و انتظارات ذینفعان مختلف، توصیف میشود. در بیشتر موارد، برای توصیف معماری، آن را از حداقل پنج منظر کلیدی به شرح ذیل مورد بررسی قرار میدهند:
- منظر کاربرد (Use-Case View): بیانگر کارکردهای کلیدی راهکار، از منظر کاربران نهایی (End User) آن میباشد.
- منظر فرایندی یا پردازهای (Process View): بیانگر ملاحظاتی است مانند مقیاسپذیری (Scalability)، کارایی (Performance)، و نیز سایر ملاحظاتی که به صورت مفهومی مسایل زمان اجرا را پوشش میدهند.
- منظر منطقی (Logical View) یا طراحی مفهومی: بیانگر ملاحظات مرتبط با طراحی مفهومی و ساختار منطقی- مفهومی راهکار میباشد.
- منظر پیادهسازی (Implementation View): ملاحظات مرتبط با مدیریت اجزاء (مؤلفههای) راهکار را تحت پوشش قرار میدهد.
- منظر اِستقرار (Deployment View): مسایلی نظیر توپولوژی راهکار، نحوهی استقرار آن، ارتباطات، و نیز ملاحظات نصبوراهاندازی و تحویل راهکار را شامل میشود.
در برخی از موارد، از منظر دادهای (Data View) نیز برای توصیف جنبهها، ملاحظات، و انتخابها دادهای (یعنی، تأثیرگذار بر مدل دادهای سیستم) ارایه میشود.
باید توجه داشت که سطح جزییات معماری با طراحی متفاوت است و بنابراین، بسیاری از جزییات هر یک از منظرها را باید در صورت لزوم، در دستاوردها و یا اسناد دیگری مستندسازی نمود.
قالب اولیهی سند معماری نرمافزار (Software Architecture Document)