Что такое программная инженерия? Определение, основы, характеристики

Содержание:

Anonim

Что такое программная инженерия?

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

Давайте посмотрим на различные определения программной инженерии:

  • IEEE в своем стандарте 610.12-1990 определяет программную инженерию как применение систематического, дисциплинированного, вычислимого подхода к разработке, эксплуатации и сопровождению программного обеспечения.
  • Фриц Бауэр определил это как «создание и использовал стандартные инженерные принципы. Это поможет вам получить экономичное программное обеспечение, которое будет надежным и эффективно работает на реальных машинах ».
  • Бем определяет программную инженерию, которая включает в себя «практическое применение научных знаний для творческого проектирования и создания компьютерных программ. Он также включает сопутствующую документацию, необходимую для их разработки, эксплуатации и обслуживания ».

В этом руководстве по разработке программного обеспечения вы узнаете:

  • Что такое программная инженерия?
  • Почему программная инженерия? Программный кризис и его решение
  • Почему программная инженерия популярна?
  • Связь программной инженерии с другими дисциплинами
  • Проблемы программной инженерии
  • Атрибуты для программных продуктов
  • Характеристики хорошего программного обеспечения

Почему программная инженерия? Программный кризис и его решение:

Что такое программный кризис?

  • Это было в конце 1960-х годов, когда многие программные проекты потерпели неудачу.
  • Многие программы вышли за рамки бюджета. На выходе получилось ненадежное программное обеспечение, которое стоит дорого поддерживать.
  • Программное обеспечение большего размера было трудным и довольно дорогим в обслуживании.
  • Множество программного обеспечения не способно удовлетворить растущие требования заказчика.
  • Сложность программных проектов возрастала с увеличением аппаратных возможностей.
  • Спрос на новое программное обеспечение увеличивался быстрее, чем возможность создания нового программного обеспечения.

Все вышеперечисленные проблемы приводят к «программному кризису».

Решение

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

  • В конце 1970-х годов широко использовались принципы программной инженерии.
  • В 1980-х годах произошла автоматизация процесса разработки программного обеспечения и рост (CASE) автоматизированной разработки программного обеспечения.
  • 1990-е годы стали свидетелями повышенного внимания к «управленческим» аспектам проектов, стандартам качества и процессам, таким как ISO 9001.

Почему программная инженерия популярна?

Вот важные причины популярности программной инженерии:

  • Большое программное обеспечение. В нашей реальной жизни гораздо удобнее построить стену, чем дом или здание. Точно так же, когда размер программного обеспечения становится больше, программная инженерия помогает вам создавать программное обеспечение.
  • Масштабируемость. Если процесс разработки программного обеспечения основывался на научных и инженерных концепциях, было бы легче воссоздать новое программное обеспечение для масштабирования существующего.
  • Адаптивность : всякий раз, когда процесс разработки программного обеспечения был основан на научных и инженерных принципах, легко воссоздать новое программное обеспечение с помощью программной инженерии.
  • Стоимость. Промышленность аппаратного обеспечения показала свои навыки, и огромное производство снизило стоимость компьютеров и электронного оборудования.
  • Динамическая природа - Постоянно растущий и адаптирующийся характер программного обеспечения. Это зависит от среды, в которой работает пользователь.
  • Управление качеством : предлагает лучший метод разработки программного обеспечения для предоставления качественных программных продуктов.

Связь программной инженерии с другими дисциплинами

Вот как программная инженерия связана с другими дисциплинами:

  • Компьютерные науки: дает научную основу для программного обеспечения, поскольку электротехника в основном зависит от физики.
  • Наука управления: Разработка программного обеспечения - трудоемкая работа, требующая как технического, так и управленческого контроля. Поэтому он широко используется в науке управления.
  • Экономика: в этом секторе программная инженерия помогает вам в оценке ресурсов и контроле затрат. Вычислительная система должна быть разработана, и данные должны регулярно обновляться в рамках данного бюджета.
  • Системная инженерия: Большая часть программного обеспечения является компонентом гораздо более крупной системы. Например, программное обеспечение в системе промышленного мониторинга или программное обеспечение для полета на самолете. Для исследования систем этого типа следует применять методы программной инженерии.

Проблемы программной инженерии

Вот некоторые важные проблемы, с которыми сталкиваются инженеры-программисты:

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

Атрибуты для программных продуктов

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

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

Примеры этих атрибутов:

Efficiency, reliability, robustness, maintainability, etc.

Однако относительная важность этих характеристик варьируется от одной программной системы к другой.

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

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

Характеристики хорошего программного обеспечения

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

Каждое программное обеспечение должно удовлетворять следующим атрибутам:

  • Оперативный
  • Переходный
  • Обслуживание

Вот некоторые важные характеристики хорошего программного обеспечения, разработанного профессионалами в области программного обеспечения.

Оперативный

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

  • Бюджет
  • Эффективность
  • Удобство использования
  • Надежность
  • Правильность
  • Функциональность
  • Безопасность
  • Безопасность

Переходный

Это важный аспект при переносе программного обеспечения с одной платформы на другую:

  • Совместимость
  • Возможность повторного использования
  • Портативность
  • Адаптивность

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

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

  • Гибкость
  • Ремонтопригодность
  • Модульность
  • Масштабируемость

Резюме

  • Программная инженерия - это процесс анализа требований пользователя и последующего проектирования, создания и тестирования программного приложения, которое будет удовлетворять этим требованиям.
  • Важными причинами использования программной инженерии являются: 1) крупное программное обеспечение, 2) масштабируемость, 3) адаптируемость, 4) стоимость и 5) динамический характер.
  • В конце 1960-х годов многие программы выходят за рамки бюджета. Поэтому он предлагает ненадежное программное обеспечение, которое требует больших затрат в обслуживании.
  • В конце 1970-х годов широко использовались принципы программной инженерии.
  • Концепция программной инженерии 1) Информатика 2) Наука управления 3) Системная инженерия и 4) Экономика
  • Повышенные рыночные требования к быстрому выполнению работ - самая большая проблема в области разработки программного обеспечения.
  • 1) Ремонтопригодность, 2) Надежность, 3) Эффективность и 4) Удобство использования - важнейшие атрибуты программных продуктов.
  • Три наиболее важные характеристики хорошего программного обеспечения: 1) Оперативное 2) Переходное 3) Техническое обслуживание.