Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Объектно-ориентированные ИТ. Программно-аппаратные решения в прикладной области. Совокупная стоимость владения, технико-экономические показатели целесообразности применения
Использование объектно-ориентированного подхода позволяет свести проектирование открытой системы к оптимальному синтезу функционально независимых компонент (объектов), совместно выполняющих заданные функции системы с требуемой эффективностью, и позволяющих адаптировать систему к вновь появляющимся задачам за счёт набора специфических свойств (наследование и проч.). Таким образом, значительно снижаются затраты на разработку, внедрение и модификацию систем. Объектно-ориентированное программирование - это технология программирования, при которой программа рассматривается как набор дискретных объектов, содержащих, в свою очередь, наборы структур данных и процедур, взаимодействующих с другими объектами. На различных этапах анализа и синтеза систем возникают проблемы разбиения (декомпозиции) системы на подсистемы, задачи на подзадачи, программного обеспечения на отдельные программы и подпрограммы. При этом объекты каждого последующего уровня разбиения представляют собой абстрактные компоненты (объекты) системы предыдущего уровня, реализация которого зависит от конкретной рассматриваемой проблемы. В объектно-ориентированных открытых системах декомпозиция системы на объекты осуществляется с учётом удобства последующего детального анализа, разработки и внедрения системы. Одним из наиболее важных критериев выделения компонентов открытой системы является минимизация числа аппаратно-зависимых её компонент. Это позволяет снизить затраты на адаптацию системы при переносе на другую аппаратную платформу, а также уменьшить количество неиспользуемых компонент при работе на конкретной платформе. Решение этой проблемы осуществляется путём исследования существующих платформ, оценки направлений их развития, анализа возможностей использования принятых и (или) предложения новых стандартов взаимодействия системы с аппаратной платформой. На основе декомпозиции системы: · выделяются задачи, подлежащие автоматизации; · определяется необходимое множество процедур реализации заданного множества функциональных задач и необходимой для этого информации; · осуществляется предварительная оценка уровня стандартизации используемых алгоритмов и интерфейсов. Объектно-ориентированный подход породил создание распределённой среды обработки данных, включающей системы обработки данных, информации и знаний. Распределенная среда обработки данных или среда распределенных вычислений (Distributed Computing Environment, DCE) - это технология распределённой обработки данных, представляющая стандартный набор сетевых служб для выполнения прикладных процессов, рассредоточенных среди группы абонентских систем (по гетерогенной сети).
С одной стороны, на различных этапах анализа и синтеза систем возникают проблемы разбиения (декомпозиции) системы на подсистемы, задачи на более мелкие составляющие (подзадачи, программного обеспечения на отдельные программы и подпрограммы) – объекты на подобъекты. При этом объекты каждого последующего уровня разбиения представляют собой абстрактные компоненты (объекты) системы предыдущего уровня, реализация которого зависит от конкретной рассматриваемой проблемы. С другой стороны, обилие различных программно-аппаратных средств и систем привело к несовместимости многих из них. Решать проблему в данной области, как практически и в любых других предметных областях, можно выработав единые правила, приобретающие статус отраслевых, национальных и международных стандартов. Хотя единого рецепта интеграции нет, решение этой проблемы на международном уровне заключается в использовании принципа открытых систем. Термин «открытые системы» понимается как возможность любых двух систем взаимодействовать между собой с помощью соответствующих рекомендаций. Повседневные объекты взаимодействуют друг с другом, посылая или получая сигналы, или сообщения. Программные объекты взаимодействуют путем передачи друг другу сообщений. Человек на основании одинаковых свойств объединяет повседневные объекты в классы. Программные объекты, обладающие одинаковыми свойствами, также группируются в классы. Классы повседневных объектов образуют иерархию. Они наследуют общие свойства от более старших в иерархии классов, называемых суперклассами. Объектно-ориентированные информационные технологии позволяют свести проектирование открытой системы к оптимальному синтезу функционально независимых компонент (объектов), совместно выполняющих заданные функции системы с требуемой эффективностью, и позволяющих адаптировать систему к вновь появляющимся задачам за счет набора специфических свойств (наследование и др.). Таким образом, значительно снижаются затраты на разработку, внедрение и модификацию систем. Объектно-ориентированные информационные технологии занимают важное место в различных информационных системах, особенно в автоматизированных информационных системах, например, управления производством (АСУП), представляющих совокупность взаимодействующих между собой объектов. Они, как правило, включают элементы технологий поддержки принятия управленческих решений и ориентированы на широкое использование сетевых информационных технологий. Современные сетевые объектно-ориентированные информационные технологии являются компонентами технологий управления в различных предметных областях. Объектно-ориентированные технологии используют при создании сервисно-ориентированной архитектуры (SOA) систем. В ней процессы рассматриваются как совокупность связанных между собой сервисов, реализованных на основе открытых стандартов. Объектно-ориентированный подход способствовал появлению распределенной среды обработки данных, включающей системы обработки данных, информации и знаний, базирующейся на распределенных информационных технологиях. В современных сетевых информационных технологиях все чаще используют распределенную обработку данных. Она позволяет повысить эффективность удовлетворения информационных потребностей пользователей, обеспечить гибкость и оперативность принимаемых им решений и др. Под распределенной обработкой данных понимают обработку приложений несколькими территориально разделенными ЭВМ. При этом в приложениях, связанных с обработкой базы данных, собственно управление базой данных может выполняться централизованно. В этом случае используют программное обеспечение, управляющее распределенными базами данных (РБД) и образованными с их помощью банками данных (РБнД). Выделяют однородные и неоднородные распределенные базы данных. В любом случае задача распределенных баз и банков данных заключается в одновременном решении задач интеграции и децентрализации. К функционально-распределенным информационным системам могут относиться однородные и неоднородные распределенные базы и банки данных. При этом функциональность заключается не только в различном местоположении фрагментов или собственно баз данных, но и распределенном выполнении определенных функций при работе с подобными базами и банками данных. Технология создания информации заключается в организации и формирования данных, информации и знаний в определённую электронную форму, например, создание текстовых данных с помощью ввода их в каком-либо текстовом редакторе, включение текстовой и иной информации в состав баз данных и др. Технологические операции ввода информации делят на осуществляемые операторами (людьми) и специальными техническими устройствами, в т.ч. датчиками. Ввод информации и данных в ЭВМ осуществляется с помощью: клавиатуры, датчиков, различных периферийных устройств (сканеров, дигитайзеров, аудио и видеоустройств). Ввод информации в ЭВМ с помощью клавиатуры является трудоёмкой процедурой. Оперативно текстовую и графическую информацию и данные можно ввести в ЭВМ с помощью сканирующих устройств. Они осуществляют оптический ввод информации и преобразование её в цифровую форму. В результате получаются графические образы документов, которые могут быть сохранены в одном из графических форматов, а в последующем – обработаны. При этом текстовые данные можно перевести из графического образа в машиноизменяемый текст. Обычно сканируют: текст, штриховые чертежи, рисунки, фотографии, слайды и микрофильмы. Кроме того, сканирование осуществляется в системах контроля и обработки документов (например, при переписи населения), при выполнении различных учётных функций. Звуковая, видеоинформация и данные вводится в компьютер и оцифровываться в нём с помощью звуковых и видеоадаптеров. Информационные технологии сбора и регистрации информации, данных и знаний осуществляются с помощью различных средств. Различают механизированный; автоматизированный и автоматический способы сбора и регистрации информации и данных. Сбор данных, информации, знаний представляет собой процесс регистрации, фиксации, записи информации (данных, знаний) о событиях, объектах (реальных и абстрактных), связях, признаках и соответствующих действиях. Иногда выделяют отдельные операции “сбор данных и информации” и “сбор знаний”. Сбор данных и информации – это процесс получения данных от различных источников, группирования их и представления в форме, необходимой для ввода в ЭВМ. Сбор знаний – это получение информации о предметной области от специалистов-экспертов и представление её в форме, необходимой для записи в базу знаний. Многие современные языки специально созданы для облегчения объектно-ориентированного программирования. Однако следует отметить, что можно применять техники ООП и для необъектно-ориентированного языка и наоборот, применение объектно-ориентированного языка вовсе не означает, что код автоматически становится объектно-ориентированным. Современный объектно-ориентированный язык предлагает, как правило, следующий обязательный набор синтаксических средств: · Объявление классов с полями (данными — членами класса) и методами (функциями — членами класса). · Механизм расширения класса (наследования) — порождение нового класса от существующего с автоматическим включением всех особенностей реализации класса-предка в состав класса-потомка. Большинство ООП-языков поддерживают только единичное наследование. · Полиморфные переменные и параметры функций (методов), позволяющие присваивать одной и той же переменной экземпляры различных классов. · Полиморфное поведение экземпляров классов за счёт использования виртуальных методов. В некоторых ООП-языках все методы классов являются виртуальными. Видимо, минимальным традиционным объектно-ориентированным языком можно считать язык Оберон, который не содержит никаких других объектных средств, кроме вышеперечисленных (в исходном Обероне даже нет отдельного ключевого слова для объявления класса, а также отсутствуют явно описываемые методы, их заменяют поля процедурного типа). Но большинство языков добавляют к указанному минимальному набору те или иные дополнительные средства. В их числе: · Конструкторы, деструкторы, финализаторы. · Свойства (аксессоры). · Индексаторы. · Интерфейсы (например, в Java используются также как альтернатива множественному наследованию — любой класс может реализовать сколько угодно интерфейсов). · Переопределение операторов для классов. · Средства защиты внутренней структуры классов от несанкционированного использования извне. Обычно это модификаторы доступа к полям и методам, типа public, private, обычно также protected, иногда некоторые другие. Часть языков (иногда называемых «чисто объектными») целиком построена вокруг объектных средств — в них любые данные (возможно, за небольшим числом исключений в виде встроенных скалярных типов данных) являются объектами, любой код — методом какого-либо класса, и невозможно написать программу, в которой не использовались бы объекты. Примеры подобных языков — Smalltalk, Python, Java, C#, Ruby, AS3. Другие языки (иногда используется термин «гибридные») включают ООП-подсистему в исходно процедурный язык. В них существует возможность программировать, не обращаясь к объектным средствам. Классические примеры — C++, Delphi и Perl.
Объектно-ориентированные технологии, технологии объектно-ориентированного анализа - технологии представления и актуализации информации, информационных процессов, систем как совокупностей объектов и классов с использованием следующих понятий: объект, экземпляр класса - все то, что может быть полно описано некоторыми атрибутами состояния; класс - совокупность объектов с одинаковыми атрибутами; инкапсуляция - скрытие внутренней информации, возможность отделения объектов и классов от внешнего мира; наследование - возможность создавать из классов-родителей новые классы-потомки, сохраняющие атрибуты и свойства родителей; полиморфизм - способность объектов выбирать метод представления на основе типов данных, актуализируемых сообщений.
Инструменты объектно-ориентированного анализа: атрибуты (описания объектов, классов); операции (процессы, применяемые к классам объектов); потоки данных (группы элементов данных, реализующие связи между объектами); наследование (агрегирование и обобщение).
Пример: Объектно-ориентированные среды программирования, например, С++, Smalltalk; объектно-ориентированный инжиниринг или набор приемов и методов проектирования бизнеса, наиболее эффективно обеспечивающих заданные цели и прибыль; объектно-ориентированный пользовательский интерфейс, использующий, например, понятия " класс описаний", " класс языков", " класс операционных сред" и др. При объектно-ориентированном программировании в среде языка АPL, например, процедуры исполняются в соответствии с логикой и инструкциями некоторой программы, которая определяет последовательность и содержание действий; выполнение этой программы инициируется с помощью сообщения, посылаемого заданному объекту пользователем, другой программой или объектом. Получатель сообщения решает, какая программа будет выполнена.
Объектно-ориентированный подход к проектированию программных продуктов основан на: · выделении классов объектов; · установлении характерных свойств объектов и методов их обработки; · создании иерархии классов, наследовании свойств объектов и методов их обработки.
Каждый объект объединяет как данные, так и программу обработки этих данных и относится к определенному классу. С помощью класса один и тот же программный код можно использовать для относящихся к нему различных объектов.
Объектный подход при разработке алгоритмов и программ предполагает: · объектно-ориентированный анализ предметной области; · объектно-ориентированное проектирование;
Объектно-ориентированный анализ – анализ предметной области и выделение объектов, определение свойств и методов обработки объектов, установление их взаимосвязей.
Объектно-ориентированное проектирование соединяет процесс объектной декомпозиции и представления с использованием моделей данных проектируемой системы на логическом и физическом уровнях, в статике и динамике.
Для проектирования программных продуктов разработаны объектно-ориентированные технологии, которые включают в себя специализированные языки программирования и инструментальные средства разработки пользовательского интерфейса.
Пример: HTML - статичное средство. Чтобы " оживить" содержимое Web, сделать интерактивные HTML-страницы, используется среда JavaScript. Одной из важных для информатики объектно-ориентированных систем является Java-система, сред - Java-интерпретирующая машина, технологий - Java-технология. Расмотрим их вкратце. В основе всех их лежит язык программирования Java, ориентированный на сеть Internet и серверы WWW. Язык Java произошел от языка программирования Oak, с синтаксисом, близким к синтаксису языка C++. Средствами языка Java можно разрабатывать приложения для различных платформ: Intel Pentium, Macintosh, Sun и др. Java-программы бывают автономного использования (выполняемые в режиме интерпретации на конкретной компьютерной платформе) и аплеты, (applets), выполняемые в режиме интерпретации виртуальной Java-машиной, которая встроена практически во все современные браузеры. Аплеты Java встраиваются в документы HTML, хранящиеся на сервере WWW. С помощью аплетов можно сделать страницы сервера Web динамичными и интерактивными. Все данные для обработки аплеты могут получить только от сервера Web. Язык Java является объектно-ориентированным и имеет объемную библиотеку классов, значительно упрощающих разработку приложений, так как программист больше внимания может уделить функциональной части приложения, а не организации интерфейса, динамических массивов и т.п. В широком смысле, Java - это технология, изначально рассчитанная на интеграцию с сетевой Web-средой, полностью независимой от платформы. Виртуальная Java-машина - машина, на которой исходные Java-программы интерпретируются в коды этой машины. Это делает Java-среду мощным и удобным средством разработки клиентских компонентов Web-систем. В Java-среде пользователь может осуществлять динамическую загрузку объектов из сети, т.е. ему не нужны дорогостоящие работы по наладке, администрированию клиентских Java-систем, так как для обеспечения работы клиента на новой версии достаточно загрузить ее на сервере. Имеются инструментальные среды, например, Java Studio, позволяющие проектировать приложения вообще без программирования, из готовых компонент, устанавливая между ними связи и отношения в соответствии с внутренней логикой приложения. Для повышения производительности Java-приложений в браузерах используется компиляция Just-In-Time compilation (" на лету" ). При первой загрузке аплета его код транслируется в обычную исполняемую программу, которая сохраняется на диске и запускается. В результате общая скорость выполнения аплета увеличивается в несколько раз
|
Последнее изменение этой страницы: 2017-03-15; Просмотров: 779; Нарушение авторского права страницы