y §y ¹ ¿ Ê |ÀÆ» Ãz´ Ëz» mce.sharif.edu/courses/91-92/1/ce404-1/resources/root...̸ve...

15
Y§Y ¹¿ Ê|ÀÆ» ÃZ´ËZ»M ʧ »

Upload: others

Post on 13-Mar-2020

19 views

Category:

Documents


0 download

TRANSCRIPT

�����Y�§Y�¹�¿�Ê�|ÀÆ»�ÃZ´�ËZ»�M

�ʧ� »

ÃZ´�ËZ»�M�ÉZÅ�dÌ·Z §���������ZÌ¿�Ê�|ÀÆ»�¶»Z���Y�§Y�¹�¿�Ê�|ÀÆ»�ʸ�Y�Ã�Âu�lÀa��{�ÃZ´�ËZ»�M��Z¯�����,¶Ì¸ve�,ZÅ�É|À»

�����{�Ë~a�Ê»��¹Zn¿Y�½Â»�M�Á�É�Z��Ã{ZÌa�,ÊuY�������ÉZÅ�ÃÁ�³�Ä]��Ô¯���ZË������{Â�Ì»�ºÌ�¬e�Ã�¨¿������ÃÁ�³��Å�ÉY�]�Ã�Á�a�®Ë�[Zzf¿Y

�´Ë{�ÉZÅ�ÃÁ�³��Z¯�É{�§�Ê]ZË��Y����Ĭ̫{�{Ây�s����Y��Z§{�Á�ZÅ�ÃÁ�³�Ã|��¹Zn¿Y��Z¯�ÄWY�Y����¼n»��{��Ĭ̫{���Y�]Y�Á�ºÌÅZ¨»�ÄWY�Y�Ä�¸m�½M��Â�»�Ä]��Â]�»����ZÅ�ÃÁ�³���Âe����Ĭ̫{��Ô¯��{�ÊÅÁ�³��Z¯�¹Zn¿Y����{Ây�ʸ^«�ÉZÅ�Z¯�Á�ZÅ�µ|»�sÔ�Y�Á�ÊÀÌ]�Z]�,�Á�»����Ĭ̫{���ÃZ´�ËZ»�M��{�ÊÅÁ�³��Z¯�lËZf¿�Á�Ã|��sÔ�Y�ÉZÅ�µ|»��Ë¿��Ìa�ÄWY�Y�Ä]TA

�Ä]�½M�µZ��Y�Á�ZÅ�ÃÁ�³���Âe�| ]�Äf¨Å�Ze�ÃZ´�ËZ»�M��Z¯���Y�³�ÄÌÆe�Ô¯�ÉZ��Y �Ô¯��{�½{�ÁM

ÃZ´�ËZ»�M�ÉZÅ�dÌ·Z §�ZÅ�É|À»�ZÌ¿�Ê�|ÀÆ»

�������,ºf�Ì��ÄÀÌ»��ÊËZ�ZÀ��,ZÅ�É|À»�ZÌ¿�É�ÁM��¼md¼�«�,�¶Ì¸ve�d¼�«�,¶Ì¸ve��É�Z¼ »É�Z¼ »�Ê]ZË��YÊuY��É�]�Z¯���YÁ�ÊuY���Á�É�Z��Ã{ZÌaRefactoring

½Â»�M

��{��Z^yY��Y��Ô�YdËZ��[Á��http://ce.sharif.edu/courses/91-92/1/ce404-1/index.php

µÂX�»����|�Z�»�É�ËÁ�a�Z��̸���[email protected]

Ã�¼¿�¹�Z]�ÄWY�Y����

����ÊeZ»|¬»�ºÌÅZ¨»����{Za�,ZÅ|f»�,ZÅ�Y�]Y� Êf�YÂy�{�{�Y»�\�u��]�¹�Ó�ÉZÅ�µ|»�Á�ZÅ´·Y�����{Za�,ZÅ|f»�,ZÅ�Y�]Y� �Á�ÊËZÅ�µ|»�,ZÅ´·Y�����|¿Y�Ã|�¿�Äf¨³�Ô^«�į������ʧZ�Y�Ã�¼¿�

µ|»Zf»µZ»�§���������

��´Ë{�ÉZÅ�ÃÁ�³��Z¯�Ê]ZË��Y�����ÊËZÆ¿�Ã�Á�a������j¯Y|u��Ô¯��{��ÌyZe���ÌyZe��Z]��Å�Á�|�Z]�Ê»�µÂ^¬»��Ĭ̫{��� �{�Y{�ʨÀ»�Ã�¼¿��|�Z]�Ê»��Zn»�Äf¨Å��{��Z^°Ë��j¯Y|u��Ô¯��{�d^Ì£���d^Ì£�¹|�� �{�Y{�d^j»���

����� ������� �������� ��¶¯�Ã�¼¿

�εέΰ�ΕΎϴϠ

��ίΎδϟΪϣ�ϥΎΑί�ίUMLΩϮη�ϩΩΎϔΘγ�

ΩϮη�ϳΎγΎϨη�ΘγέΩ�ϪΑ�ΑΎΨΘϧ��ϪϠΣήϣ��ϩΩϭΪΤϣ

�ZÅ�É|À»�ZÌ¿�Ê�|ÀÆ»ϪϨϴϣί�ˬΎϬϳΪϨϣίΎϴϧ�ωϮϧ�ϞΜϣ�ϤϴϫΎϔϣ��Ϫέ�context�ϪϨϣΩ�ˬ��domain���ϢϴϫΎϔϣ�ϭ

ΎϬϳΪϨϣίΎϴϧ�ϪϠΣήϣ�ϪΑ�ςΒΗήϣ��

�ςΒΗήϣ�ΕΎϋϼσ�έϭ�ϊϤΟ�ϭ�ΎϬϳΪϨϣίΎϴϧ�ϳΎγΎϨη��ϩϮΤϧ

ϪϨϣΩ�ϭ�ϪϨϴϣί�ϳΎγΎϨη��ϩϮΤϧ

ϪϨϴϣί�ϭ�ΎϬϳΪϨϣίΎϴϧ�ίΎγ�ϝΪϣ��ϩϮΤϧ

�ί�ϩΩΎϔΘγusecaseΕΎϴΰΟ�ϩήϤϫ�ϪΑ�ΎϬϳΪϨϣίΎϴϧ�ίΎδϟΪϣ�ήΑ�

�ϡήΎϳΩ�Ϥ�ΎΑ�ϪϠΌδϣ�ϞϴϠΤΗ�ϭ�ϒθIshikawa(Fish-bone)

��ΎϫέΰΑ�ϭ�ΎϫϮϟΩΎ�ϭ�ΎϫϮϟ�γέήΑ

ϪΟϮΗ�ϞϣΎ��ϩήϤϧ�ΖϓΎϳέΩ�ήΑ�Ύϣ�ΩΩή�υΎΤϟ�εέΰ�έΩ�ΪϳΎΑ�έϮάϣ�ΩέϮϣ��ϓΎ�ΩΩή�ϪϓΎο�ΰϴϧ�ήϳΩ�ΐϟΎτϣ�Ζγ�ϡίϻ�ϭ�ΪηΎΑ�Ϥϧ���ΕέϮλ�ϪΑ�ΐϟΎτϣ�ΪϳΎΑ�ϦϴϨϤϫ

���ϩϭή�ΎϬϳΪϨϣίΎϴϧ�ίΎγ�ϝΪϣ�ϭ�ΐδ��ϩϮΤϧ�είϮϣ�έϮψϨϣ�ϪΑ�ϭ�ϪΘγϮϴ�ϢϴψϨΗΩΩή��

¶Ì¸ve��ϞϴϠΤΗ�ΗΎϣΪϘϣ�ϢϴϫΎϔϣ��Ϫέ

����έΰϓ�ϡήϧ��ϪόγϮΗ�ΪϨϳήϓ�έΩ�ϞϴϠΤΗ��ϩΩϭΪΤϣ�ϭ�ϩΎϳΎΟ�γέήΑ

���ϞϴϠΤΗ��ϩϮΤϧ�ϭ�ΎϬϧ�ϳϭ�ˬϞϴϠΤΗ�Ύϫ�αϼ

�Ύϫ�αϼ�ϦϴΑ�ςΑϭέ�γέήΑ

ϪΟϮΗ�������ϩήϤϧ�ΖϓΎϳέΩ�ήΑ�Ύϣ�ΩΩή�υΎΤϟ�εέΰ�έΩ�ΪϳΎΑ�έϮάϣ�ΩέϮϣ�

�ΩΩή�ϪϓΎο�ΰϴϧ�ήϳΩ�ΐϟΎτϣ�Ζγ�ϡίϻ�ϭ�ΪηΎΑ�Ϥϧ�ϓΎ�ϞϣΎ���

��ΐδ��ϩϮΤϧ�είϮϣ�έϮψϨϣ�ϪΑ�ϭ�ϪΘγϮϴ�ΕέϮλ�ϪΑ�ΐϟΎτϣ�ΪϳΎΑ�ϦϴϨϤϫ

��ΩΩή�ϢϴψϨΗ�ϩϭή�ΎϬϳΪϨϣίΎϴϧ�ίΎγ�ϝΪϣ�ϭ�

¶Ì¸ve�ϪΘδΑ�ϞϴϠΤΗ��package��

ΖϴϟΎόϓ�έΩϮϤϧ�γέήΑ

Usecase realization

�ΎϫέΰΑ�ϭ�ΎϫϮϟΩΎ�ϭ�ΎϫϮϟ�γέήΑ

ϪΟϮΗ�������ϩήϤϧ�ΖϓΎϳέΩ�ήΑ�Ύϣ�ΩΩή�υΎΤϟ�εέΰ�έΩ�ΪϳΎΑ�έϮάϣ�ΩέϮϣ�

�ΩΩή�ϪϓΎο�ΰϴϧ�ήϳΩ�ΐϟΎτϣ�Ζγ�ϡίϻ�ϭ�ΪηΎΑ�Ϥϧ�ϓΎ�ϞϣΎ���

��ΐδ��ϩϮΤϧ�είϮϣ�έϮψϨϣ�ϪΑ�ϭ�ϪΘγϮϴ�ΕέϮλ�ϪΑ�ΐϟΎτϣ�ΪϳΎΑ�ϦϴϨϤϫ

��ΩΩή�ϢϴψϨΗ�ϩϭή�ΎϬϳΪϨϣίΎϴϧ�ίΎγ�ϝΪϣ�ϭ�

έΎϤόϣ

έΎϤόϣ�ϡϮϬϔϣ�γέήΑ

έΎϤόϣ�ΩΎόΑ�γέήΑ

��� έΎϤόϣ�ίΎδϟΪϣ�Ύϫ�εϭέ�ϭ�ΎϫέΰΑ�γέήΑ

�ΎϫέΰΑ�ϭ�ΎϫϮϟΩΎ�ϭ�ΎϫϮϟ�γέήΑ

ϪΟϮΗ�������ϩήϤϧ�ΖϓΎϳέΩ�ήΑ�Ύϣ�ΩΩή�υΎΤϟ�εέΰ�έΩ�ΪϳΎΑ�έϮάϣ�ΩέϮϣ�

�ΩΩή�ϪϓΎο�ΰϴϧ�ήϳΩ�ΐϟΎτϣ�Ζγ�ϡίϻ�ϭ�ΪηΎΑ�Ϥϧ�ϓΎ�ϞϣΎ���

��ΐδ��ϩϮΤϧ�είϮϣ�έϮψϨϣ�ϪΑ�ϭ�ϪΘγϮϴ�ΕέϮλ�ϪΑ�ΐϟΎτϣ�ΪϳΎΑ�ϦϴϨϤϫ

��ΩΩή�ϢϴψϨΗ�ϩϭή�ΎϬϳΪϨϣίΎϴϧ�ίΎγ�ϝΪϣ�ϭ�

� έΎϤόϣ�ΑΎϳίέ

��� έΎϤόϣ�ΑΎϳίέ�Ύϫ�εϭέ�ΪϨΑ�ϪΘγΩ

ϥ�ΕΎϴΰΟ�γέήΑ�ϭ�ΐγΎϨϣ�ΑΎϳίέ�εϭέ�ϳ�ΏΎΨΘϧ

�ΎϫέΰΑ�ϭ�ΎϫϮϟΩΎ�ϭ�ΎϫϮϟ�γέήΑ

ϪΟϮΗ�������ϩήϤϧ�ΖϓΎϳέΩ�ήΑ�Ύϣ�ΩΩή�υΎΤϟ�εέΰ�έΩ�ΪϳΎΑ�έϮάϣ�ΩέϮϣ�

�ΩΩή�ϪϓΎο�ΰϴϧ�ήϳΩ�ΐϟΎτϣ�Ζγ�ϡίϻ�ϭ�ΪηΎΑ�Ϥϧ�ϓΎ�ϞϣΎ���

��ΐδ��ϩϮΤϧ�είϮϣ�έϮψϨϣ�ϪΑ�ϭ�ϪΘγϮϴ�ΕέϮλ�ϪΑ�ΐϟΎτϣ�ΪϳΎΑ�ϦϴϨϤϫ

��ΩΩή�ϢϴψϨΗ�ϩϭή�ΎϬϳΪϨϣίΎϴϧ�ίΎγ�ϝΪϣ�ϭ�

� Σήσ

� Σήσ�ϢϴϫΎϔϣ��Ϫέ

ϢΘδϴγήϳί�Σήσ

αϼ�Σήσ

�Σήσusecase realization

�γέήΑdeployement Diagram

�ΎϫέΰΑ�ϭ�ΎϫϮϟΩΎ�ϭ�ΎϫϮϟ�γέήΑ

ϪΟϮΗ�������ϩήϤϧ�ΖϓΎϳέΩ�ήΑ�Ύϣ�ΩΩή�υΎΤϟ�εέΰ�έΩ�ΪϳΎΑ�έϮάϣ�ΩέϮϣ��ΩΩή�ϪϓΎο�ΰϴϧ�ήϳΩ�ΐϟΎτϣ�Ζγ�ϡίϻ�ϭ�ΪηΎΑ�Ϥϧ�ϓΎ�ϞϣΎ���

��ΐδ��ϩϮΤϧ�είϮϣ�έϮψϨϣ�ϪΑ�ϭ�ϪΘγϮϴ�ΕέϮλ�ϪΑ�ΐϟΎτϣ�ΪϳΎΑ�ϦϴϨϤϫ��ΩΩή�ϢϴψϨΗ�ϩϭή�ΎϬϳΪϨϣίΎϴϧ�ίΎγ�ϝΪϣ�ϭ�

É�]�Z¯���YÁ�ÊuY��ΗΎϣΪϘϣ�ϢϴϫΎϔϣ��Ϫέ

���ΪϨΘδϫ�ϭήΑϭέ�ςγϭ�τγ�έΩ�Ηϼθϣ�Ϫ�ΎΑ�ϥήΑέΎ

ςγϭ�Σήσ�ωϮϧ

�ΎϫέϮΘΎϓHuman EngineeringΩΩή�υΎΤϟ�ςγϭ�Σήσ�έΩ�ΪϳΎΑ�Ϫ�

ήΑέΎ�ςγϭ�Σήσ�Ύϫ�ϡΎ

� ϴϓή�ήΑέΎ�ςγϭ�Ύϫ�Βγ

Ϣϳήϓ�ϭ�ίϭΪϨϳϭ

�Ύϫ�ςγϭMenu-Driven

�.

��ΎϫέΰΑ�ϭ�ΎϫϮϟΩΎ�ϭ�ΎϫϮϟ�γέήΑ

ϪΟϮΗ�ϞϣΎ��ϩήϤϧ�ΖϓΎϳέΩ�ήΑ�Ύϣ�ΩΩή�υΎΤϟ�εέΰ�έΩ�ΪϳΎΑ�έϮάϣ�ΩέϮϣ��ϓΎ�ΩΩή�ϪϓΎο�ΰϴϧ�ήϳΩ�ΐϟΎτϣ�Ζγ�ϡίϻ�ϭ�ΪηΎΑ�Ϥϧ���ΕέϮλ�ϪΑ�ΐϟΎτϣ�ΪϳΎΑ�ϦϴϨϤϫ

���ϩϭή�ΎϬϳΪϨϣίΎϴϧ�ίΎγ�ϝΪϣ�ϭ�ΐδ��ϩϮΤϧ�είϮϣ�έϮψϨϣ�ϪΑ�ϭ�ϪΘγϮϴ�ϢϴψϨΗΩΩή��

�Á�É�Z��Ã{ZÌaRefactoring

έήϘΘγ�ϭ�ίΎγ�ϩΩΎϴ�ϝΪϣ��Deployement�

� ΗΎϣΪϘϣ�ϢϴϤϫΎϔϣ��Ϫέ

ΪΑ�ΎϫΪ�ϓήόϣ

��Ύϫ�εϭέ�γέήΑrefactoringΪ�

ϪΟϮΗ�������ϩήϤϧ�ΖϓΎϳέΩ�ήΑ�Ύϣ�ΩΩή�υΎΤϟ�εέΰ�έΩ�ΪϳΎΑ�έϮάϣ�ΩέϮϣ�

�ΩΩή�ϪϓΎο�ΰϴϧ�ήϳΩ�ΐϟΎτϣ�Ζγ�ϡίϻ�ϭ�ΪηΎΑ�Ϥϧ�ϓΎ�ϞϣΎ���

��ΐδ��ϩϮΤϧ�είϮϣ�έϮψϨϣ�ϪΑ�ϭ�ϪΘγϮϴ�ΕέϮλ�ϪΑ�ΐϟΎτϣ�ΪϳΎΑ�ϦϴϨϤϫ

��ΩΩή�ϢϴψϨΗ�ϩϭή�ΎϬϳΪϨϣίΎϴϧ�ίΎγ�ϝΪϣ�ϭ�

½Â»�MΗΎϣΪϘϣ�ϢϴϫΎϔϣ

έΰϓ�ϡήϧ�ΖδΗ��ϪΨϳέΎΗ

��γέήΑfailure� έΰϓ�ϡήϧ�ϢϬϣ�Ύϫ�

ˮΩΩ�ϡΎΠϧ�ΖδΗ�ΪϳΎΑ�ή

�έΰϓ�ϡήϧ�ΖδΗ�ΪϨϳήϓ

έΰϓ�ϡήϧ�ΖδΗ�έΩ�ΩϮΟϮϣ�Ύϫ�ζϘϧ

�ΖδΗ�Ύϫ�εϭέ�ϒϠΘΨϣ�ωϮϧ�γέήΑ

���ϥ�ΕΎϴΰΟ�γέήΑ�ϭ�ΖδΗ�εϭέ�ϳ�ΏΎΨΘϧ

��ΎϫέΰΑ�ϭ�ΎϫϮϟΩΎ�ϭ�ΎϫϮϟ�γέήΑ

ϪΟϮΗ�ϞϣΎ��ϩήϤϧ�ΖϓΎϳέΩ�ήΑ�Ύϣ�ΩΩή�υΎΤϟ�εέΰ�έΩ�ΪϳΎΑ�έϮάϣ�ΩέϮϣ��ϓΎ�ΩΩή�ϪϓΎο�ΰϴϧ�ήϳΩ�ΐϟΎτϣ�Ζγ�ϡίϻ�ϭ�ΪηΎΑ�Ϥϧ���ΕέϮλ�ϪΑ�ΐϟΎτϣ�ΪϳΎΑ�ϦϴϨϤϫ

���ϩϭή�ΎϬϳΪϨϣίΎϴϧ�ίΎγ�ϝΪϣ�ϭ�ΐδ��ϩϮΤϧ�είϮϣ�έϮψϨϣ�ϪΑ�ϭ�ϪΘγϮϴ�ϢϴψϨΗΩΩή��