double arrow

ЭКСПЛУАТАЦИЯ и СОПРОВОЖДЕНИЕ


Испытания, ввод в эксплуатацию

Следующий этап - ИСПЫТАНИЯ и ввод в эксплуатацию. Испытания - сравнение полученных результатов с предполагаемыми и, в случае расхождений, установление их причин.

Для выявления и устранения расхождений (ошибок) иногда требуется частичное повторение некоторых предыдущих этапов.

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

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

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

Рисунок по этапам разработки программ

По времени выполнения самый длительный этап – тестирование и отладка (до 40% всего времени).




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

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

Сопровождение ПО состоит из следующих стадий:

- эксплуатационное обслуживание (поддержка эксплуатации);

- адаптивное сопровождение;

- улучшающее сопровождение;

- тиражирование и перенос ПО на различные типы вычислительных средств.

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

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



Адаптивное сопровождение связано с отслеживанием и анализом работы системы, настройкой ее функциональных возможностей применительно к измениям внешней среды и адаптацией системы для достижения заданной производительности и пропускной способности (повышении эксплуатационных характеристик ПО).

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

Закон Биледи: активно используемый программный продукт подвергается непрерывным изменениям в течение всего времени его использования для поддержания экономической выгоды.

Основные задачи, решаемые на этапе сопровождения:



1) обнаружение и устранение неточностей и ошибок;

2) повышение эффективности и улучшение других потребительских качеств, например, улучшение интерфейса, расширение состав выполняемых функций или повышение произвродительности;

3) отслеживание изменений внешней среды, в частности, реакция на появление новых аппаратных и программных средств;

4)применение программы для решения смежной или более общей задачи

5)реинжиниринг – перестройка существующего программного продукта.

Обычно реинжинириг применяется для приведения кода программы в соответствие с современеными методологиями программирования (например, объектно-ориентированной)

6)программирование заново

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

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

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

- расширение ПО в будущем невозможно из-за отсутствия надлежащей документации

- аппаратная и/или программная платформы, на которых реализована система, подлежат замене, а видимых путей для миграции нет. (Абонент ГРО)

В разных задачах трудоемкость тех или иных этапов может быть весьма различной. В некоторых случаях отдельные этапы настолько просты в выполнении, что они просто незаметны.

Рисунки по затратам времени.

Рисунок по затратам времени с сопровождением

1. планирование программного проекта;

2. составление требований заказчика;

3. проектирование ПП;

4. разработка ПП;

5. тестирование ПП;

6. сопровождение ПП.

Характерная длительность каждого из этапов жизненного цик­ла ПП показана на рис. 1.

Рис. 1. Длительность этапов жизненного цикла программного

Пример решения вычислительной задачи.

Рассмотрим от реальной задачи до алгоритма.

1-й этап: описание реальной задачи.

Участок заготовительного цеха выпускает три вида стальных прутков различной длины(продукт 1, продукт 2, продукт 3). Для этого закупаются заготовки двух различных размеров (заготовка 1, заготовка 2) и разрезаются. При этом объемы продуктов 1,2 и 3 , которые можно получить из

1 т. заготовок 1 и 2 приведены в таблице.

Вид Выход продуктов Выход продуктов Ограничения

продукта из 1 т. заготовок 1 из 1 т. заготовок 2

---------------------------------------------------------------------

1 0.2 0.3 1.8

2 0.2 0.1 1.2

3 0.3 0.3 2.4

Словами. Из табл. видно, что из 1 т. заготовок 1 можно изготовить 0.2 т продукта 1, 0.2 т продукта 2 и 0.3 т продукта 3; остальные 0.3 т составляют отходы.

Из заготовок 2 выход продукта 3 и количество отходов те же, выход продукта 1 более высокий - 0.3 т, а продукта 2 более низкий - 0.1 т, чем из заготовок 1.

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

2 -й этап, системный анализ.

Словами. Зададимся вопросом. Что нам известно? Таблица. Но достаточно ли нам этих данных? Нет! Не известна видимо прибыль, получаемая участком от использования заготовок 1 и 2. Введем.

