آنچه در این صفحه می خوانید:
معرفی UML
زبان مدل سازی یکپارچه (UML) یک زبان مدل سازی عمومی، توسعه ای، در زمینه مهندسی نرم افزار است که به این منظور در نظر گرفته شده تا روشی استاندارد برای ویژوال سازی طراحی سیستم ارائه دهد. ایجاد UML در ابتدا با تمایل به استاندارد سازی سیستم های نمادین و رویکرد های متفاوت برای طراحی نرم افزار ایجاد شده است. UML جنبه مهمی در توسعه نرم افزار شی گرا نقش دارد. برای ایجاد مدل های بصری سیستم های نرم افزاری از نماد گرافیکی استفاده می کند. این طرح توسط Grady Booch ،Ivar Jacobson و James Rumbaugh در نرم افزار Rational در 1994-1995 توسعه داده شد.
در سال 1997، UML به عنوان استانداردی توسط گروه مدیریت شی (OMG) به تصویب رسید و از آن زمان تاکنون توسط این سازمان اداره می شود. در سال 2005، UML نیز توسط سازمان بین المللی استاندارد سازی (ISO) به عنوان استاندارد ISO مصوب منتشر شد. از آن زمان استاندارد به طور دوره ای مورد بررسی قرار می گیرد تا آخرین نسخه UML را پوشش دهد.
زبان UML برای ایجاد یک زبان مدل سازی ویژوال برای معماری، طراحی و پیاده سازی سیستم های نرم افزاری پیچیده، از لحاظ ساختاری و رفتاری طراحی شده است. UML برنامه های کاربردی فراتر از توسعه نرم افزار، مانند جریان فرایند در تولید دارد. در حقیقت، UML زبان برنامه نویسی نیست اما ابزارهایی دارد که می توانند برای تولید کد در زبان های مختلف با بکارگیری از نمودارهای UML استفاده شوند. UML ارتباط مستقیمی با تحلیل و طراحی شی گرا دارد.
معنی UML چیست؟
UML مخفف زبان مدل سازی یکپارچه است. UML 2.0 به پوشش مشخصات اصلی UML کمک کرد تا بخش وسیع تری از تلاش های توسعه نرم افزار از جمله روش های چابک (Agile) را پوشش دهد.
- ادغام بهبود یافته بین مدل های ساختاری مانند نمودار کلاس و مدل های رفتاری مانند نمودار فعالیت.
- امکان تعریف سلسله مراتب و تجزیه یک سیستم نرم افزاری را به مؤلفه ها و زیر مجموعهها اضافه کرد.
- UML اصلی 9 نمودار را مشخص کرده است. UML 2.x این عدد را به 13 می رساند. چهار نمودار جدید نامگذاری شده است: نمودار ارتباطی، یک نمودار ساختار کامپوزیت، نمودار مروری بر تعامل و نمودار زمان بندی. همچنین به نمودارهای statechart به نمودارهای دستگاه های دولتی، که به عنوان نمودارهای ایالتی نیز معروف هستند، تغییر نام داد.
انواع نمودار در UML
UML 2 نمودارهای زیادی دارد که به سه دسته تقسیم می شوند. بعضی از انواع اطلاعات ساختاری را نشان می دهند و بقیه نشان دهنده انواع کلی رفتار، از جمله معدودی است که جنبه های متفاوتی از تعامل را نشان می دهد. این نمودارها را می توان به صورت سلسله مراتبی طبقه بندی کرد:
نمودارهای رفتاری (Behavior diagrams)
نمودارهای رفتاری بر آنچه باید در سیستم مدل سازی اتفاق بیفتد تأکید می کند. از آنجایی که نمودارهای رفتاری رفتار یک سیستم را نشان می دهد، از آنها برای توصیف عملکرد سیستم های نرم افزاری استفاده می شود. به عنوان نمونه، نمودار فعالیت، فعالیت های گام به گام مؤلفه های یک سیستم را شرح می دهد.
نمودارهای تعامل (Interaction diagrams)
نمودارهای تعامل، زیر مجموعه ای از نمودارهای رفتاری، بر جریان کنترل و داده در میان مواردی که در سیستم در حال مدل سازی هستند تأکید می کنند. به عنوان مثال، نمودار دنباله نشان می دهد که چگونه اشیاء با توجه به دنباله ای از پیام ها با یکدیگر ارتباط برقرار می کنند.
نمودار ساختاری (Structure diagrams)
نمودارهای ساختار بر چیزهایی که باید در سیستم مدل سازی شوند، تأکید می کنند. از آنجا که نمودار ساختار نمایانگر ساختار است، از آنها در مستند سازی معماری نرم افزارهای سیستم های نرم افزاری بسیار استفاده می شود. به عنوان مثال، نمودار جزء چگونگی تقسیم سیستم نرم افزاری را به مؤلفه ها نشان می دهد و وابستگی بین این مؤلفه ها را نشان می دهد.
برنامه های وب در UML
از برنامه های وب UML می توان برای مدل سازی واسط های کاربر برنامه های وب استفاده کرد و هدف وب سایت را روشن کرد. برنامه های وب سیستم های فشرده نرم افزاری هستند و UML از جمله گزینه های کارآمد زبان ها برای مدل سازی آنها است. پیچیدگی نرم افزار وب را می توان با استفاده از ابزارهای مختلف UML به حداقل رساند. مهندسی وب مبتنی بر UML قصد دارد تا نمایه UML را ارائه دهد که نیازهای توسعه وب را بهتر مطابقت دهد. موارد زیر نمونه هایی است:
- نمایندگی برنامه های وب با استفاده از مجموعه ای از مدل ها
- مدل مورد استفاده برنامه وب
- مدل اجرای برنامه وب
- مدل استقرار برنامه وب
- مدل امنیتی برنامه وب
- نقشه سایت برنامه وب
- برای مدل سازی صفحات، لینک های متنی، و محتوای پویا در سمت کلاینت و سمت سرور.
- برای مدل سازی جنبه های سمت سرور صفحه وب با یک کلاس و جنبه سمت کلاینت با دیگری و تشخیص این دو با استفاده از مکانیزم پسوند UML برای تعریف کلیشه ها و نمادها برای هر سرور و صفحه کلاینت.
- کلیشه ها در UML برای تعریف معانی جدید برای عناصر مدل سازی استفاده می شوند.
- فرم ها در HTML همچنین می توانند با استفاده از سازه های مختلف UML مدل سازی شوند.
- UML می تواند برای بیان عملکرد منطق تجاری سیستم در آن عناصر و فناوری های خاص وب استفاده شود.
کاربرد UML
یک برنامه پیچیده سازمانی با همکاری بسیاری از کارمندان، با پیشرفت پروژه نیاز به یک پایه محکم برنامه ریزی و ارتباطات روشن و مختصر بین اعضای تیم دارد. ویژوال سازی فعل و انفعالات کاربر، فرآیندها و ساختار سیستمی که می خواهید بسازید به صرفه جویی در وقت در خط کمک می کند و مطمئن شوید که همه تیم در همان صفحه هستند.
- مدل سازی کسب و کار و فرآیندهای مشابه
- تجزیه و تحلیل، طراحی و پیاده سازی سیستم های مبتنی بر نرم افزار
معماری UML
هر سیستم در دنیای واقعی توسط کاربران مختلف استفاده می شود. کاربران می توانند توسعه دهنده، آزمایش کننده، افراد تجاری، تحلیلگر و موارد دیگر باشند. از این رو، قبل از طراحی سیستم، معماری با چشم اندازهای مختلف در ذهن ساخته می شود. مهمترین بخش، ویژوال سازی سیستم از منظر بینندگان مختلف است. هرچه درک بهتر داشته باشیم می توانیم سیستم را بسازیم.
UML نقش مهمی در تعریف دیدگاههای مختلف یک سیستم دارد. این دیدگاه ها:
- دیزاین: یک سیستم شامل کلاس ها، رابط ها و همکاری است. UML برای پشتیبانی از این، یک نمودار کلاس، نمودار شیء ارائه می دهد.
- پیاده سازی: مؤلفه های مونتاژ شده را برای ساختن یک سیستم بدنی کامل تعریف می کند. نمودار مؤلفه UML برای پشتیبانی از چشم انداز پیاده سازی استفاده می شود.
- پردازش: این فرآیند جریان سیستم را مشخص می کند. از این رو، از همان عناصر موجود در طراحی نیز برای پشتیبانی از این چشم انداز استفاده می شود.
- توسعه: نشانگر گره های فیزیکی سیستم است که سخت افزار را تشکیل می دهد. یک نمودار استقرار UML برای پشتیبانی از این چشم انداز استفاده می شود.
مرکز نمایش Use Case است که همه این چهار مورد را به هم وصل می کند. Use Case عملکرد سیستم را نشان می دهد. از این رو، چشم اندازهای دیگر با مورد استفاده مرتبط است.