-تعریف پیچیدگی:

 

وقتی در مورد پیچیدگی نرم‏افزار صحبت می‏کنیم اولین سؤالی که باید پاسخ داده شود این است که:

 “پیچیدگی چیست؟”.  توافق عمومی ‏بر روی چگونگی تعریف پیچیدگی نرم‏افزار وجود ندارد. پیچیدگی

 نرم‏افزار یک موضوع کلّی، غیراستاندارد اصطلاحی وابسته است که ترکیب سیستم را توصیف می‏کند.

 دلیل وابسته بودن این اصطلاح این است که مقدار مطلقی را نمی‏توان به آن نسبت داد. یک سیستم

 با پیچیدگی نرم‏افزاری بالا ممکن است نسبت به سیستم‏های دیگر پیچیدگی کمتری داشته باشد،

 پیچیدگی نرم‏افزار اصطلاح غیراستانداردی است زیرا محدوده‏ی آن مشخص نیست و می‏تواند در موارد

 متفاوت با معانی متفاوت به کار رود. یک سیستم با کد حجیم که چندین پیمانه به ‏هم مرتبط دارد می‏تواند

به‏عنوان یک سیستم پیچیده در نظر گرفته شود. از طرفی یک برنامه‏ی کوتاه با الگوریتم سخت را نیز می‏توان

 پیچیده نامید. باور عمومی ‏بر این است که پیچیدگی نرم‏افزار را نمی‏توان فقط با استفاده از یک بعد تعریف کرد