صفحه 1:
به نام آنکه جان را فکرت آموخت چراغ دل به نور جان برافروخت مهندسي نوم افزر (1) .بو ‎va ١ Se) eee aT a? bd‏ whozitly p99 Jluosi 81-82 0-9 آزاد اسلامي واحد شبستر ‎aw‏

صفحه 2:

صفحه 3:
كد آن واحد عملياتي بايد نيازهاي آن واحد مشخص هر واحد عملياتي + براي ۵ تعیین چارت سازماني

صفحه 4:
كد : شناخت سيستمها معمولا به دو صورت است System Centric @ User Centric @

صفحه 5:
كد كزارش شماره 1 كزارش شناخت نيازمنديها Sanaa اهداف ؛ رابطه اي منطقي بین ‎agit‏ که در حال حاضر وجود دارد با آنهه که در آینده وجود خواهد داشت.

صفحه 6:
كد كزارش شماره 1 ااشرح مسئله حوزه مساله : افراد مرتبط باسیستم نیاز مساله : افراد چه نيازهايي از سیستم دارند راه حل پيشنهادي : نقطه فروش : وجه تمایز سید باسا

صفحه 7:

صفحه 8:
كد شناخت نيازها اه © براي تعيين ۳ ۳ ۱ دانستن اهداف كلي سيستم فراد نستن اهداف کاري افر ‎ilo‏ ‏3 ‏فعال در سیستم

صفحه 9:

صفحه 10:
كد شناخت نبازها ‎OH‏ دلایل شناخت سیستم جاري (كنوني) : مشخص شدن نیازها براي سیستم آتي (نا حدودي) ‎gee gael‏ و تحميدهاي سیستم کنوذ تعیین کارهاي زائد و اضافی ‎ ‏نظر ادوارد بوردون (سلزوة15) 1

صفحه 11:
كد شناخت نيازها ‎SSADM‏ نت ۳ روش ساختيافته) ‏صرف زمان زيادي براي مدلسازي سیستم جاري

صفحه 12:
: شناخت نیازها © دلايل مطالعه سيستم جاري (كنوني) : * لزوم وجود برخي عملكردهاي سیستم موجود در سیستم جدید لزوم انتقال برخي اطلاعات سیستم جاري به سیستم جدید انتقال مستندات سیستم جاري و استخراج الگوریتهای‌سررت مکانیزه بودن سیستم جاري ۱ درك كلي از سازمان با مطالعه سیستم جاري انعكاس برخي از عمليات سيستم جاري, 9 لزوم درك کار افراد براي ‎١‏ گم 7 ‎i)‏ امعان معن کردن میزان كارايي رز

صفحه 13:
كد شناخت نيازها > اعتقاد بر لينست كه : سيستم جاري بايد تاحدي مورد شناخت قراركيرد نيازها ‏ نيازهاي كيفي

صفحه 14:
كد 5 اهمس 1 شناخت نيازها تعريف نيازهاي عملياتي : سيستم جه كاري بايد انجام دهد يا جه انتظاراتي از سيستم مي رود ‎TE‏ = مشخص كردن ©79©6035آها يا سرويسهاي سيستم در ديدكاه شيء ْنا ابتدا چارت سازمان

صفحه 15:
سس | عملیات آموزش ۱ ‎ei) Let i Ae‏ همیب ‎as) | eee | waa |‏

صفحه 16:
08 شناخت نبازها اه نيازهاي عملياتي اصولا شامل : توصیف فرآيندهاي عملياتي که سیستم آتي باید انجام دهد تیات ورودیهای ازطریق فرمها دودی : یا :| کاغذي. مستندات ‎bush‏ با اقراد ۰سایر سیستمها با مکالهات ‏ تلفني" جزئیات خروجيهايي که سیستم باید فراهم نماد جزئیات داده هایی که در داخل سیستم_ 9 بايد حفظ و نگهداري شود

صفحه 17:
5 شناخت نبازها تعریف نيازهاي كيفي : اين نیازها مشخص مي کنند که کیفیت نيازهاي عملياتي باید به چه صورت باشد © اطلاعات زير بايد براي مدنظرداشتن قابل استفاده بودن سيستم جدید جمع آوري شوند : ويژگيهاي كاربرهايي که سیستم را مورداستفاده قرارمي دهند وظايفي که کاربر برعهده دارد و اهداف مربوطه موقعيتهايي که سیستم ممکن است تحت آنها مورداستفاده قرارگیرد معيارهايي که براساس آنها. قابل قبول بودن سیستم موردسنجش قرارمي گیرد

صفحه 18:

صفحه 19:
كد روشهاي استخراج نياز ۵ روشهاي استخراج نياز (5 روش) : Background ) ‏مطالعه اولیه‎ (Reading مصاحبه مشاهده ارجاع به مستندات تهیه پرسشنامه

صفحه 20:
روشهاي استخراج نیاز ۵ مطالعه اولیه : يك آنالیست که سیستم را بصورت دستي مي شناسد و اهداف كاري ارام خافگه(اسفکتاممی فو3 : © وظيفه آنالیست > شناسايي سازمان مستندات > چارت سازماني . سياستهاي کاري ۰ شرحی وظایف . گزارشهاي

صفحه 21:
كد مب ۳ © کمل‌به شناسایی عملگره نبازمان قبل از علاقات:با آفزاه © مشخص شدن سوالات لازم بر مبناي اطلاعات جمع شده مشخص شدن نيازها از طریق مراجعه به مستندات سیستم جاري

صفحه 22:
روشهاي استخراح نیاز ۵ مصاحبه : © در مصاحبه : لانتخاب افراد باتجربه آآنعیین افراد مورد مصاحبه

صفحه 23:
DAY ‏مصاحبه‎ در ضمن مصاحبه : ؟ اجازه ندهید مصاحبه شونده خارج از موضوع بحث ‎BS‏ ارتباط با چگونگی استفاده از کامپیوتر درارتباط با انجام وظایف مصابه شونده باشند - ؟ سوالات باید درا * نتیجه سوالات باید مستند شوند * نیازها درارتباط با سیستم اطلاعاتي جدید مطر

صفحه 24:
AY ‏مصاحبه‎ ‎FF ‏مزایا‎ ‏ارتباط با افراد موجب مي شود آنالیست پاسخگوي نيازهاي افراد باشد‎ _ * ‏آنالیست ممکن است روشهاي ديگري براي ساده ترشدن کار افراد پیشنهادک:‎ _ * GR ‏مشكلات‎ ‏مصاحبه ها هزینه برند‎ © تنها انجام مصاحبه کافی نیست. ‎AS‏ آنالیست برروي نتایج کار کند و ‎Prototype‏ ; نماید - ‏مشناحية‎ pela AALS a) aly Slo Lie

صفحه 25:
AY مشاهده پس از مصاحبه باید براي شناخت بهتر سیستم و نيازهاي آن به مشاهده چگونگي انجام وظایف پرداخت. ۵ مشاهده در ارتباط با جنبه های مختلف انجام يك کار می باشد: 1 مدت زمان انجام وظیفه توسط فرد 2 تعداد خطاهاي ایجادشده در طی انجام کار فرد فاكتورهاي مهم در ارتقاء كارايي فرد

صفحه 26:
AY مشاهده مزابا ۳ آشنايي با روشي که سیستم جاري با آن کار مي کند میزان كارايي سیستم جاري مشخص مي شود * اطلاعات گردآوري شده مبتني بر آن چيزي است که در عمل انجام می شود نه آنچه که افراد ادعا می کنند * _افراد هنگامی که احساس کنند تحت نظر هستند. طبق روال عادي رفتار نمي کنند

صفحه 27:
كد ارجاع به مستندات للبا ارجاع به © 2201:0370 و كزارشهاي تهيه شده توسط افراد. بخصوص در هنگام مصاحبه, بخش اعظمي از نيازها مشخص مي شوذ با ارجاع به این فرمهاء میزان داده هاء فرمت داده ها و نهايتا ساختار بانكهاي اطلاعاتي و كزارشهايي كه بايد استخراج شوند. م

صفحه 28:
كد ارجاع به مستندات ‎F be‏ حجم داده ها و اطلاعات موردپردازش مشخص مي گردد فرمت داده ها تعیین می گردد *_ مشکلات و خطاهايي که بواسطه پرکردن دستي مستندات ابا مي گردد. تعیین مي شود اگوافزازباشدهسینتنم کاملا قلییز ‎ES‏ ممکن است اطلاعاتي گردآوري شود که در ‎Shel asi‏ نيازي به آنها نباشد

صفحه 29:
كد پر سشنامه لأيرسشنامه ها مجموعه اي از سوالات هستند که توسط مشاورین و كساني که با اهداف و عملکرد دستی سیستمها آشتایی دارند. تهیه شده و

صفحه 30:
ارجاع به مستندات ‎F be‏ *_ برمبناي پاسخها نیازها مشخص مي شوند با استفاده از پرسشنامه هاء تعداد افراد زيادي را مي توان به کارگرفت مشکل ۳ تهیه پرسشنامه نیاز به تجربه زیاد دارد عدم دریافت پاسخ به موقع از افراد

صفحه 31:
مثال تعیین نیازها 100 20 (ن عیینیزها) برلويك 7 سف | روش | سصوع | رمن كردآوري اطلاعات اوليه درارتباط با ‎Backgroun|‏ كزارشهاي كمباني و كلاً صنعت | برذ هه ل | كمباني؛ مجلات ‎١‏ نصف روز

صفحه 32:
مثال تعیین نیازها تعیین اهداف كاري. حوزه كاري و جكوتكي ارتباط با تس له ده عار كر كارمندان مصاحبه مصاحبه دو نفر از مدیرها 1. مدیر بخش طراحي كرافيكي 2مدیربخش تهیه تبلیغ 3. ویرایشگر 4. مدير حسابداری روز 2 2-1 ساعتا کدام 1.5 ساعتا

صفحه 33:
مثال تعیین نیازها ادامه و تکمیل برداشتهاي قبلي از چگونگي انجام کار تعیین نقش افراد درارتباط با هسته هاي كاري تعيين سوابق و يرونده هايي كه نكهداري مي شوند مشاهده مصاحبه و ارجاع به مستندات دونفر از افراد(کارمندان) دونفر از کارمندان بر اساس تجربه كاري هريك روز هريك 15 ساعت

صفحه 34:
مثال تعیین نیازها تعیین استفاده هاي سیستم جاري و تعیین وظایف سیستم کامپيوتري(کنوني) تعیین نيازهاي حسابداري براي سیستم جدید دو مدير بخش حسابداري سه کارمند بخش تبلیغات حسابدار .1 صندوقدار :2 کال در رات ‎oo‏ ‏5حسابدایی هريك 13 ساعت

صفحه 35:
۳ ‏و‎ ‎= 0 Fs 1 را

صفحه 36:
كد دسته بندي نيازها برطبق دسته بنديهاي ‏ 101111160 /112110118) 12111 ‎Process)‏ نيازها شامل : * 11116110231117 (نيازهاي عملياتي) ‎Usability *‏ (قابل استفاده بودن) ‎bbebt.LLs) Reliability‏ Gis) Performances ios sts) Supportability ‏ه‎

صفحه 37:
كد VISION ۵ 1 ۷51071 چشم انداز سیستم است. | نیازهای_كلي سیستم با این مستند تهیه مي شود 9 بخشهایی از 15101 ‎as (Objective) bam .1‏ كلي از مستند را براي سیستم 2 دامنه (560۳6): در هنكام مشخص كردن يا حوزه عملكرد سيستمء موجوديتهاي با ارتباط خارجي تعيين مي كردد. افراد يا اشيائي كه در خارج از سیستم قراردارند.

صفحه 38:
كد VISION ‎(ise Gul jo (Refrances) ety 3‏ مستنداتی که جهت ایجاد ‏سیستم به آنهاارجاع مي شود. آورده مي شوند. از جمله مستندات مي ‎or‏ به : مستندات شرح وظایف سازماني, روندهاي كاري و . ‏موقعیت : ‎ ‏سیستم کامپيوتري جایگزین سر شد. چه شرايطي و چه تسهيلاتي ‏سای خوآهدشدد:

صفحه 39:
VISION 4-2. شرح مسئله : در اینجا مشکل سیستم و مزاياي سیستم كامپيوتري مطرح مي شود. 4-3. شرح كاربرها : در اين قسمت توضيحي درمورد شرح کاربرها و نيازهاي آنها تهیه شده و كاربرهاي اصلي مشخص مي شوند. صيفي از محصولي که بايد به مشتري شود. ارائه می شود. قابلیتهای ويژگيهاي آن. هزینه تولید مربوطه در این قسمت تعیین

صفحه 40:
AY VISION 6 هزینه ها ء باید قسمتها را مشخص کرده و تعیین کرد که براي هر قسمت عملیات چه هزینه اي نیاز است. در ارتباط با هزینه ها درمجموع مي بایست هزینه انجام پروژه مشخص شود.

صفحه 41:
چرخه حيات نرم افزار ال مراحل چرخه حیات یا فر آیند تولید نرم افزار : ۵ شناخت اولیه ‎dnception)‏ ‏© تشريح ‎(Elaboration)‏ ‏© ايجاد ‎Construction)‏ انتقال

صفحه 42:
غزیه وتحلیل ده سازي آزمون نترل تقیوات ن محيط عملياتي

صفحه 43:
كد شناخت اوليه باتوجه به دياكرام ؛ براي توليد نرم افزار عمليات مدلسازي سيستم جا تعيين نيازهاء تجزيه و تحليل: بياده سازي, آزمون و نهايتاً نصب نرم افزار .هر مرحله تكرار مي شود ‎al’‏ فاكتنمذوجوسر حاف سستقاوك اسك دمقلة فر موحلة شفافة اإزليةببر .مدلسازی کاری (جاری) تاکید زیاد و بر پیاده سازی تاکید کم ! ‎ ‎ ‎ ‎ ‏براي تعیین دامنه پروژه باید 0601 للها يا بازيگرهاي سیستم را مشخص نمود. ‎SaaS, Sul Gast Actor‏ فرد خارج از سیستم‌یا فردیاز دلخل

صفحه 44:
كد شناخت اوليه ‎OH‏ در محيط رشنال رز تصوير مربوط به اكتور به اين صورت ‎C)‏ ‏1 _اكداكتورسيستم ها داتس 1 ‎ ‏باید مشخص کرد که هر ۸00۳ چگونه با سیستم در ارتباط قرارمي گیرد. اين ارتباط را در قالب مورداستفاده یا 11860656 ‏مشخص مي کنند. درواقع مشخص مي کنند که چه كساني چه استفاده هايي از سیستم

صفحه 45:
MY شناخت اولیه در محیط رشنال رز تصویر مربوط به ‎UseCase‏ ‏زنوردالنتفاده) به ‎Caja gil‏ آست:: حت سسسسه ی المجوولاً براي هر مورداستفاده شرحي نیز

صفحه 46:
كد شناخت اوليه ۵ بطور خلاصه اهداف مرحله مدلسازي كاري عبارتند از: © تعیین حوزه عملکرد یا دامنه مسئله ‎OH‏ تعیین مدلهاي استفاده از سیستم © تعیین ساختار كلي سیستم

صفحه 47:
كد شناخت اوليه © بنابراين مي توان گفت خروجيهاي اين قسمت فيز عبارقند از: Vision ‏مستندات‎ © © مدل موردهاي استفاده از سيستم ‎UseCase Model@‏ ‎OF‏ لغت نامه یا توضیح اصطلاحات © كزارش سيستم كنوني © برنامه ريزي پروژه

صفحه 48:

صفحه 49:
كد مدلسازى سيستم جاري ۵ مدلسازي سیستم جاري شامل دو بخش است : ‎modeling @‏ 2100655 8115111655 (مدلسازي ‏فرآيند كاري) ‎;Ju.) Business object modeling @‏ 1 تاک واحدهاي سازماني مشخص کردد پا به عبارت دیگر چارت عملياتي و چارت سازماني مشخص گردد. اما براي تعیین چارت سازماني باید واحدهاي سازماني مشخص

صفحه 50:
كد مدلسازى ) جارى لأ براي ‎Business Object Modeling‏ مي بايست ‎gb Katte le Business Worker‏ ‎Business worker J‏ - نقش کاربرها ‏لأبراي تعيين ۷۷۵۲۷6۲ ۲15655 ها باید ‎Business usecase‏ ها مشخص شوند.

صفحه 51:
كد مدلسازي سيستم جاري لأبراي مثال : در سیستم آموزش دانشگاه؛ مورد استفاده (۲796)/656) > ثبت نام »> ۸010۲ دلنشجو € ۷۷0۲16۵۲ ۱5112655 مسئولشبشام

صفحه 52:
OW ‏مدلسازي سستم جاري‎ : ‏براي اینکه بسورت سازمان یافنه عمل کنیم » مراحل کار به شوح زیر است‎ © تعيين واحدهاي عملياتي © تعيين مسئوليتها يا نقشهاي كاري (117011815 18115111655 © تعيين مستندات يا موجوديتهاي كاري ‎(Business entities)‏ © تعيين روش انجام موردهاي استفاده !© ساختن مدل ارتباطي اشياء كاري

صفحه 53:
كد مدلسازي سيستم جاري ‎ja!‏ واحد سازماني ل 63 بعد از تعیین واحدهاي سازماني (که براساس چارت عملیاتی است) می بایست 5۱151۳655 ۲ ها مشخص شوند. در واقع ۲ وو6 ولا ها دست به دست هم می دهندو همكاري می کنند تا ۱5171655 6 اه را عملی کنند.

صفحه 54:
۳ تعیین موردهای استفاده [ا يلك مورداستفاته دروافع شناخصی سوویسین اسث کف سیستمبواای. 26001 هاي خود فراهم مى كند. 00 لأعملكرد سيستم براساس سرويسهايي که فراهم مي كند. مشخص مي كردد. لأهر سرويس را يك مورداستفاده 36801 يا يك ©5©)035لا مى نامند. |

صفحه 55:
تعیین مور دهای استفاده لأدياكرام موردهاي استفاده كاري (آموزش دانشكدم) : دب

صفحه 56:
تعیین مور دهای استفاده he el ‏اكتورها مي توانند از همدیگر به ارث ببرند...‎

صفحه 57:
OW ‏توصیف مور دهای استفاده‎ 1 اضولاً يك مورداستفاده کار شاخص ‎ch‏ وظیفه است که بوسیله يك با چند ۷/0۳/6۳ 51/(655لا9] به انجام می رسد. يس طورذا تفا ,کارت تماپانگر موردانتتفادة انق اس که توسط یف ۷۲ 655 51لا مورداستفاده قرارمی گیرد. لأ براي انجام هر وظيفه » شرح وظیفه اي وجود دارد که مراحل انجام کار را مشخص مي كند. يس براي انجام 566256لاهاي كاري مي توا از شرح وظایف استفاده کرد.

صفحه 58:
6 توصیف موردهای استفاده لأ براي نمونه درموردئیت نام. وظیفه یا مورداستفاده به شرح زیر توصیف مي گردد: 1 متشول قبتافام تعرفه را ازمتقاضی بت نام (دانفجو) جزیافت مین گنف ۱ 2 مسئول ثبت نام تعرفه را جهت بررسي به مسئول پروندم دانشجويي مي دهد.

صفحه 59:
DAY ‏توصیف مور دهای استفاده‎ 4. کنترل کننده پس از تابید و رد دروس یا به عبارت دیگر اصلاح تعرفه ۰ آن را به کنترل کننده کلاسها تحویل مي دهد. ._کنترل کننده با درنظر گرفتن ظرفیت دانشجو را ثبت نام مي نماید. سول عوفرم نگمیل ضهرقبت تم را یی وبهسول اقب تحویل مي دهد. ۱ : مرا ككة رس ان كا عمو سداد يوي ين در این توصیف, 8۱51۲655 ‎worker‏ شامل مسئول ثبت نام. اقول ان قت ا کنترل کننده ‎oo Luly‏ 3 1

صفحه 60:
كد توصیف مور دهای استفاده | مي بايست نوع همكارى در بين ‎Business worker‏ » 3 عملكرد آنها بر روي 6۳۱16۷ 9۱151۳655 ها مشخص كردد. [| در این رابطه مدل ارتباطي اشیاء كاري كه درواقع همان ‎«i.e le Business entity , sbusiness worker‏ مطرح مي باشد. < | دو مفهوم :

صفحه 61:
كد توصیف مور دهای استفاده Business Object

صفحه 62:
كد توصیف مور دهای استناده bas eBusiness worker. ا سب ۷ © كلاسهاي کنترلي وظیفه کنترل عملیات را برعهده دارند. لا معمولاً ذر كا به کلاسهای کنتر ‎eBusiness entity 4‏ مبنایی براي شجاد 2016 آها و بانك اطلاعاني سیستم

صفحه 63:
۷ مي شوند که به شکل زیر 4 لا در سيستمهاي كامپيوتري, نوع ديگري از کلاسها تحت عنوان 5 0۱1۱03۲۷ ها مطرح هستند که به شکل زیر ۲۰ " این کلاسها شاخص فرمهاي ورودي - خروجي

صفحه 64:
6 توصیف موردهای استفاده لآ هر زیرسیستم ممکن است شامل چند 56)356ل] باشد. ch» jos Lx. Business Usecase ob cu! 3s. ! ‏اکامپیوتری شود.‎ 6 ‎L Ygoee ’Business Unit ۲‏ 6 ها يا بسته های نرم ا افزاري جایگزین مي شوند. ۱ ‏ذر دسته بندی کلاسها به جای اتلاق

