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

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

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

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

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

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

Что такое кризис программного обеспечения?

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

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

Решение

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Efficiency, reliability, robustness, maintainability, etc. 

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

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

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

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

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

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

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

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

Operaонные

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

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

Переходный

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

  • Взаимодействие
  • Повторное использование
  • Портативность
  • Адаптивность

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

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

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

Резюме

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