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

Применение объектно- ориентированного подхода при проектировании информационной системы

Содержание:

Введение

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

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

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

  1. Понять, что такое объектно-ориентированное программирование, какие основные преимущества ООП и недостатки.
  2. Изучить применяемость объектно-ориентированного программирования при разработке автоматизированных информационных систем, а также рассмотреть примеры АИС построенных на ООП.

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

Глава 1. Что такое «ООП»?

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

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

Исходя из данного определения, следует выделить три основных момента:

В качестве базовых элементов используются объекты, а не алгоритмы;

Любой объект считается экземпляром определенного класса;

Классы имеют иерархическую организацию.

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

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

На рисунке 1 приведено схематическое изображение «инкапсуляции».

Картинки по запросу инкапсуляция

Рисунок 1. Схема «Инкапсуляция»

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

На рисунке 2 приведено схематическое изображение схемы «Наследования».

Картинки по запросу наследование программирование

Рисунок 2. Схема «Наследование»

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

На рисунке 3 приведено схематическое изображение схемы «Полиморфизм».

Картинки по запросу полиморфизм

Рисунок 3. Схема «Полиморфизм»

Абстракция – присвоение объекту характеристик, которые выделяют его от всех других объектов, четко определяя его концептуальные границы.

Композиция – объект может быть составным и включать в себя другие объекты.

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

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

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

При проектировании, особое внимание уделяется правильному и эффективному структурированию сложных систем.

Определение объектно-ориентированного программирования трактуется следующим образом:

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

На рисунке 4 представлен схематический пример работы программы-редактора, написанной на ООП.

http://www.5byte.ru/tp7pub/images/r2.gif

Рисунок 4. Схема «Иерархия объектов программы-редактора»

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

Объектно-ориентированная декомпозиция является основным принципам ООП.

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

1.3 Обоснование выбора ООП при проектировании информационной системы

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

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

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

Чем объемнее программа, тем важнее разделить ее на большее количество модулей.

В этом смысле, классы, являются самым лучшим методом разделения программы на детали.

На рисунке 5 представлено схематическое взаимодействие между элементами объектно-ориентированного программирования.

Картинки по запросу ооп

Рисунок 5. Схема зависимостей ООП

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

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

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

Инкапсуляция информации дает ей наибольшую защиту от несанкционируемого доступа.

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

Расширение типа и вытекающий из него полиморфизм переменных оказываются полезными преимущественно в следующих ситуациях:

  1. Проведение работ с разнородными структурами данных. Программы могут работать, не утруждая себя изучением вида объектов. Новые виды объектов можно добавить в любой момент.
  2. Возможность изменения поведения во время выполнения операции. Во время выполнения операции один объект, может быть, подвергнут замене другим, без срыва операции.
  3. Реализация первичных компонентов.
  4. При возможности модернизации объектов, алгоритмы можно модифицировать до такой степени, что они смогут работать с несколькими видами объектов, значительно упрощая выполнение операции и разгружая аппаратное обеспечение.

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

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

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

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

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

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

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

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

  1. Необходимо строгое понимание базовых концепций, такие как классы, наследование и динамическое связывание. Программисты, которым знакомо слово «модуль» , а также с абстрактными типами данных, эта задача покажется легче, чем начинающим программистам.
  2. Для многоразового использования модулей, программисту необходимо знать большие библиотеки классов. Порой это оказывается сложнее, чем изучение нового языка программирования. Библиотека классов – это как отдельный виртуальный язык, который включает в себя сотни типов и тысячи различных операций.
  3. Проектирование классов, значительно сложнее и трудозатратнее, чем их дальнейшее использование. При проектировании класса, также как и при проектирование языка от программиста требуется большой опыт. Проектирование производится практически «вслепую», где приходится учится только на своих ошибках.
  4. Без практического применения классов, их изучение дается значительно труднее. Только приобретя небольшой опыт в программировании и работе с языками ООП, начинаешь чувствовать себя увереннее.

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

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

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

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

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

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

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

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

  1. Недостатки ООП

Некоторые программисты говорят, что объектно-ориентированное программирование является менее эффективным подходом, по сравнению с другими.

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

О недостатках объектно-ориентированного программирования, по порядку:

  • Неэффективность на этапе выполнения. Разберем на примере Smalltalk. В данном языке сообщения интерпретируются в процессе выполнения программы путем осуществления поиска их в одной или нескольких таблиц за счет выбора модуля, который подходит больше всего. Это все тормозит работу системы и ее модулей. Если сравнивать оптимизированную Smalltalk программу, с оптимизированной программой, построенной на C (Си), то вторая будет выполнять поставленную задачу гораздо быстрее.

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

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

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

Еще один подход – дать возможность удаления лишних методов компоновщику. К счастью интеллектуальные компоновщики уже доступны в ряде популярных языков программирования ООП и операционных систем (Windows, Linux, MacOS).

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

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

Если классы будут использоваться только там, где их действительно необходимо использовать, то потеря эффективности на этапе выполнения, а также нагрузка на память сводится к минимуму.

  1. Будущее объектно-ориентированного программирования

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

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

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

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

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

2.1 Языки, используемые в объектно-ориентированном программировании

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

      1. Java

Данный язык программирования является сильно типизированным объектно-ориентированным языком программирования, который был разработан компанией Sun Microsystems.

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

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

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

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

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

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

Актуальной версией Java на текущий момент является версия Java SE 11.

      1. Perl

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

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

