PDA

توجه ! این یک نسخه آرشیو شده می باشد و در این حالت شما عکسی را مشاهده نمی کنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : بررسی معماري‌ها پیشرفته طراحي و پياده سازِي نرم افزار



Borna66
10-31-2011, 11:19 PM
معماري‌هاي متفاوتي بمنطور طراحي و پياده سازِي متناسب با رشد فن آوري در بخش نرم‌افزار ارائه شده است اين معماري‌ها از يکطرف برخاسته از امکانات و ماهيت معماري سخت افزار‌ها در زمان خود و از طرف ديگر بسته به نوع و نگرش در تکنولوژي‌هاي ساخت نرم‌افزاري و انتظارات طرح شده توسط کاربران است هر معمارِي داراي شاخص‌ها و ويژگي‌هاي منحصر بفرد خود بوده و نرم‌افزارهائِي که با اتکاء بر هريک از معماري‌هاي فوق پياده سازي مي گردنند ، خصايص خود را از معماري بکارگرفته شده به ارث خواهند برد. در معمارِي فوق از سرويس دهند گان و سرويس گيرند گان با خصايص متفاوت استفاده مِي شود.اصل تقسيم کار دنبال و سرويس دهنده عمليات سنگين با پردازش بالا و سرويس گيرنده عمليات سبک را انجام خواهند داد. دو بخش متفاوت يک برنامه ، در جهت انجام عمليات با يکديگر تشريک مساعِي مِي نمايند.سرويس گيرنده با ارسال درخواست و سرويس دهنده با پاسخ به درخواست جلوه اِي از هميارِي در پردازش عمليات را بنمايش مِي گذارند.پلات فورم و سيستم‌هاي عامل سرويس دهنده و سرويس گيرنده مِي تواند متفاوت باشد.عملياتِي را که يک برنامه انجام مِي دهد بين سرويس دهنده و سرويس گيرنده تقسيم مِي گردد. مزايا اِين معمارِي بهره گيرِي مناسب از پتانسيل‌هاي سخت افزارِي موجود با توه به اصل تقسيم عمليات‌هابهينه سازِي استفاده و بکارگيرِي منابع اشتراکِي. بهينه سازِي توانائِي کاربران از بعد انجام فعاليت‌هاي متفاوت. معايب عدم وجود امکانات لازم براِي کپسوله نمودن سياست‌هاي راهبردِي نرم‌افزارکاهش کارائِي برنامه همزمان با افزايش تعداد کاربران همزمان
بهبود عملکرد برنامه و يا اعمال اصلاحات مورد نظر همواره يکِي از چالش‌هاي جدِي است.


تاکنون مدل‌هاي متفاوتي از معماري فوق پياده سازي شده است پردازش‌هاي مبتني بر ميزبان مدل فوق بمنزله يک مدل سرويس دهنده / سرويس گيرنده تلقي نشده و مشابه مدل MainFarme است . پردازش‌هاي مبتني بر سرويس دهنده در اين مدل سرويس دهنده تمامي پردازش‌هاي مربوطه را انجام و سرويس گيرنده مسئوليت ايجاد بخش رابط کاربر را برعهده خواهد د اشت. پردازش‌هاي مبتني بر سرويس گيرنده تمامي عمليات بر روي سرويس گيرنده انجام خواهد شدعمليات مربوط به بررسي صحت داده‌ها و ساير عمليات مربوط به منطق بانک‌هاي اطلاعاتي بر روي سرويس دهنده انجام خواهد شد. پردازش‌هاي مبتني بر همياري .در اين مدل سرويس دهنده و سرويس گيرنده بمنظور انجام يک فعاليت با يکديگر تشريک مساعي خواهند کرد.


