بازگشت   پی سی سیتی > کامپیوتر اینترنت و شبکه Computer internet > زبان های برنامه نویسی Programming

زبان های برنامه نویسی Programming بحث در مورد زبانهای مختلف برنامه نویسی

پاسخ
 
ابزارهای موضوع نحوه نمایش
  #1  
قدیمی 11-14-2007
دانه کولانه آواتار ها
دانه کولانه دانه کولانه آنلاین نیست.
    مدیر کل سایت
        
کوروش نعلینی
 
تاریخ عضویت: Jun 2007
محل سکونت: کرمانشاه
نوشته ها: 12,700
سپاسها: : 1,382

7,486 سپاس در 1,899 نوشته ایشان در یکماه اخیر
دانه کولانه به Yahoo ارسال پیام
پیش فرض Uml

این تایک به صورت موقتی هست و اطلاعات اون پیوستگی منطقی ندارد و به زودی یا پاک خواهد شد یا سر و سامان میگیرد !


آشنايي با مفهوم 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 براي دامنه اي معين يا پردازشي ، برنامه اي الحاقي پردازشي دارند است
__________________
مرا سر نهان گر شود زير سنگ -- از آن به كه نامم بر آيد به ننگ
به نام نكو گر بميــرم رواست -- مرا نام بايد كه تن مرگ راست



پاسخ با نقل قول
جای تبلیغات شما اینجا خالیست با ما تماس بگیرید




  #2  
قدیمی 11-14-2007
دانه کولانه آواتار ها
دانه کولانه دانه کولانه آنلاین نیست.
    مدیر کل سایت
        
کوروش نعلینی
 
تاریخ عضویت: Jun 2007
محل سکونت: کرمانشاه
نوشته ها: 12,700
سپاسها: : 1,382

7,486 سپاس در 1,899 نوشته ایشان در یکماه اخیر
دانه کولانه به Yahoo ارسال پیام
پیش فرض

زبان مدلسازي يكنواخت (UML) مي‌تواند در جهت ارتقاي كيفيت و توجه به اصول مهندسي نرم‌افزار در كشور مؤثر باشد

علي‌رغم مزيتهاي عمده‌اي كه كارشناسان براي صنعت نرم‌افزار ايران برمي‌شمرند (از جمله نيروي انساني مستعد و ارزان)، اين صنعت در كشور ما با افت شديد كيفيت روبرو است. نه شركتهاي نرم‌افزاري معدود كشور، چندان به دنبال بكارگيري استانداردها و روشهاي علمي طراحي و توليد نرم‌افزار هستند و نه فرهنگ مصرف ما كيفيت‌طلب است.
مشتريان بزرگ و مشكل‌پسند (كه معمولاً شركتهاي بزرگ دولتي هستند) نيز طالب خريد از خارج هستند و عدم كيفيت نرم‌افزارهاي ساخت داخل را بهانه مي‌كنند. يكي از مهمترين اقداماتي كه دولت بايستي در جهت اصلاح اين بازار آشفته انجام دهد، ترويج استانداردهاي مدلسازي نرم‌افزار است. مدلهاي استاندارد، تعريف دقيقتر نرم‌افزار را ممكن ساخته و از سوءتفاهمات جلوگيري مي‌كنند. اين مدلها همچنين ارزيابي نرم‌افزار را تسهيل نموده و ابزاري براي سوق دادن صنعت نرم‌افزار بسوي رعايت معيارهاي كيفي و اصول مهندسي نرم‌افزار فراهم مي‌آورند. مقالة زير به معرفي يكي از مهمترين اين استانداردها پرداخته است:


زبان مدلسازي يكنواخت:


زبان مدلسازي يكنواخت يا Unified Modeling Language (UML)، يك زبان مدلسازي است كه براي تحليل وطراحي سيستمهاي شي‌گرا بكار مي‌رود. UML اولين بار توسط شركت Rational ارائه شد و پس از آن از طرف بسياري از شركت‌هاي كامپيوتري و مجامع صنعتي و نرم‌افزاري دنيا مورد حمايت قرار گرفت؛ به طوريكه تنها پس از يك سال، توسط گروه Object Management Group، به عنوان زبان مدلسازي استاندارد پذيرفته شد. UML تواناييها و خصوصيات بارز فراواني دارد كه مي‌تواند به طور گسترده‌اي در توليد نرم‌افزار استفاده گردد. در ادامة اين مقاله ابتدا به تاريخچة UML و در ادامه به معرفي، ويژگيها و نمودارهاي آن پرداخته مي‌شود و در پايان، روند حركت به سمت UML و اهميت آن براي ايران، بررسي خواهد شد.


تاريخچة 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 ارائه گرديد.


UML چيست؟



UML يا زبان مدلسازي يكنواخت، زباني است براي مشخص كردن (Specify)، مصورسازي (Visualize)، ساخت (Construction) و مستندسازي (Documenting) سيستمهاي نرم‌افزاري و غير نرم‌افزاري و نيز براي مدلسازي سيستمهاي تجاري. اما چرا مدل و مدلسازي؟

ايجاد يك مدل براي سيستمهاي نرم‌افزاري قبل از ساخت يا بازساخت آن، به اندازه داشتن نقشه براي ساختن يك ساختمان ضروري و حياتي است. بسياري از شاخه‌هاي مهندسي، توصيف چگونگي محصولاتي كه بايد ساخته شوند را ترسيم مي‌كنند و همچنين دقت زيادي مي‌كنند كه محصولاتشان طبق اين مدلها و توصيفها ساخته شوند. مدلهاي خوب و دقيق در برقراري يك ارتباط كامل بين افراد پروژه، نقش زيادي مي‌توانند داشته باشند. شايد علت مدل كردن سيستمهاي پيچيده اين باشد كه تمامي آن را نمي‌توان يكباره مجسم كرد، بنابراين براي فهم كامل سيستم و يافتن و نمايش ارتباط بين قسمتهاي مختلف آن، به مدلسازي مي‌پردازيم. UML زباني است براي مدلسازي يا ايجاد نقشه توليد نرم‌افزار.

