شما عضو بهترین نیستید, جهت استفاه از امکانات بیشتر ثبت نام کنید.    
بهترین انجمن،انجمن های نرم افزار،بازی ،سخت افزار،موبایل،فیلم،دانلود،ورزشی،علمی،تفریحی  

بازگشت   بهترین انجمن،انجمن های نرم افزار،بازی ،سخت افزار،موبایل،فیلم،دانلود،ورزشی،علمی،تفریحی > کامپیوتر > برنامه نویسی > مباحث متفرقه برنامه نویسی

تبلیغات




ثبت نام سریع
براي استفاده از تمامي امكانات پي سي لردز و دانلود مطالب و شركت كردن در مباحث در كمتر از يك دقيقه ثبت نام نماييد

نام کاربری رمز عبور تكرار رمز عبور ایمیل تکرار ایمیل
Birthday:      
سوال تصادفی
  قوانين انجمن را قبول ميكنم 

ارسال موضوع جدیدپاسخ
 
ابزارهای موضوع نحوه نمایش
قدیمی 08-10-2008, 01:30   #1
Mohàmmad
کاربر فعال انجمن
 
Mohàmmad آواتار ها
 

تاریخ عضویت: Feb 2008
نوشته ها: 384
تعداد تشکر (از کاربران دیگر): 442
تشکر شده 370 بار برای 189 ارسال برتر
پیش فرض Uml زبان استاندارد جهانی برای مدل‌سازی

