
- •Раздел 2. Лист 75/75
- •1) Постановка задачи.
- •2) Математическая формализация.
- •3) Построение алгоритма.
- •4) Составление алгоритма на языке программирования.
- •5) Отладка и тестирование программы.
- •6) Проведение расчетов и анализ получаемых результатов.
- •Основные типы алгоритмов. Структуры и формы записи алгоритмов.
- •1) Словесно-формульный (на естественном языке)
- •2) Графический способ (с использованием графических примитивов, блок-схем)
- •Структурированные типы данных (массивы, файлы, записи, множества).
- •X: array [1..5,1..10] of real;
- •Var f :text;
- •Динамические структуры данных.
- •Динамическая память. Управление памятью.
- •Управление файлами.
- •Страничная память
- •Стратегии управления страничной памятью
- •Алгоритм fifo – Выталкивание первой пришедшей страницы – Простейший алгоритм
- •Операции над файлами
- •Организация ввода-вывода.
- •Жизненный цикл программ
- •6. Показатели качества по. Стандарты качества программного обеспечения. Тестирование и обеспечение качества.
- •Основные стандарты качества по гост 28195-89. Оценка качества программных средств. Общие положения
- •Гост 28806-90. Качество программных средств. Термины и определения
- •Гост р исо/мэк 9126-93. Оценка программной продукции. Характеристики качества и руководства по их применению
- •Уровни тестирования
- •Статическое и динамическое тестирование
- •Регрессионное тестирование
- •Тестовые скрипты
- •Тестирование «белого ящика» и «чёрного ящика»
- •Покрытие кода
- •8.Требования предъявляемые к ос. Ресурсы и их распределение в операционной системе.
- •9.Архитектура ос. Микроядерная архитектура.
- •11.Механизм прерываний. Способы выполнения прерываний. Приоретизация и маскирование прерываний. Диспетчеризация прерываний в операционной системе.
- •12.Специфика и свойства осрв. Технические свойства осрв.
- •13.Задачи, процессы, потоки. Связь между процессами в осрв.
- •Операции над процессами
- •Иерархия процессов
- •Преимущества многопоточности
- •17.Понятие безопасности информации и виды безопасности
- •18.Статьи затрат на разработку асоиу. Состав и структура асоиу: функциональные подсистемы, обеспечивающие и управляющие системы
- •19.Концепции системы: цели предприятия, цели асоиу. Содержание тз на проектирование асоиу.
- •20.Требования к технологии проектирования систем. Стандарты проектирования, оформление проектной документации, использование интерфейса.
- •21.Моделирование потоков данных. Накопительные процессы данных, потоки данных
- •1 Название подсистемы
- •1.1 Название процесса
- •22.Понятие пилотного проекта, его характеристики. Планирование и выполнение пилотного проекта
- •23.Оценка пилотного проекта
- •24.Внедрение пилотного проекта
- •25.Практическое использование пилотного проекта: план перехода и его реализация
6. Показатели качества по. Стандарты качества программного обеспечения. Тестирование и обеспечение качества.
Основным стандартом качества в области инженерии программного обеспечения в настоящее время является стандарт ISO/IEC 9126. Он определяет номенклатуру, атрибуты и метрики требований качества программного обеспечения. Относительно недавно этот стандарт стал одним из определяющих факторов при моделировании качества программного обеспечения и остаётся им до сих пор.
В дополнение к нему выпущен набор стандартов ISO/IEC 14598, регламентирующий способы оценки этих характеристик. В совокупности они образуют модель качества, известную под названием SQuaRE (Software Quality Requirements and Evaluation).
Общий подход к моделированию качества программного обеспечения заключается в том, чтобы сначала идентифицировать небольшой набор атрибутов качества самого высокого уровня абстракции и затем в направлении "сверху вниз" разбить эти атрибуты на наборы подчиненных атрибутов. Стандарт ISO/IEC 9126 является типичным примером такого подхода.
Определения характеристик и субхарактеристик качества (ISO 9126-1)
Функциональные возможности - способность программного средства обеспечивать решение задач, удовлетворяющих сформулированные потребности заказчиков и пользователей при применении комплекса программ в заданных условиях.
Функциональная пригодность - набор и описания субхарактеристики и ее атрибутов, определяющие назначение, номенклатуру, основные, необходимые и достаточные функции программного средства, соответствующие техническому заданию и спецификациям требований заказчика или потенциального пользователя.
Правильность (корректность) - способность программного средства обеспечивать правильные или приемлемые для пользователя результаты и внешние эффекты.
Способность к взаимодействию - свойство программных средств и их компонентов взаимодействовать с одной или большим числом компонентов внутренней и внешней среды.
Защищенность - способность компонентов программного средства защищать программы и информацию от любых негативных воздействий.
Надежность - обеспечение комплексом программ достаточно низкой вероятности отказа в процессе функционирования программного средства в реальном времени.
Эффективность - свойства программного средства, обеспечивающие требуемую производительность решения функциональных задач, с учетом количества используемых вычислительных ресурсов в установленных условиях.
Практичность (применимость) - свойства программного средства, обусловливающие сложность его понимания, изучения и использования, а также привлекательность для квалифицированных пользователей при применении в указанных условиях.
Сопровождаемость - приспособленность программного средства к модификации и изменению конфигурации и функций.
Мобильность - подготовленность программного средства к переносу из одной аппаратно-операционной среды в другую.
Тестирование программного обеспечения (Software Testing) - проверка соответствия между реальным и ожидаемым поведением программы, осуществляемая на конечном наборе тестов, выбранном определенным образом. [IEEE Guide to Software Engineering Body of Knowledge, SWEBOK, 2004] В более широком смысле, тестирование - это одна из техник контроля качества, включающая в себя активности по планированию работ (Test Management), проектированию тестов (Test Design), выполнению тестирования (Test Execution) и анализу полученных результатов (Test Analysis).
Верификация (Verification) - это процесс оценки системы или её компонентов с целью определения удовлетворяют ли результаты текущего этапа разработки условиям, сформированным в начале этого этапа [IEEE]. Т.е. выполняются ли наши цели, сроки, задачи по разработке проекта, определенные в начале текущей фазы.
Валидация (Validation) - это определение соответствия разрабатываемого ПО ожиданиям и потребностям пользователя, требованиям к систем/
План Тестирования (Test Plan) - это документ, описывающий весь объем работ по тестированию, начиная с описания объекта, стратегии, расписания, критериев начала и окончания тестирования, до необходимого в процессе работы оборудования, специальных знаний, а также оценки рисков с вариантами их разрешения.
Показатели качества ПО:
понятность
Назначение ПО должно быть понятным, из самой программы и документации.
полнота
Все необходимые части программы должны быть представлены и полностью реализованы.
краткость
Отсутствие лишней, дублирующейся информации. Повторяющиеся части кода должны быть преобразованы в вызов общей процедуры. То же касается и документации.
портируемость
Лёгкость в адаптации программы к другому окружению: другой архитектуре, платформе, операционной системе или её версии.
согласованность
По всей программе и в документации должны использоваться одни и те же соглашения, форматы и обозначения.
сопровождаемость
Насколько сложно изменить программу для удовлетворения новых требований. Это требование также указывает, что программа должна быть хорошо документирована, не слишком запутана, и иметь резерв роста по использованию ресурсов (память, процессор).
тестируемость
Позволяет ли программа выполнить проверку приёмочных характеристик, поддерживается ли возможность измерения производительности.
удобство использования
Простота и удобство использования программы. Это требование относится прежде всего к интерфейсу пользователя.
надёжность
отсутствие отказов и сбоев в работе программ, а также простота исправления дефектов и ошибок:
структурированность
эффективность
Насколько рационально программа относится к ресурсам (память, процессор) при выполнении своих задач.
безопасность