Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1-113_SO.doc
Скачиваний:
24
Добавлен:
01.03.2025
Размер:
2 Мб
Скачать
☆

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

Суть модульного программирования состоит в разбиении сложной задачи на некоторое число более простых подзадач и составлении программ для решения достаточно независимо друг от друга. Модульность является одним из основных принципов построения программных проектов. В общем случае модуль - отдельная функционально законченная программная единица, некоторым образом идентифицируемая и объединяемая с другими, средство определения логически связанной совокупности объектов, средство их выделения и изоляции. Модуль является средством декомпозиции не только структур управления, но и структур данных. Этому в значительной мере способствовало развитие понятия "тип данных".

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

Создание модулей и использование их объектов в программах является одним из приемов экономичного программирования что обуславливается следующими обстоятельствами.

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

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

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

15. Объектно-ориентированное программирование

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

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

Объект – это экземпляр некоторого класса объектов или просто класса. Таким образом, класс – это абстрактное понятие. Отношение класса и объекта примерно такое же, как платоновские идеи и объекты реального мира.

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

При объектно-ориентированном анализе и проектирование применяется унифицированный язык моделирования – UML, позволяющий графически представить создаваемую программную систему. Существуют также различные модели процессов создания программного обеспечения, наиболее известными из которых являются унифицированный процесс разработки программного обеспечения (UP/RUP) и методология экстремального программирования – XP. Известно также и много других методологий, например, ICONIX.

Типичными языками, поддерживающими парадигму объектно-ориентированного программирования, являются C++, C# и Java. Помимо объектно-ориентированных бываю объектные (поддерживают инкапсуляцию, но не поддерживают, либо поддерживают не полностью наследование и полиморфизм) и объектно-базированные языки программирования (не имеют механизмов создания пользовательских объектов, но позволяют использовать имеющиеся объекты).

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