با كمی اغماض می‌توان ادعا كرد كه در میان شاخه‌های مختلف مهندسی در هركدام كه دارای قدمت بیشتری است، همگرایی بیشتری در اتخاذ روش و ابزار برای انجام اعمال نسبتاً مشابه از میان متخصصان و متولیان آن رشته وجود دارد. به طور مثال در حال حاضر برای اجرای یك سازه در هر نقطه از دنیا، مهندسین عمران از یك روند همسان با توالی مشابه شامل: الف)تولید طرح عمرانی ب)پیاده‌سازی نقشه ج)محاسبات سازه‌ای د)اجرا استفاده می‌كنند. ولی در رشته نوپایی چون مهندسی نرم‌افزار، گاه چنان روش‌ها متفاوت است كه از دید یك ناظر خارجی، دو تیم نرم‌افزاری مختلف كه هر دو قصد تولید محصولی مشابه را دارند، دو تیم در رشته‌های متفاوت به نظر بیایند.
یكی از علل وجود تمایز در تولید نرم‌افزار میزان تخصص نیرو و زمان به پیاده‌سازی می‌باشد.بدین معنا كه در نزد بسیاری از برنامه‌نویسان تولید نرم‌افزار معادل است با تولید كد. ولی از نظر بعضی دیگر تولید كد تنها بخشی از تولید نرم‌افزار است كه در بسیاری از موارد حتی منابع و زمان. اختصاص داده شده به آن در طول پروسه.تولید نرم‌افزار كمتر از۵۰% می‌باشد.
از یك دیدگاه كلی، پروسه تولید نرم‌افزار را می‌توان به دو بخش كلی شامل:
الف)تحلیل و طراحی
ب)پیاده‌سازی تقسیم كرد.
از دیدگاه دسته اول، برنامه‌سازان، تحلیل و طراحی صرفاً فهم ذهنی مساله می‌باشد كه دقیقا پس از آن بایستی اقدام به پیاده‌سازی كرد. در حالیكه در نظر دسته دوم، فاز تحلیل و طراحی پر اهمیت‌تر از فاز دوم می‌باشد كه بایستی برای انجام آن از متدولوژی‌ها و روش‌های استاندارد استفاده كرد. UML یك زبان مدلسازی می‌باشد كه در فاز تحلیل و طراحی مورد استفاده قرار می‌گیرد.
● مدل‌سازی (Modelling) چیست؟
مدل‌سازی یكی از تكنیك‌های ذهنی بشر می‌باشد كه نه تنها برای اهداف علمی، بلكه برای انجام امور روزمره بشر به دفعات مورد استفاده قرار می‌گیرد. مدل‌سازی به طور كلی یعنی شبیه‌سازی یك محیط با اندازه‌های متفاوت و از محیط واقعی و احتمالا مواد و مصالحی متمایز از جنس مواد و مصالح محیط مدل شده. در مدل‌سازی ابتدا اجزای محیط واقعی انتخاب شده و متناسب با هدف مورد نظر از مدل‌سازی خصوصیاتی از هریك از اجزای واقعی انتزاع می‌شود، یعنی به ازای هزیك از اجزای محیط واقعی یك موجودیت تجریدی ساخته می‌شود و با برقراری ارتباطی مشابه با ارتباط اجزای واقعی، در میان موجودیت‌های تجریدی، محیط واقعی مدل می‌شود. برای روشن شدن مثالی می‌زنیم:
فرض كنیم قصد داشته باشیم در فاز طراحی یك اتومبیل میزان موفقیت هوا در مقابل اتومبیل در حال حركت را بسنجیم یكی از راه‌ها برای انجام این آزمایش، ساخت یك اتومبیل واقعی، راندن و سپس اندازه‌گیری مقاومت هوا می‌باشد كه انجام اینكار اگرچه ما را به هدف می‌رساند، ولی دارای هزینه بالاییست چرا كه بایستی ابتدا ماشین ساخته شود، سپس مورد آزمایش قرار گیرد.
در این صورت اگر در آزمایش به نتیجه مورد نظر نرسیم، بایستی دوباره طراحی را تغییر داد، و پس از ساخت یك نمونه واقعی دیگر آزمایش را تكرار كنیم و این روند آنقدر ادامه پیدا كند تا طراحی مناسب برای اتومبیلی با خصوصیات مورد نظر شكل گیرد.
می‌بینیم كه چنین روشی بسیار پرهزینه است و این هزینه هم شامل هزینه‌های اقتصادی است و هم هزینه‌های زمانی، چون علاوه بر این كه در هر مرحله آزمایش بایستی اتومبیل با صرف هزینه بالا ساخته شود، زمان ساخت آن نیز طول خواهد كشید.
ولی متخصصان برای انجام چنین آزمایشی به مدل روی می‌آورند. یعنی یك جسم فیزیكی كوچك با خصوصیات آئرودینامیكی لحاظ شده در طراحی اتومبیل، ساخته می‌شود و با قرار دادن آن در یك تونل باد، حركت اتومبیل در فضای واقعی را شبیه سازی می‌كنند و بدین طریق میزان مقاومت هوا را می‌سنجند.
نكات مورد توجه در این مدل‌سازی، یكی اندازه مدل و دیگری خصوصیات آن می‌باشد. مدل بسیار ساده و كوچك می‌باشد و از طرفی تنها خصوصیت آئرودینامیكی اتومبیل در مدل لحاظ می‌شود. چرا كه هدف ما از مدل‌سازی تنها بررسی خصوصیات آئرودینامیكی اتومبیل است و مدل الزاماً نبایستی از جنبه‌های دیگر، شباهتی به اتومبیل واقعی داشته باشد. مثلا در ساخت چنین مدلی به هیچ‌وجه به استحكام اجزا و یا زیبایی مدل توجه نمی‌شود چون بررسی چنین خصوصیاتی خارج از هدف این مدلسازی خاص است.
مثال بالاتنها یك جنبه از مدل‌سازی را بیان می‌كند و آن جنبه شناختExploration می‌باشد. یعنی در مدلسازی‌های مشابه مدل‌سازی فوق‌الذكر، هدف از مدل‌سازی تنها شناخت محیط مورد مدل می‌باشد. یك جنبه دیگر از مدل‌سازی تبیین (specitication) می‌باشد. یعنی گاه برای معرفی و ارائه خصوصیات یك موجودیت واقعی یك مدل از آن ارائه می‌شود. نقشه جغرافیایی مثال خوبی است كه این جنبه از مدل‌سازی را مورد نظر دارد.
پس می‌توان گفت كه هدف از مدل‌سازی دو چیز می‌باشد:
الف)شناخت(exploration)
ب)تبیین(specification)
كه بر اساس تعریف مسئله، مدل‌سازی یكی یا هردو هدف را در نظر می‌گیرد.
نكته دیگری كه بایستی در مدل‌سازی توجه كرد، روش (methodo logy) ساخت یك مدل می‌باشد. در بعضی موارد مدل چیز بسیار ساده‌ای است و به راحتی ساخته می‌شود. ولی در بعضی از موارد مدل خود بسیار پیچیده می‌باشد هر چند از نظر منطقی غیرممكن می‌نماید ولی می‌توان ادعا كرد كه در بعضی موارد مدل پیچیده‌تر از موجودیت واقعی است. زمینه‌ای كه این ادعا را در آن مصداق فراوان دارد، نرم‌افزار می‌باشد.
بنابراین در شاخه‌ای از مهندسی كه مدل‌سازی حائز اهمیت فراوان می‌باشد قطعا روش‌های استانداردی برای ساختن مدل وجود دارد. در نرم‌افزار، روش‌های تولید نرم‌افزار مانند SSAPM ,RUP,USDP, در واقع روش‌های مدل‌سازی می‌باشند. هر روش مدل‌سازی طبیعتا نیازمند مصالحی برای ساخت مدل می‌باشد كه در روش‌های مدل‌سازی نرم‌افزاری مصالح لازم برای تولید مدل، زبان‌های مدل‌سازی می‌باشند.
● UML چیست؟
Unified Modelling Language یك زبان مدل‌سازی است كه درسال ۱۹۹۵ به وسیله شركت Rational معرفی شد. UML یك زبان شی‌گراست یعنی اجزا این زبان متناسب با مفاهیم به كاررفته و پارادایم شی‌گرائی طراحی شده‌اند.
پس از ارائه مفاهیم شی‌گرائی در ابتدای دهه ۸۰ میلادی به تدریج روش‌های شی‌گرائی تولید نرم‌افزار به وسیله افراد و سازمان‌های مختلف ارائه گردید. این روش‌ها در برگیرنده یك مجموعه علائم برای بیان مفاهیم و ایده‌ها از یك سو و یك طرح كاری برای تولید نرم‌افزار از سوی دیگر بود كه از مهم‌ترین این روش‌ها می‌توان به OMT,BOOCH,OOSE…. اشاره كرد.
اگرچه داشتن یك روش استاندارد امری مطلوب است ولی تفاوت روش‌ها امریست طبیعی و با توجه به تفاوت فراوان در نوع مسائل می‌توان گفت كه حتی وجود روش‌های مختلف الزامی است چرا كه مثلا در یك پروژه بسیار بزرگ نمی‌توان همان روشی را به كار برد كه در یك پروژه كوچك. ولی زبان و مجموعه علائم از چنین قاعده‌ای پیروی نمی‌كند و داشتن یك زبان استاندارد امری بسیار مطلوب و از بعضی دیدگاه‌ها حتی الزامی می‌باشد. یكی از الزامات مهم در داشتن یك زبان استاندارد همگانی ناشی از نقشی است كه زبان در ارتباطات به عهده دارد. البته چندگونه‌بودن زبان خود مولد مشكلات متعددی است.
با هدف ارائه یك زبان استاندارد فراگیر شركت Rational با گردآوری سه نفر از ارائه‌كنندگان معتبرترین روش‌های شی‌گرا یعنی Irar jacobson مبدع روش OOSE ,BOOCH مبدع روشی با همین نام، Rambaugh مبدع روش OMT و با اخذ نقاط قدرت سه روش فوق‌الذكر، یك زبان استاندارد به نامUML ارائه كرد.
این زبان پس از ارائه از سوی (Object Mamgement Group) كه یكی از معتبرترین سازمان جهانی در زمینه شی‌گرائی می‌باشد بعنوان یك استاندارد پذیرفته شد. پس از ارائه این زبان و پذیرفته شدن آن به عنوان یك استاندارد جهانی در زمینه نرم‌افزار، علاوه پروسه این زبان و ارائه متولوژی‌های مبتنی بر آن مانند usop و rup از سوی افراد و سازمان‌های مختلف، متخصصین در پی یافتن كاربرد این زبان در زمینه‌های دیگر فنی و مخصوصی بر آمدند.
برآیند این تلاش‌ها در حال حاضر uml را به عنوان قدرتمندترین زبان مدل‌سازی در دنیای نرم‌افزار مطرح ساخته است.

