Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

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

Содержание:

ВВЕДЕНИЕ

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

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

На современном этапе появилось множество языков, которые позволяют выполнять самые различные по свой структуре и возможностям функции.

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

Вместе с этим начали создаваться программы с объектно-ориентированным подходом (ООП). Эффективность и необходимость создания таких программ является актуальными в наше время, поскольку основой для удобного пользования программой является, например, дружественный графический интерфейс пользователя, который без знания указанной парадигмы программирования - невозможен.

Целью работы является рассмотрения принципов объектно-ориентированного программирования при создании информационных систем (ИС).

Исходя из поставленной цели в работе необходимо решить следующие основные задачи:

– рассмотреть основные определения и классификацию информационных систем;

– охарактеризовать объектно-ориентированный язык программирования С++;

  • рассмотреть принципы объектно-ориентированного программирования;
  • описать принципы ООП;
  • создать информационную систему, которая демонстрирует использование принципов ООП.

Объект исследования – теория проектирования информационных систем.

Предмет исследования – объектно-ориентированные методы в создании ИС.

По мере развития вычислительной техники возникали разные методики программирования. На каждом этапе создавался новый подход, который помогал программистам с растущим усложнением программ. В настоящее время ООП является самым популярным подходом для разработки ИС.

1. Основные понятия об информационных системах

Основы теории проектирования информационных систем

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

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

Примерами систем могут служить:

– техническое устройство;

– наручные аналоговые часы;

– живой организм;

– группа студентов;

– предприятие и т.д.

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

Элементы системы бывают сложными, состоящими из взаимосвязанных компонентов, то есть, тоже представляют собой определенную систему. Такой сложный элемент называется подсистемой.

Стоит отметить, что организация системы – это согласованность взаимодействия и внутренняя упорядоченность элементов системы. Организация проявляется, к примеру, в ограничении разнообразия состояний компонентов в рамках системы.[9]

При функционировании систем части применяется понятие информации.

Различают 3 вида информации:

– по сфере применения:

  • научно-техническая;
  • массовая;
  • политическая;
  • правовая;
  • статистическая и прочая;

– по режиму доступа:

  • открытого доступа;
  • ограниченная;

– по видам применяемых носителей:

– бумажный;

– машинный.

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

– интегральная;

– коммуникационная;

– инструментальная;

– познавательная.

Информационная система (ИС) – это среда, где составляющими элементами которой считаются компьютерные сети, компьютеры, базы данных (БД), программные продукты, люди и прочие объекты.

Основная цель функционирования ИС – организация обработки, хранения и передачи итоговых данных, необходимых для принятия определенного решения. [7]

Стоит отметить, что ИС собой представляет человеко-компьютерную систему для реализации процесса обработки информации.

Под информационной технологией (ИТ) понимается процесс работы с данными, состоящий из чётко и качественно определенных правил для выполнения операций.

Самая основная цель ИТ – производство надобной пользователю информации.

Выполнение функций ИС невозможно без понимания на неё ориентированной ИТ.[1]

Под современной ИС понимается набор конкретных информационных технологий, которые направлены на поддержку всего жизненного цикла (ЖЦ) информации, а также включающих такие 3 основные составляющие компоненты:

– обработку информации;

– управление имеющейся информацией;

– управление знаниями.

Современные ИС предназначены для решения следующей совокупности функций: [9]

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

– хранение разного рода структур данных. Не существует ИС, работающей только с одним однородным массивом информации.

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

– Прогнозирование и анализ потоков информации разных видов, перемещающихся в обществе. При этом изучаются потоки для выполнения их минимизации, приспособления и стандартизации для более эффективной обработки на компьютерах, а также особенности разных потоков информации, протекающей по различных каналах распространения данных.[2]

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

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

– Построение технических средств и программных процедур для их реализации, при использовании которых можно выполнить автоматизацию процесса извлечения информации с документов, которые не предназначены для вычислительных машин, а только ориентированы на их понимание человеком. [9]

– Проектирование информационно-поисковых систем, что способны выполнять воспринимание запросов к информационным хранилищам, которые сформулированы на естественном человеческом языке [5].

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

ИС определяется такими свойствами.

– Структура ИС, а также все функциональное назначение должны реализовываться в соответствии с поставленными целями.

– ИС предназначена для реализации и воспроизведения достоверной, своевременной, а также систематизированной информации, которая базируется основанной на применении БД, современных экспертных систем, а также баз знаний.[1]