به عبارت ديگر، يك زبان، با ارائه يك فرهنگ لغات ويك مجموعه قواعد، امكان مي‌دهد كه با تركيب كلمات اين فرهنگ لغات و ساختن جملات، با يكديگر ارتباط برقرار كنيم. يك زبان مدلسازي، زباني است كه فرهنگ لغات و قواعد آن بر نمايش فيزيكي و مفهومي آن سيستم متمركزند. براي سيستمهاي نرم‌افزاري نياز به يك زبان مدلسازي داريم كه بتواند ديدهاي مختلف معماري سيستم را در طول چرخة توليد آن، مدل كند.

فرهنگ واژگان و قواعد زباني مثل UML به شما مي‌گويند كه چگونه يك مدل را بسازيد و يا چگونه يك مدل را بخوانيد. اما به شما نمي‌گويند كه در چه زماني، چه مدلي را ايجاد كنيد. يعني UML فقط يك زبان نمادگذاري (Notation) است نه يك متدولوژي. يك زبان نمادگذاري شامل نحوة ايجاد و نحوة خواندن يك مدل مي‌باشد، اما يك متدولوژي بيان مي‌كند كه چه محصولاتي بايد در چه زماني توليد شوند و چه كارهايي با چه ترتيبي توسط چه كساني، با چه هزينه‌اي، در چه مدتي و با چه ريسكي انجام شوند.


ويژگيهاي UML :


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 مي‌پردازيم وعلاقمندان به آشنايي بيشتر را، دعوت به مطالعه مراجع معرفي شده، مي‌نماييم:


نمودار كلاس (Class Diagram):


اين نمودار،كلاسها، واسطها و همكاري و روابط بين آنها را نمايش مي‌دهد. و نمودار اصلي و مركزي UML مي‌باشد. كه بيان‌كننده ساختار ايستاي سيستم نرم‌افزاري مي‌باشد.


نمودار اشياء (Object Diagram):



اين نمودار، اشياء سيستم و روابط بين آنها را نمايش مي‌دهد. در واقع يك تصوير لحظه‌اي از نمودار كلاس مي‌باشد.


نمودار موردكاربرد (Usercase Diagram):


اين نمودار، تعامل كاربران خارجي و سيستم را مدل مي‌كند و از جهاتي شبيه نمودار سطح صفر DFD مي‌باشد كه جنبه‌هاي رفتاري سيستم را نمايش مي‌دهد. اين نمودار نقطه‌ ورودي براي تمامي نمودارهاي ديگري است كه به تشريح نيازمنديها و معماري و پياده‌سازي سيستم مي‌پردازند.


نمودارهاي تعامل (Interaction Diagram):


اين نمودارها، بيان كننده تعامل هستند كه شامل اشياء مختلف و روابط بين آنها و همچنين پيغامهايي كه بينشان رد و بدل مي‌شود مي‌باشند. اين نمودارها جنبه‌هاي پوياي يك سيستم را مدل مي‌كنند و خود بر دو نوعند: نمودار توالي(Sequence Diagram) كه ترتيب زماني تعامل‌ها را نشان مي‌دهد و نمودار همكاري(Collaboration Diagram) كه تاكيد بر نمايش ساختاري تعامل‌ها دارد.


نمودارحالت (Statechart Diagram):


اين نمودار، بيان‌كننده جنبه‌هاي رفتاري سيستم مي‌باشد و در واقع توصيف رسمي يك كلاس بوده كه شامل حالات، انتقال بين حالات، رخدادها و فعاليتها مي‌باشد. از اين نمودارها براي نمايش دادن چرخه حيات اشياء يك كلاس خاص نيز مي‌توان استفاده كرد.


نمودار فعاليت(Activity Diagram):


اين نمودار، نوع خاصي است از نمودار حالت، كه انتقال جريان از يك فعاليت به فعاليت ديگر را نمايش مي‌دهد. اين نمودار جنبه‌هاي پوياي يك سيستم را نمايش مي‌دهد. در واقع حالات اين نمودار، گامهاي ترتيبي انجام يك عمل را نمايش مي‌دهند.


نمودار اجزاء(Component Diagram):


از جمله نمودارهاي پياده‌سازي مي‌باشد و سازماندهي و روابط بين مجموعه‌اي از اجزاء را نمايش مي‌دهد. اين نمودار، جنبه هاي ايستاي پياده‌سازي يك سيستم را مدل مي‌كند.


نمودار به‌كارگماري(Deployment Diagram):


پيكربندي گره‌هاي پردازشي زمان اجرا را نمايش مي‌دهد. كه براي مدل كردن جنبه‌هاي ايستاي به‌كار‌گماري يك معماري بكار مي‌رود. همچنين نمايش‌دهندة اجزاي استفاده‌شده زمان اجرا مثل كتابخانه‌هاي DLL، فايل‌هاي اجرايي، كدهاي مبدا و روابط بين آنها مي‌باشد.

البته اين نمودارها تمام نمودارهاي UML نيستند بلكه بسته به نياز و با كمك ابزارهاي Case ميتوان نمودارهاي ديگري نيز تعريف و استفاده كرد.


روند حركت به سمت UML در جهان:


قبل از ارائه UML، زبان مدلسازي استانداردي وجود نداشت و استفاده‌كنندگان مجبور بودند از ميان زبانهاي مختلف موجود ‌كه هيچيك تقريباً كامل نبودند و تفاوتهايي با هم داشتند، يكي را انتخاب كنند. تفاوتهاي زبانهاي مدلسازي، چندان قدرت مدلسازي را افزايش نداده بود، اما در عوض باعث افول صنعت شي‌گرايي و سردرگمي كاربران شده بود. در چنين شرايطي طبيعي بود كه استقبال زيادي از يك زبان مدلسازي استاندارد كه ويژگيهاي بارز زيادي داشت، بشود. بسياري از شركتها در همان اوايل كار به UML روي آوردند و تعداد ديگري نيز پس از تثبيت UML، آن را به عنوان استراتژي توليد ومستندسازي خود پذيرفتند.

