Что такое программная инженерия?
Программная инженерия определяется как процесс анализа требований пользователя с последующим проектированием, созданием и тестированием программного приложения, которое будет удовлетворять этим требованиям.
Давайте посмотрим на различные определения программной инженерии:
- 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) Техническое обслуживание.