Л2. Классификация тех.процессов.ppt
- Количество слайдов: 16
Лекция 2 Классификация технологических процессов
Девять технологических процессов в технологическом наборе: • Возникновение и исследование идеи • Управление • Анализ требований • Проектирование • Программирование • Тестирование и отладка • Ввод в действие • Эксплуатация и сопровождение • Завершение эксплуатации
Возникновение и исследование идеи • Возникновение и первичное исследование идеи, носящее творческий характер. • Детальное исследование идеи. Выработка концепции. Постановка задачи. Создание «одностраничного описания проекта» . • • • Краткий обзор (о чём проект? ). Описание поставки (что входит? ). Пользователи (для кого? ). Сравнительный анализ (что есть подобного? ). Описание технического процесса (что нужно сделать? ). Список документов (что в основе? ). Основные даты (сроки? ). Ресурсы (кто делает? ). Экспертиза идеи специалистами. Принятие решения о начале процесса планирования.
Управление (менеджмент) – система принятия решений в области управления фирмой. Четыре уровня служащих: • высший менеджмент (президент фирмы, вице-президент); • управляющие среднего звена (менеджеры структурных подразделений); • управляющие первичного звена (менеджеры проектов); • инженеры. Лидеры команды разработки ПО: • управляющий (менеджер) проекта – руководитель; • технический руководитель (лидер) проекта – инженер технолог.
Анализ требований и проектирование Анализ требований – процесс жизненного цикла программы, во время которого требования заказчика уточняются, формализуются и документируются. Основной вопрос: что должна делать будущая система? Проектирование – процесс жизненного цикла программы, во время которого исследуется его структура и взаимосвязи элементов. Основной вопрос: как система будет удовлетворять полученным требованиям?
Спецификации Спецификация – достаточное и полное описание задачи, которое человеку, участвующему в решении, написать, понять и прочесть легче, чем программу решения этой задачи на доступном ему языке программирования. Средства спецификации – любые средства получения и построения таких спецификаций. Язык спецификаций – рационально оформленный и синтаксически организованный набор таких средств. Функциональные спецификации – описывают функции. Эксплуатационные спецификации – описывают скорость работы программы, используемые ресурсы, характеристики аппаратуры, специальные требования к надёжности и безопасности.
Архитектура программного продукта - представление программного продукта или системы. Классы архитектур: • цельная (монолитная программа); • комплекс автономно выполняемых программ; • слоистая программная система; • коллектив параллельно выполняемых программ. Проектирование архитектуры включает основные методы: • метод нисходящего моделирования; • метод восходящего моделирования; • метод расширения ядра. 1) Метод нисходящего моделирования - подход функциональной декомпозиции. • Пошаговое уточнение - определение модулей низших уровней. • Анализ сообщений - анализ потоков данных. 2) Метод восходящего моделирования - сначала определяются вспомогательные модули, а затем - остальные. 3) Метод расширения ядра - выявление множества вспомогательных модулей, а не определение функций всей программы.
Проектирование модулей. Методы анализа и построения спецификаций. Структурная методология. • Диаграмма потоков данных. • Диаграмма потоков управлений. • Таблицы решений. • Сети Петри. • Диаграммы зависимости. • Диаграммы декомпозиции. • Диаграммы функционального моделирования. Диаграмма потоков данных - информационная модель, основные компоненты которой - различные потоки данных, переносящие информацию от одного модуля к другому. Компоненты: • внешние сущности - физические источники информации; • процессы - операции преобразования входной информации в выходную; • накопители данных - абсолютные устройства хранения информации. • поток данных - механизм передачи информации от источника к приёмнику.
Объектно-ориентированная методология • КОК-карты (класс - ответственность - кооперация). • Диаграммы вариантов использования. • Диаграммы классов. • Диаграммы состояний. • Диаграммы деятельности. • Диаграммы последовательности. Диаграммы классов служат для представления статической структуры модели системы в терминологии классов ООП. Класс - множество объектов одинаковой структуры. Между классами существуют четыре типа отношений: • ассоциация (связь); • обобщение (наследование); • зависимость (измение одного влечёт изменение другого); • агрегация (класс является составной частью данного класса).
Программирование (реализация) Стиль программирования - набор приёмов или методов программирования, которые используют опытные программисты, чтобы получить правильные, эффективные, удобные для применения и легкочитаемые программы. Свойства хорошего стиля: • очевидная логика; • естественные выражения; • использование соглашений, принятых в языке разработки; • осмысленные имена; • аккуратное оформление; • развёрнутые комментарии; • отсутствие хитрых трюков и необычных конструкций.
Защитное программирование - такой стиль программирования, при котором появление ошибок легко обнаруживается и идентифицируется программистом. Основные принципы: • общее недоверие. Входные данные каждого модуля должны тщательно проверяться; • немедленное обнаружение. Каждая ошибка должна быть выявлена как можно раньше; • изолирование ошибки. Ошибки одного модуля должны быть изолированы от другого.
Защитное программирование Рекомендации по защитному программированию: • делайте проверку области значений пременных; • выполняйте контроль правдоподобия значений пременных, которые не должны превышать некоторых констант или значений других переменных; • контролируйте итоги вычислений; • включайте автоматические проверки (например, контроль переполнения или потери точности); • проверяйте длину элементов информации; • проверяйте коды возвратов функций.
Тестирование и отладка Тестирование - процесс выполнения программы с целью обнаружения факта наличия ошибки. Отладка - процесс локализации и устранения ошибки. Основные стратегии тестирования: • тестирование программы как чёрного ящика - внутренняя структура неизвестна; • тестирование программы как белого (прозрачного) ящика - знание исходного кода программы и полный доступ к нему. Разновидности тестирования: • детерминированное. Каждая комбинация исходных данных и соответствующая ей комбинация результатов функционирования программы; • стохастическое. Исходные тестовые данные берутся случайно, с определённым распределением; • ручное. Без исполнения тестирующей программы.
Ввод программы в действие Основные способы доставки программы пользователю: • индивидуальная доставка (под заказчика); • коробочная доставка; • доставка через Интернет.
Эксплуатация и сопровождение Сопровождение - все действия по повышению надёжности программного продукта после завершения отладки и разработка усовершенствованных версий. Задачи сопровождения: • адаптация, модифицирование функций; • усовершенствование, добавление новых функций; • коррекция, исправление ошибок; • предупреждение проблем. Типы сопровождения: • незначительные (локальные) изменения; • реструктурирование кода - повторная разработка небольшой части программы; • реинжиниринг - перестройка ПО; • программирование заново.
Завершение эксплуатации Пользователь заранее оповещается о прекращении сопровождения программного продукта. Пользователь может использовать продукт до тех пор, пока он морально не устареет. Эксплуатация завершается, когда невозможно выполнить хотя бы одну из задач сопровождения.


