تبليغاتX
پویا بلاگ
 الگوهای معماری(Architectual Patterns) -مدل های مرجع(Reference Models) - معماری های مرجع(Reference Ar

الگوهای معماری Architectual Patterns

یک الگوی معماری توضیحی از گروهی از اجزا(Element) و روابط بین آنها با مجموعه ای از محدودیتها(Constraint) برا ی استفاده از آنهاست.یک الگو می تواند به عنوان مجموعه ای از محدودیتها بر روی یک معماری در نظر گرفته شود-بر روی اجزا و الگوهای ارتباطی بین آنها-و این محدودیتها مجموعه یا خانواده ای از معماری هایی که آنها را برآورده سازند معرفی می کنند.برای مثال Client –Server یک الگوی معماری معمول است،Client , Server دو نوع از اجزا(Element) هستندعبارت Client –Server نشان دهنده وجود چندین Client است ،خود Client ها و مجموعه فعالیتهای آنها مشخص نمی شوند و تنها پیاده سازی پروتکل ارتباطی آنها بر عهده هریک از Client ها و Server گذاشته می شود در معماری بررسی می شوند.معماری های بیشماری بر اساس این تعریف از نوع معماری Client –Server خواهند بود اما هریک از آنها متفاوت از دیگری است.

یک الگوی معماری یک معماری نیست،اما کماکان تصویر قابل استفاده ای را از سیستم برای ما می سازد و محدودیتهای کارایی را بر معماری و نهایتا سیستم اعمال می کند.

یکی از مفاهیم و مزایای بسیار خوب الگوها ارائه واضح و شفافی از پارامترهای کیفی از ابتدا است،در واقع همین امر دلیلی برای انتخاب یک الگوی خاص توسط معمار است .برخی از الگوهها راهکارهای خاصی برای پارامترهای همچون کارایی(Performance) و برخی راهکارهایی برای امنیت بالا(Security) و .. ارائه می دهند انتخاب الگوی معماری اولین تصمیم گیری اصلی معمار برای ایجاد معماری یک سیستم است.

 مدل های مرجعReference Models

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

 معماری های مرجعReference Architecture

معماری مرجع در واقع یک مدل مرجع است که بر اجزا و جریان داده(Data Flow) بین اجزا نرم افزار نگاشت شده است.از آنجا که یک مدل مرجع عملیات سیستم را تقسیم بندی میکند یک معماری مرجع آنرا بر اجزا سیستم نگاشت می کند الزاما این نگاشت یک نگاست یک به یک نیست یعنی گاها ممکن است یک عملیات از عملیات های مدل مرجع بر چند جز ار سیستم نگاشت شوند تا آنرا با همکاری هم انجام دهند ویا ممکن است یک جز از سسیستم چند عمل را انجام دهد.


الگوی معماری،مدل مرجع و معماری مرجع خود هیچ یکمعماری نیستند،آنها در واقع مفاهیم کاربردی برای نمایش و تشریح اجزا یک معماری هستند


|+| نوشته شده توسط پویا در سه شنبه بیست و یکم خرداد 1387 و ساعت 22:8  
 معماری قسمت سوم

نحوه عملکرد چرخه معماری- کسب و کار:  (ABC: Architecture Business Cycle )

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

 2-معماری میتواند بر اهداف تیم توسعه تاثیر گذار باشد.یک نرم افزار موفق میتواند شرکت را قادر سازد که در بازار مربوط به آن نوع نرم افزار جای پای خود را محکم کند و با استفاده از معماری به توسعه موثرتر و بهتر از سیستمهای مشابه بپردازد.

3-معماری می تواند بر نیازمندیهای مشتریان تاثیر گذار باشد.

4-معماری بر مجموعه تجربیات معمار تاثیر گذار است.

جریان کار تولید نرم افزار(Software Process
چرخه معماری- کسب و کار(
Architecture Business Cycle)

جریان کار تولید نرم افزار واژه ای است که به مجموعه فعالیتهای سازماندهی ، تشریفات تو لید و مدیریت توسعه نرم افزار گفته می شود.مجموعه فعالیتهایی که باید برا ایجاد یک معماری انجام شوند به شرح ذیل هستند:

ü ساختن موارد کسب و کار برای سیستم(Business Case)

ü درک نیازمندیها

ü ساختن یا انتخاب معماری

ü مستند سازی و بررسی معماری

ü تحلیل و سنجش معماری

ü پیاده سازی سیستم بر اساس معماری

ü بررسی برآورده شدن معیار های معماری و توسعه نرم افزار بر اساس معماری

· ساختن موارد کسب و کار برای سیستم(Business Case)

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

· درک نیازمندیها

برای استخراج نیازمندی ها از ذینفعان روشهای مختلفی وجود دارد ،برای مثال Object Oriented Analysis یکی از این روشهاست،برای انجام این کار بهتر است سیستمهای مشابه سیستم فعلی بررسی شود و از تجربیات آنها برای درک بهتر سیستم استفاده شود،همچنین راه دیگر برای درک بهتر نیازمندیها ایجاد prototype  است ،همچنین معمار باید ویژگیهای کیفیت نرم افزار برای (Quality Attribute )سیستم را شناسایی کند.

· ساختن یا انتخاب معماری

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

· مستند سازی و بررسی معماری

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

· تحلیل و سنجش معماری

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

· پیاده سازی سیستم بر اساس معماری

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

 

|+| نوشته شده توسط پویا در سه شنبه هفتم خرداد 1387 و ساعت 9:47