Основные этапы решения задач ТПР.

Лекция №2.

Оценка качества процессов создания программного обеспечения

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

- международные стандарты серии ISO 9000 (ISO 9000 - ISO 9004);
- СММ - Capability Maturity Model - модель зрелости (совершенствования) процессов создания программного обеспечения, предложенная SEI (Software Engineering Institute - институт программирования при университете Карнеги-Меллон);

- рабочая версия международного стандарта ISO/IEC 15504: Information Technology - Software Process Assessment; эта версия более известна под названием SPICE - (Software Process Improvement and Capability dEtermination - определение возможностей и улучшение процесса создания программного обеспечения).

 

Контрольные вопросы

1. Что понимают под термином «технология программирования»?

2. Что называют подходом и чем подход отличается от метода?

3. Назовите основные периоды истории развития технологии программирования. Чем характеризуются эти периоды? Как изменялись основные подходы и используемые средства?

4. Дайте определение понятию «сложная иерархическая система». Какой подход используют при разработке таких систем? На каких характеристиках этих систем он основан? В чем особенность данного подхода при разработке программного обеспечения?

5. Что понимают под термином «жизненный цикл программного обеспечения»? Какие основные процессы включают в это понятие?

6. Назовите основные этапы разработки программного обеспечения. Какие основные задачи решаются на этих этапах?

7. Назовите основные модели жизненного цикла программного обеспечения. С чем связано появление новых моделей?

8. Что понимают под моделями качества процессов разработки программного обеспечения? Для чего они разработаны?

 

Несмотря на большое разнообразие задач ТПР, им всем присущи следующие основные этапы:

1. Постановка задачи.

2. Построение мат. модели.

3. Нахождение метода решения.

4. Проверка и корректировка модели.

5. Реализация найденного решения на практике.

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

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

(1)

где F- целевая функция (критерий эффективности операции),

- вектор контролируемых (управляемых) факторов,

- вектор неконтролируемых (неуправляемых) факторов,

-функция потребления i-того ресурса,

- количество активных средств i-того ресурса.

Нахождение метода решения. Для нахождения оптимального решения опт задачи (1) в зависимости от структуры целевой функции F и ограничений применяют те или иные методы теории мат. программирования:

1. Линейное программирование. , - линейные функции относительно своих переменных и .

2. Нелинейное программирование, если хотя бы одна из , - нелинейная.

3. Динамическое программирование, если явл. аддитивной (сепарабельной) или мультипликативной функцией своих аргументов.

4. Дискретное (целочисленное) программирование, если на переменные и наложено условие дискретности или целочисленности.

5. Геометрическое программирование, если целевая функция выражается соотношениями , или , а ограничения . Здесь коэффициенты Сi и показатели степени аij являются произвольными константами, а независимые переменные хj>0, j=1,m. Функции приведенного вида называются сигналами, а в случае хj>0– позиномами.

6. Стохастическое программирование, если вектор - случайная величина, а целевая функция выражается мат. ожиданием. (Вместо рассматривают ).

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

Проверка и корректировка модели. В сложных системах ММ лишь частично отражает реальный процесс. Поэтому необходима проверка степени соответствия, или адекватности, между моделью и реальным объектом (процессом). Проверку производят сравнением предсказанного поведения на модели с фактическим (измеренным). Если их разница в пределах допустимого, то модель считается адекватной, в противном случае необходимо скорректировать модель. Корректировка может потребовать дополнительных исследований объекта, уточнения структуры модели. Четыре названных выше этапа повторяют многократно до тех пор, пока будет достигнуто удовлетворительное соответствие между выходом объекта и модели.

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

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

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