Модульное и объектно-ориентированное программирование

Автор работы: Пользователь скрыл имя, 12 Декабря 2010 в 15:52, курсовая работа

Краткое описание

Данная курсовая работа написана по теме «Модульное и объектно-ориентированное программирование». Вот некоторый список вопросов, которые раскрывают тему:
понятия: модуль и модульное программирование;
основные концепции модульного программирования;
модульная структура программных продуктов;
понятие: компиляция, его использование в модульном программировании;
объектно-ориентированное программирование как технология создания сложного программного обеспечения;
достоинство и недостаток объектно-ориентированного программирования;
принципы, положенные в основу объектно-ориентированного программирования;
объектно-ориентированные языки программирования;
этапы разработки программных систем с использованием объектно-ориентированного программирования.
В практической части курсовой работы представлено решение задачи находящейся в методических указаниях под номером 8.

Содержание

Общее введение 2
Введение 2
Понятие модуль и модульное программирование 4
Модульная структура программных продуктов 6
Объектно-ориентированное программирование 9
Объектно-ориентированные языки программирования 12
Этапы разработки программных систем с использованием ООП 13
Заключение 15
Практикум 16
Общая характеристика задачи 16
Алгоритм решения задачи 19
Список использованной литературы 24

Вложенные файлы: 1 файл

Курсач.doc

— 188.00 Кб (Скачать файл)

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

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

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

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

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

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

    Реальный  параллелизм достигается только при реализации задач такого типа на многопроцессорных системах, когда  имеется возможность выполнения каждого процесса отдельным процессором. Системы с одним процессором имитируют параллелизм за счёт разделения времени процессора между различными процессами. В зависимости от типа используемой операционной системы (одно- или мультипрограммной) разделение времени может выполняться либо разрабатываемой системой (MS DOS), либо непосредственно операционной системой (Windows).

    Устойчивость – свойство абстракции существовать во времени независимо от процесса, породившего данный программный объект, и/или в пространстве, перемещаясь из адресного пространства, в котором он был создан.

  
 

Объектно-ориентированные  языки программирования

    Язык  считается объектно-ориентированным, если в нём реализованы первые четыре из рассмотренных семи принципов.

    В теории программирования также принято  выделять объектные языки программирования. Они отличаются тем, что не поддерживают наследования свойств в иерархии абстракций, например, Ада – объектный язык, а С++ и объектные версии Паскаля – объектно-ориентированные языки.

    Принципиально ООП возможно на многих языках программирования. Однако для реализации этого подхода желательно использовать языки, включающие специальные средства создания объектно-ориентированных программ, например, Borland Pascal (начиная с версии 5.5), С++, Delphi Pascal, Java и т.д.

Самая простая объектная модель использована при разработке Borland Pascal 7.0. она специально создавалась для облегчения перехода программистов на использование технологии ООП. Особое место занимают объектные модели Delphi Pascal и С++Builder. Они обобщают опыт ООП для MS DOS и включают некоторые новые средства, обеспечивающие эффективное создание сложных систем. На базе этих моделей созданы визуальные среды для разработки Windows. Сложность программирования «под Windows» удалось существенно снизить за счёт создания специальных библиотек объектов, «спрятавших» многие элементы техники программирования. 
 
 
 
 
 
 

Этапы разработки программных  систем

с использованием ООП

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

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

    Проектирование. Различают:

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

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

    Реализация  системы. Это процесс поэтапной реализации и подключения классов к проекту.

    При этом начинают с создания основной программы или проекта будущего программного продукта. Затем реализуют  и подключают классы так, чтобы создать  грубый, но, по возможности, работающий прототип будущей системы. Например, таким прототипом может служить система, в которой реализован только интерфейс с пользователем (передача сообщений в отсутствующую пока часть системы не выполняется). Интерфейс тестируют и отлаживают. Полученный в результате работоспособный прототип продукта может быть, например, показан заказчику для уточнения требований.

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

    Использование поэтапной реализации существенно  упрощает тестирование и отладку  программного продукта.

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

    Все указанные выше принципы в той  или иной степени реализованы  в различных версиях объектно-ориентированных языков.

 

    Заключение

    Компьютерные  науки вообще и программная инженерия  в частности – очень популярные и стремительно развивающиеся области знаний. Человеческое общество XXI века – информационное общество. Занятость населения в информационной сфере беспрерывно растет. Именно поэтому во всех развитых странах мира профессии связанные с компьютерными науками и информационными технологиями считаются престижными и высоко оплачиваются.

    В курсовой работе я постарался раскрыть такие понятия как модульное и объектно-ориентированное программирование. Рассмотрел основные концепции, структуру, а так же достоинства и недостатки этих понятий.

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

 

    Практикум

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

Общая характеристика задачи

    Предприятие ООО «Красный Октябрь» осуществляет деятельность, связанную с выпуском различных видов деталей для  промышленного оборудования. Для  повышения эффективности функционирования предприятия ежемесячно производится анализ плановых и фактических показателей выпуска продукции.

    Данные  фактических и плановых показателей  выпуска продукции приведены  на рис.1 и 2. 

  1. Построить таблицы по приведённым ниже данным.

Ведомость учёта выпущенной продукции за январь 2006г.

Ведомость за январь
Номер бригады По плану Фактически Абсолютное  отклонение от плановых показателей Относительное

отклонение  от плановых показателей  

1   245    
2   140    
3   200    
ИТОГО        
 
 
 

    Ведомость учёта выпущенной продукции за февраль 2006г.

    Ведомость за февраль
    Номер бригады По плану Фактически Абсолютное  отклонение от плановых показателей Относительное

    отклонение  от плановых показателей  

    1   245    
    2   140    
    3   200    
    ИТОГО        
 
 

    Ведомость учёта выпущенной продукции за март 2006г.

    Ведомость за январь
    Номер бригады По плану Фактически Абсолютное  отклонение от плановых показателей Относительное

    отклонение  от плановых показателей  

    1   280    
    2   160    
    3   230    
    ИТОГО        
 
 

    Плановые  показатели выпуска продукции.

    Номер бригады План  выпуска продукции
    январь февраль март
    1 250 240 270
    2 160 150 180
    3 210 200 215

Информация о работе Модульное и объектно-ориентированное программирование