В основе практически каждой ИС лежит специальная среда для хранения данных. Она должна обеспечивать требуемый уровень надёжности процесса хранения и уровень эффективность доступа, что соответствуют конкретной области использования ИС.

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

– Любая ИС может подвергаться анализу, построена, а также управляема на базе общих принципов системы.

– Всякая ИС считается развивающейся во времени.

- При построении ИС применяются сети передачи информации.[13]

1.2.Структура информационной системы

Структуру ИС составляет специальная совокупность отдельных её компонентов, которые именуются подсистемами.

Под подсистемой понимается часть системы, которая выделена по какому-то признаку. Если же общую структуру ИС рассмотреть как совокупность нескольких подсистем независимо от направления применения, то в таком случае подсистемы считаются обеспечивающими.

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

Основные требования к информационному обеспечению ИС: [10]

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

Программное обеспечение (ПО) - это совокупность программ, систем обработки информации и программных документов, необходимых для эксплуатации этих программ.

Программное обеспечение бывает:

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

Системное ПО — это комплекс ПО для обеспечения работы информационной системы (операционная система, драйвера, и т.д.).[4]

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

Инструментальное ПО - это программные продукты для создания и проектирования нового ПО (языки программирования, среды программирования, и т.д.).

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

К средствам математического обеспечения относятся:

- типовые задачи управления;

- средства моделирования;

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

Техническое обеспечение (ТО) - это комплекс технических средств, предназначенных для работы АИС, а также соответствующая документация на эти средства и технологические процессы.[8]

К средствам технического обеспечения относятся:

- аппаратное обеспечение ПК;

- сервисное ТО;

- диагностическое ТО;

Организационное обеспечение – это совокупность методов и средств, регламентирующих взаимодействие работников с техническими средствами, а также между собой в процессе разработки и эксплуатации АИС.

Основные требования к организационному обеспечению АИС:

- обработка информации АИС;

- администрирование АИС;

- обеспечение безопасности информации АИС;

- управление работой АИС.

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

Правовое обеспечение этапов функционирования информационной системы включает:

- статус АИС;

- правовые положения;

- права, ответственность и обязанности персонала.

2. Характеристика объектно-ориентированного подхода к разработке ИС

2.1. Характеристика понятий ООП

Рассмотрим основные понятия, которые связаны с понятием ООП.

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

В отличие от структур, типизированных данных и функций имеют различные уровни реализации доступа.[2]

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

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

Для создания разных объектов предусмотрены функции, которые принадлежат классу, заполняющие поля объектов. Такие функции называются конструкторами.

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

Определению класса в классическом программировании удовлетворяет понятие структуры.

В действительности, структура языка С++ реализована как класс, поля которой общедоступны в этом смысле, так как доступ к ним выполняется через имена:

название_структуры.поле, название_структуры.функция(параметры)

или указатели типа:

указатель->функция(аргумент), указатель->поле.

Самым простым образом класс определяется с помощью такой конструкции (рисунок 1): [8]

Рисунок 1 – Принцип оглашения конструкций

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

Рассматриваемые функции называют составными функциями класса.

Заключенный в приведенные фигурные скобки список программного кода называется телом класса.

Непосредственное определение тела класса всегда заканчивается точкой с запятой.

Стоит отметить, что тело составной функции является определенным вне класса.

В данном случае для указанной функции определяется имя класса, членом которой она является: [9]

формат_возвращаемого_значения название_класса::функция (параметры)

{

. . .

}

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

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

Получим, что:

класс = составные функции + данные.

Помимо инкапсуляции в ООП реализован механизм наследования, что позволяет строить иерархию типов, а также полиморфизм, который позволяет объектам отвечать на разные запросы соответственно их типу. [6]

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

Результат пошуку зображень за запитом "наследование ооп"

Рисунок 2 – Пример наследования

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

Если же класс не считается производным – он называется первичным.

Тело класса разбивается на несколько частей, соответствующие трем таким атрибутам: [3]

class название

{

protected:

. . .

private:

. . .

public:

. . .

}

Атрибут protected имеют те члены класса, которые доступны для дружественных и составных функций классов, что являются производными от указанного класса или же совпадают с ним. Такие члены класса называются защищенными.[1]

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

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

Такие члены класса считаются защищенными.

