Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Методы, ориентированные на данные

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

При постановке задачи необходимо выполнить следующие действия:

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

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

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

Чтобы приступить к решению задачи, необходимо точно ее сформулировать, то есть ответить на серию вопросов такого рода:

• что дано и что нужно найти (определение исходных и выходных параметров);

• как определить решение;

• каких данных не хватает и все ли они нужны;

• какие сделаны допущения и т.п.

Проектирование программы

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

• имя/цель – дается имя модулю и предложение о его функции с формальными параметрами;

• неформальное описание – обзор действий модуля;

• ссылки – какие модули ссылаются на него и на какие модули ссылается он сам;

• вход/выход – формальные и фактические параметры, глобальные, локальные и связанные (общие для ряда модулей переменные);

• примечания – полезные комментарии общего характера по модулю.

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

Методы проектирования архитектуры делятся на две группы – ориентированные на обработку и ориентированные на данные.

Методы, ориентированные на обработку, включают следующие общие идеи.

Модульное программирование. Его основные концепции:

• каждый модуль реализует единственную независимую функцию;

• модуль имеет единственную точку входа/выхода;

• размер модуля минимизируется;

• каждый модуль разрабатывается независимо от других модулей;

• система в целом построена из модулей.

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

Функциональная декомпозиция. Является декомпозицией в форме пошаговой детализации и концепции скрытия информации. Каждый модуль характеризуется субъективным решением разработчика; связь осуществляется с помощью хорошо организованных интерфейсов.

Проектирование с использованием потока данных. Использует поток данных как генеральную линию проектирования программы. Содержит элементы структурного проектирования «сверху-вниз» с пошаговой детализацией:

• экспертиза потоков данных и отображение графа потока данных;

• анализ входных, центральных и выходных элементов, преобразующих поток данных;

• формирование иерархической структуры программы;

• детализация и оптимизация структуры программы.

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

Методы, ориентированные на данные

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

В методе предусматриваются:

• разработка и изображение структуры входных и выходных данных;

• изображение структуры программы путем соединения изображений этих структурных элементов;

• определение дискретных операций над структурами данных;

• построение алгоритмов обработки структур данных.

Методология Уорнера. Подобна предыдущей, но процедура проектирования более детализирована. Используются следующие виды представления проекта:

• диаграммы организации данных (описывают входные и выходные данные);

• диаграммы логического следования (логический поток этих данных);

• список инструкций (команды, используемые в проекте);

• псевдокод (описание проекта);

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

• организация входных данных в иерархическую структуру;

• детальное определение формата элементов входного файла;

• то же самое для выходных данных;

• спецификация программы: чтение, ветвление, вычисление, выходы, вызовы подпрограмм;

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

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

• начало с наивысшего уровня абстракции, определив вход, выход, обработку;

• соединение каждого элемента входа и выхода с соответствующей обработкой;

• документирование каждого элемента система, используя диаграммы;

• детализация диаграмм, используя предыдущие шаги.

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

• определение проблемы;

• развитие неформальной стратегии, удовлетворяющей требованиям к системе;

• формализация стратегии;

• создание объектов и их атрибутов;

• определение операций над объектами;

• установка интерфейсов;

• реализация операций.

Построение модели

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

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

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

Технология построения модели при индуктивном подходе включает в себя:

• эмпирический этап (умозаключение, интуиция, предположение, гипотеза);

• постановка задачи для моделирования;

• оценки, количественное и качественное описание;

• построение модели.

Разработка алгоритма

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

Реализация алгоритма

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



<== предыдущая лекция | следующая лекция ==>
 | Функции управления организацией
Поделиться с друзьями:


Дата добавления: 2016-11-12; Мы поможем в написании ваших работ!; просмотров: 596 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Жизнь - это то, что с тобой происходит, пока ты строишь планы. © Джон Леннон
==> читать все изречения...

2323 - | 2092 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.013 с.