Люди как внутри, так и за пределами ИТ часто спрашивают, что такое разработка программного обеспечения. Это процесс создания компьютерного программного обеспечения с использованием одного или нескольких конкретных языков программирования, который обеспечивает функциональность для решения конкретных деловых или личных целей. Разработка программного обеспечения обычно представляет собой запланированную инициативу с несколькими шагами и этапами, которые приводят к созданию операционного программного обеспечения. Отсюда хорошее определение: “процесс с набором действий, которые создают компьютерные программные продукты, включая их проектирование, разработку, тестирование и развертывание”. Само программное обеспечение представляет собой набор инструкций или программ, которые сообщают компьютеру, что делать. Он не зависит от аппаратного обеспечения и делает компьютеры программируемыми.
С момента появления разработки программных продуктов в 1960-х годах для разработки программного обеспечения использовалось много разных подходов; наиболее распространенный сегодня использует гибкий подход к разработке. Определение гибкой разработки программного обеспечения включает подход, при котором требования к разработке и решения предоставляются совместными усилиями самоорганизующихся и многофункциональных команд и их клиентов. В отличие от более традиционных и часто негибких примеров разработки программного обеспечения, agile поощряет и способствует гибкому реагированию на изменения, пропагандируя адаптивное планирование, эволюционное развитие, своевременную доставку и постоянное совершенствование.
Программное обеспечение разрабатывается с использованием компьютерного программирования, выполняемого разработчиком программного обеспечения. Определение разработчика программного обеспечения — это “человек, который создает программное обеспечение самостоятельно или совместно с другими”. Что делают разработчики программного обеспечения изо дня в день? Они используют процессы и методы для создания рабочего программного обеспечения, включая определение требований, проектирование потоков данных, проектирование кода, проектирование технологических процессов, блок-схемы, создание кода, тестирование и отладку разработки программного обеспечения. Сквозной процесс иногда называют жизненным циклом разработки программного обеспечения (SDLC). Термин «разработчик программного обеспечения с полным стеком» — это тот, кто разрабатывает как программное обеспечение, ориентированное на пользователя, так и серверное программное обеспечение, включая разработку баз данных и разработку интерфейсов приложений.
Каковы различные типы разработки программного обеспечения?
Существует несколько различных типов. Они могут быть сгруппированы в четыре основные категории:
- Разработка приложений, которые предоставляют пользователям функциональность для выполнения задач. Примеры включают офисные пакеты для повышения производительности, медиаплееры, инструменты для социальных сетей и системы бронирования. Приложения могут выполняться на собственном персональном вычислительном оборудовании пользователя или на серверах, размещенных в облаке, или внутренним ИТ-отделом. Разработка потокового мультимедиа является одним из примеров разработки приложений для облака.
- Разработка системного программного обеспечения для обеспечения основных функций, таких как операционные системы, системы хранения данных, базы данных, сети и управление оборудованием.
- Инструменты разработки, которые предоставляют разработчикам программного обеспечения инструменты для выполнения их работы, включая редакторы кода, компиляторы, компоновщики, отладчики и средства тестирования.
- Разработка встроенного программного обеспечения, которое создает программное обеспечение, используемое для управления машинами и устройствами, включая автомобили, телефоны и роботов.