کامپیوتر و IT و اینترنتعلوم مهندسیمهندسی صنایع و مواد

ارائه درس معماری سیستم های بزرگ

صفحه 1:
ارائه درس معماری سیستم های بزرگ Co Pe

صفحه 2:
عنوان فصل: طراحی زیرسیستم فهرست مطالب ال

صفحه 3:
" پیشنهاد ۳۵۷۷۱6۲: استفاده از ۳۵1896 ها ا ۴"

صفحه 4:
ادامه 7 زيرسيستم ها : تعريف ساختار سيستمء واسط ها و وابستكى ها در زمان طراحی یا ساخت eer AC] To) a

صفحه 5:
: UML User's Guaide «_ a>5 3, Package BS Sree ebb oe

صفحه 6:
سیستم : یک 0866896 دارای 56۲0/۵6 زيرسيستم: بخشى از سيستم. يك 021896 داراى 56/086

صفحه 7:
خصوصیات زیرسیستم * زیرسیستم: سطح پایین ترین موجودیت هایی که معمار نرم افزار واسط های انها را مدیریت میکند واحد تولید مستندات طراحی ۹

صفحه 8:
۳ * یک تکنیک دیگر برای داشتنن دید مجرد از سیستم

صفحه 9:
‎of Technology, Computer Engineering‏ 0ك ‎Loren Na ence ce etn eevee a‏ 3 3067م ناه طم

صفحه 10:

صفحه 11:
مدل کردن زیرسیستم هاء واسط ها و لابه ها * زيرسيستم ها و لايه ها : دو ابزار اساسى براى ستازماندهى سيستم هاى بزرك در بخش هاى كوجكتر و قابل مديريت ا

صفحه 12:
ادامه سیستمی با تعداد زیادی زیرسیستم وابسته به هم * به سرعت غیرقابل تغییر می شود

صفحه 13:
ابزارهای لازم برای ثبت. کاوش و مدیریت وابستگی ها در کل سیستم را فراهم میکند. udsystem interface dependency view تک زیر زسیستم ها تمرکز کند لاه ها ی ساختن جزئیات کمک میکنند. ‎of Technology, Computer Engineering‏ 0ك ‎Loren Na ence ce etn eevee a‏ 13 3067م ناه طم

صفحه 14:
Packane ‘Amirkabir University of Technology, Computer Engineering Loren Na ence ce etn eevee a ‏3067م ناه طم‎ 14

صفحه 15:
15 cain 2 1 ‏حا‎ Ls ‏تس‎ مود ‎of Technology, Computer Engineering‏ 0ك ‎Loren Na ence ce etn eevee a‏ 3067م ناه طم

صفحه 16:
ae] ‏ات‎ rang

صفحه 17:
اطلاعاتی در مورد ساختار سیستم در ارتباط با یک زیرسیستم خاص کمک لایه ها به حذف جزئیات در ۷16۷ های پیچیده.

صفحه 18:
1 ۳ Customer <— ——-—- — billing layer \ dependencies J 2 layers ‏تیه‎ 1 ۴۵۸ ‎of Technology, Computer Engineering‏ 0ك ‎Loren Na ence ce etn eevee a‏ 18 3067م ناه طم

صفحه 19:
Top-level Dependencies Yb ch. cle <I, Spe nC rie Ct eres Se Seen rete tone ae Subsystem interface dependency view اا اا ا لل لت

صفحه 20:
0 Customor Query “<<aubsystem>> ‘Accounts “<-subsystom>> Stocks 1 ۳۳۹ د “<<eubayatem>> Bling = ‘<<subsystemn>> Advertising ea ‘eeubsyetem>> aut 0 مخ 0 اه ل ی یت ‎Teller User ‘Account‏ Interface ‘Acct |_Managemont ‏م‎ Status “<subsystem>> Voice interface يس لمج ا ا ود ‎tan‏ اه , ناهد ‎Fe cen oat arte estat‏ ‎tener)‏

صفحه 21:
Layered Subsystem viewpoint ا ‎PRCT Soe‏ معمولایک ۷۱6۷ ی لایه ای از سیستم وجود دارد فهم آسان برای افراد معمولی . .. صورت ‎Seale.‏

