Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Tehnologiq_programmirovaniq2_lections.doc
Скачиваний:
4
Добавлен:
23.09.2019
Размер:
403.46 Кб
Скачать

Разработка и модификация проектной информации

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

Общие приемы разработки проектной инфы

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

2) Систематическое применение принципа – Разделяй и властвуй. Когда исходную задачу можно представить в виде множества менее сложных задач и которые можно решить независимо друг от друга.

Методы разработки в широком смысле слова включают:

1) Процедура выполнения соответственного этапа (метод разработки).

2)Требуемые характеристики и структура результата разработки.

3) Средства представления результата разработки.

Структуру результата разработки можно представить в 2-х аспектах

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

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

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

Основная проблема, которая возникает в процессе модификаций:

1) адекватность модификаций с ее применением.

2) с естественным стремлением к минимизации изменений

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

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

Классификация методов разработки ПО

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

Аспекты отличий методов разработки ПО:

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

2) Средствами представления проектной информации, т.е. какими продуктами продуктами были поддержаны проекты и какими методами были реализованы.

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

Среди характеристик методов разработки наиболее важными являются:

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

2)Вид основных объектов разработки (функции и данные).

3) Способы разбиения исходной задачи на несколько менее сложных задач или на более простые.

В методах стратегической разработки проектной информации выделяют 2 подхода:

1) Разработка сверху вниз (аналитический подход или снисходящий).

2) Снизу вверх (синтетический подход – метод восходящей разработки.

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

Здесь мыслительный процесс задействован наиболее активный.

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

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

1) Когда задача носит чисто формальный характер и решение ее можно получить программным путем.

2) Когда задача формализована на повторное построение с использованием дополнительных понятий и понятий языка программирования.

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

Метод снизу вверх . Метод синтезирования

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

Лекция № 6 Продолжение

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

При проектировании сверху вниз исходная задача и каждая из вверенных в него понятий может быть решена на более низком уровне из понятий другого уровня. Недостатки метода снизу вверх – в действительности реальная разработка, как правило, использует баланс 2-х стратегий. Однако, как правило, в большинстве разработок используется метод снизу вверх. ОС ЧИ была разработана чисто.

Область применения обоих стратегий

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

Снизу вверх – формализация по порядку.

Анализ различий методов создания ПО по типу основных объектов разработки

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

2) Функции, составляющие систему моделей, т.е. функции отражающие структуру проекта ПО.

3) Функции некоторых фрагментов программ, когда выделяются функции используемые во всех фрагментах программы (в любом фрагм.). Как правило в этих методах данные (информ. основа) выступают вторично, однако, они являются неотъемлемой частью всех этих методов (программ, алгоритмов, описаний ит.д.).

Методы разработки программ от данных

Существует 2 подхода: 1) R – технология. 2) Метод Джексона.

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

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

В различных методах разработки программ данных используются разные по форме и содержанию способы описания данных.

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

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

В некоторых методах разработки от данных, структура данных описывается виде гамматик (разновидность описания данных). Основная идея всех этих методов одна и та же: структура данных описывается явно, а не в виде алгоритма их обработки. Пример: были разработаны языки прогр.- идеология снизу вверх.

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