SA WorkShop1 by O998zF0H

VIEWS: 9 PAGES: 72

									                         ‫كارگاه آموزشي‬
                      ‫معماري نرمآفزآر‬
                      ‫‪www.esoa.ir‬‬
 ‫دك تر فريدون شمس‬
‫سيد شروين آستادزآده‬
        ‫فهرست مطالب‬
‫يك مثال: عمارت وينچستر‬
    ‫مقدمهآی بر معماری‬
 ‫معماري نرمآفزآر چيست؟‬
     ‫چرخه کاری معماری‬
       ‫ساختارها و ديدها‬
          ‫صفات کيفيتی‬
‫يك مثال: عمارت وينچستر‬

       ‫نمونهآي آز‬
       ‫عدم معماري‬
     ‫يك مثال: عمارت وينچستر‬
                ‫هزينه ساخت = 5/5 ميليون دالر‬
          ‫مدت ساخت = 83 سال (آز 4881 تا 2291)‬
                              ‫تعدآد آطاقها = 061‬
                                 ‫تعدآد طبقات = 2‬
                              ‫تعدآد رآه پلهها = 04‬
                                ‫تعدآد آسانسور = 3‬
                               ‫تعدآد دربها = 764‬
        ‫تعدآد پنجرهها = 7521 (00001 قطعه شيشه)‬
                                 ‫تعدآد بخاري = 74‬
                               ‫تعدآد دودكش = 71‬
‫سيستم گرماي ي = كانال بخار، هوآي گرم، بخاري‬
 ‫تعدآد دربهاي ي كه به جاي ي باز نميشود = 059‬
                                                                                                                                                  ‫يك وآقعيت‬
                                                                                                                  ‫آگر سازههاي بلوكي و زيرساختهاي آك ثر‬
                                                                                                                  ‫سيستمهاي نرمآفزآري آمروزي رآ با معادلهاي آنها‬
In s ti tu ti on al l y ow ne d                                 In te rn et



Sh are d Co m p utin g
                              Se c ur i ty
                                 t
                           ( M oni or ,   Fi ewa l
                                           r     )
                                                       ATM
                                                              Co nne ctio n

                                                                ES net               In te rn et
                                                                                                                  ‫در ساختمان جايگزين كنيم به عمارتهاي ي نظير‬
  Re sou rce s,
Da ta , Info rm a tion
                                OU Tne t             Se c ur eNe t
                                                                                                                  ‫عمارت وينچستر خوآهيم رسيد. عمارتهاي ي كه هر‬
                                                                                    Ext er nal   Connec t i ons

                                                                                                                  ‫چند هزينه و زمان زيادي صرف ساخت آنها شده‬
  In tran et
Co nne ctio ns
M ode m & ISD N
                                                                             Poo r Desi gn
                                                                                                                  ‫آست، ولي چون بر آساس معماري مشخصي بنا‬
                                                                                       Poo r Per f or m an ce
                              La bNe t
       Si te
       30 0
                            Ba ckb one
                                                                Poo r Conn ect i on t o B ackbon e                                 .‫نشدهآند، آثربخشي الزم رآ ندآرند‬
                                                     LA Ns/ Buil din g Ne two rks
‫نکاتی درباره عمارت وينچستر‬
      ‫عدم وجود يك رآهبرد مشخص‬
‫نکاتی درباره عمارت وينچستر‬
      ‫عدم وجود يك رآهبرد مشخص‬
            ‫عدم وجود نقشه فني‬
‫نکاتی درباره عمارت وينچستر‬
      ‫عدم وجود يك رآهبرد مشخص‬
               ‫عدم وجود نقشه فني‬
     ‫عدم توجه به نيازمنديهاي وآقعي‬
‫نکاتی درباره عمارت وينچستر‬
      ‫عدم وجود يك رآهبرد مشخص‬
               ‫عدم وجود نقشه فني‬
     ‫عدم توجه به نيازمنديهاي وآقعي‬
                   ‫زمان غير معقول‬
‫نکاتی درباره عمارت وينچستر‬
      ‫عدم وجود يك رآهبرد مشخص‬
               ‫عدم وجود نقشه فني‬
     ‫عدم توجه به نيازمنديهاي وآقعي‬
                   ‫زمان غير معقول‬
                 ‫هزينه غير معقول‬
