![]() КАТЕГОРИИ: Архитектура-(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]. Г. Буч предлагает пять признаков сложной системы: 1. Сложная система состоит, как правило, из взаимосвязанных подсистем, т.е. имеет иерархическую структуру. Объектно-ориентированный подход предполагает поиск общих абстракций для сложной системы. Под абстракцией принято понимать существенные характеристики объекта, которые определяют его особенности. В качестве таких характеристик можно выделить типовую и структурную иерархии. Основным видом типовой иерархии является структура классов (иерархия по номенклатуре), а структурной иерархии - структура объектов (иерархия по составу). Известно, что при проектировании сложной системы ее необходимо представить совокупностью небольших подсистем, каждая из которых может разрабатываться независимо от других. Всякое систематическое решение задачи, какой бы сложной или простой она не была, основано на принципе разбиения на уровни абстракции. Мы привыкли связывать такое разбиение с алгоритмической декомпозицией, в ходе которой осуществляется структурное проектирование по методу "сверху-вниз" и алгоритм задачи разбивается на отдельные модули. Каждый модуль системы реализует один из алгоритмов общей задачи. Принципы алгоритмической декомпозиции поддерживаются языком Турбо-Паскаль, являющимся хорошим инструментом структурного программирования. Какую декомпозицию использовать при разработке сложной системы? Г. Буч в [1] считает: "... и по алгоритмам, и по объектам". Опыт показывает, что сначала полезнее применить объектно-ориентированный подход, который позволит лучше понять структуру программной системы. Кроме того существует возможность использовать общие методы для различных объектов и, следовательно, создавать системы меньшего размера. Алгоритмическая декомпозиция проиллюстрирует связи между различными функциональными элементами системы. - объединение данных и методов в объекте, Многие специалисты считают, что объектно-ориентированное программирование, появившееся в начале 80-х годов, будет занимать такое же место, которое занимало структурное программирование в 1970-х годах, поскольку при разработке сложных программ возможно расширять область их применения, не переделывая программу, а добавляя в нее новые уровни иерархии. Не все языки программирования являются объектно-ориентированными. Известны три условия принадлежности языка к группе объектно-ориентированных языков: - имеется поддержка объектов в виде абстракций данных. Впервые понятия классов и объектов были введены в языке Simula 67. В дальнейшем идеи ООП нашли реализацию в следующих языках: Smalltalk, Object Pascal, C++, CLOS, Ada.
Дата добавления: 2014-01-06; Просмотров: 3830; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |