گزارش سمینار طراحی معماری نرم افزار مبتنی بر سبک

تعداد صفحات: 165 فرمت فایل: word کد فایل: 10001919
سال: 1386 مقطع: مشخص نشده دسته بندی: پایان نامه مهندسی کامپیوتر
قیمت قدیم:۲۳,۱۰۰ تومان
قیمت: ۲۱,۰۰۰ تومان
دانلود فایل
  • خلاصه
  • فهرست و منابع
  • خلاصه گزارش سمینار طراحی معماری نرم افزار مبتنی بر سبک

    گزارش سمینار کارشناسی ارشد مهندسی کامپیوتر

    مقدمه

    معماری نتیجه مجموعه ای از تصمیمات فنی و حرفه می باشد.معماری نرم افزار با ایجاد تجریدهای سطح بالا باپیچیدگی و گستردگی سیستمهای نرم افزاری بزرگ مقابله می کند.  اغلب سیستمهای نرم افزاری دارایسازماندهی معماری مشابهی می باشند . سبکهای معماری روشی برای استفاده از تشابهات بین معماری های گوناگون می باشد.در این قسمت مروری کوتاه بر سبک و معماری نرم افزار در فرایندهای طراحی نرم افزار خواهیمداشت .

    ۱-۱ روشهای استفاده ا ز تجریدهای سطح بالا

    روشهای مختلفی برای استفاده از تجریدهای سطح بالا وجود دارد, اما به منظور ایجاد سیستمهای بزرگ و پیچیده, ترکیب سیستماتیک این روشها تحت یک دیسیپلین کامل ضروری است. سه روش عمده برای طراحی سیستم های نرم افزاری بزرگ وجود دارد:

    ۱. مهندسی نرم افزار مبتنی بر مولفه١ با استفاده از مولفه های از قبل تست شده و از قبل بسته بندی شدهقابلیت استفاده مجدد را افزایش می دهد. میان افزار٢ یک واسط استاندارد برای سیستمهای عاملناهمگن و سرویس های شبکه ارائه می دهد.

    ۲.Middleware  که یک واسط استاندارد برای سیستمهای عامل ناهمگن و سرویس های شبکه ارائه میدهد .

    و

     

     

    ۳.   معماری نرم افزار که سازمان درشت ساختار سیستم و رفتار آن را تشریح می کند. معماری نرم افزارپشتیبانی تحلیلی بهتری برای تعیین ویژگیهای بزرگ سیستم نسبت به دو روش اول ارائه می دهد واغلب با استفاده از پلتفرمهایmiddleware  و مولفه هایoff-the-shelf  پیاده سازی می شود.

     

    اگر از جنبه فرایند طراحی به مساله توجه شود, این موضوع بوضوح قابل تشخیص می باشد که برای طراحیمولفه های نرم افزاری و تعاملات آنها و نیز سازماندهی صحیح سیستمهای توزیع شده, به معماری نرم افزار نیازاست.

    ۱-۲ سبک در طراحی معماری نرم افزار

    سبک در طراحی معماری به منظور تضمین خصوصیات مطلوب وابسته   به سبک معماری های مبتنی بر آن سبکمورد استفاده قرار می گیرد. با وجود اینکه تکنیکهای سیستماتیک برای تشریح و انتخاب سبک وجود دارد, ولیبرروی طراحی سیستماتیک و ایجاد معماری های مبتنی بر سبک کار زیادی انجام نگرفته است .لذا نیازمندی به یکمتدولوژی برای طراحی       معماری نرم افزار با استفاده از سبکهای معماری نرم افزار       کاملا احساس می شود. اینمتدولوژی تحت یک چارچوب باید شامل تکنیکهای گوناگونی باشد تا با درنظرگرفتن قواعد و محدودیتهای سبک ها, این طراحی را انجام دهد. داده ها, ساختار, توپولوژی ها, تعاملات و رفتار سبکها در این تکنیکها باید در نظرگرفته شود. نکته مهم در این طراحی چگونگی تطابق سبکهای انتخاب شده برای تشکیل معماری می باشد تا ویژگیهای وابسته به سبک در معماری حاصل حفظ شود .

    Component Based Software Engineering(CBSE)

    Middleware

    ۱-۳ ساختار این گزارش

    این گزارش در قالب ۵ فصل ارائه خواهد شد که در این قسمت هر فصل به صورت کلی معرفی می شود :

    فصل اول: مقدمه (همین فصل) در این فصل کلیات موضوع مورد بحث قرار می گیرد تا خواننده جهتگیری کلی موضوع را درک نماید و با فضایی که مساله  در آن مطرح خواهد شد آشنا شود .

    فصل دوم: مفاهیم معماری نرم افزار  هدف از تدوین این فصل مروری بر مفاهیم بنیادی و مرتبط باموضوع         در حوزه معماری نرم افزار می باشد .

     

     

    فصل سوم: توسعه مبتنی بر مولفه این فصل دو موضوع را پوشش می دهد. ابتدا مفهموم مولفه وتعاریف مختلف ارائه شده برای مولفه و توسعه مبتنی بر مولفه مطرح شده است. در قسمت دوم معمارینرم افزار مبتنی بر مولفه تشریح و جایگاه مولفه در سبکهای معماری نرم افزار مورد بحث قرار می گیرد.

     

    فصل چهار: سبکها و الگوهای معماری نرم افزار تشریح مفاهیم سبک و الگو در حوزه معماری, ارائهتقسیم بندی های مختلف ارائه شده برای            سبکها و بررسی ساختار و رفتار برخی از سبکهای مهم از اهدافاین فصل می باشد

    فصل پنجم: معماری نرم افزار مبتنی بر سبک این فصل شامل بحث اصلی سمینار خواهد بود. بررسیحوزه مساله, جهت گیری ها, مسائل مطرح در آن, ماهیت موضوع , نیازها و ضروریات از مواردی استکه در قالب این فصل ارائه خواهد شد.

    فصل ششم: نتیجه گیری و طرح مساله خلاصه ای از گزارش در این فصل ارائه می شود . همچنینموضوعات و مسائلی که باید حل شود مطرح خواهد شد.

     

     

    فصل ۲

     

    مفهوم معماری نرم افزار

    مقدمه

    در این فصل به مفاهیم بنیادی و اساسی معماری نرم افزار اشاره خواهد شد.

    ۲-۱ معماری نرم افزار

    معماری نرم افزار یک تجرید سطح بالا از سیستمهای نرم افزاری به فرم عناصر , رابطها, پردازشهای دانه درشت وپیکربندی آنها ارائه می دهد[Perry & Wolf]. در حقیقت معماری نرم افزار سازماندهی سیستمهای نرم افزاری رابا استفاده از مولفه ها, رابطها و پیکربندی که به وسیله آن مولفه ها و رابطها در یک سیستم به هم متصل می شوند, و داده ای که بین مولفه ها و رابطها منتقل می شود تشریح می کند[Fielding & Taylor 2000].

    تمرکز اصلی معماری نرم افزار بهبودی توسعه نرم افزار می باشد زیرا مدلهای معماری می توانند جنبه هایساختاری, رفتاری و ترکیبی پیچیدگی نرم افزار را شناسایی و به صورت رسمی نشان می دهند لذا استدلالهایدقیق درباره ویژگیهای کلی سیستم ارائه میدهند. اما علاوه بر درک مشخصات کلی که هدف آن درک راه حلهایمعماری می باشد, یک     روش مهندسی نیازمند ساختن مدلها و تئوری ها برای حل مسائل تکرار شونده می باشد.

    این مدلها و تئوری ها منجر به تدوین تجارب موفق می شود که می توانند برای حل مسائل مشابه اعمال

    . [Garlan 1996]شوند

    ۲-۲ تعاریف معماری نرم افزار

     

     

    در این قسمت تعاریف مختلفی که توسط افراد مختلف و از جنبه های مختلف ارائه شده است ارائه می شود.

     

    [Bass 03] : معماری نرم افزار برای یک برنامه یا یک سیستم محاسباتی, ساختار یا ساختارهای آنسیستم است که شامل عناصر نرم افزاری, ویژگی های قابل مشاهده خارجی١ هر یک از عناصر و ارتباطبین آنها می باشد.

    [IEEE 1471-00] : سازماندهی اساسی یک سیستم که شامل مولفه ها, ارتباط بین هر یک از آنها وارتباط آن با محیط سیستم و اصول حاکم بر طراحی و تکامل آن می باشد .

    [Perry 92] : معماری مجموعه ای از اجزا معماری است که شکل خاصی دارند. این اجزا در سه نوعفرایندی, داده ای و اتصالی طبقه بندی می شوند.

    معماری نرم افزار ساختار مولفه ای یک سیستم (یا برنامه) و ارتباطات بین آنها و یک سری اصول وراهنماییهای حاکم بر طراحی و تکامل آن می باشد.

    [Garlan 03]: مجموعه ای از مولفه های نرم افزاری, زیر سیستم ها, ارتباطات, تعاملات, خصوصیات هر یک از اجزا و مجموعه ای از اصول هدایت کننده که هر دو مجموعه باهم یک سریخصوصیات اساسی و قیودی برای یک سیستم نرم افزاری تشکیل می دهند .

    [Hayes 94]: مشخصه های یک سیستم انتزاعی که شامل مولفه های تابعی و رفتاری است و رفتارها وواسطهای هر مولفه و ارتباطات مولفه – مولفه را توصیف می کند.

    [Boehm 95] : معماری یک سیستم نرم افزاری شامل :

     .۶

    مجموعه ای از مولفه ها, ارتباطات و قیدهای یک سیستم یا نرم افزار می باشد.

    مجموعه ای از درخواستهای سهامداران سیستم

    1 Externally visible 

    منطق و اصولی را برای مولفه ها, ارتباطات و قیدهای سیستمی که می خواهیم پیاده سازیکنیم و مطابق مجموعه درخواستهای سهامداران باشد, تعریف می کند .

    ۷.[McGovern 03 ]       : معماری نرم افزار برای یک سیستم یا مجموعه سیستم ها, شامل تصمیمات مهمطراحی در مورد ساختارهای نرم افزار و تعاملات بین این ساختارها که سیستم مورد نظر را تشکیل

    می دهند, می باشد . این تصمیمات طراحی مجموعه ای از کیفیتهایی را پشتیبانی می کنند که بایدتوسط سیستم حمایت شوند تا موفقیت حاصل شود. تصمیمات طراحی یک سری اصول مفهومی پایه برایتوسعه و حمایت و نگهداری سیستم ارائه می دهند .

    ۸.[Bhagtani 03]  : یک چارچوب پایه یا یک ابزار ساخت که فرایندهای طراحی را ساده می کند . یکسیستم انتزاعی می باشد مولفه های عملیاتی و رابطه بیرونی این مولفه ها, قیدهایی برروی این مولفه هاو منطقی برای انتخاب آنها می باشد .

    ۲-۳ اهمیت معماری نرم افزار

     

     

    از جنبه فنی معماری نرم افزار به دلایل زیر مهم می باشد :

     

    ۱. ارتباطات بین سهامداران: معماری نرم افزار یک سطح انتزاع عمومی از یک سیستم را ارائه می دهد کهبسیاری از سهامداران سیستم می توانند از آن به عنوان مبنایی برای درک متقابل, مذاکرات, اجماع وارتباطات دو طرفه استفاده نمایند .

    ۲.   تصمیمات طراحی اولیه: معماری نرم افزار زودترین تصمیمات طراحی درباره یک سیستم را آشکارمی کند. این الزامات برای ادامه توسعه سیستم, استقرار و نگهداری آن مهم می باشند. همچنین اینزودترین نقطه ای است که می توان تصمیمات طراحی را که سیستم بر اساس آن بنا شده است آنالیز نمود.

    ۳.    تجرید قابل انتقال یک سیستم: معماری نرم افزار مدلهای نسبتا کوچک و منطقی برای چگونگیساخته شدن سیستم و چگونگی عملکرد عناصر با همدیگر تشکیل می دهد, و این مدلها در سرتاسرسیستم قابل انقال می باشند. به خصوص, این مدلها می توانند در سیستمهایی که دارای ویژگی هایکیفی و نیازمندی های وظیفه مندی مشابهی دارند استفاده شود و قابلیت استفاده مجدد در مقیاس بزرگرا افزایش دهد.

    ۲-۴ اجزا معماری نرم افزار

    خلاصه تعاریف ارائه شده برای معماری نرم افزار می تواند به صورت زیر ارائه شود :

    معماری نرم افزار سیستم را با استفاده از مولفه های محاسباتی و تعاملات بین آنها تعریف می کند .

    با استفاده از تعریف فوق می توان چنین استنتاج نمود که معماری از اجزای زیر تشکیل شده است :

    (Components)مولفه ها

    (Connectors) رابطها

    (Interfaces)واسطها

    (Configurations)پیکربندی ها

    ۲-۴-۱ مولفه ها

    مولفه ها مکانهای هندسی محاسبات می باشند. در حقیقت مولفه ها برای انجام کار در معماری می باشند .

    مولفه ها دارای واسطهایی می باشند. مولفه ها می توانند درشت دانه (مانند ادیتورها) یا ریز دانه (مانند انتشارتیکهای ساعت) باشند.

     

     

    ۲-۴-۲ رابطها

     

    رابطها مکان هندسی ارتباطات می باشند و دارای معنای خوش تعریف می باشند. رابطها ارتباطات بین مولفه ها راتسهیل می کنند و می توانند ساده (مانندbroadcat bus ) , پیچیده (مانند شاملmiddleware ) باشند. از طرفدیگر رابطها می توانند ضمنی(مانند فراخوانی پروسیجرها, invocation ها) یا واضح (مانندORB ها, ارتباطاتباس واضح) باشند.

    ۲-۴-۳ واسطها

    واسطها نقاط اتصالی رابطها و مولفه ها می باشند.آنها مشخص می نمایند که داده در کجا وارد مولفه ها/ رابطها شوندیا از آنها خارج شوند. واسطها می توانند    به طورساده (رویدادهای     ورودی و رویدادهای خروجی) یا پیچیده(پروتکلهای رویدادی عبوری از طریق واسطها) تعریف شوند.

    شکل ۲-۱ واسطهای مولفه

    ۲-۴-۴ پیکربندی ها

    پیکربندی ها, مولفه ها و رابطها را به فرم معماری مرتب می نمایند.

    شکل ۲-۲ پیکربندی مولفه ها

    ۲-۵ تصمیمات معماری

     

     

    یکی از مسئولیتهای معماری اتخاذ تصمیمات معماری است. در تصمیمات معماری، معماری سیستمهای نرمافزاریآشکار و روشن میشود. تصمیمات معماری بایستی از منظر سیستم یا در محدوده وسیعی اتخاذ شوند و هر تصمیمیکه در محدوده کوچکی گرفته شود، معماری نیست. در واقع تصمیمات معماری دربر گیرنده ویژگیهای کلیدیکلان و سطح بالای یک معماری میباشد.تصمیمات معماری، تصمیماتی هستند که نیاز است از دید کلی سیستماتخاذ شوند. این تصمیمات عناصر ساختاری کلیدی سیستم، صفات قابل رؤیت آنها در خارج و روابط میان آنها راشناسایی میکند. همچنین تعریف میکند که چگونه نیازمندیهای مهم وابسته به معماری بدست خواهند آمد. یکمشخصه تصمیمات معماری این است که نیاز است آنها از منظر سیستم یا محدوده وسیع اتخاذ شوند و هر تصمیمیکه در محدوده کوچکی ساخته شود یا از یک منظر محلی ساخته شود، یک معماری نیست. بنابراین سطح تصمیماتمعماری با تصمیمات طراحی جزئی و پیادهسازی متفاوت است و در سطح بالاتری از تجرید رخ میدهد. تصمیماتمعماری اثرات سیستماتیک دارند ولی تصمیمات طراحی جزئی و تصمیمات پیادهسازی، اثرات محلی دارند، یعنی اثرتصمیمات معماری اگر روی تمام سیستم نباشد حداقل روی بخشهایی از سیستم است. بعنوان مثال اگر سیستمموردنظر ما یک برنامه کاربردی باشد هر تصمیمی که بوسیله طراحان و پیادهسازان مؤلفهها میتواند گرفته شود بایدبه عقب بیفتد و بعنوان بخشی از معماری درنظر گرفته نشود و اگر محدوده معماری خانوادهای از برنامه هایکاربردی باشد (یا خط تولید) هر تصمیمی که تنها به یک برنامه کاربردی وابسته است بایستی عقب بیفتد و بعنوانبخشی از معماری خانواده برنامه های کاربردی درنظر گرفته نشود. در هر صورت تصمیمات معماری بایستی رویناحیههای اولویت بالا و اثرات بالا متمرکز باشد.

     

    این تعریف ما را به سمت شناسائی انواع تصمیماتی که ما بعنوان معماری درنظر میگیریم، هدایت میکند. درمعماری تصمیماتی وجود دارد که وابسته به شناسائی عناصر ساختاری سیستم و طراحی رابطها و روابطشانمیباشد. همچنین تصمیمات وابسته به معماری بایستی در نگهداری جامعیت سیستم و ویژگیهایCross Cutting نیز نقش بازی کنند. با این توضیح بعضی تصمیمات ممکن است مربوط به ساختارهای سطح بالایسیستم نباشند اما اگر آنها در رابطه با جامعیت سیستم نقش دارند و نتوانند از منظرهای جداگانهای ساخته شوند درنتیجه این تصمیمات وابسته به معماری هستند.

    ٢-٦ چرخه کاری معماری نرم افزار

    معماری مفهومی است که باید انتقال داده شود.این مفهوم برداشتی است که معمار از سیستمی که قرار است ساختهشود و یا وجود دارد انجام می دهد.این برداشت در قالب نقشه های معماری (شامل برخی نمودار) ارائه می شود.

     

     

    ممکن است دو معمار در شرایط مختلف نقشه های مختلفی ارائه نمایند. لذا طراحی دو معماری نرم افزار در شرایطمحیطی متفاوت برای یک سیستم ممکن است نتیجه یکسانی نداشته باشد . علت این کار تاثیرات متقابلی است کهمعماری نرم افزار و محیط برروی همدیگر می گذارند. لذا دو سوال باید مورد بررسی قرار گیرد. اولا چه موضوعاتیمعماری نرم افزار را تحت تاثیر قرار میدهند؟ ثانیا معماری نرم افزار چه چیزهایی را تحت تاثیر خود قرار می دهد؟این چرخه تاثیرات متقابل تحت عنوان چرخه کاری معماری مطرح می شود.

     

  • فهرست و منابع گزارش سمینار طراحی معماری نرم افزار مبتنی بر سبک

    فهرست:

    مطالب فصل اول: مقدمه

    مقدمه-----------------------------------------------۲

    ۱-۱                       روشهای استفاده ا ز تجریدهای سطح بالا------------------------۲

    ۱-۲                   سبک در طراحی معماری نرم افزار-----------------------------۲

    ۱-۳ ساختار این گزارش --------------------------------------۳

    فصل دوم: مفهوم معماری نرم افزار

    مقدمه-----------------------------------------------۵

    ۲-۱                      معماری نرم افزار-----------------------------------------۵

    ۲-۲                     تعاریف معماری نرم افزار -----------------------------------۵

    ۲-۳                      اهمیت معماری نرم افزار-----------------------------------۶

    ۲-۴                    اجزا معماری نرم افزار-------------------------------------۷

    ۲-۴-۱                  مولفه ها ----------------------------------------------۷

    ۲-۴-۲                 رابطها------------------------------------------------۷

    ۲-۴-۳                 واسطها-----------------------------------------------۷

    ۲-۴-۴               پیکربندی ها-------------------------------------------۸

    ۲-۵                   تصمیمات معماری----------------------------------------۸

    ٢-٦                    چرخه کاری معماری نرم افزار--------------------------------٩

    ٢-٧                    فرایند طراحی معماری نرم افزار------------------------------٩

    ٢-٨                 وظیفه مندی و ویژگی های کیفی و ارتباط آنها با معماری--------------۱۱

    ٢-٨-١                معماری و وظیفه مندی------------------------------------۱۱

    ٢-٨-٢                معماری و ویژگی های کیفی --------------------------------۱۲

    ۲-۹                      سناریوهای ویژگی های کیفی ------------------------------۱۳

               ۱۵----------------------------(مثال) Availability Scenario           ۱-۹-۲

    ۲-۱۰                     تاکتیکها--------------------------------------------۱۶

    ۲-۱۱                   زبانهای توصیف معماری----------------------------------۱۷

                ۱۸--------------------------------Architecture Drivers             ١٢ -٢

    ۱۸------------------------------Software Product Lines         ١٣-٢

    ۱۹- Architecure views           ۱۴-۲

               ۲۰----------------------------- Architecture Documents             ۱۵-۲

    ٢-١٦Architecture Blueprints        ------------------------------۲۰٢-١٧             تحلیل و ارزیابی معماری نرم افزار----------------------------۲۱

    فصل سوم: توسعه مبتنی بر مولفه

    مقدمه----------------------------------------------۲۳

    ۳-۱                  توسعه مبتنی بر مولفه-----------------------------------۲۳

    ۳-۲                مهندسی نرم افزار مبتنی بر مولفه----------------------------۲۵

    ۳-۲-۱             چالشهایCBSE ---------------------------------------۲۵

    ٣-٣                 تعاریف مختلف مولفه-------------------------------------٢٨

    ٣-٤                مشکلات مربوط بهCBSE ---------------------------------٣٢

    ۳-۵                  اشیا و مولفه ها-----------------------------------------۳۲

    ۳-۶                  واسطها----------------------------------------------۳۴

    ۳-۷                  قراردادها---------------------------------------------۳۵

    ۳۷----------------------------------------Framework          ۸-۳

    ٣-٩                  ارتباط بین مفاهیم---------------------------------------٣٩

    ٣-٩-١             چارچوب ها و مؤلفه ها-------------------------------------٣٩

    ٣-٩-٢           چارچوب ها و قراردادها------------------------------------٤٠

    ٣-٩-٣             چارچوب ها و الگوها--------------------------------------٣٩

    ٣-٩-٤             نتیجه گیری--------------------------------------------٤١

    ٣-١٠                معماری نرم افزار و مولفه ها----------------------------------٤١

    ۳-۱۰-۱            معماری سیستم های مبتنی بر مؤلفه----------------------------۴۲

    ۳-۱۰-۲           توسعه معماری گرای مولفه-----------------------------------۴۴

    ۳-۱۰-۳           توسعه معماری مولفه گرا------------------------------------۴۴

    ۳-۱۰-۳-۱       تکنیکهای تعمیر عدم انطباق واسطها----------------------------۴۶

    ۳-۱۰-۳-۲      تکنیکهای تشخیص عدم انطباق واسطها--------------------------۴۷

    ۳-۱۰-۳-۳              تکنیکهای اجتناب از عدم انطباق واسطها-------------------------۴۸

    ۳—۱۱                       نتیجه گیری---------------------------------------------۵۰

    فصل چهارم: سبکها و الگوهای معماری نرم افزار

    مقدمه-------------------------------------------------۵۳

    ۴-۱                        سبک چیست؟--------------------------------------------۵۳

    ۴-۲                        ساختار سبک --------------------------------------------۵۳

    ۴-۳                     تعاریف ارائه شده برای سبک معماری-----------------------------۵۴

    ۴-۴                       طبقه بندی سبک های معماری---------------------------------۵۵

    ۴-۵                   معماری جریان داده(Data – Flow) -----------------------------۶۵

    4-۶۷---------------------------------------------Pipe&Filter   ١-٥

    ٧٢-------------------------------------pipe&filter              مزایا سبک١-١-٥-٤

    ٧٢------------------------------------pipe&filter             معایب سبک٢-١-٥-٤

    ۷۳----------------------------------------Batch Sequential            ۲-۵-۴

    ۴-۵-۳                 راندن و کشیدن داده----------------------------------------۷۴

    ۷۶---------------------Batch Sequential  در مقایسه باPipe&Filter         ۴-۵-۴

    ۷۷----------------------------------- Process Control Loops          ۵-۵-۴

    ٤-٦                    معماری ماشین مجازی(Virtual Machine) -----------------------۷۷

    ۸۰----------------------------rule based  وinterpretor                  مقایسه۱-۶-۴

    ۴-۷                   معماری فراخوانی و بازگشت(Call & Return) ---------------------۸۱

    ۸۳----(Main–program–and–subroutine)              سبک برنامه اصلی و زیر روال١-٧-٤

    ۴-۷-۲            سبک شی گرایی یا تجرید انواع داده(Abstract-data-type)------------۸۴

    ۸۵------------------------------------object oriented                 مزایا۱-۲-۷-۴

    ۸۶------------------------------------object oriented              معایب۲-۲-۷-۴

    ۴-۸                        سبک لایه ای (Layerd)------------------------------------۸۶

    ۴-۸-۱                   مزایا سبکlayered ---------------------------------------۸۹

    ۴-۸-۲                   معایب سبکlayered --------------------------------------۹۰

    ۹۰------------------------------------------ Master/Slave   ۱ -۲-۸-۴

    ۹۱------------------------------------------Client/Server           ۲-۲-۸-۴

    ۴-۸-۳           نکاتی در مورد استراتژی های کنترل خطا-------------------------۹۴

    ۹۵------------------------------------------Tiered                     معماری۴-۸-۴

    ۹۵-----------------------Two Tier Client Server            طراحی معماری۱-۴-۸-۴

    ۹۵----------------------Three Tier Client Server           طراحی معماری۲-۴-۸-۴

    ۹۶------Object Oriented  وMain Program and Subroutine             مقایسه۵-۸-۴

    ۹۷-------------------------------Independent Components                  ۹-۴

    ۴-۹-۱                       مزایا--------------------------------------------------۹۹

    ٤-٩-٢                      معایب-------------------------------------------------٩٩

    ۱۰۰--------------explicit invocation  وimplicit invocation                 مقایسه۳-۹-۴

    ۱۰۱----------------------------------------Data  centered                   ۱۰-۴

    ۱۰۴------------------BlackBoard  وrepository                   مقایسه سبک های۱-۱۰-۴

    ۴-۱۱                      تاریخچه ای از الگوها(Patterns)------------------------------۱۰۵

    ۴-۱۱-۱               الگوها: الگو چیست ؟--------------------------------------۱۰۶

    تعاریفی از الگو-------------------------------------------۱۰۶

    ۲-۱۱-۴

    ۱۰۷-----------------------------Model-View-Controller : مثال

    ۳-۱۱-۴

    ویژگی الگوهای معماری نرم افزار--------------------------------۱۰۸

    ۴-۱۱-۴

    سبک و الگو---------------------------------------------۱۱۰

    ۵-۱۱-۴

    نتیجه گیری----------------------------------------------۱۱۱

    ۱۲-۴

    فصل پنجم: طراحی معماری نرم افزار مبتنی بر سبک

    مقدمه-------------------------------------------------۱۱۳

    ۱۱۳--------------------------Attribute-Driven Design (ADD)                ۱-۵

    ۵-۲                     امکانات سبکهای معماری در طراحی معماری------------------------۱۱۴

    ۵ - ۳              مساله: طراحی معماری نرم افزار مبتنی بر سبکهای معماری-------------۱۱۵

    ۵-۳-۱              ویژگی های سبک ----------------------------------------۱۱۵

    ۵-۳-۲                  جنبه های مختلف سبک در معماری-----------------------------۱۱۵

    ۵-۳-۳            ابعاد تشکیل دهنده سبک -----------------------------------۱۱۶

    ۵-۳-۴           سبکهای معماری در طراحی معماری نرم افزار----------------------۱۱۶

    ۵-۴        نتیجه گیری--------------------------------------------۱۱۷فصل ششم: نتیجه گیری

    ۶-۱ مروری گزارش-------------------------------------------------۱۱۹

    ۶-۲ نتایج حاصل --------------------------------------------------۱۱۹

    ۶-۳ طرح مساله---------------------------------------------------۱۲۰

    ۶-۴ کار آینده----------------------------------------------------۱۲۰

    مراجع و منابع-----------------------------------------------------۱۲۲

    فهرست شکلها

    واسطهای مولفه---------------------------------------------۷

    ۱-۲

    پیکربندی مولفه ها-------------------------------------------۸

    ۲-۲

    چرخه کاری معماری نرم افزار------------------------------------۹

    ۳-۲

    فرایند طراحی معماری نرم افزار----------------------------------۱۰

    ۴-۲

    ابعاد ساماندهی تصمیمات معماری---------------------------------۱۱

    ۵-۲

    ۱۵------------------------------------- Availability Scenario

    ۶-۲

    ۱۵-----------------------------------availability نمونه سناریوی

    ۷-۲

    تاکتیکهای معماری------------------------------------------۱۷

    ۸-۲

    ارتباط مفاهیم در توسعه مبتنی بر مولفه---------------------------۳۹

    ۱-۳

    مدل حل------------------------------------------------۵۰

    ۲-۳

    ۶۵-----------------------------DataFlow  سبکactivity دیاگرام

    ۱-۴

    ۶۵-----------------------------DataFlow  سبکactivity دیاگرام

    ۲-۴

    مسیر دهی داده به دو زیر پردازش-------------------------------۶۵

    ۳-۴

           مثالی از    سبکDataFlow ----------------------------------۶۷

    ۴-۴

    ۶۸----------------------------------------pipe&filter سبک

    ۵-۴

    استفاده از کارتهایCRC  برای نشان دادن سبکpipe&filter -----------۶۸

    ۶-۴

    نمونه هایی از سبکpipe&filter -------------------------------۶۹

    ۷-۴

    الگوهای جریان داده----------------------------------------۷۰

    ۸-۴

    نمونه هایی از سبکpipe&filter -------------------------------۷۱

    ۹-۴

    نحوه بستن اجزا سبکpipe& filter -----------------------------۷۱

    ۱۰-۴

    ۷۴------------------------------------------Push Pipeline

    ۱۱-۴

    ۷۵-------------------------------------------Pull Pipeline

    ۱۲-۴

    ۷۵--------------------------------Mixed Push-Pull Pipeline

    ۱۳-۴

    ۷۶-------------------------------Pipeline with Active Filters

    ۱۴-۴

    خلاصه ای از سبکDataflow ---------------------------------۷۷

    ۱۵-۴

    ۷۸----------------------------------- -------- Interpretor

    ۱۶-۴

    ۷۹----------------------------------------virtual machine

    ۱۷-۴

    ۸۰------------------------------------interpretor نمونه ای از

    ۱۸-۴

    ۸۰--------------------------- virtual machineخلاصه ای از سبک

    ۱۹-۴

    ۸۲------------------------------------ hierarchical layers

    ۲۰-۴

    ٨٣-------------------------- Main–program–and–subroutine سبک

    ۲۱-۴

    ۸۴---------------Main–program–and–subroutine خلاصه ای از سبک

    ۲۲-۴

     

    ۸۴------------------------------------object oriented سبک

    ۲۳-۴

    ۸۵-------------------------------------object oriented سبک

    ۲۴-۴

    ۸۵-------------------------------------object oriented سبک

    ۲۵-۴

    ۸۷-------------------------------------------Layered سبک

    ۲۶-۴

    جنبه های مختلف سبکlayered -------------------------------۸۹

    ۲۷-۴

    مدل لایه ایOSI ------------------------------------------۸۹

    ۲۸-۴

    ۹۰-------------------------------------------Master/Slave

    ۲۹-۴

    ۹۱-------------------------------------------Client/Server

    ۳۰-۴

    ۹۲------------------------------------------------Broker

    ۳۱-۴

    ۹۳------------------------------------------Peer- 2 – Peer

    ۳۲-۴

    ۹۴-------------------------------------------Client/Server

    ۳۳-۴

    ۹۴----------------------------------Server/Client خلاصه ای از

    ۳۴-۴

    ۹۵----------------------------------Two Tier Client Server

    ۳۵-۴

    ۹۶---------------------------------Three Tier Client Server

    ۳۶-۴

    ۹۶---------------------------------Multi Tier Client Server

    ۳۷-۴

    ۱۰۱-------------------------------------Data Centered سبک

    ۳۸-۴

    استفاده از کارتهایCRC  برای نمایش سبکblackboard -------------۱۰۳

    ۳۹-۴

    ۱۰۳--------------------------------DataCentered خلاصه ای از

    ۴۰-۴

    الگویMVC -------------------------------------------۱۰۸

    فهرست جداول

    ۴۱-۴

    طبقه بندی سبک های معماری-----------------------------------۵۹

    ۱-۴

    مقایسه سبکهایdataflow ------------------------------------۷۶

    ۲-۴

    منبع:

    [١]   Carnegie Mellon Software Engineering Institute, www.sei.cmu.edu.  

    [۲]   S. T. Albin, The Art of Software Architecture: Design Methods and Techniques John Wiley & Sons ٢٠٠٣.

    [۳]   M. S. David Garlan, An Introduction to Software Architecture,  (January ١٩٩٤).

    [۴]   M. S. Douglas Schmidt, Hans Rohnert, Frank Buschmann, Pattern-Oriented    Software Architecture: A system of Patterns, John Wiley & Sons, ١٩٩٦.


    [۵]   R. A. Jeff Garland, Large-Scale Software Architecture, ٢٠٠٣.

    [۶]   R. Land, A Brief Survey of Software Architecture,  (February ٢٠٠٢).

    [۷]  M. H. K. Mario Barbacci, Quality Attributes,  (December ١٩٩٥).

    [۸]   F. B. Paul Clements, Len Bass, David Garlan, James Ivers, Reed Little, Robert   Nord, Judith Stafford, Documenting Software Architectures: Views and Beyond, Addison Wesley, September ٢٧, ٢٠٠٢.

    [۹]   L. B. Paul Clements, Rick Kazman, Software Architecture in Practice, Addison Wesely, April ١١،٢٠٠٣.

ثبت سفارش
عنوان محصول
قیمت