OMG كه كنسرسيومي است متشكل از 700 شركت معتبر آمريكا، از UML حمايت كرد و آن را به عنوان زبان مدلسازي استاندارد خود اعلام كرد. البته علاوه بر استاندارد شدن، حمايت جداگانه شركت‌هاي بزرگ دنيا مثل Hewlett-Packard، I-Logix، Microsoft، IBM، Oracle و بسياري ديگر، خود سبب افزايش كاربرد آن در محافل صنعتي و نرم‌افزاري دنيا گرديد. امروزه نيز با ارائه نسخه 1.3 و رفع مشكلات گذشته، روز به روز بر كاربران آن افزوده مي‌شود.


روند حركت به سمت UML در ايران:


در ايران حركت برخي شركتها به سمت UML سريعتر انجام شد؛ بطوريكه در همان زمان استاندارد شدن UML در سال 1997، شركتهايي در ايران، اين ابزار را به عنوان استاندارد خود پذيرفتند و از آن در توليد محصولات خود استفاده كردند.

يكي از مشكلات پذيرش اين زبان در ايران، مقاومتهايي است كه در رابطه با خود شي‌گرايي مطرح مي‌شود. البته نظير اين مقاومتها در دنيا نيز وجود داشت و سرو صداهاي بسياري را سبب شد. اما تا قبل از ظهور UML و با ارائه متدهاي فراوان شي‌‌گرايي، اين مشكل تا حدودي حل شده بود.

با توجه به روند حركت شتابان به سمت UML در دنيا و با توجه به اهميت استانداردسازي براي صنعت نرم‌افزار كشور، حركت هرچه‌سريعتر به سوي اين فناوري در كشور توصيه مي‌شود.


اهميت ترويج UML در كشور:



در كشور ما شركتهاي نرم‌افزاري كه روشهاي علمي طراحي و مهندسي نرم‌افزار را به كار برند بسيار كمياب هستند. در واقع رقابت بين شركتها بيشتر بر سر كاهش قيمت است و نه بهبود كيفيت. ممكن است تصور شود عامل اصلي بروز اين مشكل، فرهنگ مصرف غلط در كشور است و لذا حل مشكل نيز به دست مصرف‌كنندگان است. اما بايستي از خود پرسيد كه مصرف‌كنندگان چگونه خواهند توانست يك محصول نرم‌افزاري را ارزيابي كرده و انتظارات خود را به طور دقيق مطرح نمايند؟ در اين زمينه دولتها وظايف مهمي دارند و مي‌توانند ابزارهاي لازم را فراهم نمايند.

هرچند UML يك استاندارد براي تشخيص كيفيت نرم‌افزارها نيست ولي استانداردي براي مدلسازي نرم‌افزار است ولذا مراحل مختلف تعريف، طراحي و حتي تست نرم‌افزار را تسهيل نموده و كار تيمي و ارزيابي ناظران خارجي را آسان و ممكن مي‌نمايد. اگر استفاده از UML در توليد نرم‌افزار در كشور به يك فرهنگ تبديل گردد، گام بزرگي به سوي دقت، كيفيت، مستندسازي و رعايت اصول مهندسي نرم‌افزار برداشته شده است.


مراجع :



1.Booch Grady, Rumbaugh James, Jacobson Ivar, “The UML User Guide”, Adison-Wesley, 1998. ‏2.Fewler Martin, “Why Use The UML”, http://www.sdmagazine.com/uml/focus.fowler.htm, 1/20/2000.

3.“Analyse and Design With UML”, www.rational.com, 1/20/2000.

4.“OMG Unified Modeling Language Specification”, www.omg.org, 1/20/2000.

5.Surveyer Jacques, “Java and UML”, http://www.devx.com/upload/free/feat...399/js1399.asp , 2/25/2000
__________________
مرا سر نهان گر شود زير سنگ -- از آن به كه نامم بر آيد به ننگ
به نام نكو گر بميــرم رواست -- مرا نام بايد كه تن مرگ راست



پاسخ با نقل قول
  #3  
قدیمی 11-14-2007
دانه کولانه آواتار ها
دانه کولانه دانه کولانه آنلاین نیست.
    مدیر کل سایت
        
کوروش نعلینی
 
تاریخ عضویت: Jun 2007
محل سکونت: کرمانشاه
نوشته ها: 12,700
سپاسها: : 1,382

7,486 سپاس در 1,899 نوشته ایشان در یکماه اخیر
دانه کولانه به Yahoo ارسال پیام
پیش فرض

نمودار كلاس (Class Diagram)

اين نمودار، كلاس‌ها و ارتباطات آنها را نمايش مي دهد و ديدي كلي از حالت ايستاي سيستم(مجموعه كلاس‌ها) ارائه مي دهد. هر كلاس داراي نام، تعدادي ويژگي(صفت) و عملوند بوده و نشان دهنده مجموعه اي از اشياء است كه داراي حالت، معنا و رفتار مشابه هستند. در دياگرام كلاس، روابط بين كلاس‌ها(كداميك با هم همكاري مي كنند، كداميك فرزند ديگري است و ...) مشخص مي شود، به طور جزئي تر اما بايد گفت كه اين دياگرام معمولا به يكي از سه دليل زير استفاده مي شود:
مدلسازي واژگان سيستم: جهت تصميم گيري در مورد تجريدهاي سيستم و اينكه كداميك جزو سيستم و كدام مرزي باشد
مدلسازي ارتباطات و تعاملات: جهت مدلسازي كلاس‌هاي همكار و واسط‌هائي كه در انجام يك فرآیند با هم همكاري دارند.
مدلسازي شماي منطقي پايگاه داده: جهت مشخص كردن اطلاعات پايدار سيستم(اطلاعاتي كه بايد ذخيره شود) در يك پايگاه داده رابطه اي يا شيء گرا.