صفحه 65:

صفحه 66:
۲ نکات مدلسازی اشیاء ل 66256 5لاها نباید در ارتباط مستقیم با یکدیگر قرارگیرند. ارتباط بین 566256لاها معمولاً ازطریق يك بانك اطلاعاتي صورت مي گیرد كه در مدل 12973۲۳ ‎Usecase‏ مشخص نمي گردد. " دو سرویس ازطریق مستندات (بانك اطلاعاتی) باهم ارتباط برقرار می کنند. اما در طرح جامع سیستمها عسلیات مشنترگ را ‎ge‏ ‏بایست مشخص و از تکرار آن جلوگيري کرد. در این صورت عملیات مشترك را در داخل يك 6 نتعیین و در رابطه 0611106 با 6 قبلي قرارمي دهیم.

صفحه 67:
۲ نکات مدلسازی اشیاء علاوه بر رابطه 06101016 ؛ رابطه ديگري بنام 666700 وجود دارد كه نشان مي دهد درحالت استثنايي عملیات 1566856 توسط 6 دیکر توسعه داده مي شود.

صفحه 68:
كد نكات مدلسازى اشياء لأهر واحد عملياتي به عنوان 86801 براي واحد عملياتي ديكر در نظر كرفته مي شود. توصیف عملکرد با 13013177( ‎gs oly Activity‏ 355 " براي رسم دياگرامهاي مختلف باید سناریو مشخص گردد. تآبراي هر 566256لا يك سناریو مي نویسیم. براي اینکه ۷۷۵۲/6۲ 655 [5لا 3اه کاملاً مشخص شوند. بايد شرح وظایف افراد

صفحه 69:
AY سنار بو ‎Cae‏ ‏سناريو براي 566356 لا مدل جاري (كنوني > سناریو براي ‎١‏ ‏انام مورداستفاده جاري :

صفحه 70:
سنار بو گردش کار اصلي : اکتور دانشجو تعرفه خود را جهت1 ثبتنام به مسئوا ام ارلئه ميدهد سیستم جاري مسئول تام هرهم 217 مسئول بتنام از مسئول.3 بروندم ها تقاضاوكنترل .شرليط دلنشجو را موكند مسئول‌پ روندم ها معدلكل.4 دلنشجو را از کارنامه وي .مشخص, دروسپ یشنیاز از کاتا وگ 5 دروس‌ب رايهر درس‌درون ‎ad pri.‏ مشخص‌ميشود EA es . 0 ۶ ۹

صفحه 71:
سنار بو آگردش کار اصلی : اکتور بر اساس‌ظرفیتکلاسها و .8 برنامه هفتگي فرم نبتنام .لیجادميش ود 9179 ‏ی هار2‎ ar ‏.به دانشجو تحويلمئدهد‎

صفحه 72:

صفحه 73:
كد Use case Realization به تحققپبوسترموردهای!] ۳6۵۱۱231101 6256 ‎U Use‏ 53 ص لأ براي به واقعيت ييوستن موردهاي استفاده. مي بايست تعدادي »00 با یکدیگر همكاري کنندو درنتیجه همكاري اینها نهایتً سرویس موردنظر براي ۵6:۵۲ فراهم گردد. Business 6 ‏6»1ز۵0‌ها در‎ ‏مشخص‎ Business entity , worker . 2 ‏شدند.‎ ‎sobject 1 Interactions sx. Interaction Wb ‏یکدیگر در‎ ‏كردد.‎ ge pe Diagra

صفحه 74:
كد Use case Realization ‏سازماندهي این ۵0[66‌ها در قالب |۲0۵6 661 ز00 یا «مدل‎ ‏ارتباطي کلاسها» مشخص مي گردد.‎ برای تشخیص عملکرد 6256 56لا از دیاگرام فعالیت یا ۲ 201۷۱ استفاده می شود. مدل ارتباطي كلاسها اقلا هر متل ارتباطی اشیاءتلاحظه نموديد. در اين مدل نيز انواع كلاسهاي مختلف جه ‎SET ype A Sy lly) Byala’‏ وی دی نج کلاسها مربوط به 661 [0]0هاي سیستم امپيوتري (سیستم آتي) هستند.

صفحه 75:
‎٠(‏ مدل ارتباطي کلاسها لأ رابطه بين كلاسها : ‏در حالت كلى رابطه بين دو كلاس را 2550613110 یا ‎sali a sols oa gergacel‏ ‎ ‎ ‏رابطه بین دو 61 [00 را 1101 (پیوند) بین اشیاء می نامند. ‏| »50 : در این ارتباط اجتماعي از کلاسها وجود دارد. هر اجتماع داراي يك نام است. براي مثال مسئول ثبت نام در ارتباط كنترل با ‎Beall‏ بيس نام ار تا کفقزل ‎

صفحه 76:
كد مدل ارتباطي كلاسها ‎association !‏ : ‎(FOIE) , bel tate‏ تعیین مي کنیم. مسئول ثبت نام در نقش کنترل کننده و تعرفه ثبت نام در نقش کنترل شونده قراردارد. ‏براي هر اجتماع تعداد را نیز مشخص مي کنیم. براي نمونه يك کتقرل کنننده,ممکن است جققا تعرقة ثبت نام را کتفرل تماذین در اجتماع. جهت آن نیز مهم است. براي مثال ‎ ‎ ‎ ‎

صفحه 77:
كد مدل ارتباطي كلاسها انواع 2550611100 : ‎a kind of!‏ وا : نوعي است از. وان فلا اسان توعی تخبون است. | ‎ ‏1 08۲ ۵ 5: قسمتی است از مثلاً موتور قسمتي از اتومبیل است. ‎ ‎ ‏: وابستگی. ‏ موتور| وجود کلاسی وابسته به کلاس دیگر است.

صفحه 78:

صفحه 79:
كد دياكرامها دياگرامهاي محاوره اي (189۲۵۲۳ظ و أنأع 661/3 1) : اين دياكرام نشان مي دهد كه هر :© ©[08 كدام مقدار را فراخواني تا يك ©35© 56لا به تحقق بپیوندد. اين دیاگرامها شاخص دنباله ‎wel ce (Message L deployment) b katy 3! ul‏ اين دياكرامها بر دو نوعند: دياگرامهاي همكاري(019 0011107 ‎(Diagram‏

صفحه 80:
دیاگرام توالي این دیاگرام دنباله اي از فراخوانیهایی است که از طریق آنهاء ‎USE‏ ‏6 به تحقق مي پيوندد. ۱ 2 © © O er ‏پروند‎ ‎٠‏ رل ‎ ‎ ‎ ‏دياكرام توالي نمونه (حالت كلي) ‎

صفحه 81:
كد دياكرام مربوط به نمايش جزئيات يك يرونده است. همانطور كه مشاهده کردید. کاربر در مقابل کامپیوتر قرارمي گیرد. فرم رابط که كلاسي از نوع ‎Boundary class‏ است. براي وي نمایش داده مي شود. کاربر تقاضاي نمایش داده را بصورت انتخاب يك گزینه از فرم به کلاس فرم ۱ مي کند. در دنياي واقعي عمل کنترل عملیات یا انجام آنها برعه کارکنان است ولي در دنياي كامپيوتري این نت برعهده «كلاسهاي کنترلي» است. لذا درخو خواندون دافم به عرکزکتعرل ناده ی هود: او مرکز کنترل درخواست را براي پرونده موردنظر

صفحه 82:
كد دياكرام توالي 6 60۱66 560۱۱ معمولاًدوبار کشیده مي شود. ‎ab ch‏ بصورت فارسي و مفهومي و بار دوم با اسم واقعي توابع فراخواني شده. براي دیدن مثال ديگري از 01397370 56016۳66 مي توانید به ص 457 شکل 4-4 کتاب مهندسي نرم افزار تالیف دکتر ‎balsas‏ رالجته ‎saul‏ ۲ در سيستم كامبيوتري معمولاً در خارج ‎Saag eS shat Jew Sewell‏ كامپيوتري است. به عنوان 26:0۴ درنظر گر مي شود. درحالیکه در سیستم جاري این در فاحل سیم بوچ 50101 تحنوی

صفحه 83:
دیاگرام توالي لآ براي مثال فراخوانی توابع در ص 458 شکل 4-5 بدین صورت است : * 0 5/0۷۷ . منو * _ انتخاب گزینه ایجاد سفارش- 1 0 5/۱0۷۷ . فرم درج جزئيات سفارش * 0 53۷6.فرم 0 53۷6 . مدیر 0 ۰۲68/6 . سفارش 56۳60 0 ٠ ۱ ‏سفارش‎ ols. Save 0

صفحه 84:
تا کنون 1. تعیین چارت سازماني و چارت عملياتي 2تعیین هدف. شرح مسئله تعیین نيازهاي عملياتي و کيفي براي هر واحد عملياتي #تعيين 861801 81511655 ها؛ کسانی که قراراست در خارج سيستم أزآن استفاده کنتد. براي واحد عملياتي دیگر درنظر گر ‎Business use case 5‏ ها مشخص ه ‎« Business use case ,» ul» word ۲

صفحه 85:
كد Business Object Model . cos Logical View,» 7 ‎business unit.» Js .8‏ مدل ارتباطي اشياء كشيده ج ‏6 56لاهاي متعلق به يك واحد عملياتي همگي در زیر 6 مربوط به آن واحد عملياتي قرارمي گيرند. ‎ ‎ ‎Business Unit‏ ها مشخص مي شوند. ‏حال مرحله شناخت اولیه (۱۳6601[0۳) تما ميشود و مرحله ۴۱300۲310۳ با آنالیز شناخت آغاز مي گردد. با و به اينکه با شناخت سیستم جاري(موجو ‎ ‎ ‎ ‎ ‎

صفحه 86:
كد اكنون مطالب كردآوري شده مو عل قرارمي كيرد تا بتوان براساس تحلیل خود براي سیستم آتي موردهاي استفاده ‎Pe‏ ‏نموده و براي هر مورداستفاده براساس دیاگرام توالي عملیات را ‎aS goede‏ use case realization , Analysis Model ‏تحت‎ * ۱۱56 6856 ‏بايد تعيين شود كه هر‎ 6 متسیس ‏از‎ 156 6 ‘ied ee واقعیت 2

صفحه 87:

صفحه 88:
كد | در سیستم كامپيوتري (آتي) معمولاً تعداد 6256 ۱156 ها بیشتر مي شود. در اینصورت است که بررسي مي کنیم چه 6256 58لا هايي از سیستم جدید موجب به تحقق پیوستن 6256 56لاهاي سیستم موجود مي آشوناي مشاهده مثالي درباره ۲621126 مي توانید در دایر کتوهی ز جستجو نمائید: ‎Cd3\completed\parsa\‏ ‎t tutorial\‏

صفحه 89:
سیستم آتي ‎Joc 7‏ ۲6۵۱26 در قسمت ۲0۵06۱ 2۳031۷55 انجام مي شود. ‎ ‎ ‎ ‎ ‏" 6856 56لاهايي که با خط پر نشان داده مي شوند. 6856 ۱56 هايي هستند که ۲6۵۱126 مي شوند (6256 56لا هاي سیستم آتي) . 6 ع 5لاهاي 13/1126 شونده با خط جين نمايش داده مي شوند. (6856 56لاهاي سیستم موجود). ‎8۵1۱0۴0۵1 8۵56 ‏انجام عملیات مربوطه در‎ ٩ ‎ ‎ ‏مدل ارتباطی در ۷16۷۷ 09168۱ ] كشيده می شود. سپس از 2۳0۷۷56۲ در داخل 06 2 ‏۳۵۵6۱ 6856 56لا انداخته می شود ‎(rag & Drop)‏ . 3 ‎

صفحه 90:

صفحه 91:
كد عمليات مربوط به انجام كار ] هرگاه 661 [00 اي متدي از خودش را فراخواني کند. آنگاه از در دیاگرام توالي استفاده مي کنیم. | لازم و ضروري نیست که براي هر 13016 يك کلاس اضافه شود. سلسله مراتب انجام عملیات مربوط به پروژه : ja.) Business object model.1 GALE ‏كايودر‎ ision pls \Document ‏تهیه‎ 2 پراساس نيازهاي سیستم جاري. . . | در داخل ۲۷۱5/0۲

صفحه 92:
كد عمليات مربوط به انجام كار 3 عبد فيازها #انياز 2 . قابلیت سیستم جدید. يعني قابليتهاي سیستم را بیان مي کند(پاسخ نیاز) 2 . بعد از ‎Business model.‏ ‎Alajls oJ) requirement analysis‏ 3 بعد از ایجاد مستندات ‎CASE‏ ۱156 هاي سیستم آت مشخص مي کنیم. ! 256 56لا های‌سیستمآتی‌کاملابا 6 56لاهایسیستم جاری(موجود) 00 ل به اين ترتیب ۷16۷۷ 0856 56لا تما

صفحه 93:
كد عمليات مربوط به انجام كار لا سيستمي را که در حال حاضر موجود بوده و استفاده مي شود را در داخل 6 ۱:6 811510655 و سیستم جديدي را که قرار است طراحي شود در داخل 6356 ۱156 مورد بررسی قرار می دهیم. پس اولین کار ‎oll ol » cu! Business modeling‏ 6 آها را تعیین مي کنیم(تعیین نیازها ‎AVISION L‏ لا مثلا درمورد ثبت نام. نیاز ثبت نام اینست که وب انجام شود. و این يك قابلیت برای

صفحه 94:
OW 2 ‏عه سب‎ oe ‏ل هنكام ورود به فاز طراحی » قسمت ۲6۵۱/2110 6956 56با‎ ۱ ‏انجام می شود.‎ مستندات چشم انداز یا ۷15108: " کلیه نیازها و پاسخ به نیازها يعني قابليتهاي سیستم مکانیزه در مستندات چشم انداز سیستم گنجانده می شوند. ] در چشم انداز شرح مسئله یا 51۵16۳۳6۲ 9۱6۳۱ گنجانده مي شود. منظور از . ۷ ۲۱655 2۱۱51 امکانات < ایجادخواهدکرد.

صفحه 95:
كد مستندات جشم انداز براي مثال فروش دو برابر خواهدشد. يا اينكه فروش را مي توانيم با وجود سيستم كامبيوتري در سراسر كشور امكان يذير كنيم. دراين مستند؛ کاربرها در قالب ‎user , Stakeholder‏ ها مشخص مي شوند. 7 : ف ردولستکه بولی‌سایمان موردنظر کارمي‌کند. ۲ : ف ردولستکه از سیستم لستفاده خولهد کرد. در قسمت ‎ete product view‏ اندازي از دید نرم افزاري مهیا مي شود.

صفحه 96:
۳ مستندات چشم انداز در چشم انداز تعیین مي کنیم سیستم آتي چه امكاناتي براي سیستم جاری خواهد داشت. ! در اینجا ۷۷۲۱2 مطرح است نه ۰۳۱۵۷۷ انداز مشخص مي شود که سیستم جشم انداز شامل ‎summery Of‏ ‎cir‏ ی تعیین هزینه ها ست براي ين

صفحه 97:
OW 2 ‏سب‎ on در اين قسمت ارجاعي به راهنماي 56۲لا و راهنماي نصب که در انتهاي پروژه به کاربر تحویل مي شود ارائه مي گردد. پس نتيجه مي شود مي توان مستندات ۷1510۳ را با در دست داشتن نیازها تکمیل نمود. | بعد از تعیین نیازها و قابلیتها, ۷6۷۷ 6856 ۱56 با ایجاد ۲006 6256 ۱56 کامل مي شود. لا مي توان گفت ۲۳۵061 6 56لا ورود: مرحله تحلیل و طراحي است. لا بر مبناي ‎model‏ 6 56لا کار و طراحي آغاز مي شود.

صفحه 98:
كد ‎USE Case model‏ نشان می دهد که سیستم آتی چه ‎b function‏ با عملیاتی باید انجام دهد. ‎ ‎case Jb‏ 56لاهاي آتی در مرحله ]065/0 باید ۲6۵۱/26 شوند. ممکن است يك 6256 56لا در مرحله آنالیز مثلاً با سه با چهار ۱156 6 جایگزین شود. ‏بعد از کشیدن ۷16۷۷ 856 56لا وارد ۱۱۷۱6۷۷ شکفاو فستندات رالد رایخ قیعت,واردرمی کنین. ‎ ‎ ‏در مرحله طراحي باید مشخص شود که چه 6 56لا هايي مي بایست مورد پیاده فرازگتوند یرای این مطوو باب

صفحه 99:
كد تحليل و طراحي ... بايد با استفاده از 139۲3۳ 560۱16۳6 و مدل ارتباطی كلاسها مشخص شود كه هر ©635© 58لا جكونه يياده سازي خواهدشد. البته پیش رفتن با اين روند. کار را بسیار طولاني خواهدکرد. شاید عمل منطقی تر این باشد که که ابتدا مشخص شود که چه قابلیتهاب بايد وجود داشته باشد . این قابلیتها نهایتاً در قالب 256 ع ‎١‏ ‏61 مشخص شده و سپس به چگونگي اين کار برد * _چگونگي در قالب تحلیل و طراحي سیستم تعیین ‎OSS ca‏ ‎traceability‏ يا قابلیت ردیابی خطا را نیز بايد ‎scaly shies‏ 0 تفازق مارح شد اكتتون ‎A‏

صفحه 100:

صفحه 101:
كد نتيجه مستندات جشم انداز Business Modeling ‏تعیین لیست نیازمندیها بر اساس سیستم جاري‎ .2 ‏عولاهايلتي‎ 6 ‏کامل شدن نیازمندیها بر مبناي این دو کاتالو؟‎ ‏(چه استفاده هایی‎ ۱156 6856 ۷ ‏سیستم كامپيوتري مي شود)‎

صفحه 102:
معماری 6 ها (911051/51617ه) به طريقیبه هم متصلند. ل 0106/1۳06 : این نوع معماري. امکانی ایجاد کرده است که يك قسمت به جاي اینکه ورودي را از 162/002۳0 بگیرد. از خروجي قسمت دیگر مي وه 3لايه : اين معماري از سه لايه 3001681101 ,6۲۲۵6 و بانك اطلاعاتی تشکیل ‎ge‏ شود. هرلایه مستقل از لایه بالايي ساخته مي شو در اینجا 031:6770ها مطرح مي شو مثلا الگوي 0056۳۷6۲ .

صفحه 103:
OW : 0056۳۷6۲ 0306۲۳ ‏مثال برای‎ ‏بطورتمونه آگر ديوس عراف اظلاعاتی را کهاتداهتهامی کنذ در‎ ‏قالب چارت باشد» پس باید لایه 11۱۲6۲7366 جدا از لایه زیرین باشد؛‎ تا این کار به آساني صورت گرفته و بتوان اطلاعات آماري را سریع و آسان به چارت تبدیل نمود. 1 تهیه اطلاعات مربوط به لایه 000116۵100 است. مختلف بدست آورد. هر زمان که بخواهیم. مي توانیم بدون تغییر برنامه, تنها در لایه مربوطه رتغییرات را اعمال نماییم.

صفحه 104:
OW ‏مدل ارتباطي کلاسها‎ مدل ارتباطي کلاسها را قبلاً در قالب مدل ارتباطي اشیاء كاري مشاهده نمودید. لأ در اینجا درصدد پاسخ به سوالات زیر برخواهیم آمد: مدل ارتباطي کلاسها چیست؟ چرا مدل ارتباطي کلاسها مطرح است؟ | چگونه مدل ارتباطي کلاسها عي مدل ارتباطي کلاسها ساختار برنامه شيء؟ را مشخص مي کند. هنز ویر افراد جه كساني يا جه كلاسهابي در سيستم حازفدن

صفحه 105:
‎٠(‏ مدل ارتباطي کلاسها ‏براي كلاسها نيز درست مثل هر يست سازماني شرح وظايف تعيين مي شرح وظايف را در قالب متدهاي كلاس بياده سازي مي كنند. ‎ ‎ ‎ ‏* كلاسي که بدون پیاده سازي بوده و تنها متدهاي آن تعیین شده باشد. بنا 6 ۱255 ۸05۱۲۵1 معرفي مي شود. ‎ ‎٩‏ در دنياي واقعي چارت سازماني و در دنياي شيء گرا مدل ارت کلاسها مطرح ایست: ‏3 کلاسها چگونه مشخص مي شوند؟ ‏۱ 6858 056 سرویسی است که قزاراست به کاربر ارائه شود. این سرویس لازمه اش تعدادي اس است. ‎ ‎

صفحه 106:
OW مدل ارتباطی كلاسها در صورت نیاز ۷۷۵۲۲6۲ ۱655 أ5لاظ ها تب ‎agi‏ ‎Business entity‏ ها تبدیل به 01355 ‎Entity‏ مي شوند. ‏بطوركلي منظور اینست که از شرح سناریو اسامي را استخراج مي ولا اسامی قیاق همان العامى ‎Sd aan ly IE‏ اف ان ‎ ‎ ‏كلاسهاي ‏جه جاري و چه آتي وظیفه اش را انجام دهد. ‎ ‎ ‏در ص 431 در بخش دوم کتاب مهند: نرم افزارء شرح سناريو براي صندوق فر 8 مشخص شده است و کلاسها از داخل شرح ‎el‏ شدة اند. ‎MS

صفحه 107:
OW براي نمونه در شرح سناریو, کلمه کالا استفاده شده است. پس کالا بعنوان يك کلاس در نظر گرفته شده است. کلاسها در ۷16۷۷ 1091631 مشخص مي شوند. ین کلاسهاء مي بایست براي هر کلاس مسئولیتها را نیز تعیین تا سئولیبهای خود را به اتجام رسائق. " در دنياي واقعي نیز وقتي قراراست سرويسي ارائه شود افراد مشخص مي شوند و اين افراد باید با یکدیک همكاري کنند تا سرویس موردنظر ارائه گرده" هر فردي شرح وظايفي دارد و دررابطه با کلاسها ين وظايف تبديل به متدهاي كلاس مي شوند.

صفحه 108:
: کلاسها | براي نمونه فرمهایی با عنوان 8۵5۵۵۳5601116۷ 6وع01) ‎CRC‏ ‏(۲0[]200736100) آماده مي شود و بصورت زیر مسئوليتهاي 1255> و همكارهاي وي مشخص مي شوند.

صفحه 109:
نكهداري ‎LISP‏ هنا كتاب آگاهي از وجود نسخه قابل امانت CRC Card (2)

صفحه 110:
<r لاه ‎Fea‏ ‏بايان جلسه يازدهم

صفحه 111:
كد كلاسها منظور از بدست آوردن مدل ارتباطي كلاسهاء اينست كه سيستم را سازماندهي كنيم. به عبارتي جه كساني جه وظايفي دارند و جه ارتباطي باهم دارند. 0 حتماً براي هر کلاس باید وظايف كلاس مشخص شوند. كلاسها در حالت كلي به سه دسته كلاسهاي : ‎Entity‏ (Boundary) ss»

صفحه 112:
كد اكر نياز باشد به ازاء هر ©35© 58لا يك 031296 تعیین مي شود و به ازاء آن ن 201296 كلاسها مشخص مي شوند. لا این کلاسها هستند که با کمك همدیگر 6856 56لا را به واقعیت یرانق براي اضافه کردن پارامترهاي ورودي و خروجي به متد کلاس بايد روي ‎Operation Tab‏ شود. سپس روی هن کليك و مقدار بازگشتي و نوع آن را تعیین کرد. يمه بو ‎Detail‏ کليك کرده و مقدار ورودي را م نمود. آنگاه 61161 016اا20] نموده و نوع

صفحه 113:
كد كلاسها مدل ارتباطی کلاسها را علاوه بر كارتهاي ‎ee ERE‏ توان مستقیماً از 0 560۷۱6۱66 استخراج کرد. اگر در داخل كارتهاي 036 کلاس ۸ همکاري بنام کلاس ] دارد. در مدل ارتباطي کلاسها تحت ‎Logical View‏ .مي بایست يك خط ارتباط دهنده بین کلاس ‎9A‏ ‏كلاس 8 ترسيم شود. به همین ترتیب از روي 56016066 0 نا اگر يك 00[61 از داخل کلاس ‎۸٩‏ متدي ان ‎Object‏ ]| نيع كلاس 8 را فراخوانى كند. بين اين واصل ارتباطي ترسيم مي شود. آبراي هر 6856 56لا براساس 1 0 560۱6۲۱66 می توان مدل ارتباطي كلاسها را ايجادكرد. 0

صفحه 114:
DAY ‏كلاسها‎ ‎: ‏براي نمونه به دياكرام توالي‎ ص 384 کتاب ‎ea‏ نمائید. در این دیاگرام توالي براي مثال کلاس ۲0۲06۲۴0۲۳ در ارتباط با كلاس ۲60511۲06۳۲ قراردارد. تابع ۲100 از کلاس 2۱0۲ ازطریق متد 05100۷۷ از کلاس 0۵۳06۲۴۵۲۳۳۲ فراخواني مي شود. بدین ترتیب مشاهده مي کنید که دو كلاس در يك ارتباط قراردارند. ارتباط ‎oe‏ ‏كلاس 110 است.

صفحه 115:
MY با توجه به دياكرام توالي : The The Costumer: Orderform: Tcostumer TorderForm _ Find (integer), customer

صفحه 116:
OW کلاسها مدل ارتباطي بین كلاسهاي حاصل از ۲129۲2۳۳ 560۷6۴66 فوق به صورت زیر است : 3 ; ١ ‏عمس ري‎ 830 TorderForm 7 act, TCostumer

صفحه 117:
كد كلاسها براي اينكه بتوانيم متد 015170 را فراخواني کنیم. نياز به يك :© ©[96 از نوع ۲۵50۳06۲ داریم. لذا درهنگام تولید کد. رشنال رز بطور اتوماتيك فيلد زیر را به 6]لا۲]0أأ/هاي کلاس 10۳06۲۴0۳۲۲ اضافه می کند. بدین ترتیب هنگامی که می خواهیم داخل متد از کلاس 10۳06۳۳۵۲۲8 متد 0۳100 را فرا کنیم. دستورزیر را مي نویسیم:

صفحه 118:
MY کلاسها بطور خلاصه : اگر داشته باشیم کلاس ۸ در ارتباط با 8 است و فيلدهاي ۸۵ به ترتيب 61768, 81,482,483 باشند. در هنكام توليد كد. مولد كد فيلد 1168 از جنس 8 را به فيلدهاي كلاس .4 اضافه مي كند. به اين ‎EB Oia‏ يي كلاس .2 به إين صورت خواهدشد: 1 8 ذر شكل فوق ارتباظ بين ذو كلاس يكانه يك است. در هر اجتماع هر کلاس داراي يك نقش مى تواند باشد. براي رل ۸ باید مشخص شود. 3 يا براي كلاسهاي قبلي 17 : يابندم ي جزئيات

صفحه 119:
AY & Multiplicity ‏مي توان پس از کليك برروي خط واصل بین دو کلاس‎ ‏جرچه ازتباط را بای هر کلاسی:یشخمی کرد:برای:قبونه:‎ my 1..n\ در شکل فوق يك شيء از جنس ۸ درارتباط با چند () شيء از جنس " بدین ترتیب هنگام تولید كد مشاهده می شود که در داخل كلاس ۸ فیلد زیر اضافه شده است :

صفحه 120:
كد كلاسها همانطور كه قبلاً نیز اشاره شد, اجتماع بین دو کلاس مي تواند از : ۴ 208۲1 کا یا 0۳ ۷00 3 5 باشد که آنها را مجتمع مي كاياتراع قاری وا ‎collaboration diagram‏ زمانی مطرح م :

صفحه 121:
ف كدر لد

صفحه 122:
كد روابط بين كلاسها اصولاً دو نوع رابطه تجمع وجود دارد. يكي رابطه ظرف و مظروف و دومي ‎Part Assembly all,‏ كلاً رابطه تجمع را «رابطه كل 4 ‎go All Parts & «je‏ نامند. براي نمونه به مثالهاي زیر توجه کنید. در رابطه 2556۳001 02۲6 شيء کل حتماً از شيء جزء تشکیل مي گردد .

صفحه 123:
كد روابط بين كلاسها در «ظرف و مظروف» لازم نيست حتماً شيء جزء تشكيل دهنده شيء كل باشد. مانتد: بدون نامه هم صندوق پست به تنهايي وجود خواهد داش خال اگز مثلث را يك : ; ‎Graphical Object‏ درنظر بگیریم. آن يك ‎r‏ اد

صفحه 124:
كد روابط بين كلاسها نوع ديگري از روابط ۰ روابط ‎a kind of‏ 5 (رابطه انسان نوعي حيوان است) و 0۴ 03۲۱ 2 5أ (کارنامه قسمتی از پرونده دانشجو است) می باشند که قبلاً توضیح داده شد. 1 : پس از اینکه مدل ارتباطي کلاسها را مشخص کردیم» آنگاه مي بایست براي اینکه مدل ارتباطي کلاسها گویاتر شود. مشترکات بين کلاسها یا جنس کلاسها را ‎٩۱006۲ Class is‏ مشخص می نوم ‎gE esis 0‏ ملأو ‎EIB gee Sil Gb‏ زيركلاسها باشد و هر مشتركاتي را نمي توان به عنوان 1355© 5100061 درنظركرفت. ارتباط بیرچو کاس ۸۸۸55013110۳7

صفحه 125:
AY Data Model مدل بانك اطلاعاتی را می ‎ql zie! Entity Class jl ols‏ نمود. ‎class‏ ۴۱11627]ها كلاسهايي بودند که داده هاي (ويژگيهاي) آنها بايد در داخل يك فایل ذخیره شود. مدل بانك اطلاعاتي مي تواند 6/310۳ یا ۵ 00[6۲8 يا هر مدلي باشد. و ارتباطي به روش تجزي و تحلیل ندارد. ‏يك پا موجودیت به آن چيزي اتلاق مي شود كه دا در خود نگهداری می کند. به عبارت دیگر يك 6۳ بیانگر ساختار يك ۲3016 است. که باید: داراي هویت یگانه باشد. ‏تففاقی .صفلقا یا ویفگی ‎ASS‏ باق ‏7 صفتها و ویژگیها در قالب فيلدهاي 73016

صفحه 126:
Data Model 5 ‎Table eb slp Yoel‏ کلید دسترسی یا 6۷ ۲1۳۵۲۷ است که ‎Unique‏ مي باشد و یا 16۷ 5660۳03۲۷ است ‎Unique as‏ نیست. یا ممکن است کلید. ۱6۷ ۳۵۲6۱9۲ باشد که کلید اصلي براي يك ©1301 ديكر است و در این ۲2016 به آن ارجاع مي شود. ‏بري مال؛ در جدول اطلاعاتدانشجو ام دانشجو کل شماره دانشجو ‎peal‏ ‏کد دانشکده کلید خا ‎ ‏از طریق کلید خارجي ارتباط بین موجودیتها

صفحه 127:
AY Data Model ‏بطور خلاصه هر مدیریت داراي مشخصات زیر است:‎ ‏(دانشجو يك مدیریت است)‎ ۵ ‏تعدادي صفت يا ويژگي دارد.‎ ‏يك هويت يكانه مي باشد.‎ ‏لاداراي تكرار است و يكي نمي باشد.‎ ‏مثلاً صفات دانشجو عبارتست از : شخارة‎ ‏دانشجويي, نام. نام خانوادگي, کد دانشکده و آد‎ دانشجو داراي تکرار است.

صفحه 128:
كد رابطه بين موجوديتها ‎a‏ حال بايد بررسي كنيم كه رابطه بين موجوديتها را جكونه بدست مي أورند؟ ‏کر پیلقه سازی غمانطور کف ‎hd‏ ‏خارجی استفاهه ی شود تراق این سر کذ‌سفارشن دو:ذاخل صورتحساب به-عتوان یك سای موه سح شود افر

صفحه 129:
كد رابطه بين موجوديتها ‎ag law gal‏ معکن ادا ام سفن با پم و تسا ناش ‏دهنده+تلفن +تاریخ + [صو ‎Lins ‏+کد مأموزخوید:نم ی‎ es ‎

صفحه 130:
Data Model ‎١‏ بوك صور تحسساب : كذ ‎lay‏ :تاريخ سس : كد سفارش م : كد مأمور فريد : نام مأمور فرید سس : نام سفارش دهنده 7 ‎ ‏واحدشما ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎

صفحه 131:
اا« ‎Data Model‏ رابطه يك به چند از طریق کلید خارجي کدسفارش ایجاد مي گردد. کد صورتحساب براي برگ صورتحساب. کلید اصلي (0۱۲۱۵۲۷) است اما در برگ تتفارش :یف کلید,خارجی برای فراجعة. ‎a)‏ صورتخساتب است.

صفحه 132:
Data Model ‏رابطه يك به چند بین سفارش و صورتحساب را ازطریق درج کد سفارش در‎ ‏فایل ور تحضاب امکان پذیز نمودیه‎ ‎Lal‏ رانطه يك:بة چند. صورتضساب و سفارش چگونه پياذه سازی خواهدشد؟۱ نمي توان مثل حالت قبل عمل نمود. يعني در داخل هر سفارش, کد صورتحساب را قراردهیم.البته در اين صورت مشخص مي شو ‏که هر سفارش متعلق به کدام صورتحساب است. يعني رابطه يك به چند بین صورتحساب و سفارش ‎ ‎ ‎ ‏من ‎Pall sigh‏ اينات كدر صورتحساب دارد. براي رفع مشکل موجودیت جدید استفاده می کنیم. ‎ ‎ ‎

صفحه 133:
Data Model ‏موجودیت مشترك در اینجا موجودیت خواهدبود.‎ * کلید اصلي خرید : کدسفا

صفحه 134:
Data Model به این ترتیب اگر بخواهیم کلیه صورتحسابهاي مربوط به سفارش با کد 25 را بدست آوریم. به صورت زیر عمل مي کنیم : كد كد كد كد ستفار | منورتجیبه | | ستفار | ضورتحس شن اب ‎iu‏ اب 25 46 34 2 17 80 5 2 18

صفحه 135:
Data Model 3 بطوركلى جنانجه موجوديت /4/ با موجوديت 8 درارتباط قرارداشته باش ارتباط مي تواند چند به چند . يك به يك . يك به چند یا چند به يك باشد. هر ۸ ممکن است ۶ ۱ صفر یا چند 8 with | هر 8 باید ۱۷ يك ۸ باشد. در حالت کلی رابطه چند به جند بين دو موجودیت ۸۸و 3 بصورت زیر تبدیل مي شود.

صفحه 136:
‎٠‏ نرماليزه كردن ‏بنابراين رابطه جند به جند تبديل به دو رابطه يك به جند مي شود. ‎ ‏چنانچه کلیداصلی 31 ۵۰ و کلیداصلی 01 9۰ باشد. آنگاه کلیداصلی 8 يك كليد تركيبي یا ۷6۷ 0۳۱۳05116 است که از ترکیب 31 801 + ايجادمي شود. ‎ ‎ ‏این صورتحسابها همگي بصورت برگه هاي مجزا در بروندت اي بنام صورتحساب نگهداري مي شوند. اگر بخواهیم _ پرونده صورتحساب را به همان شكلي که در واق وجود دارده در داخل کامپیوتر ذخیره کنیم: بسیاری در داده هاي ذخیره شده وجود خواهددا ‎

صفحه 137:
‎٠‏ رابطه بين موجودیتها ‏هماطو كه مشاهدة تمؤديد: فيلدهاي صورتحساب عتارقيد از: ‎ ‏ب : کد صورتحساب + تاریخ +کد مأمورخرید + نام مأمورخرید +کد سفارش دهنده+ نام سفارش دهنده+[ کد کالا+نام کالا+ واحد شمارش ‏+ قیمت کل + توضیحات )+ مبلغ کل صورتحساب * مي بایست فيلدهاي فوق, فيلدهاي يك رکورد از فایل صور باشند. بواسطه اینکه تعداد اقلام کالا در صورتحسابهای مشتلن متفاوت است. طول این رکوردها متغییر مي باشد. به عبارت ذیگر ممکن است ذر يك رکورد از صورتحساب. 50قلم کالا و در رکورد دیگر 1 قلم) کالا وجود داشته باشد. ‎

صفحه 138:
MY رابطه بين موجودیتها كليد اصلي براي موجودیت اگر وجود ندارد. ايجادمي شود. بخش تكراري مشخص شوددر اینجا بخش تكراري قلم صورتحساب(قلم کالا) است. ؟ براي بخش تكراري کلید اصلی مشخص شود. در اینجا کد کالا استر بخش تكراري از بخش غيرتكراري خذف شود و به عنوان موجودیت جدید مشخص گردد. در اینجا قلم صورتحساب (قلم كالا) از موجودیت صورتحساب حذف شده و موجودیت جدید بنام قلم کالا ایجاد مي شود کلید بخش جداشونده(بخش تكراري) كليدي تركيب کیب کلیدبخش غيرتكراري + کلید

صفحه 139:
كد رابطه بين موجوديتها كليه فيلدهايي كه وابسته به يك بخش از كليد تركيبى هستند. حذف مى شوند. براي مثال نام كالا در قلم صورتحساب فقط وابسته به كد كالاست اما تعداد هم وابسته به صورتخساب است هم.وابستف به ‎MIS‏ کدکالا + نام كالا + واحد + موجودي اول هر ماه هر قلم صورتحساب بايد براي خرید يك کالا باشد.

صفحه 140:
AY رابطه بين موجودیتها كلية فیلدهایی که ازطریق فيلدهاي دیگر قابل دسترسی یا محاسبه هستند. حذف مي كردند. به اين ترتيب مع كل از صورتحساب حذف مي گردد. قیه از قلم صورتحساب حذف مي شود. نام مأمور خريد كه از طريق كد مأمور خريد قابل مشترسين ست .«حذاف مين كردد. ‎Ky‏ أ

صفحه 141:

صفحه 142:
AY ‎Hl‏ چگونه مي توان رفتار را در زبانهاي برنامه سازي پیاده سازي نمود؟ ‎ ‏© رفتار شبکه اي است از حالات. ‏رویدادها موجب گذر بین حالات هستند. رفتار واکنش در مقابل رویداد است. © أ [00ها تبديل به كلاس باشعور مي شون ‎ ‏كلاسها علاوه بر [17©]1700! و صفتء يكسر: ‎eVent‏ دارند که در مقابل آنها واكنش مى

صفحه 143:
۳ MY ‏مدلسازي رفتاري‎ * واكنش ‎Object‏ در مقابل 6۱۸ 6۷ وابسته به کلاس نیست. ۴ اصولا شعور, واکنشی است در مقابل رویداد. يك انسان باشعور درمقابل رویدادها واکنش صحیح را انجام مي دهد. واکنش انسان با فراخواني يك متد صورت مي گیرد. 8 حال سوال ایتجاست. که چگونه ذر زنانهای برتاسة سازی رفتل ‎AT pl‏ ‎٩‏ يك 6 [۵0 | باشعور درمقابل 6۷6108 ها از خ واکنش نشان .می دهد.

صفحه 144:
مدلسازي رفتاری * این واکنش مر قالب فراغوانی بك مت ضورت عی گیرد: : ‏اصولاً رویدادها به دو دسته تقسیم مي شوند‎ ٩ يك دسته توسط سیستم مشخص مي شوند. دسته دیگر توسط برنامه نویس تولید مي شوند. مثال ( در زبان 601 : ‎event‏ > اناليکه سیستم : 5 اب اارفتردساي خم ‎etent‏

صفحه 145:
مدلسازی رفتاری * براي ‎PushButtona, Ju‏ را در نظر بگیرید. در مثال زیر براي يك ‎Command] tt PushBotton‏ ,|« 6۷6۳ های cul oad ate Object sl, MouseMove ,; Click : ‏واکنش بصورت دو تابع زیر مشخص گردیده است‎

صفحه 146:
AY مدلسازی رفتاری * واما در زبان ۷0 اين امکان وجود دارد که برنامه نویس خود وابسته به شرایط رويدادي را ایجاد یا در اصطلاح « ۵156 » نماید. ماقصنصطع؟ : تمامتاتاقووظ ا ۲ Constructor : Initialize * در ۷6 می توان آرایه را خالی گذاشت و بعد با 0 پر کرد. . زبان ۷5 را درنظر بگیرید که مي خواهیم كلاسي بنام 51:21 تعریف کنیم.

صفحه 147:
مدلسازی رفتاری ؟ ... به قسمی که اگر درهنگام ۳05/1 کردن مقدار ‎٩1861‏ پرشود. رویداد 6۳۳0۷۷ 0۷) اتفاق می افتد. لا براي اين منظورء در داخل کلاس 501 يك 6۷6۳۱6 بنام 8 00۷6۲۳۱0۷۷ تعریف می کنیم :

صفحه 148:
مدلسازی رفتاری * حال براي استفاده مي نویسیم :

صفحه 149:
كد مدلسازي رفتاري * در کد فوق چنانچه براي مثال /5ا51۰0 را اجرا کنیم. و 0۷6۳۲0۷۷ اتفاق بیفتده تابع مربوط به 6۲]101۷ 0۷ اجرامي شود. هنگام اجراي دستورالعمل ۱15/۱( تابع (ا5لا0 بواسطه پربودن .5361 ‎sky! |, RaiseEvent Overflow) wis .. RaiseEvent‏ نماید) و همین امر موجب مي شود تا تابع 951_0۷6۳۲10۷ فعال شو * در واقع 51_00۷6۲]0۷۷ موجب مي شود که واکنش شيء 1 درمقابل رویداد 0۷6۲01 مشخص کرت براي 92 نیز به همین ترتیب. ‎Ml‏ حال له ایتجاست که چگونه درهتگام مدلسازي بتوانیم این رویدادها و واکنش درمقابل

صفحه 150:
AY مدلسازي رفتاري براي اين منظورء از دياكرامهاي توالي استفاده مي شود. © هر رویداد درواقع يك فراخوانی است که به يك 66 [00 با کلاس »6 ز00 وارد مي شود و واکنش 00[661 متدي است که فراخواني مي گردد. © براي مثال : در 1301310 560۱16۳066 شکل ص 464کتاب ؛ ) ‏بنام « بیرون محوطه » از جنس « چشم الكتريکي‎ cl Obj a ‏نزديك شدن اتومبیل را تشخیص مي دهد.‎ بلافاصله در داخل متد « نزديك شدن » از اين 00 (0)نزديك شدن‌بیرون محوطه) که از پورت «چشم الكتريكي» یکسره درحال خواندن مقدار پورت مي

صفحه 151:
AY مدلسازي رفتاری .. و متد (()تشخیص اتومبیل.دروازه ورودي) را فراخواني مي کند. در داخل متد. تشخیص اتومبیل بلافاصله متد (0تشخیص کارت.کارتخوان) فراخواني مي شود. این متد در داخل يك حلفه پورت مربوط به کارتخوان را آنقدر می خواند تا اينکه عددي که نشانگر تایید کارت توسط کارتخوان است در این پورت ظاهرشود. حال این متد به فراخواننده خود يعني «تشخیص انوم مي کند و بلافاصله متد « باز شدن در» از شيء فراخواني مي گردد.

صفحه 152:
AY مدلسازي رفتاری زيرا كه شيء «در» در ارتباط با يورت مربوط به «در» قرارداردو اين تابع در يورت مربوط به « در» هر عددي را قرارمی دهد که موجب می شود دستگاه مربوطه فعال گردد و درب ورودي باز شود. 9 به این ترتیب کار در قسمت اول خانمه مي یابد. با دورشدن از دروازه. تابع دورشدن از دروازه از شيء داخل محوطه موقعیت را تشخیمن داده و عملیات مطایق-دیاگرام فوق ادانه مب بان همانطور که می دانیده وازدشدن رویداد به ا* موجب تغییر حالت آنها مي گردد. در اینجا دو رویداد به « شیء دروازه » وارد می شوند.

صفحه 153:
مدلسازی رفتاري رویداد‌های ورودی به ظ درواژه © : دروازه : دروازه

صفحه 154:
مدلسازی رفتاری ۶ در مورد 5121 : با اجراي 010519 جنانجه شرط [|الا؟ ‎[Stack is‏ برقرارباشد. تابع ‎٩1 ۷‏ که درواقع 51 همان ۱۷۷5021 است. فعال مي بنابراین در اینجا : Push = ‏رویداد‎ ! [ Stack is full] = bs! RaiseOverflow = ‏رخداد‎ - ‏رمقابل رخداد‎ 8 > SII

صفحه 155:
مدلسازی رفتاری حال دوباه مثال قبل را در نظر بگیرید: مدل رفتاري براي كلاس دروازه: با استخراج اين كلاس از داخل دياكرام توالي متفتجصی:شده: است: فوررو یذ موخت: و تغییر: خالل گردیفه: لته

صفحه 156:
مدلسازی رفتاری ‎٩‏ شكل صفحه قبل را در نظر ب * رویداد تشخیص اتومبیل موجب شده که این کلاس از حالت بیکار به حالت « صدور مجوز» وارقشوق: لا در اين حالت سه فعاليت مشخص گردیده اند: ۷ 017 (به مفهوم « با ورود به حالت ») * 100( به مفهوم « در داخل حالت ») 0۳ ( به مفهوم « خروج از حالت 1 اینها سه لفت كليدي كليدي در رشنال رز یف 9316 می توان آنها باشند و هنكام تعر ‎Am‏

صفحه 157:
AY مدلسازي رفتاری با ۴0۷۳۷ 006 ؛ فعالیت فرمان کنترل کارت انجام مي شود. اگر به دیاگرام توالی توجه کنید. در داخل متد تشخیص اتومبیل بلافاصله متد 0 تشخیص کارت.کارتخوان » فراخواني مي گردد. این فراخواني بصورت فرما کنترل کارت : ۴۲۱۲۲۷ 60۳۱ مشخص گردیده است. مسلهاً دراینجا مي بایست در «انتظار پاسخ» از دستگاه کارتخوان بمانیم این انتظار در دو حالت صورت مي گیرد و به صورت انتظار پا درداخل حالت مشخص شده است.

صفحه 158:
AY مدلسازي رفتاری ۵ اگر توجه کنید مي بینید که : در دياگرام توالي, فقط حالات مثبت درنظر گرفته مي شود. در صورتیکه در دیاگرام حالت تمام شرایط درنظر گرفته مي شود. براي مثال : در حالت صدور مجوز ورود؛ چنانچه کارت نامعتبر باشد. زنگ خطر 8 بصدا درآورده مي شود. در اینجا دایره سیاه. نقطه شروع را مشخص مي کند. براي ‎WIT ch‏ ممکن است در دياگرامهاي توالي متفاوت. حالت مختلف ایجادشود که مي بایست همگي آنها نمایید و از نقطه شروع به حالت ابتدايي دیاگرام واردشوید.

صفحه 159:
AY مدلسازي رفتاری ل با توجه به دیاگرام ص 466 کتاب شکل 14-4 مشاهده می نمایید که : ‎gS whit js‏ کتاب در وضعیت ظ در فقسته :6 قرازدازد.با رویناه ‎borrow‏ (تقاضاي امانت). ‎COPY) Cus aku‏ ) در حالت «در امانت» قرارمي گیرد و بلافاصله نسخه تتا از شيء کتاب در خواست مي کنذ که این نسخه را جزو تعذاد نسخه"های درامانت قرارذهد: ۱ 6 ترجه داشته باشید که از کتاب مهندسی تر آفزار ‎(gS)‏ سگرن است:هر کتابقانه موجوه باشد: ذر اینجا شیم کتاب. شاخص کتاب مهتذسی نرم افزار وونی وک تاش حوفت كتاب است كه بطور فيزيكي در كتابخانه موجود ‎

صفحه 160:
بر روي خط واصل. فعاليتي است که موجب مي شود نسخه کتاب از حالن در قفسه » به حالت « در امانت » واردشود. لآ فعالیت؛ 0001۰50۲۲۵۷۷ است. معمولاً در حالت كلي برروي خطوط ارتباطي د: دیاگرام حالت. 6۷61۱6 و درصورت وجود. الانأألاأ و در صورت وجود شرایط؛ 1100 قرارمی گیرد.

صفحه 161:
۳ MY ‏مدلسازی رفتاری‎ | در دیاگرام توالی که در شکل 1-4 از فصل 1 کتاب ص 384 مشخص شده. فرم سفارش ‎<orderformp‏ با پيام 05/10۷۷ به نمایش درمي آید ‎(orderform.show)‏ . این رویداد موجب مى شود كه 0۳06۲۲0۳۲۲ در حالت دریافت مشخصات مشتري. یافتن مشخصات در پرونده مشتریان ‎(CustomerFind(Cno))‏ 5 سرانجام درج جزئیات پرونده سفارش قرارگیرد. شيء 0۲06۳ پس از اینکه جزئیات کلی سفا پرونده سفارش درج نمود. تابع 061/۲681 ۲ فراخوانی می کند.

صفحه 162:
مدلسازی رفتاری بدين ترتيب دو رويداد به اين كلاس وارد مي شوند. 7 يكي تقاضاي نمايش (/ل051101 ) ل ديكري تقاضاي دريافت جزئيات قلم سفارش (41616165/]© 00 ) 5 رويداد دومي است كه موجب تغييرحالت اين كلاس مي گردد. بنابراین بصورت زیر دو ‎fee,‏ متخصن رم ی شوند: _ Orderform : TOrderform ShowQ | GetArticle (Article

صفحه 163:
كد مدلسازي رفتاري دياكرام حالت يا 01301311 56366 آن بدينصورت خواهدبود : 0 مک« تایید سناش ۱ 30000 و +

صفحه 164:
AY Component View ‎ols Component view ,» 4‏ برنامه مشخص مي شوند. ‎ ‏1 بدین ترتیب که مشخص مي کنیم يك پروژه از چه فايلهايي تشکیل شده ‏ات ‏براي مثال : " زبان ياسكال را در نظر بكيريد. ‏يك پروژه ([01) پاسکال از تعدادي 01لا باضافه يك ۲ ۷/۵۱ تشکیل می شود. ‏متمولاً براق نهر كاربر يك برنامه مستقل نضب

صفحه 165:
كد Component View | برنامه ها در اینجا مجزا هستند. هر ‎Project eh 29.) plas‏ برای نمونه « در سیستم کارت ساعت » سه زیرسیستم : ‎Guard Modules‏ (پیمانه نگهباني) ‎sl.) Employment Modules‏ 2358( ‎Modules 4‏ ۶۱۵۱۵۷5 (پیمانه واحدهاي کارمند ‎ ‏مشخص شده است. براي ۷۵۵۷16 ۲۳۱۵۱۵۱۲۳۵۲ ۰ پیه به شکل صفحه بعد مشخص مي گردند. ‏سمانه ها را می توانید درص 256 کتاب

صفحه 166:
كد Component View ل ما در اصل فايلهاي برنامه را مشخص مي کنیم. در هر فایل, ‎COMponent eb‏ 4« عنوان « برنامه اصلي » مشخص مي شود. شکل برنامه اصلي بدین صورت است : " قطعه معمولي به این صورت

صفحه 167:
AY _ Component View © View | 2516 ها قطعاتي هستند که بصورت 8 ها قطناتى هستند که تضورت یک 166100 به موازات ‎jail‏ زات برنامه | به اجرا در مي آیند. در اين مرحله هر قطعه يك فایل برنامه مي باشد. | براي آن مي بایست ‎Vol‏ زبان برنامه سازي را مشخص نمود. 1 براي نمونه. براي سیستم « ثبت سفارش » : لا همانگونه که در کتاب مشخص شد. يك ]۱00/۱6 بنام 05۷/56۲۲۱ 0۲06۲5۱۱) مشخص کرد با ‎click‏ روي آن» يك فرم باز مي شود. داخل آن مي توانید زبان برنامه سازي را

صفحه 168:
AY Component View * براي مثال آاگر زبان برنامه نويسي را ۷8 انتخاب کنید. تحت گزینه اي بنام 6 لیست تمامي کلاسها نمایان مي گردد. با ‎8٩_11‏ بر روي هر کلاس, مي توانید آن را به ۰۵55/9 60۳۱۵0۲6۳۴ كنيد 4 در اصل برنامه شیء گرا به ما می گوید که ‎Module jo‏ قطعه) شامل تعدادي کلاس است. براي هر قطعه كلاسهايي را انتخاب مي کنیم کل ارتباط تنگاتنگ با یکدیگر باشند. 1 براي مثال. « پیمانه امور آموزش » داراي أ ©[0هابي است كه بسیار یکدیگر را فراخوا

صفحه 169:
MY Component View ‏يكد يكن اسك‎ " براي مثال, در « سيستم آموزش» قطعه ثبت نام شامل کلیه كلاسهايي است که که هر ارتباط هگاتنگ براق عمل ثبت :نام هستيدة [ بعداز اينکه به کلیه قطعه هاء کلاسها تخصیص شد. مرحله ‎Engineering‏ ۳0۲۷۷۵۲ یا مهندسی روبه جاد تولید کد از مدل آغاز مي شود. ۱ توجه كنيد بايد كليه كلاسهاء متدها فیلدها كلاسء بارامترهاي ورودي و خروجي متدها قب به زبان فارسى كاملاً توضيح داده شده باشد.

صفحه 170:
كد Component View ل براي مثال : ‎CLICK G95 oss)» Hb ub Order ply 05 SI‏ كرده و شرحي براي كلاس بنویسید. "براي هر ]۵۲100 (فیلد کلاس) مثل ۱10۲۵6۲ یا تاریخ توضيح داده باشید. لا تمام این ‎Comment‏ ها درهنگام ‎Generation‏ ‏مثلاً ۷5 گنجانده مي شوند. براي تولید کد. از منوي ۲0015 گزینه 2 سپس گزینه 0006 00316 ,| ‎bel‏ ‎eG‏ " به این ترتیب سیستم شروع به تولید کد

