1_03 - МиСПИСТ (ТРПО Общие принципы разработки)
DESCRIPTION
ÂTRANSCRIPT
Инструментально-программный
методический комплекс
Методы и средства проектирования информационных систем и технологий
Технология разработкипрограммного обеспечения
Часть 3.
Общие принципы разработки
программных продуктов
2
3.1. Специфика разработки программных средств
1. Противоречие между требованиями и готовым продуктом;
2. Творческий характер разработки;
3. Разработка программного продукта как проект
4. Программный продукт не расходуется и не расходует
ресурсов.
3
3.2. Общие сведения об управлении проектами
Проект– это ограниченное по времени целенаправленное изменение отдельной системы с изначально четко определенными целями, достижение которых определяет завершение проекта, а также с установленными требованиями к срокам, результатам, риску, рамкам расходования средств и ресурсов и к организационной структуре
4
Отличительные признаки проекта• изменчивость – целенаправленный перевод системы из
существующего в некоторое желаемое состояние, описываемое в терминах целей проекта;
• ограниченность конечной цели, ее достижимость;• ограниченность по времени, продолжительности
выполнения;• ограниченность бюджета;• ограниченность требуемых ресурсов (финансовых,
материальных, человеческих);• новизна для заказчика, для которого реализуется проект;• правовое и организационное обеспечение – создание
специфической организационной структуры на время реализации проекта
5
Проект в виде «черного ящика»
ПРОЕКТ
УправлениеВозмущающие воздействия
Ресурсы
Результат
Технические требования
Условия финансирования
6
Технико-экономические показатели проекта
• объем работ;
• сроки выполнения;
• себестоимость;
• экономическая эффективность, обеспечиваемая
реализацией проекта;
• социальная и общественная значимость
проекта.
7
Лепестковая диаграмма для основных параметров процессаСтоимость
Длительность
Плотность дефектов
Возможности
Текущий проект
Факт: $90 тыс.
Цель: $70 тыс.
Цель: 30 недель
Факт: 20 недель Цель: 1 дефект на 1000
строк комментированного кода
Факт: 4 дефекта на 1000 строк комментированного
кода
Цель: 100 %
Факт: 50 %
8
3.3. Жизненный цикл программного продукта
ISO/IEC 12207: 1995-08-01Международный стандарт, регламентирующий жизненный цикл программного обеспечения информационных систем.
ISO – International Organization of Standardization
(международная организация по стандартизации),
IЕС – International Electrotechnical Commission (международная комиссия по электротехнике)
9
Структура жизненного цикла 1. Основные процессы жизненного цикла
(приобретение, поставка, разработка, эксплуатация, сопровождение);
2. Вспомогательные процессы, обеспечивающие выполнение основных процессов (документирование, управление конфигурацией, обеспечение качества, верификация, аттестация, совместная оценка, аудит, разрешение проблем);
3. Организационные процессы (управление проектами, создание инфраструктуры проекта, определение, оценка и улучшение самого жизненного цикла, обучение).
10
Критерии качества (criteria of software quality) ПС
1. Функциональность;
2. Надежность;
3. Легкость применения;
4. Эффективность;
5. Сопровождаемость;
6. Мобильность;
3.4. Понятие качества программного средства
Качество (quality) программного средства это совокупность его черт и характеристик, которые влияют на его способность удовлетворять заданные потребности пользователей
Обязательные
В зависимости от потребностей пользователей
11
3.5. Обеспечение надежности основной мотив разработки программных средств
Подходы к обеспечению надежности ПС
1.Предупреждение ошибок;
2.Самообнаружение ошибок;
3.Самоисправление ошибок;
4.Обеспечение устойчивости к ошибкам.
12
3.6. Методы борьбы со сложностью
1. Обеспечения независимости компонент системы.Обеспечение независимости компонент означает разбиение системы на такие части, между которыми должны остаться по возможности меньше связей. Одним из воплощений этого метода является модульное программирование.
2. Использование в системах иерархических структур.Позволяет локализовать связи между компонентами, допуская их лишь между компонентами, принадлежащими смежным уровням иерархии (разбиение большой системы на подсистемы, образующих малую систему)
13
3.7. Обеспечение точности перевода документов
Цель перевода – однозначность интерпретации документации различными разработчиками.
Метод – использовать общую дисциплину решения задач Проанализировать
полученное решение
Понять задачу
Cоставить план решения
Выполнить план
14
3.8. Преодоление барьера между пользователем и разработчиком
Как обеспечить, чтобы программный продукт выполнял то, что пользователю «разумно ожидать» от него?
• понять чего хочет конечный пользователь;
• проанализировать его уровень подготовки в области ИТ и окружающую его обстановку
15
3.9. Контроль принимаемых решенийКонтроль принимаемых решений на всех стадиях процесса – необходимое условие обеспечения качественного программного продукта. Выделен отдельный процесс – контроль качества (QA, quality assurance)
Методы контроля качества:• метод «черного ящика»;• метод «белого ящика».
Функции контроля качества:• проверка;• инспектирование;• тестирование.
16
ИнспектированиеИнспектирование - это техника «белого ящика» для обеспечения качества
Принципы инспектирования
1. Вскрытие дефектов.
2. Участие коллег.
3. Распределение ролей.
4. Тщательная подготовка
Основная идея инспектирования автор в большинстве случаев способен исправить дефект своей работы, когда тот обнаружен.
17
Осуществление контроля качества
1. Определить как управлять документацией проекта
2. Определить процесс
3. Планирование
4. Проектирование и сборка
5. Выпуск и сопровождение продукта
QA
QA развивает и (или) проверяет планы управления конфигурациями, стандарты и т.п.
QA проверяет процесс на соответствие организационной политике
QA развивает и (или) проверяет обеспечение для своей деятельностиQA проверяет,
инспектирует и тестирует
QA проверяет, инспектирует и тестирует