



حین توسعه سیستمهای نرمافزاری بزرگ، عوامل مهم تأثیرگذار در قابلیت و ظرفیتهای نگهداری سیستم، مدنظر طراحان و توسعهدهندگان قرار میگیرند. در کنار ایجاد یک معماری مناسب برای نگهداری و پشتیبانی سیستم، کیفیت کد منبع برنامه (Source Code) میتواند نشان دهد که آیا سیستم شفاف و قابل درک است و بنابراین میتواند بدون تلاشهای اضافه در فرآیند نگهداری و پشتیبانی، به سهولت با الزامات جدید درخواست شده، قابل تطبیق باشد؟
روشهای اجرایی (Procedures) پیچیده، روشهای اجرایی و ماجولهای بیش از حد طولانی، یادداشتهای یادآوری (Comments) فراموش شده، و یا نقض و رعایت نکردن استانداردهای کد نویسی، مانع شفافیت سیستمها بوده و بنابراین فرآیند مدیریت تغییرات که توسط گروه نگهداری انجام میشود را پیچیده مینماید.
در این بین، توسعهدهندگان نرمافزار تمایل دارند تا بدانند آیا سیستمهای آنان، در خصوص موارد ذکر شده، وضعیت مناسبی در مقایسه با رقبا دارد و اینکه چه بهینهسازیهایی میتواند مورد توجه ایشان قرار گیرد. همچنین خریداران نرمافزار میخواهند اطمینان مجدد بیابند که واقعاً میتوانند به انتخابشان و اینکه ویرایشهای جدید محصولات، بهبودهای مهمی را شامل شده است، اعتماد نمایند؟ مواردی از این دست، با ارزشیابی کیفیت نرمافزار و عموماً کد منبع برنامه قابل حصول است. لازم به ذکر است که ارزشیابیهای از این نوع، نیازمند صلاحیت فنی جامع و فراگیر ارزیابان، وجود روشهای آزمایش نظاممند و امتحان شده، و توانایی مقایسه معنیدار با بهترین تجارب و نیز دارا بودن تجربه بسیار زیاد در این مهم میباشد.
شرکت TÜV IT، صلاحیتهای مذکور را به منظور ارزشیابی کیفیت نرمافزار، بهگونهای جمعآوری کرده تا برای سیستمهای نرمافزاری بزرگی که در عملیات کسب و کار حیاتی تلقی میشوند،به خوبی قابل بهرهبرداری باشد و در این خصوص سعی نموده تا با بهرهگیری از تجارب ارزشمند جهانی، مدلهای ارزیابی خود را بهگونهای بهبود دهد که الزامات شرکتهای بزرگ نرمافزاری را پاسخگو باشد.
شرکت TÜV IT به کمک آزمایشگاه SIG و بر مبنای استاندارد ISO/IEC 25010، مدل کیفی را تعریف نموده و ضمن کمک در بهبود خواص کیفی و قابلیت نگهداری سیستمها، روشی را برای ارزشیابی، امتیازدهی و صدور گواهینامه پیشنهاد مینماید.




در این خصوص، قابل توجه است که مطابق تعاریف بینالمللی، معیارهای ارزشیابی کیفیت نرمافزار، که نشاندهنده کیفیت فنی یک سیستم میباشد، میتوانند از طریق سنجههای کیفی که برای قابلیت نگهداری سیستم (Maintainability) تعریف میشوند، بیان شوند.
خواص کیفی کد از قبیل پیچیدگی (Complexity)، حجم (Volume)، تکرار (Duplication)، ماجولار بودن (Modularity) و اتصالات بین آنها (Coupling)، استقلال ماجولها، و نیز ویژگیهای نگهداری از قبیل قابلیت تحلیل (Analyzability)، قابلیت تغییرپذیری (Changeability)؛ قابلیت آزمایش (Testability)، و قابل استفاده مجدد بودن (Reusability) و مواردی از این قبیل، در این ارزشیابی مورد توجه قرار میگیرند.
فرآیند مرتبط (که میتواند شامل موارد تکمیلی دیگری نیز باشد)، در ادامه تعریف شده است:



