Какие браузеры вы используете чаще всего
 
Программное обеспечение и инженерия программного обеспечения

Многие отождествляют термин программное обеспечение с компьютерными программа­ми. Это весьма ограниченное представление. Программное обеспечение— это не только программы, но и вся сопутствующая документация, а также конфигурационные данные, необходимые для корректной работы программ. Программные системы состоят из сово­купности программ, файлов конфигурации, необходимых для установки этих программ, и документации, которая описывает структуру системы, а также содержит инструкции для пользователей, объясняющие работу с системой, и часто адрес Web-узла, где пользователь может найти самую последнюю информацию о данном программном продукте.

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

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

2. Программные продукты, созданные на заказ. Это программные системы, которые соз­даются по заказу определенного потребителя. Такое ПО разрабатывается специ­ально для данного потребителя согласно заключенному контракту. Программные продукты этого типа включают системы управления для электронных устройств, системы поддержки определенных производственных или бизнес-процессов, сис­темы управления воздушным транспортом и т.п.

Важное отличие между этими типами программных продуктов заключается в том, что при создании общих программных продуктов спецификация требований на них разраба­тывается компанией-производителем. Для заказных программных продуктов специфика­ция обычно разрабатывается организацией, покупающей данный продукт. Спецификация необходима разработчикам ПО для создания любого программного продукта.

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

1. "Инженерная дисциплина". Инженеры— это те специалисты, которые выполняют практическую работу. Они применяют теоретические построения, методы и сред­ства там, где это необходимо, но делают это выборочно и всегда пытаются найти решение задачи, даже если не существует подходящей теории или методов реше­ния. Специалисты-инженеры также всегда понимают, что они должны работать в организационных и финансовых рамках заключенных контрактов, т.е. ищут реше­ние поставленной перед ними задачи с учетом условий контракта.

2. "Все аспекты создания программного обеспечения". Инженерия программного обеспечения не рассматривает технические аспекты создания ПО — в ее ведении та­кие вопросы, как управление проектом создания ПО и разработка средств, методов и теорий, необходимых для создания программных систем.

Можно сказать, что специалисты (инженеры) по программному обеспечению адапти­руют существующие методы инженерии ПО к решению своих задач, и зачастую это оказы­вается наиболее эффективным способом построения высококачественных программных систем. Инженерия программного обеспечения предоставляет всю необходимую инфор­мацию для выбора наиболее подходящего метода для множества практических задач. Вме­сте с тем творческий неформальный подход в определенных обстоятельствах также мо­жет быть эффективным. Например, при разработке программных систем электронной коммерции в Internet требуется неформальный подход в сочетании ПО и графического эскизного проектирования.