ويژگي‌هاي مهم:
براي ارتباط بين كلاس‌ها چندين نوع رابطه وجود دارد كه به شرح زير است:
رابطه وابستگي: براي نشان دادن ارتباط بين دو كلاس كه يكي از وجود ديگري "آگاه" است يا از آن(از متد‌ها يا ويژگي‌هاي آن) "استفاده" مي كند، به كار برده مي شود. منطقي است كه اگر تغييري در كلاس مورد استفاده رخ دهد، كلاس استفاده كننده نيز تاثير پذيرد. اين رابطه كه ضعيف ترين نوع رابطه است مي تواند يك طرفه و يا دوطرفه باشد ولي به هر حال استفاده از يك كلاس براي يك لحظه است و نه بازه اي طولاني از زمان.
رابطه انجمني: رابطه اي "ساختاري" است كه نشان مي دهد اشياء يك كلاس به اشياء ديگري مربوط هستند بطوريكه دو كلاس براي بازه اي از زمان باهمديگر تعامل دارد. اين ارتباط قوي تر از نمونه قبلي است و براي زماني استفاده مي شود كه دو كلاس با هم ارتباط ساختاري دارند وهر دو در يك سطح از اهميت هستند(رابطه كل به جزء وجود ندارد).
رابطه تجمعي: نشان مي دهد يك كلاس از چند كلاس ديگر تشكيل(مونتاژ) شده است. كلاس كل "مالك" كلاسهاي جزء محسوب مي شود اما كلاس جزء مي تواند بصورت جدا نيز وجود داشته باشند و حتي با مرگ كلاس كل، اجزاء مي توانند همچنان به حيات خود ادامه دهد. اين رابطه شبيه فرآیند "مونتاژ" است كه در آن يك موجوديت از تعدادي قطعه ساخته مي شود، اگرچه خود قطعات از قبل هم وجود داشته اند و مي توانند در مونتاژهاي ديگر و جهت ساخت موجوديت‌هاي تجمعي ديگر نيز استفاده شوند.
رابطه تركيب: نشان مي دهد يك كلاس خود تركيبي از چند كلاس ديگر است بطوريكه با مرگ كلاس اصلي، اجزاء آن نيز مي ميرند. تركيب را رابطه كل به جزء(بخش) گويند. در اين حالت، تركيب(و نه مونتاژ) كلاس‌هاي جزء منجر به توليد كلاس كل مي شود و كلاس‌هاي جزء را نمي توان بصورت جداگانه يا به عنوان بخشي از كلاس ديگري يافت(يك جزء فقط مي تواند در يك تركيب وجود داشته باشد) و كلاس اصلي مسئول ايجاد، مديريت و مرگ اجزاء خود است، از اين جهت است كه اين رابطه را قوي ترين نوع رابطه مي دانند.
رابطه تعميم: نشان مي دهد كه يك كلاس حالت خاص تري(فرزند) از كلاس ديگر(والد) است. اين رابطه كه در حوزه شيء گرا با نام "رابطه وراثت" شناخته مي شود از اركان مفاهيم و ويژگي‌هاي شيءگرائي به شمار مي رود. كلاس والد، ويژگي‌ها و عملوندهاي خود را به فرزند، به ارث مي دهد، علاوه بر اين، كلاس فرزند داري تعدادي ويژگي و يا عملوند مخصوص به خود نيز هست. يك والد مي تواند چندين فرزند داشته باشد و همچنين برعكس آن نيز صادق است.


نمودار فعالیت (Activity Diagram)

نمايش دهنده جريان گردش كار و عمليات انجام شده در طي انجام يك فعاليت است و نمائي از رفتار سيستم را ارائه مي دهد. اين نمودار، توالي، ترتيب و شروط انجام "عمليات" را مشخص مي كند. دنباله عمليات از شروع تا پايان را يك فعاليت گويند كه سيستم انجام مي دهد و هر عمليات مي تواند تراكنشي بر روي داده‌ها(اشياء) يا يك فرآیند خرد اجرائي باشد. اين نمودار معمولا جهت بيان رفتار كلاس‌هاي(اشياء) همكار در انجام يك فعاليت به كار برده مي شود كه در آن صورت از "خطوط مبنا" براي مشخص كردن عمليات مربوط به هر كلاس استفاده مي شود. اين خطوط بصورت عمودي بوده و سطح نمودار را به بخش‌هائي تقسيم مي كنند، كه هر يك مربوط به يك كلاس(شيء) بوده و عمليات مرتبط با آنرا مشخص مي كند.

ويژگي‌هاي مهم:
در UML 2.0 اين نمودار دچار تغييراتي شده كه مهمترين آنها به شرح زير است:
  • هر عمل(هر نمودار فعاليت از تعدادي عمل تشكيل شده) مي تواند داراي پيش شرط يا پس شرط باشد. علاوه براين از انشعاب براي شرطي نمودن مسير حركت استفاده مي شود.
  • از اتصال دهنده براي ارتباط دو نمودار استفاده مي شود و با پايان يكي ديگري آغاز مي شود. هنگاميكه يك فرآیند كلان از چندين فعاليت خرد تشكيل شده باشد، بطوريكه انجام تمامي فعاليت‌ها(با يك ترتيب مشخص) منجر به اتمام فرآیند كلان شود، از اتصال دهنده براي نشان دادن ارتباط بين نمودارهاي فعاليت استفاده مي شود.
  • رخدادهاي ناگهاني كه باعث انجام يك عمليات خارج از ترتيب نمودار مي شوند نيز كاربرد‌هاي وسيعي دارد. به اين ترتيب براي ورود به يك گره(عمل) و انجام آن كنش دو حالت ممكن است اتفاق افتاد، ممكن است ترتيب گردش كار نوبت اجرا را به آن گره بدهد و يا يك رخداد(مثلا زماني) كه به آن گره متصل شده، شليك شده و ترتيب اجرا به آن عمل منتقل شود.
  • از پارتيشن براي تقسيم نمودن سطح دياگرام به بخشهاي مجزا استفاده مي شود، اين بخشها مي تواند نماينگر مكانها، واحدهاي سازماني يا ديگر موضوعات باشد. به اين وسيله، مشخص مي كنيم كه هر عمل در كدام مكان(يا واحد سازماني و يا ..) انجام مي شود، چيزي كاملتر از واحدهاي سازماني در نمودار زنجيره ارزش فرآیند.