Общую структуру своего синтаксиса и структуру построения выражений Perl берет от языка C (Си)

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

В последних версиях Perl была добавлена поддержка работы со сложными типами данных, первоклассными функциями и объективная модель.

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

      1. Phyton

Одним из самых популярных языков объектно-ориентированного программирования также является язык программирования Phyton.

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

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

Разработка Phyton была начата в конце 1980-х годов, сотрудником голландского института CWI Гвидо ван Россумом. Для распределённой ОС Amoeba требовался расширяемый скриптовый язык, и Гвидо начал писать Python на досуге, позаимствовав некоторые наработки для языка ABC (Гвидо участвовал в разработке этого языка, ориентированного на обучение программированию). В феврале 1991 года Гвидо опубликовал исходный текст в группе новостей alt.sources. С самого начала Python проектировался как объектно-ориентированный язык.

Для разработки данного языка программирования были позаимствованы некоторые особенности таких языков как: ABC, Modula-3, C, Smalltalk, Lisp, Fortran, Miranda, Java, Icon.

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

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

      1. Smalltalk

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

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

Smalltalk был разработан компанией Xerox PARC в 1970-х годах. Некоторые программисты считают, что Smalltalk является про-родителем объектно-ориентированного программирования.

Среди основных идей Smalltalk, выделяеют следующие идеи:

Всё — объекты, и всё их взаимодействие — через посылку сообщений. Строки, целые числа, логические значения, определения классов, блоки кода, стеки, память, составляющие самой интегрированной среды разработки и исполнения — всё представляется в виде объектов. У объектов есть методы и состояние. Любому объекту может быть послано любое сообщение. При отправке сообщения, среда исполнения всегда ищет у объекта-получателя подходящий метод и выполняет его, а если не находит — выполняет у объекта-получателя специальный метод для неопознанных сообщений. Объект-получатель сам определяет, является ли полученное сообщение правильным, и что надо сделать, чтобы его обработать.

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

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

Smalltalk также использует другие современные идеи:

Сборка мусора встроена в язык и незаметна разработчику.

Dynamic translation: современные коммерческие виртуальные машины компилируют байткоды в машинные коды для быстрого выполнения.

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

2.2 Применение объектно-ориентированного программирования, непосредственно при разработке информационной системы

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

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

      1. Построение диаграмм

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

В нашем случае, будет взят пример использования информационной системы «Электронный дневник».

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

Диаграмма представлена на рисунке 6.

Рисунок 6. Диаграмма вариантов использования информационной системы «Электронный дневник»

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

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

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

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

Диаграммы бизнес-процессов представлены на рисунках 7 и 8.

На рисунке 7 представлена диаграмма бизнес-процесса «Просмотр оценки (оценок)». В данном процессе задействованы: Клиентская часть при помощи, которой пользователь общается с информационной системой, Интегрированная оболочка, которая отправляет сообщения и выполняет запросы внутри себя и обращения к базе данных и непосредственно База данных, которая является хранилищем информации.

Рисунок 7. Диаграмма выполнения бизнес-процесса «Просмотр оценки»

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

Рисунок 8. Диаграмма выполнения бизнес-процесса «Изменение расписания»

      1. Процесс разработки и реализации информационной системы

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

Работа с пользователя с информационной системы будет при помощи web-интерфейса.

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

Сам графический интерфейс представлен на рисунке 9.

Рисунок 9. Графический интерфейс информационной системы «Электронный дневник»

Графический интерфейс по-другому называется «Клиентской частью информационной системы».

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

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

Например, процесс авторизации в системе, выглядит следующим образом:

<script>

var HiddenContainer = document.getElementById("myI");

var MyDBAdapter = document.createElement("iframe");

MyDBAdapter.style.visibility="hidden";

MyDBAdapter.name="MC";

HiddenContainer.appendChild (MyDBAdapter);

function isAuthorized ( is_auth){

if (is_auth){

}else{

alert ("Авторизация провалена!");

}

}

</script>

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

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

Как видно в коде выше, код написан на языке программирования Java, который является объектно-ориентированным языком программирования.

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

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

var request = new Request(

"select * from bases.class where class = ‘7A’")

Здесь показан только запрос к базе данных, с целью изучения синтаксиса построения запросов SQL.

По запросу видно, что пользователь произвел обращение к системе с целью поиска класса 7А.

Если углубленно говорить об этой связке, то стоит отметить следующее:

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

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

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

Заключение

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

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

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

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

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

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

Если же при разработке ИС выбран язык, который уже соответственно давно никем не поддерживается, то разработка системы будет безуспешной.

Список литературы

  1. Особенности объектно-ориентированного программирования. Ссылка: http://zadocs.ru/informatika/23115/index.html
  2. Информационный портал. Объектно-ориентированное программирование. Ссылка: http://www.uni-vologda.ac.ru/oberon/infoart/plus&min.htm
  3. Учебное пособие ПИС. Ссылка: https://studfiles.net/preview/4418090/page:4/
  4. Википедия. Phyton. Ссылка: https://ru.wikipedia.org/wiki/Python
  5. Википедия. Smalltalk. Ссылка: https://ru.wikipedia.org/wiki/Smalltalk
  6. Википедия. Perl. Ссылка: https://ru.wikipedia.org/wiki/Perl
  7. Википедия. Java. Ссылка: https://ru.wikipedia.org/wiki/Java