‫نکاتی درباره عمارت وينچستر‬
         ‫عدم وجود يك راهبرد مشخص‬
                  ‫عدم وجود نقشه فني‬
        ‫عدم توجه به نيازمنديهاي واقعي‬
                      ‫زمان غير معقول‬
                     ‫هزينه غير معقول‬
      ‫حضور نسلهاي مختلفي از‬
                     ‫سبكها و سيستمها‬
‫نکاتی درباره عمارت وينچستر‬
         ‫عدم وجود يك راهبرد مشخص‬
                  ‫عدم وجود نقشه فني‬
        ‫عدم توجه به نيازمنديهاي واقعي‬
                      ‫زمان غير معقول‬
                     ‫هزينه غير معقول‬
      ‫حضور نسلهاي مختلفي از‬
                     ‫سبكها و سيستمها‬
                       ‫غير قابل توسعه‬
      ‫معماري چيست؟‬

‫معماري يعني ارايه‬
‫توصيفي فني از يك سيستم‬
‫كه نشان دهنده ساختار‬
‫اجزاء آن، ارتباط بين آنها،‬
‫و اصول و قواعد حاكم بر‬
‫طراحي آن، و تكامل آنها‬
       ‫در گذر زمان باشد.‬
‫مفاهيم آوليه‬

   ‫مقدمهآي بر‬
‫معماري نرمآفزآر‬
          ‫ساخت يك النه سگ‬




‫ميتواند توسط يك نفر ساخته شود.‬
                      ‫نيازمنديها:‬
       ‫• كمترين مدلسازي‬
       ‫• فرآيند ساخت ساده‬
           ‫• ابزارهاي ساده‬
                                   ‫ساخت يك خانه‬




‫ميتواند توسط يك تيم ساخته شود.‬
                     ‫نيازمنديها:‬
              ‫• مدلسازي‬
  ‫• فرآيندهاي خوش ساخت‬
       ‫• ابزارهاي قدرتمند‬
‫ساخت يك آسمانخراش‬
‫چه زمانی معماری الزم است؟‬
                 ‫ابعاد بزرگ‬
‫چه زمانی معماری الزم است؟‬
                 ‫ابعاد بزرگ‬
                ‫پيچيدگی زياد‬
‫چه زماني معماري الزم است؟‬
                 ‫ابعاد بزرگ‬
                ‫پيچيدگی زياد‬
               ‫نيازمندي خاص‬
‫چه زماني معماري الزم است؟‬
                   ‫ابعاد بزرگ‬
                 ‫پيچيدگی زياد‬
               ‫نيازمندي خاص‬
               ‫طول عمر زياد‬
‫چه زماني معماري الزم است؟‬
                          ‫ابعاد بزرگ‬
                        ‫پيچيدگی زياد‬
                     ‫نيازمندي خاص‬
                      ‫طول عمر زياد‬
     ‫انعطاف پذيری در برابر تغييرات‬
‫مفاهيم آوليه‬

‫معماري نرمآفزآر‬
    ‫چيست؟‬
                                              ‫تعريف معماري‬
                                                   ‫معماري يعني‬
‫هنر يا علم ساخت هر نوع عمارت كه مورد استفاده بشر قرار گيرد.‬
                                          ‫عمل يا فرآيند ساخت‬
                    ‫كار وابسته به معماري؛ ساختار، ساخت و ساز‬
                                     ‫ساختمان يا ساختار عمومي‬
‫سازمان كلي و ساختار مفهومي يك كامپيوتر يا يك سيستم كامپيوتري‬
                ‫از ديد استفاده يا طراحي آن؛ يك عينيت بخش از آن‬
‫- به نقل از فرهنگنامه آكسفورد‬
                               ‫(ادامه)‬   ‫تعريف معماري‬
‫معماري نرمافزار كاري است كه معماران نرمافزار انجام‬
                                            ‫ميدهند.‬
‫‪- Beck‬‬
                                            ‫(ادامه)‬   ‫تعريف معماري‬
‫يك مجموعه از عناصر معماري (يا طراحي) كه داراي يك‬
                                  ‫شكل مشخص باشند.‬
