بخشی از پاورپوینت
اسلاید 1 :
مفاهيم معماري نرم افزار
اسلاید 2 :
مفاهيم کليدي
معماري نرمافزار چه هست و چه نيست؟
الگوهاي معماري، مدل مرجع و معماري مرجع
اهميت معماري
ساختارها و ديدهاي معماري
اسلاید 3 :
مثالي از معماري؟
آيا اين نمودار يك معماري است؟
اسلاید 4 :
اولين برداشت
سيستم داراي چهار عنصر است
سه عنصر card interface، keyboard interface وcash dispenser داراي ارتباط بيشتري با يکديگر نسبت به عنصر control که در رده بالاتري قرار دارد، هستند
تمام عناصر با يکديگر ارتباط دارند، زيرا آنها بيکديگر کاملاً متصل هستند
اسلاید 5 :
دومين برداشت
فرض کنيد معماري مجموعهاي از مولفهها و ارتباط بين آنهاست
با استفاده از نمودار نميتوان به سوالات زير پاسخ گفت
ماهيت هر يك از عناصر چيست؟
مسئوليت هر يك از عناصر چيست؟
مفهوم هر يك از ارتباطات چيست؟
مفهوم هر يك از طرحبنديها چيست؟
وقتي ميتوان از نمودار استفاده نمود که بتوان به سوالات فوق پاسخ گفت
اسلاید 6 :
زاويه ديگر
چه چيزهايي نياز است تا نمودار قبلي، معماري را نشان دهد
ماهيت عناصر (فرآيند، كلاس، شيء، ماژول، تابع، پردازنده، .)
وظايف عناصر
نوع ارتباطات
calls, invokes, uses, signals, sends data, controls, sub-class
اهميت لايهها
عمليات زمان اجراي سيستم
اسلاید 7 :
نگاهي با استفاده از تعريف معماري
«معماري نرمافزار يک برنامه يا سيستم محاسباتي ساختار يا ساختارهاي آن سيستم محاسباتي است که خصوصيات قـابل رويت از بيرون عناصر و ارتباطات بين آنها را نشان ميدهد.»
در مثـال تنها عناصر (control, cash dispenser, keyboard interface, card interface) ديده ميشوند، اما
آنها چه خصوصياتي دارند؟
خصوصيات قابل رويت از بيرون آنها چيست؟
ارتباط بين آنها چگونه است؟
اسلاید 8 :
نگاه دقيقتر به تعريف
«معمـاري نرمافزار يک برنامه يا سيستم محاسباتي ساختار يا ساختارهاي آن سيستم محاسباتي است که خصوصيات قابل رويت از بيرون عناصر و ارتباطات بين آنها را نشان ميدهد.»
اسلاید 9 :
خصوصيات قابل رويت از بيرون
خصوصيات قابل رويت از بيرون يک عنصر فرضياتي هستند که عناصر ديگر ميتوانند در مورد آن عنصر داشته باشند
نمونهاي از خصوصيات قابل رويت از بيرون
خدمات فراهم شده (و رابط براي دستيابي به خدمات)
خصوصيات کارايي
رسيدگي به خطاها
استفاده از منابع اشتراکي
.
اسلاید 10 :
نکات تعريف
هر معماري، عناصر نرمافزاري را تعريف ميکند، يعني:
1- اطلاعاتي راجع به عناصر و ارتباط بين آنها ميدهد
2- اطلاعاتي که مربوط به تعامل عنصر با ديگران نيست، حذف ميشوند
3- خصوصيات داخلي عناصر را حذف ميشوند
عدم نياز به آنها در بيان تعامل عنصر با عناصر ديگر
هضم بهتر پيچيدگي
در سيستمهاي مدرن بيان رابط عناصر کافيست
خصوصيات داخلي عناصر جزء معماري نيستند
اسلاید 11 :
نکات تعريف (ادامه)
سيستم ميتواند شامل بيش از يک ساختار باشد و هيچگاه يک ساختار نميتواند ادعاي معماري نمايد
در اغلب پروژههاي بزرگ، هر پروژه به واحدهاي پيادهسازي و سپس به هر واحد، وظايفي تخصيص داده ميشود و پايهاي براي انتساب کار به تيم برنامهنويسي ميباشد. اين ساختار ايستا بوده و و تمرکز آن بر روي وظيفهمندي سيستم است
ساختارهاي ديگري نيز ممکن است وجود داشته باشد که تعامل عناصر را در زمان اجرا نشان ميدهند
اسلاید 12 :
نکات تعريف (ادامه)
هـر سيستم محـاسباتي يا نرمافزار داراي يک معماري نرمافزار است زيـرا هـر سيستم ميتواند توسط مجموعهاي از عناصر و ارتباط بين آنها نشان داده شود
در صورتيکه سيستم ابتدايي نباشد، داراي يک معماري است
معماري يک سيستم ميتواند مستقل از توصيفات خصوصياتش باشد که اين امر نشاندهندة اهميت مستندسازي نرمافزار و ساخت مجدد معماري است
اسلاید 13 :
نکات تعريف (ادامه)
رفتار هر عنصر بخشي از معماري است
رفتار نشان ميدهد که عنصر از ديد عناصر ديگر چگونه است و چگونه با ديگر عناصر تعامل دارد
در صورتيکه نموداري تنها رفتار را نشان دهد، نميتواند معماري باشد
تعريف، دربارة خوب يا بد بودن معماري صحبت نميکند
معماري هم اجازه خصوصيات بد و هم خوب را ميدهد
نميتوان روش آزمون و خطا را براي معماري سيستم در پيش گرفت
روشهاي ارزيابي معماري
اسلاید 14 :
نگاهي به تعاريف ديگر معماري
معماري، طراحي سطح بالاست
درست است، اما اين دو مفهوم قابل جابجايي نيستند
معماري ساختار کلي سيستم است
اين جمله به معني اين است که سيستم داراي يک ساختار است
معماري، ساختار مولفههاي سيستم، ارتباط بين آنها و مفاهيم و راهنماهاي حاکم بر طراحي و تکامل آنها در زمان است
يکي از تعاريف متمرکز بر فرآيند
معماري مولفه و اتصال است
اين تعريف بر ساختارهاي زمان اجراي معماري تکيه نموده است
اسلاید 15 :
چه ويژگيهايي معمارانه هستند؟
آنهايي که براي ما در سطح تجريد معماري اهميت دارند
از نظر عناصر داخلي نيست
کارايي يکي از خصوصيات کيفي نرمافزار است
رفتار عنصر در جائيکه چگونگي توسعه عناصر را تحت تاثير ميگذارد معمارانه است
اسلاید 16 :
گام بعدي
معماري نرمافزار چه هست و چه نيست؟
الگوهاي معماري، مدل مرجع و معماري مرجع
اهميت معماري
ساختارها و ديدهاي معماري
اسلاید 17 :
الگوهاي معماري
توصيفي از عناصر و انواع ارتباط بهمراه مجموعهاي از اجبارها در مورد چگونگي استفاده از آنها است
اجبارهايي را روي معماري تعريف ميکنند اما خودشان معماري نيستند
تجريدي از مجموعهاي از معماريها هستند
توانايي اعمال خصوصيات کيفي شناخته شده بر معماري نرمافزار
اسلاید 18 :
الگوهاي معماري (ادامه)
سبک معماري در مقابل الگو
مسائل غيرقابل حل در يک الگو
تعداد دقيق عناصر و ارتباطات بين آنها در کاربردها
رفتار عناصر در کاربردها
پيکربندي (توپولوژي) در کاربرد
اسلاید 19 :
مدل مرجع
تقسيم وظيفهمندي بـه همراه جريان دادهها در مولفهها است
تقسيم استاندارد يک مسئله ناشناخته به بخشهايي که به صورت مشترک، مسئله را حل ميکنند
با توجع به تجربيات، مدل مرجع خصوصيت حوزههاي بلوغ يافته است
مثل کامپايلر و DBMS
مدل مرجع، معماري نيست
اسلاید 20 :
معماري مرجع
مدل مـرجعي است کـه بـه عناصر نرمافزاري و جريان دادههاي بين مولفهها نگاشت شده است
اين نگاشت حتماً يک به يک نيست
عنـاصر به صورت مشترک وظيفه تعريف شده در مدل مرجع را بکار ميگيرند
معماري نهايي نيست اما خيلي هم از آن دور نيست