Лекция 3. Введение в стандартизацию программных средств Учебные вопросы 1. Цели и задачи стандартизации программных средств 2. Профили стандартов 3. Классификация методов определения показателей качества программного средства
Вопрос 1
Можно выделить следующие основные цели применения стандартов при создании ПС: снижение трудоемкости, длительности, стоимости и улучшение других технико- экономических показателей проектов ПС; повышение качества разрабатываемых или покупных компонентов и ПС в целом при их приобретении, разработке, эксплуатации и сопровождении; обеспечение возможности расширять программное средство по набору прикладных функций и масштабировать в зависимости от размерности решаемых задач; поддержка функциональной интеграции в ПС задач, ранее решавшихся раздельно; обеспечение переносимости прикладных программ и данных между разными аппаратно-программными платформами.
Применение стандартов позволяет : ориентироваться на построение систем из крупных функциональных узлов, отвечающих требованиям стандартов; определять унифицированные интерфейсы и протоколы взаимодействия компонентов системы; повторно использовать в новых системах готовые и проверенные прикладные программы; применять отработанные и проверенные проектные решения.
Особенности состояния и развития стандартизации в области ПО за рубежом 1) разработано несколько сотен международных и национальных стандартов; однако они не полностью и не равномерно покрывают потребности в стандартизации объектов и процессов создания и применения сложных систем и их компонентов; 2) большая длительность разработки, согласования и утверждения международных и национальных стандартов (3-5 лет); это приводит к отставанию требований и рекомендаций стандартов от современного состояния техники, потребностей практики и технологии создания сложных систем; 3) стандарты не всегда учитывают построение ПО как открытых систем и не обеспечивают: их расширяемость при наращивании или изменении выполняемых функций; переносимость прикладного ПО между разными аппаратно-программными платформами; возможность взаимодействия с другими информационными системами той же проблемной области;
4) в области систем стандартами регламентированы наиболее простые объекты и процессы (телекоммуникации, программирование, документирование и т.п.); 5) сложные процессы жизненного цикла ПО (системный анализ и проектирование, интеграция компонентов, испытания, сертификация) почти не поддержаны стандартами из-за трудности их формализации и унификации; 6) пробелы и задержки в подготовке и издании стандартов высокого ранга и текущая потребность унификации и регламентирования в области ПО приводят к созданию и применению многочисленных нормативных и методических документов отраслевого, ведомственного или фирменного уровня.
В экспортных заказах требуется соответствие технологии проектирования, производства и качества продукции современным международным стандартам. В этой связи в последние годы в России активизировались работы по разработке национальных и межгосударственных стандартов в области ЖЦ и качества ПО. Данные работы ведутся в двух направлениях. 1) К первому направлению следует отнести работы по обновлению стандартов серий 19. ХХХ и 34.ХХХ; 2) Ко второму направлению относятся работы по аутентичному переводу на русский язык стандартов серии ISO/IEC и принятие этих переводов в качестве национальных стандартов со статусом ГОСТ Р ИСО/МЭК (Государственный стандарт России) с сохранением того же номера.
Вопрос 2
Профиль стандартов - это совокупность нескольких базовых стандартов и/или других нормативных документов с четко определенными и гармонизированными подмножествами обязательных и дополнительных возможностей, предназначенная для реализации заданной функции или группы функций. Исходным для формирования и применения профиля стандартов системы (ПС) или процесса является их функциональная характеристика (набор функций). На базе одной и той же совокупности стандартов могут формироваться различные профили для разных проектов ПС (за счет, например, различных выбранных значений параметров стандарта или различных выбранных положений стандарта)
Профиль стандартов - это совокупность нескольких базовых стандартов и/или других нормативных документов с четко определенными и гармонизированными подмножествами обязательных и дополнительных возможностей, предназначенная для реализации заданной функции или группы функций. Исходным для формирования и применения профиля стандартов системы (ПС) или процесса является их функциональная характеристика (набор функций). На базе одной и той же совокупности стандартов могут формироваться различные профили для разных проектов ПС (за счет, например, различных выбранных значений параметров стандарта или различных выбранных положений стандарта)
В международной стандартизации ПО принято, что основой профиля могут быть только международные и национальные утвержденные стандарты (не допускается использование неутвержденных стандартов и нормативных документов фирм). В качестве методологической основы построения и применения профилей сложных, распределенных систем рекомендуется использовать технический отчет ISO/IEC TR В этом стандарте определена эталонная модель среды открытых систем (OSE/RM).
Эталонная модель среды открытых систем (OSE/RM) определяет разделение любой информационной среды на приложения (прикладные программные комплексы) и среду, в которой эти приложения функционируют. Между приложениями и средой определяются стандартизированные интерфейсы (Application Program Interface - API). Эти интерфейсы являются необходимой частью профилей любой открытой системы. Кроме того, в профилях ИС могут быть определены унифицированные интерфейсы взаимодействия прикладных программ (функциональных частей) между собой и интерфейсы взаимодействия между компонентами среды ИС. Спецификации выполняемых функций и интерфейсов взаимодействия могут быть оформлены как профиль каждого компонента системы.
Различают следующие категории профилей стандартов: 1) профили конкретного ПС; действуют в пределах проекта и являются частью проектной документации; 2) профили для решения некоторого класса прикладных задач; распространяются на все ПС данного класса, утверждаются как стандарты предприятий, ведомственные или государственные стандарты.
В ЖЦ ПС выделяется две группы профилей: 1) профили, регламентирующие архитектуру и структуру ПС и их компонентов (функции, интерфейсы, протоколы взаимодействия, форматы данных и т.п.); 2) профили, регламентирующие процессы и системы обеспечения качества проектирования, разработки, применения, сопровождения и развития ПС и их компонентов.
Система качества - совокупность организационных структур, методик, технологий и ресурсов, необходимых для осуществления общего руководства качеством. Она должна быть составной частью системы управления организации и должна создавать у руководства организации и у потребителя (заказчика) уверенность в том, что ПС будет соответствовать установленным требованиям к его качеству. Стандарты, важные с точки зрения заказчика, должны задаваться в техническом задании (ТЗ) и контракте на проектирование ПС и составлять его первичный профиль. В дальнейшем разработчик может дополнять первичный профиль, согласовывая его с заказчиком.
Профиль стандартов, обеспечивающих качество ЖЦ ПС
Общие сведения о стандартах в области оценки качества, действующих на территории РФ В настоящее время в области обеспечения качества ПО на территории РФ действуют следующие основные стандарты: 1. ГОСТ Качество программных средств. Термины и определения; 2. ГОСТ Оценка качества программных средств. Общие положения; 3. ГОСТ Р ИСО/МЭК Информационные технологии. Оценка программной продукции. Характеристики качества и руководства по их применению 4. ЖЦ ПС регламентирован стандартом ИСО/МЭК Процессы жизненного цикла программных средств
При именовании стандартов используются следующие обозначения: 1) вначале записывается категория стандарта (СТБ - стандарт Беларуси, ГОСТ Р - государственный стандарт России, ГОСТ - межгосударственный стандарт для ряда стран СНГ, до распада СССР аббревиатура ГОСТ обозначала государственный стандарт СССР); 2) если стандарт разработан методом прямого применения (является аутентичным переводом) международного стандарта, то за категорией стандарта следует обозначение категории данного международного стандарта (в русском именовании); например, ГОСТ Р ИСО/МЭК - это аутентичные переводы международного стандарта ISO/IEC; 3) затем следует номер стандарта; при этом, если стандарт разработан методом прямого применения, то его номер совпадает с номером международного стандарта; например, ГОСТ Р ИСО/МЭК 9126, ISO/IEC 9126; 4) после номера стандарта через дефис записывается год его утверждения ГОСТ Р ИСО/МЭК
В стандарте ГОСТ регламентируются основные термины и определения, принятые в области обеспечения качества ПО. Стандарт ГОСТ определяет оценку качества программного средства как совокупность операций, включающих выбор номенклатуры характеристик качества оцениваемого программного средства, определение значений этих характеристик и сравнение их с базовыми значениями.
Оценка качества должна проводиться применительно ко всем работам ЖЦ ПС при: 1. планировании характеристик качества ПС; 2. контроле качества в процессе разработки; 3. проверке эффективности модификации ПС в процессе сопровождения. Основные задачи, решаемые при оценке качества программного средства: 1. планирование номенклатуры характеристик и показателей качества; 2. планирование уровня качества; 3. выбор методов контроля показателей качества; 4. контроль значений показателей качества в процессе жизненного цикла ПС; 5. выбор базовых образов по подклассам и группам; 6. принятие решения о соответствии реальных значений показателей качества установленным требованиям.
Вопрос 3
ГОСТ классифицирует методы определения показателей качества ПС, исходя из следующих факторов: по способам получения информации о показателе качества: а) измерительный; б) регистрационный; в) органолептический; г) расчетный; по источникам получения информации о показателе качества: а) экспертный; б) социологический; в) традиционный.
Измерительный метод определения показателей качества ПС - это метод получения информации о свойствах и характеристиках ПС путем измерений с помощью инструментальных средств (например, так может определяться количество операторов в программе, количество выполненных операторов, количество операндов, время выполнения программы при определенных наборах исходных данных и т.д.). Регистрационный метод определения показателей качества ПС - это метод получения информации о свойствах и характеристиках ПС во время его испытания или функционирования, когда регистрируются определенные события (например, количество сбоев и отказов).
Органолептический метод определения показателей качества ПС - это метод получения информации о свойствах и характеристиках ПС, основанный на восприятии органов чувств (зрения и слуха) человека. Так может определяться, например, удобство использования. Расчетный метод определения показателей качества ПС - это метод получения информации о свойствах и характеристиках ПС, основанный на использовании эмпирических и теоретических зависимостей (на ранних этапах разработки), статистических данных, накапливаемых при испытаниях, эксплуатации и сопровождении ПС. Так может определяться, например, точность вычислений.
Экспертный метод определения показателей качества ПС - это метод получения информации о свойствах и характеристиках ПС на основании мнений группы экспертов- специалистов, компетентных в решении данной задачи на базе их опыта и интуиции. Экспертный метод применяется, когда невозможно или слишком трудоемко выполнить оценку показателей качества с помощью других методов. С помощью данного метода рекомендуется определять, например, показатели понимаемости и осваиваемости ПС. Социологический метод определения показателей качества ПС - это метод получения информации о свойствах и характеристиках ПС на основании обработки специальных анкет-опросников. Так могут определяться, например, отдельные показатели удобства использования. Традиционный метод определения показателей качества ПС - это метод получения информации о свойствах и характеристиках ПС на основании непосредственного наблюдения за их функционированием в процессе работы. Так могут определяться, например, некоторые из показателей функциональности и удобства использования.
Стандарты ГОСТ , ГОСТ , ИСО/МЭК 9126 регламентируют выполнение оценки качества ПС и систем на основе иерархической модели качества. В соответствии с данной моделью совокупность свойств, отражающих качество программного средства, представляется в виде многоуровневой структуры. Характеристики на первом (верхнем) уровне соответствуют основным свойствам ПС. Характеристики (подхарактеристики) каждого уровня оцениваются посредством характеристик (подхарактеристик) последующих уровней.
Стандарты ГОСТ , ИСО/МЭК определяют первые два уровня иерархической модели качества. При этом номенклатура характеристик первого уровня является обязательной, а номенклатура характеристик второго уровня (подхарактеристик) - рекомендуемой. Стандарт ГОСТ определяет четырехуровневую иерархическую модель оценки качества ПС. Номенклатура характеристик и подхарактеристик первых двух уровней является обязательной, а номенклатура подхарактеристик третьего и четвертого уровней - рекомендуемой.
В стандартах ГОСТ и ИСО/МЭК определены следующие основные характеристики качества программных средств (характеристики качества первого уровня; в скобках приведены англоязычные эквиваленты терминов): 1) Функциональность (Functionality). Совокупность свойств программного средства, определяемая наличием и конкретными особенностями набора функций, способных удовлетворять заданные или подразумеваемые потребности. 2) Надежность (Reliability). Совокупность свойств, характеризующая способность программного средства сохранять заданный уровень пригодности в заданных условиях в течение заданного интервала времени. 3) Удобство использования (практичность, Usability). Совокупность свойств программного средства, характеризующая усилия, необходимые для его использования, и индивидуальную оценку результатов его использования заданным или подразумеваемым кругом пользователей.
4) Эффективность (Efficiency). Совокупность свойств программного средства, характеризующая те аспекты его уровня пригодности, которые связаны с характером и временем использования ресурсов, необходимых при заданных условиях функционирования. 5) Сопровождаемость (Maintainability). Совокупность свойств программного средства, характеризующая усилия, которые необходимы для его модификации. 6) Мобильность (Portability). Совокупность свойств программного средства, характеризующая приспособленность для переноса из одной среды функционирования в другие.