ويژگي‌هاي معماري Client Server Two Tier مشابه مدل Client Server مي باشد. در اين مدل از يک سرويس دهنده و يک سرويس گيرنده در شبکه استفاده مي گردد. مدل فوق از سه بخش که در دو لايه سرويس دهنده و سرويس گيرنده قرار خواهند گرفت، تشکيل مي گردد. بخش‌هاي رابط کاربر ، مديريت پردازش‌ها و مديريت بانک‌هاي اطلاعاتي بخش‌هاي سه گانه مدل فوق مي باشند. منطق برنامه بين دو محل فيزيکي توزيع مي گردد. مناسب ترين روش براي پردازش‌هاي توزيع شده در يک شبکه با حداکثر يکصد کاربر مي‌باشد. سهولت در امر پياده سازي و نسبت دهي مستقيم رابط کاربر با منابع تامين داده‌ها را دارد. معايب عمده آن عدم وجود امکاناتي براي کپسوله نمودن سياست‌هاي راهبردي نرم افزار. کاهش کارائي برنامه همزمان با افزايش تعداد کاربران همزمان و عدم وچود انعطاف لازم از بعد انتقال يک برنامه از سرويس دهنده اي به سرويس دهنده ديگر بدون انجام تغييرات اساسي.


معماري Client Server Three Tier در سال 1990 عرضه شده است .در اين مدل از يک Tier مياني ديگر بين سرويس گيرنده (رابط کاربر) و سرويس دهنده بانک اطلاعاتي استفاده مي شود. لايه مياني شامل مجموعه اي از ابزارها براي دستيابي به منابع سيستم ، صرفنظر از نوع پلات فورم است . لايه مياني مسئوليت مديريت پردازش‌ها را برعهده خواهد گرفت . لايه مياني مسئوليت تجزيه و يا ترکيب نتايج حاصله از منابع داده ئي نظير بانک‌هاي اطلاعاتي را برعهده دارد. بخش‌هاي رابط کاربر ، مديريت پردازش‌ها و مديريت بانک‌هاي اطلاعاتي بخش‌هاي سه گانه مدل فوق مي باشند. لايه مياني خود مي تواند به دو و يا بيش از دو بخش با عملکردهاي متمايز تقسيم گردد (Multi-Tier) مدل فوق گزينه اي مناسب براي پياده سازي نرم افزار بر روي اينترنت است. مزايا آن افزايش کارآئي ، انعطاف پذيري ، قابليت استفاده مجدد و توان پشتيباني ارتقاء کارآئي همزمان با افزايش تعداد کاربران، مخفي نمودن پيچيدگي‌ها ي موجود با توجه به ماهيت پردازش‌هاي توزيع شده از ديد کاربران، ارائه امکانات لازم به برنامه نويسان بمنظور طراحي و پياده سازي نرم افزار‌ها با يک رويکرد مشابه، ارائه امکانات لازم به برنامه نويسان بمنظور تبعيت از روش‌هاي يکسان براي دستيابي به داده‌ها مي‌باشد.


از ديد مهندسي نرم افزار ، معماري سيستم شامل کليه موارد لازم براي توسعه نرم افزار مي باشد، نوع متدلوژي ميزان پرداختن به جزئيات را مشخص مي کند. مثلا جزئياتي که در روش‌هاي agile بکار ميرود بسيار کمتر از متدلوژي‌ها سنگين وزن مي باشد. اگر بر اساس متدلوژي RUP مي خواهيم يک سند معماری نرم افزار را براي نرم افزار خود تهيه کنيم. بايد ديدگاه‌هايمان را پياده‌سازي نمائيم و سپس بر اساس‌Customization که انجام داده ايم نياز‌هاي غير وظيفه اي را در آن بگنجانيم ، در متدلوژي اين قسمت را ممکن است حذف کنيم يا ديدگاهها را خيلي خلاصه تر ترسيم نمائيم. در متدلوژي ssadm اصلا نيازي نداريم که وارد جزئيات پياده سازي بصورتي که معين کنيم هر مولفه بر روي چه سخت افزاري نصب مي شود شويم. بر اساس متدلوژي‌هاي مختلف جزئيات مختلفي را براي تهيه معماري نرم افزار خواهيم داشت.