Что такое разработка программного обеспечения? Характеристики, определение.
⚡ Умное резюме
Программная инженерия — это дисциплинированный процесс анализа требований, а затем проектирования, создания и тестирования программного обеспечения, которое им удовлетворяет. В этом ресурсе объясняются её определения, кризис в сфере программного обеспечения, который её породил, её популярность, смежные дисциплины, проблемы и характеристики хорошего программного обеспечения.

Что такое программная инженерия?
Программная инженерия определяется как процесс анализа требований пользователя, а затем проектирования, создания и тестирования программного приложения, которое будет удовлетворять этим требованиям.
Рассмотрим различные определения программной инженерии:
- В своем стандарте 610.12-1990 организация IEEE определяет разработку программного обеспечения как применение систематического, дисциплинированного и вычислительного подхода к разработке, эксплуатации и сопровождению программного обеспечения.
- Фриц Бауэр определил это как «установление и использование стандартных инженерных принципов. Это помогает экономично получать надежное программное обеспечение, эффективно работающее на реальных машинах».
- Бём определяет разработку программного обеспечения как «практическое применение научных знаний к творческому проектированию и созданию компьютерных программ. Это также включает в себя соответствующую документацию, необходимую для разработки».pingэксплуатация и техническое обслуживание этих устройств.
Почему программная инженерия? Программный кризис и его решение
Что такое кризис программного обеспечения?
- Это было в конце 1960-х годов, когда многие программные проекты потерпели неудачу.
- Значительная часть программного обеспечения вышла за рамки бюджета. В результате получилось ненадежное программное обеспечение, обслуживание которого обходилось дорого.
- Более крупное программное обеспечение было сложно и довольно дорого поддерживать.
- Многие программные продукты не смогли удовлетворить растущие потребности клиентов.
- Сложность программных проектов возрастала по мере увеличения их аппаратных возможностей.
- Спрос на новое программное обеспечение рос быстрее по сравнению с возможностью создания нового программного обеспечения.
Все вышеперечисленные проблемы привели к «программному кризису».
Решение
Решение проблемы заключалось в преобразовании неорганизованной работы по программированию в дисциплину разработки программного обеспечения. Эти инженерные модели помогли компаниям оптимизировать операции и создавать программное обеспечение, отвечающее требованиям клиентов.
- В конце 1970-х годов принципы программной инженерии получили широкое распространение.
- В 1980-х годах произошла автоматизация процесса разработки программного обеспечения и получило развитие автоматизированное проектирование программного обеспечения (CASE).
- В 1990-е годы возрос акцент на управленческих аспектах проектов, а также на стандартах качества и процессах, таких как ISO 9001.
Почему программная инженерия популярна?
Вот важные причины популярности разработки программного обеспечения:
- Большое программное обеспечение – В реальной жизни построить стену гораздо проще, чем дом или здание. Точно так же, по мере увеличения размера программного обеспечения, разработка программного обеспечения помогает его создавать.
- Масштабируемость – Если процесс разработки программного обеспечения основан на научных и инженерных концепциях, то проще создать новое программное обеспечение, масштабируемое для существующего.
- Адаптивность – Когда процесс разработки программного обеспечения основан на научных и инженерных принципах, легко создать новое программное обеспечение с помощью методов программной инженерии.
- Стоимость – Индустрия аппаратного обеспечения продемонстрировала свои возможности, а масштабное производство снизило стоимость компьютеров и электронного оборудования.
- Динамичная природа – Программное обеспечение постоянно развивается и адаптируется. Это зависит от среды, в которой работает пользователь.
- Управление качеством – Предлагает более эффективный метод разработки программного обеспечения для создания качественных программных продуктов.
Связь программной инженерии с другими дисциплинами
Вот как разработка программного обеспечения связана с другими дисциплинами:
- Информатика: Закладывает научную основу для программного обеспечения, подобно тому как физика является основой для электротехники.
- Наука управления: Разработка программного обеспечения — это трудоемкая работа, требующая как технического, так и управленческого контроля. Поэтому она широко используется в науке управления.
- Экономика: В этом секторе разработка программного обеспечения помогает в оценке ресурсов и контроле затрат. Необходимо разработать вычислительную систему и регулярно поддерживать данные в рамках заданного бюджета.
- Системная инженерия: Большинство программ являются компонентами гораздо более крупных систем, например, программное обеспечение в промышленной системе мониторинга или программное обеспечение для управления полетом самолета. Для изучения таких систем следует применять методы программной инженерии.
Проблемы программной инженерии
Вот некоторые критические проблемы, с которыми сталкиваются инженеры-программисты:
- В критически важных с точки зрения безопасности областях, таких как космос, авиация и атомные электростанции, последствия сбоев программного обеспечения могут быть колоссальными, поскольку под угрозой находятся человеческие жизни.
- Повышенные требования рынка к быстроте выполнения работ.
- Решение проблем, связанных с возросшей сложностью программного обеспечения, необходимого для новых приложений.
- Разнообразие программных систем, которые должны взаимодействовать друг с другом.
Атрибуты программных продуктов
К характеристикам любого программного продукта относятся функции, которые отображаются продуктом при его установке и начале использования.
Речь идёт не об услугах, предоставляемых продуктом. Вместо этого, это связано с динамическим поведением продукта и способом его использования.
Примеры этих атрибутов:
Efficiency, reliability, robustness, maintainability, etc.
Однако относительная важность этих характеристик варьируется от одной программной системы к другой.
| Характеристики продукта | Описание |
|---|---|
| Ремонтопригодность | Программное обеспечение должно развиваться, чтобы соответствовать меняющимся требованиям клиентов. |
| Надежность | Надежность включает в себя различные характеристики. Надежное программное обеспечение никогда не должно причинять физический или экономический ущерб в случае сбоя системы. |
| Эффективность | Программное приложение не должно чрезмерно использовать системные ресурсы, такие как память и процессорные циклы. |
| Удобство использования | Программное приложение должно иметь соответствующий пользовательский интерфейс и документацию. |
Оптимизация вышеуказанных характеристик представляет собой очень сложную задачу. Например, улучшение пользовательского интерфейса может снизить эффективность системы.
Характеристики хорошего программного обеспечения
Любое программное обеспечение следует оценивать по тому, что оно предлагает и какие методы помогают вам им пользоваться.
Каждое программное обеспечение должно удовлетворять следующим атрибутам:
- Operaонные
- Переходный
- Обслуживание
Вот некоторые важные характеристики качественного программного обеспечения, разработанного профессионалами в этой области.
Operaонные
Эта характеристика позволяет нам понять, насколько хорошо программное обеспечение работает в процессе эксплуатации, что можно измерить по следующим параметрам:
- Бюджет
- Эффективность
- Удобство использования
- Надежность
- правильность
- Функциональность системы
- Безопасность
- Безопасность.
Переходный
Это важный аспект при переносе программного обеспечения с одной платформы на другую:
- Взаимодействие
- Повторное использование
- Портативность
- Адаптивность
Обслуживание
Этот аспект говорит о том, насколько хорошо программное обеспечение способно адаптироваться к быстро меняющейся среде:
- Гибкость
- Ремонтопригодность
- модульность
- Масштабируемость

