فهرست و منابع گزارش سمینار طراحی معماری نرم افزار مبتنی بر سبک
فهرست:
مطالب فصل اول: مقدمه
مقدمه-----------------------------------------------۲
۱-۱ روشهای استفاده ا ز تجریدهای سطح بالا------------------------۲
۱-۲ سبک در طراحی معماری نرم افزار-----------------------------۲
۱-۳ ساختار این گزارش --------------------------------------۳
فصل دوم: مفهوم معماری نرم افزار
مقدمه-----------------------------------------------۵
۲-۱ معماری نرم افزار-----------------------------------------۵
۲-۲ تعاریف معماری نرم افزار -----------------------------------۵
۲-۳ اهمیت معماری نرم افزار-----------------------------------۶
۲-۴ اجزا معماری نرم افزار-------------------------------------۷
۲-۴-۱ مولفه ها ----------------------------------------------۷
۲-۴-۲ رابطها------------------------------------------------۷
۲-۴-۳ واسطها-----------------------------------------------۷
۲-۴-۴ پیکربندی ها-------------------------------------------۸
۲-۵ تصمیمات معماری----------------------------------------۸
٢-٦ چرخه کاری معماری نرم افزار--------------------------------٩
٢-٧ فرایند طراحی معماری نرم افزار------------------------------٩
٢-٨ وظیفه مندی و ویژگی های کیفی و ارتباط آنها با معماری--------------۱۱
٢-٨-١ معماری و وظیفه مندی------------------------------------۱۱
٢-٨-٢ معماری و ویژگی های کیفی --------------------------------۱۲
۲-۹ سناریوهای ویژگی های کیفی ------------------------------۱۳
۱۵----------------------------(مثال) 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 ١١،٢٠٠٣.