نمودار موارد کاربری (Usecase diagram)

توصيفي از آنچه كه سيستم انجام مي دهد را از ديد ناظر خارجي مدلسازي مي كند. بر خلاف دياگرام فعاليت كه بر "چگونگي" انجام تاكيد دارد، نمودار موارد كاربري بر "آنچه" كه انجام مي شود و عاملان(كاربران) آن تمركز دارد. يك مورد كاربري، دنباله اي از گامهاست كه انجام آن نتيجه اي رضايت بخش براي كاربر خارجي در پي دارد و شخص يا سيستمي كه با سيستم تعامل دارد(از آن استفاده مي كند يا اطلاعاتي را رد و بدل مي كند) را عامل گوئيم. نمودار موارد كاربري نمايش دهنده ارتباط بين موارد كاربري با يكديگر و با عاملان است كه نمائي از تعامل سيستم با محيط خارجي را نشان مي دهد.

ويژگي‌هاي مهم:
جهت نمايش ارتباط ميان كاربران با هم مي‌توان از رابطه تعميم و براي ارتباط موارد كاربري با يكديگر از سه نوع رابطه "شمول"، "بسط" و يا تعميم استفاده نمود.
رابطه شمول: يك مورد كاربري شامل(تشكيل شده) چندين مورد كاربري ديگر است، اين رابطه زماني استفاده مي شود كه اجزاء تشكيل دهنده را بخواهيم توسط ديگر موارد كاربري نيز استفاده كنيم.
رابطه بسط: يك مورد كاربري در شرايط خاصي بجاي ديگري اجرا مي شود، اين رابطه براي نمايش استثناها و حالات خاص استفاده مي شود. در UML 2.0 شرط وقوع بسط را مي توان در كنار اين رابطه مشخص نمود تا رفتار سيستم و تغيير آن واضح و بي ابهام باشد.
رابطه تعميم: يك مورد كاربري نوع خاص تري(فرزند) از ديگري(والد) است. وقتي بخواهيم شباهت‌هاي دو مورد كاربري(باوجود كاركردهاي مختلف) را كه از يك نوع هستند، مشخص كنيم از اين رابطه استفاده مي كنيم.



نمودار توالی (Sequence diagram)

يكي از نمودارهاي رفتاري است كه نشان مي دهد چه پيغامهائي و با چه ترتيب زماني بين اشياء همكار در يك فرآیند رد و بدل مي شود. اشياء شركت كننده در بالاي نمودار قرار داده مي شوند و كنترل از طريق ارسال پيام، از يك شيء به ديگري منتقل مي شود.

ويژگي‌هاي مهم:
اشياء موجود در يك نمودار مي توانند ايجاد و يا نابود شوند، در زماني كنترل را به دست گيرند و سپس از طريق ارسال پيام آن را منتقل كنند(به شيء ديگري). هر پيغام مي تواند داراي شرط ارسال باشد تا كنترل بيشتري را فراهم آورد.


نمودار حالت (State Diagram)

نشان دهنده ترتيب حالت‌هاي يك شيء(كلاس، سيستم) در طول زمان حياتش و چگونگي تغيير آنها است. حالت، شرايط يا موقعيتي است كه براي يك شيء ممكن است رخ دهد و در آن صورت مي توان گفت بعضي خواسته‌هاي آن شيء ارضا شده، عملي انجام داده و يا منتظر رخدادي است. هر نمودار براي نمايش تغيير حالت، فقط يك شيء ترسيم مي شود و ترتيب و چگونگي(شرايط) تغيير حالت‌ها را مدل مي كند.

ويژگي‌هاي مهم:
در اين نمودار مي توان از قابليت‌هاي زير استفاده نمود.
  • رخداد انتقال: نشان دهنده شرطي است كه اگر محقق شود، يك انتقال صورت مي گيرد.
  • عمل: كنشي است كه درصورت وقوع انتقال، انجام مي شود.
  • حالت مركب: يك حالت كه در خود يك چرخه تغيير حالت دارد
نمودار مولفه (Component Diagram)

نشان دهنده ارتباط بين مولفه‌هاي سيستم است، مولفه يك واحد قابل تعويض از سيستم است كه جزئياتش پنهان شده و رفتارش از طريق تعدادي واسط نشان داده مي شود، در متد شيء گرا مجموعه اي از كلاس‌ها كه بصورت فيزيكي بسته بندي مي شوند را توصيف مي كند. هر مولفه داراي تعدادي واسط ارائه خدمت(كه واسط مولفه‌هاي ديگر از آن استفاده مي كنند) و تعدادي واسط جهت دريافت خدمتهاي مورد نياز(كه بايد از واسط ديگر مولفه‌ها تامين شود) خود است، اين واسط‌ها تنها روش ارتباط اجزاء سيستم هستند.