‫.2991 ,‪- Perry and Wolf‬‬


                        ‫يك معماري سيستم نرمافزار تشكيل شده از ...‬
  ‫مجموعهاي از مولفهها، ارتباطات، و قيدهاي نرمافزاري و سيستمي‬
                        ‫مجموعهاي از نيازمنديهاي ذينفعان سيستم‬
‫اصولي كه نشان دهد اين مولفهها، ارتباطات، و قيدها، سيستمي را‬
      ‫تعريف ميكند كه نيازمنديهاي سهامداران را برآورده ميسازد.‬
‫.5991 ,.‪- Boehm et al‬‬
                                   ‫(ادامه)‬   ‫تعريف معماري‬
‫معماري نرمافزار يك برنامه يا يك سيستم محاسباتي ساختار يا‬
‫ساختارهايي از سيستم است كه عناصر نرمافزاري،‬
‫خصوصيات قابل مشاهده از بيرون آن عناصر، و ارتباطات بين‬
                                      ‫آنها را شامل ميشود.‬
‫.7991 ,.‪- Clements et al‬‬
                                               ‫(ادامه)‬   ‫تعريف معماري‬
               ‫بخشهاي مشترك در تعريف معماري‬
                                        ‫معماري مولفههاي اصلي را نشان ميدهد.‬
         ‫معماري ارتباطات (ساختارهاي) مولفهها و تعامل بين آنها را نشان ميدهد.‬
‫معماري اطالعات محتوايي درباره مولفهها را كه مربوط به تعامل آنها نباشد، حذف‬
                                                                       ‫ميكند.‬
                                           ‫رفتار مولفهها بخشي از معماري است.‬
  ‫هر سيستمي داراي يك معماري است، حتي اگر تنها از يك مولفه تشكيل شده باشد.‬
                    ‫معماري اصول پشت پرده هر مولفه و ساختار را بيان ميكند.‬
                                     ‫تعاريف معماري نميگويند يك مولفه چيست؟‬
          ‫معماري يك ساختار منفرد نيست. هيچ ساختار منفردي نيز معماري نيست.‬
                          ‫(ادامه)‬   ‫تعريف معماري‬
‫معماري نرمافزار با موارد زير نيز سروكار دارد :‬
                                    ‫وظيفهمندي‬
                                 ‫قابليت استفاده‬
                            ‫قابليت استفاده مجدد‬
                                       ‫پايداري‬
                                   ‫قابليت درك‬
          ‫قيدها و محدوديتهاي فنآوري و اقتصادي‬
                                ‫زيبايي شناسي‬
            ‫معماري، طراحي، و پيادهسازي‬

‫معماري مفاد طراحي و پيادهسازي را مشخص ميكند.‬
                             ‫‪Analysis‬‬

                    ‫‪Architecture‬‬

                ‫‪Design‬‬

            ‫‪Implementation‬‬

     ‫‪CODE‬‬
                         ‫مثالي از معماري‬

‫آيا اين نمودار يك معماري است؟‬
              Control




   Card        Cash      Keyboard
 Interface   Dispenser   Interface
                                       ‫مثالي از معماري‬
    ‫چه نكات مبهمي در نمودار قبل وجود داشت؟‬

‫ماهيت عناصر (فرآيند، كالس، شيء، واحد، وظيفه، پردازنده،‬
                                                       ‫...)‬
                                         ‫مسووليت عناصر‬
‫نوع ارتباطات (فراخواني، درخواست، بكارگيري، سيگنال،‬
                          ‫ارسال داده، كنترل، زيركالس، ...)‬
                                          ‫مفهوم طرحبندي‬
                                 ‫عمليات زمان اجراي سيستم‬
                                            ‫مثالي از معماري‬
            ‫چه بخشهايي در نمودار قبل جا مانده است؟‬

                                  ‫ماهيت هر يك از عناصر چيست؟‬
                                ‫مسووليت هر يك از عناصر چيست؟‬
                                 ‫مفهوم هر يك از ارتباطات چيست؟‬
                               ‫مفهوم هر يك از طرحبنديها چيست؟‬

