О чем вы говорите?

Вы говорите о компьютерных науках?

Я знаю инженерию, а что это за программная инженерия?

В этой статье мы обсудим программную инженерию.

Прежде всего, что такое программное обеспечение?

Как показано выше на изображении :)

Программное обеспечение: набор некоторых программ.

Программы. Сборник инструкций.

Инструкции: несколько строк кода (логика).

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

Жизненный цикл разработки программного обеспечения.

Различные модели, которым следуют при разработке программного обеспечения.

Жизненный цикл разработки программного обеспечения (SDLC)

Первые два шага часто взаимозаменяемы.

  1. ТЭО
  • На этом этапе мы определяем и документируем потребности в программном обеспечении.
  • Проводится с помощью спецификаций требований к программному обеспечению (SRS).
  • Включает в себя все, что будет спроектировано и разработано в течение жизненного цикла проекта.

5 типов проверок осуществимости:

  • Экономический. Можем ли мы завершить его в рамках бюджета или нет?
  • Правовые нормы. Можем ли мы рассматривать это как киберправо и нормативно-правовую базу?
  • Осуществимость операции. Можем ли мы создавать операции, ожидаемые клиентом?
  • Технические: достаточно ли наших текущих ресурсов или нет?
  • График. Можем ли мы завершить его в установленный график?

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

  • Проводится старшими членами команды при участии всех заинтересованных сторон и экспертов отрасли.
  • Признание сопутствующих рисков.
  • Помогает получить более четкое представление о масштабах проекта.
  • Помогает командам получать подробные и точные требования.
  • Помогает уточнить сроки окончания работы.

3. Дизайн

(Низкий уровень) и (Высокий уровень):

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

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

  • Разработчики начинают создавать всю систему с написания кода на выбранном языке программирования.
  • Задачи делятся на блоки и модули и назначаются различным разработчикам.
  • Разработчик следует заранее определенным правилам кодирования (инструменты программирования, включая редактор, компилятор, интерпретатор, отладчик и т. д.)
  • Это самая длинная фаза в SDLC.

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

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

6. Внедрение/развертывание

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

7. Обслуживание

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

(BUE)
«Исправление ошибок» — об ошибках сообщается по мере появления некоторых сценариев, которые вообще не тестировались.

«Обновить» — обновление приложений до более новых версий ПО.

«Улучшения» — добавление некоторых новых функций в существующее программное обеспечение.

Теперь давайте поговорим о различных моделях разработки программного обеспечения…

Модель водопада

  • Модель водопада является однонаправленной, поэтому вернуться назад невозможно.
  • Самая первая модель (kisi zamane me inke charche hua karte the).
  • Несовершенно: взаимодействие с клиентами и анализ рисков отсутствуют.
  • Очень затратно, если после развертывания появляются ошибки и баги.

Инкрементная модель прототипа

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

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

Эволюционная модель-прототип

Здесь все вращается вокруг удовлетворенности клиентов…

  • Здесь оценка клиентов является основным фактором.
  • Занимает больше времени, если клиент повторяет процесс создания прототипа.
  • Фактор удовлетворенности клиентов очень высок.
  • Анализа рисков здесь нет.

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

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

Модель Министерства обороны США и НАСА

  • Имеет двунаправленный поток.
  • Различные обзоры на каждом этапе делают его более эффективным.
  • Рассмотрение дизайна системы.
  • Первичный и детальный вид проекта.
  • Приемочное тестирование в конце.

Понимание проверки и проверки.

Больше никаких заметок, достаточно простого сравнения!!!

V-модель (модель проверки и проверки)

Здесь выполнение процессов происходит последовательно в V-образной форме. Оно начинается с анализа требований и заканчивается приемочным тестированием.

Использованная литература:

Программная инженерия: подход практика, Роджер С. Прессман, МакГроу Хилл

Основы разработки программного обеспечения, Али Бехфоруз и Фредерик Дж. Хадсон, Oxford University Press