بخشی از مقاله
آشنايي با مفهوم Uml
(قسمت اول)
1. تكامل
زبان مدل هاي متحد (UML) زباني براي معين كردن ، به تصوير كشيدن ، ساختن و مستند كردن محصولات سيستم هاي نرم افزاري ، سيستم هاي تجاري و ساير سيستم هاي غير نرم افزاري است. UML براي نشان دادن يك همكاري عالي مهندسي علمي كه موفقيت آنها در مدل هاي سيستم هاي بزرگ و كامل ثابت شده است مي باشد.
تعاريف UML عبارتند از :
معناي (Semantics) UML : تركيب توصيفات و معنايي UML را تعريف مي كند .UML را مي توان از لايه هاي معماري شده و سازمان داده شده درست شده و ميان هر بسته ، عناصر مدل را در دوره هايي كه از تركيب انتزاعي خودش ( با استفاده از توضيحات دياكرام كلاس ) ، نقش فرم هاي صحيح ( استفاده از متن و توضيح زبان ساختار ) و معناها ( با استفاده از متن هاي دقيق ) تعريف نمود . و شامل دو ضميمه : عناصر استاندارد و فهرست لغات UML مي باشد.
ياداشت هاي راهنماي UML : ياداشتها و تهيه مثالهاي پشتيباني را تعريف مي كند . ياداشتهاي UML تركيب گرافيكي براي توضيح معنايي توصيفات با UML MetaModel را نشان مي دهد.
گسترش UML در پردازش هاي شئي گرا براي مهندسي نرم افزار و گسترش UML براي مدل هاي تجاري : توسعه UML ، توسعه پردازش ها است و دامنه معين در UML در تصوير دياگرام در دوره هاي كه مكانيسم توسعه و پردازش خاص دارند را شامل مي شود.
OCL در UML استفاده مي شود كه براي تفكيك تعريف مستند قيد شئي زبان معين (Object Constraint Language Specification) به كار مي رو د.
1.1 معني براي بينندگان
اين مستند شده از مجموعه معناهاي اوليه جامع و خود مركب كه تعريف شده از معنا ها و ياداشت هاي UML است مي باشد . اولين ملاقات از اين مدارك مجموعه مركب از گروه مديريت اشياء ، سازمان دهي استاندارد ها ، نويسندگان كتاب ، فرهيختار و ابزار سازنده است .
نويشندگان آشنايي با آناليز شئي گرا و طراحي متد ها را به عهده دارند .اين مستندات ،براي متن هاي وابسته به مقدمه روي مدلهاي اشياء براي سيستم هاي پيچيده نوشته نشده اگر چه آنها مي توانند در اتصال با مواد يا يا آموزش استفاده شوند. اين مجموعه از مستندات بيشتر نيتشان در ضميمه هاي اضافي كتاب ها ، دوره هاي آموزشي ، و ابزار مناسب در دسترسي به UML بكار مي رود.
3. هدف UML
اولين اهداف در طراحي UML عبارت بودند از :
1 ) آماده سازي كاربران خواندن براي استفاده ، توضيح زبان مدل تصويري چنان كه بتوان آن را گسترش و تغيير مدل داد .
2 ) ميسر ساختن توسعه پذيري و مكانيسمهاي تخصصي در برابر مفاهيم هسته داخلي
3 ) وجود استقلال از زبان هاي برنامه نويسي خاص و گسترش پردازش .
4 )آماده سازي يك قرارداد اساسي براي فهميدن زبانهاي مدل .
5) تفويت رشد از طرف بازار ابزارهاي مدلهاي شئي گرا.
6) پشتيباني سطح بالا از گسترش مفهوم از قبيل همكاري ها ، چهار چوب ها ، الگوها ، و اجزاء .
7) يكپارچكي بهترين تمرين است .
اين هدف ها كه در زير آمده اند قابل بحث مي باشند :
آماده سازي كاربران خواندن براي استفاده ، توضيح زبان مدل تصويري چنان كه بتوان آن را گسترش و تغيير مدل داد . اين از مهمترين چيزهايي است كه استاندارد OOAD يك زبان مدل پشتيباني مي كند كه مي توان " خارج از جعبه " در برابر وظايف عادي مدل هايي كه مقصود آنها عمومي مي باشد استفاده كرد .
اگر استانداردهاي انح
صاري تهيه كنندگان به صورت meta-meta-description كه نياز به تصيحح براي يك مجموعه خاص از مفهومهاي مدل ، كه نمي خواهند به مقاصدي دست يابند كه كاربران اجازه تغييرات مدل بدون گم شدن اطلاعات يا كارهاي بيش از حد به نقشه هاي مدل خودشان براي هر فرم جداگانه را تحميل كنند.
UML محكم سازي يك مجموعه از مفهومهاي دروني و اصلي مدل را كه عموما در سراسر متد ها و ابزار هاي مدل در حال جريان را به عهده دارد. اين مفهومها در چندين يا بيشتر برنامه هاي كاربردي نياز است .اگر چه هر مفهومي نيازمند هر فسمت از هر برنامه كاربردي نيست . ويژگي مفاهيم يك فرمت meta-meta-level براي كاربران مدل كافي نيست ، زيرا مفاهيم بايد از مدل هاي واقعي رخدادي ، محكم ساخته شده باشند. اگر مفاهيم در چندين منطقه برنامه كاربردي چندين اساس را دار بودند سپس اين قبيل قدرت كار كردن نزديك تري دارند ، اما اساس داخلي يك مفهوم نيازمند بيشترين مناطق استفاده كه شبيه و دليلي براي پشتيباني مستقيم با استاندارد بدون نياز به لايه هاي ديگر هستند .
ميسر ساختن توسعه پذيري و مكانيسمهاي تخصصي در برابر مفاهيم هسته داخلي . ما انتظار داريم كه UML خواهد توانست تصيحح نياز هاي جديد را پوشش دهد و دامنه ها را معين نمايد . در بعضي از مواقع ما نمي خواهيم در هسته داخلي مفاهيم عمومي براي دوباره تعريف كردن يا پياده سازي هر منطقه اصلاحي نفوذ كنيم. از اينرو ما كم كم مكانيسمي را كه مي بايست از پشتيباني بواسطه قالب عمومي نسبت به نياز هاي شروع براي پياده سازي هسته OOA&D مفهومي خودشان انحراف داشته باشند را توسعه مي دهيم .
هسته هاي مفهومي براي اينكه موفق باشند نمي باي
ست تغييرات داشته باشند . كاربراني نياز دارند كه توانايي هاي همچون زير را داشته باشند .
1)ساخت مدلهاي قابل استفاده مفاهيم هسته بدون استفاده از مكانيسم توسعه براي بيشتر كاربرد هاي عادي
2) اضافه كردن مفاهيم و ياداشت هاي جديد براي خارج نشدن پوشش هسته
3) انتخاب از ميان مفاد گوناگون موجود در مفاهيم موجود ، زماني كه توافقات جمع از بين نرفته باشد.
4) مفاهيم ، ياداشت ها و قيدها ي ويژه براي دامنه هاي كاربردهاي خاص .
وجود استقلال از زبان هاي برنامه نويسي خاص و گسترش پردازش .UML بايد و بتواند از همه زبانهاي مستدل برنامه نويسي پشتيباني نمايد .آن همچنين بايد و بتواند از متد ها و پردازش هاي گوناگون مدل هاي ساخته شده پشتيباني نمايد . UML بدون هيچ اشكالي مي تواند از چندن زبان برنامه نويسي و متد هاي در حال گسترش پشتيباني نمايد .
آماده سازي يك قرارداد اساسي براي فهميدن زبانهاي مدل .زيرا كاربران مي خواهند به صورت مرسوم از كمك(Help) براي زبانهايي كه نمي دانند استفاده مي كنند . آن مي بايست مختصرو مفيد و معناي نزديك را برساند يك كسري از اين دو اندازه اي ضرر دارد كه آن را غير مفيد مي سازد . به طور مرسوم نيازي به لايه لايه و غير مستقيم بودن ندارد .
استفاده از رياضي سطح پايين غير صميمي از دامنه مدل ها ، به طوري كه مجموعه اي از ياداشت هاي تئوري ، يا تعاريف موثرآن براي برنامه نويسي يك پياده سازي يكسان باشد. UML يك معني عادي را از يك فرمت ساكن از مدل استفاده شده در MetaModelكه در دياگرامهاي كلاس UML بيان شده آماده مي كند .اين قرار داد قابل دسترس پذيرفته شده ، محبوب و وسيع است كه براي فرمت هاي خاص از يك مدل و راهنمايي مستقيم براي پيادسازي فرمت هاي تغيير يافته مي باشد .
UML اجبارا تركيبي خوب در زبان هاي جامع طبيعي به اضافه اشياء زبان را بيان مي كند .UML معاني قابل استفاده كه بيشتر در نهاد زبان مختصر و مفيد است را بيان مي كند. يك قرارداد نزديكي كامل به زبان هاي خاص دارد به طوري كه Algol-68 به اندازه كافي به اين مقصود نزديك نبود
تقويت رشد از طرف بازار ابزارهاي مدلهاي شئي گراء . فعاليت فروشندگان براي پشتيباني از استاندارد هاي زبان مدل و استفاده كردن بيشتر كاربران و ابزار ها ، مفيد بودن اين صنعت را نشان مي دهد . ازماني كه فروشندگان هنوز مي توانند مقادير را در ابزار پياده سازي اضافه كنند فعاليت در آن ضرورت دارد. فعاليت در آن نياز مند مدل ها،
بدون گم شدن اطلاعات ، كه بتوانند ميان كاربران و ابزار مبادله كنند. اين فقط اگر ابزار روي فرمت و معني با همه مفهوم مطابقت داشته باشند مي تواند رخ دهد . استفاده از يك meta-level سطح بالا راه حلي مناسب نيست مگر اينكه نگاشت هاي مفهومي شامل استاندارد هاي سطح كاربر باشد.
پشتيباني سطح بالا از گسترش مفهوم از قبيل همكاري ها ، چهار چوب ها ، الگوها ، و اجزاء . صراحت در تعريف معاني كه مفهوم آن ضرورتي براي همه استفاده كننده هاي شئي گرا و دوباره استفاده كردن دارد. و تعريف آن در ميان مفاد همگاني از يك زبان مدل كه همكاري يكتا با زبان UML دارد .
يكپارچكي بهترين تمرين است . يك كليد محرك در ميان UML در حال پردازش كه يكپارچگي دارد بهترين تمرين در صنعت ، شامل تغييرات وسيع مناظر اساسي روي سطوح مجرد ، دامنه ها ، معماري ، مراحل چرخه حيات ، تكنولوژي پياده سازي و غيره است . بدرستي كه UML بهترين يك يكپارچگي براي تمرين است.
4 . ميدان ديد در UML
زبان مدل متحد (UML) زباني خاص ، ساخت يافته ، متجسم و مستند كه محصولي از سيستم نرم افزاري متمركز مي باشد است .
اولين و بهترين ، زبان متحد مدل از مفاهيم Boochf, OMT و OOSE تركيب شده است. اين نتايج منفرد ، عمومي ،و استفاده اي وسيع در زبان هاي مدل براي كاربران خود و ساير متد دارد .
دومين جلو برنده زبان هاي متحد مدل پوششي است كه مي توانند با متد هاي موجود صورت پذيرد..براي مثال ،هدف نويسندگان UML مدلسازي همزمان سيستم هاي توزيع شده، براي مجاب كردن آدرسدهي كافي UML در دامنه هاي خودش است .
سومين ، متمركز شدن زبان متحد مدل روي استاندارد هاي زبان مدل و نه روي پردازش زبان است ، اگرچه UML مي بايست در پردازش مفاهيم بكار رود ، اين تجربه اي است كه چندين سازمان و دامنه هاي مسائل نياز به پردازش هاي مختلف دارند . ( برا ي مثال ، گسترش پردازش براي نرم افزار هاي فشرده كوچك بسيار چالب است اما ساخت نرم افزار هاي فشرده كوچك با وسعت مختلف در سيستم هاي خودكار منوط به زندگي آن است .)
از اينرو اولين تلاش براي تمركز روي يك مدل برتر عمومي ( كه معاني متحد دارند ) و دومي روي يك ياداشت عمومي (كه يك فرد را براي ترجمه معاني خودش آماده مي سازد) مي باشد . نويسندگان UML گسترش پردازش روي راهبري UseCase ها، معماري مركزي ، و توسعه و تكراري را ترويج داده اند .
UML تعيين كننده يك زبان مدل ، كه متحد كننده اجتماع موافق شئي گرا روي هسته اصلي مدل هاي مفهومي مي باشد . اين اجازه انحراف توضيحات در دوره هاي كه مكانيسم توسعه دارند را مي دهد . توسعه هايي كه UML دارد پيروي از قابل مشاهده بودن مفاهيم در طول اجرا است
اين توسعه ها عبارتند از :
• آمادگي كافي معني شناسي و نماد ها براي آدرسهاي وسيع مركب از موضوعات مدل هاي همزمان در يك هدايت و سبك اقتصادي .
• آمادگي كافي معني شناسي براي همانند سازي آدرس مورد انتظار مدل هاي نمونه آينده ، وابستگي ويژه براي تكنولوژي اجزاء ، محاسبه بدنه توزيع شده ، و اجرا پذيري .
• آمادگي مكانيسم توسعه پذيري به طوري كه يك پروژه مستقل بتواند MetaModel را براي كاربرد ها به سوي ارزش پايين گسترش دهد . ما نمي خواهيم كه كاربران نياز داشته باشند كه خودشان را با UML MetaModel وقف دهند.
• آمادگي مكانيسم توسعه پذيري به طوري در آينده ، مدل هاي هاي در حال رشد به UML نزديك باشند .
• آمادگي كافي معني شناسي براي كمك كردن مدل در حال تفيير در ميان انواع گوناگون از ابزار .
• آمادگي كافي معني شناسي براي واسطه هاي معين در برابر مخازن براي تقسيم بندي و ذخيره سازي محصولات مدل.
3.1 اولين محصولات UML
چه چيزهايي محصولات اوليه UML هستند ؟ اين پاسخ مي تواند دو جنبه مختلف داشته باشد . UML خودش و آن چيزهاي كه محصولات پروژه ها استفاده مي كنند را تعريف مي نمايد.
3.1.1 تعاريف محصولات UML
اولين درك ، از محصولاتي است كه خودشان زبان مدل متحد را تشكيل داده اند ، اين سند شامل مجموعه از معناها UML ،راهنماي ياداشت هاي UML ، و مستندات الحاقات UML ، به اضافه ضمايم است. بعضي از اين مفاهيم در زير آمده است . در اضافه اين مستندات ، كتاب ها تدابيري كانوني براي درك ، مثال ها و اصطلاحات كاربردي عمومي ما هستند .
مفاهيم UML
مدارك مفاهيم UML زبان تعريف استفاده از سه عبارت را بيان مي كند :
تركيب انتزاعي دياگرام كلاس هاي UML ،MetaModel هاي UML كه مفاهيم (MetaModel) ، ارتباطات ، و خود كنترل ها را نشان مي دهد. كه مفاهيم شامل شده را بيان مي كند.
قواعد فرم بندي خوب قواعد و خود كنترل كننده ها روي يك مدل صحيح تعريف مي شوند ، قواعد ، توضيح به نثر درآمده انگليسي و در يك زبان خود كنترل شئي(OCL) دقيق و مختصرشده است.OCL يك زبان ويژه كه منطقا ساده براي خواص يكسان معين از سيستم هاي كه شامل مجموعه ها و ارتباطات بين مجموعه ها است .
مفاهيم مفاهيم مدل براي به نثر در آوردن توصيحات انگليسي به كار مي رود ، اين چشم اندازي براي تشكيل يك تعريف قرارداد در UMLاست. بيشتر قراردادها مي توانند به صورت توضيحات رياضي وارد شوند كه بيشتر افراد مي توانند به طور مستقيم آن را درك نمايند.
يك متا مدل (MetaModel) زباني براي مدلهاي معين ، و در قالب يك شئي مدل است . در كلمات ديگر مدلي
براي مدل عناصر است . مقصود UML از متا مدل آماده سازي يك فرد ، عموم ، و تعريف توضيح از علم نحو و مفاهيم عناصر UML است . پيش از اين متا مدل هايي ساخته شده بودند كه امكاني براي گسترش ترتيب روي مفاهيم غير زوج از نمونه مفاهيم كه آن مفاهيم مي خواهند بهترين منتقل كننده باشند را دارا بود.
اضافا ، متامدل براي به وجود آوردن امكان براي تيم هايي كه كاوش راه ها را در به وسيله زبان هاي مدل خيلي ساده، در كنار مفاد، عناصر يكي شده ، از زبان مدل متحد ساخته شده، بود ( براي مثال ، عموما ميان مفاهيم كلاس ، الگو ها ، و قالب هاي مورد اسبفاده را پوشش مي داد ) . نويسندگان انتظار دارند شخصا اين متا مدل زوج بيشتر توصيفات جامع را توضيح دهند . استفاده از اين مفاهيم تكنيكي قراردادي است .
سطح متا در يك مدل قدري قابل داوري است و توسعه دهنده UML از روي قصد مفاهيم سطح بالا را انتخاب مي كند زيرا آن سطح ضروري است ، و مفاهيم قابل قبول براي طراحي سيستم هاي پيچيده ، سازگار با استفاده ، و ابزار قابل تعويض را ضروري مي سازد.
عناصر استاندارد و فهرست UML دو ضميمه هستند .
ياداشت هاي راهنماي UML
راهنماي ياداشت هاي UML ، ياداشت ها UML و مثال هاي آماده آن را توضيح مي دهد . ياداشت هاي گرافيكي و تركيب متني بيشتر براي قسمت هاي قابل ديد UML ( از ديد خارجي ) كه افراد و ابزار ها سيستم مدل استفاده مي كند است . اينها نشان دهنده سطح مدل كاربر ، كه كدام مفاهيم نمونه اي از متا مدل در UML است را بيان مي كند. انواع دياگرام استاندارد در قسمت 4.1.2 در پايين ليست شده اند . ياداشت هاي راهنما همچنين خلاصه اي از مفاهيم UMLهستند ; به هر حال مفاهيم مستندات UML محتوي تعاريف است..
الحاقات UML
الحاقات تعريف شده توسط كاربران در UML قادرند در سرتا سر قالب ها ، مقادير ضميمه و خود كنترل استفاده شوند .
دو نوع الحاق در حال جريان به صورت زير تعريف مي شوند.
1 – پردازش شئي
2-مهندسي تجاري
كاربرد UML وسيع است بدون الحاقات ، همينطور شركت ها و پروژه ها مي توانند تعريف شوند الحاقات را فقط زماني براي معرفي يادداشت جديد و كلمات فني ضرورت پيدا كردند مي توان استفاده نمود. الحاقات نمي خواهند به صورت عمومي درك ، پشتيباني و ترتيب دهنده برروي خود UML باشند .
در مراحلي كه براي كاهش عوامل اشتباه زا اطراف يك فروشنده پياده ساز در دوره هاي متناوب تعريف مي شود كه دوره هاي آن عبارت است از :
گوناگوني UMLكه زباني با مفاهيم خوش تعريف كه روي متا مدل يك متا مدل UMLساخته شده است. اين مي تواند ويژگي متا مدل UMLبدون تغييرات هر UMLاز مفاهيم يا دوباره تعريف كردن هر دور از آن باشد ( براي مثال اين نمي تواند در جزء اي كه ساخته شده دوباره تعريف گردد.)
الحاقات UML مجموعه اي از قبل تعريف شده از قالب ، مقادير برچسب دار و خود كنترل ها و شمايل يادداشت ها كه توسعه اي مجتمع و تصيحح UML براي دامنه اي معين يا پردازشي ، برنامه اي الحاقي پردازشي دارند است