2.5. Обеспечивается ли совместимость выбранных языков программирования, общесистемных программных и технических средств?
2.6. Предполагает ли проект разработку собственных средств межъязыкового интерфейса для обеспечения совместимости языков программирования?
2.7. Обеспечивается ли информационная совместимость в проекте? Все ли информационные структуры совместимы?
3. Производительность (эффективность)
3.1. Регламентируется ли приемлемый уровень эффективности (по скорости обработки, использованию оперативной памяти и др.) имеющимися действующими стандартами или требованиями заказчика?
3.2. Обоснована ли эффективность предлагаемых проектных решений? Указаны ли ожидаемые технико-экономические показатели?
3.3. Учитывают ли проектные решения требования стандартов по эффективности и соответствующие данные аналогов ПО?
3 4. Учитывают ли методы организации и доступа к данным особенности модели данных, объемы и интенсивность обработки данных?
3.5. Обеспечивают ли применяемые математические методы и алгоритмы, а также языки программирования требуемую точность вычислений? Учтены ли вычислительные возможности технических средств?
3.6. Обеспечивают ли алгоритмы требуемую скорость обработки данных?
3.7. Предполагается ли использование оптимизирующих компиляторов, сопроцессоров, расширенной памяти и других специализированных методов и средств? Адекватно ли принятое решение возможностям предполагаемой среды функционирования ПО?
4. Надежность
4.1. Обеспечивают ли принятая организация данных, методы доступа к данным и алгоритмы защиту данных?
4.2. Обеспечивается ли разграничение доступа к возможностям ПО (при наличии требований в ТЗ)?
4.3. Предполагается ли разработка специальных средств повышения устойчивости к отказам программных и технических средств? Как будет их объем и стоимость сказываться на эффективности ПО?
4.4. Предусматривает ли проект разработку средств контроля и обнаружения ошибок пользователя, ошибок ввода и передачи данных, контроля хода вычислений и соответствующих средств диагностики?
4.5. Предусматривает ли проект разработку средств восстановления вычислительного процесса после устранения отказов программных и технических средств (например, контрольные точки, ведение страховой копии)?
4.6. Адекватны ли проектные решения по восстановлению требованиям в ТЗ к среднему времени восстановления (при их наличии)?
4.7. Разработаны ли планы и процедуры тестирования (испытаний)? Адекватны ли они требованиям к проведению испытаний?
4.8. Обеспечивают ли методы проектирования минимизацию сложности структуры проекта иерархичность, структурность, понятность)?
5. Удобство применения
5.1. Учитывает ли проект в
целом эргономические требования (при их наличии) к ПО,
связанные
с удобством применения и освоения?
5.2. Предполагается ли режим подсказки (помощи, контекстные справки) для пользователя?
5.3. Представлена ли входная и выходная информация в терминах профессиональной лексики пользователя?
5.4. Предусмотрена ли разработка средств, облегчающих освоение ПО, а также примеров, иллюстрирующих возможности ПО, учебных материалов и курсов?
5.5. Соответствует ли проект интерфейса конечного пользователя эргономическим требованиям (выбор цветовой палитры, удобное размещение информации на экране и т.п.)?
5.6. Соответствует ли проект синтаксиса входного языка и сообщений профессиональному уровню пользователя?
6. Сопровождаемость
6.1. Предусматривается ли возможность выбора (изменения) варианта организации данных?
6.2. Обеспечивает ли функциональное деление проекта минимизацию связей между основными программными функциями?
6.3. Достаточно ли прослеживаемы все проектные решения?
6.4. Учитывает ли проект возможность последующего развития (Открытость архитектуры, возможности технических средств)?
6.5. Предполагается ли разработка средств администратора в ПО (при наличии в ТЗ требований к специальному сопровождению программного обеспечения, баз данных и т.п.)?
6.6. Обеспечивает ли выбранный подход к проектированию удобство модификации (структурность, независимость и т.д.)?
6.7. Предусматривает ли проект разработку сервисных средств сопровождения ПО, средств трассировки, диагностики, сбора статистики, дампирования и анализа?
7. Мобильность (переносимость)
7.1. Достаточно ли универсальны представленные алгоритмы с позиций их переносимости?
7.2. Используются ли стандартные соглашения по организации доступа к данным в проекте, передаваемым и принимаемым данным? Предполагается ли применение не стандартных методов организации и доступа к данным? Насколько они обоснованы?
7.3. Отвечают ли выбранные языки программирования, операционная система требованиям мобильности?
7.4. Учитывает ли структура проекта требования переносимости (независимость верхних уровней иерархии от среды реализации)?
Вопросы для инспекции программного кода
1. Простота понимания и соответствие стандартам кодирования
1.1. Понятны ли спецификации элемента?
1.2. Понятен ли код элемента? Есть ли проблемы в понимании?
1.3. Откомментирован ли код? Помогают ли комментарии понять процедуры и функции элемента?
1.4. Могут ли быть трудности при модификации элемента?
1.5. Установлены ли в проекте стандарты кодирования?
1.6. Соответствует ли код установленным стандартам кодирования?
1.7. Разработаны ли тесты для проверки соблюдения стандартов?
2. Корректность обращения к данным
2.1. Используются ли переменные с не установленными значениями?
2.2. Не выходит ли значение каждого из индексов за границы, определенные для соответствующего измерения при всех обращениях к массиву?
2.3. Принимает ли каждый индекс целые значения при всех обращениях к массиву? Не целые индексы не обязательно являются ошибкой, но представляют практическую опасность.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.