------------------------------------------------------------------------
دنیای کامپیو تر و ارتباطات

امضای Mohàmmad
.



Mohàmmad آنلاین نیست.   پاسخ با نقل قول

تبلیغات P30lords

قدیمی 08-10-2008, 01:31   #2
Mohàmmad
کاربر فعال انجمن
 
Mohàmmad آواتار ها
 

تاریخ عضویت: Feb 2008
نوشته ها: 384
تعداد تشکر (از کاربران دیگر): 442
تشکر شده 370 بار برای 189 ارسال برتر
پیش فرض آشنايي با مفهوم 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 براي دامنه اي معين يا پردازشي ، برنامه اي الحاقي پردازشي دارند است

-------------------------------------------
بر گرفته از سايت اينترنتي رشد

امضای Mohàmmad
.



Mohàmmad آنلاین نیست.   پاسخ با نقل قول
قدیمی 08-10-2008, 01:32   #3
Mohàmmad
کاربر فعال انجمن
 
Mohàmmad آواتار ها
 

تاریخ عضویت: Feb 2008
نوشته ها: 384
تعداد تشکر (از کاربران دیگر): 442
تشکر شده 370 بار برای 189 ارسال برتر
پیش فرض آشنايي با مفهوم Uml

3.1.2 توسعه محصولات پروژه

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

• هر سيستم مجتمع بهترين معبر براي يك مجموعه كوچك از View هاي تفريبا غير وابسته از يك مدل مي باشد . يك View منفرد كافي نيست .
• هر مدل ممكن است توضيح چندين سطح درست باشد .
• بهترين مدلها مدلهاي هستند كه به واقيعت مي پيوندند .

در اين دوره View ها يك مدل در UML به صورت دياگرامهاي گرافيكي زير تعريف شده اند :

• use case diagram
• class diagram
• behavior diagrams:
• statechart diagram
• interaction diagrams:
• sequence diagram
• collaboration diagram
• implementation diagrams:
• component diagram
• deployment diagram

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