‫جز در مواقعي كه ما دقيقا بدانيم هر عنصر چيست و چگونه با ديگر‬
‫عناصر همكاري دارد تا يك وظيفه سيستم انجام شود، نمودار قبلي هيچ‬
                                                  ‫استفادهاي ندارد.‬
                                   ‫نظراتي درباره معماري‬
                                   ‫معماري تنها بر روي كاغذ است.‬
                                       ‫معماري همان طراحي است.‬
                                     ‫معماري همان زيرساخت است.‬
                                        ‫معماري همان ساختار است.‬
                           ‫فنآوري مورد عالقه من يك معماري است.‬
                              ‫معماري نتيجه كار تنها يك معمار است.‬
‫معماري ميتواند توسط يك نوع خروجي نمايش داده شود (تك ديدي است).‬
                  ‫معماري سختافزار مقدم بر معماري نرمافزار است.‬
                      ‫معماري قابل ارزشيابي و يا اعتبارسنجي نيست.‬
                                             ‫معماري يك علم است.‬
                                             ‫معماري يك هنر است.‬
     ‫چرخه كاري معماري‬

‫چه موآردي بر معماري تاثير ميگذآرند؟‬
‫چه موآردي آز معماري تاثير ميگيرند؟‬
‫چه كساني بر معماري تاثير دارند؟‬
                         ‫مشتريان و كاربران نهايي‬
‫نيازمنديها (+ صفات كيفيتي مثل كارايي، قابليت نگهداشت،‬
                                                  ‫...)‬
                                  ‫محدوديتهاي بودجهاي‬
                                    ‫محدوديتهاي زماني‬
  ‫رعايت قواعد خاص سازمان مثل رعايت يك فنآوري خاص‬
                  ‫سازمان توسعه‬
                        ‫موارد كاري‬
‫سرمايهگذاري و استهالك زيرساختها‬
                   ‫كاهش هزينهها‬
             ‫ساده بودن پيادهسازي‬
                     ‫موارد سازماني‬
  ‫استفاده از ساختار سازماني موجود‬
         ‫استفاده بهينه از كارمندان‬
                                         ‫محيط فنآوري‬
      ‫گرايش غالب امروزي (مثال نرمافزارها تحت وب باشد)‬
‫فنآوري موجود (مثال تصميم در استفاده از يك سيستم متمركز‬
‫يا توزيعشده بستگي به هزينه پردازندهها و سرعت خطوط‬
                                            ‫ارتباطي دارد)‬
                                        ‫پيش زمينه معمار‬
‫معماران كارشان را با توجه به مجموعه تجربيات گذشتهشان‬
                                         ‫انجام ميدهند.‬
          ‫تجربه موفق باعث تكرار آن در معماري جديد ميشود.‬
  ‫تجربه ناموفق باعث عدم استفاده از آن در معماري جديد ميشود.‬
‫تاثيرات بر معماري‬
‫معماري بر روي سازمان توسعه تاثير دارد‬
                          ‫ساختار و منابع سازماني‬
                                   ‫واحدهاي كاري‬
                                        ‫زمانبندي‬
                                          ‫بودجه‬
                                    ‫اهداف سازماني‬
        ‫تخصص در زمينه ساخت يك نوع از سيستمها‬
                                 ‫موفقيت در بازار‬
                                    ‫ارزيابي بازار‬
                             ‫داراييهاي خط توليد‬
‫معماري بر روي نيازهاي مشتريان تاثير دارد‬
                                  ‫دانش مشتريان‬
                 ‫ارتقاء سيستم، انطباق پذيري، ...‬
     ‫معماري بر روي تجربه معمار و محيط فنآوري‬
                                    ‫تاثير دارد‬
    ‫ساخت يك سيستم بر روي تجربه معمار تاثير خواهد داشت.‬
‫معموال، يك سيستم يا يك معماري بر روي محيط فنآوري تاثير‬
                                                   ‫دارد.‬
‫چرخه كاري معماري‬
      ‫فعاليتهای چرخه كاري معماري‬
           ‫ايجاد يک مورد کاری برای سيستم‬
                             ‫فهم نيازمنديها‬
                    ‫ايجاد يا انتخاب معماری‬
                          ‫تعامل با معماری‬
                   ‫تحليل يا ارزيابی معماری‬
                ‫پياده سازی بر مبنای معماری‬
‫حصول اطمينان از انطباق محصول با معماری‬
‫ساختارها و ديدهاي معماري‬
                                                              ‫تعريف‬
