وبلاگ تیم IranDNN

rss

در این وبلاگ آخرین رویدادهای ما را دنبال کنید و ما را در توسعه یاری دهید.

Specify Alternate Text

1 - مفاهیم معماری لایه ای
در مـورد معمـاری نـرم افـزار تعاریـف متعددی ارائه شده است ولی شاید ساده ترین و رساترین تعریف آن به این صـورت اسـت که معماری نرم افزار عبارتست از اجزای اصلی سیستم نرم افزاری و نحوه ارتباط آنها با یکدیگر . نرم دارای اجزای متعددی هستند که دارای وظیفه مشخص 5 افـزارهای کـلان به ویژه در مقیاس نرم افزارهای سازمانی بـوده و بـا دیگـر اجـزای نـرم افـزار دارای تعاملاتـی هستند و مجموع اینها برروی هم، سیستم نرم افزاری را تشکیل می دهند. در مورد ساختار معماری لایه ای میتوان به شکل زیر رجوع کرد.
لایه های معماری و اجزای آن شکل فوق یک نمودار UML است که با استفاده از رابطه کل و جزء بیان می-کند که هر یک از لایه های معماری از تعـدادی زیـر سیستم تشکیل شده اند و هر زیر سیستم دارای تعدادی اجزای نرم افزاری است و هریک از این اجزا بـه توسـط تعـدادی کـلاس پـیاده سـازی مـی شوند . زیرسیستم ها در عین حال با استفاده از واسط های نرم افزاری، سرویس هایی را به دیگر زیر سیستم ها ارائه می دهند.

2 - مزایای معماری لایه ای
حـال که مفاهیم معماری لایه ای در طراحی نرم افزار مشخص شد لازم است تا به مزایای این نوع معماری پرداخته شود. موارد زیر، گزیده ای از مزایای این نوع معماری برای نرم افزار را بیان می کنند.
ساده تر شدن طراحی 
در هـریک از لایـه هـای معماری، اجزاء و کلاسها مرتبط با آن لایه قرار می گیرند و چون کارکرد کلاسهای دو لایـه مجـزا بـا یکدیگـر مـتفاوت هستند لذا میتوان کار طراحی و توسعه آنها را بطور موازی انجام داد . این امر باعث افزایش قابلیت کار تیمی در طراحی و توسعه نرم افزار و کاهش زمان مربوطه می شود.  
ساده تر شدن نگهداری نرم افزار
نـرم افـزار، یک موجودیت پویا است و پس از توسعه آن، معمولا بطور مداوم دستخوش تغییرات در نیازمندیهای سیـستم و نهایـتا انجـام تغییرات در کد اجرایی نرم افزار است . تغییرات در نرم افزار می توانند در زمینه واسط کاربـری، مـنطق کسب و کار و یا داده های سیستم و موتور پایگاه داده ها و مواردی از این قبیل باشند . چنانچه تغییـرات در یکـی از لایـه هـای سیـستم رخ دهـد آنگـاه لایه های دیگر سیستم بدون تغییر مانده و یا حداقل تغییـرات را خواهـند داشـت. بعـنوان مـثال چـنانچه قـرار باشـد موتور پایگاه داده های یک سیستم از SQL Server بـه اوراکـل تغییر یابد و با این فرض که قابلیتهای سیستم، ثابت باقی بمانند آنگاه تنها لازم است که لایه دسترسی به داده ها تغییر یابد و لایه های دیگر، بدون تغییر باقی خواهند ماند.
 مدیریت پیچیدگی نرم افزار 
یکـی از اهـداف ایجـاد طراحی شی گرا به جهت مدیریت پیچیدگی بوده است به این معنی که متدها (رفتارها) و داده هـا در قالـب شـی مـتحد شده و سازماندهی مناسب برای آنها ایجاد شده است اما با بزرگ تر شدن وسعت سیـستمهای اطلاعاتی و افزایش تعداد کلاسهای داخل آن نیاز به مکانیزم های دیگری نیز در این زمینه احساس مـی شـده اسـت. بدینـصورت سـازماندهی کلاسـهای یکـی سیـستم اطلاعاتی در قالب زیرسیستم ها و لایه ها می تواند پیچیدگی سیستم را با کپسوله کردن کلاس ها در زیرسیستم ها و لایه ها مدیریت کند.

