Смекни!
smekni.com

Понятие программного продукта (стр. 1 из 3)

ВВЕДЕНИЕ.

Существенной особенностью постиндустриальной эпохи стало появление рынка авторских прав на программные продукты. Стоит сразу же отметить разницу понятий " программный продукт " (ПП) и "программа для ЭВМ", которая полностью определена.

Нужен ли программный продукту некий отличительный знак, подтверждающий его качество? Казалось бы, рыночная экономика дает отрицательный ответ на этот вопрос - высокий спрос подтвердит качество товара. Своеобразным знаком качества часто служит громкое имя поставщика, всем известный brand. И тем не менее, серьезные компании стремятся не только обеспечить качество, но и подтвердить его официально, получив сертификат, демонстрирующий, что все внутренние процессы компании направлены на создание качественного продукта. Иначе говоря, работает система управления и обеспечения качеством. Наличие такого сертификата - гарантия доверия его обладателю со стороны клиентов и партнеров.

В данной работе мы определим понятие «программного продукта», его сертификацию, а также вопросы авторских прав.

1. Понятие программного продукта и его стандартизация.

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

ISO 9000-3 - система качества для ПО Стандарт ISO 9000-3 включает в себя все положения общего стандарта ISO 9001, а также необходимые дополнения к ним, относящиеся к разработке, поставке и обслуживанию ПО. ISO 9001 устанавливает требования к системе качества поставщика и позволяет оценивать его возможности по проектированию и поставке продукции, соответствующей этим требованиям.

Требования стандарта направлены в первую очередь на то, чтобы удовлетворить запросы пользователя, предупредив появление каких-либо несоответствий продукции на всех стадиях ее жизненного цикла – от проектирования до обслуживания. Стандарт определяет ряд важных понятий , которые затем используются в положениях стандарта, в том числе:

продукт - результат действий или процессов; программный продукт - набор компьютерных программ, процедур и, возможно, связанных с ними документов и данных;

элемент программного обеспечения (software item) – любая идентифицируемая часть программного продукта ; основание (baseline) - формально утвержденная версия элемента

конфигурации, зафиксированная в определенный момент времени в процессе жизненного цикла элемента конфигурации; разработка (development) - процесс жизненного цикла программного продукта , охватывающий анализ требований, проектирование, кодирование,

интеграцию, тестирование, установку и поддержку; модель жизненного цикла (life cycle model) - базовая модель, включающая процессы, действия и задачи, вовлеченные в разработку, функционирование и сопровождение программного продукта и хватывающие весь жизненный цикл системы от определения требований до завершения

использования; этап (phase) - определенный сегмент работы; регрессионное тестирование (regression testing) - тестирование, позволяющее убедиться в том, что изменения, внесенные с целью исправления обнаруженных ошибок, не породили новых; репликация (replication) - копирование программного продукта с одного носителя на другой. Важно отметить, что в большинстве пунктов стандарта поставщик обязывается не только определять соответствующие действия, но и оформлять их документально, регистрировать результаты и периодически анализировать, для того чтобы внести необходимые усовершенствования или полностью заменить.

Управление проектированием

Это самый обширный раздел стандарта, поскольку он затрагивает базовую составляющую общего процесса создания продукта , программного продукта в частности, решающим образом влияющую на его качество. Поставщик устанавливает и документирует методики управления и верификации проекта с целью обеспечения выполнения установленных требований. Этот раздел стандарта ISO 9000-3 дает руководящие указания по основным действиям в процессе разработки, таким как анализ требований к проекту, проектирование архитектуры системы, детальное проектирование и кодирование, а также планирование разработки.

Проект разработки программного продукта организуется в соответствии с определенной моделью жизненного цикла. ISO 9000-3 не определяет, какой должна быть модель жизненного цикла, это зависит от специфики решаемой задачи. Стандарт дает лишь общее определение модели жизненного цикла как множества процессов. Модель показывает, когда и как эти процессы подключаются к реализации проекта.

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

гарантией того, что программный продукт создается в соответствии с заданными требованиями и планами разработки и обеспечения качества.

Управление проектом должно учитывать такие аспекты, как используемый метод проектирования и его соответствие конкретной задаче, опыт предыдущих проектов, требования последующих процессов: тестирования, установки, сопровождения и использования, наконец, соображения защиты и безопасности. В тех случаях, когда сбои системы могут нанести ущерб людям, собственности или окружающей среде, при проектировании должно быть сформулированы специальные требования, гарантирующие устойчивость системы или ее ответные действия на потенциальные аварийные ситуации. Для процессов кодирования должны задаваться правила использования языков программирования, принципы кодирования и правила составления адекватных комментариев.

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

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

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

Должны быть определены и задокументированы принципы организационно-технического взаимодействия между различными группами, участвующими в разработке. Здесь четко определяются границы ответственности каждого участника разработки и то, каким образом

техническая информация будет передаваться между участниками. Здесь же оговаривается ответственность заказчика проекта, если он принимает участие в разработке: необходимость участвовать в проекте, обязательства по своевременному предоставлению нужной информации. В случае обоюдной договоренности между поставщиком и заказчиком может быть запланирован совместный анализ ведения проект а, регулярно или на определенных его

этапах. Этот анализ затрагивает такие факторы, как ход разработки состороны поставщика, участие в разработке со стороны заказчика, соответствие системы требованиям заказчика, результаты проверок, результаты тестирования.

Входные проектные требования к продукции. Требования формулирует заказчик, а поставщик анализирует, насколько они адекватны. Неполные, двусмысленные или противоречивые требования являются предметом урегулирования с лицами, ответственными за их предъявление. В определенных ситуациях, по обоюдному согласию, спецификацию требований может проводить поставщик.

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

Степень формальности и строгости процессов анализа соответствуют сложности разрабатываемой системы и степени риска, связанного с ее использованием. Анализ проектирования затрагивает такие аспекты, как выполнимость проекта, удовлетворение требованиям защиты и безопасности системы, выполнение правил программирования и возможность тестирования. На определенных стадиях проектирования проводится проверка соответствия выходных данных входным требованиям. Такая верификация проекта может

включать анализ выходных данных, демонстрации, в том числе с помощью прототипов и моделирования, или тестирование. Только проверенные выходные проектные данные утверждаются для окончательного приема и последующего использования. Все обнаруженные в процессе проверки проблемные ситуации должны адекватно разрешаться.