تكرار پاسخ سئوالي كه " چرا UML دياگرام جريان داده ها را پشتيباني نمي كند ؟" به سادگي قرار دادن ، جريان داده ها و ساير انواع دياگرام ها كه UML شامل آن نمي شوند در خور جدا كردن در ميان نمونه شئي گراء نيست .
دياگرام فعاليت براي كساني كه به DFD ها وفا دارند استفاده مي شود . همچنين دياگرام فعاليت براي مدل هاي كاري در حال جريان مورد استفاده است . نويسندگان UML دياگرام هاي UML را براي واضح بودن پروژه هاي شئي گرا بوچود آورده اند . اما لزوما همه دياگرام هاي ديگر را محكوم نمي كند . ما كم كم يك مجموعه موفق و نمونه تكنيك ها ، مناسب در ميان يك نمونه سازگار را تعريف مي كنيم .

3.2 خارج از محدوده UML

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

ابزار
استاندارسازي يك زبان ، اساسا بنيان سازي براي ابزار و پردازش ها است . مديريت گروه شئي RFP (OADTF REF-1) يك كليد راننده در برانگيختن تعاريف UML بود .
اولين هدف RFP فعال سازي ابزار عملياتي بود . بهرحال ، ابزار و عمليات بين خودي خيلي به روي مفاهيم قوي و ياداشت هاي تعاريف وابستگي دارند . UML مفاهيم متامدل را تعريف ميكند، كه ابزار واسطه ، ذخيره سازي ، يا مدل هاي زمان اجرا نيست اگرچه اينها بايد براي يك بسته ديگر باشد . مستندات UML شامل بعضي از تكات ابزار فروشنده روي عناصر انتخابي مي شود ، اما نيازمند آدرس هر چيزي كه عملي را صورت مي دهد نيست . براي مثال موضوعات آدرس شبيه رنگ دياگرام ها ، شناوري كاربران ، انيميشن ، ذخيره و پياده سازي مدلها يا ساير چيز ها در آينده انجام مي شود نيست .

پردازش
بعضي از سازمان ها UML را روي يك زبان عمومي براي پروژهاي مصنوعي مي خواهند استفاده نمايند اما بعضي UML را براي استفاده در زمينه هاي مختلف پردازشي مي خواهند استفاده نمايند . UML يك پردازش غير وابسته ، و تعريف استاندارد پردازش بين المللي كه هد ف آن UMLيا OMF`S REF نبود است.

نويسندگان UML مهم سازي و بازشناسي پردازش ها را نشان مي دهند . به نمايش گذاشتن يك تعريف خوب و مديريت خوب پردازشي، اغلب يك كليد جدا كننده بين فوق توليد و واحد هاي ناموفق است . اعتماد روي برنامه نويسان بي باك براي نمونه هاي تجاري غير قابل تحمل است يك پردازش 1 ) راهنماي مطلوب يك دسته بندي براي تيم هاي فعال را مشخص مي كند ، 2) نمونه هايي كه بايد قابل توسعه باشند را معين مي كند ، 3) وظايف يك توسعه دهنده منفرد و تيم هاي در حال گردش را اداره مي كند 4) معيار هاي براي آگاهي دهندگي و مقياس يك پروژه و فعاليت ها را پيشنهاد مي دهد.

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

انتخاب يك قسمت از نمونه هاي پردازشي مي خواهد تغييرات بزرگ ، وابستگي روي چنين چيزهايي كه شبيه دامنه مسائل ، تكنولوژي پياده سازي ، و مهارت يك تيم را نشان دهد.
متد هاي Booch, OMT, OOSE و گروه هاي ديگر پردازش خوب را در تعريف دارند ، و UML پشتيباني بيشتر متد هارا حمايت مي كند. اين ها وجود همگرايي روي تمارين پردازش هاي در حال توسعه هستند اما هنوز رضايت افراد براي استاندارد شدن را ندارند .

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

3.3 مقايسه UML با زبانهاي ديگر
آن بايد از ساختاري درست ،كه زبان متحد مدل باشد و يك حركت ريشه اي از Booch, OMT, يا OOSE, نيست اما سرعت موفقيت منطقي همه آنها است . اين بدان معني است كه اگر شما امروزه كاربران Booch, OMT, يا OOSE, هستيد ، كه شما تربيت شده ، ورزيده شده و مي خواهيد ابزار مورد استفاده تان حفظ شود است ، زيرا UML يك قدم تكامل طبيعي است، UML ارتباط با مدل ديگر را مي خواهد آسان سازد اما اين نويسندگان بايد در مورد خودشان و مفاهيم UML و ياداشت هاي آن در زير روش ها تصميم بگيرند.

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

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

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

3.4 چهره جديد UML
هدف اتحاد، پيشنهاد ادامه سادگي بود ، براي به غالب درآوردن ، خارج از عناصر موجود در Booch, OMT, و OOSEكه درهر حالت عمل صورت نمي گرفت ، و آن بران آن منظور بود كه براي اضافه كردن عناصر از ساير متدها ، كه بيشتر موثر و از پيش ساخته شده بودند و فقط در زماني استفاده مي شد كه يك راه حل بيشتر وجود نداشت . زيرا نويسندگان UML در حال طراحي يك زبان موثر بودند (اگرچه كه گرافيك باشد )، آنها يك تراز به موقع بين كوچكترين (هر متن و جعبه ) و بالاي مهندسي مي خواستند (دارا بودن يك شمايل براي هر عنصر مدل قابل تصور) .

براي پايان آن ، آنها خيلي با دقت درباره اضافه كردن چيزهاي اضافي تلاش مي كردند ، زيرا آنها نمي خواهند مجتمع UML ناموفق باشد . در امتداد راه بعضي از چيز ها اضافه شده مفيد واقع شدند زيرا آنها مفيد بودن خود را در ساير مدل هاي عملي اثبات كردند . اين چندين مفهوم جديد را كه در UML شامل مي شود را بيان مي كند .شامل مكانيسم توسعه پذيري مي شود : رفتاري در يك قالب داشتن ، پشت سر هم در آوردن مقادير ، اجبارات ، برجستگيها و پردازش ها ; توزيع و همزماني ( براي مدل هاي ActiveX/DCOM و CORBA ) ; الگوها / همكاري ; دياگرام فعاليت ( براي مدل هاي پردازشي ) ; تهذيب ( ارتباط دستي بين سطوح انتزاعي ) ; واسطه ا و اجزاء ; و زبان هاي اجباري .

خيلي از تصورات براي نشان دادن متدهاي منفرد گوناگون و تئوري ها بودند .اما UML باعث چسبيدن كامل آنها با يكديگر مي شود. در اضافه تغييرات اعظم آنها ، بيشتر تمركز بهسازي در بيشتر مفاهيم و ياداشت هاي Booch, OMT, و OOSE مي باشد .

UML يك فرضيه از متدهاي Booch, OMT, و OOSE و چندين متد شئي گراي ديگر ، و بيشتر منابع ديگر است. اين منابع گوناگون متشكل از چندين عناصر است از بيشتر نويسندگان ، كه شئي گرا ها شامل اعتبار آن نيستند ، ياداشت هاي UML تركيبي گرافيكي از اعلام ها است كه از منابع كوناكون با شماره اي از نماد پاك شده ( زيرا آنها كوچك يا غير ضروري يا اشتباه بودند ) و با يك نماد كوچك اضافه شده مي باشد. ايده UML از كساني كه در زمينه مدل هاي شئي گرا كار مي كردند نشات گرفت .

UML از ساخته نشد بلكه از گسترش ايده ها درست شد; نسبتا نقش انتخاب و كامل شدن بهترين ايده از شئي گرا و دانش عملي كامپيوتر بود . زندگي نامه واقعي آن از ياداشت ها و اساس مفاهيم بدنه پيچيده شده است بنابراين بحث در مورد آن فقط زمينه آمادگي دارد و براي نشان دادن عملي تاريخچه نيست .

دياگرام USE CASE مانند ظاهر شدن در OOSE مي باشد .

دياگرام كلاس OMT و BOOCH را اعلامي مي كند و دياگرام كلاس بيشتر از متدهاي شئي گراي ديگر است.الحاقات مي توانند براي دياگرام هاي گوناگون كه مدل هاي ساير شيوه ها را پشتيباني مي كنند تعريف شود : يكنواخت كردن ، اجبارها، مقادير برچسب شده كه مفاهيم اضافه شده كه در UML در مدل هاي اعظم زبان در گذشته وجود نداشته است .

دياگرام Statechart اساس ذاتي روي Statechart ديويد هارل با تغييرات كمتر است .دياگرام فعاليت كه در بعضي از مفاهيم اصولي قرار گرفته ، مانند دياگراهاي جريان كاري در حال توسعه است كه بيشتر منابع آن از منابع Pre-OO مي باشد . اوراكل و جيم ادل دياگرامهاي فعاليت بهم پيوسته را در UML قابل استفاده نمودند.

دياگرام ترتيبي (Sequence) در ميان متدهاي گوناگون و نامهاي گوناگون ( فعل و انفعال ، دنبال كردن پبغامهاي ، دنبال كردن رويدادها ) و تاريخ روزها براي Pre-OO ساخته شد. دياگرام همكاري (Collaboration) تعديل شده اي از مدل بوش ( دياگرام اشياء) ، تركيب و امتزاج ( گراف فعل و انفعال اشياء) ، و يك شماره از ساير منابع است .

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

قالب در حال جريان ، يك مكانيسم الحاقي و مفاهيم تمديد شده از متا مدل است. شمايل تعريف شده كاربر ميتوانند با قالب هاي بدست آمده برا ي تصيحح پردازشهاي معين مشاركت نمايد.
زبان اشياء اضطراري قابل استفاده در UML براي مفاهيم معين و آماده سازي زبان براي توضيحات در طول اجراي مدل مي باشد .OCL يك زبان توضيح در ريشه متد Syntroy و تاثير پذير بر روي زبان توضيحات در ساير متدهاي تجزيه شده دارد . اطلاعات شناور OMT مفادي شبيه هم دارد كه OCL را وسيع و رسمي كرده است .

هر كدام از اين عقايد ادامه قبلي و بيشتراز سايرين نفوذ پذيري دارند . ما دريافتيم هر كدام از ليست ها تاثيراتشان ناقص است و ما تصديق مي كنيم كه UML محصولي از يك تاريخچه اي بزرگ از ايده ها در علم كامپيوتر و ناحيه مهندسي نرم افزار است

-------------------------------------------
بر گرفته از سايت اينترنتي رشد

امضای Mohàmmad
.



Mohàmmad آنلاین نیست.   پاسخ با نقل قول
قدیمی 08-10-2008, 01:33   #4
Mohàmmad
کاربر فعال انجمن
 
Mohàmmad آواتار ها
 

تاریخ عضویت: Feb 2008
نوشته ها: 384
تعداد تشکر (از کاربران دیگر): 442
تشکر شده 370 بار برای 189 ارسال برتر
پیش فرض آموزش توسعه نرم افزار های شیء گرا توسط uml

● مقدمه
شئ گرایی برای توسعه نرم افزار اولین بار در سال ۱۹۶۰ پیشنهاد شد، این روش پس از ۲۰ سال به طور گسترده مورد استفادة جامعه نرم افزاری قرار گرفت. توسعه دهندگان نرم افزار در دهه ۱۹۸۰ توجه جدی خو د را روی شئ گرایی معطوف کردند. تکنولوژی شئ، قابلیت استفاده مجدد را برای مؤلفه های نرم افزاری به ارمغان آورد و این نیز به نوبه خود در تسریع توسعه نرم افزار و تولید محصول با کارایی بالا تاثیر بسزایی دارد؛ بعلاوه سیستمهای شئ گرا، براحتی قابل توسعه و به سهولت با محیط سازگار- از نظر تعامل با سیستمهای موجود در محیط استفاده از نرم افزار- می شوند . دیدگاه شئ گرایی یک سیر تکاملی دارد؛ همچنانکه در بخشهای بعدی خواهیم دید، تعیین همه کلاسهای لازم برای یک سیستم دریک تکرار تا اندازه ای غیرممکن است و به محض تکمیل مدلهای تحلیل و طراحی نیاز به کلاسهای جدید در سیستم نمایان می شود.
درک سیستمهای پیچیده وتولید نرم افزار برای چنین سیستمهایی توسط افرادی که در این زمینه تجربه کافی ندارند، کاری بس مشکل است . همچنین محصولی که این افراد تولید می کنند کارایی لازم را نخواهد داشت، در اینجا مهندسی نرم افزار به کمک افراد آمده و با مطالعه روشها و فنون مختلف مسیر توسعه و تولید نرم افزار را هموار می- سازد. تجربیات بدست آمده در این زمینه، متدها و فرآیندهای متنوعی را برای توسعه نرم افزار در اختیار توسعه دهندگان قرار داده و ابزارهای مناسبی نیز این روشها را پشتیبانی می کنند.
درتوسعه یا ساخت نرم افزار برای یک سیستم، مشتری باید تعریف دقیقی از سیستم را در اختیار توسعه دهنده قرار دهد. در توصیف سیستم، زبان طبیعی تا آن اندازه دقیق نیست که بتوان همه نیازمندیها، ساختار و رفتار سیستم را با آن بیان کرد و کد نویسی نیز چنان وارد جزئیات می شود که به یکباره نمی توان سیستم را در این سطح تشریح کرد. لذا برای درک سیستم دست به مدل سازی می زنیم و مؤلفه های سیستم ، زیر سیستمها و رفتار سیستم را به صورت نمودارهای گرافیکی ترسیم می نماییم تا موارد قابل کاربرد و مهم به صورت برجسته به چشم بخورد و هیچ موردی در حوزة سیستم از قلم نیافتد .
در متد شئ گرا از زبان مدلسازی استانداردUML که در فصل چهارم به تفصیل خواهدآمد، استفاده می شود. این زبان به وسیله ابزارهای مختلفی نظیر Rational Rose ، visio و … پشتیبانی می شود، میتوان ازUML در فرآیندهای مختلف استفاده کرد.
● متد، متدلوژی و اشیاء
متد مجموعه ای از وظایف را جهت تعیین نیازمندیها، تحلیل، طراحی، برنامه ریزی، تست و پشتیبانی مشخص می کند. از نظر فنی فرآیند توسعه نرم افزار- متدلوژی- یک قالب کاری برای وظایف لازم جهت ساختن یک نرم افزار با کیفیت بالاست. در واقع متدلوژی، فرآیندی ساختارمند جهت توسعه نرم افزار است که به وسیله فنون و ابزارها حمایت می شود.
متد شئ گرا برپایه شئ استوار است، دیدگاه شئ گرا دنیای واقعی مسئله را بصورت مجموعه ای از اشیاء مرتبط به هم می بیند. شئ یک موجودیت است که در دامنة مسئله نقش تعریف شده ای دارد و دارای حالت، رفتار و شناسة خاص خودش است. شئ می تواند یک ساختار ، نقش ، مکان و ... باشد؛ شئ داده و رفتار را در خود کپسوله میکند و از دسترسی اشیاء دیگر به داده های خود جلوگیری و همچنین تا ثیر تغییرات محیطی بر این داده ها را کاهش می دهد و تنها راه دسترسی به این داده ها استفاده از اعمال یا سرویس های خود شئ می باشد. کلاس نوع اشیاء را نشان می دهد و شامل ویژگی های مشترک مجموعه ای از اشیاء می باشد، شئ نمونه ای از کلاس است . داده های شئ تحت عنوان صفات در کلاس شناخته می شوند و مقادیر این صفات است که شئ را از دیگر اشیای همنوع متمایز می نمایند. اعمال به دستکاری تعداد محدودی از صفات می پردازند و ارتباط بین کلاس ها و دیگر عناصرسیستم نیز از طریق همین سرویسها- اعمال – صورت می گیرد. به عبارت دیگر کلاس یک مشخصه کلی (قالب ، الگو یا طرح اولیه )است که مجموعه ای ازاشیاء مشابه را نشان می- دهد.نماد گرافیکی کلاس در شکل زیر نشان داده شده است، این نماد شامل سه قسمت است که بترتیب نام کلاس ، لیست صفات و لیست اعمال را نشان می دهند.
▪ | نام کلاس |
▪ | لیست صفات |
▪ | لیست اعمال |
با تعریف کردن اشیاء موجود در سیستم از نوع یک کلاس خاص، این اشیاء همه صفات، اعمال و روابط کلاس مربوطه را به ارث می برند. یک فوق کلاس شامل ویژگی های مشترک (صفات و اعمال )جمعی از کلاسهاست و زیرکلاس یک حالت خاص ازفوق کلاس است که به آن تخصیص نیزگفته می شود. این تعاریف از وجود یک سلسله مراتب نشان می دهد که در آن کلاسهای تعمیم(فوق کلاس) توسط کلاسهای تخصیص به ارث برده می شوند، ممکن است که هر کدام ازکلاس های تخصیص دارای یکسری صفات و اعمال اختصاصی اضافی باشند. مجموعه مقادیر موجود برای یک صفت در یک کلاس، دامنه مقادیر آن صفت را نشان می دهد.
پیامها وسیله برقراری ارتباط و تعامل بین اشیاء می باشند ، این پیامها شئ مقصد را تحریک می کنند تا یک کار خاص را انجام دهد. سرویسی که در شیء فرستنده پیام تولید می کند، یک پیام با قالبmessage:[destination, operation, parameters] ارسال میکند که در آن destination شیء گیرنده و operation سرویسی از شیء گیرنده است که پیام را دریافت می کند و parameters شامل اطلاعات لازم جهت انجام موفق سرویس خواسته شده است. شکل ۱-۲ مثالی از کلاسهای تعمیم و تخصیص را نشان می دهد که در آن برای دانشجو یک فوق کلاس دانشجو داریم که شامل داده ها و اعمال مشترک بین دانشجویان دورة لیسانس و فوق لیسانس است، همچنین دو زیر کلاس تخصیص جداگانه برای دانشجویان لیسانس و فوق لیسانس نشان داده شده است که حالات خاصی از کلاس دانشجو هستند. در عمل ما شیئی از نوع فوق کلاس دانشجو نخواهیم داشت، در این حالت به کلاسstudent یک کلاس مجرد گفته می- شود . کلاس مجرد کلاسی است که هیچ شیئی از آن نوع نداشته باشیم.
● کپسوله سازی، ارث بری و چند ریختی
با توجه به مطالب ذکر شده در بالا، شیء گرایی به واسطه سه خاصیت مهم کپسوله سازی، ارث بری و چند ریختی یک روش منحصر بفرد است . بطور کلی کپسوله سازی تکنیکی است که جزئیات پیاده سازی داخلی شئ را از دید سایر اشیاء و مؤلفه های سیستم پنهان می کند(مخفی سازی اطلاعات ). عمل، تابعی است که در تمام نمونه های یک نوع وجود دارد و سایر اشیاء تنها از طریق اعمال موجود در یک شئ می توانند به اطلاعات این شئ دسترسی داشته باشند، بنابراین اعمال یک واسط برای کلاس بشمار می روند. واسط رویة بیرونی کلاس را بدون اینکه ساختار درونی وچگونگی پیاده سازی اعمال را نشان دهد ، نمایان می سازد. خاصیت کپسوله سازی داده و عمل دریک کلاس بطور عمده مزایای زیررا دارد.
ـ جزئیات پیاده سازی داخلی داده و روتین ها از دنیای خارج قابل مشاهده نیست (مخفی سازی اطلاعات ). این خاصیت تاثیر تغییرات محیطی بر شیء را کاهش می-دهد.
ـ ساختمان داده ها و اعمالی که برای دستکاری داده ها در نظر گرفته شده با هم ادغام شده و تحت یک نام (اسم کلاس) شناخته می شود و این اساس مؤلفة قابل استفاده مجدد را فراهم می نماید.
ـ واسطه های ما بین اشیاء کپسوله شده ساده اند، لزومی ندارد که شئ فرستندة پیام از جزئیات ساختمان داده درونی شئ مقصد اطلاع داشته باشد.
خاصیت کلیدی بعدی که روش شیءگرا را از سایر روشها متمایز می دارد، ارث بری است. در شکل بالا زیر کلاس Graduate student همه صفات و اعمال متناظر شده با فوق کلاسش(Student) را به ارث می برد، بدین معنی که تمام ساختمان داده و الگوریتمهایی که برای فوق کلاسstudent طراحی و پیاده سازی شده برای کلاس تخصیص نیز در دسترس می باشد و هیچ کار اضافی لازم نیست انجام بگیرد . و عملاً از قابلیت استفاده مجدد استفاده می کند.
اگر تغییری در داده ها و اعمال فوق کلاس انجام داده شود بلافاصله توسط تمام زیر کلاس های آن فوق کلاس به ارث برده می شود. لذا از مکانیزم سلسله مراتبی برای انتشار تغییرات در سیستم استفاده می شود و این مهم است که در هر سطح از سلسله مراتب صفات یا اعمال به آنچه که توسط سطح بعدی به ارث برده می شود، اضافه می- شود. بنابراین وقتی که لازم است کلاسی جدید ایجاد شود، مهندس نرم افزار می تواند به یکی از راه کارهای زیر عمل کند:
ـ می توان بدون استفاده از ارث بری کلاس را بطور مستقل طراحی نمود.
ـ بررسی ساختار سلسله مراتبی کلاس های موجود و یافتن سطحی از ارث بری که بیشترین صفات و اعمال کلاس جدید را داراست، سپس کلاس جدید در سطح بالاتر قرار داده می شود و صفات و اعمال موجود در سطح پایین تر را به ارث می برد.
ـ سلسله مراتب را ساختاربندی مجدد می نماییم تا کلاس جدید بتواند صفات و اعمال لازم را به ارث ببرد.
چند ریختی مشخصه ای دیگر از شئ گرا است که تا حد زیادی از کارهای لازم جهت توسعه سیستم موجود می کاهد. در واقع چند ریختی بمعنای انجام چند کار مختلف توسط یک چیز است؛ بعنوان مثال برای یک روتین که چهار شکل گرافیکی مختلف، بیضی ، دایره ، مربع و لوزی را رسم کند در حالت عادی برای هر نوع باید متد مخصوص نوشته شده و برای نوع جدیدتر نیز باید متد خاص خود را اضافه نماییم. برای پاسخ گویی به این مشکل در شئ گرایی از چند ریختی استفاده می کنیم، در اینجا همه این انواع به عنوان زیر کلاسهایی از کلاس عمومی Graphقرار می گیرند . هر زیر کلاس یک عمل بنامdraw تعریف می کند، شئ می تواند یک پیامdraw را به هر یک از اشیاء نمونه از یک زیر کلاس بفرستد، شئ گیرندة پیام از تابع draw ی خود می خواهد که رسم مناسب را تولید کند. وقتی که یک رسم الخط دیگر اضافه شود، یک زیر کلاس با تابع draw ی خاص خودش ایجاد می شود و بدین ترتیب کار طراحی ساده تر و از انجام کارهای تکراری جلوگیری می شود. بطور خلاصه، چند ریختی این توانایی را به ما می دهد که چند عمل مختلف را تحت یک نام واحد داشته باشیم .

aftab.ir

امضای Mohàmmad
.



Mohàmmad آنلاین نیست.   پاسخ با نقل قول
ارسال موضوع جدیدپاسخ

علاقه مندی ها (Bookmarks)


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

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

BB code هست فعال
شکلک ها فعال است
کد [IMG] فعال است
کد HTML غیر فعال است
انتخاب سریع یک انجمن

موضوعات مشابه
موضوع نویسنده موضوع انجمن پاسخ ها آخرين نوشته
فارس یا پارس؟! koroshkabir ادبیات 0 08-02-2008 12:36
درباره ي خط و زبان فارسي SOROOSH ادبیات 0 06-17-2008 21:26
تطورات زبان فارسی در ضمن ٢٩ قرن bb ادبیات 0 05-21-2008 19:59
زبان فارسی، زبان جهان دانش SOROOSH ادبیات 1 05-03-2008 23:56


اکنون ساعت 21:28 برپایه ساعت جهانی (GMT - گرینویچ) +4.5 می باشد.


Powered by vBulletin Version 3.8.4
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd

تمامی فعالیت های انجمن های این سایت تابع نظام مقدس جمهوری اسلامی ایران میباشد و نشر مطالب آن منوط به اجازه از مدیران سایت یا ذکر لینک مستقیم منبع می باشد .
بهترین , بهترین انجمن های گفتگو ,behtarin