ويژگي‌هاي مهم:
مفهومي به نام بخش به مولفه اضافه شده است كه نشان دهنده درگاه‌هاي ورود و خروج اطلاعات(پيام) به آن است. به هر بخش يك واسط(خدمت دهنده يا خدمت گيرنده) متصل مي شود تا تاكيد شود كه ارتباط يك مولفه با ديگري تنها و تنها از طريق بخش و واسط متصل به آن بوده و كليه اطلاعات و متدها، از محيط خارج مخفي شده است. مهمترين ويژگي مولفه، قابل جابجابودن آن است كه از اصول مهندسي نرم افزار مي باشد.


نمودار شیء (Object Diagram)

مجموعه اي از اشياء و ارتباطات بين آنها را در يك لحظه از زمان نشان مي دهد. شيء نمونه اي از كلاس است كه ويژگي‌هاي آن مقدار گرفته و توصيفي از زمان اجراي سيستم را مدلسازي مي كند. اين نمودار در موارد زير به كار برده مي شود:
  • مدلسازي نيازمنديهاي وظيفه اي سيستم
  • توصيف ساختار داده ايستا
  • مدلسازي ساختار و ارتباطات اشياء
  • مدلسازي ديد طراحي ايستاي سيستم
اين نمودار را مي‌توان براي شبيه سازي عملكرد بخشي از سيستم در زمان اجرا استفاده نمود. كاربرد اين نمودار كمتر از ديگر دياگرامهاي گفته شده است و معمولا در شرايط خاصي از آن استفاده مي شود.

نمودار بسته (Package Diagram)

جهت نمايش ارتباط بين بسته‌ها و اجزاي آنها در سيستم استفاده مي شود. جهت گروه بندي عناصر هم نوع، هم شكل و يا همكار در انجام يك كاركرد از بسته استفاده مي شود، بنابراين يك بسته مي تواند شامل هرنوع موجوديت UML مانند اشياء، كلاس‌ها، مولفه‌ها، گره‌ها، موارد كاربري، دياگرام‌ها و حتي بسته‌هاي ديگري باشد. در زمينه‌هاي گوناگون مي توان از بسته استفاده نمود:
جهت طبقه بندي عناصر هم نوع و مربوط در دياگرامهاي مختلف، براي مثال قراردادن موارد كاربري مربوط به يك سيستم (واحد سازماني) در نمودار مورد كاربري داخل يك بسته.
جهت جداسازي مدلهاي مربوط به سيستم‌هاي مختلف از يكديگر كه در اين حالت كليه عناصر و دياگرامهاي مربوط به هر سيستم، در يك بسته قرار داده مي شود.
جهت استفاده عمومي براي طبقه بندي عناصري كه از جهت نوع، كاربرد ويا مورد خاصي به هم مربوط باشند.

ويژگي‌هاي مهم:
بسته‌ها مي توانند داراي روابط وابستگي و تعميم با يكديگر باشند و همچنين هر بسته مي تواند از عناصر موجود در ديگري استفاده كند كه در اين حالت، چيزي شبيه به مولفه‌هاي كلان خواهيم داشت.


نمودار استقرار (Deployment Diagram)

نمايش دهنده استقرار سيستم‌هاي نرم افزاري و سخت افزاري در گره‌هاي فيزيكي و در بستر تكنولوژي است. اين سيستم‌ها در گره‌هاي فيزيكي(واحدهاي پردازشگر، سرور‌هاي پايگاه داده، سرويس دهنده‌ها و ..) قرارداده مي شوند و اتصال گره‌ها از طريق تكنولوژي ارتباطي نشان داده مي شود. اين نمودار جهت مدلسازي چگونگي استقرار سيستم‌ها(پيكربندي) در زمان اجرا استفاده مي شود.

ويژگي‌هاي مهم:
اين نمودار را مي توان هم براي توصيف معماري سيستم‌هاي توزيع شده(استقرار سيستم‌ها در گره‌هاي فيزيكي) به كار برد و هم جهت نمايش توپولوژي شبكه ارتباطي از طريق تاكيد بر چگونگي ارتباط بين گره‌ها و صرفه نظر از جزئيات مربوط به هر گره. همچنين براي طبقه بندي گره‌ها مي توان از بسته‌ها استفاده نمود، درجه دانه بندي اختياري است، براي مثال گره‌هاي مربوط به يك اداره را در يك بسته قرار دهيم و يا گره‌هاي موجود در يك ساختمان يا مثلا يك شهر(در هر مورد، بايد تعداد گره‌هاي موجود در يك بسته قابل مديريت و معقول باشد).

نمودار زمانبندی (Timing diagram)

نمايش دهنده رخدادهاي زماني و فواصل بين آنهاست كه باعث تغيير حالت اشياء محيط مي شود. اين نمودار كه در نسخه UML 2.0 براي اولين بار معرفي شده، جهت پوشش به زمانبندي و موارد مربوط به رخدادهاي زماني و به خصوص توصيف دقيق فواصل زماني كاربرد دارد. نمودار توالي فقط به ترتيب زماني ارسال پيامها تكيه دارد و نمودار حالت نيز بر تغيير حالت در اثر رخدادها، درحاليكه نمودار زمانبندي ضمن تركيب قابليت‌هاي دو نمودار فوق تاكيد بر زمان به عنوان عامل اصلي تغيير حالت دارد.

ويژگي‌ مهم:
نمودار زمانبندي تغيير حالت يك شيء(سيستم، مورد كاربري، ..) را بر اثر يك رخداد زماني نشان مي دهد، رخداد زماني ممكن است با گذشت مدت معيني از زمان و يا بصورت دوره اي در فواصل مشخص زماني فعال شود، برخلاف نمودار حالت، كه يك رخداد غيرزماني، مسئول تغيير حالت اشياء بود.
__________________
مرا سر نهان گر شود زير سنگ -- از آن به كه نامم بر آيد به ننگ
به نام نكو گر بميــرم رواست -- مرا نام بايد كه تن مرگ راست



پاسخ با نقل قول
  #4  
