Главная страница
Навигация по странице:

  • Концептуальный дизайн Этап 1Этап N…Логический дизайн Этап 1Этап K…Физический дизайн Этап 1Этап M…Концептуальный дизайн

  • Концептуальный дизайн Этап 1Этап N…Логический дизайн Этап 1Этап K…Логический дизайн Этап 1Этап K…Физический дизайн

  • Физический дизайн

  • Спецификации ПО

  • Информатика. Лекция 13. Жизненный цикл по курс Программирование


    Скачать 0.55 Mb.
    НазваниеЛекция 13. Жизненный цикл по курс Программирование
    АнкорИнформатика
    Дата25.06.2021
    Размер0.55 Mb.
    Формат файлаpdf
    Имя файлаPart13Life.pdf
    ТипЛекция
    #221453

    Лекция 13. Жизненный цикл ПО
    Курс «Программирование»
    ПрИМО, 1 семестр
    Щукин Александр
    Валентинович

    Этапы разработки программного продукта - 1

    Постановка задачи. Оценка осуществимости.
    сбор информации о задаче,
    ▫ формулировка условия задачи,
    ▫ определение конечных целей решения задачи,
    ▫ определение формы выдачи результатов,
    ▫ описание данных.

    Анализ и исследование задачи, модели.
    ▫ разработка математической модели,
    ▫ разработка структур данных.

    Разработка алгоритмов.
    ▫ выбор методов и подходов,
    ▫ проектирование алгоритмов.
    (c) Александр В. Щукин, СПбПУ, ИКНТ, ПрИМО
    2

    Этапы разработки программного продукта - 2

    Программирование (кодирование),
    ▫ выбор стека технологий (языка программирования и т.п.),
    ▫ уточнение способа организации данных,
    запись алгоритмов на языке программирования,

    Тестирование и отладка:
    ▫ выбор тестов и методов тестирования.
    ▫ синтаксическая отладка,
    ▫ отладка семантики и логической структуры,
    ▫ тестовые расчеты и анализ результатов тестирования.

    Анализ результатов решения задачи и уточнение в случае необходимости математической модели с повторным выполнением шагов 2 – 5.

    Сопровождение программы:
    ▫ составление документации к решенной задаче, к математической модели, к алгоритму, к программе, к набору тестов, к использованию,
    ▫ подготовка к распространению, развертыванию программы,
    ▫ поддержка пользователей,
    ▫ совершенствование программы.
    (c) Александр В. Щукин, СПбПУ, ИКНТ, ПрИМО
    3

    Жизненный цикл программного продукта

    Модель ЖЦ ИС – это структура, определяющая последовательность процессов, действий и задач, выполняемых на протяжении ЖЦ ИС, а также взаимосвязи между ними.

    Оценка рисков продолжения работ
    (c) Александр В. Щукин, СПбПУ, ИКНТ, ПрИМО
    4

    Реинжиниринг
    (c) Александр В. Щукин, СПбПУ, ИКНТ, ПрИМО
    5

    Водопадная (каскадная) модель

    Разбиение разработки на этапы

    Последовательная организация работ

    Выпуск полного комплекта документов при переходе на следующий этап
    (c) Александр В. Щукин, СПбПУ, ИКНТ, ПрИМО
    6

    Водопадная (каскадная) модель
    (c) Александр В. Щукин, СПбПУ, ИКНТ, ПрИМО
    7

    Недостатки водопадной модели

    существенная задержка получения результатов;

    необходимость возврата на предыдущие этапы;

    сложность распараллеливания работ по проекту;

    информационная перенасыщенность каждого этапа;

    сложность управления проектом;

    высокий уровень риска и ненадежности инвестиций.
    (c) Александр В. Щукин, СПбПУ, ИКНТ, ПрИМО
    8

    Спиральная модель

    Итерационный процесс работ

    Активное использование прототипов

    Система версий

    Постепенная конкретизация

    Постепенная интеграция компонентов в сложных системах

    Снижение уровня рисков

    Упрощение внесения тактических изменений
    (c) Александр В. Щукин, СПбПУ, ИКНТ, ПрИМО
    9

    Спиральная модель
    (c) Александр В. Щукин, СПбПУ, ИКНТ, ПрИМО
    10

    Недостатки спиральной модели

    Определение момента перехода на следующий этап

    Бесконечное совершенствование.
    (c) Александр В. Щукин, СПбПУ, ИКНТ, ПрИМО
    11

    Agile-методология

    Agile software development (гибкая методология разработки)

    Agile-методы — обобщающий термин для целого ряда подходов и практик, основанных на ценностях Манифеста гибкой разработки программного обеспечения и 12 принципах

    Работа в небольших группах

    Серия коротких циклов

    Уменьшение объема письменной документации
    (c) Александр В. Щукин, СПбПУ, ИКНТ, ПрИМО
    12

    Agile Manifesto. Идеи

    люди и взаимодействие важнее процессов и инструментов;

    работающий продукт важнее исчерпывающей документации;

    сотрудничество с заказчиком важнее согласования условий контракта;

    готовность к изменениям важнее следования первоначальному плану.
    (c) Александр В. Щукин, СПбПУ, ИКНТ, ПрИМО
    13

    Agile Manifesto. Принципы

    удовлетворение клиента за счёт ранней и бесперебойной поставки ценного программного обеспечения;

    приветствие изменений требований даже в конце разработки (это может повысить конкурентоспособность полученного продукта);

    частая поставка рабочего программного обеспечения (каждый месяц или неделю или ещё чаще);

    тесное, ежедневное общение заказчика с разработчиками на протяжении всего проекта;

    проектом занимаются мотивированные личности, которые обеспечены нужными условиями работы, поддержкой и доверием;
    (c) Александр В. Щукин, СПбПУ, ИКНТ, ПрИМО
    14

    Agile Manifesto. Принципы (2)

    рекомендуемый метод передачи информации — личный разговор (лицом к лицу);

    работающее программное обеспечение — лучший измеритель прогресса;

    спонсоры, разработчики и пользователи должны иметь возможность поддерживать постоянный темп на неопределённый срок;

    постоянное внимание улучшению технического мастерства и удобному дизайну;

    простота — искусство не делать лишней работы;

    лучшие технические требования, дизайн и архитектура получаются у самоорганизованной команды;

    постоянная адаптация к изменяющимся обстоятельствам.
    Команда должна систематически анализировать возможные способы улучшения эффективности и соответственно корректировать стиль своей работы.
    (c) Александр В. Щукин, СПбПУ, ИКНТ, ПрИМО
    15

    Agile-методология
    (c) Александр В. Щукин, СПбПУ, ИКНТ, ПрИМО
    16

    Agile-методология (2)
    (c) Александр В. Щукин, СПбПУ, ИКНТ, ПрИМО
    17

    Этапы разработки программного продукта (другой взгляд)
    (c) Александр В. Щукин, СПбПУ, ИКНТ, ПрИМО
    18
    Концептуальный дизайн
    Этап 1
    Этап N

    Логический дизайн
    Этап 1
    Этап K

    Физический дизайн
    Этап 1
    Этап M

    Концептуальный дизайн
    Этап 1
    Этап N

    Концептуальный дизайн
    Этап 1
    Этап N

    Логический дизайн
    Этап 1
    Этап K

    Логический дизайн
    Этап 1
    Этап K

    Физический дизайн
    Этап 1
    Этап M

    Физический дизайн
    Этап 1
    Этап M


    Единая система программной документации

    Техническое задание

    Программа и методика испытаний

    Руководство системного программиста

    Руководство пользователя

    Руководство программиста. SDK. API
    Спецификации ПО

    Структурная модель – схематическое представление структуры информационной системы

    Функциональная, поведенческая модель –
    взаимодействие системы или ее отдельных компонент и
    (возможно) внешнего окружения

    Модель данных – структуры для представления данных

    Объектная модель – представление классов в терминах
    ООП
    (c) Александр В. Щукин, СПбПУ, ИКНТ, ПрИМО
    19

    Функциональная модель
    (c) Александр В. Щукин, СПбПУ, ИКНТ, ПрИМО
    20

    Объектная модель
    (c) Александр В. Щукин, СПбПУ, ИКНТ, ПрИМО
    21

    Функциональная модель
    (c) Александр В. Щукин, СПбПУ, ИКНТ, ПрИМО
    22

    Структура базы данных
    (c) Александр В. Щукин, СПбПУ, ИКНТ, ПрИМО
    23


    написать администратору сайта