Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Нисходящее и восходящее проектирование




Пример архитектуры программной системы из нескольких уровней:

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

Нисходящее проектирование:

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

Например для данной схемы опишем модуль А на “мета” языке:

MAIN: procedure

Задача АА;

do while (условие)

Задача АВ;

end;

Задача АС;

end MAIN;

Процесс детализации:

Фаза1: А(MAIN)

Фаза2: MAIN: procedure

Инициализация задачи АА;

(подготовка данных для АА)

call AA;

do while (условие)

Инициализация задачи АВ;

call AВ;

end;

Инициализация задачи АC;

call AC;

end MAIN;

Описание модулей:

AA: procedureАлгоритм решения задачи АА;end AA; AB: procedurecall АB;end AB; AC: procedureend AC;

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

Восходящее проектирование:

Снизу вверх или от частного к общему. Сначала разрабатываются модули самого нижнего уровня.

Процесс детализации:

Фаза1:

 

Напишем алгоритмы с предельной степенью детализации:

AAА: procedureend AAА; AАB: procedure … … end AАB; ACА: procedureend ACА;

Фаза2: Переход к более

абстрактным представлениям

 

AA: procedureend AA; AC: procedureend AC;
A: procedureend А; {MAIN}

Фаза3:

 

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

Например: Проектирование ОС где нижний уровень определяется аппаратурой.

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

На этапе реализации (3-м) восходящий подход является основным.

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

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

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

Заглушки позволяют вести реализацию сверху-вниз.

<– использование заглушек при нисходящей реализации.

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

 

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

Достоинство: уже на ранних этапах имеем уже рабочую систему.

Недостаток: трудно планировать процесс разработки.




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


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


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



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




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