Полиморфизм применяется для отделения кода программы от других его составных частей. Пример использования полиморфизма показан на рисунке 3:

Результат пошуку зображень за запитом "полиморфизм ооп"

Рисунок 3 – Пример использования полиморфизма

В общем понимании, принципом полиморфизма является идея, которая описывается словосочетанием «один интерфейс – много методов».[12]

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

Стоит заметить, что полиморфизм может использоваться и к многим операторам, например «+» применяется для сложения целых, символьных и других переменных.

В таком случае использованный компилятор определяет автоматически, именно какой тип арифметики надо и в каком случае применять. Такой формат полиморфизма называется перегрузкой операторов.

К примеру, класс «Насекомые» имеет определенную манеру поведения, что можно характеризовать как «метод перемещения». [8]

2.2. Обзор языков, которые используют ООП

2.2.1. ЯП C++

C++ разработан сотрудником исследовательского центра Bell Laboratories (США) Бьярном Страуструпом еще в 1978 году.

Первоначальное название ЯП - «С с классами» изменено на C++ в 1982 году.

При этом, начиная с 1979 года, C++ претерпел, 2 существенные модернизации, а именно в 1984 и 1989 годах. [3]

Последняя, 3-я модернизация связана с выполнением стандартизации C++. Стоит отметить, что несколько лет назад была начата работа по созданию одного международного стандарта C++. Для такой цели был сформирован комитет по стандартизации с названием ANSI и ISO для языка C++.

Первый проект указанного стандарта представлен еще 25 января 1993 года. Комитет по C++ фактически сохранял все основные черты ЯП, заложенные туда еще Б. Страуструпом, а также добавил несколько новых возможностей.

В своей базе этот первый проект только отражал положение, где в то время был язык C++.

Также многие утверждают, что ЯП C++ – это единственный серьезный язык, что просто обязан знать практически каждый уважающий себя программист.

С++ – это компилируемый типизированный язык программирования для общего назначения. Он поддерживает разные парадигмы:

– процедурную;

– функциональную;

– обобщённую.

Но наибольшее внимание уделено использованию объектно-ориентированного программирования. [16]

ЯП C++ – расширенная версия С. C++ содержит в себе все черты, что имеется в ЯП С, и кроме этого он также поддерживает принципы объектно-ориентированного программирования.

В C++ также имеется множество возможностей, которые независимо от ООП делают его несколько «лучше, чем С».

C++ был задуман, чтобы осуществить поддержку объектно-ориентированного программирования. Разные свойства C++ касаются OOП. Но важно понимать, что ЯП C++ может применяться для написания не лишь объектно-ориентированных программ.

То, как применяется C++, полностью зависит от разработчика.

Язык С++ является во многом надмножеством С. Принципиальные новые возможности С++ в себя включают:

– объявления выражений;

– преобразования типов;

– операторы для динамической памяти;

– ссылки;

– применение расширенного понятия константности;

– подставляемые функции и аргументы по умолчанию;

– функции-члены;

– разного рода виртуальные функции;

– конструкторы и абстрактные классы;

– переопределения операторов и шаблоны и многое другое.

Язык С++ во многих случаях относится строже к проверке типов. В С++ появились новые комментарии в виде «//».

Некоторые особенности С++ были позднее перенесены в С, к примеру, ключевые слова inline и const, объявления в циклах и другие.[12]

В более поздних реализациях ЯП С также представлены возможности, которых теперь нет в С++, к примеру макросы и улучшенная работа с массивами.

Достоинства языка С++:

Масштабируемость;

– Возможность работы с памятью на низком уровне;

– C++ имеет препроцессор, унаследованный ч C.

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

Пример кода на ЯП С++ показан на рисунке 4:

Результат пошуку зображень за запитом "код С++"

Рисунок 4 – Пример кода ЯП С++

2.2.2. ЯП Java

Язык программирования Java создавался в рамках проекта фирмы Sun Microsystems при разработке компьютерных аппаратно-программных комплексов нового поколения.

Первая версия Java была официально опубликована еще в 1995 году. С того момента язык Java стал "де-факто" стандартом, вытеснив за 10 лет языки C++ и C из многих направлений программирования.

Также в 1995 году C++ был абсолютным лидером, но к 2006 г. число программирующих Java стало превышать число программистов C и C++.

Число устройств, которые запрограммированы с помощью Java, уже превысило полтора миллиарда. [8]

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

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

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

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

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

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

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

Имеются 2 основных типа трансляции:[8]

– компиляция;

– интерпретация.

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

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

Программы, написанные на Java, представляют собой набор классов и сохраняются в специальных текстовых файлах, которые имеют расширение java.

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

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

Для того чтобы выполнять байт-код на каком-то компьютере, его нужно конвертировать в инструкции для процессора. Именно это выполняет Java-машина. [4]

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

В ныенешнее время используется сложная схема, которая называется JIT-компиляцией – компиляция "на лету".

Если какая-то инструкция (или же набор инструкций) процессора Javа выполняется в первый раз, то происходит компиляция байт-кода с хранением скомпилированного куска кода в буфере.

2.2.3. ЯП C#

Несмотря на то, что C# – самодостаточный ЯП, у него есть особая взаимосвязь с средой выполнения под названием .NET Framework.

Практическое наличие такой взаимосвязи можно обяснить двумя причинами: [20]

– C# первоначально предназначался как создатель кода, что должен выполняться в.NET Framework.

– используемые в C# модули и библиотеки определены в .NET Framework.

Стоит отметить, что на практике это значит, что C# с .NET Framework связаны тесно друг с другом, но теоретически C# можно отделять от среды программирования.

В связи с данным фактом очень важно иметь самое общее представление о работе в среде .NET и ее значении непосредственно для С#.

NET Framework – служит средой для поддержки выполнения и разработки сильно распределенных приложений.

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

Среда .NET Framework определяет 2 очень важны компонента. Первым из них есть общеязыковая среда выполнения CLR. [5]

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

Вторым компонентом .NET Framework является так называемая библиотека классов.

Она предоставляет программе доступ непосредственно к среде выполнения. Если требуется выполнить операции ввода-вывода, к примеру, вывести что-то на экран, то используется для этой цели библиотека классов .NET. [10]

Если программа ограничивается методами, определяемыми в библиотеке .NET, то программа может выполняться практически везде, где поддерживается .NET. А так как в ЯП C# библиотека классов используется автоматически, то все программы на С# оказываются заведомо переносимыми во все среды .NET Framework.

2.3. Реализация информационной системы «Матричная арифметика» с помощью шаблонного класса

Напишем шаблонный класс на языке С++, реализующий матричную арифметику: сложение, вычитание, умножение, транспонирование матриц, умножение матрицы на число, умножение вектора на матрицу, вывод элементов матрицы на дисплей, проверка матриц на равенство, нахождение определителя матрицы, нахождение следа матрицы.

Разработаем и реализуем тестовое приложение с оконным интерфейсом, демонстрирующее работу с описанным классом.

С помощью среды интегрированной разработки C++ Builder создадим оконный интерфейс для приложения (рисунок 5).

Рисунок 5 – Проектирование интерфейса для программы «Матричная арифметика»

Реализация программы состоит из файла Matrix.cpp, в котором находится описание шаблонного класса и все его функций и модуля с основной программой.

Рассмотрим кратко основные части кода реализации шаблонного класса.

//Объявление шаблонного класса

template<class T>

class Matrix {

//Описание открытых полей класса

public:

//конструктор

Matrix(int n, int m) {

rows = n;

cols = m;

mtx = new T*[rows];

for(int i=0; i<rows; i++) {

mtx[i] = new T[cols];

}

}

//реализация конструктора копирования

Matrix(const Matrix<T> &m) {

rows = m.rows;

cols = m.cols;

mtx = new T*[rows];

for(int i=0; i<rows; i++) {

mtx[i] = new T[cols];

for(int j=0; j<cols; j++) {

mtx[i][j] = m.get(i,j);

}

}

}

//деструктор класса

~Matrix() {

if(mtx == NULL)

return;

for(int i=0; i<rows; i++) {

delete [] mtx[i];

}

delete [] mtx;

}

//функция для сложения матриц

Matrix<T> add(const Matrix<T> &m) {

//новая матрица

Matrix<T> res(rows, cols);

for(int i=0; i<rows; i++) {

for(int j=0; j<cols; j++) {

res.mtx[i][j] = get(i,j)+m.get(i,j);

}

}

return res;

}

//функция для вычистания матриц

Matrix<T> substract(const Matrix<T> &m) {

//новая матрица

Matrix<T> res(rows, cols);

for(int i=0; i<rows; i++) {

for(int j=0; j<cols; j++) {

res.mtx[i][j] = get(i,j)-m.get(i,j);

}

}

return res;

}

//функция для транспонирования матрицы

void transp() {

for(int i=0; i<rows; i++) {

for(int j=i; j<cols; j++) {

T tmp = mtx[i][j];

mtx[i][j] = mtx[j][i];

mtx[j][i] = tmp;

}

}

}

Функционирование программы показано на рис. 6:

Рисунок 6 – Интерфейс программы

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

ЗАКЛЮЧЕНИЕ

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

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

Разработчик может программно проверить атрибуты какого-либо элемента.

В процессе выполнения работы были получены и закреплены практические навыки разработки программ с использованием шаблонных классов при написании программы в среде визуального программирования Borland C++ Builder 6.0.

В процессе написания курсовой работы были реализованы следующие задачи:

– рассмотрены основные определения теории разработки ИС;

