طراحي و مدل کردن مؤلفه ها فصل 7 معماري نرم افزار هاي بزرگ دانيال مؤذن استاد : دکتر عبدالله زاده
دانشکده مهندسی کامپیوتر و فناوری اطلاعات - دانشگاه صنعتی امیرکبیر 2 معرفي در اين فصل به معرفي ديدگاه هاي مربوط به ساختار، واسطه ها، وابستگي ها و ديناميسزم مؤلفه ها مي پردازيم. اين ديدگاه ها براي تيم هاي پياده سازي وقتي که به مستندسازي ساختار مؤلفه هاي زمان اجرا و تعاملات بين آنها مي پردازند مهم است. ديدگاه هاي اين فصل کاري به پراکندگي مؤلفه ها نداشته و به تعاملات منطقي بين آنها مي پردازند.
دانشکده مهندسی کامپیوتر و فناوری اطلاعات - دانشگاه صنعتی امیرکبیر 3 توسعه مؤلفه محور داراي مزاياي بسياريست : کاهش زمان توليد و افزايش کارايي سيستم امکان استفاده از مؤلفه هاي پيش ساخته امکان ساخت و تست مستقلانه اجزاء سيستم اضافه کردن و تغيير اجزاء سيستم هزينه و ريسک کمتري دارد جاگيري مؤلفه ها از ديد سيستم مخفي مي شود. کاهش وابستگي اجزاء سيستم به هم و به زيرساخت سخت افزاري و امکان ارتقاء مستقلانه مؤلفه ها و زيرساخت ها مدل هاي پياده سازي متنوع در دسترس است : COM CORBA Java Beans.Net مدل هاي مختلف پياده سازي توأمان قابل استفاده اند ولي در صورت امکان از ابتدا يکي انتخاب و شروع به آموزش، تجربه و... پردازيد.
دانشکده مهندسی کامپیوتر و فناوری اطلاعات - دانشگاه صنعتی امیرکبیر 4 تعاريف در UML سه نوع مؤلفه داريم : مؤلفه هاي زمان کامپايل مؤلفه هاي زمان لينک مؤلفه هاي زمان اجرا مؤلفه هاي زمان لينک و کامپايل، کتابخانه کد اشيا و فايل هاي اجرايي مي باشند. مؤلفه هاي زمان اجرا، نمونه هاي حاضر در حافظه از ساختار هاي زمان ساخت مي باشند. ديدگاه هاي معرفي شده به خواص زمان اجراي مؤلفه ها مي پردازند.
دانشکده مهندسی کامپیوتر و فناوری اطلاعات - دانشگاه صنعتی امیرکبیر 5 تعريف مؤلفه مجموعه اي فيزيکي از ساخت هاي شيءگرا يا تابعي که کارآيي سيستم را ازطريق مکانيزم هاي ارتباطي مشخص شده فراهم مي کند. شامل مجموعه اي از درگاه ها (port) و واسط ها (interface) است که ارتباط با ديگر مؤلفه ها از طريق آنها فراهم مي شود. به صورت برنامه اجرايي، کتابخانه هاي زمان اجرا (DLL) يا ديگر تکنولوژي هاي بسته بندي زمان اجرا تحويل داده مي شود.
دانشکده مهندسی کامپیوتر و فناوری اطلاعات - دانشگاه صنعتی امیرکبیر 6 تعريف مؤلفه يک مؤلفه حتماً داراي اين خواص مي باشد : سرويس را از طريق واسط ها، درگاه ها و پروتکل هاي تعامل به خوبي تعريف شده در اختيار مي گذارد. حالت و رفتار هردو را محفوظ (encapsulate) مي کند. فقط به يک زيرساخت مؤلفه يا سيستم عامل براي راه اندازي و ارتباط با ديگر مؤلفه ها وابسته است. يک مؤلفه معمولاً داراي اين خواص است : به جاي توليد، معمولاً خريداري مي شود. در پروسس يا رشته اجراي مجزا اجرا مي شود. از روش هاي محو مکان استفاده مي کند. داراي تنظيمات متنوع است که بر رفتار آن تأثير مي گذارد. مستقل از ديگر مؤلفه ها ساخته ، تست و تحويل مي شود. با تفکرات شيءگرا ساخته مي شود. به زبان خاصي وابستگي ندارد، لذا ايجاد سازگاري مي کند.
دانشکده مهندسی کامپیوتر و فناوری اطلاعات - دانشگاه صنعتی امیرکبیر 7 جايگاه مؤلفه ها در زير سيستم ها هر مؤلفه از فقط يک زيرسيستم نشأت مي گيرد. زير سيستم هايي که در زمان ساخت موجوديت هايي را براي مؤلفه فراهم مي کنند،زير سيستم منشأ محسوب نمي شوند. واسط يک مؤلفه ، يک نمونه از واسط زيرسيستم منشأ است. مؤلفه هاي مرکب، مجموعه اي مؤلفه ها را دريک مؤلفه منطقي گرد مي آورند و امکان مدل کردن مجموعه اي مؤلفه ها را در سطح بالا تري از انتزاء فراهم مي کنند. معمولاً يک مؤلفه، واحد جايگزيني براي سيستم محسوب مي شود.
دانشکده مهندسی کامپیوتر و فناوری اطلاعات - دانشگاه صنعتی امیرکبیر 8 جايگاه مؤلفه ها در زير سيستم ها کليد دستيابي به تعريفي موفق از معماري بوسيله مؤلفه ها، اين است که تمام مؤلفه ها داراي ساختار و مکانيزم ارتباطي به خوبي تعريف شده اي باشند، که بتوان با استفاده از آنها مجموعه اي از مؤلفه ها را، براي دستيابي به مجموعه اي از کاربرد هاي سيستم ترکيب کرد. مؤلفه ها معمولاً در ابتداي طراحي ” ابتدايي ” هستند و در طول فرآيند هاي طراحي تکميل مي شوند، مگر آنهايي که از ابتدا کاملاً شناخته شده اند مثل سيستم هاي legacy
دانشکده مهندسی کامپیوتر و فناوری اطلاعات - دانشگاه صنعتی امیرکبیر 9 ارتباطات و واسطه ها دو نوع ارتباط بين مؤلفه ها قابل تعريف است از طريق واسطه ها (interface) از طريق پيغام رساني (messaging) واسطه ها در UML کلاس کليشه شده اي (stereotyped) است که بوسيله آن مؤلفه هاي خارجي مي توانند با مؤلفه فراهم کننده آن ارتباط برقرار کنند. در روش پيغام رساني ، نوع پيغام، پروتکل حاکم و پورت ها تعريف مي شوند و از طريق آنها ارتباط برقرار مي شود.
دانشکده مهندسی کامپیوتر و فناوری اطلاعات - دانشگاه صنعتی امیرکبیر 10 ديدگاه مؤلفه
دانشکده مهندسی کامپیوتر و فناوری اطلاعات - دانشگاه صنعتی امیرکبیر 11 واسط ها واسط ها به صورت متدهايي در کلاس هايي که براي مشتري (client) خارجي فراهم مي شوند، پياده مي شوند. براي تعريف واسط ها از زبان مخصوصي استفاده مي شود مثل IDL براي پياده سازي واسط ها از مکانيزم هايي نظير COM/DCOM ، CORBA ، JMI و... استفاده مي شود. هنگام استفاده از واسط ها، مؤلفه ها به واسط ها وابسته مي شوند. استفاده از واسط ها، مکانيزم pull ايجاد مي کند. با استفاده از واسطه ها ارتباط دوبه دو بين مؤلفه ها برقرارمي شود. معمولاً درخواست هاي متوقف کننده (synchronous) با واسطه ها پياده مي شوند.
دانشکده مهندسی کامپیوتر و فناوری اطلاعات - دانشگاه صنعتی امیرکبیر 12 وابستگي مؤلفه ها در واسط ها
دانشکده مهندسی کامپیوتر و فناوری اطلاعات - دانشگاه صنعتی امیرکبیر 13 پيغام رساني شامل 3 جز است : درگاه ها پروتکل حاکم بر ارتباط نوع پيغام درگاه نوعي کلاس کليشه است که ارتباطات نوع خاصي پيغام را فراهم مي کند. درگاه نوع پيغام دريافتي و ارسالي را مشخص مي کند. مکانيزم پيغام رساني ارتباط چند جانبه بين مؤلفه ها را فراهم مي کند. استفاده از پيغام امکان درخواست هاي متوقف نکننده (Asynchronous) را فراهم مي کند. استفاده ازپيغام رساني، مکانيزم push را ايجاد مي کند. با استفاده از مکانيزم پيغام رساني ،مؤلفه ها به نوع پيغام و زيرساخت ارتباطي وابسته مي شوند.
دانشکده مهندسی کامپیوتر و فناوری اطلاعات - دانشگاه صنعتی امیرکبیر 14 وابستگي مؤلفه ها در پيغام رساني
دانشکده مهندسی کامپیوتر و فناوری اطلاعات - دانشگاه صنعتی امیرکبیر 15 شماي ديدگاه مؤلفه با در نظر گرفتن مکانيزم ها
دانشکده مهندسی کامپیوتر و فناوری اطلاعات - دانشگاه صنعتی امیرکبیر 16 ديدگاه تعامل مؤلفه ها تعاملات زمان اجراي مؤلفه ها را بوسيله نمودارهاي sequence و state در سطح مؤلفه نشان مي دهد. هدف : تأييد اعتبار ساختار طراحي از طريق سير در پويايي نرم افزار. زمان بکارگيري : در طول عمر پروژه، ابتدا در حين تحليل و طراحي فراهم مي شود، ولي در زمان توسعه مي تواند استفاده و بسط داده شود. ذي النفع ها : تيم معماري نرم افزار، تيم مهندسي سيستم هاي نرم افزاري، هدايت گران طراحي زيرسيستم ها، توسعه گران قابليت توسعه : براساس سناريو ها مي توان بوسيله مؤلفه هاي مرکب آنرا توسعه داد. رابطه با ديگر ديدگاه ها : مي بايست با ديدگاه مؤلفه، پروسس و قرارگيري (deployment) سازگار باشد.
دانشکده مهندسی کامپیوتر و فناوری اطلاعات - دانشگاه صنعتی امیرکبیر 17 ديدگاه تعامل مؤلفه ها از نمودارهاي تعامل اشياء (object interaction) قابليت توسعه بيشتري دارد،زيرا جزييات اشياء نشان داده نمي شوند. براي نمايش مؤلفه هاي خريداري شده (COTS) و سيستم هاي قديمي (legacy) بسيار مناسب است.
دانشکده مهندسی کامپیوتر و فناوری اطلاعات - دانشگاه صنعتی امیرکبیر 18 Component Interaction Viewpoint w/Sequence diagram
دانشکده مهندسی کامپیوتر و فناوری اطلاعات - دانشگاه صنعتی امیرکبیر 19 Component Interaction Viewpoint w/State diagram
دانشکده مهندسی کامپیوتر و فناوری اطلاعات - دانشگاه صنعتی امیرکبیر 20 مدل سازي حالت مؤلفه ها ديدگاه حالت مؤلفه وسيله اي جهت ارائه حالات داخلي وفعاليت هاي يک يا چند مؤلفه و شفافيت درون رفتار مؤلفه ( ها ) را فراهم مي آورد. رفتار را به دو صورت مي توان مستند کرد : نمايش حالات بالقوه مؤلفه و انتقال بين اين حالات نمايش گردش کنترل از يک فعاليت به ديگري
دانشکده مهندسی کامپیوتر و فناوری اطلاعات - دانشگاه صنعتی امیرکبیر 21 ديدگاه حالت مؤلفه هدف : مدل کردن حالت يک ياگروهي از مؤلفه ها زمان بکارگيري : در طول عمر پروژه، ابتدا در حين تحليل و طراحي فراهم مي شود، ولي در زمان توسعه مي تواند استفاده و بسط داده شود. ذي النفع ها : تيم معماري نرم افزار، تيم مهندسي سيستم هاي نرم افزاري، هدايت گران طراحي زيرسيستم ها، توسعه گران و تست کننده ها. قابليت توسعه : ديدهاي براساس حالت براي يک مؤلفه مي توانند به مؤلفه هاي مرکب توسعه پيدا کنند. ديد هاي بر اساس فعاليت مي توانند بر يک يا چند مؤلفه اعمال شوند. ارتباط با ديگر ديدگاه ها : مي بايست با ديدگاه هاي پويا ،همچنين تعريف واسط و پيغام سازگار باشند.
دانشکده مهندسی کامپیوتر و فناوری اطلاعات - دانشگاه صنعتی امیرکبیر 22 مدل سازي حالت مؤلفه توسط حالات بالقوه يک حالت بخشي از زندگي يک مؤلفه است که در حين آن مؤلفه مجموعه اي از فعاليت ها را انجام مي دهد. ورود به يک حالت پس از اتمام حالتي ديگر يا دريافت يک واقعه (event) مي باشد. خروج از يک حالت پس از اتمام فعاليت يا دريافت يک واقعه مي باشد. ديدگاه حالت محور تغيير حالات براي يک مؤلفه را معين مي کند. حالات با بوجود آمدن يک مؤلفه شروع و با معدوم شدن آن پايان مي يابند. در هر حالت مجموعه از فعاليت ها نشان داده مي شود.
دانشکده مهندسی کامپیوتر و فناوری اطلاعات - دانشگاه صنعتی امیرکبیر 23 مدل سازي حالت مؤلفه توسط حالات بالقوه
دانشکده مهندسی کامپیوتر و فناوری اطلاعات - دانشگاه صنعتی امیرکبیر 24 مدل سازي حالت توسط تغيير فعاليت ها اين ديدگاه انتقال از يک فعاليت به ديگري را براي مؤلفه نشان مي دهد. حالات شامل يک فعاليت مي باشند و با تکميل حالت ديگري، شروع مي شوند. مي توان فعاليت هاي مرتبط مؤلفه ها مختلف را در ساختارهاي شبيه خطوط شنا دسته بندي کرد و بدين وسيله انتقال بين فعاليت هاي گروهي از مؤلفه ها را نمايش داد
دانشکده مهندسی کامپیوتر و فناوری اطلاعات - دانشگاه صنعتی امیرکبیر 25 مدل سازي حالت توسط تغيير فعاليت ها