یارا فایل

مرجع دانلود انواع فایل

یارا فایل

مرجع دانلود انواع فایل

تحقیق در مورد تحلیل شیء گرا

اختصاصی از یارا فایل تحقیق در مورد تحلیل شیء گرا دانلود با لینک مستقیم و پر سرعت .

لینک دانلود و خرید پایین توضیحات

فرمت فایل word  و قابل ویرایش و پرینت

تعداد صفحات: 50

 

تحلیل شیء گرا

واژه های کلیدی. نمودار کلاسها، طبقه بندی کلاسها، مشارکت، مدلسازی CRC ، تحلیل دامنه، مدل رفتار اشیاء مؤلفه های مدل OAA، مسئولیتها، پکیج، استفاده مجدد، زیر سیستم، UML، موارد کاربرد.

هنگامی که قرار است محصول یا سیستم جدیدی ساخته شود، چگونه آن را به نحوی مشخص کنیم که بتواند به صورت شیء گرا مهندسی شود؟ آیا پرسشهایی وجود دارند که باید از مشتریان پرسیده شوند؟ اشیاء چگونه با یکدیگر ارتباط دارند؟ اشیاء در حیطة سیستم چگونه رفتار می کنند؟ چگونه مسئله ای را مشخص یا مدلسازی کنیم تا بتوانیم یک طراحی کارآمد ایجاد کنیم؟

هر یک از این پرسشها در حیطة تحلیل شیء گرا (OAA) – نخستین فعالیت تکنیکی که در مهندسی نرم افراز OO اجرا می شود – پاسخ داده می شود. OOA به جای بررسی یک مسئله با استفاده از مدل جریان اطلاعات کلاسیک ، چند مفهوم جدید را معرفی می کند. کود و یوردون (COA91) در این مورد چنین اظهار نظر می کنند:

OOA-تحلیل شیءگرا – مبتنی بر مفاهیم است که اولین بار آنها را در کودکستان فرا گرفته ایم: اشیاء و صفات، کلاسها و اعضاء ، سوراخها و مؤلفه ها. چرا این همه زمان لازم بود تا این مفاهیم را در تحلیل و تعیین مشخصات سیستمهای اطلاعاتی به کار بندیم:

OOA ریشه در مجموعه ای از اصول بنیادی دارد که در فصل 11 معرفی شد. برای ساخت یک مدل تحلیل، پنج اصل بنیادی به کار برده می شود: 1- دامنه اطلاعاتی مدلسازی می شود؛ 2- عملکرد توصیف می شود؛ 3- رفتار نشان داده می شود؛

4- مدلهای داده ای، عملیاتی و رفتاری افراز می شوند تا جزئیات بیشتری درمعرض دید قرار گیرند، و 5- مدلهای اولیه، جوهره و ماهیت مسئله را نشان می دهند، حال آنکه مدلهای نهایی، جزئیات پیاده سازی را نمایش می دهند. این اصول ، مبنای روش OOA را تشکیل می دهند.

هدف OOA تعریف کلیه کلاسهایی است که به نوعی با مسئله ارتباط دارند- عملیات و صفات مرتبط با آنها و روابط میان آنها و رفتاری که از خود نشان می دهند. برای این منظور ، چند وظیفه باید انجام شود:

1. خواسته های اصلی کاربر باید بین مشتری و مهندسی نرم افزار تبادل شود.

2. کلاسها باید شناسایی شوند (یعنی صفات و متدها تعریف شوند).

3. سلسله مراتب کلاسها باید مشخص شود.

4. روابط شیء با شیء (اتصالات اشیاء) باید نشان داده شوند.

5. رفتار اشیاء باید مدلسازی شود.

6. وظایف 1تا5 به طور تکراری دوباره اجرا می شوند تا مدل کامل گردد.

لازم به ذکر است که هیچ توافق جهانی بر سر ‹‹مفاهیمی›› که به عنوان مبنایی برای OOA عمل می کنند، وجود ندارد. ولی تعداد محدودی از ایده های کلیدی مکرراً ظاهر می شوند که آنها را در این فصل در نظر خواهیم گرفت.

نگاهی گذرا

تحلیل شیء گرا چیست؟ پیش از آنکه بتوانید سیستمی شیء گرا (OO) بسازید، باید این موارد را تایپ کنید:

کلاسهای (اشیایی) که مسئله را نشان دهند، شیوه هایی را که اشیاء با یکدیگر ارتباط و تعامل دارند، شیوة کارکردن داخلی اشیاء (صفات و عملیات) و راهکارهای برقراری ارتباط (پیامهایی) که کار کردن آنها را با یکدیگر امکان پذیر می سازند. همة این چیزها در اثنای تحلیل شیء گرا (OOA) انجام می شوند.

چه کسی آن را انجام می دهد؟ تعریف یک مدل شیء گرا شامل شرحی از خصوصیات ایستا و پویای کلاسهایی است که سیستم یا محصولی را توصیف می کنند. این فعالیت توسط مهندس نرم افزار انجام می شود.

چرا اهمیت آن را انجام می دهد؟ تا شناختی منطقی از سیستم یا محصول نداشته باشید، نمی توانید نرم افزاری (شیء گرا یا غیر آن) بسازید. OOA شیوه ای معین برای نشان دادن شناخت شما از خواسته ها فراهم می آورد و سپس آن شناخت را در مقابل درک مشتری از سیستمی که باید ساخته شود، می آزماید.

مراحل کار کدام است؟ OOA با شرحی از موارد کاربرد – شرحی مبتنی بر سناریو از چگونگی تعامل کنشگرها (افراد، ماشینها، سیستمهای دیگر) با محصولی که قرار است ساخته شود – آغاز می شود. مدلسازی CRC اطلاعات موجود در موارد کاربرد را به نمایشی از کلاسها و مشارکت آنها با کلاسهای دیگر ترجمه می کند. سپس خصوصیات ایستا و پویای کلاسها با استفاده از یک زبان مدلسازی یکنواخت (یا روش دیگر) مدلسازی می شود.

محصول کاری چیست؟ یک مدل تحلیل شیء گرا ایجاد می شود. مدل تحلیل OO از نمایشهای گرافیکی یا زبانی تشکیل می شود که صفات، روابط و رفتارهای کلاسها و نیز برقراری ارتباط میان کلاسها و توصیفی از رفتار کلاسها با گذشت زمان را تعریف میکنند.

چگونه اطمینان یابم که درست از عهده امور برآمده ام؟ در هر مرحله، عناصر مدل تحلیل شیء


دانلود با لینک مستقیم


تحقیق در مورد تحلیل شیء گرا

تحقیق درباره آموزش توسعه نرم افزار های شیء گرا توسط UML

اختصاصی از یارا فایل تحقیق درباره آموزش توسعه نرم افزار های شیء گرا توسط UML دانلود با لینک مستقیم و پر سرعت .

تحقیق درباره آموزش توسعه نرم افزار های شیء گرا توسط UML


 تحقیق درباره آموزش توسعه نرم افزار های شیء گرا توسط UML

فرمت فایل:  ورد ( قابلیت ویرایش ) 


قسمتی از محتوی متن ...

 

تعداد صفحات : 53 صفحه

آموزش توسعه نرم افزار های شیء گرا توسط UML .
فصل اول: مفاهیم شیء گرایی.
مقدمه.
شئ گرایی برای توسعه نرم افزار اولین بار در سال 1960 پیشنهاد شد، این روش پس از 20 سال به طور گسترده مورد استفادة جامعه نرم افزاری قرار گرفت.
توسعه دهندگان نرم افزار در دهه 1980 توجه جدی خو د را روی شئ گرایی معطوف کردند.
تکنولوژی شئ، قابلیت استفاده مجدد را برای مؤلفه های نرم افزاری به ارمغان آورد و این نیز به نوبه خود در تسریع توسعه نرم افزار و تولید محصول با کارایی بالا تاثیر بسزایی دارد؛ بعلاوه سیستمهای شئ گرا، براحتی قابل توسعه و به سهولت با محیط سازگار- از نظر تعامل با سیستمهای موجود در محیط استفاده از نرم افزار- می شوند .
دیدگاه شئ گرایی یک سیر تکاملی دارد؛ همچنانکه در بخشهای بعدی خواهیم دید، تعیین همه کلاسهای لازم برای یک سیستم دریک تکرار تا اندازه ای غیرممکن است و به محض تکمیل مدلهای تحلیل و طراحی نیاز به کلاسهای جدید در سیستم نمایان می شود.
درک سیستمهای پیچیده وتولید نرم افزار برای چنین سیستمهایی توسط افرادی که در این زمینه تجربه کافی ندارند، کاری بس مشکل است .
همچنین محصولی که این افراد تولید می کنند کارایی لازم را نخواهد داشت، در اینجا مهندسی نرم افزار به کمک افراد آمده و با مطالعه روشها و فنون مختلف مسیر توسعه و تولید نرم افزار را هموار می- سازد.
تجربیات بدست آمده در این زمینه، متدها و فرآیندهای متنوعی را برای توسعه نرم افزار در اختیار توسعه دهندگان قرار داده و ابزارهای مناسبی نیز این روشها را پشتیبانی می کنند.
درتوسعه یا ساخت نرم افزار برای یک سیستم، مشتری باید تعریف دقیقی از سیستم را در اختیار توسعه دهنده قرار دهد.
در توصیف سیستم، زبان طبیعی تا آن اندازه دقیق نیست که بتوان همه نیازمندیها، ساختار و رفتار سیستم را با آن بیان کرد و کد نویسی نیز چنان وارد جزئیات می شود که به یکباره نمی توان سیستم را در این سطح تشریح کرد.
لذا برای درک سیستم دست به مدل سازی می زنیم و مؤلفه های سیستم ، زیر سیستمها و رفتار سیستم را به صورت نمودارهای گرافیکی ترسیم می نماییم تا موارد قابل کاربرد و مهم به صورت برجسته به چشم بخورد و هیچ موردی در حوزة سیستم از قلم نیافتد .
در متد شئ گرا از زبان مدلسازی استانداردUML که در فصل چهارم به تفصیل خواهدآمد، استفاده می شود.
این زبان به وسیله ابزارهای مختلفی نظیر Rational Rose ، visio و … پشتیبانی می شود، میتوان ازUML در فرآیندهای مختلف استفاده کرد.
مفاهیم اساسی در این بخش مفاهیم اساسی توسعة نرم افزار شئ گرا را معرفی می کنیم.
در بالا به متد و فرآیند اشاره شد اما هیچ تعریفی از آنها ارائه نشد، حال این دو مفهوم کلی را بصورت زیر تعریف می کنیم.
متد، متدلوژی و اشیاء متد مجموعه ای از وظایف را جهت تعیین نیازمندیها، تحلیل، طراحی، برنامه ریزی، تست و پشتیبانی مشخص می کند.
از نظر فنی فرآیند توسعه نرم افزار- متدلوژی- یک قالب کاری برای وظایف لازم جهت ساختن یک نرم افزار با کیفیت بالاست.
در واقع متدلوژی، فرآیندی ساختارمند جهت توسعه نرم افزار است که به وسیله فنون و ابزارها حمایت می شود.
متد شئ گرا برپایه شئ استوار است، دیدگاه شئ گرا دنیای واقعی مسئله

متن کامل را می توانید دانلود نمائید چون فقط تکه هایی از متن در این صفحه درج شده به صورت نمونه

ولی در فایل دانلودی بعد پرداخت متن کامل

همراه با تمام متن با فرمت ورد Powerpoint,WordExcell , ..که قابل ویرایش و کپی کردن می باشند

موجود است 


دانلود با لینک مستقیم


تحقیق درباره آموزش توسعه نرم افزار های شیء گرا توسط UML

دانلود پاورپوینت آموزش تحلیل شیء گرا

اختصاصی از یارا فایل دانلود پاورپوینت آموزش تحلیل شیء گرا دانلود با لینک مستقیم و پرسرعت .

دانلود پاورپوینت آموزش تحلیل شیء گرا


دانلود پاورپوینت آموزش تحلیل شیء گرا
تعریف کردن کلاسها (اشیاء) مسئله.
شناسایی روش هایی که ارتباط وتعامل بین اشیاء را باعث می شود.
مشخص کردن رفتار داخلی اشیاء (صفات و اعمال).
تعیین کردن مکانیزم های ارتباطی(پیام ها)که امکان کار با یکدیگر را فراهم می کنند.

Eچه کسی (OOA)را انجام می دهد؟مهندس نرم افزار.

Eاهمیت (OOA) :
نرم افزارها چه با روش (OOA) ویا با روش دیگر تا زمانی که فهم کلی از سیستم (محصول)نباشد قابل ایجاد نیستند.
راه مطمئن برای نمایش دانسته ها (نیازها)- آزمایش آنها در مقابل درک مشتری از سیستم در حال ایجاد                   OOA
 
شروع با توصیفی از use-case که سناریویی از چگونگی تعامل عامل ها(افراد, ماشین ها,سیستم های دیگر) با محصول در حال ساخت است.
مدل همکاری وظایف کلاس ها (CRC):اطلاعات use- caseها را به نمایشی از کلاس ها و همکاری آنها با کلاس های دیگر ترجمه می کند.
مدل سازی از خصوصیات ایستا و پویای کلاس ها با استفاده از زبان یکپارچه ی مدل سازی (یا روشی دیگر).
vنگاهی گذرا
vمقدمه
vبخش1-21تحلیل شیءگرا
vبخش2-21تحلیل دامنه.
vبخش3- 21اجزاء عمومی مدل تحلیل شیءگرا.
vبخش4-21 فرایند تحلیل شیءگرا.
 
شامل 58 اسلاید powerpoint

دانلود با لینک مستقیم

پایان نامه رشته کامپیوتر: آموزش توسعه نرم افزار های شیء گرا توسط UML

اختصاصی از یارا فایل پایان نامه رشته کامپیوتر: آموزش توسعه نرم افزار های شیء گرا توسط UML دانلود با لینک مستقیم و پرسرعت .

پایان نامه رشته کامپیوتر: آموزش توسعه نرم افزار های شیء گرا توسط UML


پایان نامه رشته کامپیوتر: آموزش توسعه نرم افزار های شیء گرا توسط UML

در این پست می توانید متن کامل این پایان نامه را  با فرمت ورد word دانلود نمائید:

 

 

 

 

 

 فصل اول: مفاهیم شیء گرایی

مقدمه

شئ گرایی برای توسعه نرم افزار اولین بار در سال 1960 پیشنهاد شد، این روش پس از 20 سال به طور گسترده مورد استفاده جامعه نرم افزاری قرار گرفت. توسعه دهندگان نرم افزار در دهه 1980 توجه جدی خو د را روی شئ گرایی معطوف کردند. تکنولوژی شئ، قابلیت استفاده مجدد را برای مؤلفه های نرم افزاری به ارمغان آورد و این نیز به نوبه خود در تسریع توسعه نرم افزار و تولید محصول با کارایی بالا تاثیر بسزایی دارد؛ بعلاوه سیستمهای شئ گرا، براحتی قابل توسعه و به سهولت با محیط سازگار- از نظر تعامل با سیستمهای موجود در محیط استفاده از نرم افزار- می شوند . دیدگاه شئ گرایی یک سیر تکاملی دارد؛ همچنانکه در بخشهای بعدی خواهیم دید، تعیین همه کلاسهای لازم برای یک سیستم دریک تکرار تا اندازه ای غیرممکن است و به محض تکمیل مدلهای تحلیل و طراحی نیاز به کلاسهای جدید در سیستم نمایان می شود.

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

درتوسعه یا ساخت نرم افزار برای یک سیستم، مشتری باید تعریف دقیقی از سیستم را در اختیار توسعه دهنده قرار دهد. در توصیف سیستم، زبان طبیعی تا آن اندازه دقیق نیست که بتوان همه نیازمندیها، ساختار و رفتار سیستم را با آن بیان کرد و کد نویسی نیز چنان وارد جزئیات می شود که به یکباره نمی توان سیستم را در این سطح تشریح کرد. لذا برای درک سیستم دست به مدل سازی می زنیم و مؤلفه های سیستم ، زیر سیستمها و رفتار سیستم را به صورت نمودارهای گرافیکی ترسیم می نماییم تا موارد قابل کاربرد و مهم به صورت برجسته به چشم بخورد و هیچ موردی در حوزه سیستم از قلم نیافتد .

در متد شئ گرا از زبان مدلسازی استانداردUML که در فصل چهارم به تفصیل خواهدآمد، استفاده می شود. این زبان به وسیله ابزارهای مختلفی نظیر Rational Rose ، visio و … پشتیبانی می شود، میتوان ازUML در فرآیندهای مختلف استفاده کرد.

مفاهیم اساسی

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