  • охарактеризованы основные определения принципы объектно-ориентированного программирования;
  • рассмотрены понятие шаблона класса в С++;
  • рассмотрено технологию создания программ с помощью шаблонных классов.

В процессе анализа вышеизложенной информации выявлены следующие достоинства объектно-ориентированного программирования:

  • удобность создания экземпляров класса разных типов данных;
  • гибкость в использовании;
  • интегрированность шаблонных классов в среде C++ Builder.

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

  1. Хортон А. Visual C++ 2010. Полный курс. Издательский дом «Вильямс». – 2014. – 300 с.
  2. Борис Пахомов. С/С++ и MS Visual C++ 2010 для начинающих. БХВ-Петербург. – 2014. – 436 с.
  3. Брайан Керниган, Деннис Ритчи. Язык программирования С++. Издательство «Невский диалект». – 2014. – 320 с.
  4. Бьерн Страуструп. Программирование. Принципы и практика использования С++. Издательский дом «Вильямс». – 2015. – 258 с.
  5. Джесс Либерти. Освой самостоятельно С++ за 21 день. Издательский дом «Вильямс». – 2017. – 230 с.
  6. Динман М.И. С++. Освой на примерах. – СПб.: БХВ-Петербург, 2017.– 260 с.
  7. Дэвид Гриффитс, Дон Гриффитс. Изучаем программирование на С. Издательство «Эксмо». – 2013. – 400 с.
  8. Кнут, Дональд, Эрвин. Искусство программирования. Том : Уч. пос. М.: Издательский дом. «Вильямс», 2014.– 720с.
  9. Кубенский А.А. Структуры и алгоритмы обработки данных: процедурно-ориентированный подход. – СПб.: БХВ-Петербург, 2013. – 464с.
  10. Лаптев В.В. С++. Объектно-ориентированное программирование. Задачи и упражнения. – СПб.: Питер. 2013. – 288 с.
  11. Майерс С. Эффективное использование С++. – М.: ДМК Пресс; – СПб.: Питер. 2013.–240с.
  12. Прата С. Язык программирования С++. Издание 6. Издательский дом «Вильямс» – 2016. – 304 с.
  13. Р. Лафоре. Объектно-ориентированное программирование в С++. Издательство «Питер». Издание 4. – 2014. – 628 с.
  14. С++ Стандартная библиотека. Для профессионалов./Н. Джосьютис. – СП Питер, 2017. – 350 с.
  15. Седжвик Роберт. Фундаментальные алгоритмы на С++. К.: Издательство «ДиаСофт», – 2014. – 500 с.
  16. Скляров В.А. Язык С++ и объектно-ориентированное программирование. – Минск. «Вышейшая школа». – 2017. – 478с.
  17. Харви Дейтел, Пол Дейтел. Как программировать на С++. Пер. с англ. – М.: ЗАО «Издательство БИНОМ», 2017. – 430 с.
  18. Хусаинов Б.С. Структуры и алгоритмы обработки данных. Примеры на языке Си. Учеб. пособие. – Финансы и статистика, 2014. – 464с.
  19. Штерн Виктор. Основы С++: Методы программной инженерии.– Издательство «Лори», 2013. – 860с.
  20. Язык С++: Учеб. Пособие /И.Ф. Астахова, С.В. Власов, В.В. Фертиков, А.В. Ларин.–Мн.: Новое знание, 2013. – 203 с.