О чем вы говорите?
Вы говорите о компьютерных науках?
Я знаю инженерию, а что это за программная инженерия?
В этой статье мы обсудим программную инженерию.
Прежде всего, что такое программное обеспечение?
Как показано выше на изображении :)
Программное обеспечение: набор некоторых программ.
Программы. Сборник инструкций.
Инструкции: несколько строк кода (логика).
Не тратя много времени на типы программного обеспечения и их использование, давайте перейдем непосредственно к программной инженерии.
Жизненный цикл разработки программного обеспечения.
Различные модели, которым следуют при разработке программного обеспечения.
- Модель водопада.
- Инкрементная модель прототипа.
- Эволюционная модель-прототип.
- Спиральная модель.
- Модель Министерства обороны США и НАСА.
Жизненный цикл разработки программного обеспечения (SDLC)
Первые два шага часто взаимозаменяемы.
- ТЭО
- На этом этапе мы определяем и документируем потребности в программном обеспечении.
- Проводится с помощью спецификаций требований к программному обеспечению (SRS).
- Включает в себя все, что будет спроектировано и разработано в течение жизненного цикла проекта.
5 типов проверок осуществимости:
- Экономический. Можем ли мы завершить его в рамках бюджета или нет?
- Правовые нормы. Можем ли мы рассматривать это как киберправо и нормативно-правовую базу?
- Осуществимость операции. Можем ли мы создавать операции, ожидаемые клиентом?
- Технические: достаточно ли наших текущих ресурсов или нет?
- График. Можем ли мы завершить его в установленный график?
2. Анализ требований
- Проводится старшими членами команды при участии всех заинтересованных сторон и экспертов отрасли.
- Признание сопутствующих рисков.
- Помогает получить более четкое представление о масштабах проекта.
- Помогает командам получать подробные и точные требования.
- Помогает уточнить сроки окончания работы.
3. Дизайн
(Низкий уровень) и (Высокий уровень):
- (Высокий уровень): включает диаграммы архитектуры и поток программного обеспечения, в основном часть UML.
- (Низкий уровень): он включает в себя детали более низкого уровня и разработку функциональной логики для модулей.
4. Разработка и кодирование (после части проектирования системы).
- Разработчики начинают создавать всю систему с написания кода на выбранном языке программирования.
- Задачи делятся на блоки и модули и назначаются различным разработчикам.
- Разработчик следует заранее определенным правилам кодирования (инструменты программирования, включая редактор, компилятор, интерпретатор, отладчик и т. д.)
- Это самая длинная фаза в SDLC.
5. Тестирование
- После завершения он развертывается в среде тестирования.
- Команда тестирования начинает тестировать функциональность всей системы.
- Это необходимо для проверки того, что все приложение работает в соответствии с требованиями заказчика.
- Команда QA проверяет наличие ошибок/дефектов и, если находит, сообщает об этом команде разработчиков.
- Этот процесс продолжается до тех пор, пока в программном обеспечении не появятся ошибки.
6. Внедрение/развертывание
- Никаких багов и ошибок, теперь начинается процесс развертывания.
- На основе отзывов руководителя проекта окончательное программное обеспечение выпускается и проверяется на наличие проблем с развертыванием, если таковые имеются.
7. Обслуживание
- После развертывания клиент начинает использовать разработанную систему, и происходят следующие 3 действия.
(BUE)
«Исправление ошибок» — об ошибках сообщается по мере появления некоторых сценариев, которые вообще не тестировались.
«Обновить» — обновление приложений до более новых версий ПО.
«Улучшения» — добавление некоторых новых функций в существующее программное обеспечение.
Теперь давайте поговорим о различных моделях разработки программного обеспечения…
Модель водопада
- Модель водопада является однонаправленной, поэтому вернуться назад невозможно.
- Самая первая модель (kisi zamane me inke charche hua karte the).
- Несовершенно: взаимодействие с клиентами и анализ рисков отсутствуют.
- Очень затратно, если после развертывания появляются ошибки и баги.
Инкрементная модель прототипа
Здесь продукт разрабатывается, внедряется и тестируется поэтапно (каждый раз добавляется немного больше).
- Эта практика полезна, поскольку на каждом этапе проводится тестирование, что также делает ее более надежной и безошибочной.
- Каждый раз разработка ПО увеличивается на какой-то процент и в конце мы получаем конечный продукт.
- Это не дает идеального результата, поскольку взаимодействие с клиентами очень мало.
- Чтобы избавиться от этой проблемы, у нас есть другая модель, известная как модель эволюционного прототипа.
Эволюционная модель-прототип
Здесь все вращается вокруг удовлетворенности клиентов…
- Здесь оценка клиентов является основным фактором.
- Занимает больше времени, если клиент повторяет процесс создания прототипа.
- Фактор удовлетворенности клиентов очень высок.
- Анализа рисков здесь нет.
Спиральная модель
- Анализ рисков здесь, что делает его более надежным и эффективным.
- Из-за части оценки клиентов он был более известен среди всех доступных моделей.
- Модель увеличивается шаг за шагом по спирали и включает в себя все основные проверки и разработки.
Модель Министерства обороны США и НАСА
- Имеет двунаправленный поток.
- Различные обзоры на каждом этапе делают его более эффективным.
- Рассмотрение дизайна системы.
- Первичный и детальный вид проекта.
- Приемочное тестирование в конце.
Понимание проверки и проверки.
Больше никаких заметок, достаточно простого сравнения!!!
V-модель (модель проверки и проверки)
Здесь выполнение процессов происходит последовательно в V-образной форме. Оно начинается с анализа требований и заканчивается приемочным тестированием.
Использованная литература:
Программная инженерия: подход практика, Роджер С. Прессман, МакГроу Хилл