|
يک
نرم افزار از مجموعه ای برنامه های جانبی و روتين ها تشکيل می گردد
که بر اساس يک ساختار ماژولار با يکديگر مرتبط خواهند شد. نرم افزار
نظير يک جدول (Puzzel ) بوده که
که ازعناصر متفاوتی تشکيل و با در کنار هم قرار گرفتن آنها يک شکل صحيح
که همانا هدف تعريف شده است ، نمايان خواهد شد. عناصرموجود در
جدول(ساختار) فوق، بدرستی تصوير مناسبی از نرم افزار را در اختيار علاقه
مندان ( کاربران ) قرار خواهند داد. با توجه به ماهيت عمليات فوق و نقش
عناصر تشکيل دهنده با مجموعه ای از رويکردها و چالش ها برخورد
خواهيم نمود.
۱
- محل نصب عناصر ؟ آيا بمنظور مشاهده تصوير مناسبی از يک
نرم افزار، می بايست تمامی عناصر ذيربط، بصورت فيزيکی در
مجاورت هم قرار گرفته و يا امکان مجاورت منطقی عناصر نيز وجود دارد؟
۲
- محل اجرای عناصر ؟ بمنظوراجرای يک نرم افزار که از عناصر
متفاوتی تشکيل شده است ،لازم است که تمامی عناصر مورد نظر در يک محل
اجراء گردنند ؟ آيا بمنظور ارائه خدمات يک نرم افزار می بايست تمامی
عناصر زير يک سقف فيزيکی ( سخت افزار خاص ) اجراء گردنند؟ آيا می توان
بخش های متفاوتی از يک نرم افزار را در محيط ديگر اجراء و يک هدفمندی و
همياری
در اجراء را برای آنان تعريف نمود؟
۳
- نحوه ارتباط عناصر ؟ با توجه به اينکه يک نرم افزار می تواند
از عناصر و بخش های متفاوتی تشکيل گردد ، نحوه ارتباط اين بخش ها با
يکديگر به چه صورت خواهد بود ؟ زمانيکه بخش های فوق بر روی يک سيستم
نصب و اجراء می گردنند ، نحوه ارتباط به چه صورت است ؟ در صورتيکه بخش
های مورد نظر بر روی سيستم های متفاوت نصب و اجراء می
گردنند ، نحوه ارتباط آنها با يکديگر به چه صورت خواهد بود؟
سوالات فوق
صرفا" مجموعه ای محدود از چالش های موجود در اين زمينه است . بمنظور
ارائه پاسخ مناسب و علمی دراين خصوص ، " معماری نرم افزار "
مطرح می گردد. بر اين اساس، معماری های متفاوتی با توجه به تنوع خواسته ها و
مرور زمان ، بوجود آمده است . بخاطر داشته باشيم که برنامه های
تحت وب نيز متکی بر يک نوع معماری خاص می باشند.
<<
بخش بعدی
|