02177512236 - 02177513268

سیستم مدیریت محتوای طلوعسیستم مدیریت محتوای طلوع

زبان مدلسازی UML

زبان مدلسازی UML

 

(UML(Unified Modeling Language يك زبان شي‌گراست،زباني استاندارد بمنظور مشخص نمودن ، پيش بيني ، ايجاد و مستند سازي توليدات نرم افزاري است . UML ، مجموعه اي از بهترين امکانات مهندسي را بمنظور استفاده در مدل سازي سيستم هاي بزرگ و پيچيده ارائه که کارآئي آنان به اثبات رسيده است .
از ديد مستندسازي، UML قادر است كل چرخه حيات سيستم را در قالب نمودارهايي بصورت كلي و قابل فهم ارائه نمايد كه ميتواند مستقل از متدلوژي ساخت ارائه شود هرچند كه برخي از متدلوژيها دياگرامهاي خاص خود را دارند. اما با توجه به نزديكي متدلوژيهاي شئ‌‌گرا و شباهت دياگرامهاي آنها مي‌‌توان UML را در بسياري از متدلوژي‌‌هاي شئ‌‌گرا استفاده نمود.
UML يا زبان مدلسازي يكنواخت، زباني است براي مشخص كردن (Specify)، مصورسازي (Visualize)، ساخت (Construction) و مستندسازي (Documenting) سيستمهاي نرم‌افزاري و غير نرم‌افزاري و نيز براي مدلسازي سيستمهاي تجاري. 

روند شکل گیری UML

 

ديدگاه شي‌گرايي (Object Oriented) از اواسط دهه 1970 تا اواخر دهه 1980 در حال مطرح شدن بود. در اين دوران تلاشهاي زيادي براي ايجاد روشهاي تحليل و طراحي شي‌گرا صورت پذيرفت. در نتيجة اين تلاشها بود كه در طول 5 سال يعني 1989 تا 1994، تعداد متدولوژيهاي شي‌گرا از كمتر از 10 متدولوژي به بيش از 50 متدولوژي رسيد.
تكثر متدولوژيها و زبانهاي شي‌گرايي و رقابت بين اينها به حدي بود كه اين دوران به عنوان 'جنگ متدولوژيها' لقب گرفت. از جمله متدولوژيهاي پركاربرد آن زمان مي‌توان از Booch، OOSE، OMT، Fusion، Coad-Yourdan، Shlayer-Mellor وغيره نام برد. فراواني و اشباع متدولوژيها و روشهاي شي‌گرايي و نيز نبودن يك زبان مدلسازي استاندارد، باعث مشكلات فراواني شده بود. از يك طرف كاربران از متدولوژيهاي موجود خسته شده بودند، زيرا مجبور بودند از ميان روشهاي مختلف شبيه به هم كه تفاوت كمي در قدرت و قابليت داشتند يكي را انتخاب كنند. بسياري از اين روشها، مفاهيم مشترك شي‌گرايي را در قالبهاي مختلف بيان مي‌كردند كه اين واگرايي و نبودن توافق ميان اين زبانها، كاربران تازه‌كار را از دنياي شي‌گرايي زده مي‌كرد و آنها را از اين حيطه دور مي‌ساخت.
عدم وجود يك زبان استاندارد، براي فروشندگان محصولات نرم‌افزاري نيز مشكلات زيادي ايجاد كرده بود. اولين تلاشهاي استانداردسازي از اكتبر 1994 آغاز شد، زماني كه آقاي Rumbaurgh صاحب متدولوژي OMT به آقاي Booch در شركت Rational پيوست و اين دو با تركيب متدولوژيهاي خود، اولين محصول تركيبي خود به نام 'روش يكنواخت' را ارائه دادند. در سال 1995 بود كه با اضافه شدن آقاي Jacobson به اين دو، روش يكنواخت ارائه شده با روش OOSE نيز تركيب شد واين خود سبب ارائة UML نسخة 0.9 در سال 1996 گرديد. سپس اين محصول به شركتهاي مختلفي در سراسر جهان به صورت رايگان ارائه شد و استقبال شديد شركت‌ها از اين محصول و تبليغات گسترده شركت Rational، سبب آن شد كه گروه OMG، نسخة 1.0 UML را به عنوان زبان مدلسازي استاندارد خود بپذيرد. تلاشهاي تكميلي UML استاندارد ادامه پيدا كرد و نسخة 1.1 آن در سال 1997 و نسخه 1.3 آن در سال 1999 ارائه گرديد. در اواسط سال 2001 ، اعضاء OMG ، کار خود را بمنظور ارتقاء به UML 2.0 آغاز نمودند.
در حال حاضر ، UML شامل مدل سازي ويژوال ، شبيه سازي و امکانات پياده سازي است . تعداد زيادي از ابزارهاي UML طراحي و در اختيار علاقه مندان قرار گرفتند . Rational Rose از شرکت Rational Software ، نرم افزار Describe Enterprise از شرکت Embarcadero Technologies و Visio از شرکت مايکروسافت . نمونه هائي از ابزارهاي UML مي باشند . شركتهايي مانندUnisys, Rational, Oracle, IBM, Microsoft, HP و ... از شركتهايي هستند كه ازUML استفاده كرده و آن را پشتيباني مي‌‌نمايند.

ویژگی های UML

 

به طور خلاصه :
 » در وراي نمادهاي گرافيكي، يك سمانتيك (معناشناسي) قوي وجود دارد .
 »  'تسهيل ارتباط' بين اعضاي پروژه و يا بين توليدكنندگان مختلف 
 » كمي پيچيده است به دليل : 
     - فراهم كردن نمودارهايي كه در هر موقعيتي و با هر ترتيبي قابل استفاده باشند 
     - تركيبي است از زبانهاي مختلف - حفظ سازگاري و جمع كردن خصوصيات مثبت آنها 
 »  موفقيت طرح را تضمين نمي‌كند 
 »  كاهش هزينه‌هاي ثابتي نظير آموزش و استفاده مجدد از ابزارها هنگام ايجاد تغيير در سازمان و طرحها 
 »  يك زبان برنامه‌نويسي بصري (visual) نيست 
 »  مهندسي روبه‌جلو و معكوس از مهمترين قابليتهاي UML به شمار مي‌روند 
 »  در مقايسه با زبانهاي مدلسازي ديگر نمودارهاي قويتر و قابل ‌فهمتري را ارائه مي‌دهد
 » نمودارهاي آن شامل تمامي مراحل چرخة حيات توليد نرم‌افزار (تحليل، طراحي، پياده‌سازي و تست) مي‌شود 
 »  براي استفاده از UML، نياز به استفاده از يك متدولوژي خاص نداريد
 » پشتيباني از مفاهيم سطح بالاي شي‌گرايي مثل Collaboration، Framework، Pattern و Component
 » امكان ايجاد زبانهاي مدلسازي جديدتري (با گسترش مفاهيم پايه‌اي موجود) را فراهم مي كند .

 و اما شرح مختصري درباره موارد ذكر شده :

UML داراي ويژگيهاي بارز فراواني است كه در اين قسمت به آنها مي‌پردازيم. UML يك زبان مدلسازي است اما چيزي فراتر از چند نماد گرافيكي است. بطوريكه در وراي اين نمادها، يك سمانتيك (معناشناسي) قوي وجود دارد، بطوريكه يك توليدكننده مي‌تواند مدلهايي توليد كند كه توليد‌كننده‌هاي ديگر و يا حتي يك ماشين آن را بخواند و بفهمد. بنابراين يكي ديگر از نقش‌هاي مهم UML 'تسهيل ارتباط' بين اعضاي پروژه و يا بين توليدكنندگان مختلف مي‌باشد. اين ارتباط بسيار مهم است. شايد دليل اصلي اينكه توليد نرم‌افزار به صورت فريبنده‌اي دشوار است، همين عدم ارتباط مناسب بين اعضاي پروژه باشد و اگر در توليد نرم‌افزار، بين اعضاي پروژه گزارشهاي هفتگي و مداوم وجود داشته باشد، بسياري از اين دشواريها برطرف خواهد شد.
البته اين را هم بايد در نظر گرفت كه UML كمي پيچيده است و اين به خاطر آن است كه سعي شده است نمودارهايي فراهم شود كه در هر موقعيتي و با هر ترتيبي قابل استفاده باشند. دليل ديگر پيچيدگي از آنجا ناشي مي‌شود كه UML تركيبي است از زبانهاي مختلف، كه براي حفظ سازگاري و جمع كردن خصوصيات مثبت آنها، ناگزير از پذيرش اين پيچيدگي مي‌باشد.
UML موفقيت طرح را تضمين نمي‌كند، اما در عين حال خيلي چيزها را بهبود مي‌بخشد. به عنوان مثال استفاده از UML، تا حد زيادي، هزينه‌هاي ثابتي نظير آموزش و استفاده مجدد از ابزارها را در هنگام ايجاد تغيير در سازمان و طرحها كاهش مي‌دهد.
مساله ديگر اينكه، UML يك زبان برنامه‌نويسي بصري (visual) نيست، اما مدلهاي آن را مي‌توان مستقيماً به انواع زبانهاي مختلف ارتباط داد. يعني امكان نگاشت از مدلهاي UML به كد زبانهاي برنامه‌نويسي مثل Java و++ VC وجود دارد كه به اين عمل 'مهندسي روبه‌جلو' مي‌گويند. عكس اين عمل نيز ممكن است؛ يعني اين امكان وجود دارد كه شما بتوانيد از كد يك برنامه زباني شي‌گرا، مدلهاي UML معادل آن را بدست آوريد. به اين عمل 'مهندسي معكوس' مي‌گويند. مهندسي روبه‌جلو و معكوس از مهمترين قابليتهاي UML به شمار مي‌روند، البته نياز به ابزار Case مناسبي داريد كه از اين مفاهيم پشتيباني‌كنند.
اگر با زبانهاي مدلسازي ديگر كار كرده باشيد، براي كار با UML مشكل چنداني نخواهيد داشت. اما براي شروع كار با UML به عنوان اولين زبان مدلسازي، بهتر است فقط با نمودارهاي خاصي كار كنيد. براي اين كار بهتر است ابتدا با نمودارهاي مورد كاربرد و تعامل كار كنيد و پس از مدتي كار و آشنا شدن با ويژگيهاي اولية آن، به يادگيري و استفاده از نمودارها و اجزاي ديگر بپردازيد. در مقايسه با زبانهاي مدلسازي ديگر مثلER و زبان فلوچارتي DR، زبان UML نمودارهاي قويتر و قابل ‌فهمتري را ارائه مي‌دهد كه شامل تمامي مراحل چرخة حيات توليد نرم‌افزار (تحليل، طراحي، پياده‌سازي و تست) مي‌شود.
يكي ديگر از ويژگيهاي مهم UML اين است كه مستقل از متدولوژي يا فرآيند توليد نرم‌افزار مي‌باشد و اين بدان معني است كه شما براي استفاده از UML، نياز به استفاده از يك متدولوژي خاص نداريد و مي‌توانيد طبق متدولوژي‌هاي قبلي خود عمل كنيد با اين تفاوت كه مدلهايتان را با UML نمايش مي‌دهيد. البته مستقل‌بودن از متدولوژي و فرآيند توليد، يك مزيت براي UML مي‌باشد؛ زيرا بسياري از انواع پروژه‌ها و سيستمها نياز به متدولوژي خاص خود دارند. اگر UML در پي پياده كردن همة اينها بر مي‌آمد، يا بسيار پيچيده مي‌شد و يا استفاده خود را محدود مي‌كرد. البته متدولوژيهايي براساس UML در حال شكل‌گيري مي‌باشند.
از ديگر ويژگيهاي UML مي‌توان به پشتيباني از مفاهيم سطح بالاي شي‌گرايي مثل Collaboration، Framework، Pattern و Component اشاره كرد. همچنين UML با استفاده از يك سري مكانيزمهاي گسترش‌پذير امكان مي‌دهد كه بتوان زبانهاي مدلسازي جديدتري (با گسترش مفاهيم پايه‌اي موجود) ايجادكرد .

دياگرام هايUML

 

UML يک ابزار ويژوال بوده و از انواع متفاوتي دياگرام استفاده مي نمايد . هر يک از دياگرام هاي UML ، امکان مشاهده يک سيستم نرم افزاري را از ديدگاههاي متفاوت و با توجه به درجات متفاوت Abstraction در اختيار پياده کنندگان قرار مي دهد. برخي از دياگرام هاي UML عبارتند از :

  »   use case diagram
  »   Class Diagram 
  »   behavior diagrams: 
    State Diagram   &   Activity Diagram
  »  interaction diagrams:      Sequence Diagram    &     Collaboration Diagram
  »   implementation diagrams:      Component Diagram    &     Deployment Diagram

 در پاسخ به اين سئوال که ' چرا UML دياگرام جريان داده ها را پشتيباني نمي کند ؟' بايد گفت : به سادگي قرار دادن ، جريان داده ها و ساير انواع دياگرام ها که UML شامل آن نمي شوند در خور جدا کردن در ميان نمونه شئي گراء نيست .
دياگرام فعاليت براي کساني که به DFD ها وفا دارند استفاده مي شود . همچنين دياگرام فعاليت براي مدل هاي کاري در حال جريان مورد استفاده است . نويسندگان UML دياگرام هاي UML را براي واضح بودن پروژه هاي شئي گرا بوجود آورده اند . اما لزوما همه دياگرام هاي ديگر را محکوم نمي کند .
يكي از بزرگترين اهداف طراحي برنامه هاي سيستم نرم افزاري ايجاد برنامه هاي صحيح است به نحوي كه نيازهاي كاربران را بدرستي و با هزينه قابل قبولي برآورده نمايد. فهم نيازهاي كاربران كه مستلزم ايجاد ارتباط با آنهاست، يكي از نكات كليدي در ايجاد نرم افزارهاي مفيد مي‌‌باشد. روشي كه در UML براي نشان دادن اين خواسته‌‌ها بكارگرفته مي‌‌شودUse Case نام دارد. مجموعه تماميUse Case ها، تصوير خارجي سيستم را تشكيل مي‌‌دهد. يك مجموعه خوب از Use Case ها وقتي حاصل خواهد شد كه طراح بداند كاربران چه چيزي از سيستم مي‌‌خواهند.
Use Case ها همچنين ابزار خوبي براي پيشبرد پروژه مي‌‌باشند زيرا ساخت سيستم به طريق تكراري را كنترل مي‌‌كند. در واقع از قابليتهاي ويژه متدلوژيهاي شئ‌‌گرا اين است كه مي‌‌توان يك مجموعه‌‌اي از نيازها را انتخاب نموده و طراحي و پياده‌‌سازي آنرا به پيش برد و بدين صورت ساخت سيستم به‌‌صورت افزايشي را مقدور مي‌‌سازد همچنين با توجه به اين كه تيم طراح و برنامه‌‌نويس در هر مرحله با Use Case ها سروكار دارد، در هر مرحله امكان بازگشت سريع به مراحل قبل وجود دارد. اين روش خود تكنيك با ارزشي است، زيرا نتايج را مرحله به مرحله به كاربر باز خور مي‌‌دهد. در ادامه اين بخش، دياگرام‌‌هايي كه در UML براي مدل سازي سيستم هاي نرم افزاري استفاده مي‌‌شود به صورت اجمالي معرفي مي‌‌گردد.


منبع :  وب سایت تبیان مرکز زنجان   

تاریخ ارسال: 1392/4/25
تعداد بازدید: 2309

کلمات کلیدی

ارسال نظر


ارتباط با ما


تهران - خیابان انقلاب -روبروی پیچ شمیران - جنب دانشگاه آزاد واحد تهران مرکز - ساختمان تنکابن - پلاک 352-طبقه 6 - واحد31

تلفنهای تماس: 021-77513268 , 021-77512236 , 021-77613815 , 09197371329
طراحی و تولید: ایده پرداز طلوع

درخواست دمو

درخواست دمو

نرم افزار CMS