Más contenido relacionado
La actualidad más candente (18)
Similar a МиСПИСиТ (общие принципы разработки) (20)
Más de Ural Federal University named after First President of Russia B.N. Yeltsin (20)
МиСПИСиТ (общие принципы разработки)
- 1. 1
Часть 3.
Общие принципы разработки
программных продуктов
•(©) Владислав Лавров, vlavrov.com
Методы и средства проектирования
информационных систем и технологий
- 2. 2
3.1. Специфика разработки программных средств
1. Противоречие между требованиями и готовым продуктом;
2. Творческий характер разработки;
3. Разработка программного продукта как проект
4. Программный продукт не расходуется и не расходует
ресурсов.
•(©) Владислав Лавров, vlavrov.com
- 3. 3
3.2. Общие сведения об управлении проектами
Проект
– это ограниченное по времени
целенаправленное изменение отдельной системы
с изначально четко определенными целями,
достижение которых определяет завершение
проекта, а также с установленными требованиями
к срокам, результатам, риску, рамкам
расходования средств и ресурсов и к
организационной структуре
•(©) Владислав Лавров, vlavrov.com
- 4. 4
Отличительные признаки проекта
• изменчивость – целенаправленный перевод системы из
существующего в некоторое желаемое состояние, описываемое
в терминах целей проекта;
• ограниченность конечной цели, ее достижимость;
• ограниченность по времени, продолжительности выполнения;
• ограниченность бюджета;
• ограниченность требуемых ресурсов (финансовых,
материальных, человеческих);
• новизна для заказчика, для которого реализуется проект;
• правовое и организационное обеспечение – создание
специфической организационной структуры на время
реализации проекта
•(©) Владислав Лавров, vlavrov.com
- 5. 5
Проект в виде «черного ящика»
ПРОЕКТ
Управление
Возмущающие
воздействия
Ресурсы
Результат
Технические
требования
Условия
финансирования
•(©) Владислав Лавров, vlavrov.com
- 6. 6
Технико-экономические показатели проекта
• объем работ;
• сроки выполнения;
• себестоимость;
• экономическая эффективность, обеспечиваемая
реализацией проекта;
• социальная и общественная значимость
проекта.
•(©) Владислав Лавров, vlavrov.com
- 7. 7
Лепестковая диаграмма для основных параметров процесса
Стоимость
Длительность
Плотность
дефектов
Возможности
Текущий
проект
Факт: $90 тыс.
Цель: $70 тыс.
Цель: 30 недель
Факт: 20 недель
Цель: 1 дефект на 1000
строк комментированного
кода
Факт: 4 дефекта на 1000
строк комментированного
кода
Цель: 100 %
Факт: 50 %
•(©) Владислав Лавров, vlavrov.com
- 8. 8
3.3. Жизненный цикл программного продукта
ISO/IEC 12207: 1995-08-01
Международный стандарт, регламентирующий
жизненный цикл программного обеспечения
информационных систем.
ISO – International Organization of Standardization
(международная организация по стандартизации),
IЕС – International Electrotechnical Commission
(международная комиссия по электротехнике)
•(©) Владислав Лавров, vlavrov.com
- 9. 9
Структура жизненного цикла
1. Основные процессы жизненного цикла
(приобретение, поставка, разработка, эксплуатация,
сопровождение);
2. Вспомогательные процессы, обеспечивающие
выполнение основных процессов (документирование,
управление конфигурацией, обеспечение качества,
верификация, аттестация, совместная оценка, аудит,
разрешение проблем);
3. Организационные процессы (управление проектами,
создание инфраструктуры проекта, определение,
оценка и улучшение самого жизненного цикла,
обучение).
•(©) Владислав Лавров, vlavrov.com
- 10. 10
Критерии качества (criteria of software quality) ПС
1. Функциональность;
2. Надёжность;
3. Лёгкость применения;
4. Эффективность;
5. Сопровождаемость;
6. Мобильность;
3.4. Понятие качества программного средства
Качество (quality) программного средства
это совокупность его черт и характеристик, которые
влияют на его способность удовлетворять заданные
потребности пользователей
Обязательные
В зависимости
от потребностей
пользователей
•(©) Владислав Лавров, vlavrov.com
- 11. 11
3.5. Обеспечение надежности основной
мотив разработки программных средств
Подходы к обеспечению надежности ПС
1.Предупреждение ошибок;
2.Самообнаружение ошибок;
3.Самоисправление ошибок;
4.Обеспечение устойчивости к ошибкам.
•(©) Владислав Лавров, vlavrov.com
- 12. 12
3.6. Методы борьбы со сложностью
1. Обеспечения независимости компонент системы.
Обеспечение независимости компонент означает
разбиение системы на такие части, между которыми
должны остаться по возможности меньше связей. Одним
из воплощений этого метода является модульное
программирование.
2. Использование в системах иерархических структур.
Позволяет локализовать связи между компонентами,
допуская их лишь между компонентами, принадлежащими
смежным уровням иерархии (разбиение большой системы
на подсистемы, образующих малую систему)
•(©) Владислав Лавров, vlavrov.com
- 13. 13
3.7. Обеспечение точности перевода документов
Цель перевода
– однозначность
интерпретации
документации различными
разработчиками.
Метод
– использовать общую
дисциплину решения задач Проанализировать
полученное решение
Понять задачу
Cоставить план
решения
Выполнить план
•(©) Владислав Лавров, vlavrov.com
- 14. 14
3.8. Преодоление барьера между пользователем
и разработчиком
Как обеспечить, чтобы программный продукт
выполнял то, что пользователю «разумно
ожидать» от него?
• понять чего хочет конечный пользователь;
• проанализировать его уровень подготовки в
области ИТ и окружающую его обстановку
•(©) Владислав Лавров, vlavrov.com
- 15. 15
3.9. Контроль принимаемых решений
Контроль принимаемых решений на всех стадиях процесса
– необходимое условие обеспечения качественного
программного продукта.
Выделен отдельный процесс – контроль качества
(QA, quality assurance)
Методы контроля качества:
• метод «черного ящика»;
• метод «белого ящика».
Функции контроля качества:
• проверка;
• инспектирование;
• тестирование.
•(©) Владислав Лавров, vlavrov.com
- 16. 16
Инспектирование
Инспектирование
- это техника «белого ящика» для обеспечения качества
Принципы инспектирования
1. Вскрытие дефектов.
2. Участие коллег.
3. Распределение ролей.
4. Тщательная подготовка
Основная идея инспектирования
автор в большинстве случаев способен исправить дефект
своей работы, когда тот обнаружен.
•(©) Владислав Лавров, vlavrov.com
- 17. 17
Осуществление контроля качества
1. Определить как
управлять
документацией проекта
2. Определить процесс
3. Планирование
4. Проектирование
и сборка
5. Выпуск и
сопровождение
продукта
QA
QA развивает и (или)
проверяет планы управления
конфигурациями, стандарты и
т.п.
QA проверяет процесс на
соответствие
организационной политике
QA развивает и (или)
проверяет обеспечение
для своей деятельностиQA проверяет,
инспектирует и
тестирует
QA проверяет,
инспектирует и
тестирует
•(©) Владислав Лавров, vlavrov.com