Component Diagram

نمودار بستهء نرم افزاری شباهت بسیاری با نمودار کلاس ( Class Diagram ) دارد . اما از اونجائیکه کامپوننتها اغلب شامل تعداد زیادی کلاس هستند که عموما لزومی ندارد کاربر با جزئیات آنها درگیر یا حتی آشنا باشد و با هدفی خاص کنار هم جمع شده اند ، نمودار بسته نرم افزاری یا کامپوننت اغلب طرح جمع و جور تری از کلیت سیستم نرم افزاری ارائه میکند ( نه به آن جزئیتی که نمودار کلاس بر عهده دارد ) و در واقع شمای کلی نرم افزار در نمودار بسته نرم افزاری ارائه میشود . نمودار بسته نرم افزاری متضمن وابستگی بسته های نرم افزاری کل سیستم به همدیگه هم هست . به عنوان مثال نرم افزار شما یک فایل DLL است که توسعه دهندگان نهائی باید بتوانند توسط کلاسهای موجود در آن به مسنجر یاهو متصل شوند و پیام ارسال کنند یا پیامهای آفلاینشان را دریافت کنند . حالا این جزء نرم افزاری خود از چند کامپوننت تشکیل شده ، یکی برای ایجاد سوکت ( که خودش احتمالا" از چند کلاس تشکیل شده ) یکی برای حمایت از پروتکل ymsg ، یکی برای درک رشته های یونیکد و ... نهایتا" کل نرم افزار شما ( یعنی همون DLL کذائی ) شامل 10 کامپوننت اصلی است . عموما "توسعه دهندگان" نرم افزار وقتی میخواهند درک اولیه ای راجع به ساختار و بدنه نرم افزار پیدا کنند "اول" از همه نمودار بستهء نرم افزاری را "میخوانند" .

شکل زیر یک نمودار بستهء نرم افزاری ساده است . یک DLL اسمبلی دات نت شامل دو کلاس مختلف سی شارپ .