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