Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
161
Добавлен:
10.07.2016
Размер:
2.02 Mб
Скачать
  1. Программная инженерия. Основные её задачи.

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

ПИ - это инженерная дисциплина, охватывающая все принципы разработки ПО.

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

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

  1. Жизненный цикл ПО. Основные процессы.

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

Основным нормативным документом, регламентирующим ЖЦПО, является международный стандарт ISO/IEC 12207.

Структура ЖЦПО, согласно этому стандарту, базируется на трёх группах процессов: основные процессы, вспомогательные и организационные.

Основные:

  1. Приобретение (действия и задачи заказчика, приобретающего ПО)

  2. Поставка (действия и задачи поставщика, который снабжает заказчика программным продуктом или услугой)

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

  4. Эксплуатация (действия и задачи оператора — организации, эксплуатирующей систему)

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

  1. Каскадная модель ЖЦПО

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

Каскадная модель.

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

Структурная схема каскадной модели:

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

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

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

  1. Спиральная модель ЖЦПО

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

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

Для преодоления перечисленных проблем была предложена спиральная модель.

В этой модели упор делается на начальные этапы жизненного цикла, анализ и проектирование. Каждый виток спирали соответствует созданию версии ПО. На нём уточняются цели и характеристики проекта. Таким образом углубляется и конкретизируется детали проекта и в результате выбирается обоснованный вариант, который и доводится до реализации. Разработка итерациями отражает объективно существующий спиральный цикл создания системы. При итеративном способе разработки недостающую работу можно будет выполнить на следующей итерации. Главной же задачей является как можно быстрее показать пользователю системы работоспособный продукт.

5. RAD модель ЖЦПО

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

RAD - Rapid application delevopment - это методология, действующая на основе спиральной модели. Это концепция создания средств разработки программных продуктов, уделяющая особое внимание быстроте и удобству программирования. Технология получила широкое распространение с конца двадцатого века, её часто связывают с концепцией визуального программирования. Автор - сотрудник IBM Джеймс Мартин. RAD предполагает, что разработка осуществляется за срок порядка 2-6 месяцев путём использования инкрементного прототипирования с применением инструментальных средств визуального моделирования и разработки. Технология предусматривает активное привлечение заказчика и даёт высокий результат в следующих случаях:

1. Необходимо выполнение проекта в сжатые сроки.

2. Нечётко определены требования к ПО.

3. Проект выполняется в условиях ограниченности бюджета.

4. Интерфейс пользователя является главным фактором.

5. Возможно разбиение проекта на функциональные компоненты.

6. Низкая вычислительная сложность ПО.

6. V модель жцпо

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

V-модель является моделью разработки информационных систем, направленной на упрощение понимания сложностей, связанных с разработкой системы. Эта концепция была разработана Германией и США в 80-х годов независимо друг от друга.

Современная версия V-модели была утверждена в феврале 2005 года и используется для управления процессом разработки ПО для немецкой федеральной администрации. Является стандартом для немецких правительственных и оборонных проектов, а так же для производителей ПО в Германии.

Основной принцип модели заключается в том, что о тестировании думают на каждом из этапов от планирования до детализированной разработки проекта и кодировании, а так же при проведении тестирования на уровне модулей, интеграции, системном и приёмочном тестировании, эксплуатации и сопровождении. Детализация возрастает при движении слева направо, одновременно с течением времени.

Тестирование ПО - это проверка работоспособности программы с целью нахождения ошибок.

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

7. Rup технология.

RUP-Rationalunifiedprocess- одна из наиболее совершенных технологий, претендующих на роль мирового корпоративного стандарта. RUP представляет собой программный продукт, разработанный компанией Rational software, которая в настоящее время входит в состав IBM. RUP соответствует стандартам ISO/IEC 12207. Её основными принципами являются:

1. Итерационный и инкрементный подходы к созданию ПО.

2. Планирование и управление проектом на основе функциональных требований к системе - вариантов использования.

3. Построение системы на базе архитектуры ПО.

Согласно RUP, ЖЦПО разбивается на отдельные циклы, в каждом из которых создаётся новое поколение продуктов. Каждый цикл разбивается на 4 стадии:

1. Начальная стадия

2. Стадия разработки

3. Стадия конструирования

4. Стадия ввода в действие

8. Инкрементная модель жцпо.

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

Инкрементная модель, так же называемая запланированным усовершенствованием продукта. Начинается с выдачи набора требований и реализует разработку компонентов, всё более приближающихся к итоговой системе. Инкрементная модель предполагает разработку системы с линейной последовательностью этапов(каскадная модель), но в несколько инкрементов. То есть, запланированное улучшение продукта.

Каждому инкременту достаётся определённая часть функциональности.

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

1. Желательно реализовать некоторые возможности системы быстро за счёт создания промежуточной версии продукта.

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

3. Возможность увеличения финансирования на отдельные части системы.