قدیمی 11-14-2007
دانه کولانه آواتار ها
دانه کولانه دانه کولانه آنلاین نیست.
    مدیر کل سایت
        
کوروش نعلینی
 
تاریخ عضویت: Jun 2007
محل سکونت: کرمانشاه
نوشته ها: 12,700
سپاسها: : 1,382

7,486 سپاس در 1,899 نوشته ایشان در یکماه اخیر
دانه کولانه به Yahoo ارسال پیام
پیش فرض

آشنایی با uml


دیدگاه شی‏گرا در اصل نگرشی جدید به دنیا و سیستمهاست. این دیدگاه سعی دارد تا با نگرش خود به عناصر یک سیستم، کل آن سیستم را مدل‏سازی کند. دیدگاه شی‏گرا بر مباحثی نظیر‏: شی، کلاس، مسئولیت، عمل و سناریو استوار است و جهان را به صورت مجموعه‏ای از اشیا به هم مرتبط می‏بیند که هر شی رفتار خاص خود و مسئولیت خاص خود را دارد.تعریف مختصر این عناصر در زیر آورده شده است:

شی، مسئولیت و سناریو

1- شی: انسان، مکان یا هر چیزی نظیر: دانشجو، استاد، وسیله نقلیه، خانه، اتاق، میز، خودکار و ... یک شی است.

2- مسئولیت: چیزی است که به شی اختصاص داده می‏شود و سه جنبه دارد‏:

1-2- آنچه که شی راجع به خودش می‏داند، که به آنها صفت گفته می‏شود. به عنوان مثال شی "دانشجو"، نام، نام خانوادگی، نام پدر، شماره شناسنامه، شماره دانشجویی و .. را راجع به خودش می‏داند.به هر یک از این موارد یک صفت گفته می‏شود.

2-2- کسانی را که شی می شناسد. در حوزه مساله اشیا زیادی وجود دارد. تمام کسانی ( اشیایی) را که شی مورد نظر، آنها را میشناسد، با آنها ارتباط برقرار می‏کند. به عنوان مثال شی "دانشجو" بر اساس رابطه "دانشجو در درس ثبت‏نام می‏کند" شی "درس" را می‏شناسد و با آن ارتباط دارد. در ادامه انواع ارتباطات درون یک مدل شی‏گرا تعریف می‏گردد.

3-2- کارهایی را که شی انجام می‏دهد. به عنوان مثال شی "دانشجو" کارهایی نظیر:" ثبت نام، حذف و اضافه، فارغ‏التحصیل شدن و ..." را انجام میدهد. به هر یک از این موارد یک عمل گفته می‏شود.

3- سناریو: عبارت از یک مجموعه عمل پشت سر هم یا متوالی می‏باشد که منجر به انجام یک کار خاص می‏گردد. به عنوان مثال شی "دانشجو" دارای سناریو" ثبت نام در نیم سال تحصیلی" می‏باشد. این سناریو توالی اعمال زیر است:" دریافت برگ ثبت‏نام از آموزش‏، سپس انتخاب دروس نیم‏سال جدید و درج در برگ ثبت‏نام ، و پس از آن دریافت تایید و امضای استاد راهنما و نیز تایید و مهر دانشکده و در نهایت تایید اداره آموزش و دریافت برگ ثبت‏نام توسط اداره آموزش."

4- کلاس: مجموعه اشیایی که دارای صفات، اعمال و ارتباطات یکسان هستند، در یک کلاس قرار می‏گیرند و هر یک از این اشیا به عنوان نمونه‏ای از آن کلاس به حساب می‏ایند. به عنوان مثال کلاس "دانشجو" دارای صفات" نام، نام خانوادگی، شماره دانشجویی، ..." و اعمال "ثبت‏نام، حذف و اضافه، فارغ‏التحصیل شدن،... " میباشد.

محدوده UML

زبان مدلسازی یکپارچه (UML) زبانی است برای مشخص‏سازی، ساخت، مجسم‏سازی و مستند‏سازی دست‏آوردهای یک سیستم متمرکز نرم‏افزاری. اول آنکه این زبان از مفاهیم Booch,OMT و OOSE که متدولوژیهای متداول OO می‏باشند منتج شده است. دوم، UML بر انچه که در حال حاضر توسط روش‏های موجود قابل انجام هستند، بنا شده است. سوم، زبان مدلسازی یکپارچه ، بر یک زبان مدلسازی استاندارد تمرکز می‏کند و نه یک فرایند استاندارد. اگر چه UML بایستی در زمینه یک فرایند به کارگیری شود، تجربه نشان می‏دهد که در سازمان‏های مختلف و با حوزه‏های مسئله متفاوت، فرآیندهای متفاوتی مورد نیاز است. بنابراین تلاش بر این است که ابتدا بر یک فرا‏مدل مشترک ( که معانی را یکپارچه می‏کند) تمرکز شود و در درجه دوم بر یک علامت‏گذاری مشترک (که برای فرد، استنباط این معانی را فراهم می‏کند) تمرکز گردد. ابداع‏کنندگان UML بر فرایند توسعه‏ای تاکید می‏کنند که مورد کاربردگرا، معماری گرا، تکراری و افزایشی است.

UML، یک زبان مدلسازی را مشخص میکند که اتفاق نظر جماعت شی‏گرا بر مفاهیم اساسی مدلسازی است.

در UML برای ایجاد مدلها و نمودارهای حوزه مساله هیچ توصیه‏ای نمی‏شود و این تجربیات و یادگیری افراد است که تشخیص استفاده از کدام نمودارها و مدلها را به ایشان می‏دهد. در یک دیدگاه مدل‏سازی، UML نمودارهای گرافیکی زیر را تعریف می‏کند:

ü نمودارهای مورد کاربرد (Use Case Diagram)

ü نمودار کلاس (Class Diagram)

ü نمودارهای رفتار: (Behavior Diagrams)

· نمودار حالت (State chart Diagram)

