مقدمه
زبان مدل سازي يکپارچه ( UML ) يک زبان مجازي است که موجب مي شود افرادي که سيستم هاي شئ گرا را تحليل و طراحي مي کنند، سيستم هاي نرم افزاري را ببينند، بسازند ومستند سازي کنند وسازمان هاي تجاري اي را مدل سازي کنند که ازاين سيستم ها استفاده مي نمايند. در طراحي يک سيستم اولين سؤال تعيين وظايف اشياء است. سوال دوم چگونگي همکاري بين کلاسها در جهت انجام وظايف کلي سيستم است. در واقع کلاسها مبين ابراز در يک مدل شئ گرا هستند. از ارتباط بين اين ابزار است که اهداف و وظايف سيستم به انجام مي رسد.
شئ گرايي
برنامه نويسي شئ گر ا (Object Oriented Programming) يک شيوه برنامه نويسي است که ساختار يا بلوک اصلي تشکيل دهنده برنامه ها در آن اشيا ء هستند . برنامه نويسي ش ئ گرا (OOP) ، از اوايل سال 196 0 مطرح گرديد . برنامه نويسي شئ گرا با اينکه به عنوان يک ايده جديد مطرح شده بود ولي ب ه سرعت زبان هاي مدل سازي ش ئ گرا براي پوشش ايده فوق، مطرح و پياده سازي گرديدند. در فاصله سال هاي 1970 تا اواخر 1980چندين زبان مدل سازي شئ گرا پياده سازي گرديد. تعداد زبان ها ي مدل سازي شئ گرا در سال 1995 به بيش از پنجاه نمونه رسيده بود.
تاريخچه
UML يک زبان مدل سازي است كه درسال 1995 به وسيله شركت Rational معرفي شد. با هدف ارائه يک زبان استاندارد فراگير شركت Rational با گردآوري سه نفر از ارائه كنندگان معتبرترين روش هاي شئ گرا يعني Jacobson مبدع روش OOSE ، BOOCH مبدع روشي با همين نام ، Rum Bough مبدع روش OMT و با أخذ نقاط قدرت سه روش فوق الذكر، يک زبان استاندارد به نام UML ارائه كرد.اين زبان پس از ارائه از سوي ( Object Management Group ) كه يكي از معتبرترين سازمان جهاني در زمينه شئ گرايي ميباشد به عنوان يک استاندارد پذيرفته شد.
تعاريف
Object : به هرمفهوم يا هرچيز قابل درکي که بشود با خصوصيات و رفتار مستقل ، آن را از يک محيط بازشناسي کرد.
Class : توصيفي از يک يا چند شئ که مجموعه صفات متدهاي يکسان دارند.
Instance : مورد يا نمونه عبارتست از هر يک از موجوديتهاي متعلق به يک کلاس.
Attribute : هر شئ يکسري خصوصيات دارد که به آنها صفت گفته مي شود که در واقع يک مقدار يا ارزش مشخصي براي آن به ازاي هر شئ مي تواند وجود داشته باشد.
Method : رفتار خاصي که شئ موظف به انجام است.
روابط
توارث (Inheritance) : يک شئ صفات و متدهاي کلاس خودش و همچنين کلاس ديگري را مي تواند به ارث ببرد.
تجريد (Abstraction) : خصوصيات اصلي يک موجوديت را که آنرا از تمام موجوديت هاي ديگر متمايز مي کند نشان مي دهد.
پنهان سازي (Encapsulation): بدين معني که فقط اطلاعاتي از يک شئ را در اختيار اشياء ديگر قرار دهيم که براي آن شئ قاب استفاده است نه بيشتر.
چند شکلي (Polymorphism) : مفهومي در تئوري انواع که در آن يک اسم مي تواند نشان دهنده موجوديت هاي کلاس هاي مختلفي باشد که بواسطه يک فوق کلاس مشترک با هم مرتبط مي شوند.
نمونه سازي (Instantiation) : به معناي ايجاد يک شئ از يک کلاس است .
مسئوليت ( Responsibility) : مسئوليت چيزي است که به شئ اختصاص داده مي شود و دو جنبه دارد :
آنچه که شئ راجع به خودش مي داند .
کساني که شئ را مي شناسند و با آن ارتباط دارند .
تناظر يا ارتباط Associations : اشياء در بعضي حالات به يکديگر وابسته هستند . يک شئ از يک کلاس ممکن است با چند شئ از کلاس ديگر متناظر باشد .
تجمع Aggregation: نشان دادن وابستگي بين اجزاء و کل .
ارسال پيام(Message Sending): در يک سيستم، اشياء با هم کار مي کنند. آنها اين کار را با فرستادن پيام به يکديگر انجام مي دهند. يک شئ پيامي را براي اجراي عمليات به شئ ديگر مي فرستد، شئ گيرنده پيام آن عمليات را اجرا مي کند. بطورکلي پيام ها براي اجراي عمليات درخواست مي شوند .
UML چيست ؟
يک زبان ويژوال است که مي تواند براي توسعه سيستمهاي نرم افزاري به کار رود. زبان هاي برنامه سازي شامل مجموعه اي از عناصر و قوانين است که مشخص مي کند چگونه مي توان آن عناصر را ترکيب کرد تا برنامه هاي معتبري نوشته شوند. اغلب عناصر UML گرافيکي اند، يعني شامل : خطوط، چهارگوش، لوزي وشکلهاي ديگر است واغلب اين عناصرگرافيکي با واژه هايي برچسب گذاري مي شوند که اطلاعات ديگري را فراهم مي کنند.
کاربرد UML
به عنوان يک راه ارتباطي مشترک بين اعضاي يک تيم اجرايي فرايند نرم افزار
به عنوان زبان مدل سازي اجزاي مختلف فرايند توسعه نرم افزار
قابل استفاده در سيستم هاي نرم افزاري و غير نرم افزاري (Business Systems)
براي مدل سازي و طراحي پايگاه داده هاي نرم افزاري
پذيرفته شدن به عنوان استانداردي در اکثر ابزارهاي مهندسي نرم افزار
مدلها ي آن را م ي توان مستقيماً به انواع زبان ها ي مختلف ارتباط داد. يعني امكان نگاشت از مدلهاي UML به كد زبان هاي برنامه نويسي مثل Java و VC++ وجود دارد كه به اين عمل "مهندسي رو به جلو " مي گويند . عكس اين عمل نيز ممكن است ، يعني اين امكان وجود دارد كه شما بتوانيد از كد يک برنامه شئ گرا، مدلهاي UML معادل آن را بدست آوريد. به اين عمل "مهندسي معكوس" مي گويند . مهندسي روبه جلو و معكوس از مهمترين قابليتها ي UML به شما ر مي روند، البته نياز به ابزار مناسبي داريد كه از اين مفاهيم پشتيباني كنند .
UML و فرآيند
اگر چه UML مستقل از فرآيند است ولي ايجاد کنندگان آن فرآيندي را طراحي کرده اند که به طور کامل از UML پشتيباني مي کند. عموماً هر فرآيند چرخه حيات شامل فعاليت هاي زيراست :
Requirements : فعاليت هايي جمع آوري نيازمندي هاي سيستم
Analysis : فعاليت هاي تحليل براي درک نيازمندي ها
Design : براي تخمين اينکه سيستم با چه اجزايي مي تواند نيازمندي هاي سيستم را برآورده سازد.
Test : براي بررسي اينکه سيستم نيازمندي ها را پوشش مي دهد.
Deployment : براي در دسترس قرار دادن سيستم براي کاربران نهايي
سازگاري با UML
براي سازگاري با UML ، مدل بايد از نحو انتزاعي، قوانين خوش فرم ، معني ، نماد گذاري وشماي XMI پيروي کند.
نحو انتزاعي به صورت نمودار و زبان طبيعي بيان مي شود.
قوانين خوش فرم به زبان طبيعي و OCL بيان مي شود.
معني با استفاده از زبان طبيعي و اندکي نمودار بيان مي شود.
نماد گذاري با زبان طبيعي و نمودار بيان مي شود.
شماي XMI با زبان XML بيان مي شود.
چرا از نمودارهاي تحليل و طراحي استفاده مي شود؟
تحليل گران و طراحان سيستم، با استفاده ازنمودارها، سيستم نرم افزاري خود را ويژوال مي کنند. نمودارها چه امتيازاتي براي فرايندهاي طراحي ارائه مي کنند؟
دو کاربرد مهم نمودارها در طراحي عبارتند از :
انتزاعي کردن ويژگي هاي طراحي
نمايش رابطه هاي بين عناصر طراحي
سيستم هاي کامپيوتري ، محصولات پيچيده اي هستند که از نرم افزار و سخت افزار ساخته شده اند. نمودارها، راهي را براي مدل سازي اين سيستم ها ، چگونگي سازمان دهي آنها و چگونگي عملکرد آنها فراهم مي کنند. رابطه هاي بين عناصر طراحي را مي توان به طور گرافيکي يا متني نمايش داد.
انواع رابطه ها در مدل ها عبارتند از:
رابطه هاي ساختاري بين عناصر مدل که وابستگي اي به يکديگردارند.
رابطه هاي سازماني بين عناصر سيستم که بايد با هم در سيستم نهايي بسته بندي شوند تا سيستم کار کند.
رابطه هاي موقتي بين بخش هايي از مدل به منظورتشريح دنباله اي از رويدادها در طول زمان.
رابطه هاي علت و معلولي بين عناصر مدل ، مثلاً براي نمايش پيش شرط هايي که بايد قبل از انجام کاري برقرار باشد.
رابطه هاي تکاملي بين مدل ها در طول زمان ، که نشان مي دهند در اثناي طول عمر پروژه ، عنصري از عنصر ديگر مشتق شده است.
UML تمام اين رابطه ها را بين عناصر خود دارد.
رابطه هاي ساختاري : وابستگي هاي بين کلاس ها.
رابطه هاي سازماني : Package ها راهي براي سازمان دهي عناصر مدل است.
رابطه هاي موقتي : توالي زماني پيام ها در نمودار توالي تعاملي.
رابطه هاي علت و معلولي : حالت ها در نمودارهاي حالت.
رابطه هاي تکاملي : رد يابي وابستگي هاي بين نمودارها در مدل طراحي و مدل تحليل.
ارسال مقاله توسط کاربر محترم سايت: baran22 /ع