« تحت وب | صفحه اصلی | اگر کامپيوتر نبود، تلويزيون براي سانسور فيلمها چه مي کرد؟ »
وب یا ویندوز... جمع بندی نهایی
April 19, 2008 09:11 AM
سه نوشته قبلی را اگر دنبال کرده باشید بحث انتخاب برنامه سازی تحت وب و یا برنامه سازی تحت ویندوز را دنبال کرده بودیم، در آخرین مطلب، یک جمع بندی بر بحث صورت می گیرد. دقت کنید که چنانچه در نوشته اول هم اشاره کردم برخی تولید کننده ها و یا مشتری ها بعضا در یک حالت "جو گیر شده"! از روی ناآگاهی و یا به شکل احساسی روی یک محیط تعصب به خرج می دهند و دیگری را به صورت کامل نفی می کنند، در حالیکه نمی توان هر کدام از این دو را به شکل کامل از رده خارج نمود، شاهد آنکه محیط های توسعه و ابزارهای برنامه سازی روی هر دو محیط هنوز هم در نسخه های جدید عرضه می شود و خواهد شد.
اگر بخواهیم در محیط های اداری انتخاب مناسبی داشته باشیم، به نظر می رسد باید به ملاک های زیر توجه کنیم:
- در محیط های با هدف تبادل اطلاعات نظیر سیستمهای اتوماسیون اداری، کارگروهی، مدیریت جریان کار، بولتن های الکترونیک و .... که نیاز به توزیع شدن روی بیشتر کامپیوتر ها را دارند و بیشتر به پردازش و به اشتراک گذاری متون و فایل ها می پردازند، برنامه های تحت وب روی شبکه اینترانت بهترین گزینه اند.
- در مسائلی که کاربر محدود به یک محدوده جغرافیایی خاص نیست و یا به صورت عام متقاضی اطلاعات و سرویس هستند برای مثال در سیستمهای تجارت الکترونیک، شهر الکترونیک، دولت الکترونیک، بانک الکترونیک و ... که خدمات و سرویسهای عام المنفعه ارائه می کنند و مشتری می تواند کاربر نهایی (End User) نیز باشد، برنامه های تحت وب روی شبکه اینترنت مناسب هستند.
- در مسائل کاربردی که نیاز به پردازش اطلاعات، تعامل زیاد کاربران با نرم افزار و امکانات مناسب و سرعت قابل قبول روی نرم افزارهستیم مانند نرم افزارهای پردازش تراکنش (TPS) و یا سیستمهای دانش فنی (KWS) سیستمهای تحت ویندوز (و یا به صورت کلی هر نوع Desktop Application) مناسب تر هستند.
- در مسائلی که دو وجه از مسائل فوق را داشته باشند، اگر مسائلی نظیر هزینه تولید و سختی کار را در نظر نگیریم (که آنقدر مهم است که باید دیده شود) ترکیبی از این دو جواب گو است (win-web). برای مثال در یک سیستم مالی می توان اسناد را به صورت تحت ویندوز پیاده سازی کرد تا کاربران به سهولت اسناد را صادر و یا ثبت کنند و گزارشات مدیریتی را به صورت تحت وب در آورد تا مدیران بتوانند به گزارش مورد نیاز خود در داخل و یا خارج از سازمان به سهولت دسترسی پیدا کنند.
-...
طبیعتا در محیط های خانگی، دانشگاهی و یا .... نیز با توجه به کاربرد باید انتخاب مناسب را انجام داد.
نکته حائز اهمیت آنکه داشتن دو شکل برنامه سازی به صورت تحت وب و تحت ویندوز برای یک شرکت نرم افزاری کوچک و یا متوسط سخت است. این دشواری از تفاوت روش تفکر و تولید در هر دو روش، عدم توانایی استفاده از همه تیم در همه زمانها و آموزش توام دو روش می آید. راه حل آن است که :
- یک تیم قوی داشته باشید که توانایی پیاده سازی در هر دو محیط را داشته باشند. (سخت است، چون یک نفر فرصت کافی در کسب مهارت را در هر دو زمینه ندارد و نهایتا در مورد یکی قوی و در مورد دیگر متوسط خواهد شد)
- یک معماری لایه ای انتخاب کنید با تنوع برنامه نویسانی که 1- لایه های پایینی (داده و کاربرد) را بسازند، 2- لایه واسط کاربری را در محیط تحت ویندوز بسازند و 3- لایه واسط کاربری در محیط تحت وب را بسازند. (به دلیل مشترک دیدن لایه های پایین هر چند کم هزینه ترین روش است اما برنامه آن کارایی برنامه های مستقل را نخواهد داشت)
-دو گروه برنامه نویس جدا داشته باشید که هر یک در یک محیط کار کنند. در نهایت در پروژه های ترکیبی (win-web) تنها پایگاه داده را مشترک کنید و هر کس برنامه خود را بنویسد (هزینه تولید بالا می رود و مدیریت چنین تیمی و تقسیم زمان کار و بیکاری آنان مشکل می شود)
- بی خیال یکی از روشها بشوید! یا بگویید نمی توانم و یا از طریق برونسپاری (Out sourcing) عمل کنید. (که طبعات خاص خود را خواهد داشت)
در نهایت باید به این نکته اشاره مجدد داشته باشم که یک تیم نرم افزاری ابتدا باید با توجه به مساله و محیط آن، بستر پیاده سازی را انتخاب کنید و سپس فارغ از محیط انتخاب شده، برنامه را به بهترین شکل ممکن پیاده سازی نماید. این تیم همواره باید به یاد داشته باشد که در مهندسی نرم افزار "نمی توان برای همه درد ها یک نسخه نوشت!" بلکه باید درد را شناخت، آزمایشات لازم را جهت تصدیق شناخت خود انجام داد و سپس راه حل مناسب را پیشنهاد نمود، اجرا کرد و بر مطابقت آن با پیش بینی و عدم انحراف از نتایج دقت کرد.
متاسفانه ما مثل پزشکان اشتباهاتمان زیر خاک نخواهند رفت و نمی توان آنها را به سرنوشت و یا قسمت بیمار ربط داد! اشتباه ما آنقدر هویدا خواهد شد که ...
همین!
نظرخواهی
ارسال شده توسط: Ali Reza در ساعت April 19, 2008 12:05 PM
به نظر من برای موفقیت یا یک شرکت باید غول باشد (که در ایران وقتی غول شدی در چشم می آیی و همه تلاش می کنن که به زمین بزنندت) و یا اگر کوتوله ای باید با کوتوله های دیگر متحد شوی که یک جمع کوتوله می تواند بر یک غول تنها غلبه کند (که در ایران متحد شدن شرکتها بسیار سخت است)...
همین!
ارسال شده توسط: ali در ساعت April 19, 2008 01:18 PM