Этапы процесса разработки ПС. Основные компоненты управления разработкой программных систем

Содержание

Слайд 2

Этапы процесса разработки ПС Типовой проект включает в себя следующие этапы

Этапы процесса разработки ПС

Типовой проект включает в себя следующие этапы разработки

:
Анализ требований к проекту
Проектирование
Реализация
Тестирование продукта
Внедрение и поддержка
Слайд 3

Анализ требований На этом этапе формулируются цели и задачи проекта, выделяются

Анализ требований

На этом этапе формулируются цели и задачи проекта, выделяются базовые

сущности и взаимосвязи между ними. То есть, создается основа для дальнейшего проектирования системы.
В рамках данного этапа не только фиксируются требования заказчика, но и проводится их формирование – клиентам подбирается оптимальное решение их проблем, определяется необходимая степень автоматизации, выявляются наиболее актуальные для автоматизации бизнес-процессы.
Слайд 4

Анализ требований Этот этап предполагает сбор требований к разрабатываемому программному обеспечению,

Анализ требований

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

подписывается ТЗ на разработку программного обеспечения.
Слайд 5

В чём необходимость создания ТЗ ? Заказчик говорит: «Нужен следующий сайт:

В чём необходимость создания ТЗ ?

 Заказчик говорит: «Нужен следующий сайт: каталог

товаров, корзина, форма заказа, доставка, мы на карте, о нас, обратная связь». Что не ясно? Ничего необычного, всё обыденно и рутинно.

Что хотел заказчик (ожидание)

Так понял разработчик (реальность)

Слайд 6

Разница в ожиданиях заказчика и планах разработчика И вот здесь возникает

Разница в ожиданиях заказчика и планах разработчика

И вот здесь возникает конфликт,

где каждая из сторон права: Этот конфликт может решиться по-разному: либо заказчик примет, то что есть, либо разработчик доделает все бесплатно, либо обе стороны пойдут на взаимные уступки. Но в любом случае, будут пострадавшие.  Задача технического задания — это свести к минимуму разницу между представлениями двух строн.
Слайд 7

Стандарты на создание ТЗ Основные стандарты где упоминается ТЗ или SRS

Стандарты на создание ТЗ

Основные стандарты где упоминается ТЗ или SRS (Software

(or System) Requirements Specification): • ГОСТ 34 ( создание автоматизированной системы ) • ГОСТ 19 ( создание программного обеспечения) • IEEE STD 830-1998 • ISO/IEC/ IEEE 29148-2011  • RUP
Слайд 8

ГОСТ 34.602-89 Техническое задание на создание автоматизированной системы Регламентирует структуру ТЗ

ГОСТ 34.602-89 Техническое задание на создание автоматизированной системы

Регламентирует структуру ТЗ на

создание именно СИСТЕМЫ, в которую входят ПО, аппаратное обеспечение, люди, которые работают с ПО, и автоматизируемые процессы. Согласно ГОСТ 34 техническое задание должно включать следующие разделы: 1. Общие сведения 2. Назначение и цели создания (развития) системы 3. Характеристика объектов автоматизации 4. Требования к системе 5. Состав и содержание работ по созданию системы 6. Порядок контроля и приемки системы 7. Требования к составу и содержанию работ по подготовке объекта автоматизации к вводу системы в действие 8. Требования к документированию 9. Источники разработки
Слайд 9

ГОСТ 19 “ГОСТ 19.ххх Единая система программной документации (ЕСПД)” — это

ГОСТ 19

“ГОСТ 19.ххх Единая система программной документации (ЕСПД)” — это комплекс

государственных стандартов, устанавливающих взаимоувязанные правила разработки, оформления и обращения программ (или ПО) и программной документации. 
Т.е. этот стандарт относится к разработке именно ПО. Согласно ГОСТ 19.201-78 Техническое задание, требования к содержанию и оформлению техническое задание должно включать следующие разделы: 1. Введение; 2. Основания для разработки; 3. Назначение разработки; 4. Требования к программе или программному изделию; 5. Требования к программной документации; 6. Технико-экономические показатели; 7. Стадии и этапы разработки; 8. Порядок контроля и приемки; 9. Приложения.
Слайд 10

Проектирование На основе предыдущего этапа проводится проектирование системы. Эта методология проектирования

Проектирование

На основе предыдущего этапа проводится проектирование системы. Эта методология проектирования соединяет