3 - نحوه بسط دادن معماری سه لایه
بـا آنکه لایه های سه گانه معماری که ذکر آن به میان رفت برای کاربردهای عمومی به ویژه نرم افزارهای سازمانی بـسیار مناسـب اسـت اما در پاره ای از موارد و در برخی از سیستم ها، با خاص تر کردن وظایف لایه ها، تعداد آنها را افـزایش مـی دهند و به معماری لایه ای با بیش از سه لایه می رسند که شکل زیر مثالی از این گونه سیستمها است. نکـته ای که قابل به ذکر است این است که معماریهای لایه ای با بیش از سه لایه عموما از معماری سه لایه منشا گرفته اند که در اینگونه موارد ممکن است هر یک از سه لایه اصلی به تعدادی لایه کوچکتر تبدیل شوند.
شـکل فوق یک سیستم نرم افزاری پنج لایه را نشان می دهد، که وظایف هر یک از لایه های سیستم فوق به شرح زیر می باشد.
لایه 1 : در این لایه، کلاسهای مرتبط با کدهای سطح پایین سیستم، فراخوانی API های سیستم عامل، فراخوانی درایورها، کدهای وابسته به سخت افزار و کلاسهایی از این قبیل وجود دارد.
لایه 2 : این لایه حاوی کلاسهای مرتبط با مکانیزم های مورد نیاز سیستم از قبیل امنیت، پایایی، توزیع شدگی است. به توسط این لایه، مکانیزم های فوق در قالب سرویس هایی به لایه بالاتر ارائه می شود.
لایه 3 : اشیاء کسب و کار در این لایه ایجاد و مدیریت می شوند. روابط بین اشیا لایه که برگرفته از منطق کاری کسب و کار سازمان هستند نیز در این لایه درنظر گرفته می شود. نهایتا اشیاء این لایه توسط لایه دوم ذخیره سازی می گردند.
لایه 4 : این لایه، مختص پروسس های سیستم نرم افزاری است . انواع پردازش های انجام شده بر روی اشیاء کسب و کار، اعمال قوانین کسب و کار بر روی اشیاء، مدیریت حالات اشیاء از جمله کارهایی هستند که در این لایه انجام می گردند.
لایه 5 : بالاترین لایه، خاص تعامل با کاربر درنظر گرفته شده است. کلیه فرم های ورود اطلاعات (اعم از فرم های ویندوزی و یا فرم های وب)، کنترل های موجود بر روی فرم ها، سنجش صحت مقادیر ورودی توسط کاربر و دیگر قابلیت های مرتبط با تعامل با کاربر در این لایه لحاظ شده اند. 

نمایش 0 نظر
your Comment will be showing after administrator's approval







b i u quote


Save Comment

برچسب‌ها

واتسون Answers ASP.net asp.net core asp.net mvc asp.net webforms bms business management C# captcha EPPlus Excel HotCake In-Memory Caching portal RUP Scrum security code Successful Website support system use case leveling Usecase Model web portal zamanak آموزش مجازی اپلیکیشن های هوشمند ارتباط با مشتری استراتژی سایت استودیو دانش پاسپورت ایران پرتال پرتال مشتریان پرسشنامه پیام صوتی تحصیل در خارج توانایی پاسخ گویی جشنواره خرید آنلاین خودرو خودرو تویوتا دات نت نیوک زددگی زمانک سامانه bms سامانه پشتیبانی آنلاین سطوح ابر سطوح دریا سطوح ماهی سطوح نمودار موارد کاربرد سفر بودن ویزا سند نمودار مورد کاربرد سیستم ثبت سفارش خودرو شهرداری تهران طراحی وب فرآیند یکپارچه رشنال فرق بین متدولوژی RUP و اسکرام فهم زبان طبیعی فکس فکس خودکار گسترش مدل های سفارشی ماژول ماژول استخدام ماژول رزومه متدولوژی RUP متدولوژی اسکرام مخاطبین سایت مدیریت کسب و کار مزایای فرآیند RUP معماری سه لایه معماری نرم افزار میزکار مشتری نرم افزار نرم افزار LMS نرم افزار آموزش مجازی نوآور همراه هات کیک وب سایت موفق ویزا کار کپچا کلمه امنیتی
بالا