1) Пусть полная прибыль участка при использовании только 1 т заготовок 1 складывается из выручки цеха в результате продажи 0.2 т продукта 1, 0.2 т продукта 2 и 0.3 т продукта 3.

Аналогично вычисляется прибыль участка, получаемая за счет использования только 1 т заготовок 2.

Пусть прибыль от использования 1 т заготовок 1 равна 500 руб., а от использования 1 т. заготовок 2 - 600 руб.

Словами. Из этого, однако, вовсе не следует, что участок должен использовать только заготовки 2, дающие большую прибыль, так как количество заготовок, которые может разрезать участок, зависит от

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

2) Для простоты будем считать, что в течение одного дня продукт 1 не может выпускаться участком в количестве, превышающем 1.8 т, а продукт 2 - в количестве, превышающем 1.2 т, а продукт 3 - в количестве, превышающем 2.4 т.

Значит тем самым мы перешли к построению математической модели задачи и выполнили первый шаг - формулирование ограничений и допущений.

Выделим существенные факторы, опуская второстепенные.

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

Следующий шаг - представить в математической форме все существенные свойства задачи, выделенные при постановке задачи. Обговорим исходные данные и неизвестные.

ПУСТЬ. x1 и x2 - искомые величины, а именно требуемые на день количества заготовок 1 и 2 соответственно.

Тогда 0.2*x1 + 0.3*x2 - это количество произведенных из этих заготовок продукта 1. Также

0.2*x1 + 0.1*x2 продукта 2 и наконец

0.3*x1 + 0.3*x2 - продукта 3.

Следовательно, выявленные на 1-м шаге построения мат. модели ограничения на производственные возможности участка можно записать в виде неравенств

0.2*x1 + 0.3*x2 <=1.8

0.2*x1 + 0.1*x2 <=1.2 (1)

0.3*x1 + 0.3*x2 <=2.4

Кроме того, очевидно, что x1, x2 >=0.

И еще одно требование видимо должно быть - это требование достижения максимальной прибыли от использования заготовок 1 и 2, а это будет выглядеть так

W = 500*x1+600*x2 --> max (2)

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

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

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

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

Так, если мы упростим получившуюся модель производства, исключив из формул 1 два первых неравенства, то "наилучшими" количествами x1 и x2 будут x1=0 и x2=8, при которых будет произведено

0.3*x1 + 0.3*x2 = 0.3*0 + 0.3*8 = 2.4 т. продукта 3 и получена "максимальная" суммарная прибыль

W= 500*0 + 600*8 = 4800 руб.

Однако, согласно (1) при таких значениях x1 и x2 количество произведенного продукта 1 должно быть равно

0.2*0 + 0.3*8 = 2.4 т

Это количество заведомо превышает возможный для участка выход продукта 1, равный 1.8 т.

Следовательно, если совсем не использовать заготовки 1 (x1=0), а перерабатывать x2=8 т заготовок 2, то часть заготовок на самом деле останется к концу дня не переработанной, и прибыль окажется

значительно меньше 4800 руб. Значит, исключив из формул (1) два первых неравенства, получим математическую модель, не соответствующую возможностям реального производства.

Вернемся к математической модели и ответим на вопрос "Нельзя ли упростить модель без ущерба для решения задачи?"

Сложим 1-е и 2-е неравенства получим неравенство

0.4*x1 + 0.4*x2 <=3

умножим его на 0.75 и получим

0.3*x1 + 0.3*x2 <= 2.25 (3)

Таким образом, из двух первых неравенств (1) следует неравенство (3), обозначающее, что продукт 3 не может выпускаться в количестве, превышающем 2.25 т в день. Т.е. можно оставить только первые два неравенства, а это значит, что мы упростили модель без ущерба.

3-й ЭТАП. Разработка или выбор готового метода решения задачи.

В данном примере решение задачи может быть найдено графически.

Решение задачи: x1=4.5, x2=3, W = 4050 руб.

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

Выводы.

- уметь ставить задачу

- уметь разрабатывать модель

- уметь искать готовый или разрабатывать новый алгоритм

- уметь программировать

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







Сейчас читают про: