Что такое «стандарт» в области программного обеспечения?
Стандарт — это нормативный документ, разработанный на основе консенсуса, утвержденный признанным органом, направленный на достижение оптимальной степени упорядочения в определенной области. В стандарте устанавливаются для всеобщего и многократного использования общие принципы, правила, характеристики, касающиеся различных видов деятельности или их результатов. Стандарт должен быть основан на обобщенных результатах научных исследований, технических достижений и практического опыта, тогда его использование принесет оптимальную выгоду для общества.
Стандарты имеют большое значение — они обеспечивают возможность разработчикам программного обеспечения использовать данные и программы других разработчиков, осуществлять экспорт/импорт данных.
Стандарты в области программного обеспечения регламентируют взаимодействие между различными программами. Для этого предназначены стандарты межпрограммного интерфейса, например OLE. Без таких стандартов программные продукты были бы «закрытыми» друг для друга.
В основе любой отрасли промышленного производства, к которым относится и создание программного обеспечения (ПО) или программных средств (ПС), лежит технологический процесс. Большинство характеристик программного продукта - качество, стоимость, сроки создания, актуальность - непосредственно определяются технологией разработки и точностью ее соблюдения.
Фирма, занимающаяся производством программного обеспечения, может преуспевать только в том случае, если выпускаемая ею продукция всегда отличается высоким качеством и разработана в соответствии с потребностями пользователей. Компания, которая способна выпускать такую продукцию своевременно и регулярно, при максимально полном и эффективном использовании всех имеющихся человеческих и материальных ресурсов будет стабильно процветать.
Ключевое понятие при этом качество - положено в основу международных стандартов ISO серии 9000. Обсудим основные положения этого стандарта. Основополагающая идея ISO 9000 состоит в том, что система качества предполагает построение такой структуры управления производством, которая гарантирует выпуск качественного продукта (в нашем случае, программного обеспечения) в любой момент, пока система действует. Приведем список элементов качества, на которые распространяются требования стандартов ISO 9000.
• Ответственность руководства.
• Система качества.
• Анализ контракта.
• Управление проектированием.
• Управление документацией.
• Закупки продукции.
• Продукция, предоставляемая потребителям.
• Идентификация продукции и ее прослеживаемость.
• Управление процессами.
• Контроль и проведение испытаний.
• Контрольное измерительное и испытательное оборудование.
• Статус контроля и испытаний.
• Управление продукцией, не соответствующей стандарту качества.
• Корректирующие и предупреждающие действия.
• Погрузочно-разгрузочные работы, хранение, упаковка и поставка.
• Регистрация данных о качестве.
• Внутренние проверки качества.
• Подготовка кадров.
• Техническое обслуживание.
• Статистические методы.
Конечно, для компании, занимающейся разработкой ПО некоторые из перечисленных положений стандарта не совсем актуальны, но, тем не менее, анализ это списка указывает, что в нем отражены типичные бизнес-процессы, в той или иной мере, имеющие отношение к качеству выпускаемой продукции. Таким образом, функционально стандарты семейства ISO 9000 связаны с обеспечением качества системы управления производством изделия. Из сказанного выше следует, что основным продуктом компании по производству ПО является именно первоклассное программное обеспечение, удовлетворяющее повседневным нуждам пользователей.
К сожалению, на первых порах, а иногда и в уже устоявшихся программистских коллективах путают понятия "вторичный" и "несущественный". Вы не имеете права забывать, что для разработки эффективной программы, которая соответствует своему предполагаемому назначению, необходимо постоянно встречаться и работать с пользователями, чтобы выяснить реальные требования к вашей системе. Если вы хотите создавать качественное программное обеспечение вам необходимо разработать прочное архитектурное основание проекта, открытое к возможным усовершенствованиям. Для быстрой и эффективной разработки программных средств с минимальным браком требуется привлечь достаточно квалифицированную рабочую силу, выбрать правильные инструменты и определить верное направление работы. Чтобы справиться с поставленной задачей и в конечном итоге получить прибыль, принимая во внимание затраты на обеспечение процесса разработки и внедрения системы, необходимо, чтобы процесс разработки приложения был тщательно продуман и мог быть адаптирован к изменяющимся потребностям вашего бизнеса и технологии.
По способу производства различные виды ПО можно классифицировать на заказное и тиражное. Соответственно в достаточной степени различаются и технологические процессы его производства. В настоящем курсе речь пойдет о технологиях создания заказных продуктов. Теперь введем ряд важных понятий, которые мы будем активно использовать на протяжении всего нашего курса.