ЛАБОРАТОРНОЕ ЗАНЯТИЕ №1
Тема: Оценка качества функционирования информационной системы. CALS-технологии.
Цель: Отработать классификацию характеристик качества ПО на конкретном примере, научиться соотносить виды деятельности по управлению качеством с элементами стандарта ISO 9001. Понять, как CALS‑технологии обеспечивают совместимость ПО на разных этапах жизненного цикла.
Теоретическая часть
Согласно стандарту ISO/IEC 25000:2014 «Проектирование систем и разработка программного обеспечения. Требования к качеству систем и программного обеспечения и их оценка (SQuaRE). Руководство» под качеством ПО понимается его способность при заданных условиях удовлетворять установленным или предполагаемым потребностям. Поскольку данное определение является неформальным, оценку качества обычно производят по ряду представленных далее характеристик ПО.
Функциональность — способность ПО решать задачи, которые соответствуют зафиксированным и предполагаемым потребностям пользователя при заданных условиях использования ПО. Эта характеристика отвечает за то, что ПО работает исправно и точно, функционально совместимо, соответствует стандартам отрасли и защищено от несанкционированного доступа.
Надежность — способность ПО выполнять требуемые задачи в обозначенных условиях на протяжении заданного промежутка времени или указанное количество операций. Атрибуты данной характеристики — это завершенность и целостность всей системы, способность самостоятельно и корректно восстанавливаться после сбоев в работе, отказоустойчивость.
Удобство использования — возможность комфортного изучения ПО пользователем.
Эффективность — способность ПО обеспечивать требуемый уровень производительности в соответствии с выделенными ресурсами, временем и другими обозначенными условиями.
Удобство сопровождения — легкость, с которой ПО может анализироваться, тестироваться, изменяться для исправления дефектов, для реализации новых требований, для облегчения дальнейшего обслуживания и адаптироваться к имеющемуся окружению.
Портативность — характеризует ПО с точки зрения мобильности его переноса из одного окружения в другое.
Теоретически управление качеством основывается на принципе определения стандартов и процедурных норм, в соответствии с которыми должно разрабатываться ПО, а также на проверке выполнения этих норм всеми разработчиками. На практике, однако, понятие управления качеством имеет более емкое содержание.
Процесс управления качеством состоит из трех видов деятельности, показанных на рис. 1.11: обеспечение, планирование и контроль качества ПО.

Рис. 1.11.Процесс управления качеством
Общим международным стандартом, который любая компания в сферах производства может принять за основу развития системы управления качеством, можно назвать ISO 9000, разработанный Международной организацией по стандартизации (ISO). Этот документ содержит ряд всевозможных стандартов, применимых как в промышленности, так и в сфере услуг. Например, стандарт ISO 9001 регламентирует деятельность организаций, занимающихся разработкой, производством и сопровождением различных товаров. Раздел ISO 9000-3 поддерживает ведение документации, адаптирующей стандарт ISO 9000 к разработке программных продуктов. В табл. 1 приведены виды деятельности, которые охвачены в модели ISO 9001.
Таблица 1 - Виды деятельности, охватываемые моделью обеспечения качества ISO 9001
|
Вид деятельности менеджмента |
Элемент системы качества |
|
Выявление бракованных изделий |
Контроль за разработкой изделий |
|
Обработка, хранение, упаковка и доставка товара |
Материально-техническое обслуживание |
|
Товары, поставляемые заказчиком |
Идентификация и отслеживание товара |
|
Управление производственным процессом |
Контроль и испытания готовой продукции |
|
Оборудование для контроля и испытаний |
Проведение обследования и тестирования |
|
Проверка контракта |
Корректирующая деятельность |
|
Проверка документации |
Отчеты об обеспечении качества |
|
Внутренняя проверка качества |
Обучение |
|
Обслуживание |
Статистические методы контроля за качеством |
Взаимосвязь между ISO 9000, управлением качества и планами обеспечения качества отдельных проектов показана на рис. 1.12.

Рис. 1.12.Стандарт ISO 9000 и управление качеством
Правило успешного управления качеством состоит в том, что качество процесса производства ПО влияет и на качество готового программного продукта. Это правило первоначально появилось в сфере промышленного производства, где качество продукции напрямую связано с качеством процесса ее изготовления. Данный подход показан на рис. 1.13.