‫ساختار يك مجموعه از عناصر همگن به همراه ارتباط بين آنها است.‬
                 ‫براي هر ساختار ميتوان موارد زير را مشخص كرد.‬
                                                        ‫نوع عناصر‬
                                                      ‫نوع ارتباطات‬
                                       ‫مجموعهاي از قيدهاي نحوي‬
                                                       ‫معني نمودار‬
                                         ‫اصول، قواعد، و راهبردها‬
                                    ‫براي چه هدفي قابل استفاده است؟‬
‫ديد نمايشي از معماري نرمافزار بر پايه يك ساختار است كه توسط‬
  ‫معمار ترسيم شده و دينفعان آن را ميخوانند. (نمونهاي از يك ساختار)‬
                  ‫معماري نرمافزار توسط تعدادي ديد مستند ميشود.‬
‫)0002-1741 .‪(IEEE Std‬‬                                                 ‫چارچوب مفهومي معماري‬
                                                    ‫ماموريت‬
                                        ‫آنجام مي دهد 1..*‬
                                 ‫تاثير دآرد بر‬                                         ‫دآرد يك‬
           ‫محيط‬              ‫قرآر دآرد در‬
                                                      ‫سيستم‬                                           ‫معماري‬

                                                                                         ‫توصيف مي شود با‬
                                                 ‫دآرد 1..*‬                   ‫تعيين هويت‬              ‫1..*‬             ‫حمايت‬
                             ‫مهم آست برآي‬
                                     ‫1..*‬         ‫صاحب نقش‬                   ‫مي كند 1..*‬             ‫توصيف‬            ‫مي كند‬        ‫عقالنيت‬
                                                   ‫- ذينفع‬                                            ‫معماري‬                        ‫(منطق)‬
                                        ‫مشخص مي كند‬                                                              ‫شركت مي كند در‬
                                                 ‫1..*‬

    ‫دآرد‬                                                     ‫آنتخاب مي كند‬          ‫سازمان مي يابد‬
    ‫1..*‬      ‫تبيين مي كند‬                                            ‫1..*‬                  ‫با 1..*‬
                      ‫1..*‬
                                                                   ‫مطابق‬
   ‫دغدغه‬       ‫آستفاده مي شود‬                    ‫ديدگاه‬                                       ‫ديد‬
             ‫تا پوشش دهد 1..*‬                                                      ‫شركت مي كند در‬
                                ‫آنتخاب مي شود آز‬                                              ‫1..*‬                      ‫جمع شده‬
                                           ‫0 .. 1‬                                                        ‫شامل‬                ‫1..*‬
                                                                                                          ‫1..*‬
                                                 ‫كتابخانه‬                           ‫روشي رآ برآي تبيين‬
                                                  ‫ديدگاه‬                                  ‫آيجاد مي كند‬              ‫مدل‬
                          ‫طبقهبندي ساختارها‬
                   ‫1. ساختارهاي ماژول )‪(Module‬‬
‫‪(Component‬‬   ‫2. ساختارهاي مولفه و اتصال &‬
                                ‫)‪Connector‬‬
              ‫3. ساختارهاي تخصيص )‪(Allocation‬‬

                       ‫اين طبقه بندی ها متعامد هستند.‬
                                ‫1- ساختارهاي واحد‬
                ‫عناصر: ماژولها (واحدهاي پيادهسازي)‬
                                     ‫مشخص ميكند :‬
                                 ‫مسووليت وظيفهاي ماژولها‬
     ‫ساير عناصري كه ماژول اجازه استفاده از آنها را دارد.‬
                                         ‫روابط عام و خاص‬
‫عمليات زمان اجرای نرمافزار براي اين ديد اهميتي ندارد.‬
                              ‫1-1 ساختار تجزيه‬
               ‫عناصر: ماژولها به شكل سلسله مراتبي‬
‫ارتباطات: زيرواحدي از ...، به اشتراك ميگذارد با ...‬
                                       ‫مفيد براي ...‬
                                    ‫تخصيص منابع‬
                               ‫پنهان سازي اطالعات‬
                                     ‫محصورسازي‬
                                    ‫كنترل پيكربندي‬
                                  ‫1-2 ساختار استفاده‬
‫عناصر: ماژولها، روالها، يا منابع مربوط به واسط ماژولها‬
                           ‫ارتباطات: استفاده ميكند از ...‬
                                             ‫مفيد براي ...‬
                                         ‫مهندسي گسترش‬
                                     ‫1-3 ساختار اليهاي‬
                           ‫زيرنوعي از ساختار استفاده است.‬
      ‫عناصر: اليهها (مجموعهاي همگن از وظيفهمندي مرتبط)‬
‫ارتباطات: استفاده ميكند از ... (در حالت ايدهآل، هر اليه تنها‬
                           ‫از اليه قبل از خود استفاده ميكند).‬
                                                ‫مفيد براي ...‬
                                             ‫ماشين مجازي‬
               ‫1-4 ساختار كالس‬
                    ‫عناصر: كالسها‬
‫ارتباطات: وراثت، نمونهاي از ... است‬
                       ‫مفيد براي ...‬
                   ‫طراحي شيءگرا‬
                      ‫2- ساختارهاي مولفه و ارتباط‬
‫عناصر: مولفههاي زمان اجرا (واحدهاي اصلي محاسبه) و‬
                ‫اتصاالت (ابزارهاي ارتباطي بين مولفهها)‬
                                       ‫مشخص ميكند:‬
              ‫مولفههاي اجرايي اصلي و چگونگي تعامل بين آنها‬
                                   ‫انبارههاي داده مشترك اصلي‬
                            ‫چه بخشي از سيستم تكرار شده است؟‬
                                         ‫جريان داده در سيستم‬
             ‫چه بخشهايي بصورت موازي ميتوانند اجرا شود؟‬
          ‫ساختار سيستم در حين اجرا چگونه ميتواند تغيير كند؟‬
                 ‫2-1 ساختار مشتري/خدمتگزار‬
                             ‫عناصر: مشتري، خدمتگزار‬
‫ارتباطات: ارتباط برقرار ميكند با ...، وابسته است به ...‬
                                           ‫مفيد براي ...‬
                                     ‫عمليات توزيع شده‬
                                ‫جداسازي موارد بااهميت‬
                                              ‫تعادل بار‬
                                    ‫2-2 ساختار پردازه‬
                                  ‫عناصر: پردازهها يا نخها‬
‫ارتباطات: موازي اجرا ميشود با ...، قبل از ... اجرا ميشود‬
                                              ‫مفيد براي ...‬
                                            ‫تحليل كارايي‬
                                           ‫تحليل زمانبندي‬
          ‫2-3 ساختار توازي‬
           ‫عناصر: نخهاي منطقي‬
‫ارتباطات: اجرا ميشود بر روي ...‬
                   ‫مفيد براي ...‬
                       ‫اتصال‬
                       ‫انشعاب‬
          ‫2-4 ساختار داده مشترك يا انباره‬
‫عناصر: انباره داده، توليدكننده داده، مصرف كننده داده‬
                 ‫ارتباطات: توليد داده، مصرف داده‬
                                        ‫مفيد براي ...‬
                                     ‫يكپارچگي داده‬
                                            ‫كارايي‬
                                         ‫تغييرپذيري‬
                                ‫3- ساختارهاي تخصيص‬
‫ارتباط بين نرمافزار را با عناصري از محيط خارجي نشان‬
                                             ‫ميدهد.‬
                                    ‫مشخص ميكند:‬
      ‫پردازندهاي كه هر يك از عناصر نرمافزاري را اجرا ميكند.‬
‫فايلي كه هر يك از عناصر نرمافزاري را در هنگام توسعه نگهداري‬
                                                       ‫ميكند.‬
                                 ‫انتساب نرمافزار به تيم توسعه‬
                       ‫3-1 ساختار استقرار‬
‫عناصر: نرمافزار، سختافزار، و مسيرهاي ارتباطي‬
‫ارتباطات: تخصيص داده شده به ...، مهاجرت به ...‬
                                  ‫مفيد براي ...‬
                                  ‫تحليل كارايي‬
                            ‫تحليل دسترس پذيري‬
                                   ‫تحليل امنيت‬
       ‫3-2 ساختار پيادهسازي‬
‫عناصر: هر واحد منطقي(مثل ماژول)‬
     ‫ارتباطات: پيادهسازي ميكند ...‬
                     ‫مفيد براي ...‬
                  ‫كنترل پيكربندي‬
                   ‫يكپارچه سازي‬
                 ‫فعاليتهاي آزمون‬
      ‫3-3 ساختار انتساب كار‬
‫عناصر: هر واحد منطقي(مثل ماژول)‬
 ‫ارتباطات: انتساب داده ميشود به ...‬
                    ‫مثالي از كاربرد‬
                   ‫مديريت پروژه‬
         ‫بهنرين استفاده از تخصصها‬
‫طبقهبندي ساختارها‬
‫صفات كيفيتي‬
                              ‫طبقهبندي سنتي نيازمنديها‬
                                                       ‫وظيفهاي‬
                                                    ‫غيروظيفهاي‬
‫يك افسانه متداول در نرمافزار: ابتدا نرمافزاري ساخته شود كه‬
‫نيازمنديهاي وظيفهاي را برآورده كند، سپس نيازمنديهاي‬
                        ‫غيروظيفهاي به آن افزوده يا تزريق شود.‬
     ‫اين ايده ما را به سمت اتالف منابع و كيفيت پايين سوق ميدهد.‬
‫بايد تمركز بر روي كيفيت را از همان ابتدا آغاز كرد (در سطح‬
                                                      ‫معماري)‬
                              ‫وظيفهمندي و معماري‬
‫وظيفهمندي و صفات كيفيتي از نظر تئوري متعامد هستند.‬
‫نميتوان با هر سطحي از وظيفهمندي به همه صفات كيفيتي‬
                                            ‫دست يافت.‬
‫وظيفهمندي را ميتوان به شكلهاي مختلف بدست آورد (چندان‬
                                ‫به معماري مربوط نيست)‬
‫معماري قصد دارد با سازماندهي وظايف به صفات كيفيتي‬
                                         ‫دست پيدا كند.‬
                                                   ‫معماري و كيفيت‬
‫دستيابي به كيفيت بايد در تمام مراحل طراحي (از جمله معماري)،‬
                        ‫پيادهسازي، و استقرار مد نظر قرار گيرد.‬
‫كيفيت هم جنبههاي مربوط به معماري و هم جنبههاي نامربوط به‬
                                             ‫معماري دارد. مثال‬
    ‫دسترس پذيري: انتخاب از بين عناصر در برابر پشتيباني از عمل بازگشت‬
                    ‫كارايي: مقدار ارتباط بين مولفهها در برابر الگوريتمها‬
  ‫صفات كيفيتي مستقل نيستند و نبايد بصورت مجزا به آنها دست يافت.‬
                    ‫همبستگي مثبت (مثل تغييرپذيري و قابليت ساخت)‬
                       ‫همبستگي منفي (مثل قابليت اطمينان و امنيت)‬
                              ‫طبقهبندي صفات كيفيتي‬
‫صفات كيفيتي سيستمي: دسترسپذيري، تغييرپذيري، كارايي،‬
                       ‫امنيت، آزمونپذيري، و قابليت استفاده‬
             ‫صفات كيفيتي كاري: مثال مدت زمان بازاريابي‬
             ‫صفات كيفيتي معماري: مثال يكپارچگي مفهومي‬
                  ‫طبقهبندي صفات كيفيتي سيستمي‬
          ‫قابل مشاهده از طريق اجرا (مثل كارايي و امنيت)‬
‫غيرقابل مشاهده از طريق اجرا (مثل تغييرپذيري و‬
                                           ‫آزمونپذيري)‬



‫اين دو گروه كامال مستقل (متعامد) هستند . اگرچه گروه دوم‬
                        ‫بر روي اولي تاثير غيرمستقيم دارد.‬
‫صفات كيفيتي غيرقابل مشاهده نيز مهم هستند، گاهي حتي‬
                                                 ‫مهمتر !!!‬
                              ‫صفات كيفيتي سيستمي‬
                  ‫دسترسپذيري (وابسته به قابليت اطمينان)‬
‫تغييرپذيري (شامل قابليت حمل، قابليت استفاده مجدد،‬
                                              ‫مقياسپذيري)‬
                                                   ‫كارايي‬
                                                    ‫امنيت‬
                                              ‫آزمونپذيري‬
‫قابليت استفاده (شامل قابليت خود انطباقي و قابليت انطباق‬
                                                   ‫كاربر)‬

								
To top