Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
тспс.docx
Скачиваний:
2
Добавлен:
27.08.2019
Размер:
80.38 Кб
Скачать

Чалый Сергей Фёдорович

Цель курса : освоение принципов модели ев и методов используемых в цикле разработке сложный программных систем

Технологий конструирование программных систем

Определение,

Классически жизненный цикл, макетирование

Технологий конструирование программных систем – представляет собой систему принципов, методов и средств создание надёжного эффективного и экономичного программного обеспечения.

Методы создание программных систем и ПО: методов обеспечивают решение следующих задач : планирование центра проекта , анализ системных программных средств, проектирование(алгоритмов , структура данных , структур программ), кодирование, тестирование, сопровождение.

Средства – обеспечивают поддержку методов.

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

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

Классический жизненный цикл разработке ПО – продуман 1970(Каскадная модель, водопадная модель), общая идея : разработка программных систем представляется в виде последовательности этапов , переход на следующим этап происходить только завершении всех работ на предыдущим. Основные этапы: системный анализ, анализ требований, проектирование, кодирование, тестирование, сопровождение.

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

Планирование проекта – на данном шаге определяется объемы проектных работ, риски, планирование трудозатрат, составляться план график работ.

Диаграмма Ганта

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

Проектирование - на донном этапе создаются представление архитектуры системы, модулей , алгоритмы, структура данных, интерфейс.(экранные формы, отчеты, драйвера для аппараты). Исходные данные это спецификация данных полученных на предыдущим этапе.

Кодирование - исходные данные- проект, результат - тексты программных модулей на выбранном языке программирование.

Тестирование и верификация - суть верификация(требование проект и рабочая программа , между проектом и программой тестирование(все ли требование выполняет программа ), между требование и проектом верификация(определяет соответствие всели требование вложили в проект ))

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

Лекция 2

Достоинства: задают упорядоченную последовательность разработки. Недостатки: 1. В реальных проектах очень трудно выдержать последовательность шагов. Причина : несколько групп занимается проектом, выявленные ошибки в части проекте, изменилось законодательство, изменилась структура предприятие.

2. полные результаты работы только в конце разработки.

3. Данный подох предполагает точную формулировку требованье, обычно требование могут изменяться и пополняться во время разработки.

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

Идея заключается в том, что заказчик не может сформулировать идею полностью. Для этого делается прототип (набор экранных форм). Цель макетирование – определить или уточнить требование заказчика. Суть макетирование – создание прототипа разрабатываемой программной системой(с уменьшенной функциональностью или без нее ).

Варианты макетов :

  1. Представление диалога(либо на бумаге либо прототип)

  2. Макет с частичной функциональностью

  3. Существующая программа коротая частично реализует требуемой функционал

Цикл макетирование :

  1. Посторенние перовой версии макета

  2. Оценка макета заказчиком

  3. Предложение заказчика

  4. Уточнение макета, поле этого go to 2

Достоинства : позволяет определить требование к программе.

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

Стратегия конструирование программных систем

Основные стратегии :

  1. Водопадная стратегия- которая реализует рассмотренный ране классический жизненный цикл.

  2. Инкрементная стратегия которая реализует инкрементную модель.

Суть : постепенное расширение функциональности в процессе разработке при заранее определённых требованье.(все требованье заранее преопределённые, а потом создавая версии, постепенно реализуем функционал ).

  1. Эволюционная стратегия.(требованье уточняются с каждой новой версии программной системы )

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

Реализация инкрементной стратегии модели RAD(Rapid Application development)

Особенности:

  1. Очень короткий цикл разработки.

  2. Распарелирование в процессе разработки.

  3. Обычно используется для разработки бизнес приложений

Система разрабатывается на 2-3 месяца

Этапы RAD :

  1. Бизнес моделирование. Суть : функции, потоки информации между функциями. Необходимо определить какая информация необходима для управлении соответствующими бизнес процессами

  2. Какая информация должна быть сгенированая разрабатываемой системой

  3. Где она применяется

  4. Кто ее использует

!

!

!

1) Моделирование данных (создание реляционной базы ),

2) определить объекты с которыми будет работать программная система

3) моделирование обработки – реализация бизнес функций которые рассмотрены на этапе 1

4) генерация приложений

5) тестирование и объединение в единую систему.(распарелированье объедениям в единю систему ).

Достоинства:

  1. Быстрая разработка, скорость.

  2. Возможность построение макета .

  3. Возможность уточнение требованье .

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

Реализация эволюционной стратегии

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

  2. Компонентно-ориентированная модель

Лекция 3

Конструирование

Оценка заказчика

Анализ

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

Спиральная модель разработка 1988 г. базируется на классический жизненный цикл, макетирование , анализ риска

Проектирование – определена цели, варитронов реализации и возможных ограничений .

Анализ – анализ рисков, анализируем варианты по предыдущий шагам и оцениваем, распознаем, выбираем допустив риск

Конструирование- разработка продукта следующий версии

Оценка заказчиком – оценка заказчиком текущих результатов.

