A Cost Model Based on Software Maintainability