Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
UMK_konspekt_TP_4_a4_2.doc
Скачиваний:
16
Добавлен:
29.09.2019
Размер:
1.57 Mб
Скачать

1. Кризис программирования

В среде профессиональных программистов существует понятие перманентного «кризиса программирования», который проявляется в следующем:

  1. Большие проекты выполняются с отставанием от графика.

  2. Большие проекты выполняются с превышением сметы расходов.

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

  4. Производительность разработанного продукта низка.

  5. Качество разработанного продукта не удовлетворяет пользователя.

Основными причинами существования кризиса программирования являются:

Сложность. Одна из проблем определяется природой человеческого интеллекта и состоит в неспособности им обрабатывать сложность. Само понятие «сложность» следует рассматривать в виде двух аспектов:

  1. Сложность программ. Данная составляющая является существенным, а не второстепенным свойством. Поэтому при описании программных объектов зачастую применяются приём абстрагирования от их сложности, а то и, вообще, от их сущности.

  2. Сложность администрирования. Трудность осуществления надзора за исполнителями влечёт ослабление концептуальной целостности.

Согласованность. Значительная часть сложности относится к решению проблемы согласования различных интерфейсов.

Изменяемость. Программное обеспечение очень легко изменить. При этом появление добавленного кода («заплат») может привести к разрушению идей, заложенных в код изначально.

Незримость. Реальность программного обеспечения (ПО) не встраивается естественным образом в пространство. У ПО сверхсложное геометрическое представление – как правило, большое количество неориентированных графов, наложенных один на другой.

Разрыв между теорией и практикой во многих областях программирования оказывает существенное влияние на кризис программирования.

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

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

Невозможность менеджера правильно сформировать проектную команду.

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

2. Понятие жизненного цикла по

Жизненный цикл (ЖЦ) ПО – это период времени, который начинается с момента принятия решения о необходимости создания ПО и заканчивается в момент его полного изъятия из эксплуатации. Жизненный цикл ПО включает следующие стадии:

  1. Анализ.

  2. Проектирование.

  3. Программирование.

  4. Тестирование и отладка.

  5. Эксплуатация.

Модель ЖЦ ПО – это структура, определяющая последовательность выполнения действий и задач, а также взаимосвязи процессов на протяжении всего его ЖЦ.

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

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

  1. International Organization for Standardization (ISO) – Международная организация по стандартизации.

  2. International Electrotechnical Commission (IEC) – Международная комиссия по электротехнике.

Основным нормативным документом, регламентирующим состав процессов ЖЦ ПО является международный стандарт ISO/IEC 12207:1995 «Information Technology – Software Life Cycle Processes».

ISO/IEC 12207:1995 определяет структуру ЖЦ, содержащую процессы, действия и задачи, которые должны быть выполнены во время создания ПО. Стандарт определяет программный продукт как набор компьютерных программ, процедур, документации и данных. Процесс - совокупность взаимосвязанных действий, преобразующих некоторые входные данные в выходные. Процесс характеризуется определёнными задачами и методами их решения, исходными данными, полученными от других процессов, и результатами. Каждый процесс разделён на набор действий, каждое действие – набор задач. Каждый процесс, действие или задача инициируется и выполняется другим процессом по мере необходимости (заранее определённых последовательностей выполнения, как правило, не существует).

В России создание ПО первоначально, в 70-е гг., регламентировалось стандартами ГОСТ ЕСПД (Единой системы программной документации – серия ГОСТ 19.ХХХ), которые были ориентированы на класс относительно простых программ небольшого объёма, создаваемых отдельными программистами. В настоящее время эти стандарты устарели концептуально по форме, сроки действия - закончились, использование - нецелесообразно.

Процессы создания автоматизированных систем, в состав которых входит и ПО, регламентированы стандартами ГОСТ 34.601-90 «Информационная технология. Комплекс стандартов на автоматизированные системы. Автоматизированные системы. Стадии создания», ГОСТ 34.602-89 «Информационная технология. Комплекс стандартов на автоматизированные системы. Техническое задание на создание автоматизированной системы» и ГОСТ 34.603-92 «Информационная технология. Виды испытаний автоматизированных систем». Однако процессы создания ПО для современных распределённых информационных систем (ИС), функционирующих в неоднородной среде, в данных стандартах отражены недостаточно, а отдельные их положения явно устарели.

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

В соответствии со стандартом ISO/IEC 12207:1995 все процессы ЖЦ ПО разделены на три группы:

  • основные;

  • вспомогательные;

  • организационные.

Состав перечисленных групп процессов определен так, как показано на рисунке ниже.

Также стандартом ISO/IEC 12207:1995 определяется технология проектирования ПО.

Технология проектирования ПО - совокупность технологических операций проектирования в их последовательности и взаимосвязи, приводящая к разработке проекта ПО.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]