متد، متدلوژی و اشیاء

متد مجموعه ای از وظایف را جهت تعیین نیازمندیها، تحلیل، طراحی، برنامه ریزی، تست و پشتیبانی مشخص می کند. از نظر فنی فرآیند توسعه نرم افزار- متدلوژی- یک قالب کاری برای وظایف لازم جهت ساختن یک نرم افزار با کیفیت بالاست. در واقع متدلوژی، فرآیندی ساختارمند جهت توسعه نرم افزار است که به وسیله فنون و ابزارها حمایت می شود.

متد شئ گرا برپایه شئ استوار است، دیدگاه شئ گرا دنیای واقعی مسئله را بصورت مجموعه ای از اشیاء مرتبط به هم می بیند. شئ یک موجودیت است که در دامنه مسئله نقش تعریف شده ای دارد و دارای حالت، رفتار و شناسه خاص خودش است. شئ می تواند یک ساختار ، نقش ، مکان و … باشد؛ شئ داده و رفتار را در خود کپسوله میکند و از دسترسی اشیاء دیگر به داده های خود جلوگیری و همچنین تا ثیر تغییرات محیطی بر این داده ها را کاهش می دهد و تنها راه دسترسی به این داده ها استفاده از اعمال یا سرویس های خود شئ می باشد. کلاس نوع اشیاء را نشان می دهد و شامل ویژگی های مشترک مجموعه ای از اشیاء می باشد، شئ نمونه ای از کلاس است . داده های شئ تحت عنوان صفات در کلاس شناخته می شوند و مقادیر این صفات است که شئ را از دیگر اشیای همنوع متمایز می نمایند. اعمال به دستکاری تعداد محدودی از صفات می پردازند و ارتباط بین کلاس ها و دیگر عناصرسیستم نیز از طریق همین سرویسها- اعمال – صورت می گیرد. به عبارت دیگر کلاس یک مشخصه کلی (قالب ، الگو یا طرح اولیه )است که مجموعه ای ازاشیاء مشابه را نشان می- دهد.نماد گرافیکی کلاس در شکل زیر نشان داده شده است، این نماد شامل سه قسمت است که بترتیب نام کلاس ، لیست صفات و لیست اعمال را نشان می دهند.

————————
نام کلاس

————————
لیست صفات

————————
لیست اعمال

————————

با تعریف کردن اشیاء موجود در سیستم از نوع یک کلاس خاص، این اشیاء همه صفات، اعمال و روابط کلاس مربوطه را به ارث می برند. یک فوق کلاس شامل ویژگی های مشترک صفات و اعمال جمعی از کلاسهاست و زیرکلاس یک حالت خاص ازفوق کلاس است که به آن تخصیص نیزگفته می شود. این تعاریف از وجود یک سلسله مراتب نشان می دهد که در آن کلاسهای تعمیم(فوق کلاس) توسط کلاسهای تخصیص به ارث برده می شوند، ممکن است که هر کدام ازکلاس های تخصیص دارای یکسری صفات و اعمال اختصاصی اضافی باشند. مجموعه مقادیر موجود برای یک صفت در یک کلاس، دامنه مقادیر آن صفت را نشان می دهد.

پیامها وسیله برقراری ارتباط و تعامل بین اشیاء می باشند ، این پیامها شئ مقصد را تحریک می کنند تا یک کار خاص را انجام دهد. سرویسی که در شیء فرستنده پیام تولید می کند، یک پیام با قالب message:[destination, operation, parameters] ارسال میکند که در آن destination شیء گیرنده و operation سرویسی از شیء گیرنده است که پیام را دریافت می کند و parameters شامل اطلاعات لازم جهت انجام موفق سرویس خواسته شده است. شکل 1-2 مثالی از کلاسهای تعمیم و تخصیص را نشان می دهد که در آن برای دانشجو یک فوق کلاس دانشجو داریم که شامل داده ها و اعمال مشترک بین دانشجویان دوره لیسانس و فوق لیسانس است، همچنین دو زیر کلاس تخصیص جداگانه برای دانشجویان لیسانس و فوق لیسانس نشان داده شده است که حالات خاصی از کلاس دانشجو هستند. در عمل ما شیئی از نوع فوق کلاس دانشجو نخواهیم داشت، در این حالت به کلاسstudent یک کلاس مجرد گفته می- شود . کلاس مجرد کلاسی است که هیچ شیئی از آن نوع نداشته باشیم.

