پیچیدگی نرم افزار چیست؟

پیچیدگی نرم افزار چیست؟

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

/ 0 نظر / 49 بازدید