· نمودار فعالیت (Activity Diagram)

ü نمودارهای تعامل: (Interaction Diagrams)

· نمودار توالی (Sequence Diagram)

· نمودار همکاری (Collaboration Diagram)

ü نمودارهای پیاده‏سازی (Implementation Diagrams)

· نمودار اجزا (Component Diagram)

· نمودار استقرار (Deployment Diagram)

__________________
مرا سر نهان گر شود زير سنگ -- از آن به كه نامم بر آيد به ننگ
به نام نكو گر بميــرم رواست -- مرا نام بايد كه تن مرگ راست



پاسخ با نقل قول
  #5  
قدیمی 11-14-2007
دانه کولانه آواتار ها
دانه کولانه دانه کولانه آنلاین نیست.
    مدیر کل سایت
        
کوروش نعلینی
 
تاریخ عضویت: Jun 2007
محل سکونت: کرمانشاه
نوشته ها: 12,700
سپاسها: : 1,382

7,486 سپاس در 1,899 نوشته ایشان در یکماه اخیر
دانه کولانه به Yahoo ارسال پیام
پیش فرض

مقدمه اي بر UML، قسمت اول

اشاره :
قبل از اين كه مفهوم برنامه‌نويسي شي‌گرا در شاخه مهندسي نرم‌افزار مطرح شود، اشخاص و كمپاني‌هاي مختلفي، روش‌هاي متعددي را براي تحليل و طراحي سيستم به شيوه ساختار يافته ابداع كردند. محصول اين تحليل و طراحي، كه غالباً توسط برخي نرم‌افزارهاي مشهور به CASE توليد مي‌‌شد، يك سري نمودارها و مستندات مربوط به آن بود كه مورد استفاده برنامه‌نويسان براي پياده‌سازي يك سيستم نرم‌افزاري قرار مي‌گرفت. پس از مطرح شدن الگوي برنامه‌نويسي شي‌گرا نيز اوضاع بر همين روال ادامه يافت تا اين كه اشخاص صاحب‌نظر در اين فن به سال 94 تصميم گرفتند تا به جمع نمودن تئوري‌ها و ابداعات خود، يك تكنيك مشترك را در زمينه تحليل و طراحي شي‌گرا به دنيا عرضه كنند. اولين محصول آن‌ها Unified Method نام گرفت و در سال 95 ارايه شد. سپس، آن‌ها تصميم گرفتند كه اين شيوه مستندسازي را به يك شبه زبان استاندارد و بين‌المللي تبديل كنند تا اين كه در سال 96 با قرار گرفتن اين زبان جديد كه UML نام گرفته بود، در حمايت شركت‌هاي معتبري چون IBM، Microsoft، Oracle، اولين ويرايش رسمي آن كه UML1 بود،‌ متولد شد.
متن کامل مقاله ( 113 کيلوبايت )





مقدمه اي بر UML - قسمت دوم

اشاره :

در شماره قبل مجله شبكه، مقاله‌اي تحت عنوان مقدمه‌اي بر UML تقديم حضور خوانندگان شد كه در آن ضمن معرفي و ذكر تاريخچه‌اي از مفهوم UML دو نمودار معرفي آن يعني نمودار كلاس، نمودار اشيا بررسي شد. در اين شماره قصد داريم در ادامه مبحث قبل (و البته بدون وابستگي زياد به آن) سه نمودار ديگر UML را بررسي كنيم.
متن کامل مقاله ( 131 کيلوبايت )





مقدمه اي بر UML - قسمت سوم


اشاره :

نمودار فعاليت شباهت بسياري به فلوچارت‌هاي معروف دارد چون در اين‌جا هم يك جريان (Flow) كاري از يك سري اعمال پشت سر هم وجود دارد و در واقع اين جريان ما را از يك فعاليت به فعاليت ديگر يا از يك فعاليت به يك وضعيت مشخص مي‌برد.
متن کامل مقاله ( 84 کيلوبايت )





مقدمه اي بر UML - قسمت چهارم

اشاره :

نمودار حالت يك توالي از وضعيت‌هايي را نشان مي‌دهد كه يك شي مي‌تواند داشته باشد و در واقع اين رخداد‌ها هستند كه باعث مي‌شوند يك شيء از يك حالت به حالت ديگر برود.
متن کامل مقاله ( 90 کيلوبايت )



__________________
مرا سر نهان گر شود زير سنگ -- از آن به كه نامم بر آيد به ننگ
به نام نكو گر بميــرم رواست -- مرا نام بايد كه تن مرگ راست



پاسخ با نقل قول
پاسخ


کاربران در حال دیدن موضوع: 1 نفر (0 عضو و 1 مهمان)
 

مجوز های ارسال و ویرایش
شما نمیتوانید موضوع جدیدی ارسال کنید
شما امکان ارسال پاسخ را ندارید
شما نمیتوانید فایل پیوست در پست خود ضمیمه کنید
شما نمیتوانید پست های خود را ویرایش کنید

BB code is فعال
شکلک ها فعال است
کد [IMG] فعال است
اچ تی ام ال غیر فعال می باشد



اکنون ساعت 07:42 PM برپایه ساعت جهانی (GMT - گرینویچ) +3.5 می باشد.



Powered by vBulletin® Version 3.8.4 Copyright , Jelsoft Enterprices مدیریت توسط کورش نعلینی
استفاده از مطالب پی سی سیتی بدون ذکر منبع هم پیگرد قانونی ندارد!! (این دیگه به انصاف خودتونه !!)
(اگر مطلبی از شما در سایت ما بدون ذکر نامتان استفاده شده مارا خبر کنید تا آنرا اصلاح کنیم)


سایت دبیرستان وابسته به دانشگاه رازی کرمانشاه: کلیک کنید




  پیدا کردن مطالب قبلی سایت توسط گوگل برای جلوگیری از ارسال تکراری آنها