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

IV. Архитектурный подход

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

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

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

Контроль структуры программы:

    1. Статический контроль.

    2. Смежный контроль.

    3. Сквозной контроль.

Порядок разработки программного модуля:

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

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

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

  4. Шлифовка текста модуля. Предполагает редактирование имеющихся комментариев, включение дополнительных комментариев.

  5. Поверка модуля. Ручная проверка внутренней логики модуля.

  6. Компиляция. Получение исполняемого кода.

Структурное программирование:

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

  2. Построение программы как композиции из нескольких типов управляющих структур. Основные типы: следование, ветвление и повторение. Каждая конструкция по управлению имеет только один вход и один выход.

В качестве основного метода построения текста модуля технология программирования рекомендует пошаговую детализацию.

Сущность метода – разбиение процесса разработки текста модуля на ряд шагов:

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

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

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

  1. Начало модуля, т.е. первое предложение или заголовок (спецификацию);

  2. Раздел описаний на базовом языке (для процедур и функций – только их внешнее оформление);

  3. Неформальное обозначение последовательности операторов тела модуля как одного обобщенного оператора.

  4. Последнее предложение (конец).

Следование:

Обобщенный оператор 1

Обобщенный оператор 2

Разветвление:

Если условие, то

Обобщенный оператор

Иначе

Обобщенный оператор

ВСЕ ЕСЛИ

Повторение:

ПОКА условие ДЕЛАТЬ

Обобщенный оператор

ВСЕ ПОКА

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

Методы контроля:

  1. Статическая проверка текста модуля.

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

  3. Доказательство свойств программного модуля.

При проектировании модулей также используют:

  • диаграммы сущность-связь;

  • структурные карты;

  • диаграммы Варнье-Орри;

  • диаграммы переходов состояний;

  • блок схемы;

  • схемы экранов;

  • псевдокод.

В объектно-ориентированной методологии используют диаграммы коопераций, диаграммы компонентов, диаграммы развертывания.

Технологии программирования

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

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

Различают технологии, применяемые для отдельных этапов, и технологии, охватывающие несколько этапов.

В истории развития существует 4 этапа.

  1. Стихийное программирование.

До середины 60-х. гг. XX в. Отсутствуют сформулированные ТП. Решаются задачи вычислительного характера, они четко сформулированы.

Простейшая структура программ, вначале на машинном языке. Позднее появляются ассемблеры, возникает концепция модульного программирования. Документация минимальна, уже после разработки ПО. Попытки коллективного программирования, подход «снизу-вверх». В результате – много ошибок.

  1. Структурный подход к программированию.

Обоснование и широкое внедрение нисходящей разработки и структурного программирования.

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

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

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

Модульное программирование.

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

Надежные программы – до 100 тыс. операторов.

Минусы:

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

Для увеличения размеров программ:

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