Файл: Применение объектно-ориентированного подхода при проектировании информационной системы.pdf
Добавлен: 28.03.2023
Просмотров: 476
Скачиваний: 6
СОДЕРЖАНИЕ
Глава 1. Различные подходы к проектированию информационных систем
Глава 2. Объектно–ориентированный подход при проектировании информационной системы
2.1 Характеристика объектно–ориентированного подхода
2.2 Основные понятия объектно–ориентированного подхода
2.3 Преимущества и недостатки объектно–ориентированного подхода
2.4 Программные продукты, используемые для реализации объектно–ориентированного подхода
2.4 Программные продукты, используемые для реализации объектно–ориентированного подхода
Современными языками объектно–ориентированного программирования являются С++ и Java. С середины 90–х годов многие объектно–ориентированные языки реализуются как системы визуального проектирования, в которых интерфейсная часть программного продукта создается в диалоговом режиме, практически без написания программных операторов. К объектно – ориентированным системам визуального проектирования относятся Visual Basic, Delphi, C++ Builder, Visual C++. Язык VBA (Visual Basic for Applications) – язык приложений Microsoft Office (Excel, Word, Access, Power Point и др).
Подробнее рассмотрим каждую из сред.
C++ – компилируемый, статически типизированный язык программирования общего назначения.
Поддерживает такие парадигмы программирования, как процедурное программирование, объектно–ориентированное программирование, обобщённое программирование. Язык имеет богатую стандартную библиотеку, которая включает в себя распространённые контейнеры и алгоритмы, ввод–вывод, регулярные выражения, поддержку многопоточности и другие возможности. C++ сочетает свойства как высокоуровневых, так и низкоуровневых языков. В сравнении с его предшественником – языком C, – наибольшее внимание уделено поддержке объектно–ориентированного и обобщённого программирования.
C++ широко используется для разработки программного обеспечения, являясь одним из самых популярных языков программирования. Область его применения включает создание операционных систем, разнообразных прикладных программ, драйверов устройств, приложений для встраиваемых систем, высокопроизводительных серверов, а также развлекательных приложений (игр). Существует множество реализаций языка C++, как бесплатных, так и коммерческих и для различных платформ. Например, на платформе x86 это GCC, Visual C++, Intel C++ Compiler, Embarcadero (Borland) C++ Builder и другие. C++ оказал огромное влияние на другие языки программирования, в первую очередь на Java и C#.
Синтаксис C++ унаследован от языка C. Одним из принципов разработки было сохранение совместимости с C. Тем не менее, C++ не является в строгом смысле надмножеством C; множество программ, которые могут одинаково успешно транслироваться как компиляторами C, так и компиляторами C++, довольно велико, но не включает все возможные программы на C.
Java – сильно типизированный объектно–ориентированный язык программирования, разработанный компанией Sun Microsystems (в последующем приобретённой компанией Oracle). Приложения Java обычно транслируются в специальный байт–код, поэтому они могут работать на любой компьютерной архитектуре, с помощью виртуальной Java–машины. Дата официального выпуска – 23 мая 1995 года.
Программы на Java транслируются в байт–код Java, выполняемый виртуальной машиной Java (JVM) – программой, обрабатывающей байтовый код и передающей инструкции оборудованию как интерпретатор.
Достоинством подобного способа выполнения программ является полная независимость байт–кода от операционной системы и оборудования, что позволяет выполнять Java–приложения на любом устройстве, для которого существует соответствующая виртуальная машина. Другой важной особенностью технологии Java является гибкая система безопасности, в рамках которой исполнение программы полностью контролируется виртуальной машиной. Любые операции, которые превышают установленные полномочия программы (например, попытка несанкционированного доступа к данным или соединения с другим компьютером), вызывают немедленное прерывание.
Часто к недостаткам концепции виртуальной машины относят снижение производительности. Ряд усовершенствований несколько увеличил скорость выполнения программ на Java:
- применение технологии трансляции байт–кода в машинный код непосредственно во время работы программы (JIT–технология) с возможностью сохранения версий класса в машинном коде,
- широкое использование платформенно–ориентированного кода (native–код) в стандартных библиотеках,
- аппаратные средства, обеспечивающие ускоренную обработку байт–кода (например, технология Jazelle, поддерживаемая некоторыми процессорами фирмы ARM).
По данным сайта shootout.alioth.debian.org, для семи разных задач время выполнения на Java составляет в среднем в полтора–два раза больше, чем для C/C++, в некоторых случаях Java быстрее, а в отдельных случаях в 7 раз медленнее. С другой стороны, для большинства из них потребление памяти Java–машиной было в 10–30 раз больше, чем программой на C/C++. Также примечательно исследование, проведённое компанией Google, согласно которому отмечается существенно более низкая производительность и бо́льшее потребление памяти в тестовых примерах на Java в сравнении с аналогичными программами на C++.
Идеи, заложенные в концепцию и различные реализации среды виртуальной машины Java, вдохновили множество энтузиастов на расширение перечня языков, которые могли бы быть использованы для создания программ, исполняемых на виртуальной машине. Эти идеи нашли также выражение в спецификации общеязыковой инфраструктуры CLI, заложенной в основу платформы .NET компанией Microsoft.
Microsoft Visual Basic – язык программирования, а также интегрированная среда разработки программного обеспечения, разрабатываемые корпорацией Microsoft. Язык Visual Basic унаследовал дух, стиль и отчасти синтаксис своего предка – языка BASIC, у которого есть немало диалектов. В то же время Visual Basic сочетает в себе процедуры и элементы объектно–ориентированных и компонентно–ориентированных языков программирования. Интегрированная среда разработки VB включает инструменты для визуального проектирования пользовательского интерфейса, редактор кода с возможностью IntelliSense и подсветкой синтаксиса, а также инструменты для отладки приложений.
Visual Basic также является хорошим средством быстрой разработки (RAD) приложений баз данных для операционных систем семейства Microsoft Windows. Множество готовых компонентов, поставляемых вместе со средой, призваны помочь программисту сразу же начать разрабатывать бизнес–логику приложения, не отвлекая его внимание на написание кода запуска программы, подписки на события и других механизмов, которые VB реализует автоматически.
Первое признание серьёзными разработчиками Visual Basic получил после выхода версии 3. Окончательное признание как полноценного средства программирования для Windows – при выходе версии 5. Версия VB6, входящая в состав Microsoft Visual Studio 6.0, стала по–настоящему зрелым и функционально богатым продуктом.
C++ Builder– программный продукт, инструмент быстрой разработки приложений (RAD), интегрированная среда программирования (IDE), система, используемая программистами для разработки программного обеспечения на языке программирования C++.
Изначально разрабатывался компанией Borland Software, а затем её подразделением CodeGear, ныне принадлежащим компании Embarcadero Technologies.
C++ Builder объединяет в себе комплекс объектных библиотек (STL, VCL, CLX, MFC и др.), компилятор, отладчик, редактор кода и многие другие компоненты. Цикл разработки аналогичен Delphi. Большинство компонентов, разработанных в Delphi, можно использовать и в C++ Builder без модификации, но обратное утверждение не верно.
C++ Builder содержит инструменты, которые при помощи drag–and–drop действительно делают разработку визуальной, упрощает программирование благодаря встроенному WYSIWYG – редактору интерфейса и пр.
C++Builder первоначально создавалась только для платформы Microsoft Windows. Поздние версии, содержащие кроссплатформенную компонентную библиотеку Borland, поддерживают и Windows, и Linux.
В 2003 году Borland выпустила C++BuilderX (CBX), написанный при помощи той же инфраструктуры, что и JBuilder, который при этом был мало похож на C++ Builder или Delphi. Этот продукт предназначался для разработки больших программ для крупных предприятий, но коммерческого успеха не достиг. В конце 2004 года Borland объявила, что продолжит развитие классического C++ Builder и объединит его со средой разработки Delphi, прекратив, таким образом, разработку C++ BuilderX. Спустя примерно год после этого объявления, Borland выпустила Borland Developer Studio 2006, который включал в себя Borland C++Builder 2006, предлагавший улучшенное управление конфигурацией и отладкой. Borland Developer Studio 2006 – единственный полноценный комплект, содержащий Delphi, C++ Builder и C# Builder.
В 2007 году CodeGear выпустила C++Builder 2007, в котором реализовала полную поддержку API Microsoft Windows Vista, увеличила полноту соответствия стандарту ANSI C++, увеличила скорость компиляции и сборки до 500 %, включила поддержку MSBuild, архитектур баз данных DBX4 и «VCL для Web», поддерживающий AJAX. Поддержка API Microsoft Windows Vista включила в себя приложения, изначально оформленные в стиле Vista, и естественную поддержку VCL для Aero и Vista Desktop. CodeGear RAD Studio 2007 содержит C++Builder 2007 и Delphi. Также в 2007 году CodeGear «воскресила» марку «Turbo» и выпустила две «Turbo» версии C++Builder: Turbo C++ Professional и Turbo C++ Explorer (бесплатный), основанных на Borland C++ Builder 2006.
В конце 2008 года компания CodeGear выпустила новую версию RAD Studio, в которую вошли Delphi 2009 и С++Builder 2009. В 2009 году в составе RAD Studio вышел C++Builder 2010.
Ранее сообщалось, что следующая версия, CodeGear C++ Builder (кодовое имя «Commodore»), будет обладать поддержкой x86–64 и возможностью создавать машинный x86–64 код. Однако в 2010 году в состав RAD Studio XE включена версия C++ Builder XE без этой функциональности.
В 2012 году Embarcadero выпустила C++ Builder XE3, совместимый с Windows 8. В 2013 году был выпущен C++ Builder XE4.
Microsoft Visual C++ (MSVC) – интегрированная среда разработки приложений на языке C++, разработанная корпорацией Microsoft и поставляемая либо как часть комплекта Microsoft Visual Studio, либо отдельно в виде бесплатного функционально ограниченного комплекта Visual C++ Express Edition. Сменила интегрированную среду разработки Microsoft QuickC. Visual C++ поддерживает перечень приложений как на Managed C++ и C++/CLI, так и на обычном C++, и тем самым позволяет генерировать код как для платформы .NET Framework, так и для исполнения в среде «чистой» Windows. В этом отношении Visual C++ является уникальным среди других языковых средств, предоставляемых средой Visual Studio, поскольку ни Visual Basic .NET, ни Visual J# не способны генерировать код для чистого Win32, в отличие от предыдущих версий (Visual Basic и Visual J++ соответственно).
ЗАКЛЮЧЕНИЕ
В ходе выполнения работы была достигнута поставленная цель, а именно: рассмотрены особенности применения объектно–ориентированного подхода при проектировании информационной системы.
Для достижения цели были выполнены следующие задачи:
- Проанализирован структурный подход к проектированию информационной системы;
- Рассмотрен процессный подход к проектированию информационной системы;
- Охарактеризован объектно–ориентированный подход;
- Проанализированы основные понятия объектно–ориентированного подхода;
- Выявлены преимущества и недостатки применения объектно–ориентированного подхода при проектировании информационной системы;
- Рассмотрены примеры программных продуктов, применяемых для реализации объектно–ориентированного подхода.
Кроме того, при выполнении работы были получены новые теоретические знания, которые будут полезны при дальнейшем изучении дисциплины, а также смежных с ней, а также и в практической профессиональной и повседневной жизни.
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ
- Мидоу, Ч. Анализ информационных систем: моногр. / Ч. Мидоу. – М.: Прогресс, 2015. – 400 c.
- Раскин Интерфейс: новые направления в проектировании компьютерных систем / Раскин, Джеф. – М.: Символ–плюс, 2017. – 272 c.
- Брейер. М. Автоматизация проектирования вычислительных систем. Языки, моделирование и базы данных // М. Брейер. – М.: Мир, 2015. – 463 c.
- Васильев, А. C#. Объектно–ориентированное программирование // А. Васильев. – М.: Питер, 2017. – 320 c.
- Васильев, А. Н Java. Объектно–ориентированное программирование // А.Н. Васильев. – М.: Питер, 2014. – 400 c
- Вендров, А. М. Практикум по проектированию программного обеспечения экономических информационных систем // А.М. Вендров. – М.: Финансы и статистика, 2017. – 192 c.
- Воройский, Ф. С. Основы проектирования автоматизированных библиотечно–информационных систем // Ф.С. Воройский. – М.: ФИЗМАТЛИТ, 2016. – 384 c.
- Григорьева, А. Л. Процессный подход при проектировании информационной системы ВУЗа // А. Л. Григорьева, Я. Ю. Григорьев, А. Ю. Лошманов – Международный журнал прикладных и фундаментальных исследований. – 2013. – № 5. – С. 168–171;
- Зегжда, Д. П. Основы безопасности информационных систем // Д. П. Зегжда, А. М. Ивашко. – М.: Горячая линия – Телеком, 2017. – 452 c.
- Иванова, Г. С. Объектно–ориентированное программирование // Г.С. Иванова, Т.Н. Ничушкина, Е.К. Пугачев. – М.: МГТУ им. Н. Э. Баумана, 2014. – 368 c.
- Ипатова, Э. Р. Методологии и технологии системного проектирования информационных систем // Э.Р. Ипатова, Ю.В. Ипатов. – М.: Флинта, 2016. – 256 c.
- Комлев, Н. Ю. Объектно Ориентированное Программирование. Хорошая книга для Хороших Людей // Н. Ю. Комлев – М.: Солон–Пресс, 2014. – 892 c.
- Кьоу, Дж. Объектно–ориентированное программирование // Дж. Кьоу, М. Джеанини. – М.: Питер, 2015. – 240 c.
- Мартынов, Н. Н. Алгоритмизация и основы объектно–ориентированного программирования на JavaScript. Информатика и ИКТ. Профильный уровень. 10 класс // Н.Н. Мартынов. – Москва: Высшая школа, 2014. – 272 c.
- Павловская, Т. А. C/C++. Процедурное и объектно–ориентированное программирование. Учебник // Т. А. Павловская. – М.: Питер, 2015. – 496 c.
- Санников, Е. В. Курс практического программирования в Delphi. Объектно–ориентированное программирование // Е.В. Санников. – М.: Солон–Пресс, 2017. – 188 c.
- Слепцов, А. И. Автоматизация проектирования управляющих систем гибких автоматизированных производств // А. И. Слепцов, А. А. Юрасов. – М.: Технiка, 2015. – 110 c.
- Хорев, П. Б. Объектно–ориентированное программирование // П.Б. Хорев. – М.: Academia, 2017. – 448 c.
- Шоу, А. Логическое проектирование операционных систем: моногр. // А. Шоу. – М.: Мир, 2016. – 360 c.
- Ярочкин, В. Безопасность информационных систем // В. Ярочкин. – М.: Ось–89, 2015. – 320 c.