Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Технология программирования.doc
Скачиваний:
32
Добавлен:
10.05.2014
Размер:
4.18 Mб
Скачать

1. Два подхода к разработке больших кп.

Два подхода к разработке современных комплексных программ

  1. Разработка «для себя» и своих нужд.

  2. Промышленная разработка на заказ.

1.1. Знание предметной области разработчиком совершенно, поэтому не требуется этапа системного анализа, т. е. изучение и формализация предметной области.

1.2. Объем исходного текста программы сравнительно невелик и полностью осознается разработчиком

1.3. Количество разработчиков невелико (1-3 человека). Какой-либо организации разработки не существует.

1.4. Квалификация разработчиков однородна, как правило она достаточна для успешной обработки.

1.5. Документация либо не разрабатывается, либо имеет ограниченный характер.

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

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

2.2 Объем исходного текста, как правило очень велик и составляет десятки и сотни тысяч операторов, что требует структурирования разработки КП и использования большого количества разработчиков.

2.3. При использовании большого количества разработчиков приходится решать задачи их организации и специализации

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

2.5. При разработке создается полный комплект документации на основании государственных стандартов. При этом документация разделяется на две составляющих: документация разработки и эксплуатационная разработка.

2.6. Разрабатывается так называемый «отторгаемый продукт», который предусмотрено эксплуатировать независимо от разработчиков. Также предусматривается возможность тиражирования и коммерческого использования продукта в других организациях помимо Заказчика.

В зависимости от поставленных задач перед КП, материальных возможностей, возможно использование различных подходов.

2. Основные задачи, решаемые при разработке сложных кп.

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

1.) Определить процесс и этапы разработки КП.

2.) Определить количество и качество разрабатываемого программного продукта.

3.) Разработать методы и оценки длительности разработки КП и трудозатрат.

4.) Определить факторы, определяющие производительность труда при разработке сложных программ.

5.) Изучить и реализовать вариант организации коллектива разработчиков.

II. Для создания квалифицированных методов с целью построения сложных КП, необходимо решения структурных задач:

1.) Определить структуру построения сложных КП.

2.) Определить структуры переменных, структуры баз данных КП (выбор структур неоднозначен).

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

4.) Создание структуры КП, надежно функционирующей при наличии как программной, так и аппаратной ошибок

III. Реализация сложных КП при создании конкретных задач и конкретным коллективом разработчиков. Необходимость решения технологических задач.

1.) Создание четкой технологической схемы разработки (этапы, ответственные лица, количества и качества программ и т. д.)

2.) Охват технологической схемы всего жизненного цикла функционирования КП

3.) Выбор (создание) методов и средств автоматизации разработки сложных КП

4.) Выбор (создание) автоматизированных средств подготовки документации сложных КП.

5.) Стандартизация процессов разработки КП

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

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

  2. Создание имитационных моделей и отладочных комплексов.

3. Основные понятия и определения, используемые при разработке сложных КП. Характеристики КП как сложных систем.

Система – комплекс средств, элементов и частей, образующий единое целое и предназначенный для достижения определенной цели.

Характеристики сложных систем (программы или КП, предназначенные для решения конкретных задач).

1.) Единая цепь функционирования, то есть решение определенного набора функциональных задач.

2.) Большое количество взаимосвязанных компонентов, которые образуют одну систему. Для КП это операторы, модули, данные, массивы и т. д.

3.) Наличие иерархической структуры, то есть наличие подчинения одних элементов другим. Для крупных КП: крупные подсистемы, состоящие из мелких подсистем, вызов одних компонентов другими, иерархическая структура данных и т. д.

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

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

Пример: запрос на ресурс-ресурс занят.

6.) Устойчивость к возмущениям, вызванным как внутренними, так и внешними причинами.

Для КП: изменение характеристик входных потоков, изменение условий функционирования из за изменения состава программы и программных средств.

7.) Надежность функционирования системы в целом при ненадежном функционировании отдельных компонентов.

8.) Наличие целей систем и критерия качества, который определяет достоинства сложных систем.

Функциональность сложной системы определяется алгоритмом ее работы.

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

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

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