Слайд 2
Одна из основных задач –
совершенствование качества программных средств
Актуальны
проблемы:
- аппаратная сложность опережает умение конструировать ПО
- умение строить
программы отстает от требований к ним
Решение – грамотная организация процесса создания ПО.
Знание основных принципов, моделей и методов при разработке сложных программных продуктов, основанных на международных стандартах → создание качественных конкурентоспособных программных продуктов
Задачи и проблемы в области ИТ
Слайд 3
РОЛЬ СТАНДАРТИЗАЦИИ В ПРОЦЕССЕ ИНФОРМАТИЗАЦИИ
Стандартизация - определение
требований к средствам, системам, процессам и др., излагаемым в
утвержденных документах (стандартах), обязательных для применения в установленной для них области действия.
(Из документа Международной организации по стандартизации ИСО )
Слайд 4
Международный стандарт - стандарт, принятый международным органом стандартизации:
ИСО
- Международная организация по стандартизации (ISO - International Organization
for Standardization)
МЭК - Международная комиссия по электротехнике (IEC - International Electrotechnical Commission).
ИСО - всемирная организация по разработке международных стандартов (более 90 стран мира)
В 70-х г. ИСО разработала эталонную модель со статусом международного стандарта ИСО 7498.
Дополнения в 1993 г. - 2ое издание ИСО/МЭК 7498-1.
Слайд 5
В эталонной модели все функции сети разделены на
группы, группы отделены стандартными интерфейсами и имеют относительную независимость:
изменение или модификация сети должны приводить лишь к изменениям в рамках ограниченной группы функций, не затрагивая остальной части сети.
Независимо от ИСО Международный консультативный комитет по телеграфии и телефонии (МККТТ) - работы по стандартизации взаимодействия на основе электросвязи в направлении набора соглашений, также основанных на архитектуре взаимосвязи открытых систем (ВОС).
Архитектура открытых систем - использование стандартных интерфейсов между разнородными аппаратными и программными компонентами систем.
Слайд 6
Основные направления работ по стандартизации в сфере информатизации
Направления
1ого приоритета:
Языки программирования и программный интерфейс;
Языки описания документов;
Программная инженерия;
Сервисы
управления данными;
Работа в сетях;
Безопасность ИТ;
- Терминология.
Слайд 7
Основные направления работ по стандартизации в сфере информатизации
Направления
2ого приоритета:
- Сбор данных и системы идентификации;
Мультимедиа и представление
информации;
Пользовательский интерфейс;
Офисное оборудование;
- Кодированные наборы символов.
Слайд 8
Основные направления работ по стандартизации в сфере информатизации
Направления
3его приоритета:
Среды для информационного обмена;
Геоинформационные технологии;
- Информационные технологии в
охране здоровья.
Слайд 9
Разработка программных средств
Проектирование ИС – логически сложная,
трудоемкая и длительная работа, требующая высокой квалификации специалистов.
Раньше
проектирование ИС - на интуитивном уровне неформализованными методами:
элементы искусства + практический опыт + экспертные оценки + экспериментальные проверки качества ИС.
В процессе создания и функционирования ИС потребности пользователей изменяются и уточняются.
Основная доля трудозатрат - на прикладное ПО и БД.
В производстве ПО занято ≈ 3 млн. специалистов.
Слайд 10
Программная инженерия
- совокупность инженерных методов и средств создания
ПО (конец 70х г.)
Впервые термин был использован как
тема конференции в США под эгидой НАТО в 1968 г.
В 1975г. в Вашингтоне – 1ая международная конференция, посвященная программной инженерии
Два этапа развития программной инженерии:
1 этап: 70-80 г. – систематизация, стандартизация процессов создания ПО (на основе структурного подхода);
2 этап: 90-е годы - переход к индустриальному, сборочному способу создания ПО (на основе ОО подхода).
Слайд 11
Программная инженерия
Основная идея: проектирование ПО - формальный процесс,
который можно изучать и совершенствовать.
Освоение и применение методов
и средств создания ПО повышает качество ИС, обеспечивает управляемость процесса проектирования ИС, увеличивает срок жизни
Тенденция развития ИТ - возрастание сложности ПО ИС.
Слайд 12
Особенности крупных проектов ИС
- Сложность описания (множество функций,
процессов, данных, взаимосвязей), требующая анализа, моделирования
Наличие совокупности
связанных подсистем с локальными задачами и целями функционирования.
- Отсутствие полных аналогов, ограничивающее возможность использования типовых решений и систем.
Необходимость интеграции существующих и вновь разрабатываемых приложений.
Функционирование в неоднородной среде на нескольких аппаратных платформах.
Разобщенность и разнородность групп разработчиков по уровню квалификации и традициям использования инструментальных средств.
- Временная протяженность проекта из-за ограниченных возможностей коллектива разработчиков и различной степенью готовности подразделений к внедрению ИС.
Слайд 13
Модели архитектуры ИС
Для успешного проекта необходимо адекватное описание
объекта проектирования, построение
моделей архитектуры ПО - совокупности структурных
элементов, связей между ними, поведения элементов в процессе взаимодействия, иерархии подсистем.
Модель - полное описание системы ПО с определенной точки зрения.
Моделирование - центральное звено деятельности по созданию качественного ПО.
Модели помогают: понять структуру и поведение будущей системы, облегчить управление процессом ее создания, уменьшить возможный риск
документировать принимаемые проектные решения.
Слайд 14
Жизненный цикл (ЖЦ) ПО
- период времени от момента
принятия решения о необходимости создания ПО до его полного
изъятия из эксплуатации.
Международный стандарт ISO/IEC 12207: 1995 “Information Technology - Software Life Cycle Processes” определяет структуру ЖЦ: процессы, действия, задачи, которые должны быть выполнены при создании ПО.
Слайд 15
В стандарте ПО - набор программ, процедур, данных
и документации.
Процесс - совокупность взаимосвязанных действий, преобразующих входные
данные в выходные.
Процесс характеризуется задачами, методами их решения, исходными данными и результатами.
Каждый процесс разделен на набор действий,
каждое действие – на набор задач.
Процесс, действие или задача выполняется другим процессом при необходимости, не существует заранее определенных последовательностей выполнения.
Жизненный цикл (ЖЦ) ПО
Слайд 16
Стандарты России
ГОСТ 34601 - 90. «Информационная технология. Комплекс
стандартов на автоматизированные системы. Автоматизированные системы. Стадии создания».
ГОСТ 34601
- 89. «Информационная технология. Комплекс стандартов на автоматизированные системы. Техническое задание на создание автоматизированной системы».
ГОСТ 34601 - 92. «Информационная технология. Виды испытаний автоматизированных систем».
В стандартах недостаточно отражены положения о процессах создания ПО для современных распределенных ЭИС в неоднородной среде. Целесообразно использовать современные международные стандарты.
Слайд 17
Процессы ЖЦ ПО:
В соответствии с ISO/IEC 12207:1995 процессы
ЖЦ ПО - на 3 группы:
Основные: приобретение; поставка; разработка;
эксплуатация; сопровождение.
Вспомогательные: документирование; управление конфигурацией; обеспечение качества; верификация; аттестация; совместная оценка; аудит; разрешение проблем.
Организационные: управление; обучение; усовершенствование; создание инфраструктуры.
Слайд 18
Основные процессы ЖЦ ПО
1. Процесс приобретения - действия
и задачи заказчика:
Действие 1 - инициирование приобретения
Задачи:
определение
заказчиком потребностей в приобретении;
анализ требований к системе;
принятие решения относительно приобретения;
проверка наличия необходимой документации;
подготовка и утверждение плана приобретения.
Действие 2 - подготовка заявочных предложений:
- требования к системе;
- перечень программных продуктов;
- условия и соглашения;
- технические ограничения.
Слайд 19
Основные процессы ЖЦ ПО
Действие 3 - подготовка и
корректировка договора
Задачи:
определение процедуры выбора поставщика;
выбор конкретного поставщика на основе
анализа предложений;
подготовка и заключение договора с поставщиком;
внесение изменений в договор в процессе его выполнения.
Действие 4 - надзор за деятельностью поставщика в соответствии с действиями, предусмотренными в процессах совместной оценки и аудита.
Слайд 20
Основные процессы ЖЦ ПО
2. Процесс поставки - действия
и задачи поставщика
Действия:
1) Инициирование поставки – рассмотрение заявок и
принятие решения согласиться с требованиями или предложить свои.
2) Планирование - задачи:
- принятие решения поставщиком относительно выполнения работ своими силами или субподрядчиком;
- разработка плана управления проектом: организационная структура проекта, разграничение ответственности, технические требования к среде разработки и ресурсам, управление субподрядчиком.
Слайд 21
Основные процессы ЖЦ ПО
3. Процесс разработки - действия
и задачи разработчика:
Действия:
1) Подготовительная работа - выбор модели
ЖЦ ПО, методов и средств разработки, составление плана работ
2) Анализ требований к системе
3) Проектирование архитектуры системы на высоком уровне - определение компонентов оборудования, ПО, выполняемых персоналом операций
Слайд 22
Анализ требований к ПО -
определение для компонентов ПО
характеристик :
функциональных возможностей, характеристик производительности, среды функционирования;
внешних интерфейсов;
спецификаций надежности
и безопасности;
эргономических требований;
требований к используемым данным;
требований к установке и приемке;
требований к пользовательской документации;
требований к эксплуатации и сопровождению.
Требования к ПО оцениваются исходя из критериев соответствия требованиям к системе, реализуемости и возможности проверки при тестировании.
Слайд 23
Проектирование архитектуры ПО
Задачи (для каждого компонента ПО):
трансформация
требований к ПО в архитектуру, определяющую на высоком уровне
структуру ПО и состав ее компонентов;
разработка и документирование программных интерфейсов ПО и БД;
разработка предварительной версии документации;
разработка и документирование предварительных требований к тестам и планам интеграции ПО.
Архитектура компонентов ПО должна соответствовать требованиям, предъявляемым к ним, а также принятым проектным стандартам и методам.
Слайд 24
Основные процессы ЖЦ ПО
4) Детальное проектирование ПО
Задачи:
описание
компонентов и интерфейсов на более низком уровне, достаточном для
последующего кодирования и тестирования;
разработка и документирование детального проекта БД;
обновление (при необходимости) пользовательской документации;
разработка и документирование требований к тестам и плана тестирования компонентов ПО;
обновление плана интеграции ПО.
Слайд 25
Основные процессы ЖЦ ПО
5) Кодирование и тестирование ПО
Задачи:
разработка
и документирование каждого компонента ПО и БД, совокупности тестовых
процедур и данных для их тестирования;
тестирование каждого компонента ПО и БД на соответствие предъявляемых к ним требованиям. Результаты тестирования компонентов должны быть документированы;
обновление (при необходимости) пользовательской документации;
обновление плана интеграции ПО.
Слайд 26
Основные процессы ЖЦ ПО
6) Интеграция ПО - сборка
разработанных компонентов, тестирование. Для каждого компонента - наборы тестов
для квалификационного тестирования.
7) Установка ПО - проверка работоспособности ПО и БД.
8) Приемка ПО - оценка результатов квалификационного тестирования ПО и системы. Окончательная передача ПО заказчику + обучение и поддержка.
Слайд 27
Основные процессы ЖЦ ПО
4. Процесс эксплуатации - действия
и задачи оператора или организации, эксплуатирующей систему.
Действия:
Подготовительная работа -
планирование действий и работ; определение процедур разрешения проблем
2) Эксплуатационное тестирование - для каждой редакции программного продукта
3) Эксплуатация системы - в предназначенной среде в соответствии с пользовательской документацией
4) Поддержка пользователей - оказании помощи и консультаций при обнаружении ошибок в ПО
Слайд 28
Основные процессы ЖЦ ПО
5. Процесс сопровождения - действия
и задачи службы сопровождения
Стандарт IEEE-90: сопровождение - внесение
изменений в ПО в целях исправления ошибок, повышения производительности или адаптации к изменившимся условиям работы или требованиям.
Вносимые изменения в существующее ПО не должны нарушать его целостность.
Слайд 29
Основные процессы ЖЦ ПО
Действия процесса сопровождения:
Подготовительная работа
2) Анализ
проблем и запросов на модификацию ПО
3) Модификация ПО
4) Проверка
и приемка
5) Перенос ПО в другую среду (при необходимости)
6) Снятие ПО с эксплуатации
Слайд 30
Вспомогательные процессы ЖЦ
Процесс документирования
2. Процесс управления конфигурацией
Конфигурация
ПО - совокупность функциональных и физических характеристик, установленных в
технической документации и реализованных в ПО.
Управление конфигурацией организует, учитывает и контролирует внесение изменений в ПО на всех стадиях ЖЦ ПО.
Общие принципы и рекомендации по управлению конфигурацией ПО - в проекте стандарта ISO/IEC 12207-2: 1995 “Information Technology - Software Life Cycle Processes. Part2. Configuration Management for Software”.
Слайд 31
Вспомогательные процессы ЖЦ
Действия процесса управления конфигурацией:
Подготовительная работа
2) Идентификация
конфигурации - установка правил для однозначной идентификации компонентов ПО
3)
Контроль конфигурации - оценка предполагаемых модификаций ПО и координированной их реализации
4) Учет состояния и оценка конфигурации - оценка функциональной полноты компонентов ПО, соответствия их состояния техническому описанию
5) управление выпуском и поставка - изготовление эталонных копий программ и документации, их хранение, поставка пользователям.
Слайд 32
Вспомогательные процессы ЖЦ
3. Процесс обеспечения качества –
гарантии соответствия ПО заданным требованиям.
Качество ПО - совокупность свойств,
характеризующих способность удовлетворять заданным требованиям.
Процесс обеспечения качества - независимо от субъектов, непосредственно связанных с разработкой ПО.
Действия:
1) Подготовительная работа
2) Обеспечение качества продукта
3) Обеспечение качества процесса
4) обеспечение других показателей качества в соответствии с условиями договора и ISO 9001.
Слайд 33
Вспомогательные процессы ЖЦ
4. Процесс верификации - определение
того, что программные продукты удовлетворяют заданным требованиям
Верификация -
формальное доказательство правильности ПО.
Действия:
1) Подготовительная работа
2) Верификация - проверка условий:
непротиворечивости требований к системе;
возможности поставщика выполнять заданные требования;
соответствия выбранных процессов ЖЦ ПО условиям договора;
адекватности стандартов, процедур и среды разработки;
соответствие спецификаций ПО заданным требованиям;
корректности описания данных, событий, интерфейсов, логики;
соответствия кода проектным спецификациям и требованиям;
тестируемости и корректности кода;
корректности интеграции компонентов ПО в систему;
адекватности, полноты и непротиворечивости документации.
Слайд 34
Вспомогательные процессы ЖЦ
5. Процесс аттестации – определение
полноты соответствия требований и созданной системы конечному функциональному назначению.
Аттестация - подтверждение и оценка достоверности проведенного тестирования.
Аттестация должно гарантировать полное соответствие ПО спецификациям, требованиям и документации, возможность его безопасного и надежного применения пользователем.
Аттестацию выполняют тестированием во всех возможных ситуациях с использованием независимых специалистов.
Аттестация может проводиться на начальных стадиях ЖЦ ПО или как часть работы по приемке ПО.
Аттестация может осуществляться с различными степенями независимости. Процесс независимой аттестации.
Слайд 35
Вспомогательные процессы ЖЦ
5. Процесс совместной оценки -
для оценки состояния работ по проекту и ПО. Сосредоточен
на контроле планирования и управления ресурсами, персоналом, аппаратурой и инструментальными средствами проекта.
Оценка применяется на уровне управления проектом и на уровне технической реализации проекта, проводится в течение всего срока договора.
Выполняется двумя любыми сторонами, участвующими в договоре, одна сторона проверяет другую.
Действия:
1) Подготовительная работа
2) Оценка управления проектом
3) Техническая оценка
Слайд 36
Вспомогательные процессы ЖЦ
6. Процесс аудита - определение
соответствия требованиям, планам и условиям договора.
Выполняется двумя любыми
сторонами, участвующими в договоре, одна сторона проверяет другую.
Аудит – ревизия (проверка), проводимая компетентным органом (лицом) в целях обеспечения независимой оценки степени соответствия ПО или процессов установленным требованиям.
Аудит - для установления соответствия реальных работ и отчетов требованиям, планам и контракту.
Аудиторы не должны иметь прямой зависимости от разработчиков ПО. Определяют состояние работ, использование ресурсов, соответствие документации требованиям и стандартам, тестирование.
Слайд 37
Вспомогательные процессы ЖЦ
7. Процесс разрешения проблем -
анализ и решение проблем независимо от их происхождения или
источника, которые обнаружены в ходе разработки, эксплуатации, сопровождения или других процессов.
Каждая обнаруженная проблема должна быть идентифицирована, описана, проанализирована и разрешена.