Professional Documents
Culture Documents
تصميم البرمجيات Software Design
تصميم البرمجيات Software Design
ٍٕ ٜشحيت ٍِ ٍشاحو دٗسة حٞبة اىْظبً ،حغبػذّب ف ٜححذٝذ مٞفٞت حو اىَشنيت "مٞف عْحو اىَشنيت؟"ٗ ،اىخخطٞظ ىيخ٘صو
ئى ٚحي٘ه ىيَشنيتٗ ،اىذخ٘ه ف ٜحفبصٞو اىْظبً .اىخصَٝ ٌٞحذد ٕٞنيٞت ٗبْٞت اىْظبً ٍِ خاله حضضئت اىْظبً ئىٍ ٚضَ٘ػت ٍِ
األّظَت اىفشػٞت ٍَ Sub-Systemsب ٝغبٌٕ ف ٜاىغٞطشة ػي ٚاىخؼقٞذ ف ٜاىْظبً ٗ ،System Complexityححذٝذ
اى٘اصٖبث ّٗ٘افز اىَغخخذً ٗ، User Interfacesاىَنّ٘بث ٗ ،Componentsاى٘حذاث ٗ Modulesاىبٞبّبث ىيْظبً مٜ
ٝحقق اىْظبً ٍخطيببث اىضبُّ٘ٗ .قً٘ بَشحيت اىخصَ ٌٞببعخخذاً اىَخطيببث اىخ ٜحذدّبٕب فٍ ٜشحيت اىخحيٞوٍ .شحيت اىخصٌَٞ
ٝخٌ خالىٖب ئٝضبد اىخصَ ٌٞاألٍزو ىْظبً اىَؼيٍ٘بث اىحبع٘ب ٜاىزٝ ٛيب ٜاحخٞبصبث اىَغخخذٍ ِٞاىخ ٜحٌ ح٘صٞفٖب فٍ ٜشحيت
اىخحيٞو .ئُ ػَيٞت اىخصَ ٌٞف ٜصٕ٘شٕب ٕ ٜػَيٞت حو ٍشنالث ،أٝ ٛضش ٛاىبحذ خالىٖب ػِ أفضو اىحي٘ه اىخصََٞٞت
ىبْبء ّظٌ راث إٔذاف ٍحذدة.
يرحهة انتصًيى نبرَايح ٕ ٜػَيٞت ححيٞيٞت ىَخطيببث اىبشّبٍش الخخٞبس ٗ بْبء ٕٞنو اىبشّبٍش ٗ أصضاءٓ ٗ مٞفٞت حشابطٖب ٍغ
بؼضٖب اىبؼضْٝ ،خش ػِ رىل ٍضَ٘ػت ٍِ اىَيفبث ٗ اىَْبرس ٗ اىشعٍ٘بث اىبٞبّٞت اىخَٝ ٜنِ ٍْٖب بشٍضت ٗمخببت شٞفشة
اىبشّبٍش “ببىنبٍو”.
تصًيى انبرَايح ٕ٘ ٗصف ىٖٞنو اىبشّبٍش اىَشاد حْفٞزٓ َّ ،برس اىبٞبّبث ٗاىٖٞبمو اىَغخخذٍت ٍِ قبو اىْظبً ٗ ،اى٘اصٖبث
بٍ ِٞنّ٘بث اىْظبً اىَإىفبث ٗأحٞبًّب اىخ٘اسصٍٞبث اىَغخخذٍت .اىَصََُ٘ ال ٝصيُ٘ ئى ٚاىْٖبٝت اىخصَ ٌٞػي ٚاىف٘س ٗىنِ
حط٘ٝش اىخصَ ٌٞبشنو ٍخنشسٝ .ضٞفُ٘ اىشعَٞت ٗاىخفبصٞو مَب ٝط٘سُٗ حصٍَ ٌَٖٞغ اىخشاصغ اىَغخَش ىخصحٞح
اىخصََٞبث اىغببقت.
حخخيف األّشطت ف ٜػَيٞت اىخصَ ، ٌٞاػخَبدًا ػيّ٘ ٚع اىْظبً اىَخقذٍت .ػي ٚعبٞو اىَزبه ،حخطيب أّظَت اى٘قج اىفؼيٜ
حصَ ٌٞح٘قٞج ٗىنْٖب قذ ال حخطيب رىل حضَ ِٞقبػذة بٞبّبث حخ ٚال ٝنُ٘ ْٕبك حصَ ٌٞىقبػذة اىبٞبّبث٘ٝ .ضح اىشنو
أسبؼت األّشطت اىخ ٜقذ حنُ٘ صض ًءا ٍِ ػَيٞت حصَ ٌٞأّظَت اىَؼيٍ٘بث:
.1اىخصَ ٌٞاىَؼَبس ، Architectural Design ٛحٞذ ححذد اىٖٞنو اىؼبً ىيْظبً ،فاُ اىَنّ٘بث اىشئٞغٞت (حغَ ٚأحٞبًّب
األّظَت اىفشػٞت أٗ اى٘حذاث اىَْطٞت) ٗ ،ػالقخٖب -اىؼالقبث ٗمٞف ٝخٌ ح٘صٝؼٖب.
.2حصَ ٌٞاى٘اصٖت ،حٞذ ححذد اى٘اصٖبث بٍ ِٞنّ٘بث اىْظبًٝ .ضب أُ حنُ٘ ٍ٘اصفبث اى٘اصٖت ال ىبظ فٖٞبٍ .غ ٗاصٖت
دقٞق ت ،أ َٝنِ اعخخذاً اىَنُ٘ دُٗ اىحبصت ئىٍ ٚؼشفت اىَنّ٘بث األخش ٙىٔ ٍْفز .بَضشد اىَ٘افقت ػيٍ٘ ٚاصفبث اى٘اصٖت
َٝ ،نِ أُ حنُ٘ اىَنّ٘بث حٌ حصََٖٞب ٗحط٘ٝشٕب بشنو ٍخضاٍِ.
حصَ ٌٞاىَنّ٘بث ،حٞذ حأخز مو ٍنُ٘ ٍِ ٍنّ٘بث اىْظبً ٗحصٌَ مٞف عٞنُ٘ اىؼَو .قذ ٝنُ٘ ٕزا بٞبًّب بغٞطًب ىي٘ظٞفت
اىَخ٘قؼت حٌ اىخْفٞز ٍ ،غ حشك اىخصَ ٌٞاىَحذد ىيَبشٍش .بذال ٍِ رىل ،قذ ٝنُ٘ حنُ٘ قبئَت ببىخغٞٞشاث اىخٝ ٜضب ئصشاؤٕب
ػيٍ ٚنُ٘ قببو إلػبدة االعخخذاً أٗ َّ٘رس حصٍَ ٌٞفصوَٝ .نِ اعخخذاً َّ٘رس اىخصَ ٌٞإلّشبء حْفٞز حيقبئًٞب.
.4حصَ ٌٞقبػذة اىبٞبّبث ،حٞذ حقً٘ بخصَٕٞ ٌٞبمو بٞبّبث اىْظبً ٗمٞف ٝخٌ رىل ىٞخٌ حَزٞيٖب ف ٜقبػذة بٞبّبثٍ .شة أخشٙ
ٝ ،ؼخَذ اىؼَو ْٕب ػيٍ ٚب ئرا مبُ ٍيف ٝضب ئػبدة اعخخذاً قبػذة اىبٞبّبث اىحبىٞت أٗ ئّشبء قبػذة بٞبّبث صذٝذة .حإدٕ ٛزٓ
األّشطت ئىٍ ٚضَ٘ػت ٍِ ٍخشصبث اىخصَ. ٌٞ
مَب أُ بْبء ٍبْٝ ٚخطيب أٗال ححذٝذ شنو ٕٞنئ ،فنزىل بْبء اىبشّبٍشٕٞ .نٞيت اىبشّبٍش ٕ ٜػَٞيت حشحٞب ألصضاء اىبشّبٍش
بطشٝقت ٍؼْٞت ٗ ٍشحبت ٗ حْظ ٌٞحشابظ ٕزٓ األصضاء ٍغ بؼضٖب اىبؼض .غبىبب ال حخطيب ٕزٓ ٍشحيت االبخنبس ،فْٖبك أّ٘اع
ٍؼشٗفت ٗ ٍح ذدة ٍِ اىٖٞبمو .مو ٍب ُٝغخيضً فٕ ٜزٓ اىَشحيت أٗ اخخٞبس اىٖٞنو اىَْبعب ىيبشّبٍشٝ .ؼخَذ اخخٞبس اىٖٞنو ػيٚ
ّ٘ع اىبشّبٍش ٗ ػي ٚدساعت ص٘اّب آخشٍَٖ ٙت مبألداء (ٗ )performanceاىحَبٝت ٗ األٍبُ (ٗ )security and safty
عٖ٘ىت اىصٞبّت (.)Maintainability
ٗ ٝغخخذً ف ٜاىبشاٍش اىخ ٜحؼَو ػي ٚأمزش ٍِ صٖبص أٗ ٍ٘صػت ػي ٚشبنتٍ .زبهٍ :خصفح االّخشّج.
ٗٝغخخذً ف ٜاىبشاٍش اىخ ٜحْقغٌ ئى ٚأصضاء ٗاضحت (طبقبث) ٗ .مو طبقت حؼخَذ ػيٍ ٚب ححخٖب ٍِ طبقبث.
ٍزبه :بشاٍش حح٘ٝو ٗ ئسعبه اىبٞبّبث ػبش اىشبنت .فخح٘ٝو اىبٞبّبث ٝغخيضً ٍشاحو ٗ مو ٍشحيت حؼخبش طبقت.
ٗ ٝغخخذً ف ٜاىبشاٍش اىخ ٜحؼخَذ ػي ٚقبػذة (أٗ ق٘اػذ) بٞبّبث مبٞشة (.)Database
ٍزبه :بشّبٍش حْظٍ ٌٞنخبت ٝحخ٘ ٛقبػذة بٞبّبث ضخَت حح٘ ٛصَٞغ ٍؼيٍ٘بث اىنخب ٗ ٍؼيٍ٘بث اىَ٘ظف… ِٞاىخٗ ، .
ٝغخخذً ٕزٓ اىقبػذة أمزش ٍِ شخص فّ ٜفظ اى٘قج.
قرارات انتصًيى انًعًاري :Architectural Design decision
اىخصَ ٌٞاىَؼَبس ٕ٘ ٛػَيٞت ئبذاػٞت حٞذ حقً٘ بخصَّ ٌٞظبً حْظ ٍِ ٌٞشأّٖب أُ حف ٜببىَخطيببث اى٘ظٞفٞت ٗغٞش اى٘ظٞفٞت
ىيْظبً .ألُ ئّٖب ػَيٞت ئبذاػٞت ،حؼخَذ األّشطت داخو اىؼَيٞت ػيّ٘ ٚع اىْظبً قٞذ اىخط٘ٝش ٗ ،خيفٞت ٍْٖذط اىْظبً ٗخبشحٔ ،
ٗ اىَخطيببث اىَحذدة ىيْظبً .ىزىل ٍِ اىَفٞذ اىخفنٞش ف ٜاىْٖذعت اىَؼَبسٝت اىخصَ ٌٞمغيغيت ٍِ اىقشاساث اىخٝ ٜضب احخبرٕب
بذالً ٍِ عيغيت ٍِ األّشطت .أرْبء ػَيٞت اىخصَ ٌٞاىَؼَبسٝ ، ٛخؼ ِٞػيٍْٖ ٚذع ٜاىْظبً ػَو سقٌ ىيقشاساث اىٖٞنيٞت اىخٜ
حإرش بشنو ػَٞق ػي ٚاىْظبً ٗحط٘سٓ ػَيٞت .بْب ًء ػيٍ ٚؼشفخٌٖ ٗخبشحٌٖ ٝ ،خؼ ِٞػيٍ ٌٖٞشاػبة ٍب ٝي -ٜاألعئيت األعبعٞت
ح٘ه اىْظبً :
ٕ .1و ح٘صذ بْٞت ػبٍت ىيخطبٞق َٝنِ أُ حنُ٘ بَزببت َّ٘رس ىيْظبً -ح ٌٞاىخٝ ٜضش ٛحصََٖٞب؟
.5مٞف عٞخٌ ححيو اىَنّ٘بث اىٖٞنيٞت ف ٜاىْظبً ئى ٚفشػٞت ػْبصش؟ 6
ٍ .6ب ٕ ٜاالعخشاحٞضٞت اىخ ٜعٞخٌ اعخخذاٍٖب ىيخحنٌ ف ٜحشغٞو اىَنّ٘بث ف ٜاىْظبً؟
ٍ .7ب ٕ ٜاىَْظَت اىَؼَبسٝت األفضو ىخقذ ٌٝاىَخطيببث غٞش اى٘ظٞفٞت -ئشبساث اىْظبً؟
ٝخؼيق ٕزا اىقغٌ ببىضضء اىفْ ٗ ٜصَبى ٍِ ٜاىبشّبٍش .مٌ ٖٝخٌ بغشػت اعخضببت اى٘اصٖت ٗ ئٍنبّٞخٖب ئػطبء ٍؼيٍ٘بث ٗاضحت
ٗ مبفٞت ىيَغخخذًْٕٗ .بك دساعبث مزٞشة فٕ ٜزا اىَضبه حشَو دساعت اىضبّب اىْفغ ٜىإلّغبُ ٗ حأرشٓ ببألى٘اُ ٗ بطشٝقت
حشحٞب األشٞبء.