Рис. 1.13.Обеспечение качества путем достижения уровня качества производственного процесса
В сфере разработки ПО качество процесса имеет особое значение. Это вызвано трудностью оценивания таких свойств ПО, как, например, удобство сопровождения, поскольку его можно оценить только после длительного периода использования программы. Процесс улучшения качества начинается с изучения качественных продуктов и процессов их разработки, далее следует обобщение результатов исследования с последующим применением их в других проектах.
Процесс разработки ПО скорее относится к созидательным, нежели к механическим процессам, что многократно увеличивает значимость индивидуальных навыков и опыта разработчиков ПО. На качество программного продукта, независимо от использованного процесса создания ПО, могут оказывать влияние внешние факторы, такие как новизна проекта или коммерческое давление (в целях более быстрого выпуска программного продукта).
Управление качеством ПО включает в себя следующие процессы:
1) определение стандартов, регламентирующих процесс разработки ПО;
2) контроль за процессом разработки (для обеспечения выполнения стандартов);
3) создание отчетности о ходе процесса разработки для менеджера проекта и заказчика ПО.
Самая большая сложность в обеспечении качества, основанном на стандартизации процесса создания ПО, состоит в том, что не всегда предписанный процесс создания подходит к данному типу разрабатываемого программного продукта. Например, стандарты на процесс создания ПО предусматривают завершение работы над требованиями и их утверждение до начала этапа написания программного кода. Но для некоторых систем может потребоваться написание соответствующих программ (прототипирование). Группа по обеспечению качества может предложить не выполнять прототипирования, так как все равно его качество невозможно проверить. В таких случаях требуется вмешательство руководства компании, чтобы удостовериться в том, что процесс обеспечения качества служит поддержкой, а не помехой в выполнении проекта.
В целях наблюдения за процессом разработки ПО осуществляется контроль качества для того, чтобы гарантировать соблюдение определенных нормативных процедур и стандартов. Процесс контроля качества имеет собственный набор процедур и отчетов, которые могут быть использованы в процессе разработки ПО и которые должны быть понятны специалистам по разработке ПО.
Существует два взаимодополняющих подхода к процессу контроля качества:
1) проверки качества, когда программный продукт, сопровождающая документация и процесс разработки анализируются группой проверяющих. Эта группа ответственна за проверку соблюдения стандартов проекта, а также за соответствие документации этим стандартам. Любые отклонения от стандартов регистрируются и подаются на рассмотрение менеджеру проекта;
2) автоматизированная оценка ПО, когда программный продукт и его документация проверяются специальной компьютерной программой, которая сопоставляет их со стандартами данного проекта. В такую автоматизированную проверку можно включить количественный контроль некоторых характеристик ПО.
Требованием времени является такая организация разработки образцов техники и ПО, которая обеспечивала бы сопровождение изделия от замысла конструктора (идей), ее научной разработки до реального образца, находящегося в эксплуатации, т. е. на всем ЖЦ изделия. Одной из основных задач в этом процессе является совместимость ПО, используемого при разработке. Такая совместимость ПО называется CALS-технологией.
Термин CALS (Continuous Acquisition and Lifecycle Support — непрерывная информационная поддержка поставок и ЖЦ) означает совокупность принципов и технологий информационной поддержки ЖЦ продукции на всех его стадиях.
CALS-технологии призваны служить средством, интегрирующим промышленные автоматизированные системы в единую многофункциональную систему. Целью интеграции является повышение эффективности создания и использования сложных программных систем. Применительно к разработке ПО повышение ее эффективности обеспечивается за счет выполнения трех мероприятий, показанных на рис. 1.14.
Рис. 1.14.Мероприятия по повышению
эффективности ПО
В общем случае применение CALS-технологии позволяет резко повысить эффективность разработки ПО по ряду основных причин.
Во-первых, обоснованность решений, принимаемых в автоматизированной системе управления предприятием (АСУП), будет выше, если соответствующие программы АСУП имеют оперативный доступ не только к базе данных АСУП, но и к базам данных других автоматизированных систем (систем автоматизированного проектирования, автоматизированных систем технологической подготовки производства и автоматизированных систем управления технологическим процессом) и, следовательно, могут оптимизировать планы работ, содержание заявок, распределение исполнителей, выделение финансов и др. При этом под оперативным доступом следует понимать не просто возможность считывания данных из базы данных, но и легкость их правильной интерпретации, т. е. согласованность по синтаксису и семантике с протоколами, принятыми в АСУП. То же относится и к другим системам, например, технологические подсистемы должны при необходимости воспринимать и правильно интерпретировать данные, поступающие от подсистем автоматизированного конструирования. Этого не так легко добиться, если основное предприятие и организации-смежники работают с разными автоматизированными системами.
Во-вторых, применение CALS-технологий позволяет существенно сократить объемы проектных работ, так как описания ранее выполненных удачных разработок компонентов и устройств, составных частей оборудования, машин и систем, проектировавшихся ранее, хранятся в базах данных сетевых файл-серверов, доступных любому пользователю CALS-технологии. Доступность к информации обеспечивается согласованностью форматов, способов, руководств общей интегрированной системы. Кроме того, появляются более широкие возможности для специализации предприятий, вплоть до создания виртуальных предприятий, что также способствует снижению затрат.
В-третьих, существенно облегчается решение проблем ремонтопригодности, интеграции продукции в различного рода системы и среды, адаптации к меняющимся условиям эксплуатации и др.
Чтобы достичь должного уровня взаимодействия промышленных автоматизированных систем, требуется создание единого информационного пространства в рамках как отдельных предприятий, так и, что более важно, в рамках объединения предприятий. Единое информационное пространство обеспечивается благодаря унификации как формы, так и содержания информации о конкретных изделиях на различных этапах их ЖЦ.
Унификации подвергаются формы и форматы представления данных, характеристики ПО и электронное его описание. Например, унификация формы достигается использованием стандартных форматов и языков представления информации в межпрограммных обменах и при документировании, унификация содержания, понимаемая как однозначная правильная интерпретация данных о конкретном изделии на всех этапах его ЖЦ, обеспечивается разработкой обобщенных описаний приложений, закрепляемых в прикладных протоколах CALS, и др.
Центральное место в системе CALS-стандартов занимают стандарты, разработанные под эгидой Международной организации стандартизации ISO и получившие название STEP (Standard for Exchange of Product data) и номер 10303. Стандарты ISO 10303 определяют средства описания (моделирования) промышленных изделий на всех стадиях ЖЦ.
Стандарт ISO 10303 состоит из ряда документов (томов), в которых описываются основные принципы STEP, правила языка Express, даны методы его реализации, модели, ресурсы, как общие для приложений, так и некоторые специальные (например, геометрические и топологические модели, описание материалов, процедуры черчения, конечно-элементного анализа), прикладные протоколы, отражающие специфику моделей в конкретных предметных областях, методы тестирования моделей и объектов.
В настоящее время число различных CALS-стандартов довольно велико. В связи с этим предпринимаются попытки их большей гармонизации. Предусмотрены возможности согласования моделей, выраженных с помощью разных языков моделирования и форматов, например, таких как SGML, XML, EXPRESS. Средства интеграции — специальные интеграционные модели и методы создания, распространения, обновления моделей, их связи с прикладными протоколами.
Оформление технической документации на создаваемые изделия в CALS-технологиях должно выполняться на основе языков разметки SGML (Standard Generalized Markup Language) или XML (eXtensible Markup Language). Язык SGML входит в семейство стандартов ISO 8879 и предназначен для унификации представления текстовой информации в автоматизированных системах.
Язык XML стал основой технологий семантической сети (Semantic Web), в которой появляется возможность интеграции информации из разных источников с распознаванием семантики данных. Вместе с унифицированным способом указания информационных ресурсов URI (Uniform Resource Identifiers) язык XML составляет нижний уровень в иерархии средств семантического Web. Над этим уровнем расположен уровень модели RDF (Resource Description Framework — среда описания ресурсов), которая служит для определения и использования метаданных, описывающих информационные ресурсы. RDF определяет набор ресурсов и свойств с обозначением их смысла, наборы могут быть использованы для описания новых RDF-словарей. Словарь RDF определяется RDF-схемой (RDFS). RDF-схема представляет собой систему типов для Semantic Web. Над уровнем RDF находится уровень языков онтологий, к которым, в частности, относятся языки OWL, DAML, OIL. В целях стандартизации технологий Semantic Web международный консорциум W3C разработал ряд спецификаций, посвященных XML, RDF (RDFS), OWL и др. Работы по развитию технологий CALS и Semantic Web составляют пока разные направления, однако есть немало причин для пересечения этих направлений.
Практику применения CALS-технологий рассмотрим на примере разработки интерактивного электронного технического руководства в системе Technical Guide Builder 4. Руководство необходимо сгенерировать в соответствии со следующим заданием:
§ создать шаблон руководства в модуле TgDesigner, содержащем шаблоны документов, изображений, кодирования, словарей, структуры руководства;
§ назначить в модуле TgDesigner пользователей, оформляющих проект;
§ оформить в модуле «Диспетчер проектов» новый проект с постановкой задач и сроков выполнения проекта.
Technical Guide Builder 4 — система, предназначенная для автоматизированной подготовки эксплуатационной документации и каталогов в соответствии с требованиями ГОСТ 2.601—2013 «Единая система конструкторской документации (ЕСКД). Эксплуатационные документы», ГОСТ 2.610—2006 «ЕСКД. Правила выполнения эксплуатационных документов», ГОСТ 18675—2012 «Документация эксплуатационная и ремонтная на авиационную технику и покупные изделия для нее» и спецификации ASD S1000D.
Задание выполняют поэтапно:
1) выполнить вход в модуль TG Designer;
2) создать новый шаблон и указать системе путь к каталогу, где он размещен (система сгенерирует пустой шаблон электронного руководства);
3) в пустом шаблоне определить структуру используемых элементов руководства, систему кодификации элементов руководства и другую информацию;
4) заполнить поля для определения свойств шаблона согласно рис. 1.15. После того как разработано основное содержание документа, руководитель формирует конечный документ.
Рис. 1.15.Свойства шаблона электронного
руководства
Практическая часть
Задание 1: Анализ качества ПО по стандарту ISO/IEC 25000:2014.
1. Выберите реальное мобильное или веб‑приложение (например, мессенджер, онлайн‑банк, навигатор).
2. Для этого приложения оцените 5 из 6 характеристик качества (по ISO/IEC 25000), заполнив таблицу
|
Характеристика качества |
Описание применительно к выбранному приложению |
Примеры соответствия/несоответствия |
|
Функциональность |
… |
… |
|
Надёжность |
… |
… |
|
Удобство использования |
… |
… |
|
Эффективность |
… |
… |
|
Удобство сопровождения |
… |
… |
3. Для каждой характеристики приведите 1–2 конкретных примера из интерфейса или поведения приложения (например: «Функциональность: кнопка Оплатить не срабатывает при пустом поле Сумма — несоответствие»).
Задание 2. Моделирование процесса контроля качества по ISO 9001.
1. Представьте, что вы — менеджер проекта по разработке приложения для онлайн‑обучения.
2. Для этого проекта выберите 4 вида деятельности из табл. 1 (ISO 9001) и заполните таблицу.
|
Вид деятельности (по ISO 9001) |
Как он реализуется в проекте ПО |
Конкретные действия/процедуры |
|
Выявление бракованных изделий |
… |
… |
|
Обработка и хранение данных |
… |
… |
|
Управление производственным процессом |
… |
… |
|
Внутренняя проверка качества |
… |
… |
Задание 3: Применение CALS‑технологий: анализ совместимости.
1. Выберите пример сложного ПО (например, система управления умным домом, ERP‑система для завода).
2. Определите 3 этапа жизненного цикла этого ПО (например: проектирование, внедрение, сопровождение).
3. Для каждого этапа укажите:
- Какие автоматизированные системы взаимодействуют с ПО (например, CAD‑система, система мониторинга);
- Какие данные передаются между системами (например, спецификации устройств, логи ошибок);
- Как обеспечивается совместимость (например, через XML‑схемы, STEP‑стандарты).
4. Заполните таблицу.
|
Этап ЖЦ ПО |
Взаимодействующие системы |
Передаваемые данные |
Способы совместимости (стандарты/форматы) |
|
Проектирование |
… |
… |
… |
|
Внедрение |
… |
… |
… |
|
Сопровождение |
… |
… |
… |
Контрольные вопросы
1. Согласно стандарту ISO/IEC 25000:2014, что понимается под качеством ПО? Перечислите и кратко охарактеризуйте (1–2 предложения) 4 из 6 основных характеристик качества ПО, приведённых в тексте.
2. В чём состоит суть процесса управления качеством ПО? Назовите и раскройте содержание трёх видов деятельности, входящих в этот процесс (обеспечение, планирование, контроль).
3. Что такое CALS‑технологии? Перечислите 3 ключевые цели или преимущества их применения при разработке и эксплуатации ПО. Какие стандарты лежат в основе CALS (укажите не менее двух конкретных наименований)?
Материалы на данной страницы взяты из открытых источников либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.