کپسوله سازی، ارث بری و چند ریختی

با توجه به مطالب ذکر شده در بالا، شیء گرایی به واسطه سه خاصیت مهم کپسوله سازی، ارث بری و چند ریختی یک روش منحصر بفرد است . بطور کلی کپسوله سازی تکنیکی است که جزئیات پیاده سازی داخلی شئ را از دید سایر اشیاء و مؤلفه های سیستم پنهان می کند(مخفی سازی اطلاعات ). عمل، تابعی است که در تمام نمونه های یک نوع وجود دارد و سایر اشیاء تنها از طریق اعمال موجود در یک شئ می توانند به اطلاعات این شئ دسترسی داشته باشند، بنابراین اعمال یک واسط برای کلاس بشمار می روند. واسط رویه بیرونی کلاس را بدون اینکه ساختار درونی وچگونگی پیاده سازی اعمال را نشان دهد ، نمایان می سازد. خاصیت کپسوله سازی داده و عمل دریک کلاس بطور عمده مزایای زیررا دارد.

  • جزئیات پیاده سازی داخلی داده و روتین ها از دنیای خارج قابل مشاهده نیست (مخفی سازی اطلاعات ). این خاصیت تاثیر تغییرات محیطی بر شیء را کاهش می-دهد.
  • ساختمان داده ها و اعمالی که برای دستکاری داده ها در نظر گرفته شده با هم ادغام شده و تحت یک نام (اسم کلاس) شناخته می شود و این اساس مؤلفه قابل استفاده مجدد را فراهم می نماید.
  • واسطه های ما بین اشیاء کپسوله شده ساده اند، لزومی ندارد که شئ فرستنده پیام از جزئیات ساختمان داده درونی شئ مقصد اطلاع داشته باشد.

خاصیت کلیدی بعدی که روش شیءگرا را از سایر روشها متمایز می دارد، ارث بری است. در شکل بالا زیر کلاس Graduate student همه صفات و اعمال متناظر شده با فوق کلاسش(Student) را به ارث می برد، بدین معنی که تمام ساختمان داده و الگوریتمهایی که برای فوق کلاسstudent طراحی و پیاده سازی شده برای کلاس تخصیص نیز در دسترس می باشد و هیچ کار اضافی لازم نیست انجام بگیرد . و عملاً از قابلیت استفاده مجدد استفاده می کند.

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

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

 

(ممکن است هنگام انتقال از فایل ورد به داخل سایت بعضی متون به هم بریزد یا بعضی نمادها و اشکال درج نشود ولی در فایل دانلودی همه چیز مرتب و کامل است)

متن کامل را می توانید دانلود نمائید

چون فقط تکه هایی از متن پایان نامه در این صفحه درج شده (به طور نمونه)

ولی در فایل دانلودی متن کامل پایان نامه

همراه با تمام ضمائم (پیوست ها) با فرمت ورد word که قابل ویرایش و کپی کردن می باشند

موجود است

 


دانلود با لینک مستقیم

پایان نامه آموزش توسعه نرم افزار های شیء گرا توسط UML

اختصاصی از یارا فایل پایان نامه آموزش توسعه نرم افزار های شیء گرا توسط UML دانلود با لینک مستقیم و پرسرعت .

پایان نامه آموزش توسعه نرم افزار های شیء گرا توسط UML


پایان نامه آموزش توسعه نرم افزار های شیء گرا توسط UML

 

 

 

 

 

 



فرمت فایل : word(قابل ویرایش)

تعداد صفحات:53

مقدمه:

شئ گرایی برای توسعه نرم افزار اولین بار در سال 1960 پیشنهاد شد، این روش پس از 20 سال به طور گسترده مورد استفاده جامعه نرم افزاری قرار گرفت. توسعه دهندگان نرم افزار در دهه 1980 توجه جدی خو د را روی شئ گرایی معطوف کردند. تکنولوژی شئ، قابلیت استفاده مجدد را برای مؤلفه های نرم افزاری به ارمغان آورد و این نیز به نوبه خود در تسریع توسعه نرم افزار و تولید محصول با کارایی بالا تاثیر بسزایی دارد؛ بعلاوه سیستمهای شئ گرا، براحتی قابل توسعه و به سهولت با محیط سازگار- از نظر تعامل با سیستمهای موجود در محیط استفاده از نرم افزار- می شوند . دیدگاه شئ گرایی یک سیر تکاملی دارد؛ همچنانکه در بخشهای بعدی خواهیم دید، تعیین همه کلاسهای لازم برای یک سیستم دریک تکرار تا اندازه ای غیرممکن است و به محض تکمیل مدلهای تحلیل و طراحی نیاز به کلاسهای جدید در سیستم نمایان می شود.

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

