Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Функциональная декомпозиция




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

Методы проектирования ориентированные на обработку

Декомпозиция и абстракция

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

Декомпозиция – реализация метода разделяй и властвуй. Однако главным вопросом в методе разделяя и властвуй остаётся разбиение.

Цель декомпозиции:

1) ускорение разработки

2) облечение модернизации и сопровождения сис-мы, а так же её отладки и тестирования

Различают абстракции:

  • через параметризацию
  • через спецификацию

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

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

Функциональная спецификация программы включает в себя:

1) цель

2) граничные условия (определяют диапазон параметров)

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

4) спецификация входных и выходных данных

5) веритификационные требования

6) требование к документации

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

На стадии проектирования архитектуры (2-й этап жизненного цикла) спецификации трансформируются в структуру программной системы. Методы используемые на этой стадии делятся на:

1) методы ориентированные на разработку

2) методы ориентированные на данные

Методы ориентированные на обработку придают особенное значение декомпозиции программных структур.

Методы ориентированные на данные делают основной акцент на абстракции данных.

В основе всех методов лежит 2 понятия модульное программирование и функциональная декомпозиция.

Основные концепции:

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

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

3) размер модуля по возможности минимизируется

4) каждый модуль может быть спроектирован и закодирован независимо

5) вся система строится из модулей

Очевидно преимущество модульного подхода: возможность контроля правильности и уменьшение стоимости сопровождения.

Основана на 2-х стратегиях:

1) пошаговое уточнение (Дейкстра)

2) анализ потоков данных (Иордан, Майерс)

1. Пошаговое уточнение:

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

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

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

Ещё одним подходом формализации является проектирование системы в виде набора виртуальных машин.

Преимущества метода пошагового уточнения состоит в поддержке корректности проектирования. Если первый шаг является верным, то все последующие шаги так же верны.

Недостаток: на поздних стадиях может обнаружится необходимость изменения на вышестоящих уровнях.

2. Метод анализа потоков данных:

Основан на 2-й стратегии декомпозиции и рассматривается поток данных как движущая сила потока проектирования.

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

Процедура проектирования:

1) Идентифицируется поток данных и строится граф потока данных, причём поток может состоять из мн-ва потоков.

2) Идентифицируются входные, центральные и выходные преобразующие эл-ты, где центральный эл-т выполняет основную обработку.

3) Формируется иерархическая структура программы использующая эти эл-ты.

4) Детализируется структура программы сформированная на 3-м шаге с применением методов использованных на шагах 1 и 2.

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

Пример программы обработки блоков данных с применением метода потоков данных:

 

 

Декомпозиция 1-го уровня:

И – исток, С – сток, О – обработчик.

 

Декомпозиция 2-го уровня:

Полученная иерархическая структура должна сопровождаться информацией о сопровождении модулей:

На входе и выходе так же указываются способы обмена данных.

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




Поделиться с друзьями:


Дата добавления: 2014-01-07; Просмотров: 1841; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.012 сек.