zabane-modelsazi-uml

Page 1

www.ParsBook.org


‫تَ ‪ UML‬خْش آهذیذ‬ ‫ثّ ‪ UML‬عٕه آيؼیؼ‪ UML .‬يغلق (‪ )Modeling Language Unified‬امت کّ َيبَؼُْؼِ یک فثبٌ يؼل مبفی امتبَؼاؿػ ثـای‬ ‫ٕـاصی مینتى يی ثبىؼ‪ .‬صبال يؼُی ایٍ صـف چینت؟ عٕة‪ UML ،‬فثبَی تَٕیـی امت کّ اربفِ يؼل مبفی كـایُؼ‪َ ،‬ـو اكقاؿ ٔ‬ ‫مینتى ْب ؿا ثّ ىًب يی ػْؼ‪ UML .‬چینت؟ ‪ UML‬اف ًَبػْب ٔ ػیبگـاو ْب مبعتّ ىؼِ امت‪ًَ .‬بػْب ٔ ػیبگـاو ْبیی کّ هَؼ‬ ‫ػاؿیى ػؿ ایٍ ػٔؿِ ثب آَٓب کبؿ کُیى‪ .‬يُظٕؿ اف ًَبػ‪ ،‬ػُبٍـی ْنتُؼ کّ ػؿ یک ػیبگـاو ثب ْى کبؿ يی کُ​ُؼ يبَُؼ انًبَٓبیی کّ ثـای‬ ‫ػمتّ ثُؼی ػاػِ ْب‪ ،‬اىکبنی ثـای اتَبل ػاػِ ْب‪ ،‬كهو ْب‪ٔ ،‬اثنتگیٓب‪َٕ ،‬ىتّ ْبیی کّ ىًب يًکٍ امت آَٓب ؿا ثّ ًَٕػاؿ عٕػ‬ ‫اّبكّ ٔ يوؼاؿػْی کُیؼ ٔ صتی چیقْبیی يخم ىجّ کؼْب ٔ کؼْب‪ ًّْ .‬ایٍ ًَبػْب ٔ ػیبگـاو ْبی يٖـس ىؼِ‪ ،‬ػُبٍـ تَٕیـی یک‬ ‫كـایُؼ‪ ،‬مینتى ٔ یب ثغو ْبیی اف یک مینتى امت‪ UML .‬اف کزب آيؼِ امت؟ ‪ UML‬يزًٕػّ ای اف ٔیژگی ْب ٔ امتبَؼاؿػْبیی‬ ‫امت کّ تٕمٔ ىـکت ‪ OMG‬يؼـكی ىؼِ امت‪ UML .‬ػؿ ػٔ ثغو يؼـكی ىؼِ امت‪ ،‬فیـ مبعت ٔ ؿٔمبعت ٔ َیق ػٔ ييغَّ‬ ‫يـتجٔ ثب آٌ کّ ػجبؿتُؼ اف تجبػل ػیبگـاو ْب ٔ فثبٌ يضؼٔػیت ىی ‪ .‬اگـ يبیم ْنتیؼ َگبْی ثّ ایٍ ييغَبت ثیبَؼافیؼ يی تٕاَیؼ‬ ‫آَٓب ؿا اف ٔة مبیت ىـکت ‪ OMG‬ػاَهٕػ ًَبییؼ‪ UML .‬تٕمؼّ پؾیـ امت‪ .‬یک فثبٌ امتبَؼاؿػ ٍُؼتی ثـای يؼل مبفی کّ ًْبَٖٕؿ‬ ‫کّ هجالً اىبؿِ ىؼ ىـکت ‪ OMG‬يؼیبؿْبی ؿمًی ؿا ثـای ييغٌ کـػٌ آٌ كـاْى کـػِ امت‪ .‬ايب ‪ UML‬ثّ گَّٕ ای ٕـاصی ىؼِ‬ ‫امت کّ اَؼٖبف پؾیـ ثبىؼ ٔ ایٍ اَؼٖبف پؾیـی یکی اف َوبٓ هٕت آٌ يضنٕة يی ىٕػ‪ .‬ثـای يخبل ىًب يی تٕاَیؼ ثب امتلبػِ اف‬ ‫هبنت ْب آٌ ؿا گنتـه ػاػِ ٔ يتُبمت ثب َیبفْبی عٕػ تلنیـ کُیؼ‪ .‬تؼـیق ؿمًی ‪ UML‬ثؼیٍ يؼُبمت کّ کبؿثـاٌ يغتهق ػؿ یک‬ ‫ٍلضّ یکنبٌ هبػؿ عٕاُْؼ ثٕػ يتُبمت ثب َیبفْبی عٕػ ٔ يٕهؼیتٓبی عبً ًَبػْبی اٍهی ٔ يؼبَی آٌ ؿا گنتـه ػُْؼ ٔ‬ ‫ًْچُیٍ ایٍ َکتّ َیق صبئق اًْیت امت کّ ىًب يی تٕاَیؼ اف ‪ًْ UML‬بَوؼؿ عٕة ثـای يؼل کـػٌ یک يٕمنّ ثقؿگ چُؼ يیهیٌٕ‬ ‫ػالؿی امتلبػِ کُیؼ کّ ثـای ٕـاصی مـیغ كـایُؼ یک کنت ٔ کبؿ کٕچک امتلبػِ يی کـػیؼ‪ UML .‬يی تٕاَؼ يتُبمت ثب َیبف ىًب‬ ‫ْـ هؼؿ ثقؿگ یب کٕچک ثبىؼ‪ .‬ایٍ هبثهیت اَؼٖبف ثّ ىًب اربفِ يی ػْؼ کّ اف ‪ UML‬ثـای چیقْبی يغتهق امتلبػِ کُیؼ‪ .‬ىًب يی‬ ‫تٕاَیؼ اف ‪ UML‬ثـای يؼل کـػٌ كـایُؼْبی کبؿی‪ًَ ،‬بیو مبعتبؿ ثـَبيّ ْب‪ ،‬تٍٕیق يؼًبؿی ٔ ًَبیو ؿكتبؿ مینتى ٔ يؼل مبفی‬ ‫مبعتبؿ ػاػِ ْب امتلبػِ کُیؼ‪ ٔ .‬ؿٔىی کّ ػؿ آٌ ىًب يی تٕاَیؼ ثب امتلبػِ اف ‪ UML‬ػؿ ىـایٔ يغتهق ثٓـِ ثجـیؼ‪ ،‬ثـای يخبل ىًب‬ ‫يی تٕاَیؼ ثّ ٕـس ایؼِ ْب ثپـػافیؼ ٔ آَٓب ؿا ػمتکبؿی کُیؼ‪ ،‬ؿٔی تغتّ ملیؼ (ٍلضّ کبؿی ثـَبيّ) ثکيیؼ ٔ پبالیو کُیؼ‪ .‬ىًب يی‬ ‫تٕاَیؼ اف ‪ UML‬ثـای مبعت ييغَبت یک مینتى ٔ ًْچُیٍ تٕنیؼ کؼْبی ثـَبيّ َٕینی امتلبػِ کُیؼ‪ .‬ىًب يی تٕاَیؼ اف یک‬ ‫يؼل ‪ UML‬ثّ ٕ​ٕؿ ينتویى ثّ کؼ ارـایی ثـٔیؼ‪ .‬ػؿ ایٍ ػٔؿِ يب ػِ ًََّٕ يغتهق اف ػیبگـاو ْبی ‪ UML‬ؿا پٕىو عٕاْیى ػاػ‪ ،‬اربفِ‬ ‫ػْیؼ یک يـٔؿ مـیغ ػاىتّ ثبىیى‪ .‬ایٍ ػٔؿِ ػیبگـاو ْبی ‪ Use Case‬ؿا پٕىو يی ػْؼ‪ .‬ػیبگـاو ْبی ‪ Use Case‬چيى اَؼافی اف‬ ‫ثبفیگـاَی کّ ػؿ تؼبيم ثب مینتى َوو ْبی يغتهلی ؿا ایلب يی کُ​ُؼ‪ًَ ،‬بیو يی ػْؼ‪ًْ .‬چُیٍ يب َگبْی ثّ کالك ػیبگـاو ْب‬ ‫عٕاْیى اَؼاعت کّ ىبيم تؼـیق کالك ْب ٔ ؿٔاثٔ حبثت ثیٍ آَٓبمت‪ .‬کالك ػیبگـاو ْب إَاع يغتهلی اف اىیب ٔ اؿتجبٓ آَٓب ثب ْى ؿا‬ ‫ػؿ مینتى ًَبیو يی ػُْؼ‪ .‬يب ػیبگـاو ْبی ىی ؿا ْى پٕىو عٕاْیى ػاػ‪ .‬ایٍ ػیبگـاو ْب مبعتبؿ مینتى ػؿ یک ثبفِ‬ ‫ييغٌ فيبَی ؿا َيبٌ يی ػُْؼ‪ ،‬ػؿ ٔاهغ ػیبگـاو ْبی ىی ًََّٕ ْبیی اف کالك ْب ؿا ػؿ پیکـثُؼی ْبی يغتهق يؼل يی کُ​ُؼ‪.‬‬ ‫ثّ ػیبگـاو ْبی ثنتّ َگبْی عٕاْیى اَؼاعت‪ ،‬ػیبگـاو ْبیی کّ ػُبٍـ يغتهق ؿا ثـای ایزبػ یک ػیؼ مٖش ثبالتـ اف مینتى ؿا ػؿ‬ ‫کُبؿ ْى يتًـکق يی کُ​ُؼ ٔ ًْچُیٍ ثّ ػیبگـاو ْبی صبنت َگبْی عٕاْیى ػاىت کّ ػیؼی پٕیب اف ؿكتبؿ مینتى ْب ؿا ثّ ًَبیو‬ ‫يی گؾاؿػ‪ .‬ػیبگـاو ْبی كؼبنیت َیق یک ػیؼ پٕیب اف مینتى ؿا اؿائّ يی ػُْؼ‪ ،‬ایٍ ػیبگـاو ْب رـیبٌ کبؿی‪ ،‬كـایُؼ کبؿی یب يُٖن ؿٔیّ‬ ‫ای ؿا يؼل يی کُ​ُؼ‪ .‬ثّ ػیبگـاو ْبی تـتیت َگبْی عٕاْیى ػاىت کّ َٕػی اف ػیبگـاو ْبی تؼبيم ْنتُؼ‪ .‬ایٍ ػیبگـاو ْب چگَٕگی‬ ‫اؿتجبٓ اىیبء ثب تبکیؼ ثـ فيبٌ ٔ تـتیت پیـبو ْب ًَبیو يی ػُْؼ‪َٕ .‬ع ػیگـی اف ػیبگـاو ْبی تؼبيم کّ َگبْی ثّ آٌ عٕاْیى ػاىت‬ ‫ًَٕػاؿ اؿتجبٓ امت‪ .‬ػیبگـاو ْبی اؿتجبٓ َیق ؿٔاثٔ ثیٍ اىیب ؿا ًَبیو يی ػُْؼ‪ .‬ایٍ ػیبگـاو ْب ثـ چگَٕگی اتَبل ٔ اؿتجبٓ ثیٍ اىیب‬ ‫تبکیؼ ػاؿَؼ‪ .‬يب ػیبگـاو ْبی تـکیت ؿا ْى پٕىو عٕاْیى ػاػ‪ .‬ایٍ َٕع ػیبگـاو ْب یک ػیؼ کهی ثـ صنت ػُبٍـ تيکیم ػُْؼِ یک‬ ‫مینتى اؿائّ يی ػُْؼ‪ .‬یک ػیؼ پیًبَّ ای ثالک ْبی مبعتًبٌ مینتى ؿا ًَبیو يیؼْؼ ٔ ػؿ َٓبیت َگبْی ثّ ػیبگـاو ْبی‬ ‫گنتـه عٕاْیى اَؼاعت‪ ،‬ػیبگـاو ْبیی کّ يضَٕالت َـو اكقاؿی ثّ مغت اكقاؿی ؿا ثـای ًَبیو الیّ كیقیکی مینتى تـمیى‬ ‫يی کُ​ُؼ‪ .‬إَاع ػیگـی اف ػیبگـاو ْبی ‪َ UML‬یق ٔرٕػ ػاؿػ ايب ثّ ػنیم يضؼٔػیت ْبی فيبَی ایٍ ػِ ػیبگـاو ؿایذ ؿا ػؿ ایٍ ػٔؿِ‬ ‫پٕىو عٕاْیى ػاػ‪ .‬پل ىـٔع يی کُیى‪ .‬اف آَزب کّ ‪ UML‬اف ٕـاصی ىی گـایی مینتى ىـٔع ىؼِ امت‪ ،‬يب ثب َگبْی مـیغ‬ ‫ثّ يلبْیى ىی گـایی ىـٔع عٕاْیى کـػ‪.‬‬

‫‪1‬‬

‫‪www.ParsBook.org‬‬


‫اشیا ّ شی گرایی ‪:‬‬ ‫يب هَؼ ػاؿیى ػؿ ؿاثّٖ ثب ثـعی اف ػُبٍـ اٍهی ىی گـایی یؼُی ىی (آثزکت) ٔ کالك ٍضجت کُیى‪ .‬اربفِ ػْیؼ ثب تؼـیق یک‬ ‫ىی ىـٔع کُیى‪ .‬ىی چیقی امت کّ ػؿ فيیُّ یک مینتى ٔرٕػ ػاؿػ ٔ ًََّٕ ای اف یک کالك يغًَٕ امت‪ .‬ػؿ ػکل يب‬ ‫مینتًی ثّ َبو آکٕاؿیٕو ػؿ َظـ يی گیـیى کّ ػؿٌٔ آٌ کالمی ثّ َبو يبْی هـيق ٔرٕػ ػاؿػ ٔ ػؿٌٔ ایٍ کالك ًََّٕ ْبی يُضَـ‬ ‫ثّ كـػی اف ایٍ يبْی عبً ػاؿیى‪.‬‬

‫ًْبَٖٕؿ کّ يی ثیُیؼ‪ ،‬کالك ثّ اىیبیی تونیى يی ىٕػ کّ يی تٕاَُؼ ًََّٕ ْبی يُضَـ ثّ كـػی اف کالك‬ ‫يبْی ثبىُؼ ٔ ْـ کؼاو اف ایٍ ًََّٕ ْب عٕػ َیق يی تٕاَُؼ ػاؿای ًََّٕ ْبیی يُضَـ ثّ كـػ ثبىُؼ‪ .‬ثّ ػالِٔ ایُکّ‬ ‫یک کالك يی تٕاَؼ هبنجی ثبىؼ کّ اىیب اف آٌ مبعتّ يی ىَٕؼ‪ .‬يی تٕاَیؼ ایُگَّٕ تَٕؿ کُیؼ کّ کالك ًْبَُؼ‬ ‫یک چبهٕی ثـه کیک یب یک يُٓـ امت‪ُْ .‬گبيی کّ کالمی ؿا تؼـیق يی کُیؼ يی تٕاَیؼ اف آٌ ثـای مبعت اىیب‬ ‫کبيالً رؼیؼ امتلبػِ کُیؼ‪ .‬کالك ْب ٔ اىیبی ػؿٌٔ آَٓب ػُبٍـی ػاؿَؼ کّ آَٓب ؿا تؼـیق يی کُ​ُؼ‪ .‬ثّ ایٍ ػُبٍـ‬ ‫ييغَبت یب عٍَٕیبت گلتّ يی ىٕػ‪ .‬ثـای يخبل ػؿ کالك يبْی هـيق ثؼْی اف ييغَبت ػجبؿتُؼ اف اَؼافِ‪ ،‬ؿَگ‬ ‫یب رُنیت‪ .‬کالك ْب ًْچُیٍ ػاؿای ػًهیبت یب ؿكتبؿْبیی يی ثبىُؼ کّ ييغٌ يی کُ​ُؼ ىی چّ کبؿْبیی ؿا‬ ‫اَزبو يی ػْؼ یب چّ کبؿْبیی ؿٔی آَٓب اَزبو يی ىَٕؼ‪ .‬ثـای يخبل ػؿ کالك يبْی هـيق ثؼْی اف ؿكتبؿْب ػجبؿتُؼ اف‬ ‫ىُب کـػٌ‪ ،‬عٕؿػٌ یب عٕؿػِ ىؼٌ‪ .‬يلٕٓو ٔؿاحت ُْگبيی کّ ثب کالك ْب کبؿ يی کُیؼ ثنیبؿ يلیؼ امت فیـا ْـ فیـ‬ ‫کالك ييغَبت کالك ثبالتـ اف عٕػ ؿا ثّ اؿث يی ثـػ‪ .‬ػؿ ایُزب يب مهنهّ يـاتجی اف ٔؿاحت ؿا ػاؿیى‪ .‬ػؿ ثبال کالك‬ ‫اٍهی‪ ،‬کالك يبْی امت ٔ تًبيی عٍَٕیبت ٔ ؿكتبؿْبی ایٍ کالك ػؿ کالك ْبی فیـیٍ یؼُی کالك ْبی يبْی‬ ‫هقل آال‪ ،‬يبْی هـيق ٔ کٕمّ َیق ٔرٕػ ػاؿػ (ػؿ کالك ْبی پبییٍ ثّ اؿث ثـػِ ىؼِ امت) ٔنٕ ایُکّ ثّ ٕـم يغتهلی‬ ‫ثب یکؼیگـ تلبٔت ػاىتّ ثبىُؼ‪ .‬ػؿٌٔ کالك يبْی هـيق اىیب يُضَـ ثّ كـػی ػؿ صبل ىُب کـػٌ ػؿ آکٕاؿیٕو ْنتُؼ‬ ‫کّ يب ثّ آَٓب يبْی ٕالیی‪ ،‬يبْی صجبثی ٔ کیهـ يی گٕییى‪ .‬ایٍ يبْی ْب تًبو عٍَٕیبت ٔ ؿكتبؿْبی کّ ػؿ يبْی‬ ‫هـيق ٔرٕػ ػاؿػ ؿا ثّ اىتـاک يی گؾاؿَؼ‪ .‬ػؿ ٔاهغ ایٍ يبْی عٍَٕیبت ٔ ؿكتبؿْبی يبْی هـيق ؿا ثّ اؿث ثـػِ اَؼ‪.‬‬

‫‪2‬‬

‫‪www.ParsBook.org‬‬


‫شی گرایی ـ ارتثاط ُا‬ ‫اىیب ثّ تُٓبیی ٔرٕػ َؼاؿَؼ ثهکّ ػؿ اؿتجبٓ ثب اىیب ػیگـَؼ‪ .‬يخبنی کّ ىًب يی تٕاَیؼ ایٍ اؿتجبٓ ؿا ثّ ٕ​ٕؿ ٔاّش‬ ‫ثجیُیؼ‪ ،‬ایٍ ػکل اف اتبم پؾیـایی امت‪.‬‬

‫اتبم پؾیـایی ىبيم احبث ٔ يجهًبٌ عٕػ امت کّ یک اؿتجبٓ ؿا ىبيم يی ىٕػ‪ .‬ارقای تيکیم ػُْؼِ يجهًبٌ ٔ احبث‬ ‫يُقل ػؿ اؿتجبٓ ثب ػیگـ ارقای تيکیم ػُْؼِ آٌ ػؿ اتبم امت کّ ایٍ َیق عٕػ یک ؿاثّٖ يی ثبىؼ‪ًْ .‬چُیٍ ْـ ثغو‬ ‫اف يجهًبٌ ػاؿای اؿتجبٕی يؼُبػاؿ ثب ػیگـ إَاع يجهًبٌ ػاؿػ‪ .‬ثـای يخبل يیق هِٕٓ یک َٕع يیق امت‪ .‬ای َٕع اف اؿتجبٓ‬ ‫يخبنی اف ػًٕيیت ػاػٌ (تؼًیى) امت‪ .‬ػؿ تؼًیى‪ ،‬کالك كـفَؼ ثـ پبیّ کالك ٔانؼ هـاؿ ػاؿػ‪ .‬يب ػؿ ایُزب یک کالك ٔانؼ‬ ‫ثّ َبو يبْی ٔ ػٔ کالك كـفَؼ ثّ َبو يبْی هـيق ٔ کٕمّ ػاؿیى‪.‬‬

‫صبل ْـ کؼاو اف ایٍ کالك ْبی كـفَؼ عٍَٕیبت ٔ ؿكتبؿْبی کالك ٔانؼ ؿا ثّ اؿث يی ثـَؼ‪ْ .‬ـ چیقی کّ ثـای‬ ‫عٍَٕیبت يبْی ؽکـ ىٕػ ػؿ يبْی هـيق ٔ کٕمّ َیق ثّ ٕ​ٕؿ ييتـک ٔرٕػ ػاؿػ‪ .‬ایٍ ػؿ صبنی امت کّ يبْی هـيق‬ ‫ٔ کٕمّ اف َظـ اَؼافِ‪ ،‬اَؼاو‪ ،‬ؿٔه ْبی تـؾیّ ثب ْى تلبٔت ػاؿَؼ‪ .‬نؾا ىًب يی تٕاَیؼ ثب امتلبػِ اف تؼًیى اؿتجبٓ ثیٍ‬ ‫کالك ْب تيبثّ ثیٍ يبْی هـيق ٔ کٕمّ ؿا َيبٌ ػْیؼ‪ٔ .‬رّ تيبثّ ایٍ ػٔ ایٍ امت کّ ْـ ػٔ يبْی ْنتُؼ صبل‬ ‫آَکّ ػاؿای تلبٔت ْبیی َنجت ثّ ْى َیق ثبىُؼ‪َٕ .‬ع ػیگـ ؿاثّٖ‪ٔ ،‬اثنتگی َبو ػاؿػ ٔ ثؼیٍ يؼُبمت کّ اؿتجبٓ ثیٍ‬ ‫ػٔ کالك ثّ چُؼ ىکم يی تٕاَؼ ثبىؼ‪ .‬ثـای يخبل ٔهتی کّ ثهُؼگْٕبی عٕػ ؿا ثّ ػمتگبِ پغو ‪ٍٔ CD‬م يی کُیؼ‪،‬‬ ‫ثیٍ ثهُؼگٕ ٔ ػمتگبِ یک ٔاثنتگی ایزبػ کـػِ ایؼ‪ٔ .‬اثنتگی چُؼ َٕع امت‪َٕ .‬ع أل‪ ،‬پیَٕؼ ٔ اتَبل ؿا ًَبیو يی‬ ‫ػْؼ‪ .‬إالػبت ػؿثبؿِ یک کالك ثّ ػاػِ ْبی کالك ػیگـ يتَم يی ىٕػ‪ .‬ثـای يخبل إالػبت ىی ٍٕؿتضنبة ثّ‬ ‫ػاػِ ْبی يـثٕٓ ثّ ىی کبؿيُؼاٌ يتَم ىؼِ امت‪َٕ .‬ػی ػیگـی اف ٔاثنتگی‪ًْ ،‬کبؿی ؿا َيبٌ يی ػْؼ‪ .‬ػؿ ایٍ‬ ‫صبنت یک کالك ثب کالك ػیگـ ثـای اَزبو ثـعی ٔظبیق‪ ،‬کبؿ يی کُؼ یب ایُکّ ىبیؼ كکـ کُیؼ چگَّٕ یک کالك ؿٔی‬ ‫کالك ػیگـ کبؿ يی کُؼ‪ .‬ثـای يخبل کٕمّ ‪ ،‬يبْی هـيق ؿا يی عٕؿػ‪َٕ .‬ع ػیگـی اف ؿاثّٖ ارتًبع (کم ثّ رق) امت‪.‬‬ ‫ارتًبع ؿاثّٖ ثیٍ یک کم ٔ ارقایو ؿا َيبٌ يی ػْؼ‪ .‬ػؿ ىکم يب يزًٕػّ ای اف يبْی ْب ؿا يی ثیُیى‪ .‬ایٍ‬ ‫يزًٕػّ اف يبْی ْبی (ارقای) يُضَـ ثّ كـػی مبعتّ ىؼِ امت‪ .‬ایٍ ؿاثّٖ یک ؿاثّٖ ارتًبع امت‪ .‬تـکیت ‪،‬‬ ‫كـيی هٕی اف ارتًبع امت‪ .‬ػؿ ایٍ َٕع اؿتجبٓ ْـ رق يًکٍ امت كؤ ثّ یک کم يتؼهن ثبىؼ‪ .‬ثـ عالف ارتًبع کّ‬

‫‪3‬‬

‫‪www.ParsBook.org‬‬


‫ػؿ آٌ یک يبْی ػؿ یک يزًٕػّ اف يبْی ْب کّ يی تٕاَؼ ىُب کُؼ ٔ رقئی اف یک يزًٕػّ ػیگـ اف يبْی ْب ىٕػ‪،‬‬ ‫ال اتبم پؾیـایی عٕػ ؿا تَٕؿ‬ ‫ػؿ تـکیت ْـ يبْی (رق) كؤ يتؼهن ثّ یک يزًٕػّ (کم) ػؿ َظـ گـكتّ يی ىٕػ‪ .‬يخ ً‬ ‫کُیؼ‪ .‬ایٍ اتبم رقئی اف عبَّ ىًبمت ٔنی رقئی اف عبَّ ًْنبیّ َینت‪ .‬رقئی اف عبَّ ْیچکل ػیگـ ْى َینت‪.‬‬ ‫ایٍ اتبم ًَی تٕاَؼ ثب یک عبَّ ػیگـ ثّ اىتـاک گؾاىتّ ىٕػ‪.‬‬

‫ػؿ ؿاثّٖ تـکیت اگـ کم اف ثیٍ ثـٔػ‪ ،‬ارقای آٌ َیق اف ثیٍ عٕاْؼ ؿكت‪ًْ .‬بٌ ٕ​ٕؿ کّ ػؿ ىکم يی ثیُیؼ ٔهتی‬ ‫مبعتًبٌ عـاة ىٕػ‪ ،‬اتبم ْب ْى کّ اف ثیٍ يی ؿَٔؼ‪( .‬ثّ ٕ​ٕؿ کهی كـم ثیٍ ؿاثّٖ ‪ Aggregation ٔ Compostion‬ػؿ‬ ‫ایٍ يی ثبىؼ کّ ػؿ ؿاثّٖ ‪ Aggregation‬رق ْى ثّ تُٓبیی يؼُب ػاؿػ ٔنی ػؿ ؿاثّٖ ‪ Compostion‬رق ثّ ٕ​ٕؿ ينتوم‬ ‫ًَی تٕاَؼ اؿائّ ىٕػ‪ ).‬یکی ػیگـ اف يلبْیًی کّ ػؿ ؿٔاثٔ ثبیؼ ثّ آٌ اىبؿِ ىٕػ چُؼ ثّ چُؼ ثٕػٌ (چُؼگبَگی) ؿٔاثٔ‬ ‫امت‪ .‬چُؼ ثّ چُؼ ثٕػٌ تؼؼاػ اىبیی کّ ػؿ یک ؿاثّٖ يی تٕاَُؼ مٓیى ثبىُؼ ؿا َيبٌ يی ػْؼ‪ .‬ػؿ ٔاهغ تؼؼاػ‬ ‫اىیبیی کّ يی تٕاَُؼ ػؿ یک ؿاثّٖ ثّ عًَٕ ثّ ْى ٔاثنتّ ثبىُؼ ؿا ييغٌ يی کُؼ‪ .‬ثـای يخبل ْـ ػؿك یک‬ ‫کالك ؿا اىـبل يی کُؼ کّ یک ؿاثّٖ یک ثّ یک ؿا َيبٌ يی ػْؼ‪ْ .‬ـ امتبػ يی تٕاَؼ چُؼیٍ ػؿك ؿا اؿائّ ػْؼ کّ‬ ‫یک ؿاثّٖ یک ثّ چُؼ امت‪ .‬ايب ؿاثّٖ چُؼ ثّ چُؼ چٖٕؿ؟ ایٍ گَّٕ تَٕؿ کُیؼ کّ یک ؿاثّٖ چُؼ ثّ چُؼ تـکیجی اف ػٔ‬ ‫ؿاثّٖ یک ثّ چُؼ امت‪ .‬ثـای يخبل یک امتبػ يی تٕاَؼ ثّ چُؼیٍ ػاَيزٕ ػؿك ثؼْؼ ٔ یک ػاَيزٕ يی تٕاَؼ‬ ‫چُؼیٍ امتبػ ػاىتّ ثبىؼ‪ .‬نؾا ایٍ ػٔ ؿاثّٖ ی یک ثّ چُؼ کًک يی کُؼ کّ ثّ ٕ​ٕؿ ٔاّش تـ ؿاثّٖ ثیٍ امتبػ ٔ‬ ‫ػاَيزٕ ؿا یک ؿاثّٖ چُؼ ثّ چُؼ ػؿ َظـ ثگیـیى‪.‬‬

‫‪4‬‬

‫‪www.ParsBook.org‬‬


‫چٌذ ریختی ‪:‬‬ ‫چُؼ ؿیغتی ؛ يلٕٓيی ػیگـ اف ىی گـایی‪ .‬چُؼ ؿیغتی یؼُی هبثهیت امتلبػِ ثّ كـو ْبی يغتهق‪ .‬چُؼ ؿیغتی يی‬ ‫تٕاَؼ ؿٔی اىیب ٔ َیق ؿٔی ؿكتبؿْبی آَٓب اػًبل ىٕػ‪ .‬ثگؾاؿیؼ چُؼ يخبل ثقَیى‪ .‬یک ىی چُؼ ؿیغت‪ ،‬ىی امت کّ‬ ‫إَاع آٌ ػؿ کالك ٔانؼ پُٓبٌ ىؼِ امت‪ .‬ثـای يخبل کالك ثبفیکٍ ثنتکجبل ؿا ػؿ َظـ ثگیـیؼ‪ .‬ایٍ کالك ىبيم مّ‬ ‫فیـ َٕع ‪ Guard ،Forward ،Center‬امت کّ ْـ کؼاو اف آَٓب عٍَٕیبت‪ ،‬يٕهؼیت‪ٔ ،‬ظبیق ٔ امتـاتژی ْبی ثبفی‬ ‫يغًَٕ ثّ عٕػ ؿا ػاؿَؼ‪ .‬اگـچّ ػؿ صبل ٍضجت کـػٌ ػؿ ؿاثّٖ ثب ؿكتبؿ (ػًم) ػؿیجم کـػٌ ْنتیى‪ ،‬ایٍ ػًم ثـای‬ ‫ْـ مّ فیـ َٕع یکی امت‪ .‬نؾا ُْگبيی کّ ػؿثبؿِ ػؿیجم کـػٌ ٍضجت يی کُیؼ‪ ،‬يی عٕاْیؼ يُضَـًا ثّ کالك‬ ‫ثبفیکٍ ثنکتجبل اىبؿِ کُیؼ‪ُْ .‬گبيی کّ ػًم ػؿیجم کـػٌ ارـا ىؼ (ثّ يـصهّ ارـا ػؿ آيؼ) ىی ثبفیکٍ ثنتکجبل ثّ‬ ‫چُؼیٍ كـو ػؿ عٕاْؼ آيؼ‪.‬‬

‫ايب مٕی ػیگـ چُؼ ؿیغتی ؿكتبؿ چُؼ ؿیغت امت‪ .‬ػؿ ؿكتبؿ چُؼ ؿیغت ْـ ػًم يی تٕاَؼ ثـ يجُبی ؿكتبؿ تؼـیق ىؼِ‬ ‫ػؿ کالك اٍهی ثّ ؿٔه ْبی يغتهلی اَزبو ىٕػ‪ .‬ثّ ػجبؿت ػیگـ چُؼ ؿیغتی ثّ ىًب ایٍ اربفِ ؿا يی ػْؼ کّ‬ ‫اػْبی کالك ييتن ىؼِ ًْبَُؼ کالك ٔانؼ ؿكتبؿ کُ​ُؼ‪ .‬ایٍ هبثهیت ثّ إَاع يغتهق اىیب ایٍ ايکبٌ ؿا يی ػْؼ کّ‬ ‫ثّ كـاعٕاٌ ْبی يغتهق یک تبثغ پبمظ يتُبمت ثب آٌ كـاعٕاٌ ؿا ثؼْؼ‪ .‬ثـای يخبل يب ػؿ ایُزب ػٔ َٕع اف کالك‬ ‫صیٕاَبت ؿا ػاؿیى‪ .‬مگ ٔ يبْی‪ .‬ثـای يخبل ْـ گبِ اف ػًم َلل کيیؼٌ ٍضجت يی کُیى‪ ،‬ػًم َلل کيیؼٌ ثـای‬ ‫ػٔ َٕع کالك يتلبٔت امت‪ .‬ػؿ ٔاهغ َلل کيیؼٌ یک ػًم چُؼ ؿیغت امت‪َ .‬لل کيیؼٌ ػؿ يبْی اف ٕـین‬ ‫آثيو امت ٔ تٕنیؼ صجبة يی کُؼ ايب َلل کيیؼٌ ػؿ مگ اف ٕـین ىو ثّ ٍٕؿت تُؼ َلل کيیؼٌ امت‪.‬‬

‫‪5‬‬

‫‪www.ParsBook.org‬‬


‫دیاگرام ‪: Use Case‬‬ ‫ػؿ ایٍ يوبنّ هَؼ ػاؿیى ػؿ ؿاثّٖ ثب ‪ْ Use Case‬ب ٍضجت کُیى‪َ .‬گبْی ثّ يجبَی ‪ ٔ Use Case‬چگَٕگی مبعت‬ ‫ػیبگـاو ْبی آٌ ثب ‪ UML‬عٕاْیى اَؼاعت‪ .‬مٕال أل ثـای پـمو ایٍ امت کّ ‪ Use Case‬چینت؟‬ ‫‪ Use Case‬کبؿکـػ یک مینتى ؿا ًَبیو يی ػْؼ‪ .‬ثّ ػجبؿت ػیگـ ‪ Case Use‬ثّ يب يی گٕیؼ کّ یک مینتى ثبیؼ چّ‬ ‫کبؿی اَزبو ػْؼ‪ Use Case .‬تؼبيم ثیٍ ثبفیگـاٌ يغتهق ٔ مینتى ؿا َيبٌ يی ػْؼ‪ .‬ثـای يخبل يب اف یک ػمتگبِ‬ ‫عٕػپـػاف امتلبػِ يی کُیى‪ .‬ثـای ؿمى ْـ ‪ Use Case‬ىبيم ػمتگبِ عٕػپـػاف ثّ یک ثبفیگـ َیبف عٕاْیؼ ػاىت ٔ‬ ‫ثبفیگـ کنی یب چیقی امت کّ ْؼكی ؿا ػؿ امتلبػِ اف مینتى ػَجبل يی کُؼ‪ .‬ثـای يخبل ػؿ مینتى عٕػپـػاف‬ ‫ثؼیٓی امت کّ ييتـی ثبفیگـ اٍهی امت نؾا یک ثبفیگـ يی تٕاَؼ یک ىغٌ یب یک مینتى یب مبفيبٌ ػیگـ‬ ‫ثبىؼ‪ ،‬ثّ ٕ​ٕؿ کهی ْـ کنی یب ْـ چیقی کّ ػؿ امتلبػِ اف مینتى ْؼكی ؿا ػَجبل يی کُؼ‪ .‬يلیؼ عٕاْؼ ثٕػ کّ‬ ‫ْـ ثبفیگـ ؿا ثّ ػُٕاٌ یک َوو ػؿ َظـ ثگیـیؼ َّ یک ىغٌ يُضَـ ثّ كـػ‪ .‬يب گلتیى کّ ثبفیگـ ْؼكی ؿا ػَجبل يی‬ ‫کُؼ ٔ يُظٕؿ يب اف ْؼف ثّ ٕ​ٕؿ مبػِ ْـ چیقی امت کّ ثبفیگـ يی عٕاْؼ ػؿ تؼبيم ثب مینتى ثّ ػمت آٔؿػ‪ .‬ثـای‬ ‫يخبل يب كـُ يی کُیى کّ ييتـی هَؼ ػؿیبكت پٕل اف عٕػپـػاف ؿا ػاؿػ‪ .‬يب ثّ ایٍ ػًم‪ Use Case ،‬ثـػاىت پٕل يی‬ ‫گٕییى‪ .‬ػُٕاٌ یک ‪ ،Case Use‬ثیبٌ ْؼف ثبفیگـ ثّ كـو یک ػجبؿت كؼهی امت‪ .‬نؾا ثـػاىت پٕل ػُٕاَی يُبمت ثـای‬ ‫‪ Use Case‬يبمت‪ْ Use Case .‬ب اْؼاف يغتهلی ؿا کّ ثبفیگـاٌ گَٕبگٌٕ ػؿ امتلبػِ اف مینتى ػَجبل يی کُ​ُؼ‪،‬‬ ‫َيبٌ يی ػْؼ‪ٔ .‬هتی کّ ثّ ‪ْ Use Case‬ب َگبِ يی کُیؼ چیقی کّ ثبیؼ اَزبو ػْیؼ ایٍ امت کّ ػؿ ؿاثّٖ ثب ًّْ‬ ‫ثبفیگـاَی کّ ػؿ تؼبيم ثب مینتى ْنتُؼ كکـ کُیؼ ٔ اف عٕػ ثپـمیؼ کّ ایٍ ثبفیگـْب اف مینتى چّ امتلبػِ ای‬ ‫يی ثـَؼ‪ .‬صبل ‪ْ Case Use‬ب يتٍ ْبی َٕىتّ ىؼِ اَؼ ٔ ىًب آَٓب ؿا ػؿ َیبفيُؼیٓبی ييغٌ عٕاْیؼ یبكت‪ .‬ايب ‪UML‬‬ ‫کزب ٔاؿػ کبؿ يی ىٕػ؟ عٕة‪ ،‬ػیبگـاو ْبی ‪ Use Case‬ػؿ ‪ UML‬ثّ ٍٕؿت نینتی اف ‪ْ Case Use‬بی َٕىتّ ىؼِ يی‬ ‫ثبىُؼ کّ تب نضظبتی ػیگـ ثّ ىًب َيبٌ عٕاْى ػاػ‪ .‬ايب اربفِ ثؼْیؼ اثتؼا ؿارغ ثّ ‪ْ Use Case‬بی َٕىتّ ىؼِ‬ ‫ٍضجت کُیى‪ْ Use Case .‬بی َٕىتّ ىؼِ يضؼٔػیتی َؼاؿَؼ ٔ ػؿ ٔاهغ ىبيم ‪ًَ UML‬ی ىَٕؼ‪ .‬ثّ ػجبؿت ػیگـ ٔاهؼًب‬ ‫اف امتبَؼاؿػی پیـٔی ًَی کُ​ُؼ‪ .‬ايب ٔهتی کّ ‪ Use Case‬عٕػ ؿا يی کيیؼ ایؼِ ای ػاؿیؼ‪ .‬يب يی عٕاْیى یک َگبِ‬ ‫مـیغ ثّ آٌ ػاىتّ ثبىیى‪ًْ .‬چُیٍ ثـای ْـ ‪َٕ Use Case‬ىتّ ىؼِ چیقی کّ يی عٕاْیؼ اَزبو ػْیؼ‪ ،‬ىبيم‬ ‫گبيٓبیی امت کّ تؼبيم ثیٍ یک ثبفیگـ ٔ ثبفیگـ اٍهی ػؿ مینتى ؿا ىـٔع يی کُؼ‪ .‬ثبفیگـ اٍهی ثبفیگـی امت کّ‬ ‫‪ Use Case‬ؿا ىـٔع يی کُؼ‪ .‬ػؿ يخبل عٕػپـػاف‪ ،‬ثبفیگـ اٍهی ييتـی امت‪ ،‬کنی کّ کبؿت عٕػ ؿا ٔاؿػ ػمتگبِ يی‬ ‫کُؼ‪ .‬ىًب ثب یک مُبؿیٕی يٕكن ىـٔع عٕاْیؼ کـػ چیقی کّ ثّ ٕ​ٕؿ ؿیـ ؿمًی ثّ آٌ مُبؿیٕی عٕىضبل (يٕكن)‬ ‫َیق گلتّ يی ىٕػ ٔ تّٕیضی امت اف يـاصهی کّ ثیٍ ثبفیگـ ٔ مینتى اتلبم يی اكتؼ‪ ،‬ثّ ٕ​ٕؿی کّ ًّْ چیق اف‬ ‫ًْبٌ اثتؼای ‪ Use Case‬یؼُی ُْگبيی کّ ييتـی کبؿت ثبَکی عٕػ ؿا ٔاؿػ ػمتگبِ يی کُؼ تب ُْگبيی کّ ‪Use‬‬ ‫‪ Case‬ثب يٕكویت ثّ پبیبٌ يی ؿمؼ‪ًْ ،‬بَٖٕؿ کّ اَتظبؿ يی ؿٔػ‪ ،‬اَزبو ىٕػ ٔ ثبفیگـ پٕل ؿا ػؿ ػمتبَو ػاىتّ ثبىؼ‪.‬‬ ‫ثُبثـایٍ ينیـ يٕكن ييغٌ ىؼ‪ ،‬ىًب هـاؿ امت کّ آٌ چیقی کّ ػؿ ىـایٔ ایؼِ آل ٔ ػؿ ػَیبی ایؼِ آل اتلبل يی‬ ‫اكتؼ ٔ ثبفیگـ ثّ ْؼف عٕػ ؿمیؼِ ٔ ثب مینتى ػؿ تؼبيم امت ؿا تٍٕیق کُیؼ‪ .‬ايب اف آَزب کّ ًّْ يب يی ػاَیى ػؿ‬ ‫ػَیبی ایؼِ آل فَؼگی ًَی کُیى نؾا ثبیؼ ينیـْبی ػیگـی ؿا َیق ػؿ َظـ ثگیـیؼ‪ .‬ػؿ ایُزب ػٔ َٕع ينیـ ػیگـ َیق ٔرٕػ‬ ‫ػاؿػ کّ ثبیؼ يٕؿػ تٕرّ هـاؿ گیـػ‪ .‬یکی امتخُبئبت امت‪ .‬ػؿ ْـ يـصهّ ػؿ مُبؿیٕی يٕكن تٕهق يی کُیؼ ٔ يی‬ ‫پـمیؼ کّ چّ چیقی يًکٍ امت ػؿ ایُزب اىتجبِ ىٕػ‪ .‬ثـای يخبل ُْگبيی کّ ييتـی ثیيتـ اف يجهؾ يٕرٕػ ػؿ‬ ‫صنبة ثبَکی اه ػؿ عٕامت کُؼ چّ اتلبهی يی اكتؼ؟ یکی ػیگـ اف ينیـْب‪ ،‬تٕمؼّ َبيیؼِ يی ىٕػ‪ .‬ثـای پیؼا‬ ‫کـػٌ تٕمؼّ ْب ثبیؼ اف عٕػ ثپـمیؼ چّ اْؼاف ػیگـی يًکٍ امت ػَجبل ىٕػ؟ ثـای يخبل ثؼْی اف ػمتگبْٓبی‬ ‫عٕػپـػاف ایٍ ايکبٌ ؿا ثّ ىًب يی ػُْؼ کّ اگـ يبیم ثبىیؼ پـیُت ؿمیؼ ػؿیبكت ؿا ثّ ىًب ثؼُْؼ‪ .‬ىًب يزجٕؿ‬ ‫َینتیؼ ُْگبيی کّ پٕل عٕػ ؿا ثّ ٍٕؿت يٕكوت آيیق ػؿیبكت گـػیؼ‪ ،‬ؿمیؼ ْى ثگیـیؼ ايب پـیُت ؿمیؼ اَتغبثی امت‬ ‫کّ ىًب ػاؿیؼ‪ .‬نؾا ‪ Use Case‬پـیُت ؿمیؼ یک تٕمؼّ ثـای ‪ Use Case‬ػؿیبكت پٕل امت‪ .‬ػؿ ایُزب يخبنی اف ػیبگـاو‬ ‫‪ Use Case‬ؿا ييبْؼِ يی کُیؼ‪ .‬ایٍ ػیبگـاو ثـای یک مینتى ؿفؿٔ آَالیٍ ثـای يؼیـیت ملـْبمت ٔ يٍ كؤ يی‬ ‫عٕاْى ثّ انًبَٓبی اٍهی اىبؿِ کُى‪ .‬يب ػؿ ایُزب یک ينتٖیم ػاؿیى کّ مینتى ؿا َيبٌ يی ػْؼ ٔ يی ثیُیؼ کّ‬ ‫ثّ مینتى ؿفؿٔ آَالیٍ َبيگؾاؿی ىؼِ امت‪ .‬ثبفیگـاٌ يب ثّ ىکم یک اَنبٌ َيبٌ ػاػِ ىؼِ اَؼ ٔ ًْچُیٍ‬ ‫َوييبٌ ػؿ کُبؿىبٌ َٕىتّ ىؼِ امت‪ .‬يب ييتـی ٔ كـایُؼ پـػاعت ؿا ػاؿیى کّ َضِٕ کبؿ مینتى ؿا َيبٌ يی‬ ‫ػْؼ‪ .‬يب ًْچُیٍ ‪ْ Use Case‬بیی ػاؿیى کّ ثب ثیْی َيبٌ ػاػِ ىؼِ اَؼ‪ ،‬نؾا ْـ ‪ Use Case‬ثّ ًْـاِ ػُٕاَو ػؿٌٔ‬ ‫یک ثیْی کّ عٕػ َیق ػؿٌٔ یک ينـتٖیم کّ ًَبیبَـگـ مـینتى امت‪ ،‬هــاؿ ػاؿػ‪ .‬ثُـبثـایٍ يــب ثبفیگـْـبیًبٌ ؿا‬ ‫ػاؿیـى‪ْ Use Case ،‬بیـًبٌ ؿا ػاؿیى ٔ يـب مـینتى يبٌ ؿا ػاؿیى‪ .‬يـب ًْچُیٍ اؿتجـبٓ ثیٍ ثبفیگــْب ٔ ‪ْ Use Case‬ب ٔ‬

‫‪6‬‬

‫‪www.ParsBook.org‬‬


‫َیق اؿتجبٓ ثیٍ ‪ْUse Case‬ب ؿا َیق َيبٌ يی ػْیى‪ .‬ػؿ اػايّ ػیبگـاو ْبی ‪ Use Case‬عٕػ ؿاتـمیى عٕاْیى کـػ‪.‬‬

‫ػؿ ایٍ يوبنّ ‪ ،‬يب ثّ چگَٕگی اؿائّ ػُبٍـ پبیّ ‪ Use Case‬ثب امتلبػِ اف ‪َ UML‬گبْی عٕاْیى اَؼاعت‪ .‬صبل ٔهتی ثّ‬ ‫‪ Use Case‬يی پـػافیى ػؿ ٔاهغ ثب مینتى مـٔ کبؿ ػاؿیى‪ ،‬ثب ثبفیگـْب‪ ،‬کنبَی کّ اف مینتى امتلبػِ يـی کُ​ُؼ ٔ ثب‬ ‫اْـؼاكی کّ آٌ ثبفیگــْب ػؿ تؼـبيـم ثب مـینتى ػَجبل يی کُ​ُؼ ٔ يـب ایـٍ اْـؼاف ؿا ‪ Use Case‬يی َبيیى‪ .‬ثـای‬ ‫ًَبیو مـینـتى يب یک ينتٖیم ؿمى يی کُیى ٔ ثّ آٌ یک َبو اعتَـبً يی ػْیى‪ .‬ػؿ ایٍ يٕؿػ يب كوـٔ آٌ ؿا‬ ‫مینتى يی َبيیى‪ .‬فیـا كؤ ثّ ػَجـبل ثیبٌ يلبْـیى ْنـتیى‪.‬‬

‫ػؿ صـبل صبّـــ ػؿ ثـعی اف ًَٕػاؿْبی ‪ Use Case‬يًکٍ امت ىًب اكـاػی ؿا ثیبثیؼ کّ ينتٖیم ؿمى ًَی کُ​ُؼ‪،‬‬ ‫ايب ٔهتی ىًب ىـٔع ثّ ييغٌ کـػٌ ثبفیگـْب ٔ ييغٌ کـػٌ ‪ْ Use Case‬بی يغتهق يی کُیؼ تـمیى ينتٖیم‬ ‫مبػِ يًٖئُب یک ایؼِ عٕة يضنٕة يی ىٕػ فیـا ييغٌ يی کُؼ کّ چّ چیقی ػاعم َبصیّ امت ٔ چّ چیقی‬

‫‪7‬‬

‫‪www.ParsBook.org‬‬


‫عبؿد اف َبصیّ‪ .‬اگــ ْـؼكی ٔرـٕػ ػاىتّ ثبىؼ کّ مینتى يی تٕاَؼ آٌ ؿا تبيیٍ کُؼ‪ ،‬ثّ ػاعم ينتٖیم يتؼهن‬ ‫امت ٔ اگـ ایٍ ْؼف‪ْ ،‬ؼكی امت کّ مینتى ًَی تٕاَؼ آَـا تبيیٍ کُؼ ثّ ػاعم ينتٖیم يتؼهن َینت‪ .‬ثُبثـایٍ‬ ‫امتلبػِ اف ينتٖیم کًک يی کُؼ تب ىًب َبصیّ کبؿی ؿا ػؿ ؽٍْ ػاىتّ ثبىیؼ‪ .‬ثؼؼ ثبیؼ ثبفیگـْب ؿا َيبٌ ػْیى‪.‬‬ ‫ًَبیو ثبفیگـْب ثب امتلبػِ اف یک آػيک ٍٕؿت يی گیـػ ٔ ىًب ْـ ربیی کّ اف ثبفیگـ اَنبَی یب مینتى ػیگـی‬ ‫ٍضجت ىؼ اف آػيک امتلبػِ يیکُیؼ‪ .‬اگـ ػٔمت ػاؿیؼ يی تٕاَیؼ ثّ آٌ ثـچنت مینتى ثّ ٍٕؿت <> ثقَیؼ تب‬ ‫ييغٌ کُیؼ کّ ثبفیگـ يٕؿػ َظـی کّ ػؿ صبل کبؿ ثب مینتى ىًبمت عٕػ یک مینتى ػیگـ امت‪ .‬پل ػؿ صبل‬ ‫صبّـ ػٔ ثبفیگـ‪ ،‬ػٔ آػيک ٔ مینتى عٕػ ؿا ػاؿیى‪ .‬ثؼؼ يی عٕاْیى كکـ کُیى ایٍ ثبفیگـاٌ ػؿ امتلبػِ اف مینتى چّ‬ ‫اْؼاكی ؿا ػَجبل يی کُ​ُؼ‪ .‬يب ‪ْ Use Case‬ب ؿا ثب ثیْی ًَبیو يی ػْیى‪ .‬هـاؿ ػاػٌ ‪ Use Case‬یک‪ Use Case ،‬ػٔ ٔ‬ ‫‪ Use Case‬مّ‪ .‬ثُبثـایٍ ایُٓب اْؼاف يغتهلی ْنتُؼ کّ ثبفیگـاٌ يب يًکٍ امت ػؿ امتلبػِ اف ایٍ مینتى ػاىتّ‬ ‫ثبىؼ‪ .‬صبال ایٍ چیقْب ثّ ٍٕؿت يزقا ٔرٕػ َؼاؿػ‪ ،‬آَٓب ثب یکؼیگـ ػؿ اؿتجبٓ ْنتُؼ ٔ يب ایٍ اؿتجبٓ ؿا ثب عٔ ثـای تؼییٍ‬ ‫پیَٕؼ آَٓب َيبٌ يی ػْیى‪ .‬ثُبثـایٍ كـُ يی کُیى کّ ثبفیگـ ‪ْ ،1‬ؼف ىًبؿِ ‪ )UseCase1( 1‬ؿا ػَجبل يی کُؼ‪ .‬يب‬ ‫ثٕمیهّ تـمیى یک عٔ َيبٌ يی ػْیى کّ ثبفیگـ یک اف آٌ ‪ Use Case‬ىـٔع ثّ کبؿ يی کُؼ ٔ يی تٕاَیى ثگٕییى کّ‬ ‫ثبفیگـ یک ًْچُیٍ يی تٕاَؼ اف ‪ Use Case‬ػٔ آؿبف کُؼ ٔ یب كـُ کُیى ثبفیگـ ػٔ يیتٕاَؼ اف ‪ Use Case‬مّ آؿبف کُؼ‪ .‬ثب‬ ‫ایٍ کبؿ ييغٌ يی ىٕػ کّ ثبفیگـ ىًبؿِ ‪ 1‬ثبفیگـ اٍهی امت‪ ،‬كـػی کّ ْؼكو ‪ Use Case‬ىـًبؿِ یک امت‪.‬‬ ‫ْؼف ایٍ ثبفیگـ کّ ثبفیگـ اٍهی امت‪ Use Case ،‬ػٔ َیق يی ثبىؼ ٔ ؿیـِ‪ .‬ثـای ایُکّ ػیبگـايًبٌ تکًیم ىٕػ يًکٍ‬ ‫امت یک ‪ Use Case‬ؿا ثیبثیؼ کّ ثب ثبفیگـی ػیگـ ػؿ تؼبيم ثبىؼ‪ .‬ثـای يخبل يًکٍ امت یک ‪ Use Case‬تبییؼ کبؿت‬ ‫اػتجبؿی ثّ یک يضبمجّ کُ​ُؼِ پـػاعت ثـای تکًیم عٕػ اصتیبد ػاىتّ ثبىؼ‪ .‬پل ىًب يی تٕاَیؼ ثبفیگـاٌ حبَٕیّ َیق‬ ‫ػاىتّ ثبىیؼ‪ ،‬ػؿ ایٍ يخبل آٌ ؿا ثبفیگـ مّ يی َبيیى ٔ ٔهتی کّ ػؿ يٕؿػ يضبمجّ گـْب ٍضجت يی کُیى‪ ،‬يی‬ ‫گٕییى ایٍ یکی مینتى ػٔ امت ٔ اگـ ‪ Use Case‬یک ثـای کبيم ىؼٌ ثّ يوؼاؿی ييبؿکت اف مٕی ثبفیگـ مّ‬ ‫اصتیبد پیؼا کـػ يب ثیٍ آَٓب َیق یک پیَٕؼ ثـهـاؿ يی کُیى‪.‬‬

‫‪8‬‬

‫‪www.ParsBook.org‬‬


‫ومىدار برای خىد پرداز ‪:‬‬ ‫ثگؾاؿیؼ َگبْی ثّ يخبل عٕػپـػاف عٕػيبٌ ثیبَؼافیى تب ثجیُیى چگَّٕ يی تٕاَیى ‪ْ Use Case‬بی يتلبتی ؿا ػؿ مینتى‬ ‫ػاػِ ىؼِ ػؿ اعتیبؿ ثگیـیى‪ .‬پل يب ثب ؿمى مینتى عٕػ ىـٔع يی کُیى ٔ آٌ ؿا ‪ ATM‬يی َبيیى ٔ یک ثبفیگـ ؿا کّ‬ ‫يی عٕاْؼ ثب آٌ ‪ ATM‬ػؿ اؿتجبٓ ثبىؼ تؼییٍ يی کُیى ٔ َبو آٌ ثبفیگـ ؿا ييتـی يی گؾاؿیى‪ .‬پل یک ييتـی چّ‬ ‫اْؼاكی ػؿ اؿتجبٓ ثب مینتى ‪ ATM‬يی تٕاَؼ ػاىتّ ثبىؼ؟‬

‫ثگؾاؿیؼ ثجیُیى چّ ‪ْ Use Case‬بیی ؿا يی تٕاَیى تؼییٍ کُیى‪ٍُ ،‬ؼٔم ثـػاىت اف صنبة‪ ،‬ييتـی يًکٍ امت‬ ‫ثغٕاْؼ پٕنی ؿا ثّ صنبة ثگؾاؿػ‪ .‬ييتـی يًکٍ امت ثغٕاْؼ ٍٕؿت ّٔؼیت صنبة عٕػ ؿا چک کُؼ ٔ ييتـی‬ ‫يًکٍ امت ثغٕاْؼ پٕل ؿا ربثزب کُؼ‪ .‬ىًب هبػؿ عٕاْیؼ ثٕػ تب کًی ثیيتـ كکـ کُیؼ ٔنی تب االٌ ایُٓب ثـای يُظٕؿ يب‬ ‫يُبمت ْنتُؼ‪ .‬پل ػؿ ْـ یک اف ایٍ يٕاؿػ ييتـی ثبفیگـ اٍهی امت کّ ایٍ اْؼاف يتلبٔت ػؿ اؿتجبٓ ثب ‪ ATM‬ؿا‬ ‫ػَجبل يی کُؼ‪ .‬پل ثـای َيبٌ ػاػٌ آٌ يی عٕاْیى یک پیَٕؼ يیبٌ ييتـی ٔ ْـ یک اف ایٍ ‪ْ Use Case‬بی يتلبٔت‬ ‫ؿا ثـ هـاؿ کُیى‪ .‬چّ کل ػیگـی ػؿ اؿتجبٓ ثب ‪ ATM‬امت؟ ثّ ػُٕاٌ يخبل کنی ْنت کّ تؼًیـ ٔ َگٓؼاؿی ثـ ؿٔی‬ ‫يبىیٍ ؿا اَزبو يی ػْؼ‪ .‬ثّ ػجبؿت ػیگـ ْؼكی کّ ىغٌ َگٓؼاؿ تبمینبت يًکٍ امت ػؿ اؿتجبٓ ثب يبىیٍ‬ ‫ػاىتّ ثبىؼ‪َ ،‬گٓؼاؿی ينتًـ اف آٌ امت‪ .‬صبال ىغٌ َگّ ػاؿ تبمینبت‪ ،‬ييتـی َینت کّ آؿبف کُ​ُؼِ ایٍ ‪Use‬‬ ‫‪ Case‬ثبىؼ پل يب ثب تـمیى یک عٔ اف َگٓؼاؿ تبمینبت ثّ ‪َ Case Use‬گٓؼاؿی ينتًـ‪ ،‬پیَٕؼی ثیٍ ایٍ ثبفیگـ ٔ‬ ‫‪ Use Case‬يـثٕ​ٕو ثـهـاؿ يی کُیى‪ًْ ٔ .‬چُیٍ ٔهتی ىًب ػؿ يٕؿػ ایٍ كکـ يی کُیؼ کّ ييتـی ًَی تٕاَؼ اف‬ ‫صنبة ثـػاىت کُؼ تب فيبَی کّ ىغَی پٕل ؿا ػؿٌٔ ػمتگبِ هـاؿ ػْؼ‪ ،‬يب ایٍ ىغٌ ؿا َگٓؼاؿ يٕرٕػی يی‬ ‫َبيیى ٔ ْؼف َگٓؼاؿ يٕرٕػی ایٍ امت کّ ٍُؼٔم ػمتگبِ ‪ ATM‬ؿا پـ کُؼ‪ ٔ .‬ػٔثبؿِ یک پیَٕؼی ٔرٕػ ػاؿػ کّ‬ ‫ييغٌ يی کُؼ ایٍ ىغٌ ثـای ایٍ ‪ Use Case‬ثبفیگـ اٍهی امت‪ .‬صبال مینتى عٕػ ؿا ػاؿیى‪ ،‬يب مّ ثبفیگـ‬ ‫يتلبٔت ٔ َیق اْؼاف يغتهلی کّ ػؿ مینتى ػَجبل يی کُ​ُؼ ؿا ييغٌ کـػیى‪ .‬ػؿ هؼو ثؼؼی يی عٕاْیى ثپـمیى‪،‬‬ ‫کّ آیب ثبفیگـ ػیگـی ٔرٕػ ػاؿػ کّ َوو عبٍی ثـای اتًبو يٕكویت آيیق یک ‪ Use Case‬ػاىتّ ثبىؼ؟ ثب َگبْی ػهین‬ ‫تـ ثّ ‪ْ Case Use‬بی ييتـی کّ ػجبؿتُؼ اف ثـػاىت اف صنبة‪ ،‬مپـػٌ پل اَؼاف‪ ،‬چک کـػٌ يٕرـٕػی صنـبة ٔ‬ ‫ؿیـِ ثّ ایٍ َتیزّ يی ؿمیى کّ ثــای ْـ یــک اف ایُٓــب َیبف ثّ یک ثبفیگـ حبَٕیّ َیق ػاؿیى‪َ ATM .‬یبف ػاؿػ کّ ثب‬ ‫مینتى ثبَک تؼبيم ػاىتّ ثبىؼ تب ثّ ْـ یک اف ایٍ اْؼاف ػمت پیؼا کُؼ‪ ،‬پل يب ثّ اؿتجبٕی ثیٍ ایٍ ‪ٔ Use Case‬‬ ‫ایٍ ثبفیگـ حبَٕیّ یؼُی ثبَک عٕاْیى ػاىت‪ .‬گبْی أهبت َیبف امت تب ثبفیگـْبی حبَٕیّ ؿا تؼییٍ کُیى ٔ گبْی أهبت‬

‫‪9‬‬

‫‪www.ParsBook.org‬‬


‫ْى َیبف َینت‪ .‬ثّ ًَٕػاؿ عٕػ َگبْی ثیُؼافیؼ ٔ اف عٕػ ثپـمیؼ کّ چّ کبؿی يی عٕاْیؼ اَزبو ػْیؼ‪ ،‬آیب ایٍ ػیبگـاو‬ ‫ثـای كًٓیؼٌ مبػِ امت؟ آیب ػؿ ْى ؿیغتّ َینت؟ آیب ٔاّش امت کّ ييتـی آؿبف کُ​ُؼِ امت؟ آیب ٔاّش امت کّ‬ ‫مینتى ثبَکی ثّ ًْـاِ ‪ Use Case‬يـثٕ​ّٕ اه ػؿ ایٍ مینتى َوو ثبفی يی کُ​ُؼ؟ ثّ َظـ يی ؿمؼ ػیبگـاو‬ ‫مبػِ ای کّ ػؿ ایٍ يخبل ؿمى کـػیى ثّ اَؼافِ کبكی ٔاّش امت‪ .‬یک ایؼِ عٕة ثـای عٕاَبتـ ىؼٌ ػیبگـاو‪ ،‬هـاؿ‬ ‫ػاػٌ ثبفیگـاٌ اٍهی ػؿ مًت چپ ٔ هـاؿ ػاػٌ ثبفیگـاٌ حبَٕیّ ػؿ مًت ؿامت امت‪.‬‬ ‫رابطه ‪ Include‬در ومىدار ‪: UC‬‬ ‫ػؿ ػیبگـاو ْبی ‪ Use Case‬ىًب اؿتجبٓ ثیٍ ‪ْ Use Case‬ب ؿا اف ٕـین ٔاثنتگی َيبٌ عــٕاْیؼ ػاػ ٔ هَؼ ػاؿیى ػؿثبؿِ‬ ‫ٔاثنــتگی ‪ٍ Include‬ضجت کُیى‪ .‬ثُبثـایٍ ػؿ ػیبگـــاو ْبی ‪ٔ ،Use Case‬اثنتگی ‪ Include‬یک اؿتجبٓ ٔارت ثیٍ ػٔ‬ ‫‪ Use Case‬ؿا تؼییٍ يی کُؼ‪ Use Case .‬ػؿعٕامت کُ​ُؼِ ثّ‪ٔ Include‬اثنتّ امت تب کبيم ىٕػ‪ .‬اربفِ ثؼْیؼ يّٕٕع‬ ‫ؿا ؿٔىٍ تـ کُیى‪ ،‬كـُ کُیؼ یک ‪ Use Case‬ػؿ عٕامت کُ​ُؼِ ػاؿیؼ کّ رٓت تکًیم ىؼٌ ثّ یک ‪ Use Case‬حبَٕیّ‬ ‫اصتیبد ػاؿػ کّ آٌ ؿا ‪ Included Use Case‬يی َبيیى‪ .‬اؿتجبٓ ثیٍ ایٍ ػٔ ‪ Use Case‬ثّ ٔمیهّ یک كهو َوّٖ چیٍ کّ‬ ‫‪َ Dependency Arrow‬بيیؼِ يی ىٕػ َيبٌ ػاػِ يی ىٕػ‪ .‬ثنتّ ثّ َٕع ٔاثنتگی ىًب يی ثبینت كهو َوّٖ‬ ‫چیٍ ؿا َبو گؾاؿی کُیؼ‪ .‬پل يب آٌ ؿا ‪ Include‬يی َبيیى‪ .‬رٓت ایٍ كهو ًْیيّ رٓت ٔاثنتگی ؿا َيبٌ يی‬ ‫ػْؼ‪.‬‬

‫ًْبَٖٕؿ کّ ػؿ ىکم يی ثیُیؼ ‪ Invoking Use Case‬ثّ ‪ٔ Included Use Case‬اثنتّ امت‪ .‬ثگؾاؿیؼ ثـای ایٍ کّ‬ ‫ٔاّش تـ ىٕػ يخبنی ثقَیى‪ .‬كـُ کُیؼ یک ثـَبيّ عـیؼ ‪ online‬ػاؿیى ٔ ‪ Use Case‬يب "اَزبو عـیؼ" امت‪ ،‬صبال ثـای‬ ‫ایٍ کّ ‪ Use Case‬اَزبو عـیؼ تکًیم ىٕػ ػؿ یک ربیی اف مینتى ثبیؼ کبؿت اػتجبؿی عـیؼاؿ چک ىٕػ ‪ .‬يب كهيی ؿا‬ ‫ثیٍ آَٓب تـمیى يی کُیى تب َيبٌ ػْیى ‪ Use Case‬اَزبو عـیؼ ثّ ‪ Use Case‬ثـؿمی کبؿت اػتجبؿی ٔاثنتّ امت‪،‬‬ ‫پل چیقی کّ ایٍ ػیبگـاو ْب َيبٌ يی ػُْؼ ایٍ امت کّ ‪ ،‬اف ‪ Use Case‬اَزبو عـیؼ تب ػمتیبثی ثّ ْؼكو يب ثبیؼ‬ ‫‪ Use Case‬ثـؿمی کبؿت اػتجبؿی ؿا اَزبو ػْیى‪ .‬ایٍ يّٕٕع ایٍ گَّٕ ػؿ َظـ ػاىتّ ثبىیؼ کّ یک ‪ Use Case‬ثّ ‪Use‬‬ ‫‪ Case‬ػیگـ اصتیبد ػاؿػ‪ Use Case ،‬اَزبو عـیؼ ثّ ‪ Use Case‬ثـؿمی کبؿت اػتجبؿی اصتیبد ػاؿػ‪ .‬پل فيبَی اف‬ ‫ٔاثنتگی ‪ Include‬امتلبػِ يی کُیؼ کّ يًٖئٍ ثبىیؼ ‪ Use Case‬ػؿعٕامت کُ​ُؼِ ثّ ‪ Use Case‬ػؿعٕامت ىؼِ‬ ‫اصتیبد ػاؿػ‪ .‬ػؿ ْـ ربیی اف ػًهیبت يی ػاَیؼ کّ ثـای اَزبو عـیؼ ثبیؼ کبؿت اػتجبؿی ؿا ثـؿمی کُیؼ‪ .‬ػؿ ‪Use Case‬‬ ‫ْبی َٕىتّ ىؼِ ثٓتـ امت فيبَی یک ‪ Use Case‬ؿا ‪ Include‬کُیؼ کّ يًٖئٍ ْنتیؼ تٕمٔ چُؼیٍ ‪ Use Case‬ػیگـ‬

‫‪10‬‬

‫‪www.ParsBook.org‬‬


‫َیبف امت‪ .‬ػؿ يخبل ‪ ATM‬ىًب ثبیؼ ٍٕؿت ّٔؼیت ؿا ثـؿمی کُیؼ هجم اف ایٍ کّ ييتـی ثغٕاْؼ پٕنی ؿا ثـػاىت‬ ‫کُؼ‪ ،‬پل ‪ Use Case‬ثـػاىت پٕل ‪ Use Case‬ثـؿمی ٍٕؿت ّٔؼیت ؿا ػؿعٕامت يی کُؼ‪ٔ .‬نی ‪ْ Use Case‬بی ػیگـ‬ ‫يخم ربثزبیی پٕل اف یک صنبة ثّ یک صنبة ػیگـ َیق َیبفيُؼ ثـؿمی ٍٕؿت ّٔؼیت ْنتُؼ‪ًْ .‬بٌ گَّٕ کّ يی‬ ‫تٕاَیؼ تَٕؿ کُیؼ ‪ Include‬ػؿ َٕىتٍ ‪ْ Use Case‬ب يـاصم فیبػی ؿا اَؼٔعتّ يی کُؼ‪ .‬يخال ‪ Use Case‬ثـػاىت اف‬ ‫صنبة یب ربثزبیی پٕل اف صنبة‪ Use Case ،‬ثـؿمی ّٔؼیت ؿا َیبف ػاؿَؼ‪ .‬ػؿ ایٍ ُْگبو ثـؿمی ّٔؼیت ؿا یک ثبؿ‬ ‫َٕىتّ ٔ مپل آٌ ؿا ثّ ٍٕؿت ‪ Include‬ثّ ‪ْ Use Case‬بیی کّ آٌ ؿا ػؿعٕامت يیکُ​ُؼ ٍٔم يی کُیى‪ .‬پل ثّ‬ ‫ػُٕاٌ َکتّ پبیبَی ‪ٔ ،‬هتی ىًب ایٍ ًَٕػاؿْب ؿا تـمیى يی کُیؼ ‪ Use Case‬ػؿعٕامت ىؼِ ًْیيّ ػؿ مًت‬ ‫ؿامت ‪ Use Case‬ػؿعٕامت کُ​ُؼِ ظبْـ يی ىٕػ‪ .‬ایٍ هـاؿػاػی امت ٔهتی کّ ٔاثنتگی ‪ Include‬ؿا تـمیى يی‬ ‫کُیؼ ػؿ ؽٍْ ػاىتّ ثبىیؼ‪ .‬ػؿ ‪ْ Use Case‬بی َٕىتّ ىؼِ اگـ ىًب یک ‪ Use Case‬ػؿعٕامت ىؼِ ؿا ثّ ػُٕاٌ یک‬ ‫‪ Use Case‬يزقا ثُٕینیؼ ٔ آٌ ؿا تٕمٔ ْـ یک اف ‪ْ Use Case‬بی ػؿعٕامت کُ​ُؼِ ‪ Include‬کُیؼ‪ ،‬ػؿ َٕىتٍ گبيٓب‬ ‫ٍـكّ رٕیی کُیؼ‪.‬‬

‫راتطَ ‪Extend‬در ًوْدار ‪: UC‬‬ ‫َٕع ػیگـی اؿتجبٓ ثیٍ ‪ْ Use Case‬ب ٔاثنتگی ‪( Extend‬گنتـه) َبيیؼِ يی ىٕػ ٔ ٔاثنتگی ‪ Extend‬یک اؿتجبٓ‬ ‫اَتغبثی ثیٍ ػٔ ‪ Use Case‬ؿا َيبٌ يیؼْؼ‪ .‬ػؿ ایٍ َٕع ٔاثنتگی ىًب ػٔ ‪ Use Case‬ػاؿیؼ ‪ ،‬يب یکی ؿا ‪ Case Use‬پبیّ‬ ‫ٔ ػیگـی ؿا ‪ Use Case‬اَتغبثی يی َبيیى‪ ٔ .‬چیقی کّ ایٍ اؿتجبٓ َيبٌ يی ػْؼ ایٍ امت کّ ‪ Use Case‬اَتغبثی‬ ‫ّٔؼیتی اف ‪ Use Case‬پبیّ ؿا ثنٔ يی ػْؼ‪.‬‬

‫ىًب ‪ Use Case‬پبیّ عٕػ ٔ یک مـی اف يـاصم کّ ایٍ ‪ Use Case‬ؿا تيکیم يی ػْؼ ؿا ػاؿیؼ‪ٔ .‬نی گبْی أهبت ػؿ‬ ‫ایٍ يـاصم‪ ،‬ىًب يی تٕاَیؼ ثـای گنتـه ‪ Use Case‬عٕػ ‪ْ Use Case‬بی ػیگـی ؿا ػؿعٕامت کُیؼ‪ .‬صبال ثّ رٓت‬ ‫كهو ٔاثنتگی ػؿ اؿتجبٓ ‪ Extend‬تٕرّ کُیؼ‪ ،‬ثغبٕـ ػاىتّ ثبىیؼ کّ رٓت كهو رٓت ٔاثنتگی ؿا تؼییٍ يی کُؼ‪.‬‬ ‫پل ‪ Use Case‬اَتغبثی ثّ ‪ Use Case‬پبیّ ٔاثنتّ امت‪ًْ .‬چُیٍ ٔهتی ػؿ صبل تـمیى ٔاثنتگی ‪ْ Extend‬نتیؼ‬ ‫ایٍ هـاؿػاػ امت کّ ‪ Use Case‬اَتغبثی ػؿ فیـ ‪ Case Use‬پبیّ هـاؿ ثگیـػ‪ .‬پل ًْبَٖٕؿ کّ گلتّ ىؼ ‪Use Case‬‬ ‫اَتغبثی ؿكتبؿی اف ‪ Use Case‬پبیّ ؿا ثٕمیهّ اّبكّ کـػٌ یک مـی اف يـاصم ثّ يـاصم هجهی يٕرٕػ ػؿ آٌ‪ ،‬گنتـه‬ ‫يی ػْؼ‪ .‬پل ثگؾاؿیؼ ثّ یک يخبل َگبْی ثیبَؼافیى ‪ ،‬تَٕؿ کُیؼ ػؿ صبل عـیؼ گبف (ثُقیٍ) ثـای عٕػؿٔی عٕػ ْنتیؼ‬ ‫ٔ هَؼ ػاؿیؼ يجهؾ آٌ ؿا اف ٕـین کبؿت اػتجبؿی پـػاعت کُیؼ‪ ،‬يب آٌ ؿا عـیؼ گبف ثب کبؿت اػتجبؿی يی َبيیى‪ .‬ػؿ یک‬ ‫ربیی اف تـاکُو ثّ ىًب پیيُٓبػ ػاػِ يی ىٕػ کّ ؿمیؼ عٕػ ؿا چبپ کُیؼ‪ .‬ثـای تکًیم ػًهیبت عـیؼ ىًب َجبیؼ‬ ‫صتًب ؿمیؼ ؿا چبپ کُیؼ ٔنی ىًب ایٍ اَتغبة ؿا ػاؿیؼ‪ .‬ثُبثـایٍ عـیؼ گبف ثب کبؿت اػتجبؿی يی تٕاَؼ ‪ Use Case‬پبیّ‬ ‫ثبىؼ ٔ چبپ ؿمیؼ يی تٕاَؼ ‪ Use Case‬اَتغبثی ثبىؼ ٔ ًْبَگَّٕ کّ گلتّ ىؼ رٓت كهو ٔاثنتگی اف ‪Use Case‬‬ ‫اَتغبثی ثّ مًت ‪ Use Case‬پبیّ امت‪ .‬پل يب اؿتجبٓ ‪ Extend‬ػاؿیى‪َ .‬گبْی ثّ آَچّ ؿط ػاػِ ثیبَؼافیؼ‪ٔ ،‬هتی يٍ‬ ‫كهو ٔاثنتگی ؿا ثـای َيبٌ ػاػٌ ٔاثنتگی ‪ Extend‬ثیٍ ایٍ ػٔ ‪ Use Case‬اّبكّ کـػو‪ ،‬كـٍتی ثـای هـاؿ ػاػٌ‬ ‫َوّٖ تٕمؼّ ػاؿو ٔ چیقی کّ ایٍ َوّٖ تٕمؼّ ثّ ىًب يی گٕیؼ ایٍ امت کّ اف کزب ػؿ ‪ Use Case‬پبیّ ‪Use Case‬‬ ‫اَغبثی َوو ؿا ثبفی يی کُؼ‪ .‬پل ػؿ ایٍ يٕؿػ ایٍ يی تٕاَؼ ربیی ثبىؼ کّ صنبة ثبؿ ىؼِ امت‪ .‬ىًب َجبیؼ صتًب‬ ‫َوبٓ تٕمؼّ ؿا ٔاؿػ کُیؼ‪ ،‬ػیبگـاو ْبی ‪ Use Case‬كـأاَی ؿا يی یبثیؼ کّ ایٍ ؿا َؼاؿَؼ ٔنی يلیؼ امت کّ ایٍ ؿا‬ ‫اّبكّ کُیؼ‪ .‬صبال ‪ Use Case‬اَتغبثی يًکٍ امت ثّ ػُٕاٌ یکی اف يـاصم يٕرٕػ ػؿ ‪ Use Case‬پبیّ ؿط ػُْؼ‪ ،‬یب‬ ‫يًکٍ امت ثّ ٕ​ٕؿ ًْقيبٌ ػؿ يـاصهی اف ‪ Use Case‬پبیّ ؿٔی ػْؼ یب يًکٍ امت ثّ ٍٕؿت يٕافی ؿٔی ػْؼ ٔ یب‬ ‫صتی ثّ ٍٕؿت ؿیـًْقيبٌ ؿٔی ػْؼ‪ْ .‬ـ یک اف آَٓب ايکبٌ پؾیـَؼ‪ٔ .‬هتی ػؿ صبل تـمیى ػیبگـاو ْبی ‪Use Case‬‬ ‫ْنتیؼ امتلبػِ اف تٕمؼّ ْب مٕػيُؼ امت ايب يًکٍ امت ثبػج ػؿ ْى ؿیغتگی ػیبگـاو ىًب ْى ىٕػ‪ ،‬هـاؿ ػاػٌ‬

‫‪11‬‬

‫‪www.ParsBook.org‬‬


‫إالػبت فیبػ ثبػج يی ىٕػ عٕاَبیی مغت تـ ىٕػ‪ .‬پل اف عٕػ ثپـمیؼ آیب ػنیهی ٔرٕػ ػاؿػ کّ يب ثغٕاْیى تٕمؼّ‬ ‫ای ؿا ػؿ ایُزب هـاؿ ػْیى‪ .‬ػؿ ُْگبو امتلبػِ اف گنتـه ْب يٕؿػ ػیگـی کّ ثبیؼ يؼ َظـ هـاؿ گیـػ ایٍ امت کّ آیب ایٍ‬ ‫تٕمؼّ ثب تٕرّ ثّ تؼـیق حبَٕیّ امت یب عیـ‪ .‬ػؿ ایٍ يخبل يًٓتـیٍ چیقی کّ اف مینتى يی عٕاْیؼ عـیؼ ىبؿژ گبف‬ ‫اف ٕـین کبؿت اػتجبؿی امت‪ ،‬چبپ ؿمیؼ چیقی امت کّ ثٕػَو ػبنی امت‪ٔ ،‬نی ایٍ ثـای ‪ Use Case‬پبیّ ّـٔؿی‬ ‫َینت‪ .‬پل ُْگبيی کّ فيبَجُؼی پـٔژِ كيـػِ امت ثّ ‪ْ Use Case‬بی تٕمؼّ يخم یک کبَؼیؼا َگبِ کُیؼ کّ يی‬ ‫ىٕػ ػؿ پیبػِ مبفی ْبی آتی اف آٌ ثٓـِ ثـػ‪.‬‬ ‫‪Generalization‬در ًوْدار ‪: UC‬‬ ‫ػؿ ‪ ،UML‬تؼًیى ًْبَُؼ يلٕٓو ىی گـایی فیـ کالك امت کّ اؿتجبٓ ثیٍ یک ‪ Case‬پبیّ ٔ یک یب چُؼ ‪ Case‬اعتَبً‬ ‫ػاػِ ىؼِ ثّ آٌ ؿا َيبٌ يی ػْؼ‪ .‬نؾا چیقی کّ ثّ آٌ اىبؿِ يی کُیى ػؿ ٔاهغ َٕػی اف مهنهّ يـاتت ٔؿاحتی‬ ‫امت‪ .‬يب یک ‪ Use Case‬اٍهی پبیّ ػاؿیى ٔ هَؼ ػاؿیى آٌ ؿا ٔانؼ ثُبيیى کّ ىبيم يزًٕػّ ييغَی اف ؿكتبؿْب‪،‬‬ ‫يضؼٔػیت ْب ٔ كـّیبت امت‪ .‬صبل ‪ْUse Case‬بی تغَیٌ ىؼِ ؿا كـفَؼ ‪ ٔ 1‬كـفَؼ ‪ 2‬يی َبيیى‪.‬‬ ‫ىًب يی تٕاَیؼ ثیو اف یک كـفَؼ َیق ػاىتّ ثبىیؼ‪ْ .‬ـ کؼاو اف ‪ْ Use Case‬بی كـفَؼ ؿكتبؿْب‪ ،‬يضؼٔػیت ْب ٔ‬ ‫كـّیبتی کّ يتؼهن ثّ ‪ٔ Use Case‬انؼ امت ؿا ثّ ًْـاِ ثؼْی کّ يتؼهن ثّ عٕػىبٌ امت‪ ،‬ػاؿَؼ‪ .‬ثُبثـایٍ كـفَؼ ‪1‬‬ ‫ًََّٕ ای اف ٔانؼ امت‪ .‬كـفَؼ ‪َ 2‬یق ًََّٕ ای اف ٔانؼ امت‪ .‬ايب تلبٔت ْبیی َیق ثیٍ ایُٓب ٔرٕػ ػاؿػ کّ ایزبة يی کُؼ‬ ‫‪ْ Use Case‬بی عبً آَٓب ؿا ثُٕینیؼ‪ .‬تؼًیى ؿٔاثٔ ؿا ثب یک كهو ًَبیو ػْیؼ کّ اف كـفَؼ ثّ ٔانؼ کيیؼِ ىؼِ‬ ‫امت‪ .‬صبل ایٍ ؿٔىی عٕة ثـای کيیؼٌ ػیبگـاو ْبمت کّ آَٓب ؿا تًیق ٔ يُظى َگّ ػاؿیؼ ٔ َیق ؿاْی ثـای کى‬ ‫کـػٌ تؼؼاػ كهو ْب يی ثبىؼ‪ .‬صبل ىًب يی تٕاَیؼ ثب امتلبػِ اف اؿتجبٕبت تؼًیى یبكتّ َيبٌ ػْیؼ کّ ایٍ ػٔ ‪Use‬‬ ‫‪ Case‬كـفَؼ ‪ٔ Use Case‬انؼَؼ ٔ اف آٌ تؼًیى یبكتّ اَؼ‪ .‬اربفِ ػْیؼ یک يخبل ٔیژِ ػیگـ ثقَیى‪ .‬یک ػمتگبِ عٕػپـػاف ؿا ثّ‬ ‫ػُٕاٌ یک مینتى پبیّ كـُ کُیؼ ٔ تـاکُو ؿا ثّ ػُٕاٌ ‪ٔ Use Case‬انؼ ػؿ َظـ ثگیـیؼ‪.‬‬

‫ْـگبِ کّ یک تـاکُو ؿا ثب ػمتگبِ عٕػپـػاف اَزبو يی ػْیؼ‪ ،‬ىًب يزًٕػّ اف ؿكتبؿْب‪ ،‬يضؼٔػیت ْب ٔ كـّیبت‬ ‫عٕاْیؼ ػاىت کّ ٔاؿػ ثبفی يی ىَٕؼ‪ .‬یک تـاکُو عبً ؿكتبؿْب‪ ،‬يضؼٔػیت ْب ٔ كـّیبت عٕػ ؿا ثّ اىتـاک يی‬ ‫گؾاؿػ‪ ،‬ايب يی تٕاَؼ اف ایٍ ثیيتـ يخم ػؿیبكت پٕل‪ ،‬ثّ صنبة گؾاىتٍ پٕل‪ ،‬اَتوبل ٔرّ ٔ ؿیـِ َیق ثبىؼ‪ .‬ایٍ ثـای‬ ‫ًَبیو اْؼاف کبكی امت ثؼاَیؼ کّ ْـ کؼاو اف ایٍ اػًبل یک تـاکُو ؿا اَزبو يی ػُْؼ‪ .‬ثـای يخبل ىًب کبؿت عٕػ‬ ‫ؿا ٔاؿػ ػمتگبِ عٕػپـػاف يی کُیؼ‪ ،‬ىًبِ ؿيق ؿا ٔاؿػ يی کُیؼ ايب ثـای ْـ کؼاو کبؿْبی ػیگـی َیق اَزبو يی ػْیؼ‬ ‫کّ ‪ Use Case‬يغًَٕ ثّ عٕػ ؿا ػاؿػ‪ .‬نؾا يب هَؼ ػاؿیى کّ اؿتجبٓ تؼًیى یبكتّ ىًب ؿا ثّ ًَبیو گؾاىتّ‪ ،‬آٌ ؿا‬ ‫يـتت تـ کـػِ ٔ تؼؼاػ پیکبَٓبیو ؿا کبْو ػْیى‪ .‬ىًب يی تٕاَیؼ ؿاثّٖ تؼًیى یبكتّ ؿا ثیٍ ‪ْ Use Case‬ب ٔ ثبفیگـْب‬ ‫ًَبیو ػْیؼ‪ .‬ثـای يخبل ىبیؼ ىًب یک ثبفیگـ ثّ َبو ييتـی ػاىتّ ثبىیؼ کّ کبؿْبی يؼیُی اَزبو يی ػْؼ‪،‬‬ ‫يضؼٔػیت ٔ يلـُٔ ْبی عبٍی ػاؿػ کّ ػؿ صبل ایلبی َوو ػؿ ایٍ مُبؿیٕ يی ثبىُؼ‪ًْ .‬چُیٍ يًکٍ امت یک‬ ‫يخبل ٔیژِ تـ ػاىتّ ثبىیؼ کّ ػؿ آٌ ثبفیگـی ثّ َبو ييتـی صوٕهی ٔرٕػ ػاىتّ ثبىؼ‪ .‬نؾا ْـ چیقی کّ ثـای ثبفیگـ‬ ‫ييتـی صویوی ٍؼم يی کُؼ ثب اَؼکی تلبٔت ثـای ييتـی صوٕهی َیق ٍؼم يی کُؼ‪ .‬ثـای يخبل ييتـی صوٕهی‬ ‫يًکٍ امت ٍؼٔؿ ٍٕؿتضنبة يبْیبَّ یب هبثهیت امتلبػِ اف ملبؿه عـیؼ ٔ ؿیـِ ؿا ػاىتّ ثبىؼ ٔ ىًب ػٔثبؿِ یک‬ ‫ؿاثّٖ تؼًیى یبكتّ ثّ ًْبٌ ىکم کّ ثـای ‪ْ Use Case‬ب ًَبیو ػاػِ ایؼ ؿا ثیٍ ثبفیگـْب َیق َيبٌ ػْیؼ‪ .‬صبل ؿاْی‬

‫‪12‬‬

‫‪www.ParsBook.org‬‬


‫کّ ثب امتلبػِ اف آٌ يی تٕاَیؼ یک ؿاثّٖ تؼًیى یبكتّ ؿا تيغیٌ ػْیؼ ایٍ امت کّ اف عٕػ مٕال کُیؼ آیب كـفَؼ‬ ‫َٕػی اف ٔانؼ يی ثبىؼ یب عیـ‪ ،‬ثؼیٍ يؼُی کّ آیب ييتـی صوٕهی آیب ٔاهؼب َٕػی اف ييتـی امت یب عیـ؟ اگـ رٕاة‬ ‫آؿی ثٕػ ىًب ػاؿای یک ؿاثّٖ تؼًیى یبكتّ عٕاْیؼ ثٕػ‪ًْ .‬یٍ ؿٔال ثـای ‪ْ Use Case‬ب ْى ػؿ َظـ گـكتّ يی ىٕػ‪.‬‬ ‫يخالً آیب اَتوبل ٔرّ یک َٕع تـاکُو امت؟ ثهّ‪ .‬آیب ػؿیبكت ٔرّ یک َٕع تـاکُو امت؟ ثهّ‪ ٔ .‬اگـ رٕاة يُلی امت‬ ‫ػیگـ یک ؿاثّٖ تؼًیى یبكتّ َغٕاْیؼ ػاىت‪ًًُّ .‬ب ایٍ يٖهت َیق َيبٌ ػاػِ ىؼِ امت کّ چـا ًَی تٕاَیؼ ثیٍ یک‬ ‫ثبفیگـ ٔ یک ‪ Case Use‬ؿاثّٖ تؼًیى یبكتّ ثـهـاؿ کـػ‪ .‬اگـ كکـ يی کُیؼ ييتـی صوٕهی یک َٕع تـاکُو امت مغت‬ ‫ػؿ اىتجبْیؼ ٔ يب يی ػاَیى کّ ایٍ ؿاثّٖ تؼًیى یبكتّ کبؿ َغٕاْؼ کـػ‪.‬‬ ‫جمع بىدی ومىدار ‪: UC‬‬ ‫ثیبییؼ َگبْی ػٔثبؿِ ثّ ػیبگـاو ‪ Use Case‬ػؿ يوبنّ هجهی ثیبَؼافیى کّ اف ٕـین آٌ يی تٕاَیى ثجیُیى چگَّٕ ایٍ ػُبٍـ‬ ‫ٔ ؿٔاثٔ ػؿ کُبؿ یکؼیگـ هـاؿ يی گیـَؼ تب تَٕیـ مـیؼی اف ایُکّ مینتى چینت یب ثؼْی اف هنًت ْبی مینتى‬ ‫چگَّٕ کبؿ يی کُ​ُؼ ثّ يب يی ػْؼ‪ .‬ػؿ ىکم یک ينتٖیم ػاؿیى کّ مینتى يب ػؿٌٔ آٌ ٔرٕػ ػاؿػ ٔ ػؿ ثبال ػُٕاٌ ٔ‬ ‫َبو ؿا ػاؿیى‪ ،‬ایٍ یک مینتى ؿفؿٔ آَالیٍ يی ثبىؼ‪ .‬ػؿ تؼبيم ثب مینتى ػؿ ایُزب یک ثبفیگـ کّ ييتـی امت ػاؿیى‬ ‫ٔ ييتـی ثب تًبو ایٍ ‪ْ Case Use‬بی يغتهق ػؿ اؿتجبٓ امت‪ْ ،‬ـ یک اف ‪ْ Use Case‬بی ػاعم مینتى ثّ ىکم‬ ‫ثیْی ٔرٕػ ػاؿَؼ‪ .‬پل ييتـی ثبفیگـ اٍهی امت کّ اف ٕـین تًبو ایٍ ‪ْ Use Case‬بی يغتهق‪ ،‬يی تٕاَؼ ثب‬ ‫مینتى ػؿ تؼبيم ثبىؼ‪ ،‬ثّ ػجبؿت ػیگـ ایُکّ ایٍ ييتـی امت کّ يی عٕاْؼ ثـای پـٔاف رنتزٕ کُؼ‪ ،‬یک ثهیٔ‬ ‫ؿفؿٔ کُؼ‪ّٔ ،‬ؼیت پـٔاف ؿا چک کُؼ ٔ ؿیـِ‪ ،‬ایٍ ييتـی امت کّ ىـٔع کُ​ُؼِ امت‪ .‬ػؿ ایُزب يب یک ثبفیگـ حبَٕیّ‬ ‫ػاؿیى‪ ،‬ػؿ ایٍ يخبل ثبفیگـ حبَٕیّ یک مینتى پـػافه ػؿیبكت ٔ پـػاعت امت‪ .‬صبال تلبٔت ثیٍ ثبفیگـ اٍهی ٔ ثبفیگـ‬ ‫حبَٕیّ ایٍ امت کّ ثبفیگـ اٍهی کنی امت کّ اف ‪ Use Case‬ىـٔع ثّ کبؿ يی کُؼ ٔ ثبفیگـ حبَٕیّ اف ٕـین ‪Use‬‬ ‫‪َ Case‬ويی ؿا ثبفی يی کُؼ‪ .‬پل ثـای يخبل ٔهتی کّ ‪" Use Case‬تبییؼ اػتجبؿ کبؿت اػتجبؿی" ارـا يی ىٕػ‪،‬‬ ‫"پـػافىگـ ػؿیبكت ٔ پـػاعت" ثّ ػُٕاٌ یک ثبفیگـ َوو عٕػ ؿا ىـٔع يی کُؼ‪ .‬ػؿ کُبؿ اؿتجبٓ ثیٍ ثبفیگـْب ٔ ‪Use‬‬ ‫‪ْ Case‬ب يب ًْچُیٍ اؿتجبٕبتی ثیٍ ‪ْ Use Case‬بی صویوی ػؿٌٔ مینتى يی ثیُیى ٔ یک يخبل عٕة ػؿ ایُزب ‪Use‬‬ ‫‪ Case‬عـیؼ ثهیٔ امت‪ Use Case .‬عـیؼ ثهیٔ ىبيم ‪" Use Case‬تبییؼ اػتجبؿ کبؿت اػتجبؿی" ٔ ًْبَگَّٕ کّ ىًب‬ ‫ٔاثنتگی ‪ Include‬کّ ثّ ىکم پیکبَی َوّٖ چیٍ ًَبیو ػاػِ يی ىٕػ ؿا كـاعٕاَی يی کُیؼ‪ .‬پل ایُکّ ‪Include‬‬ ‫ػؿ ایُزب يؼُی ای ػاؿػ ایٍ امت کّ ثـای عـیؼ ثهیٔ‪ ،‬ثـای ایُکّ ‪ Use Case‬کبيم ىٕػ‪ ،‬اثتؼا ثبیؼ ‪" Use Case‬تبییؼ‬ ‫اػتجبؿ کبؿت اػتجبؿی" تکًیم ىٕػ‪ .‬پل ثبیؼ ایٍ اتلبم ثیلتؼ هجم اف ایُکّ ‪ Use Case‬عـیؼ ثهیٔ ثتٕاَؼ کبيم ىٕػ‪Use .‬‬ ‫‪ Case‬عـیؼ ثهیٔ ًْچُیٍ یک اؿتجبٓ ‪ Extend‬ثب ‪ Use Case‬ای کّ ػؿمت ػؿ ایُزب اَتغبة ٍُؼنی امت ػاؿػ‪ .‬ػؿ ایٍ‬ ‫يخبل َوبٓ پیکبٌ ٔاثنتگی اف ‪ Use Case‬اَتغبة ٍُؼنی ثّ مًت ‪ Use Case‬عـیؼ ثهیٔ امت‪ .‬يًکٍ امت ىًب ثّ‬ ‫‪ْ Use Case‬بی ػیگـ كکـ کُیؼ‪ ،‬يًکٍ امت ثّ ؿآْبیی كکـ کُیؼ کّ هبػؿ عٕاْیى ثٕػ ثؼْی اف ایٍ ‪ْ Use Case‬ب ؿا‬ ‫تٕمؼّ ػْیى ٔنی ایٍ ؿا ػؿ ؽٍْ ػاىتّ ثبىیؼ کّ ْؼف ىًب ایٍ امت کّ ػیبگـاو عٕػ مبػِ ؿا َگّ ػاؿیؼ‪ .‬ػیبگـاو‬ ‫ًْبَگَّٕ کّ هـاؿ ػاؿػ مبػِ امت‪ ،‬كٓى آٌ مبػِ امت ٔ ایٍ ىبيم رقئیبت عیهی فیبػ کّ ثبػج ػؿ ْى ؿیغتگی‬ ‫ػیبگـاو ثيٕػ ٔ ثبػج مغت تـ ىؼٌ عٕاَبیی آٌ ثيٕػ َینت‪.‬‬

‫‪13‬‬

‫‪www.ParsBook.org‬‬


‫دیاگرام ‪Class‬در ‪: UML‬‬ ‫ػیبگـاو ْبی کالك ؿایذ تـیٍ ػیبگـاو ْبی ‪ UML‬يی ثبىُؼ‪ .‬کالك يوٕنّ ای امت کّ ػؿ آٌ اىیب يی تٕاَُؼ ٕجوّ‬ ‫ثُؼی ىؼِ ٔ یک هبنت ثـای مبعت اىیب رؼیؼ َیق كـاْى آٔؿػ‪ .‬ػؿ ٔاهغ ػیبگـاو کالك إَاع کالك ٔ اىیب ػؿ یک‬ ‫مینتى ٔ ؿٔاثٔ ثیٍ آٌ اىیب ؿا ثّ ىًب َيبٌ يی ػْؼ‪ .‬کالك ْب ػیبگـاو ْبی اینتب يی ثبىُؼ‪ .‬آَٓب ٔرٕػ ٔ ؿٔاثٔ‬ ‫ؿا َيبٌ يی ػُْؼ َّ یک ػًم‪.‬‬

‫نؾا چیقی کّ یک ػیبگـاو کالك َيبٌ يی ػْؼ‪ ،‬چگَٕگی کُبؿْى هـاؿ گـكتٍ چیقْبیی ػؿٌٔ یک مینتى امت‪ .‬ػؿ‬ ‫ایٍ يوبنّ هَؼ ػاؿیى ػؿ ؿاثّٖ ثب انًبٌ ْبی پبیّ ای ػیبگـاو ْبی کالك یؼُی کالك ْب ٔ اىیب ٍضجت کُیى‪ .‬ثـای‬ ‫ًَبیو یک کالك اف یک ٕجوّ ثُؼی کُ​ُؼِ امتلبػِ يی ىٕػ کّ ىًب يی تٕاَیؼ آٌ ؿا ثّ ىکم یک ينتٖیم کّ اف‬ ‫چُؼیٍ هنًت يغتهق تيکیم ىؼِ امت ثجیُیؼ‪ْ .‬ـ هنًت إالػبتی ػؿ ؿاثّٖ ثب کالك ؿا َگٓؼاؿی يی کُؼ‪ .‬يب ػؿ‬ ‫هنًت ثبالیی َبو کالك‪ ،‬مپل عٍَٕیبت ٔ ؿكتبؿْب کّ ػجبؿت اَؼ اف ٔیژگی ْبی کالك‪ ،‬كیهؼْب‪ ،‬ييغَّ ْب‪،‬‬ ‫ؿكتبؿ ْب ٔ ؿیـِ‪ .‬نقٔيی َؼاؿػ کّ ًْیيّ ًّْ هنًت ْبی یک کالك ؿا َيبٌ ػاػ نؾا اگـ تًبیم ػاىتیؼ کّ‬ ‫ػیبگـايتبٌ هؼؿی عٕاَبتـ ىؼ يی تٕاَیؼ ثؼْی اف ایٍ هنًت ْب ؿا يغلی کُیؼ‪ .‬چیقی کّ يٓى امت ایُکّ يب َبو‬ ‫کالك ؿا يی ػاَیى ٔ ثـای يؼیٍ کـػٌ یک کالك يب َبو کالك ؿا ػؿ هنًت ثبالیی ينتٖیم يی َٕینیى‪ْ .‬ـ َبو ثب‬ ‫صـٔف ثقؿگ ىـٔع يی ىٕػ‪ .‬ثّ ٍٕؿت تٕ پـ ( ‪َٕ )Bold‬ىتّ ىؼِ ٔ اگـ َبيی ثیو اف یک کهًّ ػاىت ًّْ کهًّ ْب‬ ‫ؿا چنجیؼِ ثّ ْى َٕىتّ ٔ اثتؼای ْـ کهًّ ؿا ثب صـف ثقؿگ يی َٕینیى‪ .‬صبل کالمٓب ٕجوّ ای اف اىیب ْنتُؼ‬ ‫ثؼیٍ يؼُب کّ ْـ ىی ًََّٕ ای اف یک کالك امت‪ ،‬چیقی کّ يتؼهن ثّ ٕجوّ ای امت کّ کالك ثّ ًَبیو‬ ‫گؾاىتّ ٔ یک ىی ػؿ یک کالك تًبو صبالت ٔ ؿكتبؿ ؿا ثّ اىتـاک يی گؾاؿػ‪ .‬ىًب ًْچُیٍ اف یک ٕجوّ ثُؼی کُ​ُؼِ‬ ‫ثـای ًَبیو ىی امتلبػِ يی کُیؼ کّ ًْبٌ ينتٖیم امت ايب َبو ىی ؿا ثّ گَّٕ ای يتلبٔت اف َبو کالك يی‬ ‫َٕینیى‪ .‬ثؼیٍ ٍٕؿت کّ ىًب اثتؼا َبو یک ىی ؿا َٕىتّ مپل ػاليت ‪ ٔ :‬ػؿ َٓبیت َبو کالك ؿا يی َٕینیى‪َ .‬بو‬ ‫ىی ثّ صـٔف کٕچک‪ ،‬مپل یک ‪َ :‬بو کالك ثب صـٔف ثقؿگ ٔ فیـ عٔ‪ .‬اربفِ ثؼْیؼ يخبنٓبیی اف کالمٓب ٔ اىیب‬ ‫ثقَیى‪ .‬چّ کالك ْبیی ؿا يی تٕاٌ ػؿ یک يؼؿمّ َبو ثـػ‪ ،‬ثّ ػجبؿت ػیگـ يؼؿمّ ؿا ثّ چّ يّٕٕػبتی يی تٕاٌ‬ ‫ٕجوّ ثُؼی کـػ‪ .‬یکی اف کالمٓب يؼهى‪ ،‬یکی ػیگـ ػاَو آيٕف ٔ ىبیؼ کالك يؼیـ‪ًْ .‬چُیٍ يی تٕاٌ کالك ػؿك ٔ‬ ‫اتبم ػؿك ؿا ْى يؼ َظـ هـاؿ ػاؿػ کّ انجتّ ایٍ كؤ یک ىـٔع امت‪ .‬ثؼیٓی امت ُْگبيی کّ ثّ ایٍ يّٕٕع كکـ‬ ‫يی کُیؼ يًکٍ امت تؼؼاػ فیبػی کالك ػؿ مینتى ٔرٕػ ػاىتّ ثبىؼ‪ .‬ثـای يخبل ثـای کالك ػؿك يی تٕاٌ‬ ‫اىیبیی کّ يتؼهن ثّ ایٍ کالك اَؼ يخم ػؿك تبؿیظ‪ ،‬ػؿك ؿیبّی ٔ ػؿك اَگهینی ؿا تؼـیق کـػ‪ .‬يی ثیُیى کّ ایٍ‬ ‫یک کالك امت فیـا ثّ ًْبٌ ىکهی کّ ٕجوّ ثُؼی کُ​ُؼِ ْب تؼـیق يی ىَٕؼ تؼـیق ىؼِ امت ٔ اف َبو اىیب يی‬

‫‪14‬‬

‫‪www.ParsBook.org‬‬


‫ػاَیى کّ ایٍ اىیب ًََّٕ ْبیی اف کالك يؾثٕؿ ْنتُؼ‪ًْ .‬چُیٍ يی تٕاٌ اىیبی ثؼٌٔ َبو تؼـیق کـػ ثؼیٍ ىکم کّ‬ ‫ثّ ربی َبو ػؿ ػُٕاٌ اثتؼا یک ‪ :‬مپل َبو کالك ؿا ؽکـ يی کُیى‪.‬‬

‫خصْصیات ّ رفتار یک کالش ‪:‬‬ ‫ًْبٌ ٕ​ٕؿ کّ ػیؼیؼ یک کالك‪ ،‬يزًٕػّ ای اف اىیب امت کّ ثّ آٌ تؼهن ػاؿَؼ‪ْ .‬ـ کالك اف ٕـین عٍَٕیبتو‬ ‫ييغٌ (يتًبیق) يی ىٕػ‪ .‬ایُٓب عٍَٕیبت ٔ ؿكتبؿ ْنتُؼ‪ .‬ایٍ عٍَٕیبت ٔ ؿكتبؿْب ثٕمیهّ اىیب ػؿٌٔ کالك ثّ‬ ‫اىتـاک گؾاىتّ يی ىَٕؼ‪ .‬ػؿ ایُزب َیق اف ًَبػْبیی ثـای ًَبیو کالك امتلبػِ يی کُیى‪ًَ .‬بػ کالك یک‬ ‫ينتٖیم امت کّ ثّ چُؼ هنًت تونیى ىؼِ امت‪ .‬هنًت ثبالیی َبو کالك امت کّ صتًب ثبیؼ َٕىتّ ىٕػ‪.‬‬ ‫ىًب َیبفی َؼاؿیؼ کّ ْـ ‪ 3‬هنًت ؿا ًَبیو ػْیؼ ٔ يی تٕاَیؼ كؤ آَٓبیی کّ َیبف امت ؿا َيبٌ ػْیؼ ٔنی يی‬ ‫ػاَیؼ کّ َبو کالك ّـٔؿی امت يخم کالك کبؿيُؼ کّ ػؿ ىکم يی ثیُیؼ‪ .‬هنًت يیبَی عٍَٕیبت کالك ؿٔ‬ ‫َگٓؼاؿی يیکُؼ‪ .‬عٍَٕیبت ( ‪ )Attributes‬عٕاً (‪ْ )Properties‬نتُؼ‪ .‬ثٕیژِ آَٓب عٕاٍی ْنتُؼ کّ یک مینتى‬ ‫ثـای تًبو ًََّٕ اف کالك عبً پیؼا يیکُؼ‪ .‬یک عٍَٕیت ػؿمت ىجیّ یک كیهؼ ػؿ ٕـاصی پبیگبِ ػاػِ امت‪ ٔ .‬ػؿ‬ ‫ایُزب ىًب يی تٕاَیؼ گـايـ ثـای یک عٍَٕیت ؿا ثجیُیؼ‪ .‬ىًب يی عٕاْیؼ َبو عٍَٕیت ؿا ثب صـٔف کٕچک مـٔع‬ ‫کُیؼ‪ .‬اگـ عٍَٕیت ىًب ثیيتـ اف یک کهًّ ثٕػ‪ ،‬ىًب ثبیؼ کهًّ ْب ؿا ػؿ کُبؿ ْى ثّ کبؿ ثجـیؼ ٔ صـٔف أل ْـ کهًّ‬ ‫ؿا ثقؿگ ثُٕینؼ‪.‬ػؿ ایُزب يب یک ‪ :‬ػاؿیى‪ .‬کّ َٕع ػاػِ ای عٍَٕیت ؿا ؿىتّ‪ ،‬ػؼػ‪ ،‬ػهیوّ ٔ یب ْـ چیق ػیگـ ييغٌ‬ ‫يی کُؼ‪ .‬ىًب َیبفی ثّ ٔاؿػ کـػٌ َٕع ػاػِ ای عٍَٕیت َؼاؿیؼ‪ .‬ايب ىًب ثبیؼ َبو عٍَٕیت ْب ؿا ٔاؿػ کُیؼ‪ .‬إالػبت‬ ‫اّبكّ يی تٕاَؼ يلیؼ ثبىؼ‪.‬‬

‫عٍَٕیت ْبیی کّ ىًب ایُزب يی ثیُیؼ ػؿ ْـ عٔ ثّ نینت ىؼِ اَؼ ٔ اف کالك کبؿيُؼ يب امتلبػِ ىؼِ امت‪.‬‬ ‫ثیبیؼ َگبْی ثّ چُؼ يخبل اف عٍَٕیبت ثیُؼافیى‪ .‬ثّ افای ْـ ًََّٕ اف کالك کبؿيُؼ‪ ،‬عٍَٕیبت ىبيم َبو کّ اف َٕع‬ ‫ؿىتّ‪َ ،‬بو عبَٕاػگی کّ ثبف ْى اف َٕع ؿىتّ‪ ،‬ىًبؿِ کبؿيُؼی اف َٕع ػؼػ ٔ ػمتًقػ کّ اف َٕع ػاػِ ای پٕنی(ػالؿ)‬ ‫يی ثبىؼ‪ .‬ثُبثـایٍ ػؿ ایُزب عٍَٕیت ْبی يغتهلی ٔرٕػ ػاؿػ ٔ ثـای ٕـاصی پبیگبِ ػاػِ كیهؼ ْبی يغتهلی‪ .‬کالك‬ ‫ْب ًْچُیٍ ىبيم ػًهیبت ْنتُؼ‪ .‬یک ػًهیبت ىبيم چُؼ تبثغ امت کّ یک ىیء يیتٕاَؼ اَزبو ػْؼ یب يی تٕاَؼ‬ ‫تٕمٔ ىیء پبیبٌ پؾیـػ‪.‬ىًب عٕاْیؼ ػیؼ ػًهیبت ثب تٕاثغ َيبٌ ػاػِ يی ىَٕؼ‪ .‬ایٍ يیتٕاَؼ ثـای كًٓیؼٌ آَٓب ؿاْی‬ ‫يلیؼ ثبىؼ‪ .‬ػًهیبت ػؿ هنًت پبییُی کالك يی آیُؼ ٔ ػاؿای گـايـ فیـ ْنتُؼ ‪َ :‬بو ػًهیبت ثب صـٔف کٕچک آؿبف‬ ‫يی ىٕػ‪ ،‬اگـ َبو آٌ ثیيتـ اف یک کهًّ ػاىتّ ثبىؼ‪ ،‬کهًّ ْب ثب ْى تـکیت يی ىَٕؼ ٔ صـٔف أل ْـ کهًّ ثب‬ ‫صـٔف ثقؿگ َٕىتّ يی ىٕػ‪.‬ثُبثـایٍ يب َبو ػًهیبت ؿا ػاؿیى‪ .‬ػؿٌٔ پـاَتق نینتی اف پبؿايتـ ْبی ٔؿٔػی (کّ ػؿ‬ ‫ٍٕؿتی کّ ثیيتـ اف یکی ثبىُؼ) ثب ٔیـگٕل اف ْى رؼا يی ىَٕؼ ؿا ػاؿیى ٔ ػؿ اَتٓب َٕع ػاػِ ای کّ ثـگـػاَؼِ يی‬ ‫ىٕػ‪ًْ .‬بَُؼ عٍَٕیبت‪ ،‬ػًهیبت ػؿٌٔ هنًت کالك ػؿ ْـ عٔ نینت ىؼِ اَؼ‪ .‬ػؿٌٔ کالك کبؿيُؼ چُؼ ػًهیبت‬ ‫يًکٍ آٔؿػِ ىؼِ امت‪ .‬ایٍ ػًهیبت ػجبؿتُؼ اف امتغؼاو ىؼٌ‪ ،‬تؼییٍ يوؼاؿ صوٕم کّ اف َٕع ػؼػی اؿمبل يی‬ ‫ىٕػ‪،‬گـكتٍ صوٕم کّ يوؼاؿی ػؼػی ؿا ثبف يی گـػاَؼ‪.‬ثُبثـایٍ ایُٓب تٕاثؼی ْنتُؼ کّ کالك يی تٕاَؼ اَزبو ػْؼ یب‬ ‫يی تٕاَؼ تٕمٔ کالك پبیبٌ پؾیـػ‪ .‬یک چیق ػیگـ ػؿ يٕؿػ عٍَٕیبت ٔ ػًهیبت ایٍ امت کّ ىًب يی تٕاَیؼ ايکبٌ‬ ‫ػیؼٌ (هبثهیت ػیؼٌ) ثـای ْـ عٍَٕیت ٔ ػًهیبت تؼییٍ کُیؼ‪ .‬ىًب يًکٍ ثٕػ عٍَٕیت ٔ ػًهیبت ػًٕيی ػاىتّ‬ ‫ثبىیؼ‪ .‬انًبٌ ػًٕيی ثّ يؼُبی آٌ امت کّ انًبٌ يی تٕاَؼ تٕمٔ ًّْ کالك ْب ػیؼِ ىٕػ‪ .‬ىًب انًبٌ ػًٕيی ؿا‬ ‫ثب ػاليت يخجت (‪ )+‬ػؿ ؿٔثـٔی َبو انًبٌ ييغٌ يی کُیؼ‪ .‬ثّ ٕ​ٕؿ ييبثّ یک انًبٌ يی تٕاَؼ عٍَٕی ثبىؼ‪.‬‬

‫‪15‬‬

‫‪www.ParsBook.org‬‬


‫انًبٌ ْبی عٍَٕی كؤ ػؿٌٔ ًْبٌ کالك عٕػىبٌ هبثم ػمتـمی اَؼ‪ .‬انًبٌ ْبی عٍَٕی ثب یک ػاليت (‪ )-‬ػؿ‬ ‫ؿٔثـٔی َبييبٌ ييغٌ يی ىَٕؼ‪ .‬ػٔ َٕع ػمتـمی ػیگـ َیق ٔرٕػ ػاؿػ‪ :‬يضبكظت ىؼِ کّ ثب ػاليت (‪ًَ )#‬بیو‬ ‫ػاػِ يی ىٕػ ایٍ ػاليت َيبٌ يی ػْؼ انًبٌ ثـای فیـ کالك ْبی ایٍ کالك هبثم ػیؼٌ ٔ امتلبػِ يی ثبىؼ ٔ‬ ‫ثنتّ ثُؼی کّ ثب ػاليت (~) ًَبیو ػاػِ يی ىٕػ ٔ يؼُبی آٌ امت کّ تُٓب کالك ْبی يٕرٕػ ػؿ یک پکیذ يی‬ ‫تٕاَُؼ انًبٌ ؿا ػیؼِ ٔ اف آٌ امتلبػِ کُ​ُؼ‪ .‬ثـای پکیذ ْبی ػیگـ كؤ ػُٕاٌ آٌ ًَبیو ػاػِ يی ىٕػ‪.‬‬

‫کلیشَ کردى ‪:‬‬ ‫کهیيّ کـػٌ ‪ ،‬ايکبٌ گنتـه ‪ UML‬ؿا يی ػْؼ‪ .‬گبْی أهبت فيبَی کّ یک كـایُؼ یب مینتى کنت ٔ کبؿ ؿا‬ ‫يؼننبفی يی ًَبییؼ‪ ،‬يًکٍ امت ثّ ػُبٍـی اصتیبد پیؼا کُیؼ کّ رقء ‪ UML‬ثّ صنبة ًَی آیُؼ ايب ىجبْتٓبیی ثب‬ ‫ػُبٍـ اٍهی آٌ ػاؿَؼ کّ ثب امتلبػِ اف آٌ (کهیيّ کـػٌ)‪ ،‬ػُبٍـ ‪ UML‬ؿا ثـصنت َیبف گنتـه يی ػْیؼ‪ .‬ثُبثـایٍ‬ ‫کهیيّ کـػٌ‪ ،‬ایٍ ايکبٌ ؿا يی ػْؼ کّ يُظٕؿ عبً عٕػ ؿا ثـ ‪ UML‬اػًبل کُیؼ‪ .‬فيبَی کّ ثّ کالمٓب َگبِ يی‬ ‫کُیى‪ ،‬عٕاْیى گلت کّ کهیيّ ی كٕم اف یک کالك َتیزّ يیيٕػ ٔ يُظٕؿ کالك ؿا يی ؿمبَؼ ٔ هٕاػؼ آٌ ؿا ثب‬ ‫یکؼیگـ يتًبیق يی مبفػ‪ .‬يخال ًْبَٖٕؿ کّ يی ثیُیؼ‪ 3 ،‬کالك يتلبٔت ػاؿیى کّ ْـکؼاو کهیيّ ٔ تّٕیضبت عبً‬ ‫عٕػ ؿا ػاؿَؼ ٔ چیقی کّ َيبٌ يی ػُْؼ ایٍ امت کّ کالمٓب ثب ‪ ،stereotype interface‬کالمٓب ثب ‪enumeration‬‬ ‫‪ ٔ stereotype‬کالمٓب ثب ‪ primitive stereotype‬هٕاػؼ يتلبٔت ٔ عبً عٕػ ؿا ػؿ مینتى ػاؿَؼ‪ ًّْ .‬ی ایٍ يؼنٓب‪ ،‬اف‬ ‫ػُبٍـ کالمٓب يُتذ يی ىَٕؼ ايب ْـکؼاو عٍَٕیبت ( ‪ )properties‬عبً عٕػ ؿا ػاؿَؼ کّ يُبمت ثـای آٌ‬ ‫‪ Stereotype‬يی ثبىؼ‪ .‬ثُبثـایٍ کهیيّ کـػٌ امبمب اربفِ يیؼْؼ کّ ػُبٍـ ‪ UML‬ؿا اعتَبٍی یب ملبؿىی ًَبییؼ‪.‬‬ ‫ًْبَٖٕؿ کّ ػؿ ىکم كٕم يی ثیُیؼ‪ ،‬کهیيّ ْب ثب یک َبو يبَُؼ َٕع ‪ interface‬اؿایّ يی ىَٕؼ کّ ػاعم ػاليت <<‬ ‫>> هـاؿ يی گیـَؼ ثّ آَٓب ‪ GMA‬گلتّ يی ىٕػ‪ .‬يًکٍ امت آَٓب ؿا ثّ ىکم ػالئى َوم هٕل (" ") ػؿ فثبَٓبیی يخم‬ ‫كـاَنٕی یب ایتبنیبیی ػیؼِ ثبىیؼ‪ .‬عیهی ىجیّ ثّ ‪ 2‬ثـاکت ثبف ىؼِ ْنتُؼ ٔ عیهی اف يـػو ‪ 2‬تب ثـاکت ؿا ثب ‪GMA‬‬ ‫ػُٕ يیکُ​ُؼ‪ .‬پل ایُٓب‪َ ،‬بو کهیيّ ؿا ػؿثـ يی گیـَؼ ٔ إالػبتی ػؿثبؿِ کالمی کّ اعتَبٍی ىؼِ‪ ،‬ثّ ىًب‬ ‫يیؼُْؼ‪ .‬يًکٍ امت کهیيّ ْب ثـای کالمٓب ػؿ ًَٕػاؿْبی کالك َتیزّ گـكتّ ىَٕؼ ايب يلٕٓو کهیيّ ثـای ػیگـ‬ ‫ػُبٍـ‪َ UML‬یق ثکبؿ يی ؿٔػ‪ .‬ثـای يخبل‪ ،‬ػؿ ‪ْ Use Case‬ب‪ ،‬ػیؼیى کّ چگَّٕ ٔاثنتگی ْب يی تٕاَُؼ ثـای ًَبیو َٕع‬ ‫عبٍی اف ٔاثنتگی‪ ،‬کهیيّ ىَٕؼ‪ .‬یک يخبل ایٍ امت کّ ؿٔاثٔ ‪ْ Use Case،Extend‬ب ؿا تٕمؼّ يی ػُْؼ ٔ یب َٕع‬ ‫ػیگـی اف ٔاثنتگی‪ Use Case ،‬ػیگـ ؿا ‪ Include‬يی کُؼ‪.‬‬

‫ثُبثـایٍ کهیيّ کـػٌ يی تٕاَؼ ثـای إَاع يغتهلی اف ػُبٍـ ‪ UML‬ػؿ ْـ فيبٌ کّ َیبف ػاؿیؼ يؼُی یک انًبٌ عبً ؿا‬ ‫كـاتـ اف آَچّ ‪ UML‬اربفِ يیؼْؼ تّٕیش ػْیؼ‪ ،‬ثکبؿثـػِ يی ىٕػ‪ .‬ثّ عبٕـ ػاىتّ ثبىیؼ کّ ‪ UML‬اَؼٖبف پؾیـ‬ ‫ٕـاصی ىؼِ امت ٔ ٕ​ٕؿی ٕـاصی ىؼِ امت کّ ثـای يؼنٓبیی کّ ٕـاصی يی کُیؼ‪ ،‬هبثم گنتـه ثبىؼ‪.‬‬

‫‪16‬‬

‫‪www.ParsBook.org‬‬


‫ّاتستگی ّ چٌذگاًگی در کالسِا ‪:‬‬ ‫کالمٓب كؤ ثـای تؼـیق‪ٔ ،‬رٕػ ػاىتٍ ٔ هـاؿ گـكتٍ ػؿ ًَٕػاؿْب َٕىتّ ًَی ىَٕؼ‪َٕ .‬ع ْبی يغتهلی اف ؿٔاثٔ ؿا ثب‬ ‫یکؼیگـ ػاؿَؼ‪ .‬عٕة صبل ػؿ يٕؿػ ؿاثّٖ ٔاثنتگی ٍضجت عٕاْیى کـػ‪ٔ .‬اثنتگی ؿاثّٖ ی ثیٍ ػٔ کالك ؿا َيبٌ يی‬ ‫ػْؼ‪ .‬ثّ ثیبٌ ػیگـ‪ ،‬اگـ یک ؿاثّٖ يؼُبػاؿ ثیٍ ػٔ کالك ثـهـاؿ ثبىؼ يی گٕییى کّ ایٍ کالمٓب ٔاثنتّ ْنتُؼ‪.‬‬ ‫يؼًٕال ٔاثنتگی ْب ػالنت ثـ ٔرٕػ یک ؿاثّٖ ػاؿَؼ‪ .‬یک يخبل ؿٔىٍ يی کُؼ کّ يٖبنت گلتّ ىؼِ ثّ چّ يؼُی‬ ‫امت‪ .‬يخبل ؿا ثؼیٍ گَّٕ ثیبٌ يی کُیى کّ یک کالك ػاؿیى کّ آٌ ؿا کالك يؼیـ ( ‪ ٔ )Manager Class‬کالك ػٔو ؿا‬ ‫کالك کبؿيُؼ (‪ )Employee Class‬يی َبيیى‪ .‬اگـ ٔاثنتگی ایٍ ػٔ کالك ؿا ثب کيیؼٌ عٔ ثیٍ آَٓب َيبٌ ػْیى‪،‬‬ ‫يیتٕاَیى ایُگَّٕ ثـػاىت کُیى کّ یک يؼیـ‪ ،‬یک کبؿيُؼ ػاؿػ‪ًْ .‬چُیٍ يی تٕاَیى ایُگَّٕ ْى ثغٕاَیى کّ یک کبؿيُؼ‪،‬‬ ‫یک يؼیـ ػاؿػ‪ .‬عٕة يی تٕاَیى ایٍ ؿاثّٖ ؿا ػؿ ٍٕؿتی کّ َٕع ْبی ثیيتـی اف یک صبنت ؿا ثغٕاْیى‪َ ،‬بيگؾاؿی کُیى‪.‬‬ ‫پل يی تٕاَیى ثگٕییى "يؼیـیت" یب " ‪ ."manages‬ؿاثّٖ ‪ association‬ؿا يی تٕاَیؼ ثب كؼم عبٍی کّ َيبٌ ػُْؼِ َٕع‬ ‫‪ْ Association‬نت‪َ ،‬بيگؾاؿی ًَبییؼ ٔ يبَُؼ ىکم فیـ‪ ،‬رٓت کبؿکـػ آٌ ؿا ًَبیو ػْیؼ‪ .‬يی تٕاَیؼ ایٍ کبؿ ؿا ثب‬ ‫ؿٔىٓبی يغتهلی اَزبو ػْیؼ‪ .‬يی تٕاَیؼ اف كهو ػؿ رٓت ًَبیو كؼم ( ‪ )>manages‬ثّ ربی عٔ ؿامت امتلبػِ‬ ‫ًَبییؼ کّ يؼُی آٌ يی ىٕػ‪ ،‬یک يؼیـ یک کبؿيُؼ ؿا يؼیـیت يی کُؼ‪ًْ .‬چُیٍ يی تٕاَیؼ ثب یک َبو ٔاهؼی آٌ ؿا‬ ‫َيبٌ ػْیؼ‪ ٔ .‬ثٓتـ امت کّ كؼم يـثٕ​ّٕ ؿا ػؿ یک يخهج پـ ًَبیو ػْیى ايب ایٍ اثقاؿ اربفِ ًْچیٍ ًَبیيی ؿا ثّ‬ ‫يٍ ًَی ػْؼ‪ .‬پل كؤ اف ػاليت < ثـای ًَبیو رٓت امتلبػِ يی ىٕػ کّ يُظٕؿ ؿا يی ؿمبَؼ ٔ ایٍ يّٕٕع‬ ‫يًٓی امت‪ .‬ثُبثـایٍ ًْبَٖٕؿ کّ گلتى ؿاثّٖ ‪ Association‬کّ ػاؿیى ایٍ امت کّ یک يؼیـ‪ ،‬یک کبؿيُؼ ؿا يؼیـیت‬ ‫يی کُؼ‪ًْ .‬چُیٍ يی تٕاَیؼ ایٍ ؿاثّٖ ؿا ػؿ رٓت ػیگـ ػاىتّ ثبىیؼ‪ .‬یک کبؿيُؼ‪ ،‬ثـای یک يؼیـ کبؿ يیکُؼ‪ .‬ثّ‬ ‫ىـٕی کّ ييغٌ ىٕػ کّ ایٍ ‪ Association‬ػؿ چّ رٓتی کبؿ يی کُؼ‪.‬‬

‫ًْچُیٍ يی تٕاَیؼ ًََّٕ ْبی پیچیؼِ تـی اف یک کالك ػاىتّ ثبىیؼ‪ .‬يخال‪ ،‬کالمی ػاؿیى ثّ َبو ‪ .Play‬ػؿ‬ ‫ٔاثنتگی ثب ایٍ کالك‪ ،‬کالك ْبی کبؿگـػاٌ ( ‪ ،)Director‬ثبفیگـ (‪ًْ ،)Actor‬بُْگ کُ​ُؼِ (‪ ،)Set‬ىبیؼ کالك‬ ‫پيتیجبَی (‪ْ ... ٔ )prop‬ى ػاىتّ ثبىیى‪ .‬يی تٕاَیى ثـای تًبو ایٍ کالمٓب ؿاثّٖ ‪ association‬ثب کالك ‪ Play‬ػاىتّ‬ ‫ثبىیى ٔ اگـ ثغٕاْیى يی تٕاَیى ثّ ایٍ ‪ْ Association‬ب َبيی ؿا اعتَبً ػْیى یب َؼْیى‪ .‬ثبفی‪ ،‬ثبفیگـاَی ػاؿػ ٔ‬ ‫ثبفیگـاٌ‪ ،‬ثبفی يی کُ​ُؼ‪ .‬ثبفی‪ًْ ،‬بُْگ کُ​ُؼِ ػاؿػ ٔ ًْبُْگ کُ​ُؼِ ٔاثنتگی ثب ثبفی ػاؿػ ٔ ‪....‬‬

‫پل ایٍ ؿاِ ػیگـی امت کّ يی تٕاَیؼ کالمٓبی ْى پیَٕؼ ػاىتّ ثبىیؼ‪ .‬يی تٕاَیؼ چُؼیٍ کالك پیٕمتّ ثب یک‬ ‫کالك ثغًَٕ ػاىتّ ثبىیؼ‪ًْ .‬چُیٍ يی تٕاَیؼ ؿاثّٖ ٔاثنتگی ثبفتبثی ( ‪ )Reflexive Association‬یب ؿاثّٖ‬ ‫ٔاثنتگی ثب ًْبٌ کالك ػاىتّ ثبىیؼ‪ .‬ایٍ فيبَی اتلبم يی اكتؼ کّ اىیب ػؿ کالك يی تٕاَُؼ ثیيتـ اف یک َوو‬ ‫ؿا ػاىتّ ثبىُؼ ٔ يخبنی کّ ىکم آٌ ؿا ػؿ فیـ يی ثیُیؼ يُظٕؿ يٍ ؿا تّٕیش يی ػْؼ‪ .‬ؿاثّٖ ثبفتبثی ؿا ثب کيیؼٌ‬ ‫یک عٔ کّ اف کالك عبؿد ىؼِ ٔ مپل يزؼػ ثّ کالك ثبف يیگـػػ‪ًَ ،‬بیو يی ػُْؼ ٔ َويٓب ٔ ػًم ْب ؿا رٓت‬ ‫ًَبیو َضِٕ کبؿکـػ ؿاثّٖ پیٕمتّ ثبفتبثی َبيگؾاؿی يی کُیؼ‪ .‬ثُبثـایٍ کالمی ػاؿیى ثّ َبو ‪ Orchestra‬کّ اػْبیی‬ ‫ػاؿػ کّ يًکٍ امت َويٓبی يتلبٔتی ػاىتّ ثبىُؼ‪ .‬پل یک ؿْجـ اؿکنتـ ػاؿیى کّ تؼؼای َٕافَؼِ ( ‪ )musician‬ؿا‬ ‫ػؿ یک اؿکنتـ ؿْجـی يی کُؼ‪ .‬صبل يًٖئُى يتٕرّ ىؼیؼ کّ ػؼػ ٔ متبؿِ ای کّ ػؿ ىکم ثبال ييغٌ امت‪،‬‬ ‫َيبٌ ػُْؼِ چُؼگبَگی ( ‪ )Multiplicity‬يی ثبىؼ‪ .‬چُؼگبَگی َيبٌ ػُْؼِ تؼؼاػ اىیبیی ػؿ یک کالك امت کّ يی‬

‫‪17‬‬

‫‪www.ParsBook.org‬‬


‫تٕاَُؼ ثب یک ىی ػؿ کالك ْى پیَٕؼ‪ٔ ،‬اثنتگی ػاىتّ ثبىُؼ‪ .‬ثّ ػوت ثـيیگـػیى ٔ ثّ يخبل ٔاثنتگی کبؿيُؼ ٔ‬ ‫يؼیـ يی ؿمیى‪ .‬يی تٕاَیؼ یک يؼیـ ؿا ثّ تؼؼاػی کبؿيُؼ پیَٕؼ ػْیى کّ * َيبٌ ػُْؼِ تؼؼاػی (یب ثیيتـ اف یک)‬ ‫امت ٔ يی تٕاَیؼ ػؿ کُبؿ کالك يؼیـ ‪ 1‬ؿا هـاؿ ػْیؼ کّ َيبٌ ػُْؼِ "یک يؼیـ" امت (انقايی َینت)‪ .‬ثُبثـایٍ یک‬ ‫يؼیـ ػاؿیى کّ کبؿيُؼاَی ؿا يؼیـیت يیکُؼ‪َٕ ٔ .‬ع ْبی يغتهلی اف چُؼگبَگی ػاؿیى کّ يی تٕاَیؼ ػؿ ؿٔاثٔ ٔاثنتگی‬ ‫َيبٌ ػْیؼ کّ ثـای ىًب تـتیت ػاػِ ىؼِ اَؼ‪ .‬يی تٕاَیؼ ؿاثّٖ یک ثّ یک ػاىتّ ثبىیؼ‪ .‬یک کًپبَی‪ ،‬یک يؼیـ ػاؿػ‬ ‫ٔ ًْبَٖٕؿ کّ هجال گلتّ ىؼ‪ ،‬ػؼػ ‪ 1‬ؿا ثُٕینیؼ یب َُٕینیؼ يٓى َینت‪ .‬ػؿ يخبل ثؼؼی ؿاثّٖ یک ثّ چُؼ ًَبیو‬ ‫ػاػِ ىؼِ امت‪ .‬یک کتبثغبَّ‪ ،‬تؼؼاػی کتبة ػاؿػ‪ .‬ثؼالِٔ يی تٕاَیؼ اػؼاػ يـثٕٓ ثّ چُؼگبَگی ؿا ثبال یب پبییٍ عٔ هـاؿ‬ ‫ػْیؼ‪ْ ،‬ـرب کّ صبنت ثٓتـی ػاىتّ ثبىؼ‪ .‬ػؿ يخبل ثؼؼ‪ ،‬یک ٔکیم ػاؿیى کّ یک یب تؼؼاػی يٕکم ػاؿػ‪.‬‬

‫اگـ ثغٕاْیؼ اف یک تب تؼؼاػ ثیيتـی ؿا ًَبیو ػْیؼ اف ػاليت ‪ *..1‬امتلبػِ يی ًَبییؼ‪ .‬ثُبثـایٍ یک ٔکیم‪ًَ ،‬بیُؼِ‬ ‫یک یب تؼؼاػی يٕکم عٕاْؼ ثٕػ‪ .‬صبل اگـ ثغٕاْیؼ ثزبی یک تب تؼؼاػی عبً‪ ،‬ثبفِ ای ؿا َيبٌ ػْیؼ يی تٕاَیؼ ایٍ‬ ‫ػًم ؿا ثب ػاليت ‪ًَ M..1‬بیو ػْیؼ‪ .‬ػؿ يخبل ثؼؼی یک يؼهى يی تٕاَؼ اف ‪ 1‬تب ‪ 20‬ػاَو آيٕف ػاىتّ ثبىؼ ثُبثـایٍ‬ ‫اگـ يضؼٔػیتی ػؿ کالك ثبىؼ‪ ،‬یک يؼهى يی تٕاَؼ صؼاهم ‪ ٔ 1‬صؼاکخـ ‪ 21‬ػاَو آيٕف ؿا تؼهیى ػْؼ‪ .‬يی تٕاَیؼ ؿاثّٖ‬ ‫چُؼگبَگی ؿا َيبٌ ػْیؼ کّ اف یک ىـٔع َيٕػ‪ .‬ثـای يخبل یک ػمتّ کبؿت يی تٕاَؼ اف ‪ 48‬تب ‪ 52‬کبؿت ػاىتّ ثبىؼ‬ ‫کّ ثنتگی ثّ َٕع ثبفی ػاؿػ‪ .‬ييبثٓب يی تٕاَیؼ ‪ 1‬یب ‪ 0‬ؿا ػاىتّ ثبىیؼ‪ .‬يخال یک عبَّ يیتٕاَؼ ْیچ یب یک اتبم فیـ‬ ‫ىیـٔاَی ػاىتّ ثبىؼ‪ ٔ .‬مـاَزبو‪ ،‬یک يخبل اف ؿاثّٖ ٔاثنتگی؛ کّ ػؿ ْـ ػٔ کالك ٔاثنتگی ٔرٕػ ػاؿػ‪ .‬یک پب‪5 ،‬‬ ‫اَگيت ػاؿػ‪ .‬پل يخبنٓبی يغتهلی ثـای ًَبیو چُؼگبَگی اؿایّ ىؼ‪ .‬يی تٕاَیؼ ؿاثّٖ ‪ 1‬ثّ ‪ 1‬یب ‪ 1‬ثّ چُؼ ػاىتّ‬ ‫ثبىیؼ کّ ؿاثّٖ ‪ 1‬ثّ چُؼ‪َٕ ،‬ع ثبفِ ای ػاؿػ ٔ یب ػؿ ْـ ٕـف يی تٕاَؼ هـاؿ ثگیـػ‪.‬‬

‫کالسِای ّاتسطَ ‪:‬‬ ‫ػؿ تلکـ ػؿ ؿاثّٖ ثب ٔاثنتگی‪ ،‬ىًب يًکٍ امت ثّ ایٍ َکتّ تٕرّ کُیؼ کّ اؿتجبٓ ثیٍ کالمٓب ًْٕاؿِ ؿٔاثٔ‬ ‫مبعتبؿيُؼی َینت‪ .‬ػؿ ٔاهغ یک ٔاثنتگی يًکٍ امت ٔیژگی ْبی عبً عٕػ ؿا ػاىتّ ثبىؼ‪ًْ .‬بَُؼ کالمٓب‪،‬‬ ‫ٔاثنتگی ْب يی تٕاَُؼ ىبيم عٍَٕیبت ٔ ؿكتبؿْبیی ثبىُؼ‪ .‬ة ؿای ًَبیو ٔاثنتگی ٔ ًْچُیٍ ٔیژگی ْبی‬ ‫يـثٕٓ ثّ آٌ‪ ،‬ىًب يی تٕاَیؼ یک کالك ٔاثنتگی ثنبفیؼ‪ .‬یک کالك ٔاثنتگی ًَبػی ًْبَُؼ ًَبػ کالك يؼًٕنی‬ ‫ػاؿػ ايب ثب ایٍ تلبٔت ٕجوّ ثُؼی کُ​ُؼِ ْبیو ثب عٔ چیٍ ٍٔم يی ىٕػ‪ .‬نؾا ٔاثنتگی کّ يب ایُزب ثیٍ کتبثغبَّ ٔ‬ ‫ػْٕ ػاؿیى‪ ،‬یک کالك ٔاثنتگی امت‪ .‬یک ػْٕ کتبثغبَّ تٕمٔ عبٍیت یک کالك ػیگـ کّ ًْبٌ کبؿت کتبثغبَّ‬ ‫امت ثب عٕػ کتبثغبَّ ٔاثنتگی ػاؿػ‪ .‬نؾا يب ایٍ کالك ٔاثنتگی ؿا ثب اؿتجبٓ ػاػٌ آٌ تٕمٔ َوّٖ چیٍ َيبٌ يی‬

‫‪18‬‬

‫‪www.ParsBook.org‬‬


‫ػْیى‪ .‬یک کالك ٔاثنتگی ػؿمت ًْبَُؼ ػیگـ کالك ْب يی تٕاَؼ ثّ ثویّ کالك ْب ٔاثنتگی ػاىتّ ثبىؼ‪ .‬پل‬ ‫اربفِ ثؼْیؼ ثگٕییى کّ یک کالك کتبثؼاؿ ػاؿیى کّ ثّ کالك کبؿت کتبثغبَّ تٕمٔ ػًم (تَؼین ٍضت کبؿت) ٔاثنتّ‬ ‫امت‪ .‬نؾا يب کالك کبؿت کتبثغبَّ ؿا ػاؿیى کّ یک کالك ٔاثنتگی امت ٔ ایٍ کالك عٕػ عٍَٕیتی اف ٔاثنتگی‬ ‫ثیٍ ػْٕ ٔ کتبثغبَّ امت‪ .‬ایٍ کالك ٔاثنتگی‪ ،‬ثب کالك کتبثؼاؿ َیق ػؿ ٔاثنتگی امت‪ .‬ثّ گَّٕ ای کّ کتبثؼاؿ کبؿت‬ ‫کتبثغبَّ ؿا تَؼین يی کُؼ‪.‬‬

‫تجمیع و ترکیب در ‪: UML‬‬ ‫تزًیغ ٔ تـکیت ْـ ػٔ یک ًََّٕ ثبؿفی اف ٔاثنتگی ْنتُؼ کّ ْـ ػٔی آَٓب اؿتجبٕی ؿا ثیٍ یک هنًت ٔ رقئیبت آٌ‬ ‫تٍٕیق يی کُ​ُؼ‪ .‬پل ثزبی ػاىتٍ یک اؿتجبٓ ثّ ػُٕاٌ یک ٔاثنتگی مبػِ يب ثب یک اؿتجبٕی مـ ٔ کبؿ ػاؿیى کّ‬ ‫ارقای عٕػ ؿا تٍٕیق يی کُؼ یب عٕاَؼٌ اؿتجبٓ ػؿ رٓت ػیگـی کّ اف آٌ مبعتّ ىؼِ امت‪ .‬پل يخبل ایٍ َٕع اف‬ ‫ٔاثنتگی يی تٕاَؼ ىبيم یک گـِٔ يٕمیوی ‪ ،‬یک كٓـمت اف يضَٕالت یب یک مبعتًبٌ کّ اف اتبم ْبیو مبعتّ‬ ‫ىؼِ ثبىؼ‪ .‬پل ػؿ ْـ ٍٕؿت ىًب يی تٕاَیؼ ثگٕییؼ یک گـِٔ اف يٕمیوی ػاَبَو یب اگـ اف رٓت ػیگـ َگبِ کُیى یک‬ ‫يٕمیوی ػاٌ رقئی اف گـْٔو امت‪ .‬یک كٓـمت اف يضَٕالتو تيکیم ىؼِ امت یب یک يضَٕل رقیی اف‬ ‫كٓـمتو امت‪ .‬یک مبعتًبٌ اف اتبم ْبیو تيکیم ىؼِ امت یب یک اتبم رقیی اف مبعتًبَو امت‪ .‬ىًب‬ ‫‪ Aggregation‬ؿا ثب یک يتَم کُ​ُؼِ عبً َيبٌ يی ػْیؼ ٔآٌ ىجیّ ثّ یک نٕفی تٕ عبنی کّ ثّ مـتبمـ آٌ يتَم‬ ‫امت ىجیّ امت‪.‬‬

‫يب يی عٕاْیى کّ کم آٌ ػؿ مًت چپ ٔ مبیـ هنًت ْبیو ػؿ مًت ؿامت هـاؿ گیـػ ٔنی ٔهتی کّ يب يی‬ ‫عٕاْیى رقئیبت ؿا ثغٕاَیى ثّ ایٍ ىکم يی عٕاَیى کّ یک يٕمیوی ػاٌ رقئی اف گـْٔو امت ًْچُیٍ ثّ ٕ​ٕؿ‬ ‫ييبثّ ثـای كٓـمت ٔ يضَٕالت ‪ ٔ ،‬مبعتًبٌ ٔ اتبم‪ ٔ .‬اگـ يب ثغٕاْیى يب يی تٕاَیى چُؼگبَگی عٕػ ؿا اّبكّ کُیى‬ ‫‪ ،‬پل يب یک یب چُؼیٍ يٕمیوی ػاٌ ؿا ثّ ػُٕاٌ رقیی اف یک گـِٔ ػاؿیى ‪ ،‬یک یب چُؼیٍ يضَٕل ارقای یک كٓـمت‬ ‫ْنتُؼ ٔ ؿیـِ‪ .‬صبال ‪ Composition‬یک اؿتجبٓ ًْٕاؿِ هٕی تـی اف ‪ aggregation‬امت‪ .‬ثـای تنت آٌ چیقی کّ ىًب‬ ‫ثب ‪ Composition‬مـٔ کبؿ ػاؿیؼ اف هبٌَٕ ؿیـ ييتـک امتلبػِ کُیؼ ‪ ،‬ایٍ هبٌَٕ چگَٕگی ایٍ اؿتجبٓ ؿا تٍٕیق يی کُؼ‬ ‫کّ یک رقء كؤ يی تٕاَؼ ثّ یک کم تؼهن ػاىتّ ثبىؼ پل ثگؾاؿیؼ ثّ يخبل عٕػ َگبْی ثیبَؼافیى‪ .‬آیب یک يٕمیوی‬ ‫ػاٌ كؤ يی تٕاَؼ رقء یک گـِٔ يٕمیوی ثبىؼ؟ َّ ایٍ ػؿمت َینت‪ .‬یک يٕمیوی ػاٌ يی تٕاَؼ ثّ چُؼیٍ گـِٔ‬ ‫يتلبٔت تؼهن ػاىتّ ثبىؼ‪ .‬ثگؾاؿیؼ چُؼگبَگی يب ایٍ ؿا َيبٌ ػْؼ‪ًْ .‬چُیٍ ػؿ يٕؿػ اؿتجبٓ كٓـمت يضَٕالت ‪ْ ،‬ـ‬ ‫يضَٕل عبً يی تٕاَؼ ػؿ چُؼیٍ كٓـمت ظبْـ ىٕػ‪ .‬پل ثگؾاؿیؼ ثجیُیى ٔهتی کّ يب ثّ آعـیٍ اؿتجبٓ یؼُی ثیٍ یک‬ ‫مبعتًبٌ ٔ یک اتبم يی ؿمیى چّ اتلبهی يی اكتؼ‪ .‬آیب یک اتبم يی تٕاَؼ ثّ ثیو اف یک مبعتًبٌ تؼهن ػاىتّ‬ ‫ثبىؼ یب آیب يب یک هبٌَٕ ؿیـ ييتـک ػاؿیى؟ صبال پل اف ‪ Aggregation‬ایٍ اؿتجبٓ ثٕمیهّ ‪ Composition‬ثٓتـ تٍٕیق‬

‫‪19‬‬

‫‪www.ParsBook.org‬‬


‫ىؼِ امت‪ .‬يب ‪ Composition‬ؿاثٕمیهّ يتَم کُ​ُؼِ ی ييبثٓی َيبٌ يی ػْیى ٔنی ثّ ربی یک نٕفی تٕ عبنی يب‬ ‫یک نٕفی پـ ػاؿیى‪ .‬پل یک اؿتجبٓ ‪ Composition‬ػؿ ایٍ گَّٕ اؿتجبٓ يی گٕیؼ کّ یک رقء كؤ يی تٕاَؼ ثّ یک کم‬ ‫ؿیـ ييتـک تؼهن ػاىتّ ثبىؼ‪ .‬ثّ ٕ​ٕؿ يـتجٔ ثّ ْى اگـ کم اف ثیٍ ثـٔػ ارقایی کّ آٌ ؿا تيکیم يی ػُْؼ َیق اف‬ ‫ثیٍ يی ؿَٔؼ‪ .‬پل اگـ ىًب یک مبعتًبٌ ؿا اف ثیٍ ثجـیؼ ىًب اتبم ْبی ٔاهغ ػؿ آٌ ؿا َیق اف ثیٍ ثـػِ ایؼ‪ .‬ػؿ مًت‬ ‫ػیگـ ػؿ يٕؿػ ‪ aggregation‬ایٍ ٍضت َؼاؿػ‪ .‬اگـ یک گـِٔ اف ثیٍ ثـٔػ يٕمیوی ػاَبَی کّ ارقای آٌ ْنتُؼ يیتٕاَُؼ‬ ‫ثّ کبؿاْبی ػیگـی ثپـػافَؼ تب یک گـِٔ ػیگـ ؿا تيکیم ػُْؼ‪.‬‬

‫پل ثب ػاَنتٍ ‪ Composition ٔ aggregation‬ىًب هبػؿ عٕاْیؼ ثٕػ ایٍ ػیبگـاو کالك ؿا ثغٕاَیؼ‪ .‬ثّ عبٕـ ػاىتّ‬ ‫ثبىیؼ کّ يب ػؿ يٕؿػ رقء ٔ کم ٍضجت يی کُیى پل يب یک یب چُؼیٍ اػْبی ْیئت ػهًی ؿا ػاؿیى کّ ارقای یک‬ ‫کًینیٌٕ ْنتُؼ پل ایٍ کًینیٌٕ یک اؿتجبٓ اَؼکبمی ثب عٕػه ػاؿیى تب یک فیـ يزًٕػّ ؿا ىکم ػْؼ ‪ ،‬پل یک‬ ‫یب چُؼیٍ اػْبی کًینیٌٕ يی تٕاَُؼ ػؿ یک یب چُؼیٍ فیـ يزًٕػّ ثبىُؼ‪ .‬ػؿ فیـ ایُزب يب یک اؿتجبٓ ‪Composition‬‬ ‫ثیٍ میبمت ٔ هبٌَٕ ػاؿیى‪ .‬هٕاَیٍ رقئی اف یک میبمت ْنتُؼ ٔ آٌ ؿا ىکم يی ػُْؼ ‪ ،‬ایٍ یک اؿتجبٓ هٕی‬ ‫امت‪ .‬اگـ میبمت اف ثیٍ ثـٔػ هبٌَٕ َیق اف ثیٍ عٕاْؼ ؿكت‪ .‬تٕرّ کُیؼ کّ يب ًَی تٕاَیى ٔاثنتگی ‪ Composition‬یب‬ ‫‪ aggregation‬ثـای يخبل ثیٍ کًینیٌٕ ٔ میبمت ػاىتّ ثبىیى‪ .‬ایٍ هبثم ػؿک َینت کّ ثگٕییى یک میبمت‬ ‫رقی اف یک کًینیٌٕ امت یب یک کًینیٌٕ اف میبمت ْب تيکیم ىؼِ امت‪ .‬ثّ ْـ صبل يب یک ٔاثنتگی ثیٍ‬ ‫ایٍ کالمٓب ػاؿیى ‪ ،‬کًینیٌٕ میبمت ؿا تُظیى يی کُؼ‪ .‬پل ایٍ ػیبگـاو ‪َ Composition ٔaggregation‬يبٌ يی‬ ‫ػْؼ کّ چگَّٕ يخم ‪ Association‬يی تٕاَؼ تُٕع اؿتجبٕبت ثیٍ کالمٓبی گَٕبگٌٕ ثغًَٕ ‪ ،‬تب ثیبٌ ٔاّش یک اؿتجبٓ‬ ‫رقء ٔ کم ؿا َيبٌ ػْؼ‪.‬‬

‫تعوین ‪:Generalization‬‬ ‫تؼًیى ؿٔىی امت کّ ‪ UML‬ثّ ٔمیهّ آٌ ٔؿاحت ؿا تّٕیش يی ػْؼ‪ .‬تؼًیى ػؿ ػیبگـاو ْبی کالك ثنیبؿ ىجیّ ثّ‬ ‫تؼًیى ػؿ ‪ْ Use Case‬بمت‪ .‬ػؿ تؼًیى یک کالك ٔانؼ ٔ صؼاهم یک کالك كـفَؼ ٔرٕػ ػاؿػ ٔ يًکٍ امت ثّ ایٍ‬ ‫کالك ْب ثّ ػُٕاٌ کالك اٍهی ٔ فیـ کالك َیق اىبؿِ ىٕػ‪ْ .‬ـ کالك عٍَٕیبت ٔ ؿكتبؿْبی ٔانؼ عٕػ ؿا ثّ اؿث يی‬ ‫ثـػ ٔ ػالِٔ ثـ آٌ ٔیژگی ْبی ػیگـی َیق ػاؿػ‪ .‬ثـای يخبل اگـ یک کالك ٔانؼ ثّ َبو کبؿيُؼ ػاىتّ ثبىیى‪ ،‬فیـ کالك‬ ‫ْبی يب يًکٍ امت کبؿيُؼ ؿمًی‪ ،‬کبؿيُؼ مبػتی ٔ کبؿيُؼ هـاؿػاػی ثبىؼ‪ .‬ثُبثـایٍ ْـ َٕع اف کبؿيُؼاٌ ىبيم‬ ‫ؿمًی‪ ،‬مبػتی ٔ هـاؿػاػی عٍَٕیبت ٔ ؿكتبؿْبی کالك ٔانؼ ؿا ثّ اؿث يی ثـػ ػؿ ػیٍ صبل ْـ کؼاو اف کالك ْبی‬ ‫كـفَؼ ثب ػیگـی تلبٔت ػاؿػ‪ .‬ثـای يخبل عٍَٕیبت َبو ٔ ىًبؿِ پـمُهی ٔ ًْچُیٍ ؿكتبؿْبی يقػ گـكتٍ یب اعـاد‬ ‫ىؼٌ ثیٍ ًّْ كـفَؼاٌ ييتـک امت ايب تلبٔت ثیٍ آَٓب يًکٍ امت چیقْبیی اف هجیم يقایبیی کّ ْـ کؼاو ػاؿَؼ یب‬ ‫مینتى پـػاعت صوٕهيبٌ یب ؿیـِ ثبىؼ‪ .‬نؾا ْـ کؼاو ػؿ عٍَٕیبت ٔ ؿكتبؿْبیی کّ اف ٔانؼىبٌ ثّ اؿث ثـػِ اَؼ‬ ‫ييتـک اَؼ ػؿ ػیٍ صبل ػاؿای تلبٔت ْبیی ثب یکؼیگـَؼ‪ .‬ؿٔىی کّ ثب آٌ تؼًیى ؿا َيبٌ يی ػْیؼ ثّ ىکم یک‬ ‫پیکبٌ امت کّ اف كـفَؼاٌ عبؿد ىؼِ ٔ ثّ کالك ٔانؼ ٔاؿػ يی ىٕػ‪ .‬ثب امتلبػِ اف تؼًیى يی تٕاٌ چُؼ ؿیغتی ؿا َیق‬ ‫پیبػِ مبفی کـػ فیـا اگـ یک ؿكتبؿ ثـای کالك ٔانؼ تؼـیق ىؼِ ثبىؼ آَگبِ ْـ کالك كـفَؼ يی تٕاَؼ ثب ٔانؼ تؼٕیِ‬ ‫ىٕػ‪َ .‬کتّ ی ػیگـی کّ يی تٕاٌ ثّ آٌ اىبؿِ کـػ ایٍ امت کّ ىًب يضؼٔػیتی ػؿ ػاىتٍ كؤ یک کالك ٔانؼ ٔ‬ ‫تؼؼاػی كـفَؼ َغٕاْیؼ ػاىت‪ .‬ثّ ػجبؿت ػیگـ ْـ کالك كـفَؼ عٕػ َیق يی تٕاَؼ ثّ ػُٕاٌ کالك ٔانؼ صبٔی تؼؼاػی‬ ‫فیـ کالك ثبىؼ کّ اف آٌ تؼًیى یبكتّ اَؼ‪ .‬ثـای يخبل کبؿيُؼ ؿمًی يًکٍ امت ػاؿای فیـ کالمی يبَُؼ يؼیـ ثبىؼ‪.‬‬ ‫ثُبثـایٍ يی تٕاَیؼ چُؼیٍ مٖش اف ٔؿاحت ؿا ػؿ ػیبگـاو عٕػ ػاىتّ ثبىیؼ‪.‬‬

‫‪20‬‬

‫‪www.ParsBook.org‬‬


‫تحقق ‪:‬‬ ‫اگـ تؼًیى ٔؿاحت ؿا ًَبیو يی ػْؼ‪ ،‬تضون آٌ ؿا پیبػِ مبفی يی کُؼ‪ .‬ػؿ ‪ UML‬تضون اؿتجبٓ ثیٍ یک ٔامٔ ٔ یک‬ ‫کالك ؿا تّٕیش يی ػْؼ‪ٔ .‬امٔ یک ٕجوّ ثُؼی کُ​ُؼِ امت کّ عٍَٕیبت‪ ،‬ؿكتبؿْب ٔ یب ْـ ػٔ ؿا کّ يزًٕػّ ای‬ ‫ٔیژگی ْبی ثّ ْى چنجیؼِ ؿا تيکیم يی ػُْؼ‪ ،‬تؼـیق يی کُؼ‪.‬‬

‫ٔامٔ عٍَٕیبت ٔ ؿكتبؿْب ؿا َيبٌ يی ػْؼ ايب آَٓب ؿا پیبػِ مبفی ًَی کُؼ‪ .‬ػؿ ػُٕ عٕػ ٔامٔ تٕمٔ کالك ٔ‬ ‫ييتوبتو پیبػِ مبفی يی ىٕػ‪ .‬ػؿ ‪ UML‬پیبػِ مبفی یک ٔامٔ‪ ،‬تضون َبيیؼِ يی ىٕػ‪ .‬پل یک ٔامٔ هـاؿػاػی‬ ‫ثـای يزًٕػّ ای اف ٔیژگی ْب تؼـیق يی کُؼ‪ٔ .‬امٔ ثّ ػُٕاٌ یک هـاؿػاػ ایٍ ٔیژگی ْب ؿا ينتویً​ًب تضون ًَی‬ ‫ثغيؼ‪ .‬یک کالك ٔیژگی ْبی یک ٔامٔ ؿا ثب پیبػِ مبفی آَٓب تضون يی ثغيؼ‪ .‬ؿٔىی کّ يب َيبٌ يی ػْیى یب‬ ‫ؿاْی کّ ىًب يی تٕاَیؼ یک ٔامٔ ؿا ػؿ ‪َ UML‬يبٌ ػْیؼ‪ ،‬امتلبػِ اف هبنت ْبی ٔامّٖ ای ثـای تٕمؼّ ػاػٌ‬ ‫يلٕٓو کالك امت ٔ الفو ثّ یبػآٔؿی امت کّ ثـای ًَبیو هبنت‪َ ،‬بو آٌ ؿا ػاعم گیٕيّ يی گؾاؿیى‪ .‬اربفِ ثؼْیؼ‬ ‫َگبْی ثّ چگَٕگی کبؿکـػ ایٍ ٔامّٖ ْب ثیُؼافیى‪ .‬يب ایُزب ٔامٖی ثّ َبو پنتبَؼاؿ ػاؿیى‪ .‬ایٍ ٔامٔ يزًٕػّ ای اف‬ ‫ٔیژگی ْب ؿا کّ ثیٍ کالك ْبی پیبػِ مبفی کُ​ُؼِ ایٍ ٔامٔ ييتـک امت‪ ،‬تؼـیق يی کُؼ‪ .‬يب عٍَٕیبتی يخم‬ ‫يٓـِ ػاؿ ثٕػٌ ٔعٌٕ گـو ثٕػٌ ٔ ؿكتبؿْبیی يخم َلل کيیؼٌ‪ ،‬ؿاِ ؿكتٍ‪ ،‬عٕؿػٌ‪ ،‬عٕاثیؼٌ ٔؿیـِ ؿا ػاؿیى‪ .‬تٕرّ‬ ‫ػاىتّ ثبىیؼ کّ کالك ْبی يغتهلی ٔیژگی ْبی ٔامٔ پنتبَؼاؿ ؿا پیبػِ مبفی يی کُ​ُؼ‪ .‬ثـای يخبل کالك اَنبٌ‬ ‫ٔ تًبو ًََّٕ ْبی مبعتّ ىؼِ اف آٌ‪ ،‬يی تٕاَُؼ ٔیژگی ْبی تؼـیق ىؼِ تٕمٔ ٔامٔ پنتبَؼاؿ ؿا پیبػِ مبفی‬ ‫کُ​ُؼ‪ .‬ثّ ٕ​ٕؿ ييبثّ‪ ،‬تًبو ًََّٕ ْبی مبعتّ ىؼِ اف کالك فؿاكّ َیق يی تٕاَُؼ ٔیژگی ْبی تؼـیق ىؼِ تٕمٔ‬ ‫ٔامٔ پنتبَؼاؿ ؿا پیبػِ مبفی کُ​ُؼ‪ .‬ؿٔىی کّ يب ؿٔاثٔ تضون یبكتّ ؿا ثیٍ کالك ٔ ٔامٔ ؿا ػؿ آٌ َيبٌ يی ػْیى‪،‬‬ ‫امتلبػِ اف یک پیکبٌ َوّٖ چیٍ امت کّ اف کالك ْب عبؿد ٔ ثّ ٔامٔ ٔاؿػ ىؼِ اَؼ‪ .‬تَٕیـ يوبثم ىکم ایٍ اؿتجبٓ‬ ‫ؿا َيبٌ يی ػْؼ‪ .‬انجتّ تٕرّ ػاىتّ ثبىیؼ کّ یک ٔامٔ يی تٕاَؼ ثیو اف یک کالك پیبػِ مبفی ىؼِ يـتجٔ ثب‬

‫‪21‬‬

‫‪www.ParsBook.org‬‬


‫عٕػ ػاىتّ ثبىؼ‪ًْ .‬چُیٍ یک کالك يی تٕاَؼ ثیو اف یک ٔامٔ ؿا پیبػِ مبفی کُؼ‪ .‬ثـای يخبل کالك اَنبٌ‬ ‫ٔیژگی ْبی تؼـیق ىؼِ تٕمٔ ٔامٔ پنتبَؼاؿ ؿا پیبػِ مبفی يی کُؼ ايب يب یک ٔامٔ ػیگـ َیق ػاىتیى‪ ،‬کّ ثّ آٌ‬ ‫يٕرٕػ ػٔپب عٕاْیى گلت کّ ىبيم ؿكتبؿی ثّ َبو (ؿاِ ؿكتٍ ؿٔی ػٔ پب) ػاؿػ‪ .‬کالك اَنبٌ يی تٕاَؼ ٔیژگی ْبی‬ ‫ٔامٔ يٕرٕػ ػٔ پب ؿا ًْبَُؼ ٔیژگی ْبی ٔامٔ پنتبَؼاؿ ثّ عٕثی پیبػِ مبفی کُؼ‪ .‬نؾا يی تٕاَیى اؿتجبٓ ؿا يخم ایٍ‬ ‫ًَبیو ػْیى‪ .‬کالك اَنبٌ ٔیژگی ْبی تؼـیق ىؼِ ػؿ ْـ ػٔ ایٍ ٔامٔ ْب ؿا پیبػِ مبفی يی کُؼ‪ .‬ایٍ ػؿ صبنی‬ ‫اك کّ کالك فؿاكّ كؤ ٔیژگی ْبی کالك پنتبَؼاؿ ؿا پیبػِ مبفی يی کُؼ‪ .‬صبنی ؿٔىی ثـای َيبٌ ػاػٌ ؿاثّٖ‬ ‫تضون یبكتّ ثب امتلبػِ اف هبنت ٔامّٖ ای ثب رؼجّ ْبی ٕجوّ ثُؼی کُ​ُؼِ ٔ ایٍ پیکبٌ ْبی َوّٖ چیٍ ثیبٌ يی‬ ‫کُیى‪.‬‬

‫ؿاِ ػیگـی َیق ٔرٕػ ػاؿػ کّ ىًب يی تٕاَیؼ ييبْؼِ کُیؼ‪ .‬ایُزب چگَٕگی مبعت یکی ػیگـ ػؿ یک ػیبگـاو ػیگـ‬ ‫امت‪ .‬يب یک هبنت ٔامّٖ ای ثـای پنتبَؼاؿاٌ ٔ ًْچُیٍ کالك ْبی اَنبٌ ٔ فؿاكّ ؿا ػاؿیى‪ .‬ايب ایٍ ًَبػْبی ػایـِ‬ ‫ای ىکم یک ٔامٔ ؿا ْى َيبٌ يی ػُْؼ پل ىًب يی تٕاَیؼ یک ؿاثّٖ تضوین یبكتّ ؿا َيبٌ ػْیؼ کّ ْـ ػٔ اف‬ ‫پیکبٌ ْبی عٔ چیٍ ٔ رؼجّ ْبی ٕجوّ ثُؼی کُ​ُؼِ ثب هبثم ْبی ٔامّٖ ای امتلبػِ يی کُ​ُؼ یب ىًب يی تٕاَیؼ اف‬ ‫ایٍ ًَبػ ػایـِ ای ٔامٔ ٔ یک عٔ مبػِ ثـای اؿتجبٓ ثب کالك پیبػِ مبفی ىؼِ امتلبػِ کُیؼ‪ .‬پل ػٔثبؿِ يب‬ ‫إالػبت ييبثٓی ػؿ ایٍ ػیبگـاو ػاؿیى‪ ،‬کالك اَنبٌ ٔیژگی ْبی ٔامٔ ْبی پنتبَؼاؿ ٔ يٕرٕػ ػٔ پب ؿا پیبػِ مبفی‬ ‫يی کُؼ‪ .‬تٕرّ ػاىتّ ثبىیؼ کّ ثبیؼ ًَبػ ٔامٔ تبٌ ؿا ثـچنت گؾاؿی کُیؼ‪ .‬کالك فؿاكّ ٔیژگی ٔامٔ ْبی‬ ‫پنتبَؼاؿ ٔ يٕرٕػ چٓبؿ پب ؿا پیبػِ مبفی يی کُؼ‪ .‬نؾا ایٍ ىکم إالػبت ييبثّ ثب ػیبگـاو هجهی ؿا َيبٌ يی ػْؼ‪.‬‬ ‫ًَبػی کّ ىًب ثّ کبؿ يی ثـیؼ ثّ چیقی ثنتگی ػاؿی کّ يی عٕاْیؼ ػؿ ػیبگـايتبٌ َيبٌ ػْیؼ‪.‬اگـ يی عٕاْیؼ‬ ‫رقئیبت ٔامٖتبٌ ؿا ػؿ ػیبگـاو َيبٌ ػْیؼ‪ ،‬اف هبنت ْبی ٔامّٖ ای ػؿ رؼجّ ٕجوّ ثُؼی کُ​ُؼِ ْب امتلبػِ کُیؼ‪.‬‬ ‫اگـ ٔامٖتبٌ ؿا ػؿ ربی ػیگـی تؼـیق کـػِ ایؼ ٔ هَؼ ػاؿیؼ کّ ػیبگـايتبٌ مبػِ ثبىؼ آَگبِ اف ًَبػ ػایـِ ای ىکم‬ ‫ثـای َيبٌ ػاػِ ٔامٔ امتلبػِ کُیؼ‪.‬‬

‫ّاتستگی ‪:‬‬ ‫ٔاثنتگی اؿتجبٕی ؿا َيبٌ يی ػْؼ کّ ْـ کالمی اف یک ٕـیوی اف کالك ػیگـ امتلبػِ يی کُؼ‪ .‬ثُبثـایٍ ىًب ػؿ‬ ‫ایُزب يی ثیُیؼ کّ يب یک کالك ٔاثنتّ ػاؿیى ‪ ،‬کّ مـٔیل گیـَؼِ َبيیؼِ ىؼِ امت اف کالك حبَٕیّ امتلبػِ کـػِ‬ ‫امت ‪ًْ ،‬چُیٍ کالمی ػاؿیى کّ کالك ػیگـ ثّ آٌ ٔاثنتّ امت ‪ ،‬کّ گبْی تٓیّ کُ​ُؼِ َبيیؼِ يی ىٕػ‪ ٔ .‬ایٍ ػٔ‬ ‫کالك اف ٕـین پیکبٌ ٔاثنتگی ثّ یکؼیگـ يتَم ىؼِ اَؼ‪َ .‬وّٖ ىـٔع پیکبٌ اف مًت مـٔیل گیـَؼِ ( ‪ )Client‬تب‬ ‫تٓیّ کُ​ُؼِ امت ُ(‪ )Supplier‬یؼُی اف کالك ٔاثنتّ ثّ کالمی کّ اف آٌ امتلبػِ يی کُؼ‪.‬‬

‫ىًب يی تٕاَیؼ پیکبٌ ٔاثنتگی ؿا ایٍ ٕ​ٕؿ ثغٕاَیؼ "امتلبػِ يی کُؼ اف یک" ‪ ،‬پل ثب َگبِ ثّ ایٍ ػیبگـاو يب يی‬ ‫تٕاَیى ثگٕییى کّ یک مـٔیل گیـَؼِ اف یک تٓیّ کُ​ُؼِ امتلبػِ يی کُؼ‪ .‬یب ىًب يی تٕاَیؼ ثب تکیّ ثّ ؿٔه ثبال‬ ‫ثغٕاَیؼ یب ایُکّ اف یک ٕـیوی ثلًٓیؼ ‪ ،‬تب َيبٌ ػْیؼ کّ یک مـٔیل گیـَؼِ اف یک تٓیّ کُ​ُؼِ امتلبػِ يی‬ ‫کُؼ‪.‬پل ثـای يخبل ثگؾاؿیؼ ثگٕییى کّ يب یک کالك ػاؿیى ثّ َبو ؿكتگـ کّ ایٍ کالك یک ػًهکـػی ثّ َبو ربؿٔ فػٌ‬ ‫ػاؿػ‪ .‬کالك ؿكتگـ يیتٕاَؼ ثّ کالك ربؿٔ ٔاثنتّ ثبىؼ ثُب ثـ ایٍ يب يی تٕاَیى ثگٕییى کّ یک ؿكتگـ اف یک ربؿٔ‬ ‫امتلبػِ يی کُؼ‪ .‬صبال ثّ ایٍ َکتّ تٕرّ کُیؼ کّ اگـ تـییـاتی ػؿ کالك تٓیّ کُ​ُؼِ اػًبل ىٕػ ایٍ يی تٕاَؼ ثـ‬

‫‪22‬‬

‫‪www.ParsBook.org‬‬


‫کالك مـٔیل گیـَؼِ َیق تبحیـ ثگؾاؿػ ٔ ایٍ َکتّ ی ثب اؿفىی امت تب ػؿ ؽٍْ ثنپبؿیؼ ‪ ،‬ایٍ يٓى امت کّ ػَجبنّء‬ ‫ٔاثنتگی ؿا ػؿ ثّ عبٕـ ػاىتّ ثبىیؼ فیـا ػؿ یک مینتى پیچیؼِ تـییـات ثـ یک کالك ‪ ،‬ييبثّ ایٍ امت کّ ثـ‬ ‫کالك ْبی ػیگـ تبحیـ ثگؾاؿیى ٔ ىًب يی عٕاْیؼ يًٖئٍ ىٕػ کّ يی تٕاَیؼ ایٍ ٔاثنتگی ؿا اف ػاعم مینتى‬ ‫ػَجبل کُیؼ‪ .‬پیکبٌ ٔاثنتگی ثّ ٕ​ٕؿ پبیّ ای اکخـا "امتلبػِ اف یک" اؿتجبٓ ؿا َيبٌ يی ػْؼ‪.‬ىًب ًْبٌ گَّٕ کّ يی‬ ‫تٕاَیؼ ػُبٍـ ؿا ‪ UML‬هبنت ػْی کُیؼ ‪ ،‬يی تٕاَیؼ ٔاثنتگی ْب ؿا هبنت ػْی کُیؼ‪ .‬ثـای يخبل ىًب يی تَٕیؼ ػؿ‬ ‫ػیبگـاو ْبی ‪ٔ Use Case‬اثنتگی ْب ؿا ثـای ‪ْ Use Case‬بی ‪ Extend ٔ Include‬هبنت ػْی کُیؼ‪ .‬ػؿ ػیبگـاو ْبی‬ ‫کالك ىًب يی تٕاَیؼ يتُبمت ثب اصتیبربت عٕػ هبنت ْب ؿا ثـای ٔاثنتگی ْب ایزبػ کُیؼ ٔ ػؿ ایُزب ىًب يی تٕاَیؼ‬ ‫یک يخبل اف إَاع ٔاثنتگی ْب ؿا ثجیُیؼ کّ کّ ىًب يًکٍ امت ثغٕاْیؼ ثّ اػًبل ایٍ ٔاثنتگی ْب اػى اف ‪ ،‬یبكتٍ‬ ‫ٔاثنتگی مٖش ػمتـمی ‪ٔ ،‬اؿػ کـػٌ ‪ ،‬تـکیت کـػٌ ‪ ًََّٕ ،‬مبفی ‪ ،‬ربَيیُی ٔ ؿیـِ ؿمیؼگی کُیؼ‪ .‬پل ثغبٕـ‬ ‫ػاىتّ ثبىیؼ کّ صتی ػؿ ٔاثنتگی پبیّ اؿتجبٓ "امتلبػِ يی کُؼ اف" امت‪ .‬ثّ ٕ​ٕؿ کم ىًب يوؼاؿی اَؼٖبف پؾیـی‬ ‫ثـای امتلبػِ اف هبنت ْب ٔ اػًبل آَٓب ثـ ؿٔی ٔاثنتگی ْب ػاؿیؼ‪.‬‬

‫هحذّدیت ُا ّ یادداشتِا ‪:‬‬ ‫‪ْ Constraint‬ب يضؼٔیت ػُبٍـ ؿا ػؿ ػیبگـاو ‪ UML‬ىًب َيبٌ يی ػُْؼ‪ .‬آَٓب ثـ ؿٔی إَاع يغتهق يضؼٔػیت يی‬ ‫گؾاؿَؼ ٔ رهٕگیـی يی کُ​ُؼ‪ٔ .‬هتی ىًب ػؿ يٕؿػ ػیبگـاو عٕػ كکـ يی کُیؼ تؼؼاػ فیبػی اف مئٕال ْب يخم ایٍ کّ چّ‬ ‫کبؿ ثبیؼ ػؿ ػیبگـاو عٕػ ثکُیؼ ًَبیو يضؼٔػیت ْب ثّ ٕـین گَٕبگٌٕ امت‪ .‬ثـای يخبل ‪ Multiplicity‬يی تَٕؼ‬ ‫ػًهکـػی يبَُؼ یک َٕع يضؼٔػیت ثبىؼ‪ .‬ػؿ ایُزب ثـای يخبل يب یک کبؿيُؼی ػاؿیى کّ ػؿ یک یب ػٔ ثغو کبؿ يی کُؼ‬ ‫‪ َّ ،‬ثیيتـ ‪ َّ ،‬کًتـ‪ .‬پل ایٍ يخبل عٕة امت تب َيبٌ ػْیى چگَّٕ ‪ًْ Multiplicity‬بَُؼ یک يضؼٔیت کبؿ يی کُؼ‪.‬‬ ‫ٔنی اف ٕـین‪ْ Constraint‬ب يی تٕاَیؼ يضؼٔیت ْب ثّ ٕ​ٕؿ ؿمًی تـی َيبٌ ػْؼ‪ .‬ىًب يی تٕاَیؼ يضؼٔػیت ْب ؿا‬ ‫يبَُؼ یک پیو ىـٓ یب يب ثؼؼ ىـٓ ثیبٌ کُیؼ ٔ ىبیؼ ثٓتـیٍ ؿاِ ثـای اَزبو ایٍ کبؿ انَبم یک یبػػاىت ػؿ ربیی کّ‬ ‫يضؼٔػیت اػًبل ىؼِ امت ثبىؼ‪.‬‬

‫ثـای يخبل ػؿ ایُزب يب یک کالك کبؿيُؼ ػاؿیى‪ .‬یک یب چُؼ ػؿ یک یب چُؼ پـٔژِ کبؿ يی کُ​ُؼ‪ .‬ثگؾاؿیؼ یک يضؼٔػیت ؿا‬ ‫ثّ ىکم یک یبػػاىت اّبكّ کُیى کّ تؼییٍ يی کُؼ کّ یک کبؿيُؼ ثبیؼ ػؿ ثغيی کبؿ کُؼ کّ پـٔژِ ؿا يؼیـیت يی‬ ‫کُؼ‪ .‬یبػػاىت ْب اف ػالئًی کّ ىًب ػؿ ایُزب يی ثیُیؼ امتلبػِ يی کُ​ُؼ ‪َ ،‬گبِ کُیؼ ًْبَُؼ یک تکّ اف کبؿؾ ثب‬ ‫گٕىّ ثبالیی ىجیّ ‪ Folder‬امت‪ .‬یک یبػػاىت يضؼٔػیت ؿا اف ٕـین ثـاکت ْبی يزؼؼ تؼییٍ يی کُؼ پل‬ ‫يضؼٔػیت ػؿ ثـاکت ْبی يزؼؼ ًّیًّ ىؼِ امت‪.‬پل يب یک ثـاکت ثبف ػاؿیى ‪" ،‬کبؿيُؼ ثبیؼ ثـای ثغيی کبؿ کُؼ‬ ‫کّ پـٔژِ ؿا يؼیـیت يی کُؼ" ٔ ثـاکت ثنتّ يی ىٕػ ٔ یک پیَٕؼ ػاؿیى کّ يضؼٔػیت ؿا ثّ ربیی کّ ثّ آٌ تؼهن ػاؿػ‬ ‫نُگـ يی کُؼ ‪ ،‬ػؿ ایٍ يٕؿػ ‪ ،‬ایٍ پیَٕؼ ثٕمیهّ عٔ َوّٖ چُیٍ َيبٌ ػاػِ يی ىٕػ‪ .‬ىًب يی تٕاَیؼ اف یبػػاىت ْب‬ ‫ثـای تؼییٍ ْـ چیق ػیگـی ػؿ ػیبگـاو ْبی ‪ UML‬عٕػ امتلبػِ کُیؼ ٔ ًْبَگَّٕ کّ گلتّ ىؼ آَٓب يغٍَٕب ثـای‬ ‫يضؼٔػیت ْب يُبمت ْنتُؼ‪ .‬ؿٔه ػیگـ کّ يی تٕاَیؼ يضؼٔػیت ْب ؿا َيبٌ ػْیؼ ایٍ امت کّ آَٓب ؿا ثّ ٔیژگی‬ ‫ْبی ربیی کّ ثّ آٌ تؼهن ػاؿَؼ اّبكّ کُیى‪ .‬ثّ ٕ​ٕؿ يخبل يب یک پـٔژِ ای ػاؿیى کّ ثّ ٔمیهّ یک ػایـِ ای یب ثغيی‬ ‫يؼیـیت يی ىٕػ‪ .‬یک ثغو یک یب چُؼ پـٔژِ ؿا يؼیـیت يی کُؼ‪ .‬ػؿ ْـ ػٔی ایٍ کالك ْب يب ٔیژگیٓبیی ثّ َبو‬

‫‪23‬‬

‫‪www.ParsBook.org‬‬


‫ثٕػرّ ػاؿیى ٔ ػؿ کالك ‪ Project‬يب یک تبثؼی ػاؿیى ثّ َبو ‪ ، )(GetBudget‬يب يًکٍ امت ثغٕاْیى یک يضؼٔػیتی ؿا‬ ‫اّبكّ کُیى کّ یک پیو ىـٕی ؿا تؼییٍ کُؼ ‪ ،‬يب ػؿ ایُزب ‪ )(GetBudget‬ؿا ػاؿیى ‪ ،‬ایٍ یک ‪ Integer‬امت ٔ ثـاکت‬ ‫َيبٌ يی ػْؼ کّ يب یک پیو ىـٓ ػاؿیى ‪" ،‬ثٕػرّ پـٔژِ کًتـ یب ينبٔی ثٕػرّ ػایـِ یب ثغو امت‪ .‬ثُبثـایٍ ىًب‬ ‫يی تٕاَیؼ يضؼٔػیت ؿا ثّ ایٍ ٕـین َيبٌ ػْیؼ یب ىًب يی تٕاَیؼ يضؼٔػیت ؿا ثّ ىکم یک یبػػاىت کّ ثّ پیَٕؼ‬ ‫يیبٌ پـٔژِ ٔ مبفيبٌ ‪ ،‬ثّ ربیی کّ تـریش يی ػْیؼ اّبكّ کُیؼ‪ٔ .‬هتی ىًب ثب یبػػاىت ْب مـٔ کبؿ ػاؿیؼ ىًب‬ ‫ًْبَگَّٕ کّ يٍ ػؿ ایُزب امتلبػِ کـػو يی تٕاَیؼ اف فثبٌ ٕجیؼی عٕػتبٌ امتلبػِ کُیؼ ‪ ،‬ىًب يی تٕاَیؼ اف یک فثبٌ‬ ‫ثـَبيّ َٕینی ٔ یب یک فثبٌ ثـَبيّ َٕینی مبعتگی امتلبػِ کُیؼ ٔ ىًب ًْچُیٍ يی تٕاَیؼ اف فثبٌ يضؼٔػیت‬ ‫اىیبء امتلبػِ کُیؼ‪ٔ .‬هتی ىًب تًَیى گـكتیؼ کّ کّ چگَّٕ يضؼٔػیت ْبی عٕػ ؿا ثیبٌ کُیؼ چیقی کّ ثبیؼ ػؿ ؽٍْ‬ ‫ثنپبؿیؼ ایٍ امت کّ يغبٕت ىًب چّ کنی امت ‪ ،‬اكـاػ ػؿ مٕی تزبؿت ًَی تٕاَُؼ فثبٌ يضؼٔػیت اىیبء ؿا‬ ‫يتٕرّ ثيَٕؼ ٔنی ػؿ اؿهت يٕاؿػ امتلبػِ اف فثبٌ ٕجیؼی يی تٕاَؼ ثٓتـیٍ ؿاِ ثبىؼ‪ .‬ػؿ مٕی ػیگـ فثبٌ ٕجیؼی‬ ‫گبْی أهبت یّ یک ٕـیوی کّ ىًب ًَی عٕاْیؼ اثٓبو ایزبػ کُؼ‪ .‬پل يتُبمت ثب ایٍ کّ چّ کنی ػیبگـاو ىًب ؿا‬ ‫يی عٕاَؼ ‪ ،‬اف فثبَی امتلبػِ کُیؼ ثـای آٌ يزًٕػّ ٔاّش تـیٍ ٔ ثٓتـیٍ ثبىؼ‪.‬‬ ‫یافته کالسها ‪:‬‬ ‫ىبیؼ ىگلت فػِ ىٕیؼ اف ایٍ کّ چگَّٕ کالك ْبیی کّ ىًب آٌ ؿا ػؿ ػیبگـاو کالك يؼل يی کُیؼ ؿا پیؼا يی‬ ‫کُیى‪ .‬ایٍ ٔیؼئٕ ػؿ ایٍ ثبؿِ ٍضجت يیکُؼ پیؼا کـػٌ ٔ تؼـیق کـػٌ کالك ْب‪ .‬یکی اف ؿاِ ْبی عٕة ثـای ىـٔع ایٍ‬ ‫امت کّ ‪ْ Use Case‬بیی کّ تؼـیق کـػیؼ ؿا ثـؿمی کُیؼ اگـ آَٓب ؿا ػاىتّ ثبىیؼ ٔ ثب كـػی کّ ػؿ آٌ کبؿ صـكّ ای‬ ‫ٔ ثب تزـثّ امت ٍضجت کـػِ ثبىیؼ‪ .‬ثٕمیهّ کالك يٕرٕػیت –يُظٕؿ يب کالك امت کّ ىیء ؿا تؼـیق يی کُؼ ‪-‬‬ ‫کّ تٕمٔ ثیقیُل پیؼا يی ىَٕؼ‪ .‬پل يؼًٕال ٔهتی يب ػؿ يٕؿػ کالمٓبی يٕرٕػیت ٍضجت يی کُیى يؼًٕال ػؿ‬ ‫يٕؿػ ػاػِ ْب ٍضجت يی کُیى‪ .‬اف آَزبیی کّ ىًب ييغَبت ؿا يـٔؿ کـػِ ایؼ ٔ ثب كـػ صـكّ ای ػؿ آٌ فيیُّ کبؿی‬ ‫ٍضجت کـػِ ایؼ‪ ،‬ىًب يی عٕاْیؼ ثّ یک چیق عبً گٕه ػْیؼ ثـای امبيی کّ امتلبػِ کـػِ ایؼ‪ .‬امبيی ثؼؼا ثّ‬ ‫ىًب ثـای تؼـیق کالك ْب کًک يی کُ​ُؼ‪ .‬ایٍ ْب ىبيم چیق ْبی هبثم نًل‪ ،‬چیق ْبیی کّ ىًب يی ثیُیؼ یب‬ ‫نًل يی کُیؼ‪ ،‬چیقْبیی يخم ملبؿه‪ ،‬كبکتٕؿ‪ ،‬کبؿت مبػت کبؿی‪ ،‬صوٕم ‪ٔ،‬یب يٕرٕػی ثبىؼ‪ًْ.‬چُیٍ ىًب‬ ‫يغٕاْیؼ کّ هٕاَیٍ ؿاثجیُیؼ‪.‬اگـ ىًب کبؿ ‪ْ Use Case‬ب ؿا تًبو کـػِ ثبىؼ‪ ،‬ىًب تؼؼاػی اف هٕاَیٍ ييغٌ ٔ تبییؼ‬ ‫ىؼِ ؿا ػاؿیؼ‪.‬ييبْؼِ ثـای ؿٔی ػاػٌ چیق ْب کّ اتلبم يی اكتُؼ يخم یک ػاػٌ ملبؿه ٔ یب نـٕ ملبؿه‪،‬ػؿیبكت‬ ‫ٔرّ ٔ ؿیـِ ‪. ...‬اگـ ىًب ‪ْ Use Case‬ب ؿا تًبو کـػِ ثبىیؼ ثیيتـ ؿٔیؼاػ ْب ىجیّ ‪ْ Use Case‬بی ىًب ْنتُؼ‪.‬‬ ‫َگبْی ثّ عبؿد اف َٕع گَٕبگٌٕ تؼبيم ثیُؼافیؼ‪ ،‬كـٔه ملبؿه عـیؼ ؿا اف ييتـی ػؿیبكت يی کُؼ ٔ یب ػؿ یک‬ ‫مینتى ثیًبؿمتبٌ‪ ،‬ػکتـ يـیِ ؿا ػؿيبٌ يی کُؼ‪ًْ .‬چُیٍ ثـای عٍَٕیت ْب رنتزٕ کُیؼ‪ٔ .‬هتی ىًب ػؿ يٕؿػ‬ ‫عٍَٕیت ْب كکـ يی کُیؼ‪ ،‬یک َٕاعت ٔ امتبَؼاؿػ كکـ يی کُیؼ یب امتبَؼاؿػ صکٕيتی ػؿ يٕؿػ اثؼبػ ٔ صزى كکـ يی‬ ‫کُیؼ‪ .‬عٍَٕیبت ثؼؼا ىًب ؿا ػؿ تؼـیق ‪ْ Attribute‬ب ٔ ًْچُیٍ ػؿ يٕؿػ يضؼٔػیت ْب کًک يی کُ​ُؼ‪ًْ .‬چُیٍ ًْبٌ‬ ‫ٕ​ٕؿ کّ گلتّ ىؼ ػیؼٌ ثـای امبيی ٔ ػنیم ایٍ کّ امبيی ىًب ؿا ثـای تؼـیق کالك ْب ٔ عٍَٕیبت ٔ اىیبء کًک‬ ‫يی کُ​ُؼ‪ .‬ىًب ًْچُیٍ ثبیؼ گٕه كـا ػْیؼ ثّ كؼم ْب‪ ،‬ثّ ایٍ يلٕٓو کّ امبيی کبؿی ؿا اَزبو يی ػُْؼ‪ .‬كؼم‬ ‫ىبيم ػًهیبت ٔ تٕاثغ ٔ ؿٔاثٔ يی ىَٕؼ‪ًْ .‬چُیٍ آَٓب ثّ ىًب إالػبت عٕثی ؿا پیيُٓبػ يی ػُْؼ‪.‬‬

‫ثـای يخبل يـػو کبؿگـ ٔ کبؿيُؼ ؿا ثّ ربی ْى ثّ کبؿ يی ثـَؼ‪ .‬امبيی ػیگـ يًکٍ امت ّٔغ ػیگـی ػؿ کالمی کّ‬ ‫ىًب يی عٕاْیؼ تؼـیق کُیؼ ٔ یب مینتًی کّ ٕـاصی کـػِ ایؼ‪َ ،‬ؼاىتّ ثبىُؼ‪ .‬پل ىًب ثبیؼ نینتی اف امبيی‬

‫‪24‬‬

‫‪www.ParsBook.org‬‬


‫ؿا ػؿ ثیبٔؿیؼ ٔ إالػبت يٕؿػ امتلبػِ اف ْـ کؼاو ؿا ثُٕینیؼ (کؼاو إالػبت ؿا َیبف ػاؿیؼ ٔ ثّ ىًب کًک يی کُؼ ٔ‬ ‫َیبف ثّ ؽعیـِ کؼاو إالػبت ػاؿیؼ)‪.‬کالك ْب ؿا صلظ کُیؼ کّ ًَبیو گـ اىیبی كیقیکی ْنتُؼ‪.‬آَٓبیی هبثم نًل‬ ‫ْنتُؼ يب ثؼؼا ػؿ يٕؿػىبٌ ٍضجت عٕاْیى کـػ‪.‬ىًب يی عٕاْیؼ کّ کالك ْب ؿا َگّ ػاؿیؼ کّ ًَبیو گـ يٕرٕػیت‬ ‫ْبی يلٕٓيی ْنتُؼ‪.‬ىًب ًْچُیٍ يی عٕاْیؼ کالمٓبی ؿٔ َگّ ػاؿیؼ کّ کّ ًَبیيگـ ػمتّ ْبی کالك‬ ‫ْنتُؼ‪.‬ایُٓب يی تٕاَُؼ ثّ اثـ کالك تجؼیم ىَٕؼ کّ ثـای چیق ْبیی يبَُؼ ػًٕيی مبفی ثّ يب کًک عٕاْؼ کـػ‪ٔ.‬‬ ‫ػؿ پبیبٌ کالمی ؿا َگّ يی ػاؿیى کّ ًَبیو گـ ٔامٔ ْبی ىُبعتّ ىؼِ رٓبٌ عبؿد اف مینتى امت‪.‬ػؿ ایُزب یک‬ ‫يخبل مـیغ ػؿ ٍضجت کـػٌ ثب پـمُم ػؿثبؿِ یک ْتم يی ثبىؼ ٔ ایُکّ چگَّٕ آَٓب کبؿ يی کُ​ُؼ‪ .‬ىًب يی تٕاَیؼ‬ ‫کالمٓب ؿا ثـ امبك یک مینتى ٕـاصی ىؼِ ْتم تؼـیق کُیؼ‪ .‬یکی اف کالك ْبی اٍهی ‪ Room‬يی ثبىؼ کّ‬ ‫ػاؿای عٍَٕیبتی ًْچٌٕ ‪ٕ :‬جوّ ٔ َٕع ٔ چُؼ تغتّ ‪ ،‬یک ٕجوّ یب ػٔثهکل‪ ،‬اربفِ کيیؼٌ میگبؿ ػاؿَؼ یب َّ‪ ،‬صؼاکخـ‬ ‫تؼؼاػ اكـاػی کّ يی تٕاَُؼ ػؿ اٌ اهبيت کُ​ُؼ‪ ،‬يی ثبىؼ‪ .‬ػًهیبت آٌ ىبيم ‪ :‬ؿفؿٔ ىؼٌ‪ ،‬تًیق ىؼٌ‪ ٔ،‬ؿیـِ‪ ...‬يی‬ ‫ثبىؼ‪.‬یک کالك كـفَؼ کّ اؿث ثـػِ ىؼِ اف کالك ‪ ٔ Room‬أٌ ‪ Suite Room‬امت‪.‬ایٍ کالك كـفَؼ تًبو عٍَٕیبت ٔ‬ ‫ػًهیبت ْبی کالك ٔانؼ عٕػ یؼُی ‪ Room‬ؿا ػاؿػ ايب ایٍ کالك تؼؼاػی عٍَٕیت ػیگـ ْى ػاؿػ‪.‬تؼؼاػ اتبم ْب ػؿ‬ ‫مٕیت کّ يی تٕاَؼ ثیيتـ اف یکی ثبىؼ ٔ صتی يًکٍ امت مٕیت رکٕفی ْى ػاىتّ ثبىؼ‪ًْ.‬چُیٍ ایُزب تؼؼاػی‬ ‫َوو ػؿ مینتى ْتم ٔرٕػ ػاؿػ‪ .‬يب ػؿ ایُزب يًٓبٌ ؿا ػاؿیى کّ يًٓبٌ عٍَٕیت ْبیی يخم َبو ‪ ،‬آػؿك‪ ،‬کبؿت‬ ‫اػتجبؿی ‪ ...ٔ ،‬ؿا ػاؿػ‪ًْ ٔ .‬چُیٍ ػًهیبتی ًْچٌٕ ؿفؿٔ کـػٌ‪ .‬يب ًْچُیٍ تؼؼاػی کالك کبؿيُؼاٌ ْتم ؿا ػاؿیى‪ .‬يخم‬ ‫يُيی‪ ،‬کبؿيُؼاٌ َگٓؼاؿی اف ْتم‪،‬کبؿيُؼاٌ عبَّ ػاؿی‪.‬ػالِٔ ثـ ایُٓب يب کالك ؿفؿٔ کـػٌ ؿا ػاؿیى عٍَٕیت ْبیی‬ ‫ًْچٌٕ ‪ :‬ىًبؿِ تبییؼ ٔ ػًهیبتی ًْچٌٕ ‪ :‬حجت ‪ ،‬تبییؼ ‪ ،‬اؿٕ‪.‬کالك نـٕ يب عٕػ ىبيم عٍَٕیت ىًبؿِ نـٕ يی‬ ‫ثبىؼ‪ .‬اف آَزبیی کّ ثب يتغٌَ ایٍ فيیُّ ٍضجت کـػِ ایؼ ىًب ىبیؼ ػؿ يٕؿػ هٕاَیٍ کبؿ میبمت ْب ٔچیقْبی ػیگـ‬ ‫کّ ثّ ىًب ثـای تؼـیق يضؼٔػیت ْب کًک يی کُؼ‪ .‬نـٕ اتبم ثبیؼ هجم اف مبػت ‪ 3‬ثؼؼ اف ظٓـ ثبىؼ ٔ ػؿ ؿیـ ایٍ‬ ‫ٍٕؿت یک ؿٔف ػیگـ ىبؿژ يی ىٕػ‪ .‬ىًب ًْچُیٍ چیقْبیی يخم يضؼٔػیت ْب ؿا رًغ يی کُیؼ ٔ مُؼْبیی ػؿمت‬ ‫يی کُیؼ ثـای ىـٔع تؼـیق کالك‪.‬ایٍ كؤ يـصهّ أل امت کّ ىبیؼ ىًب ثّ آٌ َگبِ اَؼاعتّ ثبىیؼ‪ًْ .‬چُیٍ‪،‬‬ ‫ًْبَٖٕؿ کّ ػاؿیؼ ػؿ چـعّ مبعت مینتى ٔ پیبػِ مبفی آٌ پیو يی ؿٔػ کالك ْبیی ؿا تؼـیق يی کُیؼ کّ اف‬ ‫هجم آَٓب ؿا َؼیؼِ ایؼ ٔ یب يتٕرّ يی ىٕیؼ کالك ْبیی ثـای مینتى ىًب ّـٔؿی َینتُؼ‪.‬ايب يـٔؿ عٍَٕیبت ٔ‬ ‫ٍضجت کـػٌ ثب كـػ يتغٌَ ػؿ مینتى ىًب یک يـصهّ ىـٔع عٕة يی تٕاَؼ ثبىؼ کّ ثّ ىًب ثـای تؼـیق کالك‬ ‫ْبیی کّ ثّ آٌ َیبف ػاؿیؼ کًک يی کُؼ‪.‬‬

‫دیاگراهِای کالش پیشرفتَ ؛ کالسِای اًتساعی ‪:‬‬ ‫کالك ْبی اَتقاػی ثّ گَّٕ ای تؼـیق يی ىَٕؼ کّ کالك ْبی ػیگـ يی تٕاَُؼ اف آَٓب ثّ اؿث ثجـَؼ‪ًَ .‬ی تٕاٌ ثّ‬ ‫ٕ​ٕؿ ينتویى اف یک کالك اَتقاػی ًََّٕ مبعت ايب اف َٕاػگبٌ ٔ ػؿ ٔاهغ اف فیـکالمٓبی آٌ يی تٕاٌ ًََّٕ مبعت‪.‬‬ ‫ثـای َيبٌ ػاػٌ کالك ْبی اَتقاػی ػؿ ‪َ UML‬بو کالك ؿا ثّ ٍٕؿت صـٔف کذ (‪ )Italic‬يی َٕینیؼ‪ًْ .‬بٌ ٕ​ٕؿ کّ‬ ‫ػؿ ایُزب يی ثیُیؼ ثـای ایُکّ يٖهت ٔاّش تـ ىٕػ َبو کالك ؿا‪( Abstract Class ،‬کالك اَتقاػی) يی گؾاؿیى‪ .‬یک‬ ‫ال یک یب چُؼ ؿكتبؿ اَتقاػی ػاؿػ‪ .‬یک ؿكتبؿ اَتقاػی پیبػِ مبفی ًَی ىٕػ‪.‬‬ ‫کالك اَتقاػی يؼًٕ ً‬

‫ايب ْـ فیـکالمی کّ ؿكتبؿْبی کالك اَتقاػی ؿا ثّ اؿث يی ثـػ‪ ،‬آٌ ؿكتبؿ ؿا يتُبمت ثب َیبف عٕػ پیبػِ مبفی يی‬ ‫کُؼ‪ .‬تب نضظبتی ػیگـ يخبنی ؿا عٕاْیى ػیؼ ايب هجم اف آٌ اربفِ ػْیؼ چگَٕگی ًَبیو آٌ تٕمٔ اثقاؿْبی (رؼجّ اثقاؿ‬ ‫ٕجوّ ثُؼی کُ​ُؼِ) َيبٌ ػْیى‪ .‬يب ػٔ ؿكتبؿ ػاؿیى‪ .‬ؿكتبؿ ىًبؿِ ‪ 2‬ؿا ثّ ػُٕاٌ یک ؿكتبؿ اَتقاػی ػؿ َظـ يی گیـیى‬ ‫(َبو آٌ ؿا ثب صـٔف کذ يی َٕینیى)‪ .‬تٕرّ ػاىتّ ثبىیؼ کّ کّ یک کالك اَتقاػی ْى يی تٕاَؼ ؿكتبؿْبی اَتقاػی‬ ‫ٔ ْى ؿكتبؿْبی ٔاهؼی ػاىتّ ثبىؼ ٔ ػنیم ایُکّ َبو ؿكتبؿْب ؿا ثّ ٍٕؿت کذ َٕىتّ يی ىٕػ ایٍ امت کّ ييغٌ‬ ‫ىٕػ ػؿ کالك اَتقاػی‪ ،‬کؼاو ؿكتبؿْب اَتقاػیُؼ‪ .‬ایُگَّٕ تَٕؿ کُیؼ کّ یک کالك اَتقاػی یک ؿكتبؿ ؿا تؼـیق يی کُؼ‬

‫‪25‬‬

‫‪www.ParsBook.org‬‬


‫ايب آٌ ؿا پیبػِ مبفی ًَی کُؼ‪ .‬ػؿ ایٍ صبنت کالك اَتقاػی یک ؿكتبؿ اَتقاػی ؿا ثـای تًبو فیـکالمٓبی عٕػ ثّ گَّٕ‬ ‫ای تؼـیق يی کُؼ کّ ْـ یک يی تٕاَؼ ثّ ىکهی يغتهق آٌ ؿا پیبػِ مبفی کُؼ‪ .‬ثـای ًَبیو اؿتجبٓ ثیٍ یک کالك‬ ‫اَتقاػی ٔ فیـکالمٓبیو ثّ ایٍ ىکم ػًم يی کُیى‪ ،‬يب ثّ ایٍ کالك‪ ،‬کالك ىًبؿِ ‪ 2‬عٕاْیى گلت کّ ػؿ ایُزب‬ ‫یک فیـکالك امت ٔ اف آَزب کّ یک کالك امتبَؼاؿػ امت َبو آٌ ؿا ثّ ٍٕؿت کذ َُٕىتیى‪ .‬ایٍ فیـکالك ًْچُیٍ‬ ‫ػاؿای ‪ 2‬ؿكتبؿ امت کّ اف کالك اَتقاػی ثّ اؿث ثـػِ امت ٔ ْـ ػٔی ایٍ ؿكتبؿْبی ىًبؿِ ‪ 2 ٔ 1‬ثّ ٍٕؿت کذ‬ ‫َٕىتّ َيؼِ اَؼ (اَتقاػی َینتُؼ) فیـا ؿكتبؿْبیی ْنتُؼ کّ يی تٕاٌ آَٓب ؿا پیبػِ مبفی کـػ‪ .‬ثـای ایُکّ ًَبیو‬ ‫ػْیى ایٍ فیـکالك اف کالك اَتقاػی اؿث يی ثـػ‪ ،‬اف كهو تؼًیى ( ‪ )Generalization‬ثّ َضٕی امتلبػِ يی کُیى کّ‬ ‫رٓت پیکبٌ اف کالك كـفَؼ عبؿد ٔ ثّ کالك اَتقاػی ٔاؿػ ىؼِ ثبىؼ‪.‬‬

‫ًْبَٖٕؿ کّ يی ثیُیؼ ػؿ کالك اَتقاػی يی تٕاَیى ثّ ٕ​ٕؿ ٔاّش َبو کالك ٔ ًْچُیٍ ؿكتبؿ اَتقاػی آٌ ؿا ييبْؼِ‬ ‫کُیى‪ًْ .‬چُیٍ ؿكتبؿی کّ اف ایٍ کالك ثّ اؿث ثـػِ ىؼِ ؿا َیق يی ثیُیى کّ يی تٕاَؼ پیبػِ مبفی ىٕػ ٔ اف آٌ‬ ‫ًََّٕ ای َیق مبعتّ ىٕػ‪ .‬صبل ثّ يخبنی کّ پیيتـ اىبؿِ کـػو يی ؿمیى‪ ،‬ػؿ ایُزب یک کالك اَتقاػی ثّ َبو‬ ‫ٍضجت (‪ )Speaking‬ػاؿیى کّ صبٔی یک ؿكتبؿ اَتقاػی ثّ َبو ٍضجت کـػٌ ( ‪ )Speak‬يی ثبىؼ‪ .‬مّ کالك امتبَؼاؿػ‬ ‫ثّ ػُٕاٌ فیـکالمٓبی ایٍ کالك اَتقاػی ثب َبيٓبی «ٍضجت کُ​ُؼِ ثّ فثبٌ اَگهینی ( ‪ٍ« ،»)English Speaker‬ضجت‬ ‫کُ​ُؼِ ثّ فثبٌ كـاَنٕی ( ‪ٍ« ٔ »)French Speaker‬ضجت کُ​ُؼِ ثّ فثبٌ ؿٔمی ( ‪ٔ »)Russian Speaker‬رٕػ ػاؿػ‪ْ .‬ـ‬ ‫کؼاو اف ایٍ فیـکالمٓب ؿكتبؿ ٍضجت کـػٌ ؿا ثّ اؿث يی ثـَؼ ايب ْـ کؼاو اف آَٓب ایٍ ؿكتبؿ ؿا ثّ ىیِٕ عبً عٕػ پیبػِ‬ ‫مبفی يی کُ​ُؼ‪ .‬ػؿ ٔاهغ ًََّٕ ْبی کالك ٍضجت کُ​ُؼِ ثّ فثبٌ اَگهینی ثّ یک ىیِٕ مغٍ عٕاُْؼ گلت‪ًََّٕ ،‬‬ ‫ْبی کالك ٍضجت کُ​ُؼِ ثّ فثبٌ كـاَنٕی ثّ ىیِٕ ی ػیگـ ٍضجت عٕاُْؼ کـػ ٔ ػؿ َٓبیت ًََّٕ ْبی کالك‬ ‫ٍضجت کُ​ُؼِ ثّ فثبٌ ؿٔمی َیق ثّ ىیِٕ ای يتلبٔت اف ػٔ ىیِٕ هجم‪ .‬نؾا ًْبَٖٕؿ کّ يی ثیُیؼ کالك اَتقاػی‬ ‫اربفِ پیبػِ مبفی ؿكتبؿ ٍضجت کـػٌ ؿا ثّ تًبو فیـ کالك ْبی عٕػ يی ػْؼ ايب ْـ فیـکالك ثّ ىیِٕ عبً عٕػ آٌ‬ ‫ؿا پیبػِ مبفی يی کُؼ‪ ٔ .‬ػؿ َٓبیت تٕرّ ػاىتّ ثبىیؼ کّ ْـ کالك ٔانؼ نقٔيی َؼاؿػ صتً​ًب اَتقاػی ثبىؼ‪ .‬یک‬ ‫کالك امتبَؼاؿػ ْى يی تٕاَؼ ثّ ػُٕاٌ کالك ٔانؼ ػؿ َظـ گـكتّ ىٕػ ثـای يخبل کالك ٍضجت کُ​ُؼِ ثّ فثبٌ‬ ‫اَگهینی يی تٕاَؼ ثّ ػُٕاٌ ٔانؼ‪ ،‬فیـ کالك ْبیی ثب َبو ْبی آيـیکبیی‪ ،‬ثـیتبَیبیی‪ ،‬امتـانیبیی‪ ،‬کبَبػایی ٔ ؿیـِ‬ ‫ػاىتّ ثبىؼ‪ .‬نؾا ْى کالك ْبی امتبَؼاؿػ ٔ ْى کالك ْبی اَتقاػی يی تٕاَُؼ کالك ٔانؼ ثبىُؼ ٔ عٍَٕیبت ٔ‬ ‫ؿكتبؿْبیيبٌ تٕمٔ کالمٓبی كـفَؼ ثّ اؿث ثـػِ ىَٕؼ‪.‬‬

‫‪26‬‬

‫‪www.ParsBook.org‬‬


‫واسطها (رابطها) ‪:‬‬ ‫چیقی کّ ایُزب يی ثیُیؼ ؿٔىی ثـای َيبٌ ػاػٌ یک ٔامٔ ػؿ ‪ UML‬امت‪ .‬یک ٔامٔ يزًٕػّ ای اف ؿكتبؿْبمت‬ ‫کّ پیبػِ مبفی ًَی ىَٕؼ ايب مـٔیل عبٍی ؿا ثـای یک کالك یب یک يٕنلّ يؼیٍ يی کُؼ‪.‬‬

‫ثّ ػجبؿت ػیگـ ٔامٔ‪ ،‬یک یب چُؼ مـٔیل پیبػِ مبفی ىؼِ ثٕمیهّ ثؼْی اف کالك ْب یب يٕنلّ ْب ؿا َيبٌ يی‬ ‫ػْؼ ٔ اف ایٍ ثّ ثؼؼ تب ُْگبيی کّ ػؿ ثغو ػیبگـاو ْبی کالك ْنتیى ػؿ ؿاثّٖ ثب کالك ْب ٔ ٔامٔ ْب ٍضجت‬ ‫عٕاْیى کـػ‪ .‬ػؿ ایُزب یک ٔامٔ ػاؿیى ٔ اربفِ ثؼْیؼ ثّ آٌ ػٔ ؿكتبؿ َیق ثؼْیى‪ .‬ایٍ ؿكتبؿْب تٕمٔ عٕػ ٔامٔ ًَی‬ ‫تٕاَُؼ پیبػِ مبفی ىَٕؼ ٔ َیبف ثّ کالمی ػاؿَؼ کّ آَٓب ؿا پیبػِ مبفی کُؼ‪ .‬يب ایُزب کالمی ػاؿیى کّ ثّ آٌ ػٔ ؿكتبؿ‬ ‫َیق يی ػْیى فیـا ایٍ کالك هـاؿ امت ؿكتبؿْبی تؼـیق ىؼِ ػؿ ٔامٔ ىًبؿِ ‪ 1‬ؿا پیبػِ مبفی کُؼ نؾا ثّ آٌ‬ ‫ؿكتبؿْبیی ييبثّ ثب ؿكتبؿْبی تؼـیق ىؼِ ػؿ ٔامٔ ىًبؿِ یک يی ػْیى‪ .‬صبل َيبٌ يی ػْیى کّ ایٍ کالك ثب‬ ‫امتلبػِ اف كهو تضون ( ‪ٔ )Realization‬امٔ ؿا پیبػِ مبفی يی کُؼ‪ .‬ىبیؼ كکـ کُیؼ کّ یک ٔامٔ ىجیّ یک کالك‬ ‫اَتقاػی ػًم يی کُؼ کّ ػؿمت ْى ْنت ايب ػؿ یک ٔامٔ تًبو ييغَّ ْبی اَتقاػی ْنتُؼ‪ .‬تٕرّ ػاىتّ‬ ‫ثبىیؼ کّ ينتٖیم ٔامٔ ثـعالف ينتٖیم کالك کّ اف ‪ 3‬ثغو تيکیم ىؼِ امت تُٓب ػٔ ثغو ػاؿػ‪ .‬ػؿ ٔاهغ‬ ‫ثغيی ثـای تؼـیق عٍَٕیبت ٔرٕػ َؼاؿػ ٔ تُٓب ؿكتبؿْب ػؿ ٔامٔ ػؿ تؼـیق يی ىَٕؼ‪ًْ .‬چُیٍ ػؿ ثؼْی اف فثبٌ‬ ‫ْبی ثـَبيّ َٕینی يخم ربٔا ( ‪ )Java‬یک کالك يًکٍ امت تُٓب اف یک کالك ػیگـ ثّ اؿث ثـػِ ىٕػ‪ ،‬یک کالك‬ ‫امتبَؼاؿػ یب اَتقاػی ثب ٔامٔ اگـچّ یک کالك يًکٍ امت چُؼیٍ ٔامٔ ؿا پیبػِ مبفی کُؼ‪ .‬نؾا ػؿ ایُزب کالك‬ ‫ىًبؿِ یک يی تٕاَؼ ْـ ػٔ ٔامٔ ‪ 2 ٔ 1‬ؿا پیبػِ مبفی کُؼ‪ .‬اف ٕـكی چُؼیٍ کالك يی تٕاَُؼ یک ٔامٔ ؿا پیبػِ‬ ‫مبفی کُ​ُؼ‪ .‬نؾا ٔامٔ ىًبؿِ ‪ 1‬يی تٕاَؼ تٕمٔ کالك ْبی ىًبؿِ ‪ 2 ٔ 1‬پیبػِ مبفی ىٕػ‪ .‬اف ْـ ػٔ ٍٕؿت يی‬ ‫تٕاَیؼ ثـای ٔامٔ ْبیتبٌ امتلبػِ کُیؼ‪ .‬اف یک ٔامٔ ًَی تٕاٌ ثّ ٕ​ٕؿ ينتویى ًََّٕ مبعت ايب اف ْـ کالمی کّ‬ ‫آٌ ؿا پیبػِ مبفی يی کُؼ یب ًْبٌ ٕ​ٕؿ کّ گلتى ػؿ ‪ UML‬ثبیؼ ؿكتبؿْبی يٕرٕػ ػؿ ٔامٔ ؿا ثّ َٕػی پیبػِ مبفی کـػ‪.‬‬ ‫ػٔ ؿٔه ثـای ًَبیو ٔامٔ ػؿ ‪ٔ UML‬رٕػ ػاؿػ‪ .‬یک ؿٔه‪ ،‬ؿٔىی امت کّ ثب آٌ کبؿ يی کـػیى‪ ،‬اف یک ينتٖیم کّ‬ ‫اف ػٔ ثغو تيکیم ىؼِ امتلبػِ يی کـػیى کّ صبٔی یک هبنت ثب َبو کهیؼی ٔامٔ ( ‪ )Interface‬امت ٔ ػیگـی‬ ‫امتلبػِ اف یک ػایـِ امت‪ .‬ثـای ٔامٔ ىًب اف ایٍ ًَبػ امتلبػِ يی کُیؼ‪ .‬ىًب اف كهو ْبی ‪ Realization‬امتلبػِ‬ ‫يی کُیؼ ثّ َضٕی کّ یک عٔ اف مًت ٔامٔ ثّ مًت کالمی کّ آٌ ؿا پیبػِ مبفی يی کُؼ يی کيیؼ‪ .‬ثّ ایٍ‬ ‫ٔامٔ‪ٔ ،‬امٔ يهقٔو گلتّ يی ىٕػ‪ .‬کالك ىًبؿِ ‪ 3‬پیبػِ مبفی ٔامٔ ىًبؿِ ‪ 3‬ؿا كـاْى يی آٔؿػ‪ًْ .‬چُیٍ َٕع‬ ‫ػیگـی اف ٔامٔ ْب ٔرٕػ ػاؿػ کّ ثّ آَٓب ٔامٔ ْبی الفو گلتّ يی ىٕػ‪ .‬ثّ ربی ًَبػ آة َجبت یک ٔامٔ الفو ىجیّ‬ ‫كُزبٌ یب یک گٕػی امت‪ٔ .‬امٔ يهقٔو ثؼیٍ يؼُبمت ایٍ کالك پیبػِ مبفی ایٍ ٔامٔ ؿا ثـػٓؼِ ػاؿػ ٔ یک ٔامٔ‬ ‫الفو ثؼیٍ يؼُبمت کّ ایٍ کالك ثّ ایٍ ٔامٔ ثـای اَزبو ػًهیبتو َیبفيُؼ امت‪ .‬ثّ ػجبؿت ػیگـ ایٍ ٔامٔ ثّ یک‬ ‫کالك ػیگـ ثـای پیبػِ مبفیو َیبف ػاؿػ ٔ ؿٔىی کّ ىًب آٌ ؿا َيبٌ يی ػْیؼ ًْبٌ امتلبػِ اف ًَبػ ىکم تٕپ یب‬ ‫آة َجبت امت‪ .‬نؾا يب ٔامٖی ػاؿیى کّ کالك ىًبؿِ ‪ 3‬ثّ آٌ اصتیبد ػاؿػ ٔ کالك ىًبؿِ ‪ 4‬آٌ ؿا كـاْى يی کُؼ‪.‬‬ ‫ثؼیٍ يؼُب کّ ىًب يی تٕاَیؼ ایٍ ػٔ ؿا ثـای ًَبیو ایُکّ ایٍ ػٔ ٔامٔ یکی اَؼ‪ ،‬ثّ ْى ٍٔم کُیؼ‪ .‬ىًب يی تٕاَیؼ‬ ‫اف یک كهو ينتوم کّ اف ٔامٔ الفو ثّ يهقٔو يتَم امت امتلبػِ ًَبییؼ‪ .‬انجتّ اگق اثقاؿ ‪ UML‬ىًب ایٍ اربفِ ؿا‬ ‫ثؼْؼ‪ .‬ىًب يی تٕاَیؼ ًَبػ تٕپ ىکم ٔ كُزبٌ ىکم ؿٔ ثّ ْى يتَم کُیؼ ثـای ایُکّ َيبٌ ػْیؼ کالك ىًبؿِ ‪3‬‬ ‫ثّ ایٍ ٔامٔ َیبف ػاؿػ ٔ کالك ىًبؿِ ‪ 4‬آٌ ؿا كـاْى يی آٔؿػ‪ٔ .‬امٔ ْب يی تٕاَُؼ ثـای تؼـیق ؿكتبؿْبی ييتـک‬ ‫يیبٌ چُؼیٍ کالك يلیؼ ثبىُؼ ٔ اَؼٖبكی کّ ثـای ًَبیو ٔامٔ ْب ػؿ ػیبگـاو ْبی کالك ػاؿیؼ ثّ ىًب ایٍ ايکبٌ‬ ‫ؿا يی ػْؼ کّ ؿٔی چیقْبی عبٍی ػؿ ؿاثّٖ ثب ٔامٖٓب تبکیؼ کُیؼ‪ .‬يب ػؿ ایُزب ؿكتبؿْبی آٌ ؿا تؼـیق يی کُیى یب ثّ‬ ‫ىًب اربفِ يی ػْؼ کّ ػیبگـايتبٌ ؿا كيـػِ تـ کُیؼ ُْگبيی کّ اف اتَبل ْبی امًجهی امتلبػِ يی کُیؼ‪.‬‬

‫‪27‬‬

‫‪www.ParsBook.org‬‬


‫دیاگرامهای همکاری ‪:‬‬ ‫ایٍ يوبنّ آيٕفىی ػؿ يٕؿػ ًْکبؿی امت‪ .‬ىًب ثب ‪ْ Collaboration‬ب كؤ ػؿ ػیبگـاو ْبی کالك ؿٔثـٔ ًَی ىٕیؼ‬ ‫ثهکّ ػؿ ثنیبؿی اف إَاع ػیبگـايٓبی ‪ UML‬ثب آٌ يٕارّ يی ىٕیؼ‪ .‬يؼُی نـٕی ‪ًْ Collaboration‬کبؿی ثب یکؼیگـ ثـای‬ ‫ثؼمت آٔؿػٌ یک َتیزّ امت‪.‬‬

‫ػؿ یک ػیبگـاو ‪ Collaboration ،UML‬یک گـِٔ اف ػُبٍـ امت کّ ثب یکؼیگـ ًْکبؿی يی کُ​ُؼ کّ یک َتیزّ ؿا ثؼمت‬ ‫ثیبٔؿَؼ‪ .‬ایٍ ًْکبؿی يًکٍ امت يٕهتی ثبىؼ یب ثـای ًْیيگی ثبىؼ‪ .‬ایٍ یک انگٕیی اف ؿكتبؿ ؿا َيبٌ يی ػْؼ‬ ‫کّ ىًب يی تٕاَیؼ ثّ ػیبگـاو عٕػ آٌ ؿا اّبكّ کُیؼ‪ .‬چیقی کّ ‪ Collaboration‬ؿا ػمتّ ثُؼی يی کُؼ یک ثیْی ای‬ ‫امت کّ يضیٔ آٌ ثّ ٍٕؿت عٖٕٓ َوّٖ چیٍ امت ٔ َبو ‪ Collaboration‬ػاعم آٌ َٕىتّ ىؼِ امت‪.‬‬

‫‪28‬‬

‫‪www.ParsBook.org‬‬


‫چیقی کّ ػؿ ‪ Collaboration‬ایلبی َوو يی کُؼ هٕاَیٍ َبيیؼِ يی ىَٕؼ ٔ ىًب يی تٕاَیؼ آٌ ؿا ایُزب ثجیُیؼ‪ .‬هٕاَیٍ‬ ‫ثب صـٔف کٕچک َٕىتّ يی ىَٕؼ ؛ ػًهکـػ آَٓب يبَُؼ َگّ ػاؿَؼِ ای ثـای اىیبء امت فیـا ػؿ ‪ Runtime‬ثّ ٍٕؿت‬ ‫يـصهّ ای ٔاؿػ يی ىَٕؼ ٔ ثب هٕاَیُی کّ ػؿ ایُزب تؼـیق يی ىَٕؼ َويی ؿا ثبفی يی کُ​ُؼ‪ .‬يتَم کُ​ُؼِ ْب ػؿ یک‬ ‫‪ Collaboration‬ثّ ٍٕؿت نیُک ْبی يٕهتی ًَبیو ػاػِ يی ىَٕؼ ‪ .‬اثٍ اؿتجبٓ ْب ػؿ ٕی یک ًْکبؿی ٔرٕػ ػاؿَؼ‬ ‫ٔنی عبؿد ‪ Collaboration‬ایٍ ٕ​ٕؿ َینت ٔ ثب یکؼیگـ ًْکبؿی َؼاؿَؼ‪ .‬پل ثیبیؼ ثجیُیى کّ یک ‪ Collaboration‬چگَّٕ‬ ‫َيبٌ ػاػِ يی ىٕػ ‪ ،‬ػٔ ؿاِ ثـای َيبٌ ػاػٌ ‪ Collaboration‬ػؿ ػیبگـاو ْبی ‪ٔ UML‬رٕػ ػاؿػ‪ .‬أنی آَی امت کّ ػؿ‬ ‫ایُزب يی ثیُیى‪ .‬ىًب ػمتّ ی ‪ Collaboration‬ؿا تٕمؼّ يی ػْیؼ تب هٕاَیُی کّ ثب یکؼیگـ ًْکبؿی يی کُ​ُؼ ٔ‬ ‫ًْچُیٍ اتَبل ْبی ثیٍ آَٓب ؿا ػؿٌٔ ػمتّ هـاؿ ػْیؼ‪ .‬ؿٔه ػیگـ ثـای ایزبػ ‪ Collaboration‬امتلبػِ اف کالك ْب‬ ‫امت کّ ْـ یک اف هٕاَیٍ ثّ ٍٕؿت ًََّٕ ( ‪ )Instance‬امت ‪ ،‬پل يب اف ثیْی ‪ Collaboration‬كؼهی عبؿد يی ىٕیى‬ ‫ٔ يب ایٍ کبؿ ؿا ثب یک رلت کالك اَزبو يی ػْیى ‪ ،‬يب آَٓب ؿا کالك یک ٔ کالك ػٔ يی َبيیى‪ٔ .‬هتی ىًب یک ػمتّ‬ ‫ی ‪ Collaboration‬ؿا کّ ىجیّ ایٍ امت ؿا يی ثیُیؼ ‪ ،‬ایٍ كؤ یک ثیْی ؿا َيبٌ يی ػْؼ ٔ َّ چیقی کّ ػاعم آٌ‬ ‫امت ‪ ،‬ایٍ ؿٔیؼاػ ‪َ Collaboration‬بيیؼِ يی ىٕػ کّ ىًب يی تٕاَیؼ ؿٔیؼاػ ‪ Collaboration‬ؿا ‪ ،‬کّ يب اَزبو يی‬ ‫ػْیى ‪ ،‬اف ٕـین یک ٔاثنتگی ثّ کالمی کّ ييبؿکت يی کُؼ يتَم کُیؼ ‪ ،‬هٕاَیٍ ػؿ ‪ًْ Collaboration‬بٌ ًََّٕ‬ ‫ْب ْنتُؼ‪ .‬پل يب ثـای يخبل يی تٕاَیؼ ایٍ اتَبل ؿا "هبٌَٕ یک" ٔ ایٍ یکی ؿا "هبٌَٕ ػٔ" ثُبيیى‪ .‬پل ایٍ ػیبگـاو‬ ‫ًْکبؿی ‪ ،‬هٕاَیٍ آٌ ٔ ًْچُیٍ کالك ْبیی ؿا َيبٌ يی ػْؼ کّ ْـ یک اف ایٍ هٕاَیٍ ثّ ٍٕؿت ًََّٕ ْبیی ػؿ‬ ‫‪ Collaboration‬كؼهی ًَبیو ػاػِ يی ىَٕؼ کّ ىًب يی تٕاَیؼ آٌ ؿا ثجیُیؼ ًْچُیٍ ىًب ٔهتی اف امٍ ىیِٕ ی‬ ‫ًَبػ گؾاؿی امتلبػِ يی کُیؼ يی تٕاَیؼ إالػبتی ؿا اّبكّ کُیؼ فیـا ىًب ػًهیبتی ؿا اّلّ يی کُیؼ کّ ثـای يخبل‬ ‫َويی ؿا ػؿ ًْکبؿی ( ‪ )Collaboration‬ثبفی يی کُؼ‪ .‬ثُبثـایٍ ثیبیؼ ثّ یک يخبل كٕؿی َگبْی ثیبَؼافیى ‪ ،‬ػؿ ایُزب يب‬ ‫یک ‪ Collaboration‬ػاؿیى کّ آٌ ؿا كـٔه يی َبيیى کّ ػؿ ایُزب چٓبؿ هبٌَٕ پیچیؼِ ػؿ ایٍ ًْکبؿی ٔرٕػ ػاؿػ‪ .‬يب ػٔ‬ ‫هبٌَٕ ػؿ ٕـكیٍ كـٔه ‪ ،‬عـیؼاؿ ٔ كـٔىُؼِ ػاؿیى ‪ .‬يب رُل ؿا ػاؿیى ٔ ًْچُیٍ هیًت كـٔه ؿا ػاؿیى ‪ .‬ىًب يی‬ ‫تٕاَیؼ اتَبل ْبی گَٕبگَٕی ؿا ثیٍ ایٍ هٕاَیٍ ثجیُیؼ ًْچُیٍ ىًب يی تٕاَیؼ ‪ Multiplicity‬ؿا ثجیُیؼ‪ .‬ػؿ كـٔه یک‬ ‫عـیؼاؿ يی تٕاَؼ تؼؼاػ فیبػی رُل ثغـػ ‪ .‬پل ایٍ كؤ یک يخبنی اف ایٍ ىیِٕ ی ًَبیو ‪ Collaboration‬امت ‪،‬‬ ‫ىًب َبو ‪ ،Collaboration‬ارقاء یب هٕاَیٍ پیچیؼِ ٔ ًْچُیٍ اتَبل ْبی ثیٍ آَٓب ؿا ػاؿیؼ‪ .‬صبال ػؿ ایُزب ٔهتی کّ یک‬ ‫‪ Collaboration‬ؿا ثّ ‪ Diagram Class‬عٕػ اّبكّ يی کُیؼ يی ثیُیؼ کّ چگَّٕ يی تٕاَؼ ييبثّ ىٕػ‪ .‬ایٍ ثنیبؿ‬ ‫ىجیّ ‪ Class Diagram‬امت‪ .‬يب کالك ْبی گَٕبگَٕی ػاؿیى ‪ ،‬يب ثغو ‪ ،‬يضَٕل ٔ هیًت ٔ ًْچُیٍ اؿتجبٕبت يیبٌ‬ ‫آَٓب ؿا ػاؿیى‪ .‬یک ثغو يضَٕل ؿا عـیؼاؿی يی کُؼ ‪ ،‬عـیؼاؿ تؼؼاػ فیبػی يضَٕل يی تٕاَؼ ثغـػ ‪ ،‬یک يضَٕل یک‬ ‫هیًت ػاؿػ ٔ كـٔىُؼِ يی تٕاَؼ هیًت ْب ؿا تُظیى کُؼ ‪.‬‬

‫‪29‬‬

‫‪www.ParsBook.org‬‬


‫پل ایٍ ‪ Class Diagram‬يب امت ‪ .‬يب يی تٕاَیى یک ؿٔیؼاػ ‪ Collaboration‬ؿا ثّ ایٍ اّبكّ کُیى ‪ ،‬یک كـٔه ‪ ،‬کّ‬ ‫ایٍ كـٔه انگٕیی اف ؿكتبؿ ایٍ ًََّٕ ْبی ایٍ کالك ْب ؿا ػؿ ‪ Class Diagram‬يب َيبٌ يی ػْؼ ‪ .‬عٖٕٓ َوّٖ چیٍ‬ ‫کّ ؿٔیؼاػ كـٔه یب ًْبٌ ؿٔیؼاػ ًْکبؿی ؿا ثّ یک کالك عبً يتَم يی کُؼ کّ ىًب ثّ ىکم ‪ Stereotype‬يی‬ ‫ثیُیؼ یک هبٌَٕ اَویبػ َبيیؼِ يی ىٕػ کّ آٌ یک هبٌَٕ اف ‪ Collaboration‬ؿا ثّ یک کالك ‪ Bind‬يی کُؼ کّ ػؿ ایُزب‬ ‫ىًب ایٍ هبٌَٕ اَویبػ ؿا ثّ ػٔ ىکم يی ثیُیؼ ‪ .‬ایٍ ثّ ىکم ‪ Stereotype‬امت تب َٕع ٔاثنتگی کّ يب ثب آٌ مـ ٔ‬ ‫کبؿ ؿا َيبٌ ػْؼ ٔ ًْچُیٍ ایٍ هبٌَٕ اَویبػ ثّ ٍٕؿت ثـچنجی اف هٕاَیٍ ثّ کالمی کّ يتؼهن ثّ آٌ امت َيبٌ‬ ‫ػاػِ يی ىٕػ ‪ .‬پل هٕاَیُی کّ ثّ کالك ‪ Party‬يهقو ىؼِ اَؼ عـیؼاؿ ٔ كـٔىُؼِ ْنتُؼ ‪ ،‬هبََٕی کّ ثّ کالك‬ ‫‪ Product‬يهقو ىؼِ امت ‪ ،‬رُل امت ٔ ؿیـِ‪ .‬ثُبثـیٍ ثّ ایٍ ؿٔه يی تٕاَیؼ إالػبتی ؿا ػؿ يٕؿػ ‪Collaboration‬‬ ‫ثّ ‪ Class Diagram‬عٕػ اّبكّ کُیؼ‪ ٔ .‬ػؿمت ثّ ًْیٍ ؿٔه ىًب يی تٕاَیؼ اف ‪ْCollaboration‬ب ثب ‪Sequence‬‬ ‫‪ْDiagram‬ب امتلبػِ کُیؼ‪ .‬ػؿ ‪ Sequence Diagram‬ىًب يًکٍ امت ثغٕاْیؼ ارقایی کّ هٕاَیٍ ْنتُؼ ؿا ػؿ یک‬ ‫‪َ Collaboration‬يبٌ ػْیؼ ایٍ کبؿ ؿا ثٕمیهّ هـاؿ ػاػٌ یک ‪ Slash‬هجم اف صـٔف کٕچک اَزبو يی ػْیؼ ‪ .‬پل يب‬ ‫رهٕی ‪ ،Slash‬كـٔىُؼِ ػاؿیى ‪ًْ ،‬چُیٍ يب "رُل یک" ؿا کّ ًََّٕ ای اف هبٌَٕ ایٍ َٕع رُل امت ؿا ػاؿیى‪ .‬يب‬ ‫كـٔىُؼِ ؿا رهٕی ‪ Slash‬ػاؿیى ٔؿیـِ‪ .‬پل ایٍ آيٕفه كؤ َيبٌ يی ػْؼ کّ ىًب يی تٕاَیؼ اف ‪ Collaboration‬ػؿ‬ ‫تؼؼاػ اف إَاع يغتهلی اف ػیبگـاو ْب امتلبػِ کُیؼ‪ْ Collaboration .‬ب ػؿ ‪ْ Class Diagram‬ب يی تٕاَُؼ يلیؼ ثبىُؼ‬ ‫يغٍَٕب ٔهتی ىًب يی عٕاْیؼ انگٕ ْب ؿا ػؿ اؿتجبٓ ثب مبعتبؿ ‪َ Class Diagram‬يبٌ ػْیؼ‪.‬‬

‫‪ Templates‬در ‪: UML‬‬ ‫ػؿ ایُزب يی عٕاْیى ػؿ يٕؿػ ‪ْ Template‬ب ٍضجت کُیى ‪ OMG .‬یک ‪ Template‬ؿا ایُگَّٕ تؼـیق يی کُؼ‪ :‬یک ػَُـ‬ ‫پبؿايتـ ؿیقی ىؼِ کّ يی تٕاَؼ ثـای تٕنیؼ يؼنٓبی ػُبٍـ ػیگـ امتلبػِ ىٕػ‪ .‬پبؿايتـْبی ‪ Template‬ػاليت یب ايْبء‬ ‫پبؿايتـْبی ؿمًی کّ هـاؿ امت ثب پبؿيتـْبی صویوی ربیگقیٍ ثيَٕؼ یب اتَبل ْبی پیو كـُ ػیگـ ؿا تؼییٍ يی‬ ‫کُ​ُؼ‪ .‬اگـ ىًب ثب ‪ ++C‬آىُب ْنتیؼ اصتًبال ثب کالك ْبی پبؿايتـ ؿیقی ىؼِ آىُب ْنتیؼ‪ .‬کالك ْبیی کّ پبؿايتـ‬ ‫ْبیی ؿا ييغٌ يی کُ​ُؼ کّ کالك ْبیی کّ ثّ آٌ ‪ Bind‬يی ىٕػ ثبیؼ آَٓب ؿا تؼـیق کُ​ُؼ‪.‬‬

‫‪30‬‬

‫‪www.ParsBook.org‬‬


‫ػؿ ‪ UML‬کالك ْبی پبؿايتـ ؿیقی ىؼِ یک ‪َ Template‬بيیؼِ يی ىٕػ‪ .‬یک ‪ Template‬ثّ ىًب اربفِ يی ػْؼ کّ‬ ‫یک کالمی ؿا تؼـیق يی کُؼ کّ ثب کالك ْبی ػیگـ کبؿ يی کُؼ يغٍَٕب ٔهتی کّ ىًب ًَی ػاَیؼ کّ آٌ کالك‬ ‫ْبی ػیگـ چّ چیقی ػاؿَؼ‪ .‬پل یک ‪ Template‬ثّ ىًب اربفِ يی ػْؼ کّ ‪ Abstraction‬یب ًْبٌ اَتقاػی ثٕػٌ ؿا ثـای‬ ‫َٕع کالمی کّ ‪ Template‬يًکٍ امت ثب آٌ كؼم ٔ اَلؼبل ػاىتّ ثبىؼ ؿا كـاْى کُؼ ‪ًْ ،‬بَٖٕؿ کّ یک ‪ Interface‬ثب‬ ‫اىیبء ایٍ کبؿ ؿايی کُؼ ‪ٔ،‬نی ػؿ ایُزب يب ػؿ يٕؿػ کالك ْب ٍضجت يی کُیى‪ .‬ثـای َيبٌ ػاػٌ یک کالك ثّ ػُٕاٌ‬ ‫یک ‪ Template‬ىًب اف ایٍ ػاليت کّ ػؿ ایُزب يی ثیُیؼ امتلبػِ يی کُیؼ ‪ ،‬یک رؼجّ ٕجوّ ثُؼی ىؼِ کّ ػؿ گٕىّ‬ ‫مًت ؿامت ثبالی آٌ یک ينتٖیم ثب يضیٔ عٖٕٓ َوّٖ چیٍ هـاؿ ػاؿػ‪ .‬ػؿٌٔ ينتٖیم یک ربیی ثـای پبؿايتـ َٕع‬ ‫ػَُـ هـاؿ ػاؿػ‪ .‬ػؿ ایُزب يب اف " ‪ "T‬ثـای َٕع امتلبػِ يی کُیى‪ٔ .‬هتی ىًب اف یک ‪ Template‬امتلبػِ يی کُیؼ ایٍ‬ ‫یک اىتوبم َبيیؼِ يی ىٕػ ٔ ثگؾاؿیؼ ثجیُیى ایٍ چگَّٕ کبؿ يی کُؼ ‪ .‬پل ثگؾاؿیؼ کالك ػیگـی ایزبػ کُیى ٔ يب آٌ‬ ‫ؿا "‪ "Binding Class‬يی َبيیى ٔ ثـای َيبٌ ػاػٌ ایٍ يّٕٕع ایٍ کالك یب ایٍ ًََّٕ ْبیی اف ایٍ کالك کّ اف‬ ‫‪ Template‬ييتن ىؼِ اَؼ ‪ ،‬يب اف ایٍ انگٕ اف پیکبٌ ثـای ًَبیو امتلبػِ يی کُیى پیکبٌ ‪ ،Generalization‬عٔ‬ ‫ينتویى ثب يخهج َٕک تیق‪ .‬صبال ٔهتی یک ًََّٕ يغًَٕ اف کالك ‪ Template‬ىًب اصتیبد ػاؿیؼ تب َٕع صویوی‬ ‫ربَيیٍ يکبٌ ‪ T‬ؿا ييغٌ کُیؼ‪ ٔ .‬ایٍ ‪ Binding‬یک َٕع ثّ ‪َ Template‬بيیؼِ يی ىٕػ ٔ ػؿ ایُزب يی ثیُیى کّ‬ ‫چگَّٕ يی تٕاَیؼ ایٍ ؿا ػؿ ‪ Class Diagram‬عٕػ ًَبیو ػْیؼ‪ .‬ىًب یک ‪ Stereotype‬ؿا ػؿ ایُزب ثـای پیکبٌ عٕػ‬ ‫َيبٌ يی ػْیؼ پل اف ‪ Stereotype‬ثب ػاليت ‪ Bind‬ػؿ ایُزب امتلبػِ يی کُیى‪ .‬ػؿ اػايّ ًْبَٖٕؿ کّ هجال گلتى ىًب‬ ‫ثـای تؼییٍ َٕع صویوی اصتیبد ػاؿیؼ کّ آٌ ؿا ربیگقیٍ يکبٌ ‪ T‬ػؿ يخبل عٕػ کُیؼ‪ .‬ىًب ایٍ ؿا ثّ ىکم ایٍ گـايـ‬ ‫اَزبو يی ػْیؼ ‪ ،‬ػؿ ػاعم ثـاکت فأیّ يبَُؼ "<" ىًب َٕع ‪ Template‬ؿا هـاؿ يی ػْیؼ ٔ اف یک عٔ تیـِ "‪ ٔ "-‬یک‬ ‫ثـاکت فأیّ ای ػیگـ ">" ثـای ایزبػ یک پیکبٌ امتلبػِ يی کُیؼ مپل َٕع صویوی ؿا يی َٕینیؼ‪ .‬پل ایٍ ىجیّ‬ ‫ایٍ امت ٔ ایٍ یک ٔیژگی اف َٕع صویوی ؿا تؼییٍ يی کُؼ کّ ربیگقیٍ يکبٌ ‪ T‬يی ىٕػ‪ .‬پل ثگؾاؿیؼ ثّ یک يخبل‬ ‫َگبْی ثیبَؼافیى تب ثجیُیى ایٍ چگَّٕ کبؿ يی کُؼ‪ .‬ػؿ ایُزب يب یک ‪ Template‬ػاؿیى کّ ‪َ List‬بيیؼِ يی ىٕػ ٔ‬ ‫‪ْ Template‬ب ثـای کبؿ ثب نینت ْب عیهی عٕه ػمت ْنتُؼ ‪ ،‬ایٍ یکی اف پـ کبؿثـػ تـیٍ يٕاؿػ امتلبػِ ثـای‬ ‫‪ْ Template‬ب امت کّ آٌ نینت پبؿايتـْبی عٕػه ؿا ػؿ ایٍ ثبال ػاؿػ ٔ ایٍ ٔیژگی ْبی عٕػه ؿا ػؿ ایٍ پبییٍ ػاؿػ‬ ‫‪ ،‬نینت کتبثٓب چیقی امت کّ يب آٌ ؿا ثّ ‪ Template‬عٕػ ‪ Bind‬يی کُیى ‪ ،‬ثُبثـایٍ ىًب يی تٕاَیؼ ثجیُیؼ کّ يب یک‬ ‫‪ Stereotype‬ثـای ‪ Bind‬ػاؿیى ٔ ًْچُیٍ عٍَٕیبت ‪ T‬ؿا کّ ػؿ ایُزب ثب ‪ Book‬ربیگقیٍ ىؼِ امت کّ َيبٌ يی ػْؼ‬ ‫کّ ایٍ اىتوبم چگَّٕ کبؿ يی کُؼ‪ .‬صبال ؿاِ ػیگـی ٔرٕػ ػاؿػ کّ يی تٕاٌ ایٍ ؿا َيبٌ ػاػ ٔ ایٍ ؿاِ کًی پیچیؼِ تـ‬ ‫امت ‪ .‬ػؿ کالك ثُؼی ىًب يی تٕاَیؼ اف ایٍ گـايـ امتلبػِ کُیؼ ‪ ٔ "List " ،‬مپل ثـاکت فأیّ ای کّ ثـای ‪T‬‬ ‫امتلبػِ کـػیؼ ٔ ًْبٌ پیکبَی کّ ػؿ ثبال کيیؼیى "‪ ، ">-‬پل ایٍ ًْبٌ عٍَٕیبت ييبثّ کّ يب ػؿ ثبال ػیؼو ؿا ػاؿػ‬ ‫‪ٔ ،‬نی ػؿ ایُزب هنًت َبو کالك ثُؼی ثّ ایٍ ىکم امت ٔ ػؿ ایٍ يخبل ىًب يی ثیُیؼ کّ ػٔثبؿِ اف ‪Template‬‬ ‫ييتن ىؼِ امت‪ْ Template .‬ب پیچیؼِ ْنتُؼ ٔنی ٔهتی ثب ٕـف کبؿ ثب آٌ آىُب ىٕیؼ ىًب يی كًٓیؼ کّ چوؼؿ‬ ‫ثـای امتلبػِ ػؿ ‪ْ Class Diagram‬ب عٕه ػمتُؼ ثّ عًَٕ ٔهتی ثب نینت ْب یب َگبىت ْبی آَٓب مـ ٔ کبؿ ػاؿیؼ‬

‫‪31‬‬

‫‪www.ParsBook.org‬‬


‫دیاگراهِای اشیاء ‪ً -‬وًَْ ُا ‪:‬‬ ‫کالك ْبیی کّ اف اىیب تيکیم ىؼِ اَؼ‪َ ًََّٕ ،‬بيیؼِ يی ىَٕؼ‪ .‬چیقْبیی يُضَـثّ كـػ کّ َيبَؼُْؼِ ًَبیُؼِ‬ ‫ای اف کالك امت‪ .‬ػیبگـاو ْبی کالك‪ ،‬کالك ْب ؿا تؼـیق يی کُ​ُؼ ٔ چگَٕگی اؿتجبٕيبٌ ثب یکؼیگـ ؿا َيبٌ يی‬ ‫ػُْؼ‪ .‬ػیبگـاو ْبی آثزکت (ىی) ايکبٌ ًَبیو يخبل ْبی ػَیبی ٔاهؼی اف اىیب ٔ اؿتجبٕيبٌ ثب یکؼیگـ ؿا يی ػْؼ‪.‬‬ ‫ػؿ َـو اكقاؿْبی ‪ Live‬ػؿ َٓبیت ًّْ ًََّٕ ْبی یک کالك ثـای ارـای يُٖن کبؿی امتلبػِ يی ىٕػ‪ َّ ،‬عٕػ‬ ‫کالمٓب‪.‬‬ ‫ػیبگـاو ْبی ىی کّ ثّ آَٓب ػیبگـاو ْبی ًََّٕ ْى گلتّ يی ىٕػ‪ ،‬ثنیبؿ مبػِ تـ اف ػیبگـاو ْبی کالك اَؼ‪.‬‬ ‫مٕػيُؼی آَٓب ػؿ ًَبیو چگَٕگی کبؿکـػ یک مُبؿیٕی ييغٌ امت‪ .‬ػؿ اػايّ عٕاْیى ػیؼ کّ چگَّٕ يی تٕاٌ اف‬ ‫یک ػیبگـاو کالك ثّ یک ػیبگـاو ىی يُتوم ىؼ ٔ ؿٔه ْبی ًَبیو ًََّٕ ْبی یک کالك تٕمٔ ‪ UML‬ؿا ثّ ىًب‬ ‫َيبٌ عٕاْیى ػاػ‪َ .‬کتّ ی هبثم تٕرّ ایٍ امت‪ ،‬ثـای ييغٌ کـػٌ ْى کالك ْب ٔ ْى اىیب اف ًَبػ کالك (یک‬ ‫ينتٖیم) امتلبػِ يی کُیى‪ .‬تٕرّ ػاىتّ ثبىیؼ کّ َبو یک کالك ثب صـٔف ثقؿگ ٔ ثّ ٍٕؿت ّغیى ( ‪َٕ )Bold‬ىتّ‬ ‫يی ىٕػ‪ .‬ثـای یک ىی َبو ىی ثب صـٔف کٕچک ٔ ثب فیـ عٔ َٕىتّ يی ىٕػ‪ .‬پل ْـگبِ ثّ یک ًَبػ کالك‬ ‫(ينتٖیم) َگبِ يی کُیؼ ٔ يًٖئٍ َینتیؼ کّ یک کالك امت یب یک ىی ثّ ػَجبل فیـ عٔ ثگـػیؼ‪ .‬ایٍ َيبٌ يی‬ ‫ػْؼ کّ ىًب ثب یک ىی مـ ٔ کبؿ ػاؿیؼ‪ .‬یبػ آٔؿ يی ىٕیى کّ کالك ْب اف عٍَٕیبت ٔ ؿكتبؿْب تيکیم ىؼِ ثٕػ‪.‬‬ ‫ثـای يخبل كـُ کُیؼ کالمی ثّ َبو اپـا ػاؿیى‪ ًّْ .‬اىیب ػؿ کالك اپـا ایٍ عٍَٕیبت ؿا ػاؿَؼ‪ :‬یک َبو‪ ،‬یک مبفَؼِ ‪،‬‬ ‫یک فثبٌ ٔ تبؿیظ أنیٍ ارـا‪ .‬نؾا ًّْ اىیب ػؿٌٔ کالك اپـا ایٍ عٍَٕیبت ؿا عٕاُْؼ ػاىت ايب ثّ ربی ایُکّ ٍـكًب یک‬ ‫تؼـیق اف ػؼػ ٍضیش یب ؿىتّ ثبىُؼ ثّ آَٓب يوؼاؿ ٔاهؼی يی ػْیى‪ .‬تب یک ػهیوّ ػیگـ ؿَٔؼ کبؿ ؿا عٕاْیى ػیؼ‪ .‬صبل‬ ‫یکی اف ؿٔه ْب ثـای َيبٌ ػاػٌ یک ىی یب یک ًََّٕ‪ ،‬ایٍ امت کّ َبو آٌ ؿا هـاؿ يی ػْیى ثـای يخبل یکی اف‬ ‫ًََّٕ ْبی کالك اپـا يی تٕاَؼ کبؿيٍ ثبىؼ‪ .‬پل ىًب يی تٕاَیؼ یک ىی ؿا ثب َبو آٌ ىی تؼـیق کُیؼ‪ًْ .‬چُیٍ‬ ‫يی تٕاَیؼ یک ىی ؿا ثّ ًْـاِ َبو کالك َیق تؼـیق کُیؼ‪ .‬ایٍ يٕؿػ ثیبٌ يی کُؼ کّ يب یک ًََّٕ کّ ثب َبو کبؿيٍ‬ ‫ػاؿیى يتؼهن ثّ کالك اپـامت ٔ ًْچُیٍ يی تٕاَیؼ یک ىی ثؼٌٔ َبو َیق ػاىتّ ثبىیؼ ثّ ایٍ ىکم کّ َبو ىی‬ ‫ؿا صؾف کـػِ ٔ ٍـكًب َبو کالمی کّ ایٍ ىی ثّ آٌ يتؼهن امت ثُٕینیؼ‪ًْ ٔ .‬چُیٍ يی تٕاَیؼ ثگٕییؼ کّ ایٍ ًَبػ‬ ‫ثّ یک ىی اىبؿِ يیکُؼ َّ ثّ یک کالك فیـا ثب یک ‪ :‬ىـٔع ىؼِ ٔ فیـ عٔ َیق ػاؿػ‪ .‬پل ایٍ یک ىی ثی َبو ثٕػِ‬ ‫کّ يتؼهن ثّ کالك اپـامت‪ًْ .‬بٌ ٕ​ٕؿ کّ گلتى عٍَٕیبت کالك اپـا‪ ،‬ػاؿای يوبػیـ ٔاهؼی يُضَـ ثّ كـػ ػؿ ىی‬ ‫يتؼهن ثّ آٌ کالك ْنتُؼ ٔ اثقاؿی يؼننبفی کّ يٍ ػؿ ایُزب اف آٌ امتلبػِ يی کُى ( ‪ )Visual Paradigm‬اربفِ‬ ‫ًَبیو عٍَٕیبت ػؿٌٔ یک ًََّٕ یب ىی ؿا ًَی ػْؼ‪ ،‬نؾا يٍ یک يخبل ؿا ػؿ یک ثـَبيّ ػیگـ تـتیت ػاػِ او ٔ ٍـكبً‬ ‫يی عٕاْى آٌ ؿا ػؿ ایُزب کپی کُى‪ .‬ػؿ ایُزب یک ىی ييغٌ يتؼهن ثّ کالك اپـا ؿا يی ثیُیؼ‪ ،‬ایٍ ىی کبؿيٍ‬ ‫َبو ػاؿػ ٔ تٕرّ ػاىتّ ثبىیؼ کّ ایٍ عٍَٕیبت ثب يوبػیـ ٔاهؼی پـ ىؼِ اَؼ‪ .‬يب َبو اپـا ؿا ػاؿیى‪َ ،‬بو مبفَؼِ‪ ،‬فثبٌ ٔ‬ ‫ًْچُیٍ مبل أنیٍ ًَبیو‪ .‬ثّ ٕ​ٕؿ ييبثّ ػؿ ایُزب يی تٕاَیؼ ؿكتبؿْبی يتؼهن ثّ یک ًََّٕ کالك ؿا َیق َيبٌ‬ ‫ػْیؼ ‪ .‬ثـای يخبل اگـ یک ٔامٔ اپـا ػاىتیى کّ ایٍ يتؼ ؿا پیبػِ مبفی يی کـػ‪َ ،‬بو اپـا ؿا يی گـكت‪ ،‬يی تٕاَنتیؼ‬ ‫ثب امتلبػِ اف ًَبػی کّ یک ًََّٕ ثی َبو ٔ یک يتؼ ثـای پیبػِ مبفی آٌ ػاؿػ‪َ ،‬يبَو ػْیؼ‪.‬‬

‫اتصال اشیاء ‪:‬‬ ‫ػؿ ػیبگـايٓبی ىی تبٌ ثـای ًَبیو چگَٕگی کبؿکـػ اىیب ثب ْى ػؿ یک مُبؿیٕی ييغٌ‪ ،‬آَٓب ؿا تٕمٔ یک عٔ‬ ‫مبػِ ثّ ْى ٍٔم کُیؼ ٔ ؿٔی ایٍ عٖٓب ثـچنجی ثگؾاؿیؼ کّ ٕجیؼت اؿتجبٓ ؿا ييغٌ مبفػ‪ًْ .‬بٌ ٕ​ٕؿ کّ ػؿ يخبل‬ ‫يی ثیُیؼ‪ ًََّٕ 5 ،‬اف کالك کبؿيُؼ ٔ ‪ ًََّٕ 2‬اف کالك پـٔژِ ػاؿیى ٔ صویوت ايـ ایٍ امت کّ تؼـیق ًََّٕ ْبیی اف‬ ‫کالك ْبی يغتهق إالػبت فیبػی ػؿ اعتیبؿ ىًب هـاؿ ًَی ػْؼ‪ .‬کبؿی کّ هـاؿ امت ػؿ ػیبگـاو ىی يبٌ اَزبو‬ ‫ػْیى‪ ،‬پیؼا کـػٌ ؿآْبیی امت کّ ایٍ کالك ْب یب اىیب يی تٕاَُؼ اف ٕـین آٌ ػؿٌٔ ایٍ کالك ْب ثب یکؼیگـ اؿتجبٓ‬ ‫ثـهـاؿ کُ​ُؼ‪ًْ ٔ .‬بٌ ٕ​ٕؿ کّ گلتى ثب کيیؼٌ یک عٔ ایٍ کبؿ ؿا اَزبو يی ػْیى‪ .‬اؿتجبٓ ْبی يغتهلی ثیٍ اىیب ػؿٌٔ‬ ‫کالك کبؿيُؼ ٔ اىیب ػؿٌٔ کالك پـٔژِ ٔرٕػ ػاؿػ‪ .‬ثـای يخبل یک کبؿيُؼ (یک ىی کبؿيُؼ) ػؿ کالك کبؿيُؼ يی تٕاَؼ‬ ‫ثّ ثیو اف یک ًََّٕ اف کالك پـٔژِ يتَم ىٕػ‪ ،‬ايب ثٓتـ ایٍ امت کّ عٖٕٓ اؿتجبٓ ؿا ثـچنت گؾاؿی کُیى‪ .‬ثـای‬ ‫يخبل ‪ Art Ortiz‬کّ یک ًََّٕ اف کالك کبؿيُؼ امت يی تٕاَنت یکی اف اػْبی تیى کبؿی ػؿ اؿتجبٓ ثب کالك پـٔژِ‬ ‫ثبىؼ‪ ،‬پل ‪ Art Ortiz‬یکی اف اػْبی تیى ػؿ پـٔژِ ‪ Chaos‬امت‪ .‬ثّ ٕ​ٕؿ ييبثّ ‪ Bill Owens‬يی تٕاَؼ یکی اف اػْبی‬ ‫تیى ػؿ ْـ ػٔ پـٔژِ ‪ Pandemonium ٔ Chaos‬ثبىؼ‪ Lisa Jones .‬کنی کّ ثّ پـٔژِ ‪َ Chaos‬یق يـتجٔ امت يی‬ ‫تٕاَنت َوو يتلبٔتی َیق ایلب کُؼ‪ ،‬ىبیؼ َوو یک يؼیـ‪ .‬نؾا اىیب يغتهلی ػؿٌٔ کالك کبؿيُؼ ػاؿیى کّ ػؿ اؿتجبٓ ثب‬ ‫کالك پـٔژِ َوو ْبی يغتهلی ثبفی يی کُ​ُؼ‪.‬‬

‫‪32‬‬

‫‪www.ParsBook.org‬‬


‫ًْچُیٍ ‪ Paula Kennedy‬کّ یک کبؿيُؼ امت يی تٕاَنت ػؿٌٔ پـٔژِ ‪ Pandemonium‬یک يؼیـ ثبىؼ ٔ یکی ػیگـ‬ ‫اف ًََّٕ ْبی کالك کبؿيُؼ یؼُی ‪َ Carl Thorson‬یق يی تٕاَنت ػؿ َوو یک ييبٔؿ ظبْـ ىٕػ‪ .‬نؾا ثب امتلبػِ اف‬ ‫ایٍ يخبل ييبْؼِ يی کُیؼ کّ چگَّٕ ثب امتلبػِ اف ثـچنت گؾاؿی عٔ ْب يی تٕاَیى ؿآْبی يغتهق ثـهـاؿی‬ ‫اؿتجبٓ ثیٍ اىیب ؿا اَزبو ػْیى‪ .‬صبل ػٔ تّٕیش ػؿ ؿاثّٖ ثب اؿتجبٓ ثیٍ اىیب ػؿ ػیبگـاو ىی تبٌ‪ .‬اؿتجبٕبت ػؿ یک‬ ‫ػیبگـاو ىی ًْبَُؼ اؿتجبٓ ثیٍ کالك ْبیی امت کّ ایٍ اىیب اف آَٓب ًََّٕ گـكتّ ىؼِ اَؼ‪ .‬نؾا اگـ اؿتجبٕی ثیٍ ػٔ‬ ‫کالك ٔرٕػ َؼاىت‪ ،‬ثیٍ ًََّٕ ْبی آٌ ْب ْى يی تٕاَؼ اؿتجبٕی ٔرٕػ َؼاىتّ ثبىؼ‪ .‬ثّ ٕ​ٕؿ ييبثّ ًْبٌ ٕ​ٕؿ کّ‬ ‫ْیچ ارجبؿ ٔ يضؼٔػیتی ػؿ اؿتجبٓ ثیٍ کالك ْب ٔرٕػ َؼاؿػ‪ ،‬ػؿ اىیب ػؿٌٔ آٌ کالك ْب َیق ٔرٕػ َؼاؿػ‬

‫از دیاگرام کالش تَ دیاگرام شئ ‪:‬‬ ‫يوبنّ ىًب ؿا اف ػیبگـاو ْبی کالك ثّ ػیبگـاو ىی يی ثـػ ٔ َيبٌ يی ػْؼ کّ چگَّٕ ػیبگـاو ْبی ىی يی‬ ‫تٕاَُؼ رٓت تيـیش کبيم إالػبت ػؿ یک کالك کبؿمبف ثبىُؼ‪ .‬ػیبگـو ْبی ىی ايکبٌ تيـیش اؿتجبٕبت پیچیؼِ ثیٍ‬ ‫کالك ؿا يی ػْؼ‪.‬‬

‫ػؿ ایٍ يخبل اف ػیبگـاو کالك‪ 3 ،‬کالك تؼـیق کـػیى کّ ثّ یک يؼؿمّ یب یک مینتى آيٕفىی يـتجُٖؼ‪ .‬یک ػؿك‬ ‫ػاؿیى کّ اف ثغو ْبیی تيکیم ىؼِ امت‪ ،‬کالمی ثّ َبو ػاَيزٕ َیق ػاؿیى‪ًْ .‬بَٖٕؿ کّ يی ثیُیؼ یک ػاَيزٕ‬ ‫يی تٕاَؼ یک ػؿك ؿا اعؾ کُؼ‪ ،‬یک ػاَيزٕ يی تٕاَؼ اف ٍلـ تب ىو ػؿك ؿا اعؾ کُؼ‪ .‬یک ػؿك يی تٕاَؼ اف گـِٔ‬ ‫ْبی يغتهلی تيکیم ىٕػ ٔ ْـ گـِٔ يی تٕاَؼ اف ‪ 3‬تب ‪ 20‬ػاَيزٕ ػاىتّ ثبىؼ‪ .‬نؾا ػؿ تؼؼاػ ػاَيزٕیبٌ ْـ گـِٔ‬ ‫يضؼٔػیتی ٔرٕػ ػاؿػ‪ .‬هجم اف ایُکّ ثّ چگَٕگی اؿتجبٓ ثیٍ ایٍ اىیب ػؿٌٔ ایٍ کالك ْب كکـ کُیؼ‪َ ،‬گبْی ثّ ػیبگـاو‬ ‫آثزکتی عٕاْیى اَؼاعت کّ ًََّٕ ْبیی اف کالك يغتهق کّ ػؿ ػیبگـاو کالك ٔرٕػ ػاؿػ ؿا َيبٌ يی ػْؼ‪ .‬يب‬ ‫کالك ػاَيزٕ ٔ اىیب يغتهق اف ایٍ کالك ؿا ػاؿیى‪ ،‬کالك گـِٔ ؿا ػاؿیى کّ ػؿ ایٍ يخبل ػٔ ًََّٕ اف آٌ مبعتّ ىؼِ‬ ‫امت ٔ ًْچُیٍ یک ًََّٕ اف کالك ػؿك ػاؿیى‪ .‬ػؿ َگبِ ثّ ایٍ ػیبگـاو ييبْؼِ يی کُیؼ کّ یک ىی ػؿك ثب َبو‬ ‫ىکنپیـ چُؼیٍ گـِٔ (ثغو) ػاؿػ‪ .‬ػٔ گـِٔ يغتهق ٔ ػاَيزٕیبٌ يی تٕاَُؼ اؿتجبٕبت گَٕبگَٕی ثب ایٍ گـِٔ ْب‬

‫‪33‬‬

‫‪www.ParsBook.org‬‬


‫ػاىتّ ثبىُؼ‪ .‬ثـای يخم ایٍ ػاَو آيٕف‪ Jill Hickson ،‬ػؿ کالك حجت َبو ىؼِ امت‪ًْ .‬چُیٍ يًکٍ امت یک‬ ‫ػاَيزٕ‪ George Butrose ،‬ػؿ یک گـِٔ حجت َبو کُؼ ٔ ػؿ گـِٔ ػیگـ ػؿ نینت اَتظبؿ هـاؿ ػاىتّ ثبىؼ‪ .‬ىبیؼ گـِٔ ‪1‬‬ ‫ؿٔفْبی یکيُجّ مبػت ‪ٍ 8‬جش ثبىؼ ٔ ايب أ (‪ )George Butrose‬يُتظـ گـِٔ ‪ 2‬امت کّ ثتٕاَؼ یکيُجّ ٍجش ْب‬ ‫ثغٕاثؼ‪ًْ .‬چُیٍ يًکٍ امت ػاَيزٕیی ػاىتّ ثبىیؼ کّ ينتًغ آفاػ ثبىؼ‪َٕ .‬ع ػیگـ اؿتجبٓ ثیٍ ػؿك ٔ ػاَيزٕ‬ ‫ایٍ امت کّ يخال ‪ Lynn Brown‬ػاَيزٕ امت ايب ػؿ ایٍ ػؿك ػمتیبؿ امتبػ َیق يی ثبىؼ‪ .‬نؾا اؿتجبٕو ثب ػؿك‬ ‫يتلبٔت اف ػاَيزٕی حجت َبيی امت‪ًْ .‬چُیٍ ثّ ٕ​ٕؿ ييبثّ ػاَيگبِ يًکٍ امت ىغَی ؿا ثـای کًک ثّ‬ ‫ػاَيزٕیبٌ ػؿ َظـ گـكتّ ثبىؼ کّ ػؿ کالك حجت َبو ىؼِ تب رقء ات ػاَيزٕیبٌ ؿا ثُٕینؼ‪ .‬نؾا ًْبَٖٕؿ کّ يی‬ ‫ثیُیؼ ثب ایُکّ یک کالك ثّ َبو ػاَيزٕ ػاؿیى ٔ اثتؼا ثّ اىیب ػؿٌٔ ایٍ کالك َگبْی اَؼاعتیى‪ ،‬ػیؼیى کّ تؼؼاػ فیبػی‬ ‫اؿتجبٓ يغتهق ثیٍ اىیب ػؿٌٔ ایٍ کالك ٔ کالك ػؿك ٔرٕػ ػاؿػ‪ .‬ثّ ػیبگـاو کالك عٕػ ثبف يی گـػیى‪ ،‬ػاَيزٕیی ؿا‬ ‫ػاؿیى کّ يی تٕاَؼ ‪ 0‬تب ‪ 6‬ػؿك ؿا اعؾ کُؼ‪ ،‬یک گـِٔ اف ػؿك يی تٕاَؼ ‪ 3‬تب ‪ 20‬ػاَيزٕ ػاىتّ ثبىؼ‪ ،‬ايب ُْگبيی‬ ‫کّ ثّ ًََّٕ ْبی کالك ػاَيزٕ َگبِ يی کُیى‪ ،‬يتٕرّ يی ىٕیى کّ اؿتجبٓ ثیٍ ػاَيزٕ ٔ گـِٔ يی تٕاَؼ ثنیبؿ‬ ‫پیچیؼِ ثبىؼ ٔ يؼبَی يغتهلی ثؼْؼ‪ .‬ػیبگـاو ىی يی تٕاَؼ ثـای َيبٌ ػاػٌ فٔایبی يغتهق یک مینتى ثـای‬ ‫کنبَی کّ اصنبك يی کُ​ُؼ ػیبگـاو کالك‪ ،‬یک ػیبگـاو اَتقاػی امت‪ ،‬يلیؼ ثبىؼ ٔ ًْبَٖٕؿ کّ ييبْؼِ کـػیؼ‪،‬‬ ‫ػیبگـاو ْبی ىی يی تٕاَُؼ ػؿ تؼییٍ کالمٓبی رؼیؼ یب ؿٔىٍ کـػٌ إَاع اؿتجبٓ ثیٍ کالمٓب‪ ،‬کبؿمبف ثبىُؼ‪.‬‬

‫دیاگرامهای بسته ‪ :‬بسته ها ‪:‬‬ ‫ایٍ يوبنّ تًبيب ػؿ يٕؿػ ثنتّ ْب امت‪ .‬يب تؼـیق يی کُیى کّ آَٓب چّ چیقی ْنتُؼ ‪َ ،‬يبٌ يی ػْیى ىًب چّ‬ ‫چیقی ؿا يی تٕاَیؼ ػؿٌٔ آَٓب هـاؿ ػْیؼ ٔ َيبٌ يی ػْیى کّ آَٓب ػؿ ‪ UML‬چگَّٕ ًَبیو ػاػِ يی ىَٕؼ‪ .‬ىًب يی‬ ‫تٕاَیؼ ػُبٍـ ‪ UML‬ؿا ثب یکؼیگـ ػؿٌٔ گـْٔٓبی مٖش ثبالیی هـاؿ ػْیؼ ٔ ایٍ گـْٔٓب ثب َبو ثنتّ ىُبعتّ يی ىَٕؼ‪.‬‬ ‫ثـای يخبل ىًب يی تٕاَیؼ کالك ْبی يـتجٔ ثب یکؼیگـ ػؿ یک ‪ Class Diagram‬ؿا ثـای يغتَـ مبفی ٔ رهٕگیـی اف ػؿ‬ ‫ْى ؿیغتگی گـِٔ ثُؼی کُیؼ‪ .‬یک ثنتّ ىجیّ یک پٕىّ ( ‪ )Folder‬ثـای كبیم امت ٔ ثب یک ينتٖیم کٕچک ٔ یک‬ ‫‪ Tab‬ػؿ ثبالی آٌ ًَبیو ػاػِ يی ىٕػ‪ ٔ .‬ایٍ يلٕٓو ثَـی يلیؼی امت فیـا ثنتّ ْب ػُبٍـ ؿا ثب یکؼیگـ گـِٔ ثُؼی‬ ‫يی کُؼ يبَُؼ یک پٕىّء كبیم کّ ىبيم امُبػ يـتجٔ ثب یکؼیگـامت‪.‬‬

‫‪34‬‬

‫‪www.ParsBook.org‬‬


‫ىًب يی تٕاَیؼ اف ثنتّ ْب امتلبػِ کُیؼ تب ىبيم ْـ َٕع اؿ ػُبٍـ ػؿ ‪ UML‬ثبىؼ ىًب اصتًبال عٕاْیؼ ػیؼ کّ آَٓب‬ ‫ثیيتـ ػؿ کالك ْب ٔ ‪ْ Use Case‬ب امتلبػِ يی ىَٕؼ‪ٔ .‬ایٍ ثّ ایٍ ػنیم امت کّ ْـ ػٔی ‪ْ Class Diagram‬ب ٔ‬ ‫‪ْ Use Case Diagram‬ب گـایو ػاؿَؼ تب مـیغ ؿىؼ کُ​ُؼ ‪ ،‬ثُبثـایٍ ثنتّ ْب ثـای مبػگی ٔ يغتَـ مبفی ػؿ ایٍ َٕع‬ ‫اف ػیبگـاو ْب ثنیبؿ يلیؼ ْنتُؼ‪ .‬ػؿ ػیبگـاو ْبی عٕػ ىًب يی تٕاَیؼ اف یک ثنتّ کّ ىجیّ ایٍ یکی امت‬ ‫امتلبػِ کُیؼ ‪ ،‬ایٍ یک َبو ػاؿػ کّ ػاعم ثنتّ َٕىتّ ىؼِ امت ٔ ایٍ کبيال کبكی امت ‪ ،‬ثگؾاؿیؼ ثنتّ ؿا‬ ‫“‪ ”Utilities‬ثُبيیى‪ .‬ىًب يی تٕاَیؼ کالك ْبیی ؿا َيبٌ ػْیؼ کّ يتؼهن ثّ یک ثنتّ عبً امت ٔ ػٔ ؿاِ ٔرٕػ ػاؿػ‬ ‫کّ ىًب ثتٕاَیؼ ایٍ کبؿ ؿا اَزبو ػْیؼ‪ .‬ثگؾاؿیؼ کالك ْبیی ثب َبيٓبی " ‪ ""Graphics ،File Handling" " ، "Math‬ایزبػ‬ ‫کُیى‪ٔ .‬ایٍ کالك ْب ػؿٌٔ ثنتّ يب کّ ‪َ Utilities‬بو ػاىت هـاؿ يی گیـَؼ ‪ ،‬یک ؿاِ کّ َيبٌ ػْؼ ایٍ کالك ْب‬ ‫يتؼهن ثّ ایٍ ثنتّ ْنتُؼ ایٍ امت کّ اف یک يتَم کُ​ُؼِ ثّ َبو " ‪ " Containment‬امتلبػِ کُیى ٔ آٌ ىجیّ ایٍ‬ ‫چیقی امت کّ ػؿ ایُزب يی ثیُیؼ ‪ ،‬یک عٔ ينتویى ثب یک ػاليت رًغ ػؿٌٔ یک ػایـِ ػؿ اَتٓبی آٌ‪ .‬ػاليتی کّ ثّ‬ ‫ٍٕؿت ػاليت رًغ امت ثّ ػَُـی يی چنجؼ کّ ىبيم ػَُـ ػیگـ امت کّ ثّ اَتٓبی يتَم کُ​ُؼِ يی چنجؼ‪.‬‬ ‫پل یک ؿاِ کّ ىًب يی تٕاَیؼ َيبٌ ػْیؼ ایٍ کالك ْب ىبيم ایٍ ثنتّ ْنتُؼ ایٍ امت کّ اف ایٍ يتَم کُ​ُؼِ‬ ‫امتلبػِ کُیؼ‪ .‬یک ؿاِ مبػِ تـ یب ىبیؼ ؿاِ ىنتّ ٔ ؿكتّ تـ گـاكیکی ایٍ امت کّ کالك ْب ؿا ػؿٌٔ ثنتّ هـاؿ‬ ‫ػْیؼ ٔك يب يی تٕاَیؼ ایٍ کبؿ ؿا اَزبو ػْیؼ پل ثنتّ ىًب ىجیّ ایٍ يیيٕػ ‪ ٔ .‬ایٍ ثّ مٕؿ ٔاّش يضتٕیبت‬ ‫ػاعم ثنتّ ؿا َيبٌ يی ػْؼ َيبٌ يی ػْؼ کّ کالك ْبی ؿیبّی ٔ ثـؿمی كبیم ٔ گـاكیک ْنتُؼ ػاعم ثنتّ‬ ‫‪ْ Utilities‬نتُؼ ‪ .‬اگـ ىًب ٔهتی اف ایٍ ؿٔه امتلبػِ يی کُیؼ ثتٕاَیؼ کّ َبو ثنتّ ؿا ثـ ؿٔی هنًت ‪ Tab‬يبَُؼ آٌ‬ ‫هـاؿ ػْیؼ ایٍ ثٓتـ امت فیـا َبو ثنتّ ٔاّش تـ يی ىٕػ ‪ٔ .‬نی انگٕی گـاكیکی ثّ يٍ اربفِ ًَی ػْؼ ایٍ کبؿ ؿا‬ ‫اَزبو ثؼْى ‪ .‬پل ىًب ُْٕف َظـ ييبثّ هجم ؿا يی ثیُیؼ‪ .‬ثنتّ ‪ Utilities‬ایٍ کالك ْب ؿا ػاؿػ‪ .‬ىًب يی تٕاَیؼ‬ ‫يٕرٕػیت ْبی ػاػِ ای ؿا ثنتّ ثُؼی کُیؼ ٔ ىًب يی تٕاَیؼ يٕرٕػیت ْبی تزبؿی ؿا يُٕٓ ثّ ایٍ کّ ْؼف ػیبگـاو‬ ‫ىًب چّ چیقی امت ثنتّ ثُؼی کُیؼ‪ .‬ىًب ًْچُیٍ يی تٕاَیؼ ثنتّ ْب ؿا ػؿٌٔ یکؼیگـ هـاؿ ػْیؼ ثـای يخبل اگـ‬ ‫يب یک ثنتّ ػیگـ ػاىتّ ثبىیى کّ آٌ ؿا ‪ Java‬يی َبيیى ٔ کّ ثنتّ ربٔا صبٔی ثنتّ ‪ْ ٔ Utilities‬ـ اَچّ کّ ػاعم‬ ‫آٌ امت ثبىؼ ‪ .‬پل يب يی تٕاَیى اثٍ ْب ػؿٌٔ یکؼیگـ هـاؿ ػْیى ٔ ػؿ ػیبگـاو عٕػ ىًب يی عٕاْیؼ کّ ثنتّ‬ ‫‪ Utilities‬ثّ اَؼافِ ای ثقؿگ ثبىؼ تب ثتٕاَؼ ػیگـی ؿا ػؿ عٕػ ربی ػْؼ ‪ .‬صبال عبؿد اف ًَبػ ْبی ایٍ ثنتّ اگـ ىًب يی‬ ‫عٕاْیؼ کّ کالك ‪ Math‬ؿا عبؿد َيبٌ ػْیؼ ٔ َيبٌ ػْیؼ کّ ایٍ يتؼهن ثّ ثنتّ ‪ Utilities‬امت یک ؿاِ ثـای‬ ‫ًَبیو اٌ ایٍ امت کّ اف ػاليت ‪ ::‬امتلبػِ کُیؼ‪ .‬ثُبثـایٍ ىًب يیٕاَیؼ ثُٕینیؼ ‪ . Utilities::Math‬پل ثّ يٍ اربفِ‬ ‫ػْیؼ ایٍ ؿا کًی ثقؿگتـ اف اَچّ يی ثیُیؼ اَزبو ػْى ‪ .‬ىًب ًْچُیٍ ثنتّ ْبی ٔاثنّ ثّ ْى ؿا ًَبیو ػْیؼ کّ‬

‫‪35‬‬

‫‪www.ParsBook.org‬‬


‫يب ایٍ کبؿ ؿا رؼاگبَّ ثٕمیهّ تکیّ ثـ َبو کالك اف ٕـین ‪ ::‬اَزبو يی ػْیى ‪ .‬پل ایٍ يی تٕاَؼ ػؿ یک ػیبگـاو ػیگـ‬ ‫َيبٌ ػْیؼ یب ٕ​ٕؿ ػیگـ کالك ‪ Math‬يتؼهن ثّ ثنتّ ‪ Utilities‬امت کّ عٕػ آٌ يتؼهن ثّ ثنتّ ربٔا امت‪.‬‬ ‫‪ٔ Math::Utilities::Java‬هتی ىًب ثنتّ ْب ؿا اف ‪ Diagram Class‬ایزبػ يی کُیؼ ثّ عبٕـ ػاىتّ ثبىیؼ ػؿ کالك‬ ‫ًّْ يُظٕؿِ مهنهّ يـاتت اؿث ثـی ييبثّ ػؿ یک گـِٔ ثّ ٍٕؿت ثنتّ ثنتّ ثُؼی يی ىٕػ‪.‬‬

‫رّاتط تیي تستَ ُا ‪:‬‬ ‫يبَُؼ ػیگـ ػُبٍـ ‪ ،UML‬ثنتّ ْب ْى ثَٕؿت رؼا ٔ تُٓب ٔرٕػ َؼاؿَؼ‪ .‬يی تٕاَیؼ ثنتّ ْب ؿا ثٓى ػیگـ ثّ ؿٔىٓبی‬ ‫يغتهلی اؿتجبٓ ػْیؼ‪ .‬ایٍ ؿٔاثٔ ىبيم ٔاثنتگی ‪ ،‬تؼًیى یب اؿث ثـی ٔ ثبفىُبمی یب پبک مبفی ثبىؼ کّ ایٍ يوبنّ‬ ‫ایٍ ثبؿِ ٍجضت يی کُؼ‪ .‬ثّ ػَجبل ؿٔىٓبیی عٕاْیى گيت کّ ثتٕاَیى ثنتّ ْب ؿا ثٓى ػیگـ ػؿ ػیبگـاو ثنتّ يـتجٔ‬ ‫کُیى‪ .‬عٕة ػؿ گؾىتّ امتلبػِ اف ٔاثنتگی ٔ اؿث ثـی ؿا ثیٍ ػُبٍـ ‪ UML‬ػیؼِ ایؼ ايب َگبْی مـیغ ثب چُؼ يخبل‬ ‫مبػِ عٕاْیى ػاىت‪.‬‬

‫ػؿ یک ٔاثنتگی یک ثنتّ‪ ،‬ثّ ثنتّ یب پکیزی ػیگـ ٔاثنتّ امت ٔ یب تکیّ يی کُؼ‪ .‬پل ػؿ ایٍ يخبل اگـ ثغٕاْیى‬ ‫ایٍ ثنتّ ؿا يبْی (‪ )Fish‬ثُبيیى‪ ،‬ػُبٍـ آٌ يًکٍ امت کالمٓبیی يتلبٔتی اف يبْی ْب ثبىُؼ؛ ًْچُیٍ ػؿ‬ ‫ایَُٕؿت يی تٕاَیى یک ثنتّ ثّ َبو آة ( ‪ )Water‬ػاىتّ ثبىیى کّ کالمٓبی آٌ‪ ،‬إَاع يغتهلی اف آة ثبىُؼ‪ ،‬يبَُؼ‪،‬‬ ‫ؿٔػعبَّ‪ ،‬ػؿیبچّ‪ ،‬اهیبَٕك ٔ ‪ ...‬ثُبثـایٍ يی تٕاَیى ؿاثّٖ ٔاثنتگی ؿا ثیٍ ایٍ ثنتّ ْب‪ ،‬ثب امتلبػِ اف كهو‬ ‫ٔاثنتگی ثـهـاؿ کُیى‪ .‬پل يی تٕاَیى ایُگَّٕ ثغٕاَیى کّ ثنتّ يبْی ٔاثنتّ ثّ ثنتّ آة امت ٔ یب يبْی ثّ آة‬ ‫اصتیبد ػاؿػ‪ .‬كؤ رٓت یبػآٔؿی‪ ،‬ؿٔىی کّ ثـای ًَبیو ؿاثّٖ ٔاثنتگی امتلبػِ يی کـػیى‪ ،‬امتلبػِ اف كهو‬ ‫َوّٖ چیٍ ثب مـ يخهخی ثبف ثٕػ کّ اف ػَُـ ٔاثنتّ ثّ مًت ػَُـی کّ ثّ آٌ ٔامتّ امت‪ ،‬اىبؿِ يی کـػ‪.‬‬ ‫ثُبثـایٍ ىکم كٕم‪ ،‬یک ؿاثّٖ ٔاثنتگی امت‪ .‬ؿاثّٖ تؼًیى یبكتّ ‪ ،‬ثیبَگـ اؿث ثـی امت‪ .‬پل اربفِ ػْیؼ کّ ًَٕػاؿ‬ ‫كؼهی ؿا ثّ پبییٍ ثلـمتیى ٔ یک ثنتّ ػیگـ ثّ َبو صیٕاٌ ( ‪ )Animal‬ایزبػ کُیى‪ ٔ .‬ؿاثّٖ اؿث ثـی ؿا ثب امتلبػِ اف‬ ‫كهيی کّ مـ آٌ یک يخهج تٕ عبنی امت َيبٌ يی ػْیى کّ اف مًت كـفَؼ ثّ مًت کالك پؼؿ کيیؼِ يی‬

‫‪36‬‬

‫‪www.ParsBook.org‬‬


‫ىٕػ‪ .‬پل ػؿ ایٍ يخبل‪ ،‬ایُٖٕؿ يی عٕاَیى کّ يبْی َٕػی صیٕاٌ امت‪ .‬ثُبثـایٍ يی تٕاَیؼ ؿاثّٖ ٔاثنتگی ٔ اؿث‬ ‫ثـی ؿا ثیٍ ثنتّ ْب ًْبَُؼ ػیگـ ػُبٍـ ‪ UML‬امتلبػِ ًَبییؼ‪ .‬ثبفىُبمی یب پبکنبفی َٕع ػیگـی اف ؿاثّٖ ؿا ثیٍ‬ ‫ثنتّ ْب َيبٌ يی ػْؼ‪ .‬پبکنبفی ػؿ رقییبت ييغٌ يی ىٕػ‪ .‬یک ثنتّ‪ ،‬ثنتّ ػیگـ ؿا پبک مبفی يی کُؼ اگـ‬ ‫ایٍ ثنتّ ىبيم ػُبٍـی ثبىؼ کّ ثنتّ ػیگـ ْى ػاؿا ثبىؼ ايب رقییبت ثیيتـ ػؿ يٕؿػ ایٍ ػُبٍـ ؿا اؿایّ يی ػْؼ‪.‬‬ ‫پل يی تٕاَیؼ ؿاثّٖ پبک مبفی يخم ؿاثّٖ ثیٍ یک ٕـس ٔ َوبىی ؿٔؿٍ‪ ،‬تَٕؿ کُیؼ‪ .‬ىًب ػُبٍـ یکنبَی ؿا ػؿ‬ ‫ٕـس عٕػ ٔ َوبىی ؿٔؿٍ ػاؿیؼ ايب َوبىی‪ٕ ،‬ـس ؿا ثٕمیهّ ؿَگٓبی ثیيتـ‪ ،‬تؼـیق اىکبل ثیيتـ‪ ،‬مبیّ ٔ عٖٕٓ‬ ‫ثیيتـ ٔ ػؿ کم رقییبت ثيتـ پبکنبفی کـػِ امت ٔ یب ثٓجٕػ ثغيیؼِ امت‪ .‬ثُبثـایٍ اربفِ ػْیؼ يخبنی ػؿ ؿاثّٖ ثب‬ ‫ؿاثّٖ ‪ Refinement‬ثیٍ ثنتّ ْب اؿایّ ػْیى‪ .‬ثّ َوو ثبفی کـػٌ كکـ کُیؼ‪ .‬ثـای ىـٔع ثّ ثبفی کـػٌ اصتیبد ثّ‬ ‫تًـیٍ ػاؿیؼ کّ ػُبٍـ تًـیٍ ىبيم ثبفیگـاٌ‪ ،‬کبؿگـػاٌ‪ ،‬تُظیًبت‪ٔ ،‬مبیم ٍضُّ ًَبیو ٔ ‪ ...‬يی ثبىؼ‪ .‬ثنتّ ػیگـ‬ ‫کّ رقییبت ثیيتـی ؿا ثـای ایٍ ػُبٍـ اؿایّ يی ػْؼ‪ ،‬يی تٕاَؼ ارـا ثبىؼ‪ُْٕ .‬ف ًْبٌ ثبفیگـاٌ ؿا ػاؿیى‪ًْ ،‬بٌ‬ ‫ٍضُّ ًَبیو‪ًْ ،‬بٌ کبؿگـػاٌ ٔ ‪ ...‬ايب ارـا‪ ،‬تًـیٍ ؿا ثٓجٕػ يی ثغيؼ‪ .‬ثُبثـایٍ يی تٕاَیى كهو ٔاثنتگی ؿا کّ اف‬ ‫ارـا ثّ مًت تًـیٍ اىبؿِ يی کُؼ‪ ،‬ؿا ؿمى کُیى‪ .‬پل ایُٖٕؿ يی عٕاَیى؛ ارـا‪ ،‬تًـیٍ ؿا ثٓجٕػ يی ثغيؼ‪ .‬يًکٍ‬ ‫امت يتؼزت ىٕیؼ کّ چـا كهو ٔاثنتگی اف ثنتّ ای کّ رقییبت ثیيتـی َنجت ثّ ثنتّ ای کّ رقییبت کًتـی‬ ‫ػاؿػ‪ ،‬کيیؼِ ىؼِ امت‪ .‬ثّ ایٍ ػنیم امت کّ ثبیؼ ایُگَّٕ كکـ کُیؼ‪ .‬ارـا ٔاثنتّ ثّ تًـیٍ امت‪ .‬ایٍ مٖش کبيهتـ‬ ‫رقییبت‪ ،‬فيبَی ايکبٌ پؾیـ امت کّ مٖش پبییٍ تـ‪ ،‬ػؿ نضظّ أل ٔرٕػ ػاىتّ امت‪ .‬اف کهیيّ کـػٌ ثـای ًَبیو ٔ‬ ‫ػؿک ثٓتـ امتلبػِ کُیؼ‪ .‬ىکم ثبال ثیبَگـ یک ؿاثّٖ امت کّ مٖش ثقؿگتـی اف رقییبت ؿا َيبٌ يی ػْؼ‪.‬‬

‫پیىود بسته ها ‪:‬‬

‫ػؿ ‪ UML‬يی تٕاَیؼ یک ثنتّ ؿا ثب ثنتّ ػیگـ پیَٕؼ ػْیؼ‪ .‬ایٍ ؿاثّٖ پیچیؼِ تـ اف چیقینت کّ ثّ َظـ يی ؿمؼ‪ .‬پل‬ ‫اربفِ ػْیؼ فيبَی ؿا ثـای ؿٔىٍ ىؼٌ يّٕٕع پیَٕؼ ثنتّ ْب ػؿَظـ ثگیـیى‪ .‬فيبَی يی تٕاَیؼ ثنتّ ْب ؿا ثب ْى‬ ‫پیَٕؼ ػْیؼ کّ ثغٕاْیؼ ثیٍ ػُبٍـی ػؿ ثنتّ يجؼا ٔ ْـ ػَُـی ػیگـی ػؿ ثنتّ يوَؼ کّ َبو یکنبَی ػاؿَؼ‪،‬‬ ‫ػًٕيی مبفی (اؿث ثـی) ًُّی تؼـیق کُیؼ‪.‬‬

‫‪37‬‬

‫‪www.ParsBook.org‬‬


‫پل فيبَی پیَٕؼ ثیٍ ػُبٍـ ثنتّ يجؼا ثب ثنتّ يوَؼ تؼـیق يی ىٕػ کّ ػُبٍـ َبو ْبی یکنبَی ػاىتّ ثبىُؼ‪.‬‬ ‫ػُبٍـ تؼـیق ىؼِ ػؿ ثنتّ يوَؼ ثؼٌٔ تـییـ ثبهی يی يبَُؼ ٔ ْـ ػَُـی ػؿ ثنتّ يجؼا کّ َبو آٌ ثب َبو ػَُـ‬ ‫ثنتّ يوَؼ يتلبٔت امت َیق ثؼٌٔ تـییـ ثبهی يی يبَؼ‪ .‬صبل َگبْی ثّ یک يخبل يی اَؼافیى تب يتٕرّ ىٕیى کّ‬ ‫يٖبنت گلتّ ىؼِ ثّ چّ يؼُبمت‪.‬‬

‫ايب أل َگبْی ثّ ًَبػْب يی اَؼافیى‪ .‬فيبَی کّ ثنتّ ْب ؿا پیَٕؼ يی ػْیؼ‪ 2 ،‬ثنتّ ػاؿیؼ‪ .‬ثنتّ يجؼا ( ‪ٔ )Source‬‬ ‫ثنتّ يوَؼ (‪ًْ .)Target‬چُیٍ ایٍ ػٔ ثنتّ ثّ َبيٓبی ثنتّ ی ػؿیبكت کُ​ُؼِ ( ‪ ٔ )Receiving Package‬ثنتّ پیَٕؼ‬ ‫عٕؿػِ (‪َ )Merged Package‬یق َبيیؼِ يی ىَٕؼ‪ .‬ثنتّ يجؼا‪ ،‬ثنتّ ای امت کّ إالػبتی ؿا اف ثنتّ يوَؼ ػؿیبكت‬ ‫يی کُؼ تب تؼبؿیق ٔ رقییبت عٕػ ؿا کبيهتـ کُؼ ٔ ایٍ ؿاثّٖ پیَٕؼ ؿا ثب كهو ٔاثنتگی کّ ثب کهیيّ <> َبو گؾاؿی‬ ‫ىؼِ امت‪َ ،‬يبٌ يی ػْیى‪ .‬تٕرّ ػاىتّ ثبىیؼ کّ رٓت كهو‪ ،‬اف ثنتّ يجؼا ثّ مًت ثنتّ يوَؼ امت‪ .‬اف‬ ‫ثنتّ ػؿیبكت کُ​ُؼِ ثّ مًت ثنتّ ی پیَٕؼ ػاػِ ىؼِ‪ .‬يزؼػا ایٍ صبنت یک َٕع صبنت ٔاثنتگی ؿا َيبٌ يی‬ ‫ػْؼ‪ .‬يجؼا ٔاثنتّ ثّ يوَؼ امت تب ثتٕاَؼ رقییبت ٔ تؼبؿیق ػُبٍـ ييتـکو ؿا گنتـه ػْؼ‪ .‬پل اربفِ ػْیؼ ثّ‬ ‫يخبنی ػؿ ایٍ ؿاثّٖ ثپـػافیى‪ًْ .‬بَٖٕؿ کّ ػؿ ىکم فیـ يی ثیُیؼ‪،‬‬

‫ػؿ ایٍ هنًت ػٔ ثنتّ ػاؿیى‪ :‬يؼؿمبٌ ٔ يضم ْیئت ػهًی‪ .‬ثنتّ يؼؿمبٌ ىبيم تؼؼاػی کالك امت‪ .‬امتبػ‪،‬‬ ‫ىـم ٔ ًْبَٖٕؿ کّ يی ثیُیؼ‪ ،‬یک یبچُؼ امتبػ ػؿ یک ىـم امتغؼاو ىؼِ اَؼ‪ .‬کالك امتبػ ىبيم عٍَٕیبت ٔ‬ ‫ؿكتبؿْبی يغتهلی امت‪ .‬عٍَٕیبت ىبيم َبو ٔ ىًبؿِ ىُبمبیی ( ‪ًْ ٔ )id‬چُیٍ ؿكتبؿ ػؿیبكت صوٕم ٔ کالك‬ ‫ىـم نینتی اف عٕاً ؿا ػاؿا يی ثبىؼ؛ ػُٕاٌ ٔ ػپبؿتًبٌ‪ .‬ػؿ هنًت ػیگـ‪ ،‬ػؿ ثنتّ يضم ْیئت ػهًی َیق یک‬ ‫کالك امبتیؼ ْیئت ػهًی ػاؿیى کّ اف کالك ‪ faculty‬ػؿ ثنتّ ‪ Teaching staff‬عٍَٕیت ‪ id‬ييتـک ػاؿػ ٔ ؿكتبؿ‬ ‫يتلبٔتی ػاؿػ‪ .‬ؿكتبؿ ‪ assign to‬ثـای يضٕ​ّٕ ػاَيکؼِ‪ .‬پل کالك ‪( Campus‬يضٕ​ّٕ ػاَيکؼِ) ؿا ػاؿیى کّ تؼؼاػی اف‬ ‫اػْبی ْیئت ػهًی ػؿ آٌ ييـٕل ْنتُؼ‪ .‬عٕة اگـ ثغٕاْیى ثنتّ صٕفِ ْیئت ػًهی ( ‪ )Faculty Location‬ؿا ثب‬ ‫ثنتّ يؼؿمبٌ (‪ )Teaching Staff‬پیَٕؼ ػْیى‪ teaching staff ،‬ثنتّ يجؼا يب عٕاْؼ ثٕػ ٔ ‪ faculty location‬ثنتّ‬ ‫يوَؼ‪ .‬چگَٕگی پیَٕؼ ایٍ ػٔ ثنتّ ؿا ػؿ ىکم يی ثیُیؼ‪ .‬يزؼػا اف كهو ٔاثنتگی امتلبػِ يی کُیى کّ اف ثنتّ‬ ‫يجؼا ثّ ثنتّ يوَؼ کيیؼِ ىؼِ امت ٔ ىکم ثنتّ َٓبیی ؿا يی ثیُیؼ‪ .‬صبل یک کالك ‪ faculty‬ثزبی ػٔ کالك‬

‫‪38‬‬

‫‪www.ParsBook.org‬‬


‫ػاؿیى ايب يی ثیُیؼ کّ چگَّٕ رقییبت آٌ تٕمٔ پیَٕؼ ( ‪ )merge‬ثنٔ ػاػِ ىؼِ امت‪َ .‬بو‪ ،‬ىًبؿِ ىُبمبیی ٔ ؿكتبؿ‬ ‫‪ )(getSalary‬ؿا يخم هجم ٔ ًْچُیٍ ؿكتبؿ ‪ assign to‬ؿا ػاؿیى‪ ٔ .‬کالك ‪ Campus‬ؿا کّ اّبكّ ىؼِ امت ٔ تـییـی ػؿ‬ ‫آٌ ایزبػ َيؼِ امت ٔ ًْیُٖٕؿ ثـای کالك ىـم یب ‪ .job class‬پل ػیؼیؼ کّ إالػبت چگَّٕ اف کالك ‪ٔ Faculty‬‬ ‫يوَؼ إالػبتيبٌ ؿا ػؿثبؿِ کالك ‪ faculty‬ػؿ يجؼا گنتـه ػاػَؼ ایٍ کم چیقینت کّ ػؿ ‪ merge‬اتلبم يی اكتؼ‪.‬‬ ‫هٕاَیُی ػؿ يٕؿػ پیَٕؼْب ٔرٕػ ػاؿػ کّ اؿفه تٕرّ ؿا ػاؿَؼ‪ .‬ثُبثـایٍ َگبْی ثّ آَٓب يی اَؼافیى‪ .1 .‬ػُبٍـ ‪private‬‬ ‫ثنتّ ْب ؿا ًَی تٕاَیؼ ثب ْى پیَٕؼ ػْیؼ‪ .‬ثُبثـایٍ اگـ کالمی ػاؿیؼ کّ مٖش ػمتـمی ‪ private‬ػؿ ثنتّ يوَؼ ؿا‬ ‫ػاؿػ‪ ،‬ایٍ کالك ثب کالمی ػؿ ثنتّ يجؼا پیَٕؼ َغٕاْؼ عٕؿػ‪ًْ .2 .‬چُیٍ ‪ UML‬ايکبٌ اؿث ثـی چُؼگبَّ ؿا ػؿ پیَٕؼ‬ ‫ثنتّ ْب يی ػْؼ‪ًْ .3 .‬چُیٍ ْـ فیـ ثنتّ ای ػؿ ثنتّ يوَؼ ثّ ثنتّ گیـَؼِ اّبكّ عٕاْؼ ىؼ ٔ پیَٕؼ يی‬ ‫عٕؿػ‪ .‬ثُبثـایٍ اگـ ثنتّ ْبی تٕػؿتٕ ػاؿیؼ‪ ،‬اگـ فیـ ثنتّ ْبیی ػاؿیؼ کّ ػاعم ثنتّ يوَؼ ْنتُؼ ٔ ػؿ ثنتّ يجؼا‬ ‫ٔرٕػ َؼاؿَؼ‪ ،‬آَٓب ثّ ثنتّ گیـَؼِ ( ‪ Receiving‬ثنتّ) اّبكّ يی ىَٕؼ‪ .4 .‬اگـ صتی ػؿ ْـ ػٔ ثنتّ يوَؼ ٔ يجؼا‪،‬‬ ‫فیـثنتّ ْب ؿا ثب َبو یکنبٌ ػاىتّ ثبىیؼ‪ ،‬ػؿایَُٕؿت ثیٍ آٌ فیـ ثنتّ ْب‪ ،‬ػًم پیَٕؼ َیق اتلبم يی اكتؼ‪ .‬صبل‬ ‫مٕانی کّ پیو يی آیؼ ایٍ امت کّ ایٍ هٕاَیٍ کزب يلیؼ عٕاُْؼ ثٕػ‪ .‬فيبَی پیَٕؼ فػٌ يلیؼ عٕاْؼ ثٕػ ٔ یکی اف‬ ‫يلیؼتـیٍ ؿٔىٓب ثـای پیَٕؼ یک ثنتّ آٌ امت کّ يؼًبؿی ای ػاؿیؼ کّ ػًهکـػْبیو‪ ،‬ػُبٍـ ًُْبيی ػاؿَؼ کّ يی‬ ‫تٕاَُؼ ػؿ يؼًبؿی تٕمؼّ ػاػِ ىؼِ کُبؿ ْى هـاؿ گیـَؼ‪ .‬پل فيبَی کّ ثّ پیيـكت يضَٕل كکـ يی کُیؼ يی تٕاَیؼ‬ ‫اف پیَٕؼ ثـای تٕمؼّ تؼبؿیق ٔ رقییبت ػًهکـػْبی يٕرٕػ امتلبػِ کُیؼ ثؼٌٔ ایُکّ تبحیـی ؿٔی اىیبی پیَٕؼ عٕؿػِ‬ ‫ػاىتّ ثبىیؼ‪.‬‬

‫چّ فيبَی اف ثنتّ ْب امتلبػِ کُیؼ‬ ‫صبل يی ػاَیؼ کّ ػؿ ًَٕػاؿْبی ثنتّ چّ چیقْبیی هـاؿ يی گیـَؼ‪ ،‬مٕانی کّ يٖـس يی ىٕػ آٌ امت کّ چّ‬ ‫فيبَی اف ثنتّ ْب امتلبػِ ًَبییؼ‪ .‬ثّ ایٍ مٕال ایُگَّٕ كکـ کُیؼ‪ .‬یک پـٔژِ ثقؿگ ٔ پیچیؼِ کّ ىبيم ‪ْ 100‬ب کالك‬ ‫امت‪ ،‬ثؼٌٔ ػاىتٍ ؿاْی کّ ثتٕاٌ ایٍ کالمٓب ؿا مـٔ مبيبٌ ػاػ ؿیـ يًکٍ ثّ َظـ يی ؿمؼ کّ ثتٕاَیى آَٓب ؿا اف‬ ‫ْى يزقا کُیى‪ .‬ثّ ًْیٍ ٕـین‪ ،‬ثغٕاْیى اف ثیٍ ایٍ ػمتّ کتبة یک ػامتبٌ ييغٌ ؿا ثیبثیى‪ .‬ثنتّ ْب یک مبعتبؿ‬ ‫ؿا ثـای کالمٓب یب ػیگـ ارقای ‪ UML‬ثٕمیهّ گـِٔ ثُؼی ارقای يـتجٔ ایزبػ يی کُ​ُؼ‪ .‬پل ثزبی ایٍ ًّْ کتبة ػؿْى‪،‬‬ ‫یک کتبثغبَّ ػاؿیى ربیی کّ کتبثٓب ثـپبیّ يّٕٕع یب ًْنبَی ػُبٔیُيبٌ ثّ ثغيٓبی يغتهلی ٕجوّ ثُؼی ىؼِ اَؼ‬ ‫ٔ ىًب يی عٕاْیؼ ًْیٍ ػًم ؿا ثب کتبثغبَّ کالمٓبیتبٌ اَزبو ػْیؼ‪ .‬يی عٕاْیؼ يًٖئٍ ىٕیؼ کّ ایُٓب ػمتّ‬ ‫ثُؼی ىؼِ اَؼ‪ ،‬کالمٓبی ييبثّ ثب ْى ػمتّ ثُؼی ىؼِ اَؼ ٔ ایٍ ثبػج يی ىٕػ کّ ثب َگبْی ارًبنی‪ ،‬ثـاصتی‬ ‫ثتٕاَیؼ يٖهت ؿا ػؿک ًَبییؼ‪ .‬ثُبثـایٍ رٓت ؿاًُْبیی کهی‪ ،‬اف ًَٕػاؿ ثنتّ ْب فيبَی امتلبػِ يی کُیؼ کّ ثغٕاْیؼ‬ ‫مٖش ثبالتـی اف ًَبیو مینتًبٌ ؿا ػاىتّ ثبىیؼ‪ ٔ .‬يًکُّ کّ ػؿ يٕؿػ مٖش ثبالتـ ثـ صنت َیبف يـٔؿ ارًبنی‬ ‫ػاىتّ ثبىیى ٔ یب ػؿ يٕؿػ مٖش ثبالتـی اف ٕـاصی ٍضجت کُیى‪ .‬ثنتّ ًْیيّ ػُبٍـ ‪ UML‬ؿا رًغ ٔ ًَٕػاؿتبٌ ؿا‬ ‫پیيـكتّ تـ يی کُ​ُؼ‪ .‬اف ًَٕػاؿ ثنتّ ْب ثـای َگٓؼاىتٍ ؿاثّٖ ٔاثنتگی امتلبػِ کُیؼ‪ .‬يزؼػا ػؿ یک مینتى‬ ‫ثقؿگ ثب ‪ْ 100‬ب ؿاثّٖ ٔاثنتگی ثـای پبیؼاؿی مینتى َیبف ػاؿیؼ کّ تًبو آَٓب ؿا ػمتّ ثُؼی کـػِ ٔ يؼیـیت ًَبییؼ‬

‫‪39‬‬

‫‪www.ParsBook.org‬‬


‫کّ ثنتّ ْب ایٍ کبؿ ؿا عیهی مبػِ تـ اَزبو يی ػُْؼ‪ًْ .‬بَٖٕؿ کّ ثیبػ يی آٔؿیؼ‪ ،‬ػُبٍـ ػاعم ًَٕػاؿ ثنتّ ْب‪،‬‬ ‫امبمب ثنتّ ْب ٔ ؿٔاثٔ ٔاثنتگیيبٌ ؿا َيبٌ يی ػُْؼ‪ .‬پل ًَٕػاؿ ثنتّ ْب اربفِ يی ػْؼ کّ ؿٔی ٔاثنتگی‬ ‫ْب تًـکق ػاىتّ ثبىیؼ‪ .‬اف ًَٕػاؿْبی ثنتّ ػؿ یک مینتى ثقؿگ امتلبػِ کُیؼ تب ثتٕاَیؼ ػُبٍـ اٍهی ؿا َيبٌ‬ ‫ػْیؼ ٔ ایُکّ چگَّٕ ایٍ ػُبٍـ ثب ْى ػؿ اؿتجبٓ ْنتُؼ‪ .‬ػٔثبؿِ ایٍ کبؿ مٖضی ثبالتـ اف مینتى ؿا ثّ ىًب اؿایّ يی‬ ‫ػْؼ‪ ٔ .‬يی تٕاَیؼ اف ًَٕػاؿْبی ثنتّ ثـای تونیى کـػٌ یک مینتى پیچیؼِ ثّ چُؼیٍ ثغو ( ‪ )Module‬امتلبػِ‬ ‫ًَبییؼ‪ .‬پل ایٍ ؿٔه ایؼِ ای ثّ ىًب يی ػْؼ ثـای فيبَی کّ ًَٕػاؿْبی ثنتّ يلیؼ عٕاُْؼ ثٕػ ٔ ًْبَٖٕؿ کّ‬ ‫گلتى آَٓب ييغَب ثـای مینتى ْبی ثقؿگ ٔ پیچیؼِ ٔ ػاػٌ مٖش ثبالتـ اف کم ٔ یب ثغيی اف ًَٕػاؿ يُبمت‬ ‫ْنتُؼ‪.‬‬ ‫دیاگراهِای حالت‪ -‬حاالت ّ تغییر حاالت ‪:‬‬ ‫يًكٍ امت ػیبگـاو صبنت ْبيي ؿا ػيؼِ ثبىیؼ كّ ثّ چبؿت صبنت يب ًَٕػاؿْبي صبنت يبىیٍ اىبؿِ يیكُ​ُؼ ايب ْـ‬ ‫آَچّ كّ ىًب ػیبگـاو صبنت يیُبيیؼ ؿكتبؿْبي يك مینتى ؿا ًَبيو يیؼُْؼ‪ .‬يخال ىًب يیتٕاَیؼ يك ػیبگـاو صبنت‬ ‫ثنبفيؼ كّ ثب آٌ ؿكتبؿ يك ىي ؿا ػؿ ثیٍ يزًٕػّ اي اف ‪ْ use case‬ب ًَبيو ػْیؼ‪ .‬ىًب يیتٕاَیؼ ثب امتلبػِ اف‬ ‫ػیبگـاو صبنت ْب ؿكتبؿ يك كالك ‪ ،‬فيـ مینتى يب كم يك مینتى ؿا ًَبيو ػْیؼ‪ UML .‬ػٔ َٕع ػیبگـاو صبنت ؿا‬ ‫يیپؾيـػ ‪َٕ ،‬ع أل ػیبگـايٓبی صبنت ؿكتبؿي امت ٔ ايُٓب پیبػِ مبفي عبٍي اف ػُبٍـي يخم ىي ؿا َيبٌ يیؼُْؼ ٔ‬ ‫ثیيتـ كهیپ ْبي ايٍ ثغو ػؿثبؿِ ًْیٍ ػیبگـاو ْب ٍضجت عٕاْؼ كـػ‪َٕ .‬ع ػٔو‪ ،‬يبىیٍ ْبي صبنت هـاؿػاػي امت‬ ‫؛ ٔ ايُٓب هـاؿ َینت كّ پیبػِ مبفي ىَٕؼ‪.‬‬ ‫ػؿ ػُٕ هـاؿػاػ ؿٔيؼاػي ؿا ثـاي ػَجبنّ اي اف ؿٔيؼاػْبي صبنت ٔ تـییـ صبنت ْب كّ َيبٌ يیؼُْؼ تؼـيق يیكُ​ُؼ‬ ‫ثؼٌٔ ايُكّ ؿكتبؿ ٔاهؼي اىیب ؿا َيبٌ ػُْؼ ٔ ػؿ اػايّ كهیپي ػاؿيى كّ ثّ ٕ​ٕؿ ٔيژِ ثّ يبىیٍ ْبي صبنت هـاؿػاػي‬ ‫اعتَبً ػاػِ ىؼِ امت‪ .‬پل ػیبگـاو صبنت ْب يك تٍُ ػَُـ َؼاؿَؼ ‪ ،‬يیتٕاَیؼ يك صبنت ؿا ًْبَُؼ يخبل ايُزب ثب‬ ‫امتلبػِ اف يك ينتٖیم ثب گٕىّ ْبی گـػ ىؼِ َيبٌ ػْیؼ ٔ ينتٖیم ثبيؼ َبو صبنت ؿا كّ يیتٕاَؼ ‪،on‬‬ ‫‪ active ٔ ،waiting،off‬ثبىؼ ًَبيو ثؼْؼ‪ًْ .‬چُیٍ يیتٕاَیؼ ًَبػ صبنت ؿا ثّ تؼؼاػي اف ثغيٓبي يغتهق تونیى‬ ‫كُیؼ ٔ ػؿ آٌ ثغو ْب يیتٕاَیؼ يتـیـْب ٔ يب كؼبنیت ْب ٔ آَٓبيي كّ اَتغبثي ْنتُؼ َيبٌ ػْیؼ‪ .‬ايٍ كهو ْب تـییـ‬ ‫صبنت ْب ؿا َيبٌ يیؼُْؼ ٔ تـییـ صبنت ثّ مبػگي تـییـ اف يك صبنت ثّ صبنت ػيگـ ؿا ًَبيو يیؼْؼ يؼُي اف صبنت‬ ‫يجؼا ثّ صبنت يوَؼ‪ًْ .‬بَٖٕؿ كّ يیجیُیؼ يیتٕاَیؼ اَتوبل صبنت ْب ؿا ثب مّ ػَُـ ‪َ effect ٔ guard،trigger‬بو گؾاؿي‬ ‫كُیؼ‪ .‬ثّ ایٍ ػًم َبيگؾاؿی تـییـ صبنت يی گٕیُؼ ٔ اعتیبؿي امت ٔ يیتٕاَیؼ ثغيي اف آٌ‪ ،‬یب کم آٌ ؿا هـاؿ ػْیؼ ٔ‬ ‫یب صتي يیتٕاَیؼ آٌ ؿا ؿْب كُیؼ‪ .‬ػُبٍـ يغتهق َبيگؾاؿی تـییـ صبنت ىبيم ‪ trigger‬امت كّ يًكٍ امت ثجیُیؼ كّ‬ ‫ثّ يك ؿٔيؼاػ اىبؿِ يیكُؼ ايب آَٓب ًْبٌ يؼُي ؿا يیؼُْؼ ٔ ‪ trigger‬ثٖٕؿ مبػِ ثؼْي اف ؿٔيؼاػْبيي امت كّ تـییـ‬ ‫صبنت ؿا كّ ثبػج يیيٕػ ىي اف ايٍ صبنت ثّ آٌ صبنت تـییـ كُؼ پبيّ گؾاؿي يیكُؼ‪ .‬ثُبثـايٍ ‪ trigger‬يًكٍ امت‬ ‫ىبيم يك ؿٔيؼاػ فيبَي ‪ ،‬يك َبيگؾاؿی ‪ ،‬يك كـاعٕاَي ‪ ،‬يك تـییـ ثبىؼ ٔ ثؼْي ؿٔيؼاػْب يخم ايُٓب يیتٕاَُؼ يك‬ ‫‪ trigger‬ثبىُؼ‪ .‬ثؼؼ ‪ guard‬يي آيؼ ٔ ‪ guard‬عیهي ثّ ‪ guard condition‬ػؿ ‪ْ activity diagram‬ب ىجیّ امت‪.‬‬ ‫ًْبَٖٕؿي كّ ػؿ ايُزب يیجیُیؼ يك ‪ guard‬ؿا ثب يضَٕؿ كـػٌ آٌ ػؿ يك يـثغ ًَبيو ػْیؼ ٔ ‪ guard‬يك ىـائ ثٕني‬ ‫امت كّ َيبٌ يیؼْؼ ‪ transition‬چّ اهؼايبتي يیتٕاَؼ اَزبو ػْؼ‪ .‬ثُبثـايٍ اگـ ّٔؼیت ‪ true‬ثبىؼ ‪ transition‬يیتٕاَؼ‬ ‫اتلبم ثیلتؼ ٔ اگـ ‪ false‬ثبىؼ ًَیتٕاَؼ اَزبو ثپؾيـػ‪ .‬ثؼؼ يك ػاليت ‪ ٔ /‬ثّ ػَجبل آٌ ‪ effect‬امت ٔ يیتٕاَیؼ ثجیُیؼ كّ‬ ‫‪ effect‬ثّ يك ػًم يب كؼبنیت اىبؿِ يیكُؼ ٔ ػٔثبؿِ ًّْ آَٓب يؼُي ًْبٌ چیق ؿا يیؼُْؼ‪ effect .‬ؿكتبؿي امت كّ ػؿ‬ ‫ٕ​ٕل تـییـ صبنت اتلبم يي اكتؼ‪ .‬چیقْبيي ثـاي ىي اتلبم يي اكتؼ كّ آٌ ؿا تجؼيم ثّ يك تـییـ اف يك صبنت ثّ‬ ‫صبنت ػيگـ يیكُؼ‪َ .‬بيگؾاؿی ‪ trigger‬يًكٍ امت ىبيم ؿٔيؼاػْبي چُؼگبَّ ٔ پبؿايتـْب ثبىُؼ ٔ ًْبَٖٕؿ كّ گلتى‬ ‫تًبو ثغيٓبي َبيگؾاؿی ‪ trigger‬اعتیبؿي ْنتُؼ‪ .‬پل ثیبيیؼ َگبِ كٕتبْي ثّ يك يخبل ثنیبؿ مبػِ ثیُؼافيى ‪ ،‬ايٍ‬ ‫يخبل ثـاي يك اليپ يغچبل امت ٔ ايٍ اليپ يغچبل يیتٕاَؼ ػٔ صبنت ػاىتّ ثبىؼ ‪ ،‬عبيٕه ٔ ؿٔىٍ‪ ٔ .‬يیتٕاَؼ ثّ‬ ‫ػٔ ؿٔيؼاػ پبمظ ثؼْؼ ‪ ،‬ثبف ىؼٌ ػؿ ٔ ثنتّ ىؼٌ ػؿ ٔ يیتٕاَیؼ اف ينیـ ينتویى ‪ transition‬ثجیُیؼ كّ اگـ اليپ ػؿ‬ ‫صبنت عبيٕه ثبىؼ ٔ ؿٔيؼاػ ثبف ىؼٌ ػؿ ؿط ثؼْؼ صبنت اليپ ثّ ؿٔىٍ تجؼيم يیيٕػ‪ .‬اگـ اليپ ػؿ صبنت ؿٔىٍ‬ ‫ثبىؼ ٔ ؿٔيؼاػ ثنتّ ىؼٌ ػؿ ؿط ثؼْؼ صبنت اليپ ثّ عبيٕه تجؼيم يیيٕػ‪ .‬ثُبثـايٍ ػؿ ػیبگـاو صبنت صبنت ْبي‬ ‫يغتهق امبمب ؿٔىٓبي گَٕبگَٕي كّ ىي ثّ ؿٔيؼاػْب ػكل انؼًم َيبٌ يیؼْؼ ؿا ًَبيو يیؼْؼ ٔ ثّ يبػ ػاىتّ‬ ‫ثبىیؼ كّ ايٍ يّٕٕع ايزبػ ٔ يٖبنؼّ ي ػیبگـاو صبنت ْب ؿا ثنیبؿ مبػِ تـ يیكُؼ‪.‬‬

‫‪40‬‬

‫‪www.ParsBook.org‬‬


‫فعالیت های حالت ‪:‬‬ ‫ًْبَٖٕؿ كّ ػيؼِ ايؼ تـییـ صبنتٓب يیتٕاَُؼ ىبيم كؼم يب كؼبنیتی ثبىُؼ ٔ يخبني كّ ثّ كبؿ ثـػيى كّ ػؿ آٌ كؼهی کّ‬ ‫يٕرت تـییـ صبنت ثـاي اليپ يغچبل يی ىؼ ثبف كـػٌ ػؿ ثٕػ كّ اليپ ؿا ػؿ يك ّٔؼیت هـاؿ يیؼاػ‪ .‬ثُبثـايٍ تـییـ‬ ‫صبنتٓب يیتٕاَُؼ ىبيم كؼبنیت ْبيي ثبىُؼ ٔ ايٍ ‪ْ activity‬ب يؼًٕال آَٓبيي ْنتُؼ كّ فٔػ اتلبم يي اكتُؼ‪.‬‬

‫ًْچُیٍ صبنت ْب ْى يیتٕاَُؼ ػاؿاي ‪ activity‬ثبىُؼ‪ .‬يك ‪ ، state‬يب كؼبل امت يب ؿیـ كؼبل ‪ ،‬ىـايٖي ٔرٕػ ػاؿػ كّ‬ ‫ثٕمیهّ َبو ‪ًَ state‬بيو ػاػِ يیيٕػ كّ ػؿ ْـ َوّٖ ػاػِ ىؼِ اف فيبٌ آيب اتلبم يي اكتؼ يب عیـ‪ٔ .‬هتي كّ يك‬ ‫‪ state‬كؼبل امت ‪ْ activity ،‬بي آٌ يیتٕاَُؼ اتلبم ثیلتُؼ‪ State activity .‬ؿا يبَُؼ يك كـايُؼ ػؿ َظـ ثگیـيؼ ‪ ،‬ثؼْي ْب‬ ‫كّ ثـ صنت ٔظیلّ ثٕمیهّ مینتى ارـا يي ىَٕؼ فيبَي اتلبم يي اكتُؼ كّ ىي ػؿ ثغو عبٍي اف ‪state‬‬ ‫ثبىؼ‪ .‬انجتّ ايٍ ثؼاٌ يؼُبمت كّ ٔهتي ‪ state‬ؿیـ كؼبل امت ‪ْ activity‬بي آٌ ًَیتٕاَُؼ اتلبم ثیلتُؼ‪ .‬ايٍ ‪activity‬‬ ‫ايُگَّٕ َٕىتّ يیيٕػ ‪ :‬اثتؼا ىًب ثـچنت ‪ activity‬ؿا يی َٕينیؼ ٔ ثؼؼ اف آٌ َبو آٌ يب ػجبؿت آٌ ؿا يیُٕينیؼ‪ .‬آَٓب‬ ‫تٕمٔ يك ػاليت ‪ /‬اف ْى رؼا ىؼِ اَؼ‪.‬ثُبثـايٍ اثتؼا ثـچنت يي آيؼ ‪ ،‬مپل ػاليت ‪ ٔ /‬ثؼؼ اف آٌ َبو يب ػجبؿت‬ ‫‪ activity‬يي آيؼ ٔ اف يك ؿاِ ىًب يیتٕاَیؼ ػجبؿت ‪ activity‬ؿا ثب امتلبػِ اف فثبٌ ٕجیؼي ٔ يب ىجّ كؼ ثُٕينیؼ كّ ْـ‬ ‫كؼاو صل ؿا ػؿ يتٍ ىًب ايزبػ يیكُؼ‪ UML .‬مّ َٕع ثـچنت ؿا ثـاي ‪ْ activity‬بي ‪ state‬يیپؾيـػ كّ ػؿ ايُزب‬ ‫ًَبيو ػاػِ ىؼِ اَؼ‪.‬ثـچنت ‪ entry‬يب ٔؿٔي ثّ ايٍ يؼُبمت كّ ايٍ ‪ٔ activity‬هتي اتلبم يیبكتؼ كّ ىي ٔاؿػ ‪state‬‬ ‫يیيٕػ ٔ هجم اف ًّْ ي ػيگـ ‪ْ activity‬بي ‪ state‬اتلبم يي اكتؼ‪ًْ.‬چُیٍ ثـچنت ‪ٔ do‬رٕػ ػاؿػ ٔ ايٍ ثـچنت‬ ‫ًَبيبَگـ ايٍ امت كّ ايٍ ‪ activity‬ثّ يؼت ٕ​ٕالَي يخم فيبَي كّ ‪ state‬كؼبل امت اتلبم يي اكتؼ‪ْ activity .‬بي ‪do‬‬ ‫يًكٍ امت تٕمٔ ؿٔيؼاػْبي ػيگـ ػچبؿ ٔهلّ ىَٕؼ ٔ ثبالعـِ ثـچنت ‪ٔ exit‬رٕػ ػاؿػ كّ ثیبَگـ ايٍ امت كّ ايٍ‬ ‫‪ٔ activity‬هتي اتلبم يي اكتؼ كّ ىي اف ‪ state‬عبؿد يیيٕػ‪ .‬يك ‪ activity exit‬ػؿ ربيي ارـا يیيٕػ كّ ‪activity do‬‬ ‫كبيال اَزبو ىٕػ يب يتٕهق ىٕػ ٔ يب ثي َتیزّ ثًبَؼ‪.‬پل آَٓب مّ َٕع اف ‪ْ activity‬ب ْنتُؼ كّ ىًب يیتٕاَیؼ ػؿ‬ ‫‪ state‬ثیبثیؼ ٔ ثـاي ٔاّش تـ ىؼٌ آٌ ثیبيیؼ َگبْي ثّ يك يخبل ثیُؼافيى‪.‬يخال يب يك ػمتگبِ ككل ػاؿيى‪.‬فيبَي كّ‬ ‫ػمتگبِ ػؿ ّٔؼیت ػؿيبكت امت مّ ‪ state activity‬ؿا ػاؿػ ‪ٔ activity :‬ؿٔػي آٌ ‪ connect‬يب اتَبل امت‪َٕ activity.‬ع‬ ‫‪ do‬آٌ ‪ print‬يب چبپ امت ٔ ‪ activity exit‬آٌ ‪ disconnect‬يب هٖغ اؿتجبٓ امت‪ .‬پل اگـ اتلبهبتي ثیلتؼ كّ ػًم تـییـ‬ ‫صبنت ؿا يتٕهق كُؼ ‪ ،‬ػؿ ايُزب ثب يتٕهق ىؼٌ ّٔؼیت ػؿيبكت ‪َٕ activity‬ع ‪ do‬يًكٍ امت ثـاي چبپ كـػٌ يتٕهق‬ ‫ىٕػ ٔ ثٖٕؿ كبيم اَزبو َيٕػ‪.‬صتي اگـ ايٍ اتلبم ثیلتؼ ‪َٕ activity‬ع ‪ exit‬كّ هٖغ اؿتجبٓ امت اَزبو يیيٕػ‪ .‬ثُبثـايٍ‬ ‫‪ْ state activity‬ب ثّ ايٍ يُظٕؿ امتلبػِ يیيَٕؼ كّ َيبٌ ػُْؼ كّ ٔهتي ىي ػؿ يك ‪ state‬عبً هـاؿ يیگیـػ كؼاو‬ ‫‪ activity‬يیتٕاَؼ اتلبم ثیلتؼ‪.‬‬

‫‪41‬‬

‫‪www.ParsBook.org‬‬


‫آغاز و پایان شبهه حاالت ‪:‬‬ ‫ىجّ صبنت يك يلٕٓو ػؿ ‪ UML‬امت كّ ثّ ىًب ايكبٌ يیؼْؼ ػؿثبؿِ ايُكّ ػؿ ٕ​ٕل هنًت تـییـ صبنت چّ اتلبهي‬ ‫يي اكتؼ‪ ،‬ثّ ػیبگـاو صبنت عٕػ اّبكّ كُیؼ‪ .‬كـم ثیٍ ىجّ صبنت ٔ صبنت چینت؟‬

‫ًْبَٖٕؿ كّ اف َبيو پیؼامت صبنت ىـائ يب ّٔؼیتي اف يك ىي ػؿ ػیبگـاو صبنت امت ٔ يك ىجّ صبنت‬ ‫چیقْبيي ؿا َيبٌ يیؼْؼ كّ ػؿ ينیـ يك ‪ state‬ثّ ‪ state‬ػيگـ اتلبم يي اكتؼ‪ .‬ىًب يًكٍ امت ثّ يك َٕع َوّٖ‬ ‫تًَیى گیـي ثـمیؼ كّ ػؿ آَزب ػٔ تـییـ صبنت ايکبٌ پؾیـ ثبىؼ ٔ ثنتگي ثّ ايٍ ػاؿػ كّ ىـائ كؼاييبٌ ‪true‬‬ ‫ثبىؼ‪.‬يب يًكٍ امت ثّ ربيي ثـمیؼ كّ چُؼيٍ تـییـ صبنت ثب ْى اػؿبو ىَٕؼ يب يك تـییـ صبنت ثّ چُؼيٍ تـییـ‬ ‫صبنت تونیى ىٕػ‪.‬ثُبثـايٍ ىجّ صبنت ػؿ ٕ​ٕل فيبٌ تـییـ صبنت ْب اتلبم يي اكتؼ‪ .‬ثیبيیؼ ثب َگبِ ثّ يك ىجّ صبنت‬ ‫اثتؼايي كّ ثب ػايـِ تٕپـ َيبٌ ػاػِ ىؼِ امت ىـٔع كُیى‪.‬إٍال ٔهتي ػؿثبؿِ ىجّ صبنت ككـ يیكُیؼ يك ‪ state‬اف‬ ‫يبىیٍ َینت ثهكّ ػؿ ٔاهغ ىـٔع ًَٕػاؿ ؿا َيبٌ يیؼْؼ‪.‬ثُبثـايٍ اگـ يك ػیبگـاو صبنت ػاىتّ ثبىیى كّ ‪state‬‬ ‫اثتؼايي آٌ ‪ waiting‬امت آٌ ؿا ػؿ ًَٕػاؿ ايُگَّٕ َيبٌ يیؼْیؼ ‪ .‬ىًب يك ىجّ صبنت ػاؿيؼ كّ َيبٌ يیؼْؼ چّ‬ ‫چیقي كزب ىـٔع يیيٕػ‪.‬ىًب يك تـییـ صبنت اف ىجّ صبنت اثتؼايي ثّ ‪ٔ state‬اهؼي يبىیٍ يیكيیؼ‪.‬ىًب يیتٕاَیؼ‬ ‫ايٍ تـییـ صبنت ؿا ثـچنت گؾاؿي كُیؼ ثّ ًْـاِ ْـ ػًم ٔ يب ىـايٖي كّ الفو امت ثّ ايٍ ‪ state‬يبىیٍ اثتؼايي‬ ‫ػاػِ ىٕػ‪.‬ييبثّ ايٍ يلٕٓو ىجّ صبنت َٓبيي امت كّ ثب ػاليت ّـثؼؿ ‪َ X‬يبٌ ػاػِ ىؼِ امت‪ .‬ىجّ صبنت‬ ‫پبيبَي ‪ ،‬پبيبٌ يبكتٍ يك ػیبگـاو صبنت ؿا َيبٌ يیؼْؼ يخم ٔؿٔػ َبيٕكن ‪ ،‬يتٕهق ىؼٌ ‪ ٔ power‬چیقْبيي كّ‬ ‫يیتٕاَُؼ يُزـ ثّ پبيبٌ يبكتٍ يك ػیبگـاو ىَٕؼ‪ .‬پل اگـ ىًب ‪ state‬ي ػاىتّ ثبىیؼ كّ كـاعٕاَي ىؼِ امت‬ ‫يیغٕاْیى ٔؿٔػي إالػبت ؿا ثـؿمي كُیى ٔ ىًب ىكنت ْبيي ػؿ ٔؿٔػ ػاؿيؼ كّ يًكٍ امت يُزـ ثّ پبيبٌ يبكتٍ‬ ‫ىجّ صبنت ىٕػ‪ .‬پل ىجّ صبنت ْب ؿٔىي ْنتُؼ كّ َيبٌ يیؼُْؼ ػؿ هنًت تـییـ صبنت ػؿ ػیبگـاو صبنت چّ‬ ‫اتلبهي يي اكتؼ‪.‬ثّ ىًب اربفِ يیؼْیى كّ ػیبگـايتبٌ ؿا پیچیؼِ تـ كُیؼ ٔ ػؿ كهیپ ْبي ثؼؼي إَاع يغتهق ىجّ‬ ‫صبنت كّ ىًب يیتٕاَیؼ امتلبػِ كُیؼ ًَبيو ػاػِ يیيٕػ‪.‬‬

‫شثَِ حالت ُای اتصال ّ اًتخاب ‪:‬‬ ‫يوبنّ ػؿ يٕؿػ ىجّ صبنت اتَبل ٔ ىجّ صبنت اَتغبة امت‪ .‬ىجّ صبنت اتَبل یب ًْبٌ ‪Junction Pseudo state‬‬ ‫ثٕمیهّ یک ػایـِ تٕپـ کّ ػؿ ایُزب يی ثیُیؼ ًَبیو ػاػِ ىؼِ امت‪.‬‬

‫ایٍ ػهیوب ىجیّ َوّٖ آؿبفیٍ ىجّ صبنت ( ‪ )Pseudo State Initial‬امت ٔنی هٖؼب تلبٔتی ٔرٕػ ػاؿػ ٔ آٌ ایٍ امت‬ ‫کّ "َوّٖ آؿبفیٍ ىجّ صبنت" ػؿ اثتؼای ػیبگـاو هـاؿ ػاؿػ ٔ ْیچ َوّٖ اَتوبنی ثّ آٌ ٔرٕػ َؼاؿػ‪ .‬ػؿ مٕی ػیگـ "ىجّ‬ ‫صبنت اتَبل" ػؿ ٔمٔ ػیبگـاو هـاؿ ػاؿػ ٔ ْى ثّ ػاعم ٔ ْى ثّ ثیـٌٔ اف ػایـِ تٕپـ تؼبيم ػاؿػ‪.‬‬

‫‪42‬‬

‫‪www.ParsBook.org‬‬


‫پل یک اتَبل (‪ )Junction‬چُؼیٍ اَتوبل ؿا ثّ یکؼیگـ ػؿ یک ىجّ صبنت يـتجٔ يی کُؼ ‪ ،‬ثُبثـایٍ ػؿ ایٍ يخبل چُؼیٍ‬ ‫اَتوبل ثّ ػاعم يضم اتَبل يی تٕاَیؼ ٔاؿػ کُیؼ ٔ ثّ ًْیٍ تـتیت يی تٕاَیؼ چُؼیٍ اَتوبل ؿا اف آٌ عبؿد کُیؼ‪ .‬ىًب اف‬ ‫اتَبل يی تٕاَیؼ ثـای تـکیت تؼؼاػی اف اَتوبل ْبی ٔؿٔػی ثّ یک یب چُؼ اَتوبل عـٔری ثنتّ ثّ اَتغبة ىًب ٔ‬ ‫ينیـ ػْی آٌ ثّ ينیـْبی إـاف اف اتَبل امتلبػِ کُیؼ‪ .‬ىًب يی تٕاَیؼ اف ایٍ ثـای رؼامبفی یک اَتوبل ٔؿٔػی‬ ‫ثّ چُؼیٍ اَتوبل عـٔری امتلبػِ کُیؼ‪ ٔ .‬يًٖئُب ىًب يی تٕاَیؼ ىـایٖی ؿا ثـای آٌ اَتوبل ْبی عـٔری اّبكّ‬ ‫کُیؼ‪ .‬پل تب ایُزب ػؿ يٕؿػ ىجّ صبنت اتَبل ثٕػ‪ .‬یک يلٕٓو يـتجٔ ىجّ صبنت اَتغبة امت ٔ ػؿ اٍم یک َوّٖ‬ ‫تًَیى گیـی امت‪" .‬ىجّ صبنت اَتغبة" یک اَتغبة اف ػٔ یب چُؼیٍ صبنت يغتهق ؿا يوؼٔؿ يی مبفػ ‪ ،‬ثنتّ ثّ‬ ‫ىـایٔ صلبظتی اف اَتوبل ْبیی کّ ثبػج يی ىَٕؼ اف َوّٖ اَتغبة ثّ صبنت ْبی ػیگـی ثـمیى‪ .‬پل ىجّ صبت‬ ‫اَتغبة ثٕمیهّ یک نٕفی ًَبیو ػاػِ يی ىٕػ ٔ اگـ ىًب ػیبگـاو ْبی كؼبنیت ( ‪ )Activity Diagram‬آىُب ثبىیؼ ‪،‬‬ ‫ایٍ ػهیوب ىجیّ یک َوّٖ تًَیى گیـی ػؿ یک ػیبگـاو كؼبنیت امت ٔ نٕفی یک اَتوبل ٔؿٔػی ثّ ػاعم ٔ ػٔ یب چُؼ‬ ‫اَتوبل عـٔری ثّ ثیـٌٔ عٕاْؼ ػاىت ٔ اَتوبل ْبیی اف يضم ىجّ اَتغبة عبؿد چُؼیٍ َٕع اف ىـایٔ صلبظتی ؿا‬ ‫عٕاُْؼ ػاىت‪ .‬صبال يخبل يب ػؿ ایتزب ػؿ يٕؿػ یغچبل امت ٔ يب اف یک صبنت تيغیٌ ( ‪ )Sense‬ىـٔع يی کُیى ٔ‬ ‫یغچبل ثنتّ ثّ ایٍ ىـایٔ صلبظتی کّ ثّ ػيبمُذ يـتجٔ امت چّ کبؿی ؿا اَزبو يی ػْؼ‪ .‬پل ػؿ ىجّ صبنت‬ ‫اَتغبة اگـ ػيبمُذ ثبالی ‪ 37‬ػؿرّ ثبىؼ یغچبل ؿٔىٍ يیيٕػ ٔ اگـ ػيبمُذ ؿٔی ‪ 37‬ػؿرّ یب پبییٍ تـ ثبىؼ رـیبٌ‬ ‫عبيٕه يیيٕػ ٔ ثّ صبنت امتـاصت يی ؿٔػ ٔ ًْبَٖٕؿ کّ ىًب يی ثیُیؼ ْـ ػٔی ایٍ صبنت ْب ثّ صبنت تيغیٌ‬ ‫ثـيی گـػَؼ‪ .‬ثُبثـایٍ اَتغبة یک نٕفی امت کّ یک َوّٖ تًَیى گیـی ؿا ثـ پبیّ ىـایٔ صلبٕتی يًکٍ َيبٌ يی‬ ‫ػْؼ‪.‬‬

‫‪43‬‬

‫‪www.ParsBook.org‬‬


‫حالت ُای هرکة ‪:‬‬ ‫پیو اف ایٍ يب ثب صبنت ْبی مبػِ ای کبؿ يیکـػیى‪ .‬یک صبنت مبػِ يخم ایٍ امت کّ چّ چیقی چّ ٍؼایی ػاؿػ ‪،‬‬ ‫ایٍ ْب ْیچ فیـ صبنتی ؿا َؼاؿَؼ ‪ ،‬آَٓب ثّ تُٓبیی ٔرٕػ ػاؿَؼ‪ .‬ػؿ مٕی ػیگـ یک صبنت يـکت ىبيم صبنت ْبی ػیگـ‬ ‫امت ‪ ،‬ىًب يی تٕاَیؼ كکـ کُیؼ یک صبنت يـکت يبَُؼ یک صبنت کهی امت کّ اف یک یب چُؼیٍ صبنت عبً ایزبػ‬ ‫ىؼِ امت ٔ ایٍ چُؼیٍ صبنت عبً کّ ػؿٌٔ صبنت کهی هـاؿ ػاؿَؼ فیـ صبنت ( ‪َ )Sub State‬بيیؼِ يی ىَٕؼ‪.‬‬

‫ثّ ػُٕاٌ يخبل ‪ ،‬ػؿيٕؿػ یک يبىیٍ نجبك ىٕئی ‪ ،‬يبىیٍ نجبك ىٕئی یک صبنت ػاؿػ کّ "ػؿ صبل کبؿ"( ‪)Running‬‬ ‫َبيیؼِ يی ىٕػ ٔنی کبؿ کـػٌ كؤ یک صبنت مبػِ َینت ‪ ،‬ایٍ یک تؼؼاػی اف فیـ صبنت ْب کّ آٌ ؿا ایزبػ يی کُ​ُؼ‬ ‫ؿا ىبيم يی ىٕػ‪.‬‬

‫ثـای يخبل فیـ صبنت ْب ثـای یک يبىیٍ نجبك ىٕئی ػؿ صبل کبؿ يی تٕاَؼ ىبيم پـ کـػٌ ثب آة ‪ ،‬ىنتٍ ‪،‬‬ ‫آثکيی ‪ ،‬عيک کـػٌ ثبىؼ‪ .‬ثُبثـایٍ صبنت صبنت کبؿ کـػٌ اف ایٍ چٓبؿ فیـ صبنت تيکیم ىؼِ امت ٔ صبنت کبؿ‬ ‫اػايّ پیؼا يی کُؼ ٔهتی کّ ْـ یک اف ایٍ چٓبؿ فیـ صبنت اتلبم ثیبكتؼ ٔ صبنت کبؿ کـػٌ تب فيبَی کّ ایٍ چٓبؿ صبنت‬ ‫تًبو َيٕػ پبیبٌ ًَی یبثؼ‪ٔ .‬هتی ىًب اف یک صبنت يـکت ػؿ یک ػیبگـاو صبنت امتلبػِ يی کُیؼ ثٓتـ امت کّ ػؿ‬

‫‪44‬‬

‫‪www.ParsBook.org‬‬


‫اثتؼا اف یک ىجّ صبنت آؿبفیٍ امتلبػِ کُیؼ تب َيبٌ ػْیؼ ْـ یک اف ایٍ چٓبؿ فیـ صبنت يی تٕاَُؼ صبنت آؿبفیٍ‬ ‫ثبىُؼ ٔ ٔ مپل ىًب يی تٕاَیؼ اَتوبل ْبیی يیبٌ ایٍ صبنت ْب یب فیـ صبنت ْب تـمیى کُیؼ‪ .‬تٕرّ ػاىتّ ثبىؼ‬ ‫ؿٔىی کّ ثب آٌ ایٍ ػیبگـاو تُظیى ىؼِ امت ثّ ایٍ ىکم امت ایٍ صبنت ْب ثّ ٍٕؿت پيت مـ ْى ؿط يی‬ ‫ػُْؼ ‪ ،‬ىنتيٕ تب فيبَی کّ صبنت پـ کـػٌ ثب آة کبيم َيٕػ ىـٔع ًَی ىٕػ‪ٔ .‬هتی ىنتيٕ تًبو يی ىٕػ‬ ‫آثکيی يی تٕاَؼ ىـٔع ىٕػ ‪ٔ ،‬هتی آثکيی اَزبو ىؼ مپل عيک کـػٌ يی تٕاَؼ ىـٔع ىٕػ ‪ ،‬ثُبثـایٍ ایٍ‬ ‫ْب ًَی تٕاَُؼ ثّ ٍٕؿت ًْقيبٌ ؿط ػُْؼ ‪ ،‬آَٓب ثّ ٍٕؿت پيت مـ ْى اَزبو يی ىَٕؼ ‪ ،‬پـ کـػٌ ثب آة آؿبف يی‬ ‫ىٕػ ٔ ٔهتی تًبو يی ىٕػ يب يی تٕاَیى ثّ صبنت ثؼؼی صـکت کُیى ٔ ؿیـِ ‪ٔ .‬هتی تًبو صبنت ْب اَزبو ىؼَؼ ‪،‬‬ ‫صبنت کبؿ کـػٌ یؼُی ًْبٌ صبنت يـکت کّ آَٓب ؿا ػؿ عٕػ ربی ػاػِ امت َیق عبتًّ يی یبثؼ ثُبثـایٍ يب يی تٕاَیى‬ ‫ػاليت صبنت پبیبَی ؿا عبؿد اف صبنت يـکت هـاؿ ػْیى ٔ یک پیکبَی يخم ایٍ ؿا ؿمى کُیى‪.‬‬

‫ًْبَگَّٕ کّ يٍ گلتى ٔهتی تًبو ایٍ فیـ صبنت ْب تًبو ىَٕؼ صبنت کبؿ کـػٌ َیق عبتًّ يی یبثؼ‪ٔ .‬هتی ىًب ثب یک‬ ‫صبنت يـکت کبؿ يی کُیؼ چّ اتلبهی يی اكتؼ ‪ ،‬کؼاو فیـ صبنت ْب َی تٕاَُؼ ثّ ٍٕؿت ًْقيبٌ ؿط ػُْؼ ‪ ،‬آیب يی‬ ‫تٕاَُؼ ثب ْى ؿط ػُْؼ؟ ایٍ یک َٕع عبٍی اف صبنت يـکت امت ىٕػ کّ یک"صبنت هبئى" ( ‪َ )Orthogonal State‬بيیؼِ‬ ‫يی ىٕػ ٔ ىًب یک صبنت هبئى ؿا يخم ایٍ َيبٌ يی ػْیؼ‪ .‬يب ػمتّ ثُؼی صبنت ػاؿیى ٔنی امٍ ثّ َٕاصی ای ثب‬ ‫عٔ َوّٖ چیٍ تونیى ثُؼی ىؼِ امت ثُبثـایٍ ىًب يی تٕاَیؼ فیـ صبنت ْب ؿا ػؿ َٕاصی هـاؿ يی ػْیؼ ٔ ؿیـِ‪.‬‬ ‫پل ٔهتی ىًب ایٍ َوّٖ چیٍ ؿا ػؿ ػمتّ ثُؼی صبنت يـکت عٕػ ػیؼیؼ ایٍ یک َيبَّ امت کّ ایٍ فیـ صبنت ْب‬ ‫يی تٕاَُؼ ثّ ٍٕؿت ًْقيبٌ ؿط ػُْؼ‪ .‬پل یک يخبل اف ایٍ يٕؿػ يی تٕاَؼ ثـای یک آژیـ ػفػ ثبىؼ‪ .‬اگـ يب صبنت‬ ‫ىُبمبیی ػفػی ؿا ػؿیبكت کـػیى يب ثبیؼ ٍؼای آژیـ ؿا ثّ ٍؼا ػؿ ثیبٔؿیى ٔ يب ثبیؼ إالػبتی ؿا ثـای پهیل ٔ يـکق‬ ‫آژاَل ايُیت ٔ ؿیـِ اؿمبل کُیى‪ .‬يب ًَی عٕاْیى هجم اف ایٍ کّ إالػبت ؿا اؿمبل کُیى ٍجـ کُیى تب آژیـ عبيٕه‬ ‫ىٕػ‪ .‬يب يی عٕاْیى ایُٓب ثّ ٍٕؿت ًْقيبٌ اَزبو ىَٕؼ ٔ ایٍ چیقی ثٕػ کّ ػؿ ایٍ ػیبگـاو صبنت ثّ ىًب َيبٌ‬ ‫ػاػِ ىؼ ‪ ،‬ایٍ یک صبنت هبئى ( ‪ )Orthogonal State‬امت کّ يی تٕاٌ ػٔ فیـ صبنت ؿا ثّ ٍٕؿت ًْقيبٌ ارـا کـػ‪.‬‬

‫‪45‬‬

‫‪www.ParsBook.org‬‬


‫شثَِ حالت ُای اًشعاب ّ پیًْذ ‪:‬‬

‫ىًب يًکٍ اَيؼبة یب پیَٕؼ ؿا ػؿ ْـ ػٔی ػیبگـاو ْبی صبنت ٔ كؼبنیت ( ‪ )Activity & State‬ثیبثیؼ‪ .‬ػؿ ػیبگـاو ْبی‬ ‫كؼبنیت اَيؼبة ٔ پیَٕؼ "گـِ" ( ‪َ )Node‬بيیؼِ يی ىٕػ‪ .‬ػؿ ػیبگـاو ْبی صبنت اَيؼبة ٔ پیَٕؼ ىجّ صبنت يٖـس‬ ‫ىؼِ اَؼ ثـای ایُکّ آَٓب یک صبنت ٔاهؼی اف یک ىئ َینتُؼ ‪ ،‬ثهکّ چیقی ٔرٕػ ػاؿػ کّ ثبػج يی ىٕػ ػؿ ٕی یک‬ ‫اَتوبل اف یک ىئ اتلبهی ؿط ػْؼ تب اف یک صبنت ثّ صبنت ثؼؼی ثـمیى‪ .‬اَيؼبة ٔ پیَٕؼ ثٕمیهّ يیهّ ای میبِ ؿَگ‬ ‫ًَبیو ػاػِ يی ىَٕؼ ٔ آَٓب ْى يی تٕاَُؼ ثّ ٍٕؿت ػًٕػی ًْبَگَّٕ کّ ػؿ ایُزب يی ثیُیؼ ٔ ْى ثّ ٍٕؿت اكوی‬ ‫هـاؿ ثگیـَؼ کّ اگـ ثب اَيؼبة مـٔکبؿ ػاؿیى یک اَتوبل ٔؿٔػی ٔ یک یب چُؼ اَتوبل عـٔری ػاؿیى‪ .‬اگـ ىًب ثب یک پیَٕؼ‬ ‫مـٔکبؿ ػاؿیؼ ىًب یک یب چُؼ اَتوبل ثّ ٍٕؿت ٔؿٔػی ٔ یک اَتوبل ثّ ٍٕؿت عـٔری ػاؿیؼ‪ًْ ٔ .‬بَُؼ ػیبکـاو ْبی‬ ‫كؼبنیت ػؿ یک پیَٕؼ ْـ ػٔی ایٍ صبنت ْب ثبیؼ هجم اف ایُکّ ثتٕاَیؼ ثّ صبنت ثؼؼی يُتوم ىٕیؼ ػـّ​ّ ىَٕؼ‪ .‬ایٍ‬ ‫ييبثّ صبنت يـکت هبئى کّ يب هجال ػؿ يٕؿػ آٌ ثـای مینتى آژیـ ػفػ ٔ صبنت ىُبمبیی ػفػی ٍضجت کـػیى ‪ْ ،‬ـ‬ ‫ػٔی ایٍ صبنت ْب (اَيؼبة ٔ پیَٕؼ) يی تٕاَُؼ ثّ ٍٕؿت ًْقيبٌ اَزبو ثگیـَؼ‪ .‬آژیـ ؿٔىٍ امت ٔ مینتى پیـبيی‬ ‫ؿا اؿمبل يی کُؼ کّ ْى اکٌُٕ یک ػفػی ىُبمبیی ىؼ ‪ ،‬ثُبثـایٍ ْـ ػٔی ایُٓب ‪ ،‬یؼُی ایٍ ػٔ صبنت ثّ ٍٕؿت‬ ‫ًْقيبٌ ثّ ٍٕؿت هنًتی صبنت ىُبمبیی ػفػی ثب ْى ؿط يی ػُْؼ‪ .‬پل يب یک اَيؼبة ٔ یک پیَٕؼ ؿا ثـای‬ ‫ًَبیو ایٍ يّٕٕع اّلّ يی کُیى‪.‬‬

‫ایٍ يؼُی ًْقيبَی هٕی تـی ؿا يی ػْؼ ‪ ،‬يب ىجّ صبنت آؿبفیٍ ؿا ػاؿیى ‪ ،‬يب ایٍ ػٔ (آژیـ ؿٔىٍ ٔ اؿمبل إالػبت)‬ ‫فیـ صبنت ؿا ثـای صبنت يـکت ىُبمبیی ػفػی ؿا ػاؿیى ٔ اَيؼبة ػؿ ایُزب ثّ يب َيبٌ يی ػْؼ کّ ػؿ ٔاهغ ایُٓب ثّ‬ ‫ٍٕؿت ًْقيبٌ ؿط يی ػُْؼ‪ .‬آژیـ ؿٔىٍ امت ٔ ثؼؼ اف ‪ 10‬ػهیوّ اگـ آژیـ ُْٕف ؿٔىٍ امت مینتى آژیـ ؿا عبيٕه‬ ‫يی کُؼ ‪ ٔ ،‬ثّ صبنت آژیـ عبيٕه يی ؿٔػ ‪ٔ ،‬هتی ْـ ػٔ صبنت ْبی آژیـ عبيٕه ٔ اؿمبل إالػبت ثّ ٕ​ٕؿ کبيم ؿط‬ ‫ػاػ مپل مینتى يی تٕاَؼ ثّ صبنت ؿاِ اَؼافی يزؼػ ( ‪ )Reset‬ثـگـػػ‪ .‬ایٍ ًَی تٕاَؼ ثّ صبنت اثتؼایی ثـٔػ اگـ‬ ‫ْى اکٌُٕ إالػبت اؿمبل ىؼِ ثبىؼ ٔ آژیـ ُْٕف ؿٔىٍ ثبىؼ ‪ ،‬يب ثبیؼ ثّ صبنت آژیـ عبيٕه ثـٔیى هجم اف ایُکّ‬ ‫مینتى ؿا ؿاِ اَؼافی يزؼػ کُیى ٔ مپل ثّ صبنت ػیؼِ ثبَی ثـٔػ کّ ػؿ ایٍ ػیبگـاو مبػِ يی تٕاَؼ صبنت پبیبَی‬ ‫ثبىؼ‪ .‬پل ىًب ػیؼیؼ کّ ىجّ صبنت ْبی اَيؼبة ٔ پیَٕؼ يب چگَّٕ ثـعی إالػبت اّبكی ؿا اّبكّ يی کُؼ ‪،‬‬ ‫أنیٍ ایٍ ثٕػ کّ ْـ ػٔی ایُٓب ػؿ یک فيبٌ ؿط يی ػُْؼ ٔ مپل ْـ ػٔی ثبیؼ صبٍم ىَٕؼ هجم اف ایٍ کّ ىجّ‬ ‫صبنت ثتٕاَؼ ثّ صبنت ؿاِ اَؼافی يزؼػ ثـٔیى ٔ ثّ صبنت ثؼؼی ثـمیى‪ .‬پل ػٔثبؿِ يی گٕئیى کّ ىجّ صبنت ْب ‪،‬‬ ‫صبنت ْبی ٔاهؼی اف یک يبىیٍ َینتُؼ ٔنی چیقی کّ آَٓب اف یک رٓت اَزبو يی ػُْؼ ‪ ،‬تکّ تکّ کـػٌ اَتوبل ْب‬ ‫يیبٌ صبنت ْبی ٔاهؼی امت‪.‬‬

‫‪46‬‬

‫‪www.ParsBook.org‬‬


‫ًماط ّرّدی ّ خرّجی شثَِ حاالت ‪:‬‬ ‫ٔهتی یک صبنت تـکیجی ؿا کّ فیـ صبالتو ثّ تـتیت اتلبم يی اكتُؼ‪ ،‬يؼل يی کُیؼ‪ًْ ،‬یيّ اف ىجّ صبنت أنیّ‬ ‫ثـای ًَبیو ایُکّ کؼاو صبنت أل اتلبم يی اكتؼ امتلبػِ يی کُیؼ‪ ،‬اگـچّ گبْی أهبت ايکبٌ ٔؿٔػ یک صبنت‬ ‫تـکیجی یب یک فیـ صبنت اف چُؼیٍ َوّٖ ٔرٕػ ػاؿػ‪.‬‬

‫َوّٖ ٔؿٔػی ىجّ صبنت ايکبٌ ًَبیو ػیگـ َوبٓ ٔؿٔػی ٔ ػجٕؿ ؿا كـاْى يی آٔؿػ‪ .‬ػؿ ایٍ يخبل یک صبنت تـکیجی‬ ‫ثـای يبىیٍ نجبميٕیی ػاؿیى کّ ثّ آٌ صبنت کبؿ کـػٌ ( ‪ )Running‬يی گٕییى‪ .‬ػؿ ایُزب ىجّ صبنت اثتؼایی ٔ‬ ‫ال ػیؼیى يخم ىنتٍ‪ ،‬آثکيی‪ ،‬چالَؼٌ ٔ صبنت َٓبیی‪ .‬ثؼْی اف يبىیٍ ْبی‬ ‫فیـصبنت ْبیی اتلبم يی اكتُؼ کّ هج ً‬ ‫نجبميٕیی اثتؼا ػًم عیل کـػٌ نجبك ؿا اَزبو يی ػُْؼ نؾا اگـ ثغٕاْیى یک فیـ صبنت ثب َبو عیل کـػٌ نجبك‬ ‫ثنبفیى‪ ،‬يی تٕاَیى آٌ ؿا ثّ ػُٕاٌ یک َوّٖ ٔؿٔػی اعتیبؿی ثـای صبنت کبؿ کـػٌ يبىیٍ نجبميٕیی ػؿ َظـ گـكتّ ٔ‬ ‫ثب امتلبػِ اف ًَبػ َوّٖ ٔؿٔػی کّ ثّ ىکم یک ػایـِ تٕ عبنی امت ًَبیو ػْیى‪ .‬يب َبو آٌ ؿا اَتغبة ػًم عیل‬ ‫کـػٌ يی َبيیى کّ انجتّ ػنیهی کّ ىًب َوّٖ ٔؿٔػی عٕػ ؿا َبو گؾاؿی يی کُیؼ ایٍ امت کّ ييغٌ کُیؼ ٕجن‬ ‫چّ ىـایٖی اف ایٍ َوّٖ ٔؿٔػی اعتیبؿی ثّ ربی َوّٖ ٔؿٔػی اٍهی امتلبػِ يی کُیؼ‪ .‬ػؿ صبنت ػبػی ػؿ ُْگبو‬ ‫ىـٔع اف َوّٖ ٔؿٔػی اٍهی (ػایـِ ييکی تٕ پـ) يب ثب صبنت ىنتٍ ىـٔع يی کُیى ٔ تضت ایٍ ىـایٔ (یؼُی‬ ‫ػًم عیل کـػٌ نجبك) يب اف صبنت عیل کـػٌ ىـٔع عٕاْیى کـػ ٔ ثـای ًَبیو آٌ اف یک عٔ امتلبػِ يی کُیى‪.‬‬ ‫یک عٔ اف عیل کـػٌ ثّ فیـ صبنت ثؼؼ یؼُی ىنتٍ يی کيیى‪ .‬نؾا ًْبَٖٕؿ کّ يی ثیُیؼ ػٔ ؿاِ ثـای ٔؿٔػ ثّ‬ ‫صبنت تـکیجی کبؿکـػٌ يبىیٍ نجبميٕیی ٔرٕػ ػاؿػ‪ .‬ىًب ًْچُیٍ يی تٕاَیؼ اف َوّٖ ٔؿٔػی اٍهی (ػایـِ ييکی‬ ‫تٕ پـ) ٔاؿػ ىٕیؼ‪ ،‬کّ يب آٌ ؿا ثّ ػُٕاٌ ػایـِ ػبػی يی ىُبمیى فیـا ىجّ صبنت اثتؼایی ىنتٍ‪ ،‬آثکيی ٔ چالَؼٌ‬ ‫ؿا رق صبنت پیو كـُ ػؿ َظـ يی گیـػ ٔ يب يی تٕاَیى اف ٕـین ٔؿٔػی اَتغبة ػًم عیل کـػٌ ثّ فیـ صبنت عیل‬ ‫کـػٌ ؿكتّ مپل ثّ ىنتٍ‪ ،‬آثکيی ٔ چالَؼٌ ثـٔیى‪ .‬ثیبػ ػاىتّ ثبىیؼ کّ اگـ اف َوّٖ ٔؿٔػی ىجّ صبنت امتلبػِ‬ ‫يی کُیؼ صتًبً آٌ ؿا َبو گؾاؿی کُیؼ‪ .‬اف ٕـكی يی تٕاٌ ثیو اف یک َوّٖ عـٔری ؿا َيبٌ ػاػ‪ .‬يًکٍ امت ثتٕاٌ‬ ‫یک صبنت تـکیجی ؿا اف ٕـین چُؼیٍ فیـ صبنت تـک کـػ‪ .‬ػؿ ایُزب يخبنی اف یک کبؿٔاه ػاؿیى کّ صبنت پیو كـُ ٔ‬ ‫ػبػی تـتیت فیـ صبنت ْب ىنتٍ‪ ،‬آثکيی کـػٌ ٔ ثـم اَؼاعتٍ ( ‪ ٔ )Waxing‬مپل عـٔد اف صبنت کبؿ کـػٌ‬ ‫(‪ )Running‬کبؿٔاه يی ثبىؼ‪ .‬انجتّ یک َٕع ػیگـ ىنتٍ يبىیٍ ٔرٕػ ػاؿػ کّ َبو آٌ ؿا ىنتٍ يوـٌٔ ثّ ٍـكّ‬ ‫(‪ )Economic Wash‬يی گؾاؿیى ٔ ىًب يی تٕاَیؼ كؤ صبنت ْبی ىنتٍ ٔ آثکيی کـػٌ ؿا ػاىتّ ثبىیؼ‪.‬‬

‫‪47‬‬

‫‪www.ParsBook.org‬‬


‫نؾا يب آثکيی ؿا یک َوّٖ عـٔری ثّ ایٍ ىکم ػؿ َظـ يی گیـیى‪ ،‬کّ ًَبػ آٌ یک ػایـِ يی ثبىؼ کّ ػاعم آٌ یک‬ ‫ػاليت ّـثؼؿ (‪ )X‬امت ٔ ػهیوبً ًْبَٖٕؿ کّ َوّٖ ٔؿٔػی عٕػ ؿا َبو گؾاؿی کـػیؼ‪َ ،‬یبف ػاؿیؼ کّ َوّٖ عـٔری ؿا ْى‬ ‫َبو گؾاؿی کُیؼ ٔ َيبٌ ػْیؼ کّ تضت چّ ىـایٖی اف ایٍ َوّٖ عـٔری اعتیبؿی ثّ ربی َوّٖ عـٔد اٍهی ٔ پیو‬ ‫كـُ امتلبػِ يی کُیؼ‪ .‬نؾا ثب امتلبػِ اف یک عٔ صبنت آثکيی ؿا َوّٖ عـٔد ‪ٍٔ EconoWash‬م يی کُیى‪ .‬ثُبثـایٍ‬ ‫صبنت پیو كـُ يب ىبيم ىنتٍ‪ ،‬آثکيی کـػٌ ٔ ثـم اَؼاعتٍ ٔ ػؿ َٓبیت عبؿد ىؼٌ اف صبنت تـکیجی امت ٔ‬ ‫صبنت ىنتٍ يوـٌٔ ثّ ٍـكّ يب كؤ ىبيم ىنتٍ‪ ،‬آثکيی کـػٌ امت‪َ .‬وبٓ ٔؿٔػی ٔ عـٔری ثّ ىًب اَؼٖبف‬ ‫پؾیـی فیبػی ػؿ ػیبگـايٓبیتبٌ يی ػُْؼ‪ .‬ػؿ َتیزّ يی تٕاَیؼ ّٔؼیت ْب ٔ ىـایٖی ثّ رق ّٔؼیت پیو كـُ کّ‬ ‫يًکٍ امت ػؿ ٔؿٔػ ثّ صبنت تـکیجی یب عـٔد اف آٌ اتلبم ثیلتؼ‪َ ،‬يبٌ ػْیؼ‪.‬‬

‫ساتمَ عویك ّ سطحی شثَِ حاالت ‪:‬‬ ‫ػؿ ایٍ يوبنّ ‪ ،‬ثّ َٕع ػیگـی اف ىجّ صبنت یؼُی ىجّ صبنت مبثوّ ای َگبْی عٕاْیى اَؼاعت‪ .‬ىجّ صبالت مبثوّ‬ ‫ای َٕػی ْنتُؼ کّ ىجیّ َيبَّ گؾاؿی کتبة‪ ،‬صبالت گؾىتّ ؿا ثیبػ يی آٔؿَؼ‪ .‬نؾا اگـ ٔهلّ ای ػؿ یک صبنت‬ ‫تـکیجی ایزبػ ىٕػ (صبنت تـکیجی يُوٖغ ىٕػ)‪ ،‬ىجّ صبنت مبثوّ ای ايکبٌ ثبفگيت ثّ یک فیـ صبنت َيبَّ‬ ‫گؾاؿی ىؼِ ؿا يی ػْؼ‪ .‬ػٔ َٕع ىجّ صبنت مبثوّ ای ٔرٕػ ػاؿػ‪ :‬مٖضی ٔ ػًین‪ .‬ثبف ْى ىجیّ َيبَّ گؾاؿی‬ ‫کتبة‪ ،‬ىجّ صبنت مبثوّ ای ػًین‪ ،‬ىًب ؿا ثّ ٍلضّ اف کتبة کّ ػؿ آٌ ثٕػیؼ ثـ يی گـػاَؼ ػؿ صبنی کّ ىجّ صبنت‬ ‫مبثوّ ای مٖضی ىًب ؿا ثّ أل آٌ كَم ثـ يی گـػاَؼ‪ .‬ثّ ػجبؿت ػیگـ مبثوّ ای ػًین ایٍ ىًب ؿا ثّ َقػیکتـیٍ‬ ‫فیـ صبنت ثـ يی گـػاَؼ ٔ يٓى َینت کّ ػؿ چّ ػًوی اف صبنت تـکیجی هـاؿ ػاؿػ‪ .‬مبثوّ ی مٖضی ىًب ؿا ثّ‬ ‫ػٔؿتـیٍ صبنت (یب فیـ صبنت اثتؼایی) ثـ يی گـػاَؼ‪.‬‬

‫ثـای يخبل َگبْی ثّ يؼل کـػٌ یک ػمتگبِ پغو ‪ DVD‬يی اَؼافیى‪ .‬ػؿ صبنت تـکیجی کبؿ کـػٌ ( ‪ )Running‬ثـای‬ ‫ػمتگبِ پغو ‪ ،DVD‬فیـ صبنتٓبیی ثب ػُٕاٌ عٕاَؼٌ‪ ،‬اَتظبؿ ٔ پغو کـػٌ ػاؿیى‪ .‬ؿٔیؼاػ عبيٕه کـػٌ يٕرت عـٔد يب‬

‫‪48‬‬

‫‪www.ParsBook.org‬‬


‫اف صبنت کبؿکـػٌ ثّ صبنت عبيٕه کّ آعـیٍ صبنت يبمت‪ ،‬يی ىٕػ‪ .‬اگـ ػؿ صبنت کبؿکـػٌ ثّ یکجبؿِ ثـم ػمتگبِ‬ ‫هٖغ ىٕػ چّ اتلبهی يی اكتؼ؟‬

‫ؿٔیؼاػ عبيٕه ىؼٌ ػمتگبِ َّ‪ ،‬هٖغ ثـم‪ .‬اربفِ ثؼْیؼ یک صبنت ثب َبو ثؼٌٔ ثـم ایزبػ کُیى ٔ یک عٔ اف صبنت‬ ‫کبؿکـػٌ ثّ صبنت ثؼٌٔ ثـم ٍٔم کـػِ ٔ آٌ ؿا هٖغ ثـم ثُبيیى‪ .‬نؾا ػؿ يوبثم ؿٔیؼاػ عبيٕه ىؼٌ (ػؿ تْبػ ثب ؿٔیؼاػ‬ ‫عبيٕه ىؼٌ)‪ ،‬ؿٔیؼاػ هٖغ ثـم هـاؿ ػاؿػ‪ .‬اگـ اف مبثوّ ای مٖضی امتلبػِ يی کُیؼ ثب یک ػایـِ ٔ صـف ‪ H‬ػؿ‬ ‫ػاعم آٌ ًَبیو ػاػِ يی ىٕػ‪ .‬ػؿ ُْگبو امتلبػِ اف ىجّ صبنت مبثوّ ای مٖضی فيبَی کّ ثـم ػٔثبؿِ ٍٔم‬ ‫ىؼ‪ ًّْ ،‬چیقْب ثّ صبنت أنیّ یب أنیٍ فیـ صبنت ػؿٌٔ صبنت تـکیجی ثـ يی گـػػ‪ .‬نؾا ػمتگبِ ثّ صبنت عٕاَؼٌ ٔ‬ ‫مپل ثّ صبنت اَتظبؿ ٔ ُْگبيی کّ یک ؿٔیؼاػ ؿا ػؿیبكت کـػ‪ ،‬ثّ صبنت پغو عٕاْؼ ؿكت ٔ ًْیٍ ٕ​ٕؿ انی آعـ‪.‬‬ ‫مبثوّ ی مٖضی ًّْ چیق ؿا ثّ أنیٍ فیـ صبنت ٔ ػؿ ٔاهغ ثّ ػٔؿتـیٍ فیـ صبنت ػؿ صبنت تـکیجی ثـ يی گـػاَؼ‪ .‬ػؿ‬ ‫صبنی کّ مبثوّ ای ػًین کّ ثب یک ػایـِ ٔ ‪ *H‬ػؿ ػاعم آٌ َيبٌ ػاػِ يی ىٕػ‪ُْ ،‬گبيی کّ ثـم ػٔثبؿِ ٍٔم ىؼ‬ ‫ثّ ربی ایُکّ ىًب ؿا ثّ ػٔؿتـیٍ فیـ صبنت ثـگـػاَؼ‪ ،‬ثّ فیـ صبنتی کّ ُْگبو هٖغ ثـم كؼبل ثٕػ ْؼایت يی کُؼ‪ .‬ثـای‬ ‫يخبل ُْگبيی کّ ػؿ صبل تًبىبی یک يوبنّ ْنتیؼ‪ ،‬مبثوّ ای ػًین ىًب ؿا ثّ ًْبٌ ربیی اف يوبنّ ثـ يی‬ ‫گـػاَؼ کّ ثـم هٖغ ىؼ‪ .‬ثُبثـایٍ مبثوّ ای ػًین يی تٕاَؼ ىًب ؿا ثّ ْـ فیـ صبنتی ػؿ صبنت تـکیجی کّ ؿٔیؼاػ‬ ‫هٖغ ثـم اتلبم اكتبػ ثـگـػاَؼ‪ .‬ػؿ َٓبیت الفو ثّ یبػآٔؿی امت کّ ىجّ صبنت مبثوّ ای ًْبَُؼ َيبَّ گؾاؿی یک‬ ‫کتبة ػًم يی کُؼ‪ ،‬مبثوّ ای مٖضی ىًب ؿا ثّ فیـ صبنت اثتؼایی ٔ مبثوّ ای ػًوی ىًب ؿا ثّ فیـ صبنتی کّ‬ ‫ُْگبو ٔهٕع ٔهلّ كؼبل ثٕػ ثـ يی گـػاَؼ‪.‬‬ ‫هاشیي ُای حالت لراردادی ‪:‬‬ ‫ًْبَٖٕؿ کّ ػیؼیؼ يبىیٍ ْبی صبنت ؿكتبؿی ]الفو ثّ ؽکـ امت کّ ػٔ َٕع يبىیٍ ْبی صبنت يٕؿػ ثـؿمی هـاؿ‬ ‫عٕاُْؼ گـكت‪ -1 :‬ؿكتبؿی ‪ -2‬هـاػاػی[‪ ،‬ؿكتبؿ ثـعی اف انًبَٓب يخم یک ىی یب یک کالك ؿا تضت ىـایٖی عبً‬ ‫َيبٌ يی ػْؼ‪ .‬يبىیٍ ْبی صبنت هـاؿػاػی ؿا َیق يی تٕاَیؼ ثّ ًْیٍ ىکم يؼل کُیؼ‪ .‬ثزبی يؼل کـػٌ ؿكتبؿ یک‬ ‫انًبٌ‪ ،‬يبىیٍ ْبی صبنت هـاؿػاػی تـتیجی اف صبنت ْب ٔ تـییـ صبنت ْب (کّ ثب عٔ یب كهو ًَبیو ػاػِ يی ىَٕؼ)‬ ‫ؿا َيبٌ يی ػُْؼ‪ .‬نؾا تـتیجی اف ؿٔیؼاػْب ٔ صبنتٓبیی کّ ثّ ػهت آٌ ؿٔیؼاػْب اتلبم يی اكتُؼ ؿا يی ثیُؼ َّ ؿكتبؿ‬ ‫انًبٌ ْب ؿا‪.‬‬

‫یؼُی يبىیٍ ْبی صبنت هـاؿػاػی ‪ ،‬كؼبنیت انًبٌ ْب ؿا ؿٔی عٖٕٓ تـییـ صبنت یب ػؿٌٔ ينتٖیم ْبی صبنت (ًَبػ‬

‫‪49‬‬

‫‪www.ParsBook.org‬‬


‫ًَبیو یک صبنت) َيبٌ ًَی ػْؼ‪ .‬نؾا ػؿ يبىیٍ ْبی صبنت هـاؿػاػی كؼبنیتٓبی ٔؿٔػی ٔ عـٔری پیؼا َغٕاْیؼ‬ ‫کـػ‪ًْ .‬بَٖٕؿ کّ ػؿ يبىیٍ ْبی صبنت ؿكتبؿی ؿٔی عٖٕٓ تـییـ صبنت ‪ Activity ٔ ،Guard ،Trigger‬يی َٕىتیؼ‪ ،‬ػؿ‬ ‫ایُزب ثّ ربی آَٓب ایٍ گَّٕ ػًم يی کُیى کّ ؿٔی عٖٕٓ تـییـ صبنت ثّ كـو فیـ ثـچنت يی َٕینیى‪:‬‬ ‫[‪ ]Precondition] Event/ [PostCondition‬کّ ػجبؿات ػاعم کـٔىّ اعتیبؿیُؼ‪ْ .‬ـگبِ ػؿ صبل َٕىتٍ یک يبىیٍ صبنت‬ ‫هـاؿػاػی ْنتیؼ‪ ،‬کم ػیبگـايتبٌ ؿا ػؿٌٔ یک ينتٖیم هـاؿ ػْیؼ کّ ػؿ ثبالی مًت چپ آٌ‪َ ،‬بو ػیبگـاو ٔ ػؿ کُبؿه‬ ‫ػؿٌٔ یک آکٕالػ کهًّ کهیؼی ‪َٕ Protocol‬ىتّ ىؼِ ثبىؼ‪ .‬ایٍ ػًم ثیبَگـ آٌ امت کّ يبىیٍ صبنتی کّ ًَبیو‬ ‫يی ػْیؼ یک يبىیٍ صبنت اف َٕع هـاؿػاػی امت‪ .‬اربفِ ػْیؼ َگبْی مـیغ ثّ یک يخبل ػاىتّ ثبىیى‪ .‬ایٍ یک‬ ‫يبىیٍ صبنت هـاؿػاػی امت کّ مبػِ ىؼِ یک پـٔتکم اَتوبل امت‪ .‬ىًب يی تٕاَیؼ یک مـی اف صبنت ْب يخم‬ ‫ثنتّ ىؼٌ (‪ ،)Closed‬گٕه ػاػٌ‪ًْ ،‬نبٌ مبفی‪ ،‬ػؿیبكت ٔ اَتيبؿ ٔ ًْچُیٍ عٖٕٓ اَتوبل صبنت ثیٍ ؿا َیق‬ ‫ييبْؼِ کُیؼ‪ .‬تٕرّ ػاىتّ ثبىیؼ کّ ػؿ ایٍ يخبل كؤ َبو صبنت ؿا َٕىتیى ٔ ْیچ َٕع كؼبنیت ػؿَٔی َؼاؿیى‪ْ .‬یچ‬ ‫َٕع كؼبنیت ٔؿٔػی ٔ عـٔری َیق ٔرٕػ َؼاؿػ ٔ عٖٕٓ تـییـ صبنت ْى ثنیبؿ مبػِ َبو گؾاؿی ىؼِ اَؼ‪ .‬نؾا چیقی کّ‬ ‫ایٍ ىکم َيبٌ يی ػْؼ تـتیجی يُظى اف صبنت ْب ٔ عٖٕٓ ثیٍ آَٓبمت‪ .‬تٕرّ کُیؼ کّ هـاؿ َینت يبىیٍ صبنت‬ ‫هـاؿػاػی پیبػِ مبفی ىَٕؼ‪ ،‬ايب ثّ مبػگی تـتیت صبنت ٔ عٖٕٓ ثیٍ آَٓب ؿا ًَبیو يی ػُْؼ‪ .‬نؾا يبىیٍ ْبی‬ ‫صبنت هـاؿػاػی ييبثّ ٔامٔ ْب ػًم يی کُ​ُؼ ٔ ایٍ ػنیهی امت کّ ىًب يی عٕاْیؼ اف آَٓب (يبىیٍ ْبی صبنت‬ ‫هـاؿػاػی) امتلبػِ کُیؼ‪.‬‬

‫ًوادُای پایَ ُای دیاگراهِای فعالیت ‪:‬‬ ‫ػیبگـاو كؼبنیت اتلبهبتی ؿا کّ ػؿ ٕ​ٕل یک پـٔمّ یب ػًهکـػ ؿط يی ػْؼ ؿا ًَبیو يی ػْؼ‪ .‬ػیبگـاو كؼبنیت ىجیّ‬ ‫ًَٕػاؿ رـیبٌ امت‪ .‬پل اگـ ىًب ثب ًَٕػاؿ رـیبٌ کبؿ کـػِ ثبىؼ‪ ،‬إالػبت أنیّ ؿارغ ثّ آٌ ؿا ػاؿیؼ‪ .‬ىًب يًکٍ‬ ‫امت اف ػیبگـاو كؼبنیت ثـای اکتيبف یک پـٔمّ کبؿی‪ ،‬یک پـٔمّ َـو اكقاؿی‪ ٔ ،‬ایُکّ چّ اتلبهی ػؿ یک ‪Use Case‬‬ ‫عبً یب ػؿ يیبٌ چُؼ ‪ Use Case‬يی اكتؼ‪ ،‬امتلبػِ کُیؼ‪ .‬ػؿ ایُزب یک يخبل ثنیبؿ مبػِ اف ًَٕػاؿ كؼبنیت ثـای ىًب‬ ‫آيبػِ کـػِ ایى‪ ،‬پل اربفِ ثؼْیؼ َگبْی ثّ هنًت ْبی يغتهق آٌ ثیُؼافیى‪َ .‬وّٖ ىـٔع ؿا ثب یک ػایـِ ًَبیو يی‬ ‫ػْیى کّ گـِ اثتؼایی َبيیؼِ يی ىٕػ‪.‬‬

‫‪50‬‬

‫‪www.ParsBook.org‬‬


‫یک كؼبنیت اف یک مـی ػًم تيکیم ىؼِ امت‪ .‬یک ‪ Activity‬یک پـٔمّ امت ٔ ْـ يـصهّ ػؿ ایٍ پـٔمّ یک ػًم‬ ‫امت ٔػؿ ‪ UML‬كؼبنیت ْبی عبً ػؿ ينتٖیم ثب نجّ ْبی گـػ ًَبیو ػاػِ يی ىَٕؼ‪ .‬اؿتجبٓ ثیٍ گَّٕ ْبی يغتهق‬ ‫ػًم ثب كهو اَزبو يی ىٕػ‪.‬تٕرّ ػاىتّ ثبىیؼ کّ كهو رٓت صـکت ؿا ًَبیو يی ػْؼ ٔ ْـ يـصهّ ػؿ پـٔمّ ؿا‬ ‫ثّ يـصهّ ثؼؼ يی ثـػ‪ ٔ.‬ایٍ كهو ْب ‪َ Control Flow‬بيیؼِ يی ىَٕؼ‪ .‬ػؿ ْـ پـٔمّ ايکبٌ ػاؿػ ثّ َوبٓ تًَیى‬ ‫ثـمیؼ کّ ثّ آَٓب گـِ ْبی تًَیى گلتّ ٔ ثب یک نٕفی ًَبیو ػاػِ يی ىٕػ‪َ .‬وبٓ تًَیى َوبٕی ْنتُؼ کّ اف آَزب‬ ‫ػیبگـاو چُؼ ىبعّ (چُؼ ؿاّْ) يی ىٕػ‪ .‬ؿاِ ٔاثنتّ ثّ تًَیًی امت کّ ػؿ ایُزب گـكتّ يی ىٕػ‪ .‬تٕرّ ػاىتّ‬ ‫ثبىیؼ کّ ْـ رـیبٌ کّ اف گـِ تًَیى عبؿد يی ىٕػ یک يٕهؼیت يضبكظت ىؼِ امت کّ ثب آٌ اّبكّ ىؼِ امت ٔ‬ ‫یک يٕهؼیت يضبكظت ىؼِ امبمب یب ػؿمت امت یب ؿهٔ ‪ .‬اگـ ػؿمت ثبىؼ ىًب ػؿ ٕ​ٕل ينیـ صـکت يی کُیؼ ٔ‬ ‫اگـ ػؿمت َجبىؼ ىًب ثبیؼ ينیـ ػیگـی ؿا اَتغبة کُیؼ‪ّٔ .‬ؼیت يضبكظت ىؼِ ًْبٌ ٕ​ٕؿ کّ ػیؼیؼ يؼًٕال ػؿ‬ ‫کـٔىّ ([]) ًَبیو ػاػِ يی ىَٕؼ‪ .‬پل يب یک َوّٖ تًَیى گیـی ٔ ‪ 2‬ؿاِ يغتهق کّ ثبیؼ اَتغبة کُیؼ ػاؿیى‪ .‬ایٍ ػٔ‬ ‫ؿاِ يغتهق ػؿ یک نٕفی ػیگـ کّ ثّ آٌ ‪ Merge‬گلتّ يی ىٕػ يهضن يی ىَٕؼ‪ .‬تؼؼاػی اف رـیبَبت يغتهق يی تٕاَُؼ‬ ‫ًّْ ثّ یک كؼبنیت ْؼایت ىَٕؼ ٔ ثٓتـیٍ ؿاِ ثـای ًَبیو آَٓب ػؿ ‪ UML‬ایٍ امت کّ ایٍ رـایبَبت ػؿ یک َوّٖ ثّ‬ ‫ْى يهضن ىَٕؼ ٔ ایٍ َوّٖ ثّ مٕی ػًم ثؼؼی صـکت کُؼ‪ .‬ػؿ پبیبٌ يب َوّٖ پبیبَی ؿا ػاؿیى کّ ثّ آٌ ‪Final Node‬‬ ‫گلتّ يی ىٕػ کّ ًَبیبٌ گـ پبیبٌ پـٔمّ يی ثبىؼ‪ .‬عٕة‪ ،‬ثب يلبْیى آىُب ىؼیى‪ .‬اربفِ ثؼْیؼ ثّ یک يخبل َگبْی‬ ‫ثیُؼافیى‪ .‬پـٔمّ يب عبؿد ىؼٌ اف ىت ىُجّ ٔ ػًم أل‪ ،‬اَتغبة ؿٔف امت‪ْ .‬ـ چُؼ کّ کبؿْبی ىُجّ ىت کّ اَزبو‬ ‫يی ػْیؼ َوّٖ آؿبفیٍ امت‪ .‬صبل ثّ یک َوّٖ تًَیى يی ؿمیى ٔ تًَیى يب گـكتٍ پٕل یب َگـكتٍ پٕل امت‪ .‬اگـ‬ ‫ىًب پٕل ثگیـیؼ ىًب يی تٕاَیؼ چُؼ ػًم ؿا اَتغبة کُیؼ‪ .‬ثـٔیؼ ثّ ؿمتٕؿاٌ ٔ يًکٍ امت ثؼؼ اف آٌ ثّ میًُب ثـٔیؼ‪.‬‬ ‫اگـ پٕنی ػؿیبكت َکیُؼ ىًب ؿاِ ْبی ػیگـی يخم هؼو فػٌ ػاؿیؼ‪ .‬ؿٔف کى اؿفه عٕة! عٕة ىًب يی تٕاَیؼ ؿاِ ربی‬ ‫گقیٍ ػیگـی ؿا ثجیُیؼ اگـ ّٔؼیت ػاىتٍ پٕل ػؿمت ثبىؼ ىًب يی تٕاَیؼ ایٍ کبؿ ْب ؿا اَزبو ػْیؼ‪ .‬اگـ ّٔؼیت‬ ‫َؼاىتٍ پٕل ػؿمت ثبىؼ ىًب يی تٕاَیؼ ایٍ کبؿ ْب ؿا اَزبو ػْیؼ‪ْ .‬ـ ينیـی کّ اَتغبة کُیؼ ػؿ یک َوّٖ ثّ ْى‬ ‫يهضن ىؼ ٔ ػؿ َٓبیت ثّ پبیبٌ ؿٔف يی ؿمُؼ‪ .‬يب ثب آيٕفه ًَبػ ْب ثّ ىًب ؿاِ عٕاَؼٌ ػیبگـاو كؼبنیت ؿا ثؼٌٔ فصًت‬ ‫آيٕفه ػاػیى‪ .‬چیقی کّ ایُزب ػاؿیى یک پـٔمّ ثـای يُبثغ اَنبَی ػپبؿتًبٌ امت ٔ ٕی آٌ يؼیـیت کبؿيُؼاٌ ؿا‬ ‫ػاؿیى ٔ ثب گـِ آؿبفیٍ ػؿ ثبال ىـٔع يی کُیى ٔ کبؿی کّ يی عٕاْیى اَزبو ػْیى يؼیـیت کبؿيُؼاٌ امت‪ٔ .‬هتی ىًب‬ ‫هَؼ يؼیـیت کبؿيُؼاٌ ؿا ػاؿیؼ‪ ،‬ثّ مـػت ثّ َوّٖ تًَیى يی ؿمیؼ‪ .‬آیب ػؿ يٕؿػ کبؿيُؼ يٕرٕػ ٍضجت يی کُیى؟ یب‬ ‫کبؿيُؼ رؼیؼ امت؟ اگـ ػؿ يٕؿػ کبؿيُؼ رؼیؼ ٍضجت يی کُیى يب َیبف ػاؿیى تب یک ؿکٕؿػ کبؿيُؼ رؼیؼ ثنبفیى‪ .‬اگـ ػؿ‬ ‫يٕؿػ کبؿيُؼ يٕرٕػ ٍضجت يی کُیى ثّ مـػت ٔاؿػ َوّٖ تًَیى ػیگـی يی ىٕیى‪ :‬آیب ُْٕف کبؿيُؼ ييـٕل کبؿ‬ ‫امت یب اف ػپبؿتًبٌ ؿكتّ امت؟ اگـ کبؿيُؼ ُْٕف ػؿ ػپبؿتًبٌ کبؿ يی کُؼ يی تٕاَیى إالػبت کبؿيُؼ ؿا اٍالس کُیى ٔ‬ ‫ػؿ ؿیـ ایٍ ٍٕؿت کبؿيُؼ ؿا پبیبٌ يی ػْیى‪ْ .‬ـ کؼاو اف ایٍ ػًم ْب ؿا کّ اَتغبة کُیؼ ثّ یک َوّٖ انضبم يی ؿمیؼ‪.‬‬ ‫کّ يیتٕاَؼ ىًب ؿا ثّ يـصهّ ثؼؼی ْؼایت کُؼ‪ .‬پل اگـ يب یک کبؿيُؼ رؼیؼ ػؿمت کُیى‪ ،‬ثّ َوّٖ انضبم يی ؿٔیى‪.‬‬ ‫ثّ مٕی يـصهّ ثؼؼ صـکت يی کُیى‪ًَٕ .‬ػاؿی کّ ػؿ يٕؿػ آٌ ٍضجت يی کـػیى ثّ ٍٕؿت اكوی ثٕػ‪.‬اگـ ػٔمت‬ ‫ػاىتّ ثبىیؼ يی تٕاَیؼ ثّ ٍٕؿت ػًٕػی َیق آٌ ؿا ًَبیو ػْیؼ‪ .‬ػؿ ىکم فیـ ػیبگـاو كؼبنیتی امت کّ هجال ثّ آٌ‬ ‫َگبِ اَؼاعتّ ثٕػیى کّ كؤ رٓت آٌ اكوی ىؼِ امت‪.‬‬

‫‪51‬‬

‫‪www.ParsBook.org‬‬


52

www.ParsBook.org


‫راُِای جایگسیي ّ هْازی ‪:‬‬

‫ًْبٌ ٕ​ٕؿ کّ ػؿ يوبنّ يـثٕٓ ثّ ًَبػ ْبی پبیّ ای ٔ ًَٕػاؿ كؼبنیت ػیؼیؼ‪َ ،‬وبٓ تًَیى ٔ َوبٓ انضبم ؿاْی امت‬ ‫ثـای ًَبیو ایُکّ چگَّٕ یک رـیبٌ ثّ چُؼ ؿاِ تونیى ٔ ػٔثبؿِ ػؿ یک َوّٖ ثّ ْى يهضن يی ىٕػ‪ .‬ػؿ ایٍ يخبل‬ ‫ٔهتی یک ملبؿه(‪ )Order‬ؿا پـ يی کُیؼ‪ ،‬ثّ َوّٖ تًَیى يی ؿمیؼیؼ ٔ آیب ييتـی ْقیُّ مـػت ثغيیؼٌ ثّ‬ ‫اؿمبل کبال ؿا پـػاعت کـػِ امت یب عیـ‪ .‬اگـ پـػاعت کـػِ ثٕػ ًْبٌ ىت ثـای آٌ اؿمبل يیکُیؼ ٔ اگـ پـػاعت َکـػِ‬ ‫ثٕػ ىًب آٌ ؿا ثب ثنتّ پنتی اؿمبل يی کُیؼ‪ٔ .‬هتی ثّ َوّٖ انضبم يی ؿمیؼ یک ثبؿ کّ ثنتّ ؿا اؿمبل کـػِ‬ ‫ثبىیؼ يی تٕاَیؼ ثّ يـصهّ ثؼؼ ثـٔیؼ کّ ثنتٍ ‪ Order‬امت‪ .‬ىًب ًَی تٕاَیؼ یک ملبؿه ؿا ثب ‪ 2‬يتؼ اؿمبل کُیؼ‪.‬‬ ‫ىًب ْـ کؼاو ؿا ثّ تُٓبیی اَتغبة يی کُیؼ‪ .‬صبل چّ اتلبهی يی اكتؼ ٔهتی ثّ َوّٖ ای ثـٔیؼ کّ آَزب ؿاِ ْبی‬ ‫يٕافی ثتٕاَُؼ عبؿد ىَٕؼ؟ ػؿ ایٍ صبنت اف چیقی ثب َبو چُگبل ( ‪ )fork‬امتلبػِ يی کُیى (ًْبَُؼ ًَٕػاؿ ‪Fork and‬‬ ‫‪ .)Join‬گـِ چُگبل ًَبیو يی ػْؼ کّ یک رـیبٌ ٔاؿػ يی ىٕػ ٔ ‪ 2‬یب چُؼ رـیبٌ عبؿد يی ىٕػ ايب ػؿ ایٍ يٕؿػ ‪ 2‬یب‬ ‫چُؼ ؿاِ ثب ْى(ْى فيبٌ) عبؿد يی ىَٕؼ کّ يی تٕاَُؼ ثب ْى اتلبم ثبكتُؼ‪ .‬اربفِ ثؼیؼ َگبْی ثّ یک يخبل ثیُؼافیى‪.‬‬ ‫ٔهتی یک ملبؿه يی آیؼ ‪ ،‬ملبؿه ػؿ یک ػًم ظبْـ يی ىٕػ‪ًْ.‬بٌ ٕ​ٕؿ کّ ػؿ ػیبگـاو ػیگـ ػیؼیؼ‪ .‬آَٓب ملبؿه‬ ‫ؿا پـ يی کُ​ُؼ ٔ ملبؿه ؿا اؿمبل يی کُؼ ٔ آٌ ؿا ػؿ رـیبَی هـاؿ يی ػُْؼ کّ ًَبیو يی ػْؼ چگَّٕ یک يـصهّ‬ ‫ثّ يـصهّ ثؼؼ ْؼایت يی ىٕػ‪.‬‬

‫ثـای ملبؿه صًم َٔوم يیتٕاَیى یّ َوّٖ اَتغبة ًَبیو ػْیى کّ آیب ػبػی امت یب ثب مـػت‪ .‬پل ُْگبو ػؿیبكت‬ ‫یک ملبؿه‪ ،‬تکًیم ملبؿه تُٓب ػايُّ ای َینت کّ ٔاؿػ ثبفی يی ىٕػ‪ًْ .‬چُیٍ يب يـػو ؿا ػاؿیى ػؿ صنبة ْب‬ ‫کّ کبؿْبیی ؿا اَزبو يی ػُْؼ‪.‬يًکٍ امت كبکتٕؿ اؿمبل کُ​ُؼ ‪ٔ ،‬رّ ػؿیبكت کُ​ُؼ ٔ ػٔثبؿِ آٌ ؿا ػؿ رـیبًَبٌ هـاؿ يی‬ ‫ػْیى ثـای ًَبیو ایٍ کّ ملبؿه ػؿ کؼاو یک اف يـاصم امت‪ .‬ثّ ‪ 2‬ؿا ِ يغتهق ٔاثنتّ ثّ ْى کّ يیتٕاَُؼ ْى‬ ‫فيبٌ اتلبم ثیبكتُؼ تٕرّ ػاىتّ ثبىیؼ‪ ،‬يب إالػبتی ػؿ يٕؿػ ملبؿه َؼاؿیى کّ چّ اتلبهی اكتبػِ امت‪ .‬يًکٍ‬ ‫امت كـػی ٔرٕػ ػاىتّ ثبىؼ کّ یک ؿٔف ملبؿه ؿا ثـای تکًیم‪ ،‬ثنتّ ثُؼی يی کُؼ ٔ ؿٔف ثؼؼ كبکتٕؿ كـمتبػِ‬ ‫يی ىٕػ ٔ ثبنؼکل ٔ یب ىبیؼ ػهیوبً ثنتّ ثُؼی ملبؿه ٔ اؿمبل كبکتٕؿ ًْقيبٌ اتلبم ثیبكتُؼ‪ٔ .‬هتی ًّْ ایٍ‬ ‫کبؿْب اَزبو ىؼ‪ ،‬یؼُی ملبؿه تکًیم ٔ كـمتبػِ ىؼ‪ ،‬كبکتٕؿ اؿمبل ٔ يجهؾ ملبؿه َیق ػؿیبكت ىؼ‪ ،‬آَگبِ يی‬

‫‪53‬‬

‫‪www.ParsBook.org‬‬


‫تٕاَیى ثّ يـصهّ ثؼؼی کّ ثنتٍ ملبؿه امت ثـٔیى‪ .‬آٌ ؿا َیق ثب یک عٔ (يیهّ) میبِ ًَبیو يی ػْیى کّ ػهیوب‬ ‫ىجیّ گـِ ‪ Fork‬ثٕػِ ٔ ثّ آٌ گـِ ‪ Join‬گٕیُؼ‪ .‬تُٓب تلبٔت آٌ ثب ‪Fork‬ػؿ ایٍ امت کّ چُیؼٌ رـیبٌ ثّ آٌ ٔاؿػ ىؼِ ٔ‬ ‫تُٓب یک رـیبٌ عبؿد يی ىٕػ‪ .‬يـصهّ ثؼؼ ثنتٍ ملبؿه امت‪ .‬ػؿ َٓبیت هبثم ؽکـ امت کّ ‪ Join ٔ Fork‬ىجیّ‬ ‫َوبٓ تًَیى گیـی ٔ انضبم ْنتُؼ ثب ایٍ تلبٔت کّ آَٓب ؿآْبی يٕافی کّ يی تٕاَُؼ ًْقيبٌ اتلبم ثیبكتُؼ ًَبیو‬ ‫يی ػُْؼ‪ .‬یک رـیبٌ ٔاؿػ گـِ ‪ Fork‬يی ىٕػ ٔ یک یب ثیيتـ عبؿد يی ىٕػ‪ .‬ايب ػؿ ‪ Join‬ثـ ػکل‪ .‬یک یب چُؼ رـیبٌ‬ ‫ٔاؿػ ىؼِ ٔ تُٓب یک رـیبٌ عبؿد يی ىٕػ‪ٔ .‬هتی کّ ًّْ رـیبٌ ْب ػؿ گـِ ‪ Join‬ثّ ْى يهضن ىؼَؼ آَگبِ يی‬ ‫تٕاَیى ثّ يـصهّ ثؼؼی ثـٔیى‪.‬‬ ‫گرٍ ُای شئ ‪:‬‬ ‫كؼبنیت ْب َتیزّ اىیبء ْنتُؼ ثؼیٍ يؼُی کّ اىیبء ثبؿْب ّٔؼیت عٕػ ؿا ػؿ ٕ​ٕل یک پـٔمّ یب ػًهیبت تـییـ يی‬ ‫ػُْؼ‪ٔ .‬هتی ثّ اىیبء اؿربع ػاػِ يی ىٕػ ٔ چگَّٕ آَٓب ثـ اىیبء تبحیـ يی گؾاؿَؼ يب ثّ ّٔؼیت ىیء اىبؿِ يی‬ ‫کُیى‪ State .‬ىجیّ يّٕٕع کنت ٔ کبؿ يٓى کّ ‪ًَ Object State‬بیؼِ يی ىٕػ‪ .‬ثـای يخبل یک کتبثغبَّ ؿا تَٕؿ کُیؼ‪،‬‬ ‫ّٔؼیت کتبة يًکٍ امت ػؿ هلنّ ثبىؼ یب هـُ ػاػِ ىؼِ ٔیب يٕؿػ َیبف ثبىؼ ٔیب گى ىؼِ یب ػؿ ؿفؿٔ ثبىؼ‪ .‬ػؿ‬ ‫ػیبگـاو كؼبنیت ىًب يی تٕاَیؼ ّٔؼیت ٔ صبنت یک ىی ؿا ثب َوبٓ ػؿ یک پـٔمّ يغتهق ًَبیو ػْیؼ‪ .‬اىیبء تبحیـ‬ ‫پؾیـَؼ ثب یک پـٔمّ کّ ىبیؼ ىبيم كبکتٕؿ – چک – گقاؿه ٔ صنبة ٔ‪ ...‬ثبىؼ‪ .‬ػؿ ایُزب يب یک ػیبگـاو كؼبنیت‬ ‫ثنیبؿ مبػِ ػاؿیى رـیبٌ ؿمیؼٌ یک ملبؿه ؿا ًَبیو يی ػْؼ‪ .‬ػؿیبكت ملبؿه – اؿمبل كبکتٕؿ – ػؿیبكت ٔرّ –‬ ‫ثنتٍ ملبؿه ٔ پبیبٌ‪ْ.‬ـ يـصهّ اف پـٔمّ ىی كبکتٕؿ ثّ ٔمیهّ ػًهی کّ ػؿ ّٔؼیت كبکتٕؿ ؿط يی ػْؼ تبحیـ يی‬ ‫پؾیـػ‪ .‬اربفِ ثؼْیؼ ٔاّش تـ تّٕیش ثؼْیى‪ .‬ىیء ؿا تٕمٔ گـِ ىی کّ یک ينتٖیم مبػِ ثب َبو ىی امت‬ ‫ًَبیو يی ػْیؼ‪َ .‬بو آٌ كبکتٕؿ امت‪ّٔ ٔ .‬ؼیت آٌ ػؿٌٔ کـٔىّ َٕىتّ يی ىٕػ‪ٔ .‬هتی ملبؿه ػؿیبكت يی ىٕػ‬ ‫یک كبکتٕؿ مبعتّ يی ىٕػ‪.‬‬

‫اؿتجبٓ ثیٍ ػًم ٔ ىیء ؿا تٕمٔ ‪ًَ Object Flow‬بیو يی ػْیى‪ًْ .‬بٌ ٕ​ٕؿ کّ يی ثیُیؼ ػؿ ایٍ يخبل ىجیّ‬ ‫‪ Control Flow‬يی ثبىؼ‪ .‬ملبؿه ػؿیبكت ىؼِ ٔ ایٍ ثـ ّٔؼیت كبکتٕؿ تبحیـ يی گؾاؿػ ‪ .‬كبکتٕؿ مبعتّ يی ىٕػ‪.‬‬ ‫يـصهّ ثؼؼی اؿمبل كبکتٕؿ امت‪،‬يی تٕاَیى رـیبَی ػاىتّ ثبىیى کّ ٔاؿػ اىیبء يی ىَٕؼ ‪ًْ .‬چُیٍ يی تٕاَیى‬ ‫رـیبَی ػاىتّ ثبىیى کّ اف اىیبء عبؿد يی ىَٕؼ‪.‬ػؿ ایُزب أل ثبیؼ كبکتٕؿ مبعتّ ىٕػ هجم اف ایُکّ كبکتٕؿ اؿمبل‬ ‫ىٕػ‪ .‬پل اف یک ‪ Object Flow‬ثـای ًَبیو ایُکّ مبعت كبکتٕؿ الفو امت ثـای اؿمبل كبکتٕؿ امتلبػِ يی کُیى‪ٔ .‬‬ ‫كبکتٕؿ اؿمبل يی ىٕػ‪ .‬ػؿ ّٔؼیت ىی كبکتٕؿ چّ تبحیـی يی گؾاؿػ؟ ػؿ ایٍ يـصهّ ّٔؼیت كبکتٕؿ اف مبعتّ ىؼِ‬ ‫ثّ ػؿ صبنت اَتظبؿ ٔ یب ٕهت يی ؿٔػ ٔ يب ثـای ًَبیو آٌ اف ‪ Object flow‬امتلبػِ يی کُیى‪ .‬ثؼؼ اف ایُکّ كبکتٕؿ‬ ‫اؿمبل ىؼ ٔ ٔرّ ػؿیبكت ىؼِ ّٔؼیت كبکتٕؿ ثّ پـػاعت ىؼِ تـییـ پیؼا يی کُؼ‪.‬‬

‫‪54‬‬

‫‪www.ParsBook.org‬‬


‫سٌجاق ُا ‪:‬‬ ‫ًْبَُؼ آٌ ثغيی کّ ػؿثبؿِ گـِ ْبی اىیبء ثٕػ کّ ‪ UML‬ؿا َيبٌ يی ػاػ ‪ Activity Diagram‬يی تٕاَؼ اىیبئی کّ‬ ‫ػؿ ٕی یک كـآیُؼ ثٕمیهّ یک ػًم ایزبػ ىؼِ اَؼ ‪ ،‬امتلبػِ ىؼِ اَؼ یب تـییـ کـػِ اَؼ ؿا َيبٌ ػْؼ‪ .‬ایٍ اىیبء يی‬ ‫تٕاَُؼ اىیبء ػاػِ ای یب اىیبء كیقیکی ثبىُؼ يبَُؼ یک كبکتٕؿ كیقیکی کّ كـآیُؼ پـػاعت ٔرّ پٕل ؿا َيبٌ يی ػْؼ‪.‬‬

‫ىًب يی تٕاَیؼ اىیبء ؿا ثب امتلبػِ اف گـِ ْبی اىیبء َيبٌ ػْیؼ یب ىًب يی تٕاَیؼ آَٓب ؿا ثب امتلبػِ اف مُزبم ْب‬ ‫(‪َ )Pins‬يبٌ ػْیؼ‪ .‬مُزبم ْب یک ؿاِ تُؼ َٕینی اؿائّ يی ػُْؼ ثٕمیهّ ًَبیو ایُکّ یک ىئ اف یک َٕػی ‪ ،‬یک‬ ‫ٔؿٔػی ثـای یک ػًم یب یک عـٔری ثـای یک ػًم امت‪ .‬اگـ ىًب یک ػًهی ؿا تزقیّ يی کُیؼ ‪ْ Pin‬ب ثـاثـ رؼجّ‬ ‫ْبی پبؿايتـ ػؿ ‪ Sub Activity Diagram‬ىًب عٕاْؼ ثٕػ‪ .‬ثـای إالػبت ثیيتـ ثغو يـثٕٓ ثّ ‪Sub Activity Diagram‬‬ ‫ؿا يٖبنؼّ کُیؼ‪ًْ .‬بَگَّٕ کّ ػؿ ایُزب ييبْؼِ يی کُیؼ ‪ٔ Pin‬ؿٔػی تؼییٍ يی کُؼ کّ ىئ یک ٔؿٔػی ثـای ػًهی‬ ‫امت کّ ‪ Pin‬ثّ آٌ يتَم ىؼِ امت‪ .‬ثّ ًْیٍ ٕـین ‪ Pin‬عـٔری َيبٌ يی ػْؼ کّ ایٍ ىئ یک عـٔری اف‬ ‫ػًهی امت کّ کّ ‪ Pin‬ثّ آٌ يتَم ىؼِ امت ٔ ىًب يی تٕاَیؼ ثٕمیهّ رـیبَی آَٓب ؿا ثّ یکؼیگـ يتَم کـِ امت‬ ‫ثگٕئیؼ کّ کّ کؼاو ‪ Pin‬عـٔری ٔ کؼاو ‪ٔ Pin‬ؿٔػی امت‪ .‬اگـ رّ ت آٌ ثّ مًت ثیـٌٔ اف ‪ Pin‬ثبىؼ آٌ ‪ Pin‬عـٔری‬ ‫امت ٔ اگـ رٓت آٌ ثّ مًت ‪ Pin‬ثبىؼ ‪ ،‬آٌ ‪ٔ Pin‬ؿٔػی امت‪ .‬ثُبثـایٍ ثب امتلبػِ اف يخبل "تـتیت اَزبو کبؿ" عٕػ يب‬ ‫يی تٕاَیى َيبٌ ػْیى کّ ایٍ چگَّٕ کبؿ يی کُؼ‪ .‬يب یک ػًم تـتیت پـ کـػٌ ػاؿیى کّ ایٍ ػًم عـٔری اف یک‬ ‫تـتیت ثبؿگیـی امت‪ .‬کّ ایٍ تـتیت ثبؿگیـی ثّ ػُٕاٌ یک ٔؿٔػی ثٕمیهّ ػًم تـتیت صًم ٔ َوم ػؿیبكت يی ىٕػ‬ ‫پل يب ‪ Pin‬ؿا ثـچنت گؾاؿی يی کُیى کّ ایٍ ٔؿٔػی امت ٔ ػؿ ایُزب ػؿیبكت ىؼِ امت‪ .‬پل ىًب يی ثیُیؼ کّ‬ ‫ایٍ یک يخبل کبيال ٔاّضی اف َٕػی امت کّ عـٔری ثٕمیهّ یک ػًم ایزبػ ىؼِ امت ٔ ػیؼیؼ کّ آٌ چگَّٕ ثّ‬ ‫ػُٕاٌ یک ٔؿٔػی ثـای یک ػًم ػیگـ ػؿیبكت ىؼ‪ .‬یک يخبل مبػِ ػیگـ يی تٕاَؼ یک تبثهٕی ايتیبفات انکتـَٔیکی‬ ‫ثبىؼ ‪ ،‬تبثهٕی ايتیبفات يی تٕاَؼ ػٔ کبؿ ؿا اَزبو ػْؼ ‪ ،‬يضبمجّ ايتیبف ( ‪ )1‬کّ آٌ يی تٕاَؼ ثٕمیهّ یک ػًهی اف‬ ‫ًَبیو ػاػٌ ايتیبف ( ‪ )2‬پیـٔی کُؼ ٔ آٌ ایٍ کبؿ ؿا ثّ ىکم یک ػؼػ اَزبو يی ػْؼ‪ .‬پل يب ثـای ؿط ػاػٌ ایٍ ػًهیبت‬ ‫چّ ٔؿٔػی ْب ٔ عـٔری ْبیی َیبف ػاؿیى؟ عٕة يضبمجّ ايتیبف ثّ یک ‪ٔ Pin‬ؿٔػی َیبف ػاؿػ ‪ ،‬ایٍ عیبل يی کُؼ کّ یک‬ ‫ػؼػی ؿا ثّ یک ىکهی ػؿیبكت کُؼ ‪ ،‬ثگؾاؿیؼ ثگٕییى ػؿ یک ثبفی كٕتجبل (آيـیکبیی) اگـ یک ‪ TochDown‬اتلبم ثیلتؼ‬ ‫(صبنت كـٔػ ايؼٌ تٕپ ػؿ يُٖوّ عٕػٖ ثب ثـػٌ تٕپ ثّ اٌ مٕٖ عٔ ػؿٔافِ صـيق ٔ کنت ‪ 6‬ايتیبف) ایٍ ٔؿٔػی یک‬ ‫ػؼػ ‪ 6‬ػؿیبكت يی کُؼ ‪ ،‬آٌ ( ‪ )Action‬اف ایٍ ػؼػ ثـای اَزبو ػًم يضبمجّ َتیزّ امتلبػِ يی کُؼ ٔ یک عـٔری‬ ‫ػیگـ َیق ػاؿػ کّ يی تٕاَؼ َتیزّ رؼیؼ ثبىؼ‪ .‬صبال ػؿ گبو ثؼؼی ‪ ،‬ػًم ثؼؼی ػؿ كـآیُؼ آٌ ػؼػ ؿا ثّ ػُٕاٌ ٔؿٔػی‬ ‫ػؿیبكت عٕاْؼ کـػ ‪ ،‬ثُبثـایٍ يب ثّ آٌ یک ‪ٔ Pin‬ؿٔػی اعتَبی يی ػْیى کّ آٌ يوؼاؿ يضبمجّ ؿا ثّ ػُٕاٌ ٔؿٔػی‬ ‫ػؿیبكت يی کُؼ ٔ تبثٕ ؿا ثّ ػُٕاٌ عـٔری حجت يی کُؼ ٔ يب آٌ ؿا ثٕمیهّ یک ؿَٔؼ ىئ ( ‪ )object Flow‬يتَم يی‬ ‫کُیى‪ .‬ثُبثـایٍ ثّ ٕ​ٕؿ ييبثّ ‪" ،‬يضبمجّ ايتیبف" یک ػؼػ ؿا ثّ ػُٕاٌ ٔؿٔػی ػؿیبكت يی کُؼ ‪َ ،‬تیزّ ؿا يضبمجّ يی‬ ‫کُؼ ٔ ایٍ یک ػؼػ رؼیؼ ثّ ػُٕاٌ عـٔری کّ ًَبیبَگـ َتیزّ رؼیؼ امت ػاؿػ ‪ ،‬کّ ایٍ ػؼػ ثٕمیهّ ػًم ًَبیو‬ ‫َتیزّ ثّ ػُٕاٌ ٔؿٔػی ػؿیبكت يی ىٕػ‪ٔ .‬مپل آٌ يب ؿا ثّ مًت پبیبٌ ایٍ كـآیُؼ عبً يی ثـػ‪ .‬صبال تٕرّ ػاىتّ‬ ‫ثبىیؼ کّ ٔؿٔػی ْب ٔ عـٔری ْبی يتَم ىؼِ گـایو ػاؿَؼ تب ثب یکؼیگـ يٖبثوت ػاىتتّ ثبىُؼ ‪ ،‬يب تـتیت ثبؿگیـی‬ ‫ؿا ثّ ػُٕاٌ عـٔری ‪ ،‬تـتیت ثبؿگیـی ثّ ػُٕاٌ ٔؿٔػی ػاؿیى‪ .‬يب یک ػؼػ َتیزّ رؼیؼ عـٔری ‪ ،‬یک ػؼػ َتیزّ رؼیؼ‬ ‫ثّ ػُٕاٌ ٔؿٔػی ػاؿیى‪ .‬اگـ آَٓب ثب ْى يٖبثوت َؼاىتّ ثبىُؼ ‪ ،‬ثّ ػُٕاٌ يخبل اگـ یک ػًهی كؤ ثّ هنًتی اف‬ ‫عـٔری یک ػًم ػیگـ ثـای ٔؿٔػی عٕػ اصتیبد ػاىتّ ثبىؼ ىًب ایٍ ؿا ثٕمیهّ یک تجؼیم ( ‪ )Transformation‬اَزبو‬ ‫يی ػْیؼ کّ ایُزب یک يخبنی اف آٌ امت‪ .‬يب یک كـآیُؼ يضبمجّ نینت صوٕم ػؿ ایُزب ػاؿیى ‪ ،‬يب یک ػًم "ػؿیبكت‬ ‫کبؿت يضبمجّ گـ فيبٌ ٔؿٔػ ٔ عـٔد" ( ‪ )Receive Timecard‬ػاؿیى ‪ ،‬عـٔری ایٍ ػًم یک ػؼػی اف مبػت ْب امت‪.‬‬ ‫ثـای ػًم "يضبمجّ اّبكّ کبؿی" ( ‪ )Overtime Calculate‬ایٍ كؤ ثّ هنًتی اف عـٔری َیبف ػاؿػ ایٍ َیبف ػاؿػ تب‬ ‫ثؼاَؼ آیب مبػبت ثبالتـ اف ‪ 40‬ثٕػِ امت تب ثتٕاَؼ ٕجن فيبٌ يضبمجّ کُؼ‪ .‬پل يب ایٍ ؿا ثب یک تجؼیم َيبٌ يی ػْیى‬ ‫ٔ یک تجؼیم ثّ ػُٕاٌ یک یبػػاىت ثّ ؿَٔؼ ثیٍ ػًم ْب يتَم ىؼِ امت‪ .‬يب آٌ ؿا یک ‪َ Tarnsformation‬يبَّ‬

‫‪55‬‬

‫‪www.ParsBook.org‬‬


‫گؾاؿی يی کُیى ٔ ىًب يی تٕاَیؼ تجؼیم ؿا ثجیُیؼ ‪ ،‬ایٍ عـٔری ثّ ایٍ ٔؿٔػی تجؼیم ىؼِ امت‪ .‬مبػبت ثّ مبػبت‬ ‫اّبكّ کبؿی تجؼیم ىؼِ امت‪ٔ .‬رٕػ ‪ْ Pin‬ب ػؿ ‪ْ Activity Diagram‬ب اعتیبؿی امت ‪ٔ ،‬هتی اف آَٓب امتلبػِ کُیؼ کّ‬ ‫يی عٕاْیؼ َيبٌ ػْیؼ ػاػِ ثٕمیهّ ػًهیبتی کّ ‪ Activity‬ؿاتيکیم يی ػْؼ ایزبػ ىؼِ امت یب يٕؿػ ػؿعٕامت‬ ‫هـاؿ گـكتّ امت ؛ یب فيبَی کّ يی عٕاْیؼ كـایُؼْبی تزبؿی ؿا يؼننبفی کُیؼ تب يُبثغ ایزبػ ىؼِ ٔ ػؿعٕامت‬ ‫ىؼِ ثٕمیهّ گبيٓبی يغتهق ػؿ كـایُؼ ؿا َيبٌ ػْیؼ‪.‬‬

‫‪:Sub Activity Diagrams‬‬ ‫‪ْ Activity Diagram Sub‬ب ثّ ىًب اربفِ يیؼْؼ تب ؿَٔؼ ارـای ػًهیبت ؿا ػؿ یک ‪ Diagram Activity‬تزقیّ کُیؼ‪ .‬ثّ‬ ‫ػجبؿت ػیگـ ‪ Sub Activity Digram‬ثّ ىًب ایٍ ايکبٌ ؿا يی ػْؼ کّ یک ػًم ( ‪ )Action‬ؿا ثب رقئیبٌ ثیيتـ َيبٌ‬ ‫ػْیؼ ‪ ،‬یک ػًم ؿا ثّ گبيٓبی کٕچکتـ کّ آٌ ؿا تيکیم يی ػُْؼ ثيکُیؼ کّ کًک يی کُؼ یک ‪Activity Diagram‬‬ ‫پیچیؼِ ٔ مغت ثـای كًٓیؼٌ َيٕػ‪.‬‬

‫ػؿ یک ‪ Activity Diagram‬یک ػًهی کّ ثّ یک ‪ Acitvity Diagram Sub‬ىکنتّ ىؼِ امت ؿا ثٕمیهّ یک چُگبل‬ ‫َيبٌ ػاػِ يی ىٕػ‪ .‬ثیبئیؼ ثّ یک ‪ Activity Diagram‬ثنیبؿ مبػِ َگبْی ثیبَؼافیى ‪ ،‬ایٍ ثـای یک َـو اكقاؿ ػؿیبكت ٔ‬ ‫يضبمجّ ػْٕیت امت‪.‬‬

‫‪56‬‬

‫‪www.ParsBook.org‬‬


‫ایُزب َوّٖ تًََى يب امت ٔهتی کّ ٔاؿػ َـو اكقاؿ يی ىٕیؼ اگـ ٔؿٔػیّ پـػاعت ىؼِ ثبىؼ يب اف مًت چپ اػايّ‬ ‫يی ػْیى ‪ ،‬اگـ پـػاعت َيؼِ ثبىؼ يب اف مًت ؿامت اػايّ يی ػْیى ‪ ،‬یک كبکتٕؿ ٍٕؿتضنبة اؿمبل يی کُیى ٔ‬ ‫ػؿ آٌ َوّٖ ىئ َـو اكقاؿ ثّ صبنت يؼهن يی ؿٔػ‪ .‬ایٍ ػاليت کٕچک ػؿ پبییٍ ػؿ ایٍ ينیـ یک گـِ پبیبَی امت‬ ‫ٔنی ایٍ یک گـِ پبیبَی ثـای یک ينیـ ثغًَٕ امت ٔ ثب ػاليت پبیبَی (يُظٕؿ ػاليت پبیبَی گٕىّ مًت چپ‬ ‫ىکم) يتْبػ امت کّ پبیبٌ یک ‪َ Activity Diagram‬يبٌ يی ػْؼ‪ .‬ػؿ ایُزب يب یک ػاليت چُگبل ػؿ ػًم كـآیُؼ‬ ‫ػْٕیت ػاؿیى ٔ ًْبَگَّٕ کّ گلتّ ىؼ تؼییٍ يی کُؼ کّ ػؿ آَزب یک ‪ٔ Sub Activity Diagram‬رٕػ ػاؿػ کّ ایٍ ػًم‬ ‫ؿا ثّ گبيٓبی کٕچکتـی کّ آٌ ؿا تيکیم يی ػْؼ ىکنتّ امت‪ .‬صبال ثـعی اف اثقاؿ ْبی ‪ UML‬ایٍ ػاليت چُگبل ؿا‬ ‫َؼاؿَؼ ٔ اگـ يٕؿػی ثب ایٍ اثقاؿ پیو آيؼ ىًب يی تٕاَیؼ کبيال ؿاصت ػاليت عٕػ ؿا ػؿ ‪ Paint‬ثکيیؼ ٔ آٌ ؿا ػؿ ػیبگـاو‬ ‫عٕػ ‪ Paste & Copy‬کُیؼ‪ .‬پل ثیبئیؼ یک َگبْی ثیبَؼافیى تب ثجیُیى چّ اتلبهی ػؿ یک ‪ Sub Activity Diagram‬يی‬ ‫اكتؼ‪ .‬يب یک َبو ‪ Sub Activity‬ػاؿیى کّ ثبیؼ ثب َبو ػًهی کّ ثّ ػًهیبت عٕػ تزقیّ ىؼِ ٔ ثّ هنًتٓبی کٕچک ػؿ‬ ‫ایٍ ػیبگـاو تونیى ىؼِ یکنبٌ ثبىؼ‪ .‬پل ثـای آٌ ػًم ٔ ثـای ایٍ ‪ Sub Activity‬يب یک پبؿايتـ ٔؿٔػی ػاؿیى ‪،‬‬ ‫مپل ػؿ ایُزب يب یک نینتی اف گبيٓب ػاؿیى ‪ ،‬ػًم ْب ( ‪ ، )Actions‬ينیـْب (‪ ، )Paths‬تًَیًبت ٔ ؿیـِ کّ يی‬ ‫تٕاَُؼ ػؿ ایٍ ‪ Sub Activity‬هـاؿ گیـَؼ ٔ مپل ٔهتی ىًب ثّ پبیبٌ كـآیُؼ يی ؿمیؼ ‪ٔ ،‬هتی کّ ػًم ‪ Activity Sub‬ثّ‬ ‫پبیبٌ ؿمیؼ يب پبؿايتـ عـٔری ؿا ػاؿیى‪ .‬پل ػؿ ‪ Activity Diagram‬عٕػ ػؿ ربیی کّ ػاليت چُگبل ٔرٕػ ػاؿػ ‪Sub‬‬ ‫‪ٔ Activity‬رٕػ ػاؿػ کّ يب كـآیُؼ ػْٕیت ؿا يی ىکُیى ٔ ثّ ایُکّ آٌ چّ رقئیبتی ػاؿػ َگبِ يی کُیى‪ .‬پل ایٍ ‪Sub‬‬ ‫‪ Activity‬يب امت ٔ ایٍ َبو یکنبَی ػاؿػ ( ‪ٔ ، )Process membership‬ؿٔػی يب اف َـو اكقاؿ ػْٕیت امت کّ پبؿايتـ‬ ‫ٔؿٔػی يب امت‪ٔ .‬هتی َـو اكقاؿ ػْٕیت ىـٔع ثّ کبؿ يی کُؼ يب ثّ یک َوّٖ تًَیى گیـی يی ؿمیى ‪ ،‬آیب توبّب‬ ‫کُ​ُؼِ يجهؾ ؿا ثـای ػْٕیت ؿمًی پـػاعتّ امت یب َّ ‪ ،‬آیب يب توبّب کُ​ُؼِ ؿا ثّ اَزًٍ ‪ VIP‬اّبكّ کـػِ ایى ‪ ،‬اگـ َّ‬ ‫يب اف ایٍ ينیـ پیگیـی يی کُیى ٔ توبّب کُ​ُؼِ ؿا ثّ ؿػیق ٔ كبیب اّبكّ يی کُیى‪ٔ .‬هتی يب توبّب کُ​ُؼِ ؿا ثّ یک‬ ‫َٕػی اف ػْٕیت اعتَبً ػاػیى ‪ ،‬يب ثّ یک َوّٖ تـکیت يی ؿمیى ٔ اف ْـ ؿاْی کّ ؿكتّ ثبىیى تب ثّ ایتزب ثـمیى‬ ‫ثّ اَزًٍ ‪ VIP‬اّبكّ کـػِ ثبىیى یب ثّ ؿػیق ٔ كبیم اّبكّ کـػِ ثبىیى يب ثّ ػْٕ یک ػؼػ اعتَبً يی ػْیى پل‬ ‫پبؿايتـ عـٔری يب ىُبمّ ػْٕ (‪ )ID Member‬عٕاْؼ ثٕػ‪.‬ثُبثـایٍ ایٍ ثّ ىًب گبيٓبیی ؿا کّ ػؿ ػًم ػؿ ػیبگـاو‬ ‫اٍهی كـآیُؼ ػْٕیت يب اتلبم يی اكتؼ ؿا َيبٌ يی ػْؼ‪ .‬صبال عٖـ امتلبػِ ‪ْ Sub Activity Diagram‬ب تًبیم ثّ‬ ‫ػًین ىؼٌ امت ‪ ،‬ىًب يی عٕاْیؼ اگـ يًکٍ ثبىؼ اف تؼؼاػ فیبػی اف يزًٕػّ الیّ ْب ػٔؿی کُیؼ‪ْ .‬ؼف کهی اف‬ ‫یک ‪ Activity Diagram‬ایٍ امت کّ یک ػیؼ کهی ٔاّش يبَُؼ َويّ ربػِ ثؼْؼ‪ٔ .‬اهؼب ػٔ چیق امت کّ اًْیت ػاؿػ ٔ‬ ‫آَٓب ٔاّش ثٕػٌ ٔ يتؼبػل ثٕػٌ امت‪ .‬اگـ ‪ Activity Diagram‬ىًب ثٕمیهّ ‪ْ Sub Activity‬ب فیبػ پیچیؼِ ىٕػ ثبػج‬ ‫يی ىٕػ عٕاَبیی آٌ مغت ىٕػ ٔ ًْچُیٍ تؼویت آٌ ييکم ىٕػ‪ .‬اگـ ػؿ مٕی ػیگـ (ثـعالف يخبل يب) ىًب یک‬ ‫‪ Activity Diagram‬ؿا ثیبثیؼ کّ ىًب ریی اف ریٍ ْب (ْـ ریٍ ‪ 12‬ػؼػ امت) اف ‪ْ Sub Activity Diagram‬ب ؿا ػاؿیؼ‬ ‫پل ىًب ًَی تٕاَیؼ ‪ Activity Diagram‬اٍهی ؿا ثؼٌٔ چـعو ثّ ػوت ٔ پل ٔ پیو کـػٌ يیبٌ ٍلضبت ثیبثیؼ ٔ‬ ‫ثبیؼ ثّ آٌ ‪ْ Activity Diagram Sub‬ب َگبِ کُیؼ مپل ىًب يی عٕاْیؼ یک ‪ Level‬ثبالتـ ثیبئیؼ ‪ ،‬رقئیبت ثیيتـی ؿا‬ ‫ػؿ ‪ Activity Diagram‬اٍهی عٕػ هـاؿ ػْیؼ ٔ تؼؼاػ ‪ْ Sub Activity Diagram‬ب ؿا ثّ صؼاهم (ثٓیُّ ثبىؼ) ثـمبَیؼ‪.‬‬

‫‪57‬‬

‫‪www.ParsBook.org‬‬


‫رسیدگی به خطاها‪:‬‬ ‫گبْی أهبت یک ػیبگـاو كؼبنیت ثب يٕهؼیتی ؿیـػبػی ؿٔثـٔ يی ىٕػ کّ ثّ آٌ عٖب یب امتخُبء گلتّ ىؼِ ٔ ثبیؼ ثّ‬ ‫گَّٕ ای ثب آٌ ثـعٕؿػ کـػ کّ كؼبنیت يٕؿػ َظـ اػايّ پیؼا کُؼ یب يتٕهق ىٕػ‪ .‬ىًب يی تٕاَیؼ امتخُبئبت ٔ َضِٕ‬ ‫ثـعٕؿػ ثب آٌ ؿا ْى ػؿ ػیبگـاو ْبی كؼبنیت عٕػتبٌ هـاؿ ػْیؼ‪.‬‬

‫ثـای اَزبو ایٍ کبؿ اف یک کبَکتٕؿ عبً کّ ثّ ىکم یک كهو فیگقاگ امت امتلبػِ يی کُیى ثؼیٍ َضٕ کّ آٌ ؿا اف‬ ‫كؼبنیتی کّ امتخُبء يًکٍ امت ػؿ آٌ اتلبم ثیلتؼ ثّ ؿمیؼگی کُ​ُؼِ عٖب ٍٔم يی کُیى‪ .‬ثّ ػجبؿت ػیگـ آٌ ؿا ثّ‬ ‫كؼبنیتی ٍٔم يی کُیى کّ ػؿ پبمظ ثّ عٖب اَزبو يی ىٕػ‪ .‬ایٍ كؼبنیت یب يب ؿا ثّ كؼبنیت اٍهی ثـ يی گـػاَؼ یب يب‬ ‫ؿا ثّ پبیبٌ كؼبنیت يی ثـػ‪ .‬ػؿ ىکم چگَٕگی ایٍ اتَبل ؿا يی ثیُیؼ‪ .‬ؿٔی كهو ْبی فیگقاگی َبو عٖب َٕىتّ يی‬ ‫ال ثّ‬ ‫ىٕػ‪ .‬ایٍ كهو فیگقاگی ثّ ؿمیؼگی کُ​ُؼِ عٖب يتَم امت‪ .‬اگـ ؿمیؼگی کُ​ُؼِ تٕاَبیی ثـگـػاَؼٌ يب يخ ً‬ ‫‪ 2 Action‬ؿا ػاىت‪ ،‬یک كهو اف آٌ ثّ ‪ٍٔ Action 2‬م يی کُیى ٔ یب اگـ كؤ يی تٕاَنت ؿَٔؼ کبؿ ؿا پبیبٌ ػْؼ‪ ،‬اف آٌ‬ ‫ثّ گـِ پبیبَی یک كهو ؿمى يی کُیى‪ .‬ثـای يخبل ػیبگـايی کّ هجالً ييبْؼِ کـػیؼ ؿا يی آٔؿیى‪ .‬ػیبگـايی کّ ؿَٔؼ‬ ‫اَزبو کبؿ ػؿ مبعتًبٌ ارـا ؿا ُْگبيی کّ یک ملبؿه ؿا ػؿیبكت يی کـػ‪َ ،‬يبٌ يی ػاػ کّ ػجبؿت ثٕػَؼ اف ػؿیبكت‬ ‫ملبؿه‪ ،‬آيبػِ کـػٌ ملبؿه‪ ،‬كـمتبػٌ ملبؿه ٔ تًبو‪ .‬ايب ُْگبيی کّ ملبؿه (يضَٕل) يٕؿػ َظـ يٕرٕػ َجٕػ‬ ‫چّ اتلبهی يی اكتؼ؟ يب هَؼ ػاؿیى چگَٕگی ثـعٕؿػ ثب ایٍ امتخُبء (عٖب) ؿا ثیبٌ کُیى‪ .‬پل اربفِ ثؼْیؼ ينئهّ ؿا‬ ‫ایٍ گَّٕ يٖـس کُیى کّ يب ملبؿىی ؿا ػؿیبكت کـػیى ٔ عٖب فيبَی اتلبم يی اكتؼ کّ يضَٕل يٕؿػ َظـ يٕرٕػ‬ ‫َجبىؼ‪ .‬ػؿ َتیزّ َبو ایٍ عٖب ؿا "يٕرٕػ َجٕػٌ يضَٕل" يی گؾاؿیى‪ .‬ىبیؼ ػؿ ایٍ يٕؿػ تُٓب ؿاِ صم‪ ،‬نـٕ ملبؿه‬ ‫امت‪ .‬فیـا تب ُْگبيی کّ َتٕاَیى ملبؿه ؿا آيبػِ کُیى ػًالً ؿاْی ثّ ػیگـ يـاصم َغٕاْیى ػاىت‪ .‬ثّ ػجبؿت ػیگـ‬ ‫ُْگبيی کّ كـاْى کـػٌ يضَٕل ٔ كـمتبػٌ آٌ ايکبٌ پؾیـ َجبىؼ ؿمیؼگی ثّ ایٍ عٖب (ػؿ ایٍ يخبل) اف ٕـین پبیبٌ‬ ‫ػاػٌ كؼبنیت ٍٕؿت عٕاْؼ گـكت‪ .‬نؾا ػؿ ایٍ يخبل یکی اف عٖبْبیی کّ ايکبٌ ػاؿػ اتلبم ثیلتؼ ایٍ امت کّ يب‬ ‫ملبؿه ؿا ػؿیبكت يی کُیى کّ ملبؿه يـثٕٓ ثّ يضَٕنی امت کّ يٕرٕػ َینت‪ .‬پل ػؿ ایٍ يٕهغ کبؿی کّ‬ ‫اَزبو يی ػْیى نـٕ ملبؿه ٔ ثبنٖجغ پبیبٌ ػاػٌ كؼبنیت امت‪.‬‬

‫‪58‬‬

‫‪www.ParsBook.org‬‬


‫ًاحیَ ّلفَ ‪:‬‬ ‫ُْگبيی کّ ػیبگـاو یک ؿَٔؼ یب كؼبنیت ؿا يی کيیؼ‪ ،‬يًکٍ امت ثب كؼبنیت یب يزًٕػّ ای اف كؼبنیت ْب ؿٔثـٔ ىٕیؼ‬ ‫کّ يی تٕاَُؼ تٕمٔ تؼؼاػی ؿٔیؼاػ ػچبؿ ٔهلّ ىَٕؼ‪ .‬ثـای ًَبیو چُیٍ صبنتی‪ ،‬اف یک َبصیّ ٔهلّ امتلبػِ يی‬ ‫کُیى‪َ .‬بصیّ ٔهلّ ثب امتلبػِ اف یک ينتٖیم ثب کبػؿ عٔ چیٍ ًَبیو ػاػِ يی ىٕػ‪ .‬يب هَؼ ػاؿیى تب ػهبیوی ػیگـ‬ ‫یک َبصیّ ٔهلّ ثّ ػیبگـاو عٕػ اّبكّ کُیى‪ .‬ثبف ثّ مـاؽ ًْبٌ يخبل يؼـٔف یؼُی كـایُؼ ملبؿه يی ؿٔیى‪ًْ .‬بٌ‬ ‫ٕ​ٕؿ کّ ػؿ ػیبگـاو ييبْؼِ يی کُیؼ ُْگبيی کّ یک ملبؿه ػؿیبكت يی ىٕػ‪ ،‬ػٔ ثغو ثّ ٕ​ٕؿ يٕافی ػؿ صبل‬ ‫اَزبو کبؿ ْنتُؼ‪ .‬ثغو اَزبو ملبؿه ٔ ثغو صنبثؼاؿی‪ُْ .‬گبيی کّ تًبيی ایٍ كؼبنیت ْب اَزبو ىؼ‪ ،‬ملبؿه‬ ‫ثنتّ ىؼِ ٔ كـایُؼ پبیبٌ يی یبثؼ‪ .‬ايب ُْگبيی کّ ػؿعٕامتی يجُی ثـ نـٕ ملبؿه ػؿیبكت کـػیؼ‪ ،‬چّ اتلبهی يی‬ ‫اكتؼ؟ ػؿعٕامت نـٕ ملبؿه ثبیؼ کم كـایُؼ ؿا يتٕهق کُؼ‪ًْ .‬بَٖٕؿ کّ هجالً اىبؿِ ىؼ‪َ ،‬بصیّ ٔهلّ ثب امتلبػِ یک‬ ‫ينتٖیم ثب کبػؿ عٔ چیٍ ًَبیو ػاػِ يی ىٕػ‪ .‬نؾا كؼبنیت ْبیی کّ يًکٍ امت ػچبؿ ٔهلّ ىَٕؼ ؿا ػؿ ایٍ‬ ‫ينتٖیم هـاؿ يی ػْیى‪ .‬ػؿ ػیٍ صبل ؿٔیؼاػی کّ يٕرت ٔهلّ يی ىٕػ ؿا َیق ػؿ ایٍ ينتٖیم هـاؿ يی ػْیى‪.‬‬ ‫ٔهلّ ؿا ثّ ػُٕاٌ یک میگُبل ٔؿٔػی (میگُبل ػؿیبكت کُ​ُؼِ) ػؿ َظـ يی گیـیى کّ يی تٕاَؼ ػؿعٕامت نـٕ ملبؿه‬ ‫ؿا ػؿیبكت کُؼ‪ .‬نؾا ُْگبيی کّ ایٍ ٔؿٔػی اتلبم يی اكتؼ یب ثّ ػجبؿت ػیگـ ایٍ میگُبل ٔؿٔػی ػؿیبكت يی ىٕػ‪،‬‬ ‫تًبيی كؼبنیت ْب يتٕهق ىؼِ ٔ ثّ ربی آَٓب یک كؼبنیت ػیگـ کّ يی تٕاَؼ نـٕ ملبؿه ثبىؼ اَزبو يی ىٕػ‪ .‬نؾا‬ ‫میگُبل ٔؿٔػی ؿا ثب یک كهو فیگقاگ ًْبَُؼ کبؿی کّ ػؿ ُْگبو ٔهٕع عٖب (ػؿ ٔیؼئٕی هجهی) اَزبو يی ػاػیى‪ ،‬ثّ‬ ‫كؼبنیت نـٕ ملبؿه ٍٔم يی کُیى‪.‬‬

‫‪59‬‬

‫‪www.ParsBook.org‬‬


‫ػؿ ایُزب ثّ ایٍ كهو فیگقاگ‪ ،‬نجّ ٔهلّ يی گٕییى‪ .‬پل ُْگبيی کّ ٔهلّ اتلبم اكتبػ‪ ،‬تًبو كؼبنیت ْب ؿا کُبؿ‬ ‫گؾاىتّ ٔ كـایُؼ ؿا پبیبٌ يی ػْیى‪ .‬ثُبثـایٍ چیقی کّ ػؿ ایٍ ٔیؼئٕ ًَبیو ػاػِ ىؼ ایٍ ثٕػ کّ ُْگبيی کّ یک‬ ‫میگُبل ٔهلّ ػؿیبكت ىؼ‪ ،‬کم كؼبنیت ْبی ػؿٌٔ َبصیّ ٔهلّ‪ ،‬يتٕهق يی ىٕػ‪ .‬ثّ ربی آٌ یک كؼبنیت ػیگـ اَزبو‬ ‫يی ىٕػ کّ ػؿ ایٍ يخبل‪ ،‬ایٍ كؼبنیت كـایُؼ يب ؿا پبیبٌ يی ثغيؼ‪.‬‬

‫ًاحیَ تْسعَ ‪:‬‬ ‫گبْی أهبت عـٔری یک كؼبنیت يی تٕاَؼ چُؼیٍ ػؿعٕامت یک كؼبنیت ػیگـ ؿا آؿبف کُؼ‪ .‬ػؿ ایٍ يٕاهغ امتلبػِ اف‬ ‫َبصیّ تٕمؼّ يلیؼ ثّ َظـ يی ؿمؼ‪ .‬یک َبصیّ تٕمؼّ ػمتّ ای اف كؼبنیت ْب ؿا َيبٌ يی ػْؼ کّ ثـای ْـ هٖؼّ‬ ‫ػؿ یک يزًٕػّ‪ ،‬یکجبؿ اتلبم يی اكتؼ‪ .‬ػؿ ٔاهغ یک َبصیّ تٕمؼّ ىبيم تؼؼاػی كـایُؼ امت کّ ُْگبو ػؿیبكت ػاػِ‬ ‫چُؼیٍ ثبؿ ارـا يی ىٕػ ايب ْـ کؼاو اف كؼبنیت ْبی ػؿٌٔ ایٍ يزٕػّ یکجبؿ ارـا يی ىَٕؼ‪ .‬تَٕؿ ایُکّ َبصیّ تٕمؼّ‬ ‫ًْبَُؼ یک صهوّ ‪ For‬ػًم يی کُؼ‪ ،‬يی تٕاَؼ کبؿمبف ثبىؼ‪ .‬یک آژاَل کـایّ يبىیٍ ؿا كـُ کُیؼ کّ ٔهتی يبىیٍ‬ ‫ْب ثـگيت ػاػِ يی ىَٕؼ آَٓب تؼؼاػی اف ایٍ يبىیٍ ْب ؿا رًغ کـػِ ٔ یکی یکی ثّ کبؿٔاه يی كـمتُؼ‪.‬‬

‫تٕرّ ػاىتّ ثبىیؼ کّ َبصیّ تٕمؼّ تٕمٔ ينتٖیهی عٔ چیٍ (َبصیّ كؼبنیت) ًَبیو ػاػِ يی ىٕػ‪ .‬اف آَزب کّ‬ ‫کبؿٔاه يٕؿػ َظـ یک عٔ کبؿی ثیيتـ َؼاؿػ ثبیؼ يبىیٍ ْب ؿا یکی یکی ثّ آٌ كـمتبػ ٔ ػؿ َتیزّ َبصیّ تٕمؼّ يب ثّ‬ ‫ٍٕؿت تکـاؿ ىَٕؼِ عٕاْؼ ثٕػ ٔ يب ثّ یک گـِ تٕمؼّ ثـای ًَبیو َوّٖ ٔؿٔػی َیبف عٕاْیى ػاىت کّ ػؿ ایُزب‬ ‫ٔؿٔػی يب يبىیٍ کخیق عٕاْؼ ثٕػ‪ .‬ثُبثـایٍ يب يزًٕػّ ای اف يبىیٍ ْب ؿا عٕاْیى ػاىت کّ یکی یکی ٔاؿػ ایٍ‬ ‫َبصیّ تٕمؼّ عٕاُْؼ ىؼ ٔ ػؿ ایٍ َبصیّ اػًبل ىنتٍ‪ ،‬عيک کـػٌ ٔ تًیق کـػٌ ؿٔی يبىیٍ ْب اتلبم يی اكتؼ‪.‬‬ ‫ًْبَٖٕؿ کّ هجال گلتّ ىؼ اف آَزب کّ ایٍ کبؿٔاه تُٓب یک عٔ کبؿی ػاؿػ ُْگبيی کّ یک يبىیٍ کخیق ٔاؿػ ایٍ عٔ‬ ‫کبؿی يی ىٕػ تب فيبَی کّ ًّْ كؼبنیت ْبی ػؿٌٔ ایٍ َبصیّ ؿٔی يبىیٍ اتلبم َیلتؼ يبىیٍ ػٔو ًَی تٕاَؼ ٔاؿػ‬ ‫ىٕػ‪ .‬ػؿ َتیزّ ثبیؼ ایٍ َبصیّ (اػًبل) ثّ تؼؼاػ يبىیٍ ْب تکـاؿ ىَٕؼ‪ .‬اربفِ ػْیؼ ثب تؼؼاػ ‪( Flow‬رـیبٌ‪/‬كهو) ؿَٔؼ‬ ‫کبؿ ؿا ييغٌ کُیى‪ٔ .‬هتی یک يبىیٍ ٔاؿػ ایٍ پـٔمّ يی ىٕػ‪ُْ ،‬گبيی کّ اػًبل ىنتٍ‪ ،‬عيک کـػٌ ٔ تًیق‬ ‫کـػٌ اَزبو ىؼ‪ ،‬ثبیؼ یک َوّٖ عـٔری ثـای عبؿد ىؼٌ اف َبصیّ ٔرٕػ ػاىتّ ثبىؼ کّ يب ػؿ ایُزب ایٍ گـِ عـٔری‬ ‫ؿا يبىیٍ تًیق يی َبيیى‪ .‬ثُبثـایٍ آَچّ اف ایٍ ػیبگـاو پیؼامت ایٍ امت کّ ػمتّ ای اف يبىیٍ ْبی ثـگـػاَؼِ‬ ‫ىؼِ ٔرٕػ ػاؿػ کّ یکی یکی ٔاؿػ کبؿٔاه ىؼِ ٔ ایٍ ػمتّ اف اػًبل ػؿٌٔ َبصیّ تٕمؼّ ثـای تک تک يبىیٍ ْب‬ ‫تکـاؿ يی ىٕػ‪ .‬عـٔری يب یک يبىیٍ تًیق عٕاْؼ ثٕػ ٔ ُْگبيی کّ يزًٕػّ ای اف يبىیٍ ْبی تًیق ػاىتیى يی‬ ‫تٕاَیى ػٔثبؿِ آَٓب ؿا ثـای اربؿِ ثلـمتیى‪ .‬ػؿ َبصیّ تٕمؼّ ‪َٕ 3‬ع تؼبيم ثیٍ ارـاْب ٔرٕػ ػاؿػ‪ .‬ػؿ ایٍ يخبل يب اف تؼبيم‬ ‫تکـاؿ ىَٕؼِ امتلبػِ کـػیى‪ُْ .‬گبيی کّ َبصیّ تٕمؼّ اف َٕع تکـاؿ ىَٕؼِ امت تًبيی اػًبل ثّ تـتیت اتلبم يی‬ ‫اكتُؼ‪ .‬يی تٕاَیؼ اف کهًبت کهیؼی ػیگـ ثـای ًَبیو إَاع ػیگـ تؼبيالت ػؿ کُبؿ آٌ امتلبػِ کُیؼ‪ .‬تؼبيالت يی تٕاَُؼ‬ ‫ثّ ٍٕؿت يٕافی اَزبو ىَٕؼ ثؼیٍ يؼُب کّ تؼبيالت ينتوهُؼ ٔ يی تٕاَؼ یک رب اَزبو ىَٕؼ کّ ػؿ ایٍ صبنت يی‬

‫‪60‬‬

‫‪www.ParsBook.org‬‬


‫تٕاَیؼ اف کهًّ کهیؼی ‪ Stream‬امتلبػِ کُیؼ‪َ Stream .‬يبٌ يی ػْؼ کّ تًبيی انًبَٓبی ٔؿٔػی ػؿ یک نضظّ ٔاؿػ‬ ‫َبصیّ تٕمؼّ يی ىَٕؼ ٔ َبصیّ تٕمؼّ آَٓب ؿا ثّ ٍٕؿت یکزب ارـا کُؼ‪.‬‬

‫استفادٍ از ‪:swim Lanes‬‬ ‫ػیبگـاو ْبی كؼبنیتی يخم ایٍ (کّ ػؿ ىکم يی ثیُیؼ) یک كـایُؼ ؿا َيبٌ يی ػُْؼ ايب ييغٌ ًَی کُؼ کّ ْـ‬ ‫كؼبنیت تٕمٔ چّ کنی اَزبو يی ىٕػ‪ًْ .‬بٌ ٕ​ٕؿ کّ يی ثیُیؼ یک ػیبگـاو كؼبنیت ػاؿیى کّ كـایُؼ حجت َبو ثـای‬ ‫یک کالك ؿا ًَبیو يی ػْؼ‪ .‬يب ػؿ ثبالی ػیبگـاو كؼبنیت ْبیی ىبيم "ػؿعٕامت کالك" ٔ "تبییؼ ٍالصیت" ؿا‬ ‫ػاؿیى‪.‬‬

‫مپل یک َوّٖ تًَیى گیـی ٔرٕػ ػاؿػ کّ ٍالصیت ػاَيزٕ ؿا يٕؿػ ثـؿمی هـاؿ يی ػْؼ‪ .‬اگـ ٍالصیت ػاَيزٕ‬ ‫تبییؼ ىؼ يب ثّ كؼبنیت "چک کـػٌ ظـكیت کالك" يُتوم يی ىٕیى ايب اگـ ٍالصیت ػاَيزٕ تبییؼ َيؼ یب ظـكیت‬ ‫کالك تکًیم ثٕػ ثّ كؼبنیت "ؿػ حجت َبو (حجت َبو َکـػٌ)" ؿكتّ ٔ مپل كؼبنیت "اؿمبل پیـبو ػؼو پؾیـه" ؿا ارـا‬ ‫کـػِ‪ ،‬ػاَيزٕ َیق كؼبنیت "ػؿیبكت پیـبو ػؼو پؾیـه" ؿا ارـا کـػِ ٔ كـایُؼ پبیبٌ يی یبثؼ‪ُْ .‬گبيی کّ کالك‬ ‫ظـكیت ػاىت‪ ،‬كؼبنیت "حجت َبو ػاَيزٕ"‪ ،‬مپل كؼبنیت "تضٕیم ثـَبيّ ػؿمی" ٔ ػؿ َٓبیت كؼبنیت "ػؿیبكت ثـَبيّ‬ ‫ػؿمی" ارـا ىؼِ ٔ كـایُؼ پبیبٌ يی یبثؼ‪ .‬ایٍ ػیبگـاو ثّ ٕ​ٕؿ ٔاّش ؿَٔؼ حجت َبو ػؿ یک کالك ؿا ييغٌ يی کُؼ‬ ‫ايب ْیچ إالػبتی ػؿثبؿِ ایُکّ چّ کنی کؼاو كؼبنیت ؿا اَزبو يی ػْؼ‪ ،‬ػؿ اعتیبؿ ًَی گؾاؿػ‪ .‬اگـ ثغٕاْیؼ ػؿ‬ ‫ػیبگـاو كؼبنیت تبٌ ييغٌ کُیؼ کّ چّ کنبَی چّ َوو ْبیی ؿا ثبفی يی کُ​ُؼ‪ ،‬ثبیؼ هنًت ْبیی ؿا ثّ آٌ‬ ‫اّبكّ کُیؼ کّ اٍٖالصًب ثّ آٌ ‪( Swim Lanes‬ينیـ ىُب) گلتّ يی ىٕػ‪ .‬ایٍ َبو گؾاؿی ثّ ایٍ ػنیم امت کّ يب‬ ‫کم ػیبگـاو ؿا ثّ یک امتغـ ثقؿگ ٔ ثبفیگـْب ؿا ثّ ىُبگـ تيجیّ کـػِ ایى‪ .‬ایٍ امتغـ ثّ ينیـْبیی تونیى ىؼِ‬

‫‪61‬‬

‫‪www.ParsBook.org‬‬


‫امت کّ ػؿ آٌ ْـ ىُبگـ (ثبفیگـ) ػؿ ينیـ عبً عٕػ ىُب يی کُؼ (كؼبنیت ْبی عبً عٕػ ؿا اَزبو يی ػْؼ)‪ .‬ػؿ‬ ‫ایٍ ػیبگـاو َیق يب ػٔ ثغو ػاؿیى‪ :‬ػاَيزٕ ٔ حجت َبو کُ​ُؼِ‪ْ .‬ـ ‪ Swim Lane‬ىبيم كؼبنیت ْبیی امت کّ تٕمٔ‬ ‫آٌ ثبفیگـ اَزبو يی ىٕػ‪ .‬نؾا ػؿ ایُزب ػاَيزٕ ػیبگـاو ؿا ثب اَزبو كؼبنیت "ػؿعٕامت کالك" آؿبف يی کُؼ‪ ،‬مپل‬ ‫ًّْ كؼبنیت ْب ػؿ صٕفِ حجت َبو کُ​ُؼِ هـاؿ يی گیـػ‪ ًّْ ،‬كؼبنیت ْبیی کّ ػؿ ػیبگـاو هجهی َیق ػاىتیى‪.‬‬

‫ىبیؼ ثب ػیؼٌ ایٍ ػٔ ‪ Swim Lane‬اصنبك کُیؼ کّ ًَٕػاؿيبٌ اَؼکی تـییـ کـػِ امت ايب ًْبَٖٕؿ کّ يی ثیُیؼ‬ ‫تًبو إالػبت ييبثّ ػیبگـاو هجهی اَؼ‪ ،‬يب ًْبٌ َوّٖ تًَیى ؿا ػاؿیى کّ ٍالصیت ػاَيزٕ ؿا يٕؿػ ثـؿمی هـاؿ‬ ‫يی ػْؼ یب ًْبٌ َوّٖ تًَیًی کّ ظـكیت کالك ؿا چک يی کُؼ ٔ ‪ ...‬ثب ایٍ تلبٔت کّ ػؿ ایُزب ثّ ٕ​ٕؿ ٔاّش‬ ‫ييغٌ امت کّ چّ کنی چّ کبؿی اَزبو يی ػْؼ‪ .‬تٕرّ ػاىتّ ثبىیؼ کّ ‪( Flow‬رـیبٌ) ْب يی تٕاَُؼ اف یک‬ ‫ينیـ ثّ ينیـ ػیگـ َیق ٔاؿػ ىَٕؼ‪ .‬ثـای يخبل ٔهتی کّ حجت َبو کُ​ُؼِ ثـَبيّ ػؿمی ؿا ثّ ػاَيزٕ يی ػْؼ‪،‬‬ ‫ثـَبيّ ػؿمی اف یک َبصیّ (َبصیّ حجت َبو کُ​ُؼِ) ٔاؿػ َبصیّ ػیگـ (َبصیّ ػاَيزٕ) يی ىٕػ‪ْ Swim Lane .‬ب يی‬ ‫تٕاَُؼ ػًٕػی (ًْبَٖٕؿ کّ ػؿ ایٍ يخبل ػیؼیؼ) یب اكوی ثبىُؼ‪ .‬ایٍ ثنتگی ثّ ىًب ػاؿػ کّ چگَّٕ ػیبگـايتبٌ ؿا‬ ‫عٕاَبتـ کُیؼ‪ْ Swim Lane .‬ب ثؼؼ یب اثؼبػ ػیگـی اف إالػبت ؿا ثّ ػیبگـاو ىًب اّبكّ يی کُ​ُؼ‪ .‬اگـ َويی ػاىتیؼ‬ ‫کّ ينئٕنیت آٌ ثیٍ چُؼیٍ َوّٖ يغتهق (چُؼیٍ ػپبؿتًبٌ يغتهق) تونیى ىؼِ ثٕػ چّ يی کـػیؼ؟ يًکٍ امت‬ ‫یک ػكتـ اٍهی ػاىتّ ثبىیؼ ٔ ىؼجّ ْبی ػیگـ َیق َوو ْبیی ييبثّ ػكتـ اٍهی ايب ثب ينئٕنیت ْبی يغتهق‬ ‫ػاىتّ ثبىیؼ ٔ یب يخالً ػؿ يخبل ػاَيگبِ يًکٍ امت یک يزًٕػّ اٍهی (پـػیل) ثـای تؼؿیل ػاَيزٕیبٌ اٍهی ٔ‬ ‫یک يزًٕػّ يبْٕاؿِ ای ثـای آيٕفه ؿاِ ػٔؿ ػاىتّ ثبىیؼ‪ .‬ػؿ ایُزب ‪َ Swim Lane‬وو ْبی عٕػ ؿا عٕاْیى ػاىت‬ ‫کّ ثّ ٍٕؿت ػًٕػی تُظیى ىؼِ اَؼ ٔ ػجبؿتُؼ اف يؼیـیت ٔ ْیئت ػهًی‪ .‬ػؿ ‪ْ Swim Lane‬بی اكوی َیق ػٔ‬ ‫يزًٕػّ اٍهی ٔ آيٕفه ؿاِ ػٔؿ ؿا عٕاْیى ػاىت‪ .‬کم ایٍ مینتى ثبیؼ یک میبمت کبؿی ؿا تٓیّ ٔ پیبػِ مبفی‬ ‫کُؼ نؾا يؼیـیت يزًٕػّ اٍهی ثب تٓیّ پیو َٕیل ایٍ میبمت کبؿی‪ ،‬آؿبفگـ ایٍ كـایُؼ عٕاْؼ ثٕػ‪ .‬مپل ًْتبی‬ ‫آٌ یؼُی يؼیـیت يزًٕػّ آيٕفه ؿاِ ػٔؿ ایٍ پیو َٕیل ؿا يٕؿػ ثـؿمی هـاؿ ػاػِ ٔ ثّ يؼیـیت يزًٕػّ اٍهی ثـ‬ ‫يی گـػاَؼ‪ .‬ػؿ ایٍ ُْگبو يؼیـیت ثغو اٍهی ثب تَٕیت میبمت کبؿی اهؼاو ثّ تٕنیؼ مُؼ آٌ کـػِ ٔ مپل ثّ‬ ‫ْیئت ػهًی ْـ ػٔ يزًٕػّ تضٕیم يی ػْؼ‪ْ .‬یئت ػهًی يزًٕػّ اٍهی ٔ ْیئت ػهًی يزًٕػّ آيٕفه ؿاِ ػٔؿ‬

‫‪62‬‬

‫‪www.ParsBook.org‬‬


‫يتُبمت ثب ٔظبیق عٕػ میبمت ْبی کبؿی ؿا ثـای ػاَيزٕیبٌ اٍهی ٔ ػاَيزٕیبٌ آيٕفه اف ؿاِ ػٔؿ پیبػِ مبفی‬ ‫يی کُ​ُؼ‪ .‬نؾا ایٍ َٕع ىجکّ چُؼ ثؼؼی ػٔ يزًٕػّ اف ثغو ْب کّ ػؿ ‪ UML 2.0‬رؼیؼ ثٕػ ؿا ثّ ًَبیو يی گؾاؿػ ٔ‬ ‫ثؼؼ تبفِ ای اف إالػبت ؿا ثـای ًَبیو ایُکّ ػؿ یک ػیبگـاو كؼبنیت‪ ،‬چّ کنی چّ کبؿی اَزبو يی ػْؼ ؿا كـاْى‬ ‫يی آٔؿػ‪.‬‬

‫‪63‬‬

‫‪www.ParsBook.org‬‬


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.