درتوسعه یا ساخت نرم افزار برای یک سیستم، مشتری باید تعریف دقیقی از سیستم را در اختیار توسعه دهنده قرار دهد. در توصیف سیستم، زبان طبیعی تا آن اندازه دقیق نیست که بتوان همه نیازمندیها، ساختار و رفتار سیستم را با آن بیان کرد و کد نویسی نیز چنان وارد جزئیات می شود که به یکباره نمی توان سیستم را در این سطح تشریح کرد. لذا برای درک سیستم دست به مدل سازی می زنیم و مؤلفه های سیستم ، زیر سیستمها و رفتار سیستم را به صورت نمودارهای گرافیکی ترسیم می نماییم تا موارد قابل کاربرد و مهم به صورت برجسته به چشم بخورد و هیچ موردی در حوزه سیستم از قلم نیافتد .

در متد شئ گرا از زبان مدلسازی استانداردUML که در فصل چهارم به تفصیل خواهدآمد، استفاده می شود. این زبان به وسیله ابزارهای مختلفی نظیر Rational Rose ، visio و … پشتیبانی می شود، میتوان ازUML در فرآیندهای مختلف استفاده کرد.

مفاهیم اساسی

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

متد، متدلوژی و اشیاء

متد مجموعه ای از وظایف را جهت تعیین نیازمندیها، تحلیل، طراحی، برنامه ریزی، تست و پشتیبانی مشخص می کند. از نظر فنی فرآیند توسعه نرم افزار- متدلوژی- یک قالب کاری برای وظایف لازم جهت ساختن یک نرم افزار با کیفیت بالاست. در واقع متدلوژی، فرآیندی ساختارمند جهت توسعه نرم افزار است که به وسیله فنون و ابزارها حمایت می شود.

متد شئ گرا برپایه شئ استوار است، دیدگاه شئ گرا دنیای واقعی مسئله را بصورت مجموعه ای از اشیاء مرتبط به هم می بیند. شئ یک موجودیت است که در دامنه مسئله نقش تعریف شده ای دارد و دارای حالت، رفتار و شناسه خاص خودش است. شئ می تواند یک ساختار ، نقش ، مکان و … باشد؛ شئ داده و رفتار را در خود کپسوله میکند و از دسترسی اشیاء دیگر به داده های خود جلوگیری و همچنین تا ثیر تغییرات محیطی بر این داده ها را کاهش می دهد و تنها راه دسترسی به این داده ها استفاده از اعمال یا سرویس های خود شئ می باشد. کلاس نوع اشیاء را نشان می دهد و شامل ویژگی های مشترک مجموعه ای از اشیاء می باشد، شئ نمونه ای از کلاس است . داده های شئ تحت عنوان صفات در کلاس شناخته می شوند و مقادیر این صفات است که شئ را از دیگر اشیای همنوع متمایز می نمایند. اعمال به دستکاری تعداد محدودی از صفات می پردازند و ارتباط بین کلاس ها و دیگر عناصرسیستم نیز از طریق همین سرویسها- اعمال – صورت می گیرد. به عبارت دیگر کلاس یک مشخصه کلی (قالب ، الگو یا طرح اولیه )است که مجموعه ای ازاشیاء مشابه را نشان می- دهد.نماد گرافیکی کلاس در شکل زیر نشان داده شده است، این نماد شامل سه قسمت است که بترتیب نام کلاس ، لیست صفات و لیست اعمال را نشان می دهند.

————————
نام کلاس

————————
لیست صفات

————————
لیست اعمال

————————