С каждой ветком спирали строиться все более полные версии программной системы. Веток 1 определяет начальные цели, варианты, ограничение. Если анализ риска на первом ветке показывает не точность либо неопределённость требование, то мы используем макетировании. Заказчик оценивает наш макет и вносит предложение по усовершенствованью программного проекта. На этих результатах основывается следующий круг спирали. Со второго круга оценка риска видеться в бинарном виде (да-нет), то есть будем ли продолжать проект при таком уровне требованию. Со ветка обычно реализуются в конструированию реализуется классический жизненный цикл. Мы для каждой версии проходим всю цепочку.

Достоинства : системный подход на каждом шаге итерации, возможности макетирование для выявлении недостающих требованье, учет рисков заложен в цикле проектирование.

Недостатки : изменение требованье на каждом цикле разработке, что затрудняет оценку эффективности проекта для разработчика, высокие требование к заказчику, сложность составлении графика работы.

Компонентная ориентированная модель

  1. Развития спиральной модели.

  2. Детализируются конструирование .

  3. Основана на повторном использование программных компонентов.

Основные шаги в конструирование: определение возможных компонентов, поиск компонент библиотеки, использование готовых или разработка новых и включение их в библиотеку, конструирование.

Достоинства: сокращение времени разработки, уменьшает стоимость.

Недоставки: резкое повышение к аппаратным ресурсам

Экстремальное программирование

Тяжеловесный и облегчений процесс, предсказуемый(predictive) проект. Тяжеловесный: упорядоченный, жестко документированный, не учитывается особенности человеческой психологии,agile(подвижный). Суть компромисс между традиционным подходом и учётом психологии разработчикам, характеризуется частыми изменениями, то есть выполняется адаптация под изменяющийся требование.

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

Основные особенности экстремального программирование : придуманная в 1999г., ориентирование на группы среднего и малого размера, обычно до 10 сотрудников и в одном помещении, неопределённые и быстро меняющие требование, низкая стоимость изменение в программном проекте, цикл разработки состоит из коротких итераций, их базовыми действиями являются : кодирование, тестирование, обсуждение с заказчиком и проектирование, при этом реализуется принцип минимализма , быстрая и обратная часть на базе тестирование и постоянная связь с заказчиком.

Методы экстремального программирование

Лекция 4

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

Процесс руководством программным проектом

Руководство программным проектом позволяет определить объем пристаяших работ, риски, ресурсы, задачи, временные метки, материальные затраты, план работы.

До планирование необходим:

  1. Краткую характеристики предметной области

  2. постановка цели проекта.

  3. Альтернативные пути разработки ПО.

  4. Ограничения(технические, управленческие, финансовый).

Меры или методы – количественная характеристика какие-не будь свойства объекта, путем изменения можем только определить основные свойства объекта.

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

Метрика – это мера степень обладание свойством имеющие числовое значении.

Последовательность оценивание:

  1. Людские ресурса человека в месяцах.

  2. продолжительность (месяцев в дней ).

  3. Стоимость 1 000 д. ус. Е

Риски – скрытых проблемах(технические проблемы, срыв сроков, недостаточная оплата).

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

Контроль:

  1. Каждая задача отслеживается руководителем проекта. При отставание повторного планирование важно определить влияние этого отставание на общий процесс. Является ли задача критичной, тормозит ли она выполнение всех остальные ветвей графика.

1. Реорганизация задач .

2. Перераспределение ресурсов .

3.Изменение обязательств.

Планирование проектных задач

  1. Системный анализ и анализ требованье.

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

Стоимостные временные ограничение

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

  1. Анализ требованье

//классически жизненный цикл

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

  1. Интерфейс

Надо определиться какой будет интерфейс с пользователь и какой с другими продуктами(реэкспорт в текстовой файл или в таблицу Excel, через БД(интерфейсная), через общую базу) .

  1. Ограничения на проект

  2. Моделирование процесса, данных и режима функционирование

  3. Создается представление данных(структуру и формат) и функций(иеархию функций, что она делает и входные и выходные функции).

Результат – спецификация требованье.

Для оценки используются следующие оценки: оценки времени, оценки основанные на размеры программы, оценки основанные на функциональности программы.

Для вычислений границ времени выполнении задачи используются следующие оценки : минимальное время начала решения задачи, при условии что решены все предыдущие задачи в кратчайшее время. Самое позднее решение задачи которое еще не вызывает задержу проекта. Самое ранее время окончание решение задачи и самое позднее время окончание решение задачи. Разница между минимальный и максимальный времени, по всему проекту, это резерв времени на выполнение.

Распределения затрат на проект

Анализы проектирование : 40 %

Кодирование : 20%

Тестирование : 40%

Размер ориентированный метод

Основаниваеться LOC (Line Of Code)

Исходные данные для расчета: статистка о предшествующих проектах, в следующим виде

  1. Код, наименование проекта.

  2. Затраты проекта человек в месяц.

  3. Стоимости 1 000 ус. д.

  4. Количество строк по проекту в 1000 строк.

  5. Страниц в документаций в 1 000 .

  6. Количество ошибки на проект .

  7. Количество разработчиков.

На основе исходный данных приведённых в таблице рассчитывается следующие размерные ориентированные метки:

Производительность = длина в 1 000 строк/затраты человека в месяц

Качество = ошибки в единицы/ длину в 1 000 строк

Трудельная стоимотсь = стоимость / длину в строках

Документирование = страниц документа / длину в 1 000 строк

Достоинства : легко считать.

Недостатки : зависимость от языка программирование, трудное получить исходные данные до начала проекта.