в себе объектную декомпозицию, приемы представления физической, логической, а также динамической и статической моделей системы.
Во время проектирования разрабатываются проектные решения по выбору платформы, где будет функционировать система языка или языков реализации, назначаются требования к пользовательскому интерфейсу, определяется наиболее подходящая СУБД. Разрабатывается функциональная спецификация ПО: выбирается архитектура системы, оговариваются требования к аппаратному обеспечению, определяется набор орг. мероприятий, которые необходимы для внедрения ПО, а также перечень документов, регламентирующих его использование.
Слайд 11

Проектирование На этом этапе для упрощения визуализации процесса проектирования используются так

Проектирование

На этом этапе для упрощения визуализации процесса проектирования используются так называемые нотации – схематическое

выражение характеристик разрабатывемой системы. Основные используемые нотации:
– Блок-схемы;
– ER-диаграммы;
– UML-диаграммы;
– Макеты – например, нарисованный в фотошопе прототип сайта.
Слайд 12

Проектирование В рамках данного этапа стороны должны осуществить: оценку результатов проведенного

Проектирование

В рамках данного этапа стороны должны осуществить:
оценку результатов проведенного первоначально анализа

и выявленных ограничений;
поиск критических участков проекта;
формирование окончательной архитектуры создаваемой системы;
анализ необходимости использования программных модулей или готовых решений сторонних разработчиков;
проектирование основных элементов продукта — модели базы данных, процессов и кода;
выбор среды программирование и инструментов разработки, утверждение интерфейса программы, включая элементы графического отображения данных;
определение основных требований к безопасности разрабатываемого ПО.
Слайд 13

Реализация Данный этап разработки программного обеспечения организован в соответствии с моделями

Реализация

Данный этап разработки программного обеспечения организован в соответствии с моделями эволюционного

типа жизненного цикла ПО. При разработке применяются экспериментирование и анализ, строятся прототипы, как целой системы, так и ее частей.
Прототипы дают возможность глубже вникнуть в проблему и принять все необходимые проектные решения еще на ранних этапах проектирования. Такие решения могут затрагивать разные части системы: внутреннюю организацию, пользовательский интерфейс, разграничение доступа и т.д. В результата этапа реализации появляется рабочая версия продукта.
Слайд 14

Реализация Кроме того, разработчики пишут Unit-тесты для проверки правильности работы кода

Реализация

Кроме того, разработчики пишут Unit-тесты для проверки правильности работы кода каждого

компонента системы, проводят ревью написанного кода, создают билды и разворачивают готовое ПО в программной среде. Этот цикл повторяется до тех пор, пока все требования не будут реализованы.
Реализация предполагает четыре основных стадии:
1) Разработка алгоритмов – фактически, создание логики работы программы;
2) Написание исходного кода;
3) Компиляция – преобразование в машинный код;
4) Тестирование и отладка – речь, главным образом, о юнит-тестировании.
Слайд 15

Тестирование Тестирование тесно связано с такими этапами разработки программного обеспечения как

Тестирование

Тестирование тесно связано с такими этапами разработки программного обеспечения как проектирование

и реализация. В систему встраиваются специальные механизмы, которые дают возможность производить тестирование системы на соответствие требований к ней, проверку оформления и наличие необходимого пакета документации.
Тестировщики занимаются поиском дефектов в программном обеспечении и сравнивают описанное в требованиях поведение системы с реальным.
Результатом тестирования является устранение всех недостатков системы и заключение о ее качестве.
Слайд 16

Тестирование Процесс тестирования позволяет смоделировать ситуации, при которых программный продукт перестает

Тестирование

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

затем локализует и исправляет обнаруженные ошибки кода, исправляя его до практически идеального состояния. Эти два этапа занимают не меньше 30% затрачиваемого на весь проект времени, так как от их качественного исполнения зависит судьба созданного силами разработчиков программного обеспечения.
Нередко функции тестировщика и отладчика исполняет один отдел, однако самым оптимальным будет распределить эти обязанности между разными исполнителями, что позволит увеличить эффективность поиска имеющихся в программном коде ошибок.
Слайд 17

Внедрение и поддержка Когда программа протестирована и в ней больше не

Внедрение и поддержка

Когда программа протестирована и в ней больше не осталось

серьезных дефектов, приходит время релиза и передачи ее конечным пользователям.
После выпуска новой версии программы в работу включается отдел технической поддержки. Его сотрудники обеспечивают обратную связь с пользователями, их консультирование и поддержку.
В случае обнаружения пользователями тех или иных пост-релизных багов, информация о них передается в виде отчетов об ошибках команде разработки, которая, в зависимости от серьезности проблемы, либо немедленно выпускает исправление (т.н. hot-fix), либо откладывает его до следующей версии программы.
Кроме того, команда технической поддержки помогает собирать и систематизировать различные метрики – показатели работы программы в реальных условиях.