با تعریف کردن اشیاء موجود در سیستم از نوع یک کلاس خاص، این اشیاء همه صفات، اعمال و روابط کلاس مربوطه را به ارث می برند. یک فوق کلاس شامل ویژگی های مشترک صفات و اعمال جمعی از کلاسهاست و زیرکلاس یک حالت خاص ازفوق کلاس است که به آن تخصیص نیزگفته می شود. این تعاریف از وجود یک سلسله مراتب نشان می دهد که در آن کلاسهای تعمیم(فوق کلاس) توسط کلاسهای تخصیص به ارث برده می شوند، ممکن است که هر کدام ازکلاس های تخصیص دارای یکسری صفات و اعمال اختصاصی اضافی باشند. مجموعه مقادیر موجود برای یک صفت در یک کلاس، دامنه مقادیر آن صفت را نشان می دهد.

پیامها وسیله برقراری ارتباط و تعامل بین اشیاء می باشند ، این پیامها شئ مقصد را تحریک می کنند تا یک کار خاص را انجام دهد. سرویسی که در شیء فرستنده پیام تولید می کند، یک پیام با قالب message:[destination, operation, parameters] ارسال میکند که در آن destination شیء گیرنده و operation سرویسی از شیء گیرنده است که پیام را دریافت می کند و parameters شامل اطلاعات لازم جهت انجام موفق سرویس خواسته شده است. شکل 1-2 مثالی از کلاسهای تعمیم و تخصیص را نشان می دهد که در آن برای دانشجو یک فوق کلاس دانشجو داریم که شامل داده ها و اعمال مشترک بین دانشجویان دوره لیسانس و فوق لیسانس است، همچنین دو زیر کلاس تخصیص جداگانه برای دانشجویان لیسانس و فوق لیسانس نشان داده شده است که حالات خاصی از کلاس دانشجو هستند. در عمل ما شیئی از نوع فوق کلاس دانشجو نخواهیم داشت، در این حالت به کلاسstudent یک کلاس مجرد گفته می- شود . کلاس مجرد کلاسی است که هیچ شیئی از آن نوع نداشته باشیم.

کپسوله سازی، ارث بری و چند ریختی

با توجه به مطالب ذکر شده در بالا، شیء گرایی به واسطه سه خاصیت مهم کپسوله سازی، ارث بری و چند ریختی یک روش منحصر بفرد است . بطور کلی کپسوله سازی تکنیکی است که جزئیات پیاده سازی داخلی شئ را از دید سایر اشیاء و مؤلفه های سیستم پنهان می کند(مخفی سازی اطلاعات ). عمل، تابعی است که در تمام نمونه های یک نوع وجود دارد و سایر اشیاء تنها از طریق اعمال موجود در یک شئ می توانند به اطلاعات این شئ دسترسی داشته باشند، بنابراین اعمال یک واسط برای کلاس بشمار می روند. واسط رویه بیرونی کلاس را بدون اینکه ساختار درونی وچگونگی پیاده سازی اعمال را نشان دهد ، نمایان می سازد. خاصیت کپسوله سازی داده و عمل دریک کلاس بطور عمده مزایای زیررا دارد.

  • جزئیات پیاده سازی داخلی داده و روتین ها از دنیای خارج قابل مشاهده نیست (مخفی سازی اطلاعات ). این خاصیت تاثیر تغییرات محیطی بر شیء را کاهش می-دهد.
  • ساختمان داده ها و اعمالی که برای دستکاری داده ها در نظر گرفته شده با هم ادغام شده و تحت یک نام (اسم کلاس) شناخته می شود و این اساس مؤلفه قابل استفاده مجدد را فراهم می نماید.
  • واسطه های ما بین اشیاء کپسوله شده ساده اند، لزومی ندارد که شئ فرستنده پیام از جزئیات ساختمان داده درونی شئ مقصد اطلاع داشته باشد.

خاصیت کلیدی بعدی که روش شیءگرا را از سایر روشها متمایز می دارد، ارث بری است. در شکل بالا زیر کلاس Graduate student همه صفات و اعمال متناظر شده با فوق کلاسش(Student) را به ارث می برد، بدین معنی که تمام ساختمان داده و الگوریتمهایی که برای فوق کلاسstudent طراحی و پیاده سازی شده برای کلاس تخصیص نیز در دسترس می باشد و هیچ کار اضافی لازم نیست انجام بگیرد . و عملاً از قابلیت استفاده مجدد استفاده می کند.

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

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

دانلود با لینک مستقیم