صفحه 22:
نمونه ای از مفاهیم وابستگی اضافه شده ۱ مهم برای تیم های توسعه و معماری ‎ .‏

صفحه 23:
ادامه 0 " نشان دادن کل معماری در یک ۰۷16۷۷

صفحه 24:
24 ‎University of]‏ ام وید 00

صفحه 25:
۳ 20505595800 view Tai 52 ‎of Technology, Computer Engineering‏ 0ك ‎Loren Na ence ce etn eevee a‏ 25 3067م ناه طم

صفحه 26:
ادامه ا حیاتی از معماری نرم افزار برای توسعه دهندگان نرم افزار به ل ا اا 00 4 1

صفحه 27:
2101000000 ها ,اند 27

صفحه 28:
ا ا ل ل ی ‎ge‏ ‏ساخت پروژه ری و

صفحه 29:
پیشنهاد: نشان دادن معماری زیرسیستم ها به طور مستقیم در کد

صفحه 30:
ادامه اا ل معماری سیستم در کد منبع ‎OS ne eS nse ee ae‏ ‎(Leone‏

صفحه 31:
عا ا ها ‎al‏ ل ا ا ال ل اك * پیشنهاد: عکس این مطلب تعریف 60000۳06 : نمونه های زمان اجرا ‏ایک ‎

صفحه 32:
1۳7 peommurpen ‏ل‎ انتيجه اى از ساخت. نصب و اجرای آن ز رسیستم.

صفحه 33:
_-—> transaction | subsystem» Subsysiom Butlds the 0 Session ‘Component Managor ponent interface is insiance of Suhsysten interface transaction ‘Amirkabir University of Technology, Computer Engineering Loren Na ence ce etn eevee a ‏3067م ناه طم‎ Ey

صفحه 34:
Jeff Garland, Richard Anthony, Chapter 6 of Book 6/60 1۵796-516 5070۷372 2۵۲/666۷۰

فهرست مطالب واژگان واسط ها و الیه ها، مدل کردن زیرسیستم ها نگاشتن زیرسیستم ها و الیه ها به پیاده سازی Amirkabir University of Technology, Computer Engineering Faculty, Large Scale Software Architecture Course, Dr. Abdollahzadeh 2  پیشنهاد : Fowlerاستفاده از Packageها ‏ پیشنهاد بهتر :استفاده از زیرسیستم ها ‏ تقسيم بندي کالس ها به صورت زيرسيستم و مديريت وابستگي هاي بين آنها :از موارد کليدي مورد توجه معمار 3 ‏Amirkabir University of Technology, Computer Engineering ‏Faculty, Large Scale Software Architecture Course, Dr. ‏Abdollahzadeh  زيرسيستم ها :تعریف ساختار سيستم ،واسط ها و وابستگي ها در زمان طراحي يا ساخت ‏ Viewpointهايم>ربوط ب>>ه ز>يرس>يستم :ا>ط>العات>يدر م>ورد س>>يستم در ز>مانس>>اخ>تو وا>ب>ستگيهايس>>از>مان>ي ‏ مهم براي تيم هاي پياده سازي ‏ تهیه ی مستندات ساختار ايستاي نرم افزار 4 ‏Amirkabir University of Technology, Computer Engineering ‏Faculty, Large Scale Software Architecture Course, Dr. ‏Abdollahzadeh : UML User’s Guaide ب>>ا ت>>وج>ه ب>>هPackage › مجموعه اي از المان هاي مدل ،)collaboration( همکاري، هاcomponent ، واسط ها،› المان ها کالس ها هاpackage موارد کاربرد و ديگر در صورت حذف آنpackage › حذف المان های داخل package کالس هاي واسط داخل:› المان هاي قابل ديدن Amirkabir University of Technology, Computer Engineering Faculty, Large Scale Software Architecture Course, Dr. Abdollahzadeh 5  سیستم :یک ‏package داراي ‏sterotype زيرسيستم :بخشي از سيستم ،يک ‏package داراي ‏sterotype اطمينان از قابليت نگهداري سيستم: › cohesionب>>ا>الو couplingپ>>ايينب>>ینز>یرس>یستم ها >ب ت>>يم هايت>>وس>عه ز>مانو ک>>ار غ>ير ال>ز>م>يرا ص>>رفم>ذا>کره>، › couplingن>>ام>ناس : ت>>وس>عه و ت>>حويلوا>س>ط ها ب>>ينز>يرس>يستم ها خ>وا>هند ک>>رد. اهمیت زیرسیستم :محصوالت کار طراحي در اين سطح به تيم هاي توسعه داده ميشود. 6 ‏Amirkabir University of Technology, Computer Engineering ‏Faculty, Large Scale Software Architecture Course, Dr. ‏Abdollahzadeh زیرسیستم: › سطح پايين ترين موجوديت هايي که معمار نرم افزار واسط هاي انها را مديريت ميکند › واحد توليد مستندات طراحي › امکان دادن چند زيرسيستم به يک تيم داده › لزوم طراحي ،ايجاد و به صورت جداگانه › واحدهاي اجراي تست و ايجاد test suitهاي ا>توماتيک › واحد تحويل براي مستندات ،کد منبع ،گزا>رش هاي تست و ديگر محصوالت › امکان در نظر گرفتن یک زیرسیستم بزرگ و پیچیده به عنوان یک سیستم 7 ‏Amirkabir University of Technology, Computer Engineering ‏Faculty, Large Scale Software Architecture Course, Dr. ‏Abdollahzadeh يک تکنيک ديگر براي داشتنن دید مجرد از سيستم  تقسیم عملکرد سيستم به چند گروه  وابستگي عملکرد اليه هاي باالتر به عملکرد اليه هاي پايين تر  انواع اليه بندي  strict layering › relaxed layering › › وراثت بين اليه ها Amirkabir University of Technology, Computer Engineering Faculty, Large Scale Software Architecture Course, Dr. Abdollahzadeh 8 Amirkabir University of Technology, Computer Engineering Faculty, Large Scale Software Architecture Course, Dr. Abdollahzadeh 9 نتايج عملي اليه بندي › افزایش قابليت حمل نرم افزار › اجتناب از ساختن اليه هاي پاييني در صورت عدم تغيير › برقراري ارتباط آسانتر با حذف جزئيات 10 ‏Amirkabir University of Technology, Computer Engineering ‏Faculty, Large Scale Software Architecture Course, Dr. ‏Abdollahzadeh  زيرسيستم ها و اليه ها :دو ابزار اساسي براي سازماندهي سيستم هاي بزرگ در بخش هاي کوچکتر و قابل مديريت ‏ تقسيم نرم افزار :ايجاد وابستگي بين زيرسيستم ها ‏ مديريت وابستگي ها و ايجاد واسط ها :از وظايف اساسي ايجاد معماري ‏ اهميت مديريت وابستگي ها :تاثیر مستقيم بر قابليت تغيير و قابليت تست نرم افزار 11 ‏Amirkabir University of Technology, Computer Engineering ‏Faculty, Large Scale Software Architecture Course, Dr. ‏Abdollahzadeh  سيستمی با تعداد زيادي زيرسيستم وابسته به هم › به سرعت غيرقابل تغيير مي شود › نياز به ساخت و تست مجدد تمام زیرسيستم ها با ايجاد هر تغيير › سخت شدن فرايند مذاکره در مورد تغيير واسط زيرسيستم ها و componentها ‏ سيستم فاقد زيرسيستم هاي وابسته به هم › تغییر بسيار آسانتر › محلی بودن تاثير تغييرات جابه جا کردن کالس ها و توابع بين زيرسيستم ها و تعيين مکان مناسب براي آنها حياتي ترين وظيفه ي تيم معماري است. 12 ‏Amirkabir University of Technology, Computer Engineering ‏Faculty, Large Scale Software Architecture Course, Dr. ‏Abdollahzadeh کاوش و مديريت وابستگي ها در کل سيستم را،ابزارهاي الزم براي ثبت .فراهم ميکند Amirkabir University of Technology, Computer Engineering Faculty, Large Scale Software Architecture Course, Dr. Abdollahzadeh 13 Amirkabir University of Technology, Computer Engineering Faculty, Large Scale Software Architecture Course, Dr. Abdollahzadeh 14 Amirkabir University of Technology, Computer Engineering Faculty, Large Scale Software Architecture Course, Dr. Abdollahzadeh 15 Amirkabir University of Technology, Computer Engineering Faculty, Large Scale Software Architecture Course, Dr. Abdollahzadeh 16  اطالعاتي در مورد ساختار سيستم در ارتباط با يک زيرسيستم خاص ‏ کمک اليه ها به حذف جزئيات در Viewهاي پيچيده ‏ کاهش سطح اطالعات ‏ حذف وابستگي هاي واسط ‏ حذف جزئيات وابستگي زیرسيستم هاي اليه ي باال به زيرسيستم هاي اليه ي پايين ‏ ايجاد و نگهداري آسانتر مدل 17 ‏Amirkabir University of Technology, Computer Engineering ‏Faculty, Large Scale Software Architecture Course, Dr. ‏Abdollahzadeh Amirkabir University of Technology, Computer Engineering Faculty, Large Scale Software Architecture Course, Dr. Abdollahzadeh 18  ترکيب يک مجموعه از viewهاي متمرکز بر زيرسيستم ها :يک نسخه ي سطح باال از ‏Subsystem interface dependency view ‏ حذف زيرسيستم هاي زيرساختي و off-the-shelf ‏ هدف :توصيف واسط هاي سازماني ‏ امکان مخابره ي مرز تيم هاي توسعه ‏ امکان مخابره و مذاکره ي واسط هاي بين تيم هاي توسعه ‏ امکان برقراري ارتباط با مديران پروژه 19 ‏Amirkabir University of Technology, Computer Engineering ‏Faculty, Large Scale Software Architecture Course, Dr. ‏Abdollahzadeh Amirkabir University of Technology, Computer Engineering Faculty, Large Scale Software Architecture Course, Dr. Abdollahzadeh 20  مستندات معماري قديمي › معموال يک viewي اليه اي از سيستم وجود دارد › فهم آسان براي افراد معمولي › به صورت هماهنگ رسم نمی شود › اطالعات فني قابل توجهي را در مورد معماري منتقل نمي کنند. ‏ ‏Layered Subsystem viewpoint › اضافه کردن مفاهيم وابستگي را براي تيم هاي فني به اين نمودار سنتي › حفظ قابليت فهم آسان 21 ‏Amirkabir University of Technology, Computer Engineering ‏Faculty, Large Scale Software Architecture Course, Dr. ‏Abdollahzadeh نمونه ای از مفاهیم وابستگی اضافه شده › الیه بندی های formalو relaxed › مهم برای تیم های توسعه و معماری ‏ سیستم های بسیار بزرگ که از زیرساخت های مشترک استفاده می کنند: الیه بندی relaxed ‏ سیستم های کوچک یا با زمینه ی کاری محدود :الیه بندی formal وابستگی بین زیرسیستم های یک الیه؟ › به نحوه ی تعریف الیه ها بستگی دارد 22 ‏Amirkabir University of Technology, Computer Engineering ‏Faculty, Large Scale Software Architecture Course, Dr. ‏Abdollahzadeh سازماندهي زيرسيستم ها در اليه ها  View نشان دادن کل معماري در يک Subsystem interface نسخه ي تطبيق يافته ي dependency view اليه بندي و حذف جزئيات ي کلي از معماري يک سيستم بزرگview فراهم کردن يک Amirkabir University of Technology, Computer Engineering Faculty, Large Scale Software Architecture Course, Dr. Abdollahzadeh 23   Amirkabir University of Technology, Computer Engineering Faculty, Large Scale Software Architecture Course, Dr. Abdollahzadeh 24 Amirkabir University of Technology, Computer Engineering Faculty, Large Scale Software Architecture Course, Dr. Abdollahzadeh 25  ارائه ی جنبه اي حياتي از معماري نرم افزار براي توسعه دهندگان نرم افزار به صورت مختصر :وابستگي هاي زمان ساخت. ‏ بستگي زيرسيستم هاي اليه هاي باال به زيرسيستم هاي اليه هاي پايين ‏ به عنوان يک بازنمايي اساسي از طراحي و معماري سيستم نرم افزاري در زمان ساخت به کار مي رود ‏ نسخه هاي توسعه يافته از اين viewرا ميتوان براي انتقال جنبه هاي مختلفي از سيستم براي stakeholderهاي متفاوت به کار برد. 26 ‏Amirkabir University of Technology, Computer Engineering ‏Faculty, Large Scale Software Architecture Course, Dr. ‏Abdollahzadeh Amirkabir University of Technology, Computer Engineering Faculty, Large Scale Software Architecture Course, Dr. Abdollahzadeh 27  پيشنهاد :نگاشتن مستقيم اليه ها و زيرسيستم ها به ساختار پياده سازي زمان ساخت پروژه ‏ ‏ يک زيرسيستم در طراحي :زيردايرکتوري با همان نام در دايرکتوري منبع دايرکتوري يک زیرسيستم شامل چند دايرکتوري براي مديريت محصوالت توسعه ي زيرسيستم › کد منبع › تست هاي زيرسيستم › مستندات ‏ اليه ها در معماري :به صورت دايرکتوري در پياده سازي 28 ‏Amirkabir University of Technology, Computer Engineering ‏Faculty, Large Scale Software Architecture Course, Dr. ‏Abdollahzadeh نشان دادن معماري زيرسيستم ها به طور مستقيم در کد:پيشنهاد  منبع منطبق بر معماري اليه هاinclude بهترين راه استفاده از مسيرهاي  و زيرسيستم ها از اليه يdate-time در زيرسيستمdate براي دسترسي به کالس ++C در يک ماژولfoundation ”include “foundation/date-time/date.hpp# Amirkabir University of Technology, Computer Engineering Faculty, Large Scale Software Architecture Course, Dr. Abdollahzadeh 29  فايده :انعکاس معماري سيستم در کد منبع › کمک در يادگيري سازماندهي کل سيستم به پياده سازي کنندگان مشکل :تاثیر بر مقدار زیادی از کد در صورت تغيير › سازماندهي سيستم (مثال تغيير نام يک )Package روش ديگر :حذف جزئيات از کد منبع › سيستم ساخت موظف به مديريت مسيرهاي includeاست › برنامه نويس تنها ”include “date.hpp#را مي نويسد. › کوتاهتر و انتقال اطالعات بسيار کمتر 30 ‏Amirkabir University of Technology, Computer Engineering ‏Faculty, Large Scale Software Architecture Course, Dr. ‏Abdollahzadeh امکان ایجاد viewهايي شامل زيرسيستم ها و componentها در UML پيشنهاد :عکس اين مطلب تعريف : componentنمونه هاي زمان اجرا زيرسيستم ها :يک روش ساختار دادن به سيستم در زمان ساخت تنها رابطه ي معني دار :يک زيرسيستم يک componentرا مي سازد هر componentيک زيرسيستم متناظر دارد که به آن "زيرسيستم مبدا" يا “ ”subsystem of originگفته مي شود 31 ‏Amirkabir University of Technology, Computer Engineering ‏Faculty, Large Scale Software Architecture Course, Dr. ‏Abdollahzadeh در ز>يرس>يستم م>بدا ن>>يستComponent نصب و اجراي آن زيرسيستم،نتيجه اي از ساخت   component برای توصیف مفاهيم زمان ساخت و زمان اجرا تنها با ها هاي زمان ساختcomponent › هاي زمان اجرا را با يک نامcomponent › را بسازدcomponent يک زيرسيستم مي تواند چندين Amirkabir University of Technology, Computer Engineering Faculty, Large Scale Software Architecture Course, Dr. Abdollahzadeh 32  Amirkabir University of Technology, Computer Engineering Faculty, Large Scale Software Architecture Course, Dr. Abdollahzadeh 33 منابع  Jeff Garland, Richard Anthony, Chapter 6 of Book entitled “Large-Scale Software Architecture”.  Recommended Reading › Hofmeister et al. (1999) › Buschmann (1996) › Doug Smith (2000) › Lakos (1996) Amirkabir University of Technology, Computer Engineering Faculty, Large Scale Software Architecture Course, Dr. Abdollahzadeh 34

62,000 تومان