de_DEen_USes_ESfa_IRid_IDpt_PTvizh_CNzh_TW

نمودار توسعه UML: تطبیق نرم‌افزار به زیرساخت

در حالی که نمودارهای مؤلفه بر سازماندهی منطقی ماژول‌های کد شما تمرکز دارند، در حالی که نمودار توسعه UML فاصله را به واقعیت پیوند می‌زند. پاسخ به سوال حیاتی این است: «این کد همه در کجای واقعی زندگی می‌کند؟»

این نمودار تنها مدل UML است که به محیط اجرایی فیزیکی اختصاص دارد. این نمودار، تطبیق آثار نرم‌افزاری به اهداف سخت‌افزاری را نمایش می‌دهد و نشان می‌دهد که مؤلفه‌های سیستم چگونه بین سرورها، پایگاه‌های داده، دستگاه‌های موبایل و زیرساخت ابری توزیع شده‌اند. در عصر محاسبات ابری، سرویس‌های میکروسرویس و اینترنت اشیاء، درک این معماری فیزیکی هرگز به اندازه امروز اهمیت نداشته است.

ساختار معماری فیزیکی

هدف اصلی یک نمودار توسعهاین این است که توپولوژی فیزیکی سیستم را نشان دهد—سخت‌افزار (گره‌ها) و نرم‌افزار (آثار) که روی آن اجرا می‌شوند.

1. گره‌ها: سخت‌افزار و محیط‌های اجرا

ساختار اصلی یک نمودار توسعه، گره. گره‌ها منابع محاسباتی را نشان می‌دهند که آثار نرم‌افزاری برای اجرا روی آن‌ها نصب می‌شوند. آن‌ها به صورت جعبه‌های سه‌بعدی (مکعب‌ها) نمایش داده می‌شوند.

گره‌ها در دو نوع اصلی وجود دارند:

  • گره‌های دستگاه: این‌ها منابع سخت‌افزاری فیزیکی با قابلیت پردازش را نشان می‌دهند.

    • مثال‌ها: یک سرور کاربردی، یک سرور پایگاه داده، یک تلفن همراه، یک سنسور اینترنت اشیاء یا یک میزبان بار.

  • گره‌های محیط اجرا (محیط‌های اجرا): این‌ها ظرف‌های مبتنی بر نرم‌افزاری هستند که درون یک گره دستگاه اجرا می‌شوند و انواع خاصی از آثار را حمایت می‌کنند. این‌ها لایه‌ای از نرم‌افزار را نشان می‌دهند که مؤلفه‌های نصب شده را مدیریت می‌کنند.

2. آثار: نرم‌افزار قابل نصب

یک آثار نماد نمایش دهنده شکل فیزیکی ملموس یک مؤلفه نرم‌افزاری است. در حالی که یک «مؤلفه» گروهی منطقی از کلاس‌هاست، یک «آرتي فکت» فایل واقعی است که روی سرور نصب می‌شود.

آرتي فکت‌ها معمولاً به صورت مستطیل با کلمه کلیدی «آرتي فکت» رسم می‌شوند«آرتي فکت»یا یک آیکون کوچک سند در گوشه. معمولاً در داخل گره قرار می‌گیرندداخلگره برای نشان دادن اینکه در کجا نصب شده‌اند.

  • مثال‌ها: user-service.jar, index.html, database-schema.sql, config.xmlیاpayment-api.exe.

3. مسیرهای ارتباطی: اتصالات

گره‌ها به ندرت به تنهایی عمل می‌کنند.مسیرهای ارتباطینمایش دهنده اتصالات یا ارتباطات فیزیکی بین گره‌ها هستند و نشان می‌دهند که چگونه اطلاعات را مبادله می‌کنند.

این‌ها به صورت خطوط پیوسته بین دو گره رسم می‌شوند. به طور کلیدی، اغلب با استایل‌های خاص برچسب‌گذاری می‌شوند تا نشان دهند که از چه پروتکل ارتباطی یا نوع شبکه‌ای استفاده می‌شود.

  • مثال‌ها: «HTTP/HTTPS», «TCP/IP», «JDBC», «RMI», یا «صف انتظار پیام».

Communication Paths: The Connections

نمایش توپولوژی

یک نمودار توسعه معمول داستانی از ساختار زمان اجرایی سیستم را روایت می‌کند. به عنوان مثال، یک برنامه وب سه لایه استاندارد ممکن است به صورت زیر نمایش داده شود:

  1. لایه مشتری: یک دستگاه موبایل (گره) حاوی یک اپلیکیشن موبایل (آرتنفakt).

  2. لایه میانی: یک سرور وب (گره دستگاه) حاوی یک کانتینر داکر (محیط اجرا)، که در داخل خود حاوی API Service.jar (آرتنفakt).

  3. لایه داده: یک سرور پایگاه داده (گره دستگاه) حاوی یک PostgreSQL نمونه (محیط اجرا)، که مدیریت داده‌های کاربر (آرتنفakt).

اتصال این گره‌ها خطوطی با برچسب «HTTPS» (بین دستگاه موبایل و سرور وب) و «JDBC» (بین سرور وب و پایگاه داده).

چرا از یک نمودار انتشار استفاده کنیم؟

نمودارهای انتشار برای مهندسان دوپ، معماران سیستم و مدیران شبکه غیرقابل جایگزین هستند.

  • برنامه‌ریزی انتشار: به عنوان نقشه‌ای نهایی برای مدیریت انتشار عمل می‌کنند و به طور دقیق مشخص می‌کنند که کدام فایل‌ها باید به کدام سرورها ارسال شوند.

  • تحلیل عملکرد: با نمایش توزیع پردازش و ارتباطات شبکه، معماران می‌توانند گلوگاه‌های بالقوه را شناسایی کنند (مثلاً تعداد زیادی آیتم روی یک گره با قدرت پایین یا ارتباطات شبکه کند بین خدمات پرتعامل).

  • مدل‌سازی امنیت: با نشان دادن گره‌هایی که در معرض شبکه‌های خارجی (اینترنت عمومی) قرار دارند و کدام‌ها پشت فایروال‌ها عزل شده‌اند، به شناسایی ریسک‌های امنیتی کمک می‌کنند.

  • طراحی زیرساخت به عنوان کد (IaC): در دوپ مدرن، این نمودارها پایه مفهومی برای نوشتن اسکریپت‌های ترافرم یا کلودفرمیشن برای تخصیص منابع ابری فراهم می‌کنند.

برای اطلاعات بیشتر درباره UML و نمایشگری کمک‌شده با هوش مصنوعی، به ما مراجعه کنیدمرکز منابع UML.

This post is also available in Deutsch, English, Español, Bahasa Indonesia, Portuguese, Việt Nam, 简体中文 and 繁體中文.