« نگاهي به معيارها و متريک ها در تخمين زمان و هزينه توليد نرم ا?زار | صفحه اصلی | نگاهي به شيوه هاي مختلف كار كردن در زمينه نرم افزار »

?روش نرم ا?زار از نرم ا?زارهاي س?ارشي تا بسته هاي عمومي نرم ا?زاري

November 9, 2004 12:58 PM

 چند روز پيش جلسه نصب و راه اندازي سيستم تل?ن گوياي يکي از سازمانها بود. در حين آموزش سيستم به کاربر مربوطه، يکي از مديران مجموعه براي مشاهده سيستم وارد شد. پس از اينکه مشخصات سيستم را برايشان توضيح دادم با قيا?ه حق به جانبي گ?ت: "پس سورس برنامه کو؟" گ?تم منظور شما از سورس چيست؟ اگر منظورتان CD است که از روي آن بتوانيد نرم ا?زار را نصب کنيد ب?رماييد اين هم CD. به اپراتور هم آموزش داده شده است تا بتواند به سادگي سيستم را نصب کند و اصولا براي اينکار نياز به تخصص خاصي نيست. اما اگر از سورس منظورتان کد برنامه است متاس?انه اين کد نمي تواند در اختيار شما قرار گيرد. با ناراحتي پاسخ داد: "يعني چي؟ مگر مي شود نرم ا?زار را بدون سورس آن خريد؟ نرم ا?زار بدون کد آن هيچ ارزشي ندارد."
آيا اين حر? درست است؟ .....

نرم ا?زار ها را بسته به شيوه توليد مي توان به دو گروه تقسيم نمود: نرم ا?زارهاي س?ارشي و بسته هاي نرم ا?زاري
1- نرم ا?زارهاي س?ارشي
2- بسته هاي نرم ا?زاري (Package)

در نرم ا?زارهاي س?ارشي تمام عمليات تحليل، طراحي و پیاده سازی به شیوه مرسوم آن اجرا می شود و سیستم بر اساس شرایط موجود و نیازهای مشتری است?اده کننده ساخته می شود. در حالیکه در بسته های نرم ا?زاری ، تولید کننده با نیاز سنجی عمومی از کل بازار و در نظر گر?تن نیازهای مشتریان مت?اوت اقدام به توسعه سیستمی می نماید که بتواند نه الزاما همه بلکه اکثر نیازهای مشتریان را پوشش دهد. در نرم ا?زارهای س?ارشی، سیستم تولیدی منطبق بر نیازهای یک مشتری است در حالیکه در بسته های نرم ا?زاری این مشتری است که باید نیازهای خود را با سیستم جدید منطبق نماید. با این وجود یک بسته نرم ا?زاری خوش ساخت این امکان را برای مشتری ?راهم می کند که بتواند تا حدودی نیازهای خود را در سیستم اعمال نماید. به عبارت دیگر با به کار گیری ابزارهای عمومی و ساخت قسمت های پویا در بسته های نرم ا?زاری این امکان ?راهم می شود که هر مشتری با نیاز خود سیستم مورد نیاز خود را یا خود شخصا تنظیم نماید و یا این کار توسط ?روشنده صورت می گیرد.
اما چه زمانی تولید کننده موظ? به ارائه سورس برنامه به مشتری است؟ در هیچ زمانی مگر آنکه در قرارداد ?روش مشخص شده باشد. به عبارت دیگر در حالت ?روش سیستم به صورت یک بسته نرم ا?زاری عمومی طبیعتا سورس همراه آن نست چون اگر چنین باشد یعنی شما عملا به خریدار این امکان را داده اید که نرم ا?زار شما را در جای دیگری هم به ?روش برساند. حتی در حالتی که نرم ا?زار به شکل س?ارشی هم تولید می گردد، تولید کننده الزامی به تحویل سورس ندارد. تولید کننده صر?ا موظ? است که سیستم را مطابق نیازهای ?نی و اطلاعاتی مشتری تولید کند. اما با این وجود در زمانی که در قرارداد صریحا مشخص شده باشد که سورس برنامه نیز بایستی به خریدار تحویل گردد ?روشنده و یا تولید کننده می تواند با دریا?ت مبلغ بیشتری نسبت به ?روش ?قط سیستم این کار را انجام دهد. اما این مبلغ آنقدر زیاد است که عملا خریدار رغبت چندانی به خرید سیستم ندارد!
نکته حائز اهمیت دیگر آنکه معمولا سورس یک برنامه را نمی توان به صورت کامل به مشتری تحویل داد. با توجه به روشهای رایج تولید نرم ا?زار اکثر تولید کنندگان از کتابخانه ها (Library) و یا مول?ه ها (Component) هایی است?اده می کنند که یا توسط خودشان تولید نشده است و از تولید کننده دیگری خریداری کرده اند که طبیعتا طبق قانون رعایت حق مول? (Copyright) صر?ا در موارد مشخصی مجاز به ارائه آن به سایرین می باشند و یا توسط خودشان ساخته شده است که محصولی به جز محصول نهایی ?روش ر?ته محسوب می شود و مشتری باید به صورت جداگانه آنها را خریداری نماید.
از طر? دیگر حتی اگر سورس کد برنامه به صورت کامل در اختیار مشتری قرار بگیرید این کد بدون مستندات آن عملا به یک چیز بی ارزش تبدیل می شود. معمولا سیستمهای نرم ا?زاری از تعداد خطوط برنامه زیاد و یا شیوه های پیچیده برنامه نویسی تشکیل شده اند و پر هستند از تکنیک ها، ساختمان داده ها و الگوریتم های متنوع. و این در حالی است که مستند سازی در اکثر پروژه های نرم ا?زاری به ندرت صورت می گیرد و حتی اگر چنین شود مستندا معمولا بی ?ایده و صر?ا برای خالی نبودن عریضه تولید شده اند.
تنها در پروژه هایی که با یک متدولوژی خوب استاندارد و توسط Case Tools های مناسب تولید شده باشند حاوی مستنداتی هستند که برنامه را برای اشخاص دیگری به جز تولید کنندگان و حتی برای خود آنها در مراجعات بعد خوانا می کند.
حتی اگر سورس پروژه به صورت کامل و همراه مستند سازی به خریدار عرضه شود تجربه نشان داده است که هزینه تغییر سیستم تولید شده توسط شخصی دیگر کمتر از تولید مجدد یک سیستم جدید نیست!
بنابراین با جمع کردن همه این موارد می توان به چنین نتیجه گیری رسید که در هنگام خرید نرم ا?زار حتی اگر ?روشنده حاظر به ?روش سورس کد خود