صفحه 171:

صفحه 172:
به پایان آمد اين دفتر کار ما نیست شناسابيي راز کل سرع .۰ ۳۹ ‎CTA‏ کر ما نیست ‎So PR‏ 3 ۳ 4 كار ما نيست شناسايي راز كل سرخ .. 7 5 کار ما نیست شناسايي راز گل سرخ ... Beene ye roel rs 2 ۳ i=) <= 1 5 جد /

به نام آنكه جان را فكرت آموخت چراغ دل به نور جان برافروخت مهندسي نرم افزار ()1 مدرس :دكتر سعيد پارسا نيمسال دوم سالتحصيلي 81-82 دانشگاه آزاد اسالمي واحد شبستر فرآيند مهندسي نرم افزار شناخت طراحي پياده‌سازي پشتيباني دانشگاه آزاد اسالمي واحد شبستر شناخت سيستم براي هر واحد عملياتي بايد نيازهاي آن واحد مشخص شوند تعيين چارت سازماني تعيين چارت عملياتي مقوله آناليز وظايف براي شناخت بهتر مطرح مي گردد دانشگاه آزاد اسالمي واحد شبستر شناخت سيستم :شناخت سيستمها معموال به دو صورت است ‏System Centric ‏User Centric دانشگاه آزاد اسالمي واحد شبستر گزارش شماره 1 گزارش شناخت نيازمنديها نام سيستم مشتري اهداف :رابطه اي منطقي بين آنچه كه در حال حاضر وجود دارد با آنچه كه در آينده وجود خواهد داشت. دانشگاه آزاد اسالمي واحد شبستر گزارش شماره 1 شرح مسئله ‏ حوزه مساله :افراد مرتبط باسيستم ‏ نياز مساله :افراد چه نيازهايي از سيستم دارند ‏ راه حل پيشنهادي : ‏ نقطه فروش :وجه تمايز سيستم با ساير سيستمها دانشگاه آزاد اسالمي واحد شبستر  ا ل ل ه ن و ر ا ل س م و ا تو پايان جلسه اول ...خسته نباشيد دانشگاه آزاد اسالمي واحد شبستر ا ال ر ض . . . شناخت نيازها براي تعيين نياز ‏ دانستن اهداف كلي سيستم دانستن اهداف كاري افراد فعال در سيستم سيستم كنوني را شناخت دانشگاه آزاد اسالمي واحد شبستر شناخت نيازها دو نكته اساسي : سيستم جاري سيستم آتي سيستم جاري ممكن است دستي يا كامپيوتري و يا تركيبي از اين دو باشد دانشگاه آزاد اسالمي واحد شبستر شناخت نيازها داليل شناخت سيستم جاري (كنوني) : مشخص شدن نيازها براي سيستم آتي (تا حدودي) مشخص شدن نقصها و تحميدهاي سيستم كنوني تعيين كارهاي زائد و اضافي نظر ادوارد يوردون )سHاHل(1589 شناخت جزئيات سيستم كنوني = اتالف وقت دانشگاه آزاد اسالمي واحد شبستر شناخت نيازها ( SSADMبعنوان يك روش ساختيافته) صرف زمان زيادي براي مدلسازي سيستم جاري اعتقاد بنيانگذاران UMLو صاحبان متدلوژي USDP مطالعه سيستم كنوني دانشگاه آزاد اسالمي واحد شبستر شناخت نيازها داليل مطالعه سيستم جاري (كنوني) : لزوم وجود برخي عملكردهاي سيستم موجود در سيستم جديد لزوم انتقال برخي اطالعات سيستم جاري به سيستم جديد انتقال مستندات سيستم جاري و استخراج الگوريتمها درصورت مكانيزه بودن سيستم جاري درك كلي از سازمان با مطالعه سيستم جاري انعكاس برخي از عمليات سيستم جاري در سيستم آتي لزوم درك كار افراد براي ايجاد سيستم مناسب كامپيوتري امكان مشخص كردن ميزان كارايي سيستم آتي با مطالعه سيستم جاري دانشگاه آزاد اسالمي واحد شبستر شناخت نيازها اعتقاد بر ايHنست كه : سيستم جاري بايد تاحدي مورد شناخت قرارگيرد نيازهاي عملياتي نيازها نيازهاي كيفي نيازهاي قابل استفاده بودن دانشگاه آزاد اسالمي واحد شبستر شناخت نيازها تعريف نيازهاي عملياتي : سيستم چه كاري بايد انجام دهد يا چه انتظاراتي از سيستم مي رود مشخص كردن UseCaseها يا سرويسهاي سيستم در ديدگاه شيء گرا ابتدا چارت سازماني معاون آموزش منشي آموزش سرپرست آموزشي دانشكده كارمند آموزش دانشگاه آزاد اسالمي واحد شبستر سرپرست آموزشي دانشكده كارمند آموزش شناخت نيازها سپس چارت عملياتي عمليات آموزش برنامه ريزي براي آموزش دانشگاه عمليات آموزشي دانشگاه ثبت نام حذف و اخذ ...... يك Functionتوسط افراد مختلف انجام مي شود چارت عملياتي تاحدي متفاوت از چارت سازماني دانشگاه آزاد اسالمي واحد شبستر شناخت نيازها ‏Gال شامل : نيازهاي عملياتي اصو توصيف فرآيندهاي عملياتي كه سيستم آتي بايد انجام دهد جزئيات وروديهاي به سيستم ازطريق فرمهاي ورودي يا فرمهاي كاغذي ،مستندات ،ارتباط با افراد ،ساير سيستمها يا مكالمات تلفني جزئيات خروجيهايي كه سيستم بايد فراهم نمايد جزئيات داده هايي كه در داخل سيستم بايد حفظ و نگهداري شود است دانشگاه آزاد اسالمي واحد شبستر شناخت نيازها تعريف نيازهاي كيفي : اين نيازها مشخص مي كنند كه كيفيت نيازهاي عملياتي بايد به چه صورت باشد اطالعات زير بايد براي مدنظرداشتن قابل استفاده بودن سيستم جديد جمع آوري شوند : ويژگيهاي كاربرهايي كه سيستم را مورداستفاده قرارمي دهند وظايفي كه كاربر برعهده دارد و اهداف مربوطه موقعيتهايي كه سيستم ممكن است تحت آنها مورداستفاده قرارگيرد معيارهايي كه براساس آنها ،قابل قبول بودن سيستم موردسنجش Hقرارمي گيرد دانشگاه آزاد اسالمي واحد شبستر اب خ د ا اب ش و پا پايان جلسه دوم ...خسته نباشيد دانشگاه آزاد اسالمي واحد شبستر د ش ا ه ي ك ن . . . روشهاي استخراج نياز روشهاي استخراج نياز ( 5روش) : مطالعه اوليه )Reading ‏مصاحبه مشاهده ارجاع به مستندات تهيه پرسشنامه دانشگاه آزاد اسالمي واحد شبستر ( Background ()Interview ()Observation ()Documentations ()Questions روشهاي استخراج نياز مطالعه اوليه : يك آناليست كه سيستم را بصورت دستي مي شناسد و اهداف كاري آن را مي داند ،استخدام مي شود . وظيفه آناليست شناسايي سازمان مستندات چارت سازماني ، سياستهاي كاري ،شرح وظايف ،گزارشهاي سيستم جاري . دانشگاه آزاد اسالمي واحد شبستر مزايا مطالعه اوليه • كمك به شناسايي عملكرد سازمان قبل از مالقات با افراد • مشخص شدن سؤاالت الزم بر مبناي اطالعات جمع شده • مشخص شدن نيازها از طريق مراجعه به مستندات سيستم جاري مشكل • معموال مستندات سيستم با واقعيتها متفاوت هستند كه علت بايد توسط شود. آناليست مشخص دانشگاه آزاد اسالمي واحد شبستر روشهاي استخراج نياز مصاحبه : قبل از مصاحبه :بايد وقت مالقات و موضوع مالقات مشخص شوند نكته مصاحبه يك اتالف وقت براي مصاحبه شونده است ف افراد شود ظاي لعه ح و مطا شر ايد يز ب ن در مصاحبه : ‏انتخاب افراد باتجربه ‏تعيين افراد مورد مصMاحبه ‏تعيين وقت مصاحبه ‏تعيين اهداف مصMاحبه الزم است دانشگاه آزاد اسالمي واحد شبستر در ضمن مصاحبه : مصاحبه • اجازه ندهيد مصاحبه شونده خارج از موضوع بحث كند • سواالت بايد درارتباط با چگونگي استفاده از كامپيوتر درارتباط با انجام وظايف مصابه شونده باشند • نتيجه سواالت بايد مستند شوند • نيازها درارتباط با سيستم اطالعاتي جديد مطرح شوند • پرسشنامه دراختيار مصاحبه شونده قرارگيرد • صحبت درمورد يك موضوع خاص با افراد مختلف صورت گيرد تا تناقضها نمايان شود دانشگاه آزاد اسالمي واحد شبستر مزايا مصاحبه • ارتباط با افراد موجب مي شود آناليست پاسخگوي نيازهاي افراد باشد • آناليست ممكن است روشهاي ديگري براي ساده ترشدن كار افراد پيشنهادكند مشكالت • مصاحبه ها هزينه برند • تنها انجام مصاحبه كافي نيست ،بلكه آناليست بايد برروي نتايج كار كند و Prototypeتهيه نمايد • مصاحبات وابسته به نقطه نظرهاي مصاحبه ـ شونده است دانشگاه آزاد اسالمي واحد شبستر مشاهده پس از مصاحبه بايد براي شناخت بهتر سيستم و نيازهاي آن به مشاهده چگونگي انجام وظايف پرداخت. مشاهده در ارتباط با جنبه هاي مختلف انجام يك كار مي باشد: .1مدت زمان انجام وظيفه توسط فرد .2تعداد خطاهاي ايجادشده در طي انجام كار فرد .3فاكتورهاي مهم در ارتقاء كارايي فرد دانشگاه آزاد اسالمي واحد شبستر مشاهده مزايا • آشنايي با روشي كه سيستم جاري با آن كار مي كند • ميزان كارايي سيستم جاري مشخص مي شود • اطالعات گردآوري شده مبتني بر آن چيزي است كه در عمل انجام مي شود نه آنچه كه افراد ادعا مي كنند مشكل • افراد هنگامي كه احساس كنند تحت نظر هستند ،طبق روال عادي رفتار نمي كنند دانشگاه آزاد اسالمي واحد شبستر ارجاع به مستندات ‏با ارجاع به Prototypeو گزارشهاي تهيه شده توسط افراد، بخصوص در هنگام مصاحبه ،بخش اعظمي از نيازها مشخص مي شوند ‏با ارجاع به اين فرمها ،ميزان داده ها ،فرمت داده ها و نهايتا ساختار بانكهاي اطالعاتي و گزارشهايي كه بايد استخراج شوند ،مشخص مي شود دانشگاه آزاد اسالمي واحد شبستر ارجاع به مستندات مزايا • حجم داده ها و اطالعات موردپردازش مشخص مي گردد • فرمت داده ها تعيين مي گردد • مشكالت و خطاهايي كه بواسطه پركردن دستي مستندات ايجاد مي گردد ،تعيين مي شود مشكل • اگر قرارباشد سيستم كام ً ال تغيير كند، ممكن است اطالعاتي گردآوري شود كه در آتيه اص ً ال نيازي به آنها نباشد دانشگاه آزاد اسالمي واحد شبستر پرسشنامه ‏پرسشنامه ها مجموعه اي از سؤاالت هستند كه توسط مشاورين و كساني كه با اهداف و عملكرد دستي سيستمها آشنايي دارند ،تهيه شده و در يك سازمان پخش مي شود و جوابها مطالعه مي گردند دانشگاه آزاد اسالمي واحد شبستر ارجاع به مستندات مزايا • بر مبناي پاسخها نيازها مشخص مي شوند • با استفاده از پرسشنامه ها ،تعداد افراد زيادي را مي توان به كارگرفت مشكل • تهيه پرسشنامه نياز به تجربه زياد دارد • عدم دريافت پاسخ به موقع از افراد دانشگاه آزاد اسالمي واحد شبستر مثال تعيين نيازها ( Fact FindingتMMعييننMMيازMها ) بMMراMييMMك شركت تبليغاتي هدف روش موضوع گردآوري اطالعات گزارشهاي اوليه درارتباط با Backgroun كمپاني ،مجالت كمپاني و ك ً ال صنعت d Reading تبليغاتي تبليغات دانشگاه آزاد اسالمي واحد شبستر زمان نصف روز مثال تعيين نيازها تعيين اهداف كاري ،حوزه كاري و چگونگي ارتباط با مصاحبه شعب كمپاني تعيين نقش هر واحد كاري، تعيين ساختارهاي تيمي، مصاحبه تعيين مصاحبه شونده ها از بين كارمندان تعيين هسته كار دانشگاه آزاد اسالمي واحد شبستر دو نفر از مديرها روز2 مدير بخشها 2-1 سMMاعت .1مدير بخش طراحي گرافيكي هر .2مديربخش تهيه تبليغ كدام مصاحبه 1.5 .3ويرايشگر سMMاعت .4مدير حسابداري مثال تعيين نيازها ادامه و تكميل برداشتهاي قبلي از چگونگي انجام كار مشاهده تعيين نقش افراد درارتباط با هسته هاي كاري مصاحبه تعيين سوابق و پرونده هايي كه نگهداري مي شوند مصاحبه و ارجاع به مستندات دانشگاه آزاد اسالمي واحد شبستر دونفر از افراد(كارمندان) هريك نصف روز هريك دونفر از كارمندان بر 1.5 اساس تجربه كاري ساعت كارمند بايگاني و انباردار 1-2 سMMاعت مثال تعيين نيازها تعيين استفاده هاي سيستم جاري و تعيين وظايف سيستم كامپيوتري(كنوني) تعيين نيازهاي حسابداري براي سيستم جديد دانشگاه آزاد اسالمي واحد شبستر دو مدير بخش حسابداري مصاحبه سه كارمند بخش تبليغات حMسابدار 1. صMMندوMقدار 2. مصاحبه كMارMمMند بMMخش3. خMريد كMارMمMند بMMخش 4. .5حMسابدارMي تMMا3 يMMك سMMاعت هريك 1.5 ساعت پايان جلسه سوم ...خسته نباشيد دانشگاه آزاد اسالمي واحد شبستر ‏ ب ي ـ ن د ي ـ ش . . .. دسته بندي نيازها برطبق دسته بنديهاي RUP(Rational Unified ) Processنيازها شامل : • ( Functionalityنيازهاي عملياتي) • ( Usabilityقابل استفاده بودن) ان ‏MابMليتطMمين ) اM •( ReliabilityقM ‏Mي •( PerformanceكMاراMي ) انMي •( SupportabilityقMMابMليتپMMشتيب ) دانشگاه آزاد اسالمي واحد شبستر VISION Vision چشم انداز سيستم است. نيازهاي كلي سيستم با اين مستند تهيه مي شود. بخشهايي از : Vision .1 هدف ( :)Objectiveهدف كلي از مستند را براي سيستم مشخص مي كند. .2 دامنه ( :)Scopeدر هنگام مشخص كردن دامنه يا حوزه عملكرد سيستم ،موجوديتهاي با ارتباط خارجي تعيين مي گردد .افراد يا اشيائي كه در خارج از سيستم قراردارند، مشخص مي شوند. دانشگاه آزاد اسالمي واحد شبستر VISION .3 مراجع ( :)Refrancesدر اين بخش مستنداتي كه جهت ايجاد سيستم به آنها ارجاع مي شود ،آورده مي شوند .از جمله مستندات مي توان به :مستندات شرح وظايف سازماني ،روندهاي كاري و ... اشاره نمود. .4موقعيت : .4-1موقعيت كاري :مشخص مي كند هنگاميكه سيستم كامپيوتري جايگزين سيستم جاري شد ،چه شرايطي و چه تسهيالتي ايجاد خواهدشد. دانشگاه آزاد اسالمي واحد شبستر VISION .4-2شرح مسئله :در اينجا مشكل سيستم و مزاياي سيستم كامپيوتري مطرح مي شود. .4-3شرح كاربرها :در اين قسمت توضيحي درمورد شرح كاربرها و نيازهاي آنها تهيه شده و كاربرهاي اصلي مشخص مي شوند. .5 دياگرام توصيف محصول نرم افزاري :در اين قسمت در قالب يك تحويل داده متن توصيفي از Mمحصولي كه بايد به مشتري نرم افزار و شود ،ارائه مي شود .قابليتهاي ويژگيهاي آن ،هزينه توليد مربوطه در اين قسمت تعيين دانشگاه آزاد اسالمي واحد شبستر و نكات مي شود. VISION .6 هزينه ها :بايد قسمتها را مشخص كرده و تعيين كرد كه براي هر قسمت عمليات چه هزينه اي نياز است. در ارتباط با هزينه ها درمجموع مي بايست هزينه انجام پروژه مشخص شود. دانشگاه آزاد اسالمي واحد شبستر چرخه حيات نرم افزار مراحل چرخه حيات يا فرآيند توليد نرم افزار : شناخت اوليه تشريح ()Inception ()Elaboration ايجاد ()Construction انتقال ()Transition دانشگاه آزاد اسالمي واحد شبستر چرخه حيات تحول ايجاد تشريح شناخت اوليه تعيين نيازكاري تفهيم وتبديل نياز تجزيه وتحليل پياده سازي آزمون كنترل تغييرات تعيين محيط عملياتي توسعه قدم قدم قدم قدم قدم قدم قدم قدم لوليه 1# 2# n# 1+n#2+n# m# 1+m# دانشگاه آزاد اسالمي واحد شبستر شناخت اوليه باتوجه به دياگرام ؛ براي توليد نرم افزار عمليات مدلسازي سيستم جاري، تعيين نيازها ،تجزيه و تحليل ،پياده سازي ،آزمون و نهايتاً نصب نرم افزار در .هر مرحله تكرار مي شود ولي تاكيد در هر مرحله متفاوت است .مثال در مرحله شناخت اوليه بر .مدلسازي كاري (جاري) تاكيد زياد و بر پياده سازي تاكيد كم است براي تعيين دامنه پروژه بايد Actorها يا بازيگرهاي سيستم را مشخص نمود. مMمكنMسMت ا ActorكMارMبر سMMيستماMسMتو فMMرد خMارMج از سMMيستم يMMا فMMردMياز داMخMل سMMيستم بMMاشد. دانشگاه آزاد اسالمي واحد شبستر شناخت اوليه در محيط رشنال رز تصوير مربوط به اكتور به اين صورت است : اگر اكتور سيستم جاري باشد بايد مشخص كرد كه هر Actorچگونه با سيستم در ارتباط قرارمي گيرد .اين ارتباط را در قالب مورداستفاده يا UseCase مشخص مي كنند .درواقع مشخص مي كنند كه چه كساني چه استفاده هايي از سيستم مي برند. دانشگاه آزاد اسالمي واحد شبستر شناخت اوليه در محيط رشنال رز تصوير مربوط به UseCase (مورداستفاده) به اين صورت است : اگر UseCaseسيستم جاري باشد معموالً براي هر مورداستفاده شرحي نيز تعيين مي گردد دانشگاه آزاد اسالمي واحد شبستر شناخت اوليه بطور خالصه اهداف مرحله مدلسازي كاري عبارتند از: تعيين حوزه عملكرد يا دامنه مسئله تعيين مدلهاي استفاده از سيستم تعيين ساختار كلي سيستم برنامه ريزي پروژه شامل زمانبندي وتجزيه ها تعيين ميزان ريسك براي انجام پروژه دانشگاه آزاد اسالمي واحد شبستر شناخت اوليه بنابراين مي توان گفت خروجيهاي اين قسمت نيز عبارتند از: مستندات Vision مدل موردهاي استفاده از سيستم ‏UseCase Model لغت نامه يا توضيح اصطالحات گزارش سيستم كنوني برنامه ريزي پروژه دانشگاه آزاد اسالمي واحد شبستر  پ ـ ر پـ وا ز ر ر ن ا ب ـ ه د ه خ ا م ط ر ر د ن ب ـ س پ ا پايان جلسه چهارم ي سـ ر، ت ... ...خسته نباشيد دانشگاه آزاد اسالمي واحد شبستر مدلسازي سيستم جاري مدلسازي سيستم جاري شامل دو بخش است : ( Business process modelingمدلسازي فرآيند كاري) ( Business object modelingمدلسازي اشياء كاري) بايد واحدهاي سازماني مشخص گردد ابتدا يا به عبارت ديگر چارت عملياتي و چارت سازماني مشخص گردد .اما براي تعيين چارت سازماني بايد واحدهاي سازماني مشخص شوند. دانشگاه آزاد اسالمي واحد شبستر مدلسازي سيستم جاري براي Business Object Modelingمي بايست Business Workerها مشخص شوند. = Business worker نقش كاربرها براي تعيين Business workerها بايد Business usecaseها مشخص شوند. Business usecaseها (مMوردMهاي ‏MيMسMتكMه مMيبMMايMست ‏Mي عMمليات ا اMسMتفادMه MكMار ) بMMراMيسMMروMيMسدMهيبMMه سMMايريMنبMMه اMنMجام رMسد. دانشگاه آزاد اسالمي واحد شبستر مدلسازي سيستم جاري براي مثال : در سيستم آموزش دانشگاه؛ مورد استفاده (  )UseCaseثبت نام Actor داHنHشجو Business Worker مHسئولثHHبتنHام Business Entity تHHعHرفHه ثHHبتنHام ، پرونده دانشجو و ... دانشگاه آزاد اسالمي واحد شبستر مدلسازي سيستم جاري براي اينكه بصورت سازمان يافته عمل كنيم ،مراحل كار به شرح زير است : تعيين واحدهاي عملياتي تعيين مسئوليتها يا نقشهاي كاري ()Business workers تعيين مستندات يا موجوديتهاي كاري ()Business entities تعيين روش انجام موردهاي استفاده ساختن مدل ارتباطي اشياء كاري ارزيابي نتايج دانشگاه آزاد اسالمي واحد شبستر مدلسازي سيستم جاري شكل واحد سازماني  بعد از تعيين واحدهاي سازماني (كه براساس چارت عملياتي است) مي بايست Business Workerها مشخص شوند .در واقع ‏Business Workerها دست به دست هم مي دهندو همكاري مي كنند تا Business ‏Usecaseها را عملي كنند. دانشگاه آزاد اسالمي واحد شبستر تعيين موردهاي استفاده يك مورداستفاده درواقع شاخص سرويسي است كه سيستم براي Actorهاي خود فراهم مي كند. عملكرد سيستم براساس سرويسهايي كه فراهم مي كند ،مشخص مي گردد. هر سرويس را يك مورداستفاده actorيا يك UseCaseمي نامند. مثال سيستم آموزش دانشگاه : سيستم آموزش دانشگاه آموزش مركزي دانشگاه آزاد اسالمي واحد شبستر آموزش دانشكده تعيين موردهاي استفاده دياگرام موردهاي استفاده كاري (آموزش دانشكده) : ثبت نام دانشجو آموزش مركزي حذف و اخذ صدور كارنامه تعيين برنامه آموزشي دانشگاه آزاد اسالمي واحد شبستر مديريت دانشكده استاد تعيين موردهاي استفاده اكتورها مي توانند از همديگر به ارث ببرند... متقاضي برنامه هاي آموزشي آموزش مركزي استاد مدير دانشكده دانشگاه آزاد اسالمي واحد شبستر توصيف موردهاي استفاده اصوالً يك مورداستفاده كاري شاخص يك وظيفه است كه بوسيله يك يا چند Business workerبه انجام مي رسد .پس مورداستفاده كاري نمايانگر مورداستفاده اي است كه توسط يك Business workerمورداستفاده قرارمي گيرد. براي انجام هر وظيفه ،شرح وظيفه اي وجود دارد كه مراحل انجام كار را مشخص مي كند .پس براي انجام Usecaseهاي كاري مي توا از شرح وظايف استفاده كرد. دانشگاه آزاد اسالمي واحد شبستر توصيف موردهاي استفاده براي نمونه درموردثبت نام ،وظيفه يا مورداستفاده به شرح زير توصيف مي گردد: .1مسئول ثبت نام تعرفه را از متقاضي ثبت نام (دانشجو) دريافت مي كند. .2مسئول ثبت نام تعرفه را جهت بررسي به مسئول پرونده هاي دانشجويي مي دهد. .3مسئول پرونده دانشجويي وضعيت درسي، پيش نيازها و غيره را براساس تعرفه كنترل مي نمايد. دانشگاه آزاد اسالمي واحد شبستر توصيف موردهاي استفاده .4كنترل كننده پس از تاييد و رد دروس يا به عبارت ديگر اصالح تعرفه ،آن را به كنترل كننده كالسها تحويل مي دهد. .5كنترل كننده با درنظر گرفتن ظرفيت دانشجو را ثبت نام مي نمايد. .6كنترل كننده فرم تكميل شده ثبت نام را تاييد و به مسئول ثبت نام تحويل مي دهد. .7مسئول ثبت نام فرم را به دانشجو تحويل مي دهد. در اين توصيفBusiness ، ‏workerها شامل مسئول ثبت نام، كنترل كننده ثبت نام ،كنترل كننده كالسها ممكن است همگي يك فرد باشند. دانشگاه آزاد اسالمي واحد شبستر توصيف موردهاي استفاده مي بايست نوع همكاري در بين Business workerها و عملكرد آنها بر روي Business entityها مشخص گردد. در اين رابطه مدل ارتباطي اشياء كاري كه درواقع همان ‏business workerها و Business entityها هستند، مطرح مي باشد. دو مفهوم : ‏B ‏A ‏A is kind of ‏B دانشگاه آزاد اسالمي واحد شبستر ‏B ‏A ‏A is part of ‏B توصيف موردهاي استفاده ‏ Business Object Model :ضاي قا ت نترل ك رل كنت كنترل ريزنمMرات دانشجو پرونده دانشجو ليست دروس دانشگاه آزاد اسالمي واحد شبستر مسئول ثبت نام ي ا كننده قاض فه ت عر ت صالح ا ثبت كنندهم تعرفه ثبت نام شاه د ه ظرفيت كالسها ارائه تعرفه دانشجو توصيف موردهاي استفاده معموالً در كامپيوتر Business worker ،ها تبديل به كالسهاي كنترلي مي شوند كه به شكل زير هستند: كالسهاي كنترلي وظيفه كنترل عمليات را برعهده دارند. Business Entityها تMMبديMلبMMه كMالسMهMاياز نMMوع EntityمMيشMMوند كMه بMMه شMMكلزMير هMستند: ‏Business entity ها مبنايي براي ايجاد Tableها و بانك اطالعاتي سيستم هستند. دانشگاه آزاد اسالمي واحد شبستر توصيف موردهاي استفاده در اين راستاBusiness Actor ،ها تبديل به كالسهاي از نوع Actorمي شوند كه به شكل زير هستند: در سيستمهاي كامپيوتري ،نوع ديگري از كالسها تحت عنوان ‏Boundary classها مطرح هستند كه به شكل زير مي باشند: اين كالسها شاخص فرمهاي ورودي – خروجي و رابطها مي باشند. دانشگاه آزاد اسالمي واحد شبستر توصيف موردهاي استفاده هر زيرسيستم ممكن است شامل چند UseCaseباشد. ممكن است يك Business Usecaseمستقيماً تبديل به يك Usecaseكامپيوتري شود. ‏Business Unit ها معمو ًال با Packageها يا بسته هاي نرم افزاري جايگزين مي شوند. در دسته بندي كالسها به جاي اتالق اصطالح typeبه آنها stereotype ،را بكارخواهيم برد. دانشگاه آزاد اسالمي واحد شبستر  ا ن س چ ا ن ي ه ز ر گ ي ز ت ن ك م ي ه ي ا ك ف ر ت د د ه م ب ا گ ش پنجم جلسه پايان ر ب د ه ... ...خسته نباشيد دانشگاه آزاد اسالمي واحد شبستر نكات مدلسازي اشياء Usecase ها نبايد در ارتباط مستقيم با يكديگر قرارگيرند .ارتباط بين Usecaseها معمو ًال ازطريق يك بانك اطالعاتي صورت مي گيرد كه در مدل Usecase Diagramمشخص نمي گردد. دو سرويس ازطريق مستندات (بانك اطالعاتي) باهم ارتباط برقرار مي كنند .اما در طرح جامع سيستمها عمليات مشترك را مي بايست مشخص و از تكرار آن جلوگيري كرد. در اين صورت عمليات مشترك را در داخل يك usecaseتعيين و در رابطه includeبا usecaseقبلي قرارمي دهيم. دانشگاه آزاد اسالمي واحد شبستر نكات مدلسازي اشياء عالوه بر رابطه ، includeرابطه ديگري بنام extendوجود دارد كه نشان مي دهد درحالت استثنايي عمليات usecaseتوسط usecaseديگر توسعه داده مي شود. فار س ‏lude ‏c ‏n ‏i تهيه صورتحساب > << > < < > extثبت سفارش > end تاييد مدير دانشگاه آزاد اسالمي واحد شبستر ش كاال سفارش دهنده نكات مدلسازي اشياء هر واحد عملياتي به عنوان Actorبراي واحد عملياتي ديگر در نظر گرفته مي شود. توصيف عملكرد با Activity Diagramبيان مي شود. براي رسم دياگرامهاي مختلف بايد سناريو مشخص گردد. براي هر usecaseيك سناريو مي نويسيم. براي اينكه Business workerها كام ً ال مشخص شوند ،بايد شرح وظايف افراد مشخص گردد. دانشگاه آزاد اسالمي واحد شبستر سناريو سناريو براي usecaseمدل جاري (كنوني) : نام مورداستفاده جاري : شرح مختصر : ثبت نام دانشجو بايد تعرفه خود را ارائه دهد، پس از بررسي فرم تاييديه ثبت نام به او داده مي شود. كارايي موردنظر : هدف :ارائه حداكثر دروس بدون تالقي به دانشجو است.I دانشگاه آزاد اسالمي واحد شبستر سناريو گردش كار اصلي : اكتور سيستم جاري دا*ن*شجو ت***ع*رف*ه* خود را جهت 1.م*سئولث***بتن**ام ت***ع*رف*ه* را 2. ث***بتن**ام ب***ه* م*سئولث***بتن**ام .ك**نترلم*يك**ند .ارا*ئ*ه* م*يد*هد م*سئولث***بتن**ام از م*سئول3. پ**رو*نده* ها ت***قاضايك**نترل .ش**را*ي*ط دا*ن*شجو را م*يك**ند م*سئولپ**رو*نده* ها م*ع*دلك**ل4. دا*ن*شجو را از ك*ار*نام*ه* و*ي .م*شخصم*يك**ند دانشگاه آزاد اسالمي واحد شبستر درو*سپ***يشنياز از ك*اتا**لوگ5. درو*سب**را*يهر در*سدرو*ن .ت***ع*رف*ه* م*شخصم*يش**ود سناريو گردش كار اصلي : اكتور سيستم جاري م*سئولپ**رو*نده* ها از 7. م*سئولك**نترلك**ننده* ك**الس*ه*ا ت***قاضايت***عيينك**السب**را*ي .دا*ن*شجو را م*يك**ند ب**ر ا*ساسظ*رف*يتك**الس*ه*ا و 8. هفتگي ف**رم ث***بتن**ام ، ب**رنام*ه* .ا*ي*جاد*م*يش**ود م*سئولث***بتن**ام ف**رم را 9. .ب***ه* دا*ن*شجو ت***حوي*لم*يد*هد دانشگاه آزاد اسالمي واحد شبستر  ب ي ن ..د ي ش .. پايان جلسه ششم ...خسته نباشيد دانشگاه آزاد اسالمي واحد شبستر . . . ... . Use case Realization بMMه تMMحققپMMيوسMتنمMوردMهاي Use case Realization  اMسMتفادMهM براي به واقعيت پيوستن موردهاي استفاده ،مي بايست تعدادي objectبا يكديگر همكاري كنندو درنتيجه همكاري اينها نهايتاً سرويس موردنظر براي Actorفراهم گردد. ‏object ها در قالب Business workerو Business entityمشخص شدند. محاوره( )Interactionاين objectها با يكديگر در قالب Interaction Diagramميسر مي گردد. دانشگاه آزاد اسالمي واحد شبستر Use case Realization سازماندهي اين objectها در قالب object modelيا «مدل ارتباطي كالسها» مشخص مي گردد. براي تشخيص عملكرد use caseاز دياگرام فعاليت يا activity Diagramاستفاده مي شود. مدل ارتباطي كالسها كه :قب ً ال در مدل ارتباطي اشياء مالحظه همانور نموديد ،در اين مدل نيز انواع كالسهاي مختلف با همديگر ارتباط برقرار مي كنند ولي در اينجا كالسها مربوط به objectهاي سيستم كامپيوتري (سيستم آتي) هستند. دانشگاه آزاد اسالمي واحد شبستر مدل ارتباطي كالسها رابطه بين كالسها : در حالت كلي رابطه بين دو كالس را associationيا اجتماع بين دو كالس مي نامند. رابطه بين دو objectرا ( linkپيوند) بين اشياء مي نامند. : association  در اين ارتباط اجتماعي از كالسها وجود دارد .هر اجتماع داراي يك نام است .براي مثال مسئول ثبت نام در ارتباط كنترل با تعرفه ثبت نام قراردارد .پس نام ارتباط كنترل است. دانشگاه آزاد اسالمي واحد شبستر مدل ارتباطي كالسها : association  براي هر اجتماع نقش ( )roleتعيين مي كنيم .مسئول ثبت نام در نقش كنترل كننده و تعرفه ثبت نام در نقش كنترل شونده قراردارد. براي هر اجتماع تعداد را نيز مشخص مي كنيم .براي نمونه يك كنترل كننده ممكن است چند تعرفه ثبت نام را كنترل نمايد. در اجتماع ،جهت آن نيز مهم است .براي مثال طرف كنترل كننده به طرف تعرفه ثبت نام. دانشگاه آزاد اسالمي واحد شبستر از مدل ارتباطي كالسها انواع : association : is a kind of نوعي است از. مث ً ال انسان نوعي حيوان است. حيوان انسان : is a part of قسمتي است از. ال موتور قسمتي از اتومبيل است .اتومبيل مث ً : dependency وابستگي. وجود كالسي وابسته به كالس ديگر است. موتور دانشگاه آزاد اسالمي واحد شبستر  چ ش م پايان جلسه هفتم ...خسته نباشيد دانشگاه آزاد اسالمي واحد شبستر ه ا را ب ا ي د ش س ت ... دياگرامها دياگرامهاي محاوره اي (: )Interaction Diagram اين دياگرام نشان مي دهد كه هر objectكدام مقدار را فراخواني تا يك use caseبه تحقق بپيوندد .اين دياگرامها شاخص دنباله اي از پيامها يا ( deploymentيا )messageمي باشند. اين دياگرامها بر دو نوعند: دياگرامهاي همكاري(Collaboration ) Diagram دياگرامهاي توالي ()Sequence Diagram دانشگاه آزاد اسالمي واحد شبستر دياگرام توالي ‏Gام دياگر اين دياگرام دنباله اي از فراخوانيهايي است كه از طريق آنهاuse ، caseبه تحقق مي پيوندد. دياگرام توالي نمونه (حالت كلي) پروند ه دانشگاه آزاد اسالمي واحد شبستر مركcز كنترل خواندن داده فرم بازيگ رابط ر تقاضاي نمMايش داده خMواندن داده كنترل داده ارسال داده جزئيات دياگرام توالي ‏Gام دياگر شكل بيانگر اينست كه : دياگرام مربوط به نمايش جزئيات يك پرونده است .همانطور كه مشاهده كرديد ،كاربر در مقابل كامپيوتر قرارمي گيرد .فرم رابط كه كالسي از نوع Boundary classاست ،براي وي نمايش داده مي شود .كاربر تقاضاي نمايش داده را بصورت انتخاب يك گزينه از فرم به كالس فرم ارسال مي كند. در دنياي واقعي عمل كنترل عمليات يا انجام آنها برعهده كاركنان است ولي در دنياي كامپيوتري اين نقشها برعهده «كالسهاي كنترلي» است .لذا درخواست خواندن داده به مركزكنترل داده مي شود .و مركز كنترل درخواست را براي پرونده موردنظر ارسال مي كند. دانشگاه آزاد اسالمي واحد شبستر دياگرام توالي ‏Gام دياگر sequence diagram معموالًدوبار كشيده مي شود .يك بار بصورت فارسي و مفهومي و بار دوم با اسم واقعي توابع فراخواني شده. براي ديدن مثال ديگري از sequence diagramمي توانيد به ص 457شكل 4-4كتاب مهندسي نرم افزار تاليف دكتر سعيد پارسا مراجعه نماييد. actor در سيستم كامپيوتري معموالً در خارج سيستم قراردارد .مث ً ال مسئول ثبت نام كه در خارج سيستم كامپيوتري است ،به عنوان actorدرنظرگرفته مي شود .درحاليكه در سيستم جاري اين فرد در داخل سيستم بود و actorمحسوب نمي شد. دانشگاه آزاد اسالمي واحد شبستر دياگرام توالي ‏Gام دياگر براي مثال فراخواني توابع در ص 458شكل 4-5بدين صورت است : • () . showمنو • انتخاب گزينه ايجاد سفارشM • () . showفرم • • دانشگاه آزاد اسالمي واحد شبستر درج جزئيات سفارش () . saveفرم • () . saveمدير • () . createسفارشM • () . setinfo سفارش • () . saveقلم ....تا كنون .1تعيين چارت سازماني و چارت عملياتي .2تعيين هدف ،شرح مسئله .3تعيين نيازهاي عملياتي و كيفي براي هر واحد عملياتي .4تعيين Business Actorها؛ كساني كه قراراست در خارج سيستم از آن استفاده كنند. هر زيرسيستم يا واحد عملياتي بعنوان يك براي واحد عملياتي ديگر درنظر گرفته مي شود. Business use case .5ها مشخص مي گردد. براي هر Business use caseيك سناريو در داخل يك فايل wordنوشته مي شود. دانشگاه آزاد اسالمي واحد شبستر ‏actor ....تا كنون ‏use case .6هاي متعلق به يك واحد عملياتي همگي در زير packageمربوط به آن واحد عملياتي قرارمي گيرند. .7در Logical Viewتحت Business Object Model ، Business Unitها مشخص مي شوند. .8داخل هر business unitمدل ارتباطي اشياء كشيده مي شود. .6حال مرحله شناخت اوليه ( )Inceptionتمام ميشود و مرحله ( Elaborationتشريح) با آناليز شناخت آغاز مي گردد .با توجه به اينكه با شناخت سيستم جاري(موجود) مي توان به عقب برگشت و نيازهاي كيفي عملياتي را تكميل نمود. دانشگاه آزاد اسالمي واحد شبستر و ....تا كنون .9اكنون مطالب گردآوري شده موردتحليل قرارمي گيرد تا بتوان براساس تحليل خود براي سيستم آتي موردهاي استفاده را مشخص نموده و براي هر مورداستفاده براساس دياگرام توالي عمليات را مشخص كرد. تحت Analysis Modelو use case realization Packageبايد تعيين شود كه هر use caseسيستم كدام use caseاز سيستم موجود را به كامپيوتري، نزديك مي كند يا محقق مي نمايد يا واقعيت realizeمي كند. دانشگاه آزاد اسالمي واحد شبستر  ا گ ر ت ن ه ا ت ر ي ن ت ن ه ا ش و م، با ز ه م خ د ا ه ست پايان جلسه هشتم ...خسته نباشيد دانشگاه آزاد اسالمي واحد شبستر ... سيستم آتي در سيستم كامپيوتري (آتي) معموالً تعداد use caseها بيشتر مي شود. در اينصورت است كه بررسي مي كنيم چه use caseهايي از سيستم جديد موجب به تحقق پيوستن use caseهاي سيستم موجود مي ‏شوند. براي مشاهده مثالي درباره ،realizeمي توانيد در دايركتوري زير جستجو نمائيد: \Cd3\completed\parsa \umldocs ‏t \tutorial ‏module 6a\completed Cd3سMMومMين cdاراMئMه شMMده MتMMوسMط دMكMتر پMMارMسا ‏Mت در كMالسمMهندسMينMMرم اMفزار اMس . دانشگاه آزاد اسالمي واحد شبستر سيستم آتي عمل realizeدر قسمت analysis modelانجام مي شود. ‏use case هايي كه با خط پر نشان داده مي شوندuse case ، هايي هستند كه realizeمي شوند ( use caseهاي سيستم آتي) . ‏Use caseهاي realizeشونده با خط چين نمايش داده مي شوندuse case( .هاي سيستم موجود). انجام عمليات مربوطه در Rational Rose مدل ارتباطي در ‌Logical viewكشيده مي شود ،سپس از Browserدر داخل packageاِ use case modelانداخته مي شود (. )Drag & Drop دانشگاه آزاد اسالمي واحد شبستر  ل طف خ د ا ب ي ش ت ر ا ز ج رم پايان جلسه نهم ...خسته نباشيد دانشگاه آزاد اسالمي واحد شبستر م ا س ت.... عمليات مربوط به انجام كار هرگاه objectاي متدي از خودش را فراخواني كند ،آنگاه از در دياگرام توالي استفاده مي كنيم. الزم و ضروري نيست كه براي هر Tableيك كالس اضافه شود. سلسله مراتب انجام عمليات مربوط به پروژه : ( Business object model.1مMدلسMMيستم كMارMيدر حMاMMلتجMارMي). .2تهيه Documentاي بنام vision براساس نيازهاي سيستم جاري. در داخل : vision دانشگاه آزاد اسالمي واحد شبستر عمليات مربوط به انجام كار . 2-1مستند نيازها ،نياز . 2-2قابليت سيستم جديد ،يعني قابليتهاي سيستم را بيان مي كند(پاسخ نياز). . 2-3بعد از Business model، ( requirement analysisليست نيازها). .3بعد از ايجاد مستندات use caseهاي سيستم آتي را مشخص مي كنيم. Use case هايسMMيستم آMتMي ً كMامMالبMMا ‏use caseهايسMMيستم جMارMي(مMوجود) ‏Mت ‏MتMس . مMتفاو ا به اين ترتيب use case viewتمام مي شود. دانشگاه آزاد اسالمي واحد شبستر عمليات مربوط به انجام كار سيستمي را كه در حال حاضر موجود بوده و استفاده مي شود را در داخل Business use caseو سيستم جديدي را كه قرار است طراحي شود در داخل use caseمورد بررسي قرار مي دهيم. پس اولين كار Business modelingاست .بر اين اساس ‏featureها را تعيين مي كنيم(تعيين نيازها با .)vision مث ً ال درمورد ثبت نام ،نياز ثبت نام اينست كه ازطريق وب انجام شود .و اين يك قابليت براي سيستم مي باشد. هدف use case viewاينست كه مشخص كند ما چه عملياتي از سيستم جديد مي خواهيم. دانشگاه آزاد اسالمي واحد شبستر جديد مستندات چشم انداز هنگام ورود به فاز طراحي ،قسمت use case realization انجام مي شود. مستندات چشم انداز يا : vision كليه نيازها و پاسخ به نيازها يعني قابليتهاي سيستم مكانيزه در مستندات چشم انداز سيستم گنجانده مي شوند. در چشم انداز شرح مسئله يا problem statement گنجانده مي شود .منظور از Business opportunityامكانات جديد كاري است كه سيستم كامپيوتري براي مشتري ايجادخواهدكرد. دانشگاه آزاد اسالمي واحد شبستر مستندات چشم انداز براي مثال فروش دو برابر خواهدشد ،يا اينكه فروش را مي توانيم با وجود سيستم كامپيوتري در سراسر كشور امكان پذير كنيم. در اين مستند؛ كاربرها در قالب stakeholderو user ها مشخص مي شوند. ‏MيMسMتكMه بMMراMيسMMازMمان : StakeholderفMMرد ا مMوردMنMظر كMارMمMيكMند. ‏MيMسMتكMه از سMMيستم : UserفMMرد ا اMسMتفادMه MخMواMهدكرد. در قسمت product viewچشم اندازي از ديد نرم افزاري مهيا مي شود. دانشگاه آزاد اسالمي واحد شبستر كMامMپيوتري مستندات چشم انداز در چشم انداز تعيين مي كنيم سيستم آتي چه امكاناتي براي سيستم جاري خواهد داشت. در اينجا Whatمطرح است نه .How در چشم انداز مشخص مي شود كه سيستم چه كاري بايد انجام دهد؛ چگونگي در قسمت طراحي مطرح است. چشم انداز شامل summery of capabilityو تعيين هزينه ها ست .براي هر يك از قابليتها بطور مجزا هزينه ها مشخص مي شود. قابليتها پاسخي به نيازها هستند .نيازها بعد از قابليتها مشخص مي شوند( .شايد بهتر بود قبل از آن باشد). دانشگاه آزاد اسالمي واحد شبستر مستندات چشم انداز در اين قسمت ارجاعي به راهنماي userو راهنماي نصب كه در انتهاي پروژه به كاربر تحويل مي شود ،ارائه مي گردد. پس نتيجه مي شود مي توان مستندات visionرا با در دست داشتن نيازها تكميل نمود. بعد از تعيين نيازها و قابليتها use case view ،با ايجاد use case modelكامل مي شود. مي توان گفت use case modelورودي مرحله تحليل و طراحي است. بر مبناي use case modelكار تحليل و طراحي آغاز مي شود. دانشگاه آزاد اسالمي واحد شبستر تحليل و طراحي use case model نشان مي دهد كه سيستم آتي چه functionها يا عملياتي بايد انجام دهد. حال use caseهاي آتي در مرحله designبايد realizeشوند. ممكن است يك use caseدر مرحله آناليز مث ً ال با سه يا چهار use caseجايگزين شود. بعد از كشيدن use case viewوارد logical view شده و مستندات را در اين قسمت وارد مي كنيم. در مرحله طراحي بايد مشخص شود كه چه use caseهايي مي بايست مورد پياده سازي قرارگيرند .براي اين منظور بايد.... دانشگاه آزاد اسالمي واحد شبستر تحليل و طراحي ... بايد با استفاده از Sequence Diagramو مدل ارتباطي كالسها مشخص شود كه هر use caseچگونه پياده سازي خواهدشد. البته پيش رفتن با اين روند ،كار را بسيار طوالني خواهدكرد. شايد عمل منطقي تر اين باشد كه كه ابتدا مشخص شود كه چه قابليتهايي بايد وجود داشته باشد .اين قابليتها نهايتاً در قالب use case modelمشخص شده و سپس به چگونگي اين كار پرداخت. چگونگي در قالب تحليل و طراحي سيستم تعيين مي گردد. traceability يا قابليت رديابي خطا را نيز بايد درنظر داشت( .اگر نيازي مطرح شده ،اكنون به چه كدام مرحله رسيده است). دانشگاه آزاد اسالمي واحد شبستر  ا ل هي تو آ ن ي ، ت و ا ن ي ، ج ه ا ن ي ، به پايان جلسه دهم ...خسته نباشيد دانشگاه آزاد اسالمي واحد شبستر ف ا ن ي ،كش ا ني. نتيجه مستندات چشم انداز .1 ‏Business Modeling .2تعيين ليست نيازمنديها بر اساس سيستم جاري ‏Use case .3هايآMتMي .4 كامل شدن نيازمنديها بر مبناي اين دو كاتالوگ .5 ( use case viewچه استفاده هايي از سيستم كامپيوتري مي شود) دانشگاه آزاد اسالمي واحد شبستر معماري ‏package ها (subsystemها) بMMه طMريMقيبMMه هMم مMتصلند. : pipeline اين نوع معماري ،امكاني ايجاد كرده است كه يك قسمت به جاي اينكه ورودي را از keyboardبگيرد ،از خروجي قسمت ديگر مي گيرد. 3 اليه :اين معماري از سه اليه user interface، application و بانك اطالعاتي تشكيل مي شود. هراليه مستقل از اليه بااليي ساخته مي شود. در اينجا patternها مطرح مي شوند. مث ً ال الگوي . observer دانشگاه آزاد اسالمي واحد شبستر معماري مثال براي : observer pattern بطور نمونه اگر مدير مي خواهد اطالعاتي را كه مشاهده مي كند در قالب چارت باشد ،پس بايد اليه interfaceجدا از اليه زيرين باشد، تا اين كار به آساني صورت گرفته و بتوان اطالعات آماري را سريع و آسان به چارت تبديل نمود. تهيه اطالعات مربوط به اليه applicationاست. Applicationاين اطالعات را بايد از بانكهاي اطالعاتي مختلف بدست آورد. مزيت :هر زمان كه بخواهيم ،مي توانيم بدون تغيير برنامه ،تنها در اليه مربوطه تغييرات را اعمال نماييم. دانشگاه آزاد اسالمي واحد شبستر مدل ارتباطي كالسها مدل ارتباطي كالسها را قب ً ال در قالب مدل ارتباطي اشياء كاري مشاهده نموديد. در اينجا درصدد پاسخ به سؤاالت زير برخواهيم آمد: مدل ارتباطي كالسها چيست؟ چرا مدل ارتباطي كالسها مطرح است؟ چگونه مدل ارتباطي كالسها را ايجاد مي كنند؟ مدل ارتباطي كالسها ساختار برنامه شيءگرا را مشخص مي كند .نشان مي دهد كه به جاي افراد چه كساني يا چه كالسهايي در سيستم وجود دارند. دانشگاه آزاد اسالمي واحد شبستر مدل ارتباطي كالسها براي كالسها نيز درست مثل هر پست سازماني شرح وظايف تعيين مي شود. شرح وظايف را در قالب متدهاي كالس پياده سازي مي كنند. كالسي كه بدون پياده سازي بوده و تنها متدهاي آن تعيين شده باشد ،بنام Abstract classمعرفي مي شود. در دنياي واقعي چارت سازماني و در دنياي شيءگرا مدل ارتباطي كالسها مطرح است. كالسها چگونه مشخص مي شوند؟ use case سرويسي است كه قراراست به كاربر ارائه شود .اين سرويس الزمه اش تعدادي كالس است. دانشگاه آزاد اسالمي واحد شبستر مدل ارتباطي كالسها در صورت نياز Business workerها تبديل به كالسهاي كنترلي مي شوند Business entity ها تبديل به Entity classمي شوند. بطوركلي منظور اينست كه از شرح سناريو اسامي را استخراج مي كنيم. معمو ًال اسامي درواقع همان اسامي كالسها مي شوند .درواقع اين كالسها هستند كه باهم همكاري مي كنند تا use case چه جاري و چه آتي وظيفه اش را انجام دهد. در ص 431در بخش دوم كتاب مهندسي نرم افزار ،شرح سناريو براي صندوق فروشگاه مشخص شده است و كالسها از داخل شرح استخراج شده اند. دانشگاه آزاد اسالمي واحد شبستر سناريو كالسها براي نمونه در شرح سناريو ،كلمه كاال استفاده شده است .پس كاال بعنوان يك كالس در نظر گرفته شده است .كالسها در Logical viewمشخص مي شوند. پس از تعيين كالسها ،مي بايست براي هر كالس مسئوليتها را نيز تعيين كرد و مشخص نمود كه آن كالس با چه كالسهاي ديگري همكاري مي كند تا مسئوليتهاي خود را به انجام رساند. در دنياي واقعي نيز وقتي قراراست سرويسي ارائه شود، افراد مشخص مي شوند و اين افراد بايد با يكديگر همكاري كنند تا سرويس موردنظر ارائه گردد. هر فردي شرح وظايفي دارد و دررابطه با كالسها اين وظايف تبديل به متدهاي كالس مي شوند. دانشگاه آزاد اسالمي واحد شبستر كالسها براي نمونه فرمهايي با عنوان CRC (Class Responsibility ) Collaborationآماده مي شود و بصورت زير مسئوليتهاي classو همكارهاي وي مشخص مي شوند. عضو كتابخانه مسئوليتها همكارها نسخه ها در امانت عضو نگهداري اطالعات دريافت تقاضاي برگشت يا امانت نسخه ها )CRC Card (1 دانشگاه آزاد اسالمي واحد شبستر نسخه كتاب كالسها مسئوليتها همكارها كتاب نگهداري اطالعات يك آگاهي از وجود نسخه قابل امانت عضو )CRC Card (2 نسخه مسئوليتها همكارها نسخه از كتاب نگهداري اMطالعات يك اطالع امانت يا برگشت نسخه به كتاب )CRC Card (3 دانشگاه آزاد اسالمي واحد شبستر كتاب  . . . . . . . . . . . . ه . ا . . س س ت ك . و . . . ت . . س . . ر . ش . ا . . ر . ا . . ز ن ا گ ف پايان جلسه يازدهم ...خسته نباشيد دانشگاه آزاد اسالمي واحد شبستر ته كالسها منظور از بدست آوردن مدل ارتباطي كالسها ،اينست كه سيستم را سازماندهي كنيم .به عبارتي چه كساني چه وظايفي دارند و چه ارتباطي باهم دارند. حتماً براي هر كالس بايد وظايف كالس مشخص شوند. كالسها در حالت كلي به سه دسته كالسهاي : كنترلي ‏Entity  سرحدي ()Boundary تقسيم مي شوند Stereotype( .كالس ) دانشگاه آزاد اسالمي واحد شبستر كالسها اگر نياز باشد به ازاء هر use caseيك packageتعيين مي شود و به ازاء آن packageكالسها مشخص مي شوند. اين كالسها هستند كه با كمك همديگر use caseرا به واقعيت مي رسانند. براي اضافه كردن پارامترهاي ورودي و خروجي به متد كالس، بايد روي Operation Tabكليك شود .سپس روي متد كليك و مقدار بازگشتي و نوع آن را تعيين كرد .بعد روي Detailكليك كرده و مقدار ورودي را مشخص نمود .آنگاه Double clickنموده و نوع آن را انتخاب كرد. دانشگاه آزاد اسالمي واحد شبستر كالسها مدل ارتباطي كالسها را عالوه بر كارتهاي CRCمي توان مستقيماً از Sequence Diagramاستخراج كرد .اگر در داخل كارتهاي CRC كالس Aهمكاري بنام كالس Bدارد ،در مدل ارتباطي كالسها تحت ، Logical Viewمي بايست يك خط ارتباط دهنده بين كالس Aو كالس Bترسيم شود .به همين ترتيب از روي Sequence ،Diagramاگر يك Objectاز داخل كالس Aمتدي از يك Objectاز نوع كالس Bرا فراخواني كند ،بين اين دو كالس يك خط واصل ارتباطي ترسيم مي شود. ‏براي هر use caseبراساس Sequence Diagramمي توان مدل ارتباطي كالسها را ايجادكرد. دانشگاه آزاد اسالمي واحد شبستر براي نمونه به دياگرام توالي : كالسها ص 384كتاب نمائيد. توجه در اين دياگرام توالي براي مثال كالس TorderFormدر ارتباط با كالس Tcostumerقراردارد .تابع Findاز كالس Tcostumer ازطريق متد )(showاز كالس TorderForm فراخواني مي شود .بدين ترتيب مشاهده مي كنيد كه دو دو كالس در يك ارتباط قراردارند .ارتباط بين كالس Findاست. همانطور كه مي دانيد ،ارتباط بين دو كالس را Associationيا اجتماع كالسها نيز مي نامند. دانشگاه آزاد اسالمي واحد شبستر كالسها The Orderform: TorderForm : با توجه به دياگرام توالي The Costumer: Tcostumer Find (integer) Show customer دانشگاه آزاد اسالمي واحد شبستر كالسها مدل ارتباطي بين كالسهاي حاصل از Sequence Diagramفوق به صورت زير است : )(Find ‏TorderForm ‏TCostumer مي خواهيم ازطريق كالس ،TorderFormمتد Findاز كالس TCostumerرا فراخواني كنيم .كالس TorderFormداراي Attributeهاي زير است: ‏No ; Data ; Supplier ; Total دانشگاه آزاد اسالمي واحد شبستر كالسها براي اينكه بتوانيم متد )(Findرا فراخواني كنيم ،نياز به يك objectاز نوع TCostumerداريم .لذا درهنگام توليد كد ،رشنال رز بطور اتوماتيك فيلد زير را به Attributeهاي كالس TorderFormاضافه مي كند. ‏ Dim theCostumer As TCustomer بدين ترتيب هنگامي كه مي خواهيم داخل متد از كالس TorderFormمتد )(Findرا فراخواني كنيم ،دستورزير را مي نويسيم: ) theCostumer.Find(Cno دانشگاه آزاد اسالمي واحد شبستر )(Show كالسها ٭ بطور خالصه :اگر داشته باشيم كالس Aدر ارتباط با Bاست و فيلدهاي AبهM ترتيب A1,A2,A3,theBباشند ،در هنگام توليد كد ،مولد كد فيلد theB از جنس Bرا به فيلدهاي كالس A Mاضافه مي كند .به اين ترتيب فيلد theBي ‏Dim theB As B كالس Aبه اين صورت خواهدشد: ‏B ‏A در شكل فوق ارتباط بين دو كالس Mيك به يك است. در هر اجتماع هر كالس Mداراي يك نقش مي تواند باشد .براي رل Aبايد مشخص شود. يا براي كالسهاي قبلي : : TCostumerيMMابMنده Mي جMزئMيات ‏TorderForm دانشگاه آزاد اسالمي واحد شبستر :نMMمايMشدMهنده Mي جزئMيات مثال كالسها ٭ مي توان پس از كليك برروي خط واصل بين دو كالس Multiplicityيا درجه ارتباط را براي هر كالس مشخص كرد .براي نمونه : ‏B 1 1..n ‏A در شكل فوق يك شيء از جنس Aدرارتباط با چند ( )nشيء از جنس B است. بدين ترتيب هنگام توليد كد مشاهده مي شود كه در داخل كالس Aفيلد زير اضافه شده است : ‏ theB Array[1..n] of B اگر رابطه چند به چند باشد ]n..1[ ،تبديل به [ ]m..nخواهدشد. دانشگاه آزاد اسالمي واحد شبستر كالسها ٭ همانطور كه قب ً ال نيز اشاره شد ،اجتماع بين دو كالس مي تواند از نوع is apart ofيا is a kind ofباشد كه آنها را مجتمع مي نامند. ٭ براي مثال : بدنه ماشين شاسي موتور رابطه ي فوق تجمع و ماشين مجتمع است. دياگرام همكاري يا ‏collaboration diagram زماني مطرح مي شود كه همكاري بين كالسها مدنظر است. دانشگاه آزاد اسالمي واحد شبستر  آ دام گ د ر ، آد قا ال ر ٭ ي ا خج ي پ ي س د ن آ پايان جلسه دوازدهم ...خسته نباشيد دانشگاه آزاد اسالمي واحد شبستر غ ي ز دا بير د ا د ق االر روابط بين كالسها ٭ اصو ًال دو نوع رابطه تجمع وجود دارد .يكي رابطه ظرف و مظروف و دومي رابطه . Part Assembly ٭كً ال رابطه تجمع را «رابطه كل به جزء» يا All Partsمي نامند. براي نمونه به مثالهاي زير توجه كنيد. دست يا انگش ت بدنه ماشي ن توپر شاسي موتور ٭ در رابطه part assemblyشيء كل حتماً از شيء جزء تشكيل مي گردد . دانشگاه آزاد اسالمي واحد شبستر روابط بين كالسها ٭ در «ظرف و مظروف» الزم نيست حتماً شيء جزء تشكيل دهنده شيء كل باشد .مانند: صندوق پست توخالي نامه ٭ بدون نامه هم صندوق پست به تنهايي وجود خواهد داشت. ٭ حال اگر مثلث را يك مثلث ‏Graphical Object 1 1.. ‏Supper درنظر بگيريم ،آن يك ‏n كه نقطه Classخواهدبود ( Pointنقطه)آن را Extendمي كند. دانشگاه آزاد اسالمي واحد شبستر روابط بين كالسها ٭ نوع ديگري از روابط ،روابط ( is a kind ofرابطه انسان نوعي حيوان است) و ( is a part ofكارنامه قسمتي از پرونده دانشجو است) مي باشند كه قب ً ال توضيح داده شد. ٭ پس از اينكه مدل ارتباطي كالسها را مشخص كرديم ،آنگاه مي بايست براي اينكه مدل ارتباطي كالسها گوياتر شود ،مشتركات بين كالسها يا جنس كالسها را در قالب Supper Classمشخص مي كنيم. توجه كنيد كه كالس مافوق بايد بيانگر جنس يا ذات زيركالسها باشد و هر مشتركاتي را نمي توان به عنوان Supper classدرنظرگرفت. ارMتMباط بMMيندو كMالس Association = ي Link = ارMتMباط بMMيندو ش MMء دانشگاه آزاد اسالمي واحد شبستر Data Model ٭ مدل بانك اطالعاتي را مي توان از Entity Classها استخراج نمود. ‏Entity classها كالسهايي بودند كه داده هاي (ويژگيهاي) آنها بايد در داخل يك فايل ذخيره شود .مدل بانك اطالعاتي مي تواند Relationalيا Object Orientedيا هر مدلي باشد .و ارتباطي به روش تجزي و تحليل ندارد. ٭ يك Entityيا موجوديت به آن چيزي اتالق مي شود كه داده اي را در خود نگهداري مي كند .به عبارت ديگر يك entity بيانگر ساختار يك Tableاست .كه بايد: داراي هويت يگانه باشد. تعدادي صفت يا ويژگي داشته باشد. صفتها و ويژگيها در قالب فيلدهاي Table مشخص مي شوند. دانشگاه آزاد اسالمي واحد شبستر Data Model ٭ اصوالً براي يك Tableكليد دسترسي يا Primary Keyاست كه Uniqueمي باشد و يا Secondary Keyاست كه Unique نيست .يا ممكن است كليد Foreign Key ،باشد كه كليد اصلي براي يك Tableديگر است و در اين Tableبه آن ارجاع مي شود. ٭ براي مثال؛ در جدول اطالعات دانشجو نام دانشجو كليد ثانويه است. شماره دانشجويي كليد اصلي است و كد دانشكده كليد خارجي است. از طريق كليد خارجي ارتباط بين موجوديتها برقرارمي گردد. دانشگاه آزاد اسالمي واحد شبستر Data Model ٭ بطور خالصه هر مديريت داراي مشخصات زير است: (دانشجو يك مديريت است) تعدادي صفت يا ويژگي دارد. يك هويت يگانه مي باشد. داراي تكرار است و يكي نمي باشد. مث ً ال صفات دانشجو عبارتست از :شماره دانشجويي ،نام ،نام خانوادگي ،كد دانشكده و آدرس است. دانشجو داراي تكرار است. كد دانشجويي باعث مي شود هويت يگانه داشته Mباشد. دانشگاه آزاد اسالمي واحد شبستر رابطه بين موجوديتها حال بايد بررسي كنيم كه رابطه بين موجوديتها را چگونه بدست مي آورند؟ سفارش هر سفارش بايد داراي يك يا چند صورتحساب باشد صورتحساب هر سفارش بايد داراي يك صورتحساب باشد. هر صورتحساب بايد براي يك سفارش باشد. در پياده سازي همانطور كه اشاره شد ،از كليد خارجي استفاده مي شود .براي اين منظور، كدسفارش در داخل صورتحساب به عنوان يك فيلد بايد درج شود تا مشخص شود هر صورتحساب براي كدام سفارش است. دانشگاه آزاد اسالمي واحد شبستر رابطه بين موجوديتها هر برگ سفارش ممكن است داراي صفر يا بيشتر صورتحساب باشد. سفارش صورتحساب صفات برگ سفارش سفارش :كد سفارش+كد سفارش دهنده+نام سفارش دهنده+تلفن+تاريخ{+صورتحساب :كد صورتحساب + تاريخ +كد مأمورخريد+نام مأمورخريد+كد سفارش واحد دهنده+نام سفارش دهنده{+كد كاال+نام كاال+ شمارش+قيمت كل+توضيحات}+مبلغ كل صورتحساب} قسمتهاي تكراري دانشگاه آزاد اسالمي واحد شبستر Data Model برگ صورتحساب :كد صورتحساب :تاريخ :كد سفارش :كد مأمور خريد :نام مأمور خريد :نام سفارش دهنده كد كاال نام كاال واحدشما رش تعداد قيمت واحد : .................مبلغ كل صورتحساب دانشگاه آزاد اسالمي واحد شبستر قيمت كل توضيحا ت Data Model ٭ رابطه يك به چند از طريق كليد خارجي كدسفارش ايجاد مي گردد. ٭ كد صورتحساب براي برگ صورتحساب ،كليد اصلي ( )primaryاست اما در برگ سفارش يك كليد خارجي براي مراجعه به صورتحساب است. هر صورتحساب بايد براي يك يا چند برگ سفارش باشد.... سفارش صورتحساب دانشگاه آزاد اسالمي واحد شبستر سفارش صورتحساب صورتحسابي است كه داراي برگ سفارش نيست... Data Model ٭ رابطه يك به چند بين سفارش و صورتحساب را ازطريق درج كد سفارش در فايل صورتحساب امكان پذير نموديم. ٭ اما رابطه يك به چند صورتحساب و سفارش چگونه پياده سازي خواهدشد؟! ٭ نمي توان مثل حالت قبل عمل نمود .يعني در داخل هر سفارش ،كد صورتحساب را قراردهيم .البته در اين صورت مشخص مي شود كه هر سفارش متعلق به كدام صورتحساب است .يعني مشخص رابطه يك به چند بين صورتحساب و سفارش سفارش چند مي شود .اما مشكل اينجاست كه هر از يك صورتحساب دارد .براي رفع مشكل موجوديت جديد استفاده مي كنيم. دانشگاه آزاد اسالمي واحد شبستر Data Model ٭ موجوديت مشترك در اينجا موجوديت خريد خواهدبود. ٭ كليد اصلي خريد :كدسفارش +كد صورتحساب سفارش خريد صورتحساب دانشگاه آزاد اسالمي واحد شبستر Data Model ٭ به اين ترتيب اگر بخواهيم كليه صورتحسابهاي مربوط به سفارش با كد 25 را بدست آوريم ،به صورت زير عمل مي كنيم : خMريد  Select * from كMد =Where 46 خMريد Select * From كMد سMMفارMش=25 كد سفار ش كد صورتحس اب كد سفار ش كد صورتحس اب 25 46 25 46 34 46 25 17 80 46 25 18 دانشگاه آزاد اسالمي واحد شبستر ‏Where صMMورMتMحساب Data Model ٭ بطوركلي چنانچه موجوديت Aبا موجوديت Bدرارتباط قرارداشته باشد، ارتباط مي تواند چند به چند ،يك به يك ،يك به چند يا چند به يك باشد. ‏x ‏A ‏B هر Aممكن است xاِ صفر يا چند B باشد. ‏y هر Bبايد yاٍ يك Aباشد. ٭ در حالت كلي رابطه چند به چند بين دو موجوديت Aو Bبصورت زير تبديل مي شود. ‏AB 1 1 1 ‏A 0 ‏B دانشگاه آزاد اسالمي واحد شبستر كردن ‏Gدن نرماليزه كر ٭ بنابراين رابطه چند به چند تبديل به دو رابطه يك به چند مي شود. ٭ چنانچه كليداصلي A، a1و كليداصلي B، b1باشد ،آنگاه كليداصلي ABيك كليد تركيبي يا Composite keyاست كه از تركيب a1 + b1ايجادمي شود. اين صورتحسابها همگي بصورت برگه هاي مجزا در پرونده اي بنام صورتحساب نگهداري مي شوند .اگر بخواهيم پرونده صورتحساب را به همان شكلي كه در واقعيت افزونگي وجود دارد ،در داخل كامپيوتر ذخيره كنيم، بسياري در داده هاي ذخيره شده وجود خواهدداشت. دانشگاه آزاد اسالمي واحد شبستر رابطه بين موجوديتها همانطو كه مشاهده نموديد ،فيلدهاي صورتحساب عبارتند از: صورتحساب :كد صورتحساب +تاريخ +كد مأمورخريد +نام مأمورخريد +كد سفارش دهنده +نام سفارش دهنده{+كد كاال+نام كاال +واحد شمارش +قيمت كل +توضيحات} +مبلغ كل صورتحساب مي بايست فيلدهاي فوق ،فيلدهاي يك ركورد از فايل صورتحساب باشند .بواسطه اينكه تعداد اقالم كاال در صورتحسابهاي مختلف متفاوت است ،طول اين ركوردها متغيير مي باشد. به عبارت ديگر ممكن است در يك ركورد از صورتحساب50 ،قلم كاال و در ركورد ديگر 1قلم كاال وجود داشته باشد. نرماليزه كردن مطرح ميشود. دانشگاه آزاد اسالمي واحد شبستر رابطه بين موجوديتها مرحله 1نرماليزه كردن : كليد اصلي براي موجوديت اگر وجود ندارد ،ايجادمي شود. بخش تكراري مشخص شود.در اينجا بخش تكراري قلم صورتحساب(قلم كاال) است. براي بخش تكراري كليد اصلي مشخص شود .در اينجا كد كاال است. بخش تكراري از بخش غيرتكراري خذف شود و به عنوان يك موجوديت جديد مشخص گردد .در اينجا قلم صورتحساب (قلم كاال) از موجوديت صورتحساب حذف شده و موجوديت جديد بنام قلم كاال ايجاد مي شود. كليد بخش جداشونده(بخش تكراري) كليدي تركيبي است .تركيب كليدبخش غيرتكراري +كليد بخش تكراري. دانشگاه آزاد اسالمي واحد شبستر رابطه بين موجوديتها مرحله 2نرماليزه كردن : كليه فيلدهايي كه وابسته به يك بخش از كليد تركيبي هستند ،حذف مي شوند. براي مثال نام كاال در قلم صورتحساب فقط وابسته Mبه كد كاالست اما تعداد هم وابسته Mبه صورتحساب است هم وابسته Mبه كاال. كاال = كدكاال +نام كاال +واحد +موجودي اول هر ماه صورتحساب داراي كاال هر قلم صورتحساب بايد براي خريد يك كاال باشد. متعلق به هر كاال ممكن است مورد يك قلم صورتحساب باشد. مورد دانشگاه آزاد اسالمي واحد شبستر قلم براي خريد صورتحساب كاال رابطه بين موجوديتها مرحله 3نرماليزه كردن : كليه فيلدهايي كه ازطريق فيلدهاي ديگر قابل دسترسي يا محاسبه هستند ،حذف مي گردند .به اين ترتيب جمع كل از صورتحساب حذف مي گردد .قيمت كل از قلم صورتحساب حذف مي شود .نام مأمور خريد كه از طريق كد مأمور خريد قابل دسترسي است ،حذف مي گردد. صورتحساب كاال داراي مأمور خريد كارمند دانشگاه آزاد اسالمي واحد شبستر  و ق ت ي ت و س ك و ت ك ن ي، ج ه ا ن به پايان جلسه سيزدهم ...خسته نباشيد دانشگاه آزاد اسالمي واحد شبستر ص د ا د ر خ و ا ه د آ م د... رفتار چيست ؟ مدلسازي رفتاري چگونه مي توان رفتار را در زبانهاي برنامه سازي پياده سازي نمود؟ رفتار شبكه اي است از حاالت. رويدادها موجب گذر بين حاالت هستند. رفتار واكنش در مقابل رويداد است. ‏Object ها تبديل به كالس باشعور مي شوند. كالسها عالوه بر methodو صفت ،يكسري eventدارند كه در مقابل آنها واكنش مي دهند. دانشگاه آزاد اسالمي واحد شبستر مدلسازي رفتاري واكنش Objectدر مقابل eventوابسته به كالس نيست. اصوالً شعور ،واكنشي است در مقابل رويداد .يك انسان باشعور درمقابل رويدادها واكنش صحيح را انجام مي دهد .واكنش انسان با فراخواني يك متد صورت مي گيرد. حال سؤال اينجاست كه چگونه در زبانهاي برنامه سازي رفتار را مدل مي كنند. يك Objectاٍ باشعور درمقابل eventها از خود واكنش نشان مي دهد. واكنش Objectبه چه صورت است ؟ دانشگاه آزاد اسالمي واحد شبستر مدلسازي رفتاري اين واكنش در قالب فراخواني يك متد صورت مي گيرد. اصوالً رويدادها به دو دسته تقسيم مي شوند : يك دسته توسط سيستم مشخص مي شوند. دسته ديگر توسط برنامه نويس توليد مي شوند. مثال ( در زبان : )Delphi ‏ClickاMيكMه سMMيستم تMMشخيصمMي ‏event دMهد. مMشخص ) (OnHighPressبMMاMالرMفMتندMماي اMيكMه بMMرنامMه تMMشخيصمMيدMهد. ‏event و بMMايد يMMك ProcedureبMMراMيآMننMMوشMته شMMود. دانشگاه آزاد اسالمي واحد شبستر مدلسازي رفتاري در مثال زير براي يك. را در نظر بگيريدPushButton براي مثال يك هايevent برايCommand1 با نامPushBotton . مشخص شده استObject واكنشMouseMove وClick : واكنش بصورت دو تابع زير مشخص گرديده است  Private sub Command1_MouseMove(Button1) command1.Backcolor = “RED” End Sub  Private Sub Command1_Click() command1.Caption= “CANCEL” VBبانIدر ز End Sub دانشگاه آزاد اسالمي واحد شبستر مدلسازي رفتاري واما در زبان Vbاين امكان وجود دارد كه برنامه نويس خود وابسته به شرايط رويدادي را ايجاد يا در اصطالح « » Raiseنمايد. ‏ Destructor : Terminate ‏ Constructor : Initialize در VBمي توان آرايه را خالي گذاشت و بعد با Redirectionپر كرد. ‏ Private WithEvents Triangle as ‏class1 زبان VBرا درنظر بگيريد كه مي خواهيم كالسي بنام Stackتعريف كنيم. دانشگاه آزاد اسالمي واحد شبستر مدلسازي رفتاري ... به قسمي كه اگر درهنگام Pushكردن مقدار Stackپرشود، رويداد OverFlowاتفاق مي افتد. براي اين منظور ،در داخل كالس Stackيك eventبنام OverFlowتعريف مي كنيم : )( Public event overflow اكنون براي تعريف متغيرها از نوع Stack مي بايست نوشت : ‏ Private withevents S1 As ‏class1 ‏ Private withevents S2 As ‏class2 دانشگاه آزاد اسالمي واحد شبستر مدلسازي رفتاري : حال براي استفاده مي نويسيم  Private Sub Form_Load() S1.Size=10 S2.Size=100 End Sub Public Sub S1_overflow() MsgBox “”س رريز End Sub  Public Sub S2_overflow() MsgBox “”س رريز End Sub دانشگاه آزاد اسالمي واحد شبستر مدلسازي رفتاري در كد فوق چنانچه براي مثال S1.pushرا اجرا كنيم ،و overflow اتفاق بيفتد ،تابع مربوط به overflowاجرامي شود .هنگام اجراي دستورالعمل ، Pushتابع pushبواسطه پربودن Stack، RaiseEventمي نمايد ( RaiseEvent Overflowرا ايجاد مي نمايد) و همين امر موجب مي شود تا تابع S1_overflowفعال شود. در واقع S1_Overflowموجب مي شود كه واكنش شيء S1درمقابل رويداد overflowمشخص گردد و براي S2نيز به همين ترتيب. حال مسئله اينجاست كه چگونه درهنگام مدلسازي بتوانيم اين رويدادها و واكنش درمقابل رويدادها را مشخص كنيم؟ دانشگاه آزاد اسالمي واحد شبستر مدلسازي رفتاري براي اين منظور ،از دياگرامهاي توالي استفاده مي شود. هر رويداد درواقع يك فراخواني است كه به يك objectيا كالس object وارد مي شود و واكنش objectمتدي است كه فراخواني مي گردد. براي مثال : در Sequence Diagramشكل ص 464كتاب ؛ Objاي بنام « بيرون محوطه » از جنس « چشم الكتريكي » نزديك شدن اتومبيل را تشخيص مي دهد. بالفاصله در داخل متد « نزديك شدن » از اين Obj (()نزديك شدن.بيرون محوطه) كه از پورت «چشم الكتريكي» يكسره درحال خواندن مقدار پورت مي باشد، از داخل حلقه خارج مي شود..... دانشگاه آزاد اسالمي واحد شبستر ‏Boundary مدلسازي رفتاري ... و متد (()تشخيص اتومبيل.دروازه ورودي) را فراخواني مي كند. در داخل متد تشخيص اتومبيل بالفاصله متد (()تشخيص كارت.كارتخوان) فراخواني مي شود .اين متد در داخل يك حلقه پورت مربوط به كارتخوان را آنقدر مي خواند تا اينكه عددي كه نشانگر تاييد كارت توسط كارتخوان است، در اين پورت ظاهرشود. حال اين متد به فراخواننده خود يعني «تشخيص اتومبيل» مي كند و بالفاصله متد « باز شدن در» از شيء فراخواني مي گردد. شيء «در» نيز يك boundary objاست. چرا كه در ارتباط با پورت مربوط به «در» قراردارد. دانشگاه آزاد اسالمي واحد شبستر ‏Return « در» مدلسازي رفتاري زيرا كه شيء «در» در ارتباط با پورت مربوط به «در» قرارداردو اين تابع در پورت مربوط به « در» هر عددي را قرارمي دهد كه موجب مي شود دستگاه مربوطه فعال گردد و درب ورودي باز شود. به اين ترتيب كار در قسمت اول خاتمه مي يابد. با دورشدن از دروازه ،تابع دورشدن از دروازه از شيء داخل محوطه موقعيت را تشخيص داده و عمليات مطابق دياگرام فوق ادامه مي يابد. همانطور كه مي دانيد ،واردشدن رويداد به اشياء موجب تغيير حالت آنها مي گردد .در اينجا دو رويداد به « شيء دروازه » وارد مي شوند. دانشگاه آزاد اسالمي واحد شبستر مدلسازي رفتاري رويدادهاي ورودي به « دروازه » : دروازه :دروازه ورودي ‏Iبيل () 2 تIIIشخيصاIتوم . يIIا S1 ‏MyStack : ‏Stack ‏push )([ Stack is full ] S1_Overflow شرط دانشگاه آزاد اسالمي واحد شبستر ‏Iت () 6 حIرك . در مورد شيء « » Stack رويداد push اتفاق مي افتاد. مدلسازي رفتاري در مورد : Stack با اجراي pushچنانچه شرط [ ]Stack is fullبرقرارباشد ،تابع S1_Overflowكه درواقع S1همان MyStackاست ،فعال مي گردد. بنابراين در اينجا : رويداد = push شرط = [ ] Stack is full رخداد = RaiseOverflow واكنش درمقابل رخداد = MyStack.Overflowيا دانشگاه آزاد اسالمي واحد شبستر اجراء ‏S1.Overflow مدلسازي رفتاري حال دوباره مثال قبل را در نظر بگيريد: مدل رفتاري براي كالس دروازه ،با استخراج اين كالس Mاز داخل دياگرام توالي مشخص شده است. دو رويداد ،موجب دو تغيير حالت گرديده است. زنگ خطر *ت در*ج ك*ار ( )ن**ام*عتبر بيكار تشخيص اتومبيل صدور مجوز ف**رمانOn Entry : *ت *نترل:ك*ار ا*ن*تظار ك* ‏Do پ**اس*خ ف**رمانOn Exit : تشخيص حركتب**از*كرد*ندر اتومبيل دانشگاه آزاد اسالمي واحد شبستر بستن در مدلسازي رفتاري شكل صفحه قبل را در نظر بگيريد: رويداد تشخيص اتومبيل موجب شده كه اين كالس از حالت بيكار به حالت « صدور مجوز» واردشود. در اين حالت سه فعاليت مشخص گرديده اند: ( On Entry به مفهوم « با ورود به حالت ») ( Do به مفهوم « در داخل حالت ») ( On Exit به مفهوم « خروج از حالت ») اينها سه لغت كليدي كليدي در رشنال رز باشند و هنگام تعريف Stateمي توان آنها با استفاده از امكانات رشنال رز مشخص نمود. دانشگاه آزاد اسالمي واحد شبستر مي را مدلسازي رفتاري با On Entry؛ فعاليت فرمان كنترل كارت انجام مي شود .اگر به دياگرام « توالي توجه كنيد ،در داخل متد تشخيص اتومبيل بالفاصله متد () تشخيص كارت.كارتخوان » فراخواني مي گردد .اين فراخواني بصورت فرمان كنترل كارت On Entry :مشخص گرديده است. مسلماً دراينجا مي بايست در «انتظار پاسخ» از دستگاه كارتخوان بمانيم .لذا اين انتظار در دو حالت صورت مي گيرد و به صورت انتظار پاسخ Do : درداخل حالت مشخص شده است. اگر به دياگرام توالي بازگرديم ،مشاهده مي كنيم كه با حركت اتومبيل ،پيام بستن در با فرمان «بستن درب.درب» به انجام مي رسد كه اين رويداد حركت (پيام حركت) نيز موجب مي شود كه به حالت جديد «بستن در» واردشويم. دانشگاه آزاد اسالمي واحد شبستر مدلسازي رفتاري اگر توجه كنيد مي بينيد كه :در دياگرام توالي ،فقط حاالت مثبت درنظر گرفته مي شود .در صورتيكه در دياگرام حالت تمام شرايط درنظر گرفته مي شود. براي مثال :در حالت صدور مجوز ورود؛ چنانچه كارت نامعتبر باشد ،زنگ خطر بصدا درآورده مي شود. در اينجا دايره سياه ،نقطه شروع را مشخص مي كند. براي يك كالس ،ممكن است در دياگرامهاي توالي متفاوت، حالت مختلف ايجادشود كه مي بايست همگي آنها نماييد و از نقطه شروع به حالت ابتدايي دياگرام واردشويد. دراينجا به شرط اينكه كارت نامعتبر درج شود، زنگ خطر بصدا درمي آيد. دانشگاه آزاد اسالمي واحد شبستر دياگرامهاي را تركيب هريك در هر مدلسازي رفتاري با توجه به دياگرام ص 466كتاب شكل 14-4مشاهده مي نماييد كه : در ابتداي كار ،كتاب در وضعيت « در قفسه » قراردارد .با رويداد ( borrowتقاضاي امانت) ،نسخه كتاب ( )A copyدر حالت «در امانت» قرارمي گيرد و بالفاصله نسخه تتا از شيء كتاب در خواست مي كند كه اين نسخه را جزو تعداد نسخه هاي درامانت قراردهد. توجه داشته باشيد كه از كتاب مهندسي نرم افزار 5نسخه (كپي) ممكن است در كتابخانه موجود باشد. در اينجا شئ كتاب ،شاخص كتاب مهندسي نرم افزار است و شيء كپي شاخص نسخه هاي كتاب است كه بطور فيزيكي در كتابخانه موجود هستند. دانشگاه آزاد اسالمي واحد شبستر مدلسازي رفتاري اگر به شكل دقت كنيد؛ ‏B ‏Event [Condition] / ‏Activity ‏A بر روي خط واصل ،فعاليتي است كه موجب مي شود نسخه كتاب از حالت « در قفسه » به حالت « در امانت » واردشود. فعاليت؛ book.Borrowاست. معموالً در حالت كلي برروي خطوط ارتباطي در دياگرام حالت event ،و درصورت وجود، activity/و در صورت وجود شرايط؛ [ ]conditionقرارمي گيرد. دانشگاه آزاد اسالمي واحد شبستر مدلسازي رفتاري در دياگرام توالي كه در شكل 1-4از فصل 1كتاب ص 384مشخص شده، فرم سفارش « »orderformبا پيام )(Showبه نمايش درمي آيد (. ))(orderform.show اين رويداد موجب مي شود كه orderformدر حالت دريافت مشخصات مشتري ،يافتن مشخصات در پرونده مشتريان () )CustomerFind(Cnoو سرانجام درج جزئيات كلي سفارش ؛ در پرونده سفارش قرارگيرد. شيء orderپس از اينكه جزئيات كلي سفارش را در پرونده سفارش درج نمود ،تابع )(getArticalرا از orderformفراخواني مي كند. در اينجا نيز سر فلش به سمت كالس TOrderformاست. دانشگاه آزاد اسالمي واحد شبستر مدلسازي رفتاري بدين ترتيب دو رويداد به اين كالس وارد مي شوند. يكي تقاضاي نمايش () )(show ديگري تقاضاي دريافت جزئيات قلم سفارش () )(getArticles getArticles رويداد دومي است كه موجب تغييرحالت اين كالس مي گردد. بنابراين بصورت زير دو رويداد ورودي مشخص مي شوند. ‏Orderform : ‏TOrderform )(Show ‏GetArticle (Article )info دانشگاه آزاد اسالمي واحد شبستر مدلسازي رفتاري دياگرام حالت يا State diagramآن بدينصورت خواهدبود : تاييد سفارش دهنده )( Show ‏getArticl )( e دريافت جزئيات سفارش خاتمه هر متد واردشونده به كالس ،موجب تغيير حالت آن مي گردد. دانشگاه آزاد اسالمي واحد شبستر شروع Component View در Component viewقطعات برنامه مشخص مي شوند. بدين ترتيب كه مشخص مي كنيم يك پروژه از چه فايلهايي تشكيل شده است. براي مثال : زبان پاسكال را در نظر بگيريد. يك پروژه ( )prjپاسكال از تعدادي unitباضافه يك Main Programتشكيل مي شود. معموالً براي هر كاربر يك برنامه مستقل نصب شود و همه كاربرها ازطريق يك بانك اطالعاتي يكديگر داده رد و بدل مي كنند. دانشگاه آزاد اسالمي واحد شبستر مي مشترك با Component View برنامه ها در اينجا مجزا هستند .هر كدام بصورت يك .Project براي نمونه « در سيستم كارت ساعت » سه زيرسيستم : ( Guard Modules پيمانه نگهباني) ( Employment Modules پيمانه كارگزيني) ( Employs Modules پيمانه واحدهاي كارمندي) مشخص شده است. براي ، Employment Moduleپيمانه ها به شكل صفحه بعد مشخص مي گردند. پيمانه ها را مي توانيد در ص 256كتاب بيابيد. دانشگاه آزاد اسالمي واحد شبستر Component View ما در اصل فايلهاي برنامه را مشخص مي كنيم .در هر فايل ،يك Componentبه عنوان « برنامه اصلي » مشخص مي شود .شكل برنامه اصلي بدين صورت است : قطعه معمولي به اين صورت است : نوع ديگر از قطعات Taskها هستند : دانشگاه آزاد اسالمي واحد شبستر Component View Task ها قطعاتي هستند كه بصورت يك Trendبه موازات برنامه اصلي به اجرا در مي آيند .در اين مرحله هر قطعه يك فايل برنامه مي باشد. براي آن مي بايست او ًال زبان برنامه سازي را مشخص نمود. براي نمونه ،براي سيستم « ثبت سفارش » : همانگونه كه در كتاب مشخص شد ،يك Component بنام OrderSubSystemمشخص گرديده است. با clickروي آن ،يك فرم باز مي شود .در داخل آن مي توانيد زبان برنامه سازي را تعيين كنيد. دانشگاه آزاد اسالمي واحد شبستر Component View براي مثال : اگر زبان برنامه نويسي را VBانتخاب كنيد ،تحت گزينه اي بنام Realizeليست تمامي كالسها نمايان مي گردد .با R_clickبر روي هر كالس ،مي توانيد آن را به component ، Assignكنيد. در اصل برنامه شيء گرا به ما مي گويد كه هر ( Moduleپيمانه يا قطعه) شامل تعدادي كالس است. براي هر قطعه كالسهايي را انتخاب مي كنيم كه ارتباط تنگاتنگ با يكديگر باشند. براي مثال « ،پيمانه امور آموزش » داراي ‏Objectهايي است كه بسيار يكديگر را فراخواني مي كنند. دانشگاه آزاد اسالمي واحد شبستر در Component View پس معيار Assignكردن كالسها به يك قطعه ،ميزان همكاري كالسها با يكديگر است. براي مثال ،در « سيستم آموزش» قطعه ثبت نام شامل كليه كالسهايي است كه كه در ارتباط تنگاتنگ براي عمل ثبت نام هستند. بعداز اينكه به كليه قطعه ها ،كالسها تخصيص شد ،مرحله Forward Engineeringيا مهندسي روبه جلو براي توليد كد از مدل آغاز مي شود. توجه كنيد بايد كليه كالسها ،متدها فيلدهاي كالس ،پارامترهاي ورودي و خروجي متدها قب ً ال به زبان فارسي كام ً ال توضيح داده شده باشد. دانشگاه آزاد اسالمي واحد شبستر Component View براي مثال :اگر كالسي بنام Orderداريد ،بايد بر روي كالس click كرده و شرحي براي كالس بنويسيد. براي هر ( Attributeفيلد كالس) مثل Numberيا تاريخ توضيح داده باشيد. تمام اين Commentها درهنگام Code Generationدر كد مث ً ال VBگنجانده مي شوند. براي توليد كد ،از منوي Toolsگزينه VBو سپس گزينه Update Codeرا انتخاب نماييد. به اين ترتيب سيستم شروع به توليد كد VBمي نمايد. دانشگاه آزاد اسالمي واحد شبستر  ي كع م ر ط ول ك ش ي د ت ا ب ف ه م م ال ز من ي س ت پايان جلسه آخر ...يا حق دانشگاه آزاد اسالمي واحد شبستر ه م ه چيز ر ا ب ف ه م م . . . به پايان آمد اين دفتر ...حكايت همچنان باقيست ‏Rosegroup_Shabes ‏كار ما نيست شناسايي راز گل سرخ ... ‏كار ما نيست شناسايي راز گل سرخ ... ‏كار ما نيست شناسايي راز گل سرخ ... ‏كار ما نيست شناسايي راز گل سرخ ... ‏كار ما نيست شناسايي راز گل سرخ ...

51,000 تومان