چکیده:
در مدلسازی شیئگرای نرم افزار با استفاده ازUML چهرههایی مختلف یک سیستم با استفاده از دیاگرامهای مختلف نمایش داده میشوند. ساختار پایدار سیستم از طریق دیاگرامهای کلاس واکنش بین قطعات مختلف مدل از طریق دیاگرامهای کنش مثل دیاگرامهای توالی و دیاگرانمهای همکاری نمایش داده میشود. بنابراین یک مدل کامل شامل چندین دیاگرام از انواع مختلف میباشد. بنابراین سازگاری بین دیاگرامهای مختلف از اهمیت بسیاری برخوردار است.
در این مقاله آنالیز سازگاری بین دیاگرامهای گلاس و توالی با استفاده از گرافهای نوع ویژگی و تبدیلات آنها شرح داده شده است. اگر بخواهیم به طور صریح بگوییم دیاگرامهای کلاس به گرافهای نوع ویژگی که به آنها گرافهای کلاس میگوییم تبدیل میگردند.همچنین چندتاییها به قیودی تبدیل میگردند که به آنها قیود چندتایی میگوییم. دیاگرامهای توالی توسط یک گرامر گرافگونه نمایش داده میشوند که به آنها گرامرهای گرافگونه کنش میگویم.
آنالیز سازگاری شامل موارد “ وجودی” ، “ آشکاری” و “ چند تایی” میگردد برای آنالیز سازگاری از تکنیکهای جبری موجود، برای گرامرهای گرافگونه استفاده شده است.
1ـ ممقدمه
برای ایجاد یک سیستم جدید واعمال تغییرات در یک سیستم موجود در ابتدا باید کارکرد آن سیستم تعیین گردد. درحقیقت ساختار ایستا و پویای سیستم باید کاملاً مشخص و مدلسازی گردد. بنابراین واجب است، عناصری برای نمایش ساختار داخلی، رفتار سیستم و کنش بین قطعات مختلف آن در نظر گرفته شوند. در صورتی که از یک متد شیئگرا استفاده کنیم، در آنصورت UML برای نمایش و مدلسازی سیستم و قطعات آن انتخاب مناسبی است. UML چند نوع مختلف دیاگرام را که هر کدام سیستم را از زاویهای خاص نمایش میدهند،. تعریف میکند. هر دیاگرام یا ساختار ایستای سیستم، یا رفتار داخلی آن و یا کنش بین قطعات مختلف را نمایش میدهد. بنابراین مدل کامل سیستم شامل چندین دیاگرام از انواع مختلف میباشد. علاوه براینکه دیاگرامها از نظر املایی باید درست باشد و همچنین هر یک به تنهای سازگار باشند، دیاگرامهایی که از یک نوع نیستند، نیز باید با هم سازگار باشند. برای آنالیز سازگاری دیاگرامهای کلاس و توالی از گرافهای نوع ویژگی و تبدیلات آنها استفاده شده است.
برای درک بهتر راه حل ارائه شده در بخش بعد، ابتدا دیاگرامهای کلاس و توالی و ویژگیهایی که باید بررسی گردند، مورد مطالعه قرار می گیرند.
دیاگرامهای UML
UML یک زبان مدلسازی یکپارچه می باشد ،که برای مدلسازی انواع سیستم های نرم افزاری مبتنی بر متدولوژی شیئی گرا در نظر گرفته شده است . این زبان برای تشریح ، نمایش ،ساخت و X مستند سازی سیستم های نرم افزاری مورد استفاده قرار می گیرد. نسخه1-1 UML در نوامبر 1997 توسطOMG مورد قبول واقع شده است و نسخه 3-1 آن از مارس 1999در دسترس میباشد. به خاطر استفاده فراوان این زبان در صنعت و تحقیقات این زبان بصورت استاندارد در آمده است.
1-2- دیاگرامهای کلاس
1-1-2- تعریف
دیاگرامهای کلاس ساختار ایستای سیستم را نمایش میدهند، یعنی عناصر موجود در سیستم، ساختار داخلی آنها و ارتباط آنها با سایر عناصر سیستم را مشخص می کنند. عناصر سیستم بصورت کلاس در دیاگرام کلاس نمایش داده میشوند.
چند نوع مارتباط ایستا بین کلاسها وجود دارد یعنی تناظر، مجتمع، ترکیب، وابستگی و تعمیم .
مفهوم بستهها در UML یک مکانیزم درختی برای گروهبندی کلاسها، به دست میدهد. ساختار داخلی کلاسها با لیستهایی از متدها و ویژگیها نمایش داده میشود. جزئیات بیشتر عناصر مدل در بخش بعد تشریح شده اند. وابسته به سطح مجرد سازی و پیچیدگی سیستم ، عناصر کمتر و یا بیشتری مورد بررسی قرار می گیرند.
2-1-2 عناصر دیاگرامهای کلاس
یک کلاس یک شرح برای مجموعة اشیائی است ،که دارای یک ساختار ، رفتار ، ارتباطها و معنی می باشند. هر کلاس دارای یک نام می باشد و می تواند متعلق به یک بسته باشد.
اشیائی که از یک کلاس هستند دارای یک لیست ویژگیها و یک لیست متدهای یکسان میباشند،اماL1 مقادیر ویژگیها ممکن است متفاوت باشند. یک دیاگرام کلاس میتواند دارای اشیایی باشد، که نمونههایی از کلاسها میباشند. شکل معمول تعریف یک ویژگی بصورت زیر میباشد.
Visibility name : type ?? expression
نوع ویژگی (type- expression) توسط UML تعریف نمیشود و این مقدار وابسته به زبان میباشد در حقیقت نوع متغیر، برای زبانی است، که در نهایت کلاس مورد نظر در آن ایجاد و پیادهسازی خواهد شد. ممکن است کلاسهای موجود در دیاگرام کلاس به عنوان نوع متغیر برای ویژگیها مورد استفاده قرار گیرند. این زمانی است که یک ویژگی یک مرجع برای یک شیء از آن کلاس نگهداری میکند. آشکاری ویژگیها شامل یکی از موارد protecded(#) , public(+) و prirate(-) میباشد. ویژگیهای عمونی (public) برای سایر کلاسها قابل دسترس هستند،ویژگیهای محافظت شده تنها برای اشیاء همان کلاس و یا زیرکلاسهای آن قابل دسترس میباشند و ویژگیهای خصوصی(( prirate تنها برای خود شیء قابل دسترس میباشند. سایر جزئیات مثل مقادیر اولیه، چند تایی و رشتههای مربوط به ویژگی ها ، همگی اختیاری هستند.
یک متد در UMLتوسط یک رشته که به شکل زیر میباشد تعریف میگردد....
نوع فایل : Word
تعداد صفحه : 64
موضوع فارسی :یک روش شرکت طراحی بر اساس مدل رانده معماری برای واقعی
سیستم های جاسازی شده زمان
موضوع انگلیسی :14
تعداد صفحه :A co-design methodology based on model driven architecture for real
time embedded systems
فرمت فایل :PDF
سال انتشار :2011
زبان مقاله : انگلیسی
در این مقاله روش های طراحی MOPCOM، توسعه یافته برای فعال کردن کارآمد
طراحی سیستم های جاسازی شده زمان واقعی، در رادیو خاص (مانند نرم افزار تعریف شده رادیو)
ارتباطات و پردازش ویدئو تجهیزات. بر اساس UML و مدل رانده
رویکرد معماری، می توان آن سودمندانه برای طراحی یک سیستم استفاده شود
یک تراشه یا یک سیستم روی یک تراشه قابل برنامه ریزی. روش MOPCOM مجموعه ای از تعریف
قوانین برای ایجاد مدل UML برای سیستم های جاسازی شده، که از آن سخت افزار باشرکت
کد زبان به طور خودکار با استفاده از مجموعه ای از تحولات مدل تولید می شود.
مشخصات مارته برای توصیف خواص زمان واقعی و به انجام مدل سازی پلت فرم.
نشان دهنده ارتباط بی سیم ارائه شده است برای نشان دادن روش و
قالب.
فرمت فایل : power point (قابل ویرایش) تعداد اسلایدها: 61 اسلاید
عناوین مورد بحث
¨انگیزهها و اصول عمومی¨پیش زمینه ¨ضرورت و اهداف¨تشریح متدولوژی ارزیابی کارایی¨مثال کاربردی: سیستم خود پرداز بانکی(ATM)¨جمع بندی و نتیجه گیری
فصل اول: مفاهیم شیء گرایی
مقدمه
شئ گرایی برای توسعه نرم افزار اولین بار در سال 1960 پیشنهاد شد، این روش پس از 20 سال به طور گسترده مورد استفاده جامعه نرم افزاری قرار گرفت. توسعه دهندگان نرم افزار در دهه 1980 توجه جدی خو د را روی شئ گرایی معطوف کردند. تکنولوژی شئ، قابلیت استفاده مجدد را برای مؤلفه های نرم افزاری به ارمغان آورد و این نیز به نوبه خود در تسریع توسعه نرم افزار و تولید محصول با کارایی بالا تاثیر بسزایی دارد؛ بعلاوه سیستمهای شئ گرا، براحتی قابل توسعه و به سهولت با محیط سازگار- از نظر تعامل با سیستمهای موجود در محیط استفاده از نرم افزار- می شوند . دیدگاه شئ گرایی یک سیر تکاملی دارد؛ همچنانکه در بخشهای بعدی خواهیم دید، تعیین همه کلاسهای لازم برای یک سیستم دریک تکرار تا اندازه ای غیرممکن است و به محض تکمیل مدلهای تحلیل و طراحی نیاز به کلاسهای جدید در سیستم نمایان می شود.
درک سیستمهای پیچیده وتولید نرم افزار برای چنین سیستمهایی توسط افرادی که در این زمینه تجربه کافی ندارند، کاری بس مشکل است . همچنین محصولی که این افراد تولید می کنند کارایی لازم را نخواهد داشت، در اینجا مهندسی نرم افزار به کمک افراد آمده و با مطالعه روشها و فنون مختلف مسیر توسعه و تولید نرم افزار را هموار می- سازد. تجربیات بدست آمده در این زمینه، متدها و فرآیندهای متنوعی را برای توسعه نرم افزار در اختیار توسعه دهندگان قرار داده و ابزارهای مناسبی نیز این روشها را پشتیبانی می کنند.
درتوسعه یا ساخت نرم افزار برای یک سیستم، مشتری باید تعریف دقیقی از سیستم را در اختیار توسعه دهنده قرار دهد. در توصیف سیستم، زبان طبیعی تا آن اندازه دقیق نیست که بتوان همه نیازمندیها، ساختار و رفتار سیستم را با آن بیان کرد و کد نویسی نیز چنان وارد جزئیات می شود که به یکباره نمی توان سیستم را در این سطح تشریح کرد. لذا برای درک سیستم دست به مدل سازی می زنیم و مؤلفه های سیستم ، زیر سیستمها و رفتار سیستم را به صورت نمودارهای گرافیکی ترسیم می نماییم تا موارد قابل کاربرد و مهم به صورت برجسته به چشم بخورد و هیچ موردی در حوزه سیستم از قلم نیافتد .
در متد شئ گرا از زبان مدلسازی استانداردUML که در فصل چهارم به تفصیل خواهدآمد، استفاده می شود. این زبان به وسیله ابزارهای مختلفی نظیر Rational Rose ، visio و … پشتیبانی می شود، میتوان ازUML در فرآیندهای مختلف استفاده کرد.
مفاهیم اساسی
در این بخش مفاهیم اساسی توسعه نرم افزار شئ گرا را معرفی می کنیم. در بالا به متد و فرآیند اشاره شد اما هیچ تعریفی از آنها ارائه نشد، حال این دو مفهوم کلی را بصورت زیر تعریف می کنیم.
متد، متدلوژی و اشیاء
متد مجموعه ای از وظایف را جهت تعیین نیازمندیها، تحلیل، طراحی، برنامه ریزی، تست و پشتیبانی مشخص می کند. از نظر فنی فرآیند توسعه نرم افزار- متدلوژی- یک قالب کاری برای وظایف لازم جهت ساختن یک نرم افزار با کیفیت بالاست. در واقع متدلوژی، فرآیندی ساختارمند جهت توسعه نرم افزار است که به وسیله فنون و ابزارها حمایت می شود.
متد شئ گرا برپایه شئ استوار است، دیدگاه شئ گرا دنیای واقعی مسئله را بصورت مجموعه ای از اشیاء مرتبط به هم می بیند. شئ یک موجودیت است که در دامنه مسئله نقش تعریف شده ای دارد و دارای حالت، رفتار و شناسه خاص خودش است. شئ می تواند یک ساختار ، نقش ، مکان و … باشد؛ شئ داده و رفتار را در خود کپسوله میکند و از دسترسی اشیاء دیگر به داده های خود جلوگیری و همچنین تا ثیر تغییرات محیطی بر این داده ها را کاهش می دهد و تنها راه دسترسی به این داده ها استفاده از اعمال یا سرویس های خود شئ می باشد. کلاس نوع اشیاء را نشان می دهد و شامل ویژگی های مشترک مجموعه ای از اشیاء می باشد، شئ نمونه ای از کلاس است . داده های شئ تحت عنوان صفات در کلاس شناخته می شوند و مقادیر این صفات است که شئ را از دیگر اشیای همنوع متمایز می نمایند. اعمال به دستکاری تعداد محدودی از صفات می پردازند و ارتباط بین کلاس ها و دیگر عناصرسیستم نیز از طریق همین سرویسها- اعمال – صورت می گیرد. به عبارت دیگر کلاس یک مشخصه کلی (قالب ، الگو یا طرح اولیه )است که مجموعه ای ازاشیاء مشابه را نشان می- دهد.نماد گرافیکی کلاس در شکل زیر نشان داده شده است، این نماد شامل سه قسمت است که بترتیب نام کلاس ، لیست صفات و لیست اعمال را نشان می دهند.
————————
نام کلاس
————————
لیست صفات
————————
لیست اعمال
————————
با تعریف کردن اشیاء موجود در سیستم از نوع یک کلاس خاص، این اشیاء همه صفات، اعمال و روابط کلاس مربوطه را به ارث می برند. یک فوق کلاس شامل ویژگی های مشترک صفات و اعمال جمعی از کلاسهاست و زیرکلاس یک حالت خاص ازفوق کلاس است که به آن تخصیص نیزگفته می شود. این تعاریف از وجود یک سلسله مراتب نشان می دهد که در آن کلاسهای تعمیم(فوق کلاس) توسط کلاسهای تخصیص به ارث برده می شوند، ممکن است که هر کدام ازکلاس های تخصیص دارای یکسری صفات و اعمال اختصاصی اضافی باشند. مجموعه مقادیر موجود برای یک صفت در یک کلاس، دامنه مقادیر آن صفت را نشان می دهد.
پیامها وسیله برقراری ارتباط و تعامل بین اشیاء می باشند ، این پیامها شئ مقصد را تحریک می کنند تا یک کار خاص را انجام دهد. سرویسی که در شیء فرستنده پیام تولید می کند، یک پیام با قالب message:[destination, operation, parameters] ارسال میکند که در آن destination شیء گیرنده و operation سرویسی از شیء گیرنده است که پیام را دریافت می کند و parameters شامل اطلاعات لازم جهت انجام موفق سرویس خواسته شده است. شکل 1-2 مثالی از کلاسهای تعمیم و تخصیص را نشان می دهد که در آن برای دانشجو یک فوق کلاس دانشجو داریم که شامل داده ها و اعمال مشترک بین دانشجویان دوره لیسانس و فوق لیسانس است، همچنین دو زیر کلاس تخصیص جداگانه برای دانشجویان لیسانس و فوق لیسانس نشان داده شده است که حالات خاصی از کلاس دانشجو هستند. در عمل ما شیئی از نوع فوق کلاس دانشجو نخواهیم داشت، در این حالت به کلاسstudent یک کلاس مجرد گفته می- شود . کلاس مجرد کلاسی است که هیچ شیئی از آن نوع نداشته باشیم.
کپسوله سازی، ارث بری و چند ریختی
با توجه به مطالب ذکر شده در بالا، شیء گرایی به واسطه سه خاصیت مهم کپسوله سازی، ارث بری و چند ریختی یک روش منحصر بفرد است . بطور کلی کپسوله سازی تکنیکی است که جزئیات پیاده سازی داخلی شئ را از دید سایر اشیاء و مؤلفه های سیستم پنهان می کند(مخفی سازی اطلاعات ). عمل، تابعی است که در تمام نمونه های یک نوع وجود دارد و سایر اشیاء تنها از طریق اعمال موجود در یک شئ می توانند به اطلاعات این شئ دسترسی داشته باشند، بنابراین اعمال یک واسط برای کلاس بشمار می روند. واسط رویه بیرونی کلاس را بدون اینکه ساختار درونی وچگونگی پیاده سازی اعمال را نشان دهد ، نمایان می سازد. خاصیت کپسوله سازی داده و عمل دریک کلاس بطور عمده مزایای زیررا دارد.
جزئیات پیاده سازی داخلی داده و روتین ها از دنیای خارج قابل مشاهده نیست (مخفی سازی اطلاعات ). این خاصیت تاثیر تغییرات محیطی بر شیء را کاهش می-دهد.ساختمان داده ها و اعمالی که برای دستکاری داده ها در نظر گرفته شده با هم ادغام شده و تحت یک نام (اسم کلاس) شناخته می شود و این اساس مؤلفه قابل استفاده مجدد را فراهم می نماید.واسطه های ما بین اشیاء کپسوله شده ساده اند، لزومی ندارد که شئ فرستنده پیام از جزئیات ساختمان داده درونی شئ مقصد اطلاع داشته باشد.خاصیت کلیدی بعدی که روش شیءگرا را از سایر روشها متمایز می دارد، ارث بری است. در شکل بالا زیر کلاس Graduate student همه صفات و اعمال متناظر شده با فوق کلاسش(Student) را به ارث می برد، بدین معنی که تمام ساختمان داده و الگوریتمهایی که برای فوق کلاسstudent طراحی و پیاده سازی شده برای کلاس تخصیص نیز در دسترس می باشد و هیچ کار اضافی لازم نیست انجام بگیرد . و عملاً از قابلیت استفاده مجدد استفاده می کند.
اگر تغییری در داده ها و اعمال فوق کلاس انجام داده شود بلافاصله توسط تمام زیر کلاس های آن فوق کلاس به ارث برده می شود. لذا از مکانیزم سلسله مراتبی برای انتشار تغییرات در سیستم استفاده می شود و این مهم است که در هر سطح از سلسله مراتب صفات یا اعمال به آنچه که توسط سطح بعدی به ارث برده می شود، اضافه می- شود. بنابراین وقتی که لازم است کلاسی جدید ایجاد شود، مهندس نرم افزار می تواند به یکی از راه کارهای زیر عمل کند:
می توان بدون استفاده از ارث بری کلاس را بطور مستقل طراحی نمود.بررسی ساختار سلسله مراتبی کلاس های موجود و یافتن سطحی از ارث بری که بیشترین صفات و اعمال کلاس جدید را داراست، سپس کلاس جدید در سطح بالاتر قرار داده می شود و صفات و اعمال موجود در سطح پایین تر را به ارث می برد.سلسله مراتب را ساختاربندی مجدد می نماییم تا کلاس جدید بتواند صفات و اعمال لازم را به ارث ببرد.
(ممکن است هنگام انتقال از فایل ورد به داخل سایت بعضی متون به هم بریزد یا بعضی نمادها و اشکال درج نشود ولی در فایل دانلودی همه چیز مرتب و کامل است)
متن کامل را می توانید دانلود نمائید
چون فقط تکه هایی از متن پایان نامه در این صفحه درج شده (به طور نمونه)
ولی در فایل دانلودی متن کامل پایان نامه
همراه با تمام ضمائم (پیوست ها) با فرمت ورد word که قابل ویرایش و کپی کردن می باشند
موجود است
فایل به همراه داکیونت پروژه و فایل مرتبط با رشنال رز می باشد