زبان مدلسازی یکپارچه: تفاوت میان نسخهها
محتوای حذفشده محتوای افزودهشده
جز ارائه نسخه جدید را ثبت نمودم. |
LetsDoItBot (بحث | مشارکتها) تمیزکاری، + ویرایش با ماژول ابرابزار با استفاده از AWB |
||
خط ۲:
'''زبان مدلسازی یکپارچه''' {{انگلیسی|Unified Modeling Language}} یا «یو امال»، یک زبان مدلسازی همه منظوره استاندارد در زمینه [[مهندسی نرمافزار]] است که توسط [[گروه مدیریت شی]] {{انگلیسی|Object Management Group}} ایجاد شد. در حال حاضر (۲۰۱۴ میلادی) آخرین نسخه این زبان نسخه ۲٫۴٫۱ است که در سال ۲۰۰۷ میلادی مشخصات آن منتشر شد<ref>http://www.omg.org/technology/documents/formal/uml.htm| زبان مدلسازی یکلخت نسخه ۲٫۲</ref>
در سال
با استفاده از یو امال میتوان تقریباً هر گونه [[برنامه کاربردی]] که ممکن است بر روی هر ترکیبی از سختافزار، [[سیستم عامل]]، [[زبان
== مرور کلی ==
یوام ال یک زبان مدلسازی نسل سوم است و روشی باز برای توصیف ویژگیها، نمایش گرافیکی، ساختن و مستندسازی اجزای یک سیستم نرمافزاری در حال توسعه میباشد. از یو امال برای فهمیدن، طراحی، مرور، پیکربندی، نگهداری و کنترل اطلاعات سیستمهای نرمافزاری استفاده میشود. یو امال برای همه روشهای [[توسعه نرمافزار]]، همه مراحل [[چرخه عمر نرمافزار]]، همه حوزههای برنامههای کاربردی و هر رسانهای قابل استفاده است. این زبان مدلسازی برای یکلخت سازی تجربیات گذشته در مورد تکنیکهای مدلسازی و گنجاندن تجربیات موفق در یک دیدگاه استاندارد بوجود آمده است. یو امال شامل مفاهیم معنایی(semantic)، نمادگذاری و راهنمایی برای طراحی میباشد. یو امال را نمیتوان به عنوان یک روش تولید نرمافزار کامل دانست. این زبان شامل فرایند مرحله به مرحله تولید نرمافزار نیست، بلکه یو امال زبانی است که تقریباً تمام شیوههای تولید نرمافزار از آن استفاده میکنند.
یو امال تکنیکهای [[مدلسازی داده ها|مدلسازی داده]] ([[نمودار رابطه موجودیت]])، مدلسازی تجاری، مدلسازی شی و مدلسازی مولفهها را با هم ترکیب مینماید. یو امال را میتوان در تمامی پروسهها در سراسر [[چرخه توسعه نرمافزار]] به کاربرد.<ref>Satish Mishra (1997). [http://www2.informatik.hu-berlin.de/~hs/Lehre/2004-WS_SWQS/20050107_Ex_UML.ppt "مدلسازی تصویری و زبان مدلسازی یکلخت (یو امال): مقدمهای بر یو امال"]. Rational Software Corporation. بازیابی شده در ۹ نوامبر ۲۰۰۸</ref>
پیش از پیدایش یو امال در اواسط دهه ۱۹۹۰، مدلسازی نرمافزار از مشکل ناسازگاری نماد گذاریهای مختلفی که توسط متخصصین مدلسازی مختلف بوجود میآمد رنج میبرد و استاندارد همه گیری در این زمینه وجود نداشت. یو امال از تلفیق [[روش بوچ]] (Booch Method)، [[تکنیک مدلسازی شی]] (OMT) و [[مهندسی نرمافزار شی گرا]](OOSE) با یکدیگر در راستای جریانات یکلخت سازی بوجود آمد.<ref name="
== تاریخچه ==
[[پرونده:OO-historie.jpg|بندانگشتی|320px|تاریخچه متدها و نمادگذاریهای شی گرا.]]
روشهای تولید نرمافزار برای زبانهای [[
این روشها در ابتدا توسط افرادی چون کنستانتین (Constantine)، دی مارکو(DeMarco)، ملور(Mellor)، وارد(Ward)، یوردون(Yourdon) و سایرین پدید آمدند و در حیطه سیستمهای بزرگ به ویژه سیستمهای طرف قرارداد با دولت در حوزه هوافضا و دفاع نظامی نیز نفوذ کردند. اگرچه نتایج آنها همواره رضایت بخش نبود اما این روشها متضمن ایدههای خوبی بودند که به ندرت استفاده مؤثری از آنها میشد. شرکتهای تجاری راغب با به کارگیری روشهای تولید نرمافزار و سیستمهای [[رایانهای]] مهندسی نرمافزارنبودند. بیشتر آنها نرمافزارها را برای استفاده داخلی و رفع نیازهای خود تولید میکردند و نیازی به بررسی این نرمافزارها توسط سازمانهای خارجی نبود.
اولین [[زبان
برخی تلاشهای اولیه در جهت یکلخت سازی مفاهیم روشهای مختلف به انجام رسید که نمونه قابل ملاحظه آن کار کلمن(Coleman) و همکارانش به نام فیوژن(Fusion) بود<ref>Derek Coleman, "Object-Oriented Development: The Fusion Method ", Prentice Hall, 1993, ISBN 0-13-338823-9</ref> که شامل مفاهیمی از [[تکنیک مدلسازی شی]]،<ref name="R" /> [[روش بوچ|بوج]]<ref name="B" /> و سی آر سی<ref name="T" /> بود. اولین تلاش موفقیت آمیز برای ترکیب و جایگزینی روشهای موجود در سال ۱۹۹۴ وقتی به وجود آمد که رمباف به شرکت رشنال سافتور رفت و به بوچ پیوست. این دو مفاهیم تکنیک مدل سازی شی و روش بوچ را ترکیب کردند و اولین طرح خود را در سال ۱۹۹۵ ارائه دادند. در این زمان یاکوبسون هم به این دو پیوست و کار مشترک خود را با آنها آغاز کرد. کار مشترک آنها ''زبان مدل سازی یکلخت'' نام گرفت. در سال ۱۹۹۶ [[گروه مدیریت شی]] (OMG) درخواست پیشنهادهایی برای استاندارد مدل سازی شی گرا را مطرح نمود. نویسندگان یو امال (یاکوبسون، بوچ و رمباف) با همکاری گروهی از برنامه نویسان و متدولوژیستهای دیگر طرح پیشنهادی خود را به OMG ارائه کردند. طرحهای دیگری هم به OMG ارائه شد که در نهایت همه پیشنهادات در طرح نهایی یو امال که در سال ۱۹۹۷ به OMG تحویل داده شد، ادغام شدند.
پس از چندین سال تجربه استفاده از یو امال در صدد برآمدند تا یو امال را ارتقاء دهند تا مشکلاتی که در تجربیات کاری پدیدار شده بودند را بر طرف کنند و قابلیتهای آن را گسترش دهند. طرحهای پیشنهادی ارائه شدند ومشخصات یو امال ۲ در سال ۲۰۰۳ توسط OMG پذیرفته شد؛ و پس از نهایی سازی در اواخر ۲۰۰۴ در دسترس عموم قرار کرفت.
== مفاهیم بنیادین یو امال ==
مفاهیم یو امال در قالب دستههایی به نام ''دید''(view) طبقهبندی میشوند. هر
=== دستهبندی ساختاری(Structural Classification) ===
سطر ۴۶ ⟵ ۴۵:
=== سازماندهی مدل(Model Organization) ===
توصیف کننده سازماندهی خود مدلها در واحدهای سلسه مراتبی میباشد. واحد ژنریک سازماندهی مدلها بسته(package) است. یک مدل در واقع سلسله مراتبی از بسته هاست که انتزاع معنایی کاملی از سیستم از یک دیدگاه خاص است. این بخش شامل یک دید است:
* '''دید مدیریت مدل''' (Model Management View): این دید سازمان داخلی خود مدل را مدل میکند. یک مدل از مجموعهای از ''بسته''ها (package) تشکیل میشود که در بر دارنده عناصر مدل (مانند نمودارهای کلاس، ماشین وضعیت و مورد کاربرد) است. نمودار مورد استفاده در این دید [[نمودار
=== پروفایلهای یو امال (UML Profiles) ===
سطر ۶۷ ⟵ ۶۶:
* [[نمودار به کارگیری]] (Deployment Diagram): [[سختافزار]] بکار رفته در پیادهسازی سیستم و همچنین محیطهای اجرا و سایر اجزایی که باید بر روی این سختافزار قرار گیرند را توصیف میکند.
* [[نمودار شی]] (Object Diagram): نمایشگر یک دید کامل یا جزیی از ساختار سیستم مدل شده در یک زمان مشخص است.
* [[نمودار
* [[نمودار پروفایل]] (Profile Diagram)
Image:Component-4.png|[[نمودار مولفه]]
سطر ۷۸ ⟵ ۷۷:
Image:|[[نمودار کلاس]]
Image:Package import-1.png|[[نمودار بسته بندی]]
</gallery
=== نمودارهای رفتاری(Behavior diagrams) ===
سطر ۸۶ ⟵ ۸۵:
* [[نمودار مورد کاربرد]] (Use Case Diagram): کارکرد ارائه شده توسط یک سیستم را در قالب بازیگران (Actor) واهداف آنها که به صورت مورد کاربرد نمایش داده میشوند و وابستگی بین موردهای کاربرد، مدلسازی میکند.
Image:Activity Diagram 1.jpg|[[نمودار فعالیت]]
Image:UML state diagram.png|[[نمودار ماشین وضعیت]]
Image:UML_Use_Case_diagram.svg|[[نمودار مورد کاربرد]]
</gallery
=== نمودارهای برهمکنش(Interaction Diagrams) ===
سطر ۹۹ ⟵ ۹۸:
* [[نمودارهای زمانبندی]] (Timing Diagrams): گونه ویژهای از نمودارهای برهم کنش هستند که بر روی محدودیتهای زمانبندی تمرکز دارند.
Image:Kommunikations diagramm-2.png|[[نمودار ارتباطات]]
Image:Iau-diagramm-1.png|[[نمودار کلی بر همکنش]]
Image:UmlSequenzdiagramm-1.svg|[[نمودار توالی]]
</gallery
== انتقادها ==
سطر ۱۱۰ ⟵ ۱۰۹:
;استانداردهای حجیم: یکی از انتقادات اساسی به یو امال در مورد حجم بالای استانداردهای مورد استفاده در این زبان است. یو امال شامل بسیاری از نمودارها و ساختهایی است که یا اضافی هستند و یا به ندرت مورد استفاده قرار میگیرند. ''ایوار یاکوبسون'' (Ivar Jacobson)، یکی از طراحان یو امال، میگوید که اعتراضاتی که به اندازه یو امال ۲ میشود به اندازه کافی معتبر هستند که باعث شوند استفاده از عاملهای هوشمند را برای [[حل مسئله]] در نظر بگیریم.<ref>"ایوار یاکوبسون دربارهٔ یو امال، ام دی ای و آینده متدولوژی ها" [http://www.infoq.com/interviews/Ivar_Jacobson] (video of interview, transcript available)، اکتبر24 , 2006. بازیابی شده در 2009-05-22</ref>
؛ مشکل آموزش و به کار گرفتن یو امال: حجیم بودن یو امال یادگیری و استفاده از آن را به ویژه برای مهندسینی که مهارتها و دانش پیش نیاز آن را ندارند مشکل میسازد.<ref>مقاله [[ای سی ام|ای سی ام (ACM)را]] ''[http://www.acmqueue.com/modules.php?name=Content&pa=showpage&pid=130 "مرگ با تب یوام ال"]'' برای بررسی بیشتر این گونه مواردببینید.</ref> در اغلب موارد افراد نمودارها را با استفاده از سمبلهای در دسترس در ابزارهای یو امال طراحی میکنند، بی آنکه بدانند این سمبلها به چه منظوری بوجود آمدهاند.
;عدم تطابق بین قابلیتهای یو امال و قابلیتهای زبانهای پیادهسازی: همانند سایر سیستمهای [[نشان گذاری]]، یو امال برخی از سیستمها را مختصر تر و مؤثر ترازبقیه سیستمها نمایش میدهد؛ بنابراین یک
برخی از متخصصین مدلسازی انتقادهای تندی را متوجه این زبان کردهاند. از آن جملهاند: ''برتراند مه یر'' (Bertrand Meyer) در مقالهای با عنوان
== جستارهای وابسته ==
|