باشد و سورس را خوب و کامل و به همراه مستندات آن ارائه نماید منطقی نیست که خریدار هزینه اضا?ی برای خرید آن صر? نماید. چون از آن سورس کد نمی تواند است?اده خوبی بنماید. بلکه بهتر است با یک هزینه کمتر نسبت به عقد یک قرارداد پشتیبانی خوب اقدام نماید تا تغییرات مورد نیاز آتی توسط خود تولید کننده اولیه و در چارچوب این قرارداد صورت گیرد.

داستانی است که در مواقعی که مشتری چنین نیازی دارد همیشه مطرح می کنم :"در زمانهای قدیم و در ایام برده داری ، یک روز شخصی را دیدند که مادر خود را به بازار برده دار ها می برد. گ?تند مادرت را کجا می بری؟ گ?ت می برم برای ?روش!! گ?تند : آخر آدم حسابی چه کسی مادر خود را ?روخته است؟ این چه کاری است که تو می کنی؟ گ?ت: یک قیمتی روی مادرم می گذارم که هیچکس نخرد!!!" حال ما هم چنین عمل می کنیم. شما سورس کد برنامه ما را می خواهید مشکلی نیست. الساعه تقدیم می کنیم ولی قیمتش می شود 100 میلیون تومان! اگر خواستید بخرید. من نه تنها قول می دهم سورس را با مستندات و با آموزش به صورت کامل به شما عرضه کنم بلکه قول می دهم آن را از روی کامپیوترهای خودمان هم پاک کنیم! اصلا قول می دهیم دیگر هیچ نوع نرم ا?زاری تولید نکنیم و از این بازار خارج شویم!!

همین!


Ali Vahed | 12:58 PM

 

نظرخواهی

can i have your phone
thanks

ارسال شده توسط: javad در ساعت May 18, 2005 03:03 PM

ليست نرم ا?زارهاي كاربردي كامپيوتر را با قيمت آنها براي من ب?رستيد

ارسال شده توسط: mohammad در ساعت July 21, 2005 04:27 PM

Man narmafzare LS-Dyna ya crack e oon ro mikham. lotfan befarmayid che konam

ارسال شده توسط: Ata در ساعت September 21, 2005 09:07 AM

در مورد برنامه atitionاطلاعاتی میخواهم

ارسال شده توسط: مهدی احمدی در ساعت November 15, 2005 11:38 PM

nomayandegi tabriz mikhaham

ارسال شده توسط: arash در ساعت January 23, 2006 11:40 PM

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

ارسال شده توسط: amineh در ساعت February 5, 2006 10:13 AM

من نیاز به نرم ا?زار جامع بازرگانی که شامل سیستم تامین -قرارداد -?روش-خدمات پس از ?روش و بازاریابی باشد دارم در صورت وجود بسته کامل و یا س?ارشی راهنمایی ب?رمایید

منتظر Email شما هستم
با تشکر

ارسال شده توسط: حسین در ساعت May 24, 2006 09:51 AM

من به سي دي شامل:عكس پس زمينههاي زيبا و باكي?يت و با قيمت كم نياز ذلرم لط?ادر صورت داشتن به ايميم من ب?رسنيد

ارسال شده توسط: مشتري در ساعت July 29, 2006 11:29 AM

سلام خسته نباشید
من به نرم ا?زار scan to cad نیاز دارم لط?اً مرا راهنمایی کنید که چگونه می توانم این نرما?زار را خریداری نمایم .
متشکرم

ارسال شده توسط: parahi در ساعت September 6, 2006 09:19 AM

اینجانب در جستجوی ویژگیهای یک نرم ا?زار بازرگانی می باشم.

ارسال شده توسط: Majid Mirzaei Fard در ساعت December 27, 2006 02:03 PM

من نياز ?وري به نرم ا?زار etap (برق)دارم حتي در صورتي كه شما demo cd آن را هم داشته باشيد من خريدارم

ارسال شده توسط: مهدي در ساعت January 21, 2007 10:24 PM

من احتياج به يک نرم ا?زار آموزشي در زمينه شبکه و ويندوز 2003 سرور دارم. لط?ا مرا راهنمايي ?رماييد

ارسال شده توسط: pazoki در ساعت June 16, 2007 11:12 AM