بخشی از مقاله

چکیده :

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

مقدمه

مسئله تخمین هزینه نرم افزار عبارت است از: تخمین تلاش مورد نیاز براي ساخت یک سیستم نرم افزار ي به دلیل نقش مهم نرم افزار در بازار تجارت امروزي، تخمین دقیق هزینه نرم افزار بسیار مهم است زیرا :
-1 براي تعیین منابع پروژه و اینکه چگونه این منابع استفاده شوند بکار میرود. -2 براي طبقه بندي و اولویت بندي پروژه هاي تحت توسعه کمک میکند.

-3 کنترل و مدیریت پروژه ها آسان است زمانی که منابع با نیازهاي واقعی هماهنگ باشد.

-4 تخمین هزینه نرم افزار شامل تعیین تلاش است که تلاش را به صورت نفر- ماه اندازه گیري می کند.

منظور از SCE، برآورد هزینه و زمان موردنیاز براي توسعه نرمافزار پیش از شروع پروژه میباشد که تا پایان تولید و توسعه سیستم ادامه دارد .SCEبراي تولید سیستم اطلاعاتی، یکی از دغدغههاي مهم مدیریت پروژه، تلقی می شود. الگوهاي SCE که در مراحل اولیه ساخت پروژه، با حداقل اطلاعات موجود از پروژه، هزینه ساخت سیستم را تخمین میزنند، سودمند و موردنیاز هستند. روش تخمین هزینه مناسب، امکان کنترل مؤثر زمان و هزینه ساخت سیستم را فراهم مینماید. یک پروژه نرمافزاري به تدریج تکامل می یابد و به این تر تیب نمی توان یک برآورد قطعی و روشن براي نرمافزارها داشت. در حال حاضر نرمافزار ها و مدلهاي برآوردي وجود دارند که به جاي یک برآورد نقطه اي برآورد حدودي انجام می دهند و به این ترتیب با متدهاي جدید تولید نرمافزار همسو میشوند. ولی برآورد پروژه نرمافزاري را می توان به یک سري مراحل سیستماتیک تبدیل کرد که برآورد هایی با ریسک قابل قبول فراهم کند .

به دلیل افزایش پیچیدگی نرم افزار، برنامه ریزي و مدیریت پروژه ها ي نرم افزاري بسیار مهم است. از آنجا که دلیل اصلی شکست پروژه ها ي نرم افزاري، برنامه ریزي هاي نادرست سازمان هاست ، پروژه هاي نرم افزاري نیازمندتخمین ها ي دقیق پروژه تحت توسعه هستند. یکی از فعالیت ها ي مهم در برنامه ریزي پروژه نرم افزاري تخمین هزینه است که در مراحل اولیه انجام میشود. به دلیل استفاده از ابزارهاي جدید توسعه، صنعت توسعه نرم افزار پیچیده شده و روشهاي مختلفی براي تخمین هزینه نرم افزار ارائه شده است دسته بندي انواع تخمین ها از لحاظ ساختار:

-1 تخمین ساخت یافته

-2  تخمین تحلیلی

-3 تخمین مقایسه اي

1 تخمین ساخت یافته : - structured estimating -
در تخمیناحتمالاً ابتداي ترین روش » اندازه گیري « می باشد . مردم همیشه از تجربه گذشته خود براي پیش بینی حوادث آینده استفاده می کنند . هرچند طبیعی است . تخمین هاي ساده جهت برنامه ریزي و کنترل موثر نمی توانند قابل اطمینان باشند . دقت تخمین به تجربه تخمین زننده در زمینه اي که او در حال تخمین است بستگی دارد . روش هاي تخمین ساخت یافته ، تلاشی براي استفاده از این واقعیت و در عین حال وارد نمودن ساختارو انضباط برفرآیند تخمین می باشد به نحوي که نتایج حاصله از آن را بتوان با اطمینان استفاده نمود . مزایاي تخمین به قرار زیر می باشد .

1 روشی ارزان است و بنابراین تنها روشی است که براي مشاغل یک بار تکرار مناسب می باشد .

2 این روش می تواند براي پیش بینی زمان هاي کاري که دیده نشده است و بنابراین به عنوان مبنایی براي تخمین قیمت براي کارهاي یک بار تکرار بزرگ استفاده شود .

به طورطبیعی در مواردي که مقادیرزمانی با جزئیات زیاد مورد نیاز نمی باشند . تخمین قابل استفاده می باشد . بنابراین چنین روش هایی براي کار با سیکل طولانی و در موقعیت هایی که داده زمانی انباشته براي برنامه ریزي ، کنترل یا پرداخت در طول پریودهاي طولانی مدت مورد نیاز است . مفید می باشد .

2 تخمین تحلیلی - -  Analytical estmating

تخمین تحلیلی ، مجموعه تخمین ترتیب داده استاندارد می باشد . این تکنیک براین واقعیت استوار است که مشاغل را می توان به جزء متشکله آن تقسیم نمود و عناصر به طور مجزا قابل اندازه گیري یا تخمین می باشند خطاي این زمان هاي منفصله تصادفی بوده و همدیگر را جبران می کنند به نحوي که زمان کل در محیط قابل قبول قرار خواهد گرفت . به طور مشابه هنگامی که تعدادي کار در طول یک زمان بزرگترترتیب می شوند - مانند میزان کار یک هفته - خطاهاي منفصله در زمان هاي مشاغل ، تصادفی خواهد بود و همدیگر را جبران خواهند کرد به نحوي که زمان کل قابل قبول می باشد . بدیهی است تخمین توسط کارگري که درمحدوده کار مورد اندازه گیري با تجربه می باشد و در زمینه روش هاي کار آموزش دیده است صورت می پذیرد بنابراین تخمین زننده به صورت زیر عمل می کند .

1 کار را به عناصر تقسیم می کند .

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