Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Дж. Лодон_Управление информационными системами.doc
Скачиваний:
73
Добавлен:
31.07.2019
Размер:
66.83 Mб
Скачать

6.4. Современные инструментальные средства разработки программ

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

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

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

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

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

Например, объектно-ориентированное финансовое приложение может вклю­чать объекты Client (Клиент), отсылающие сообщения о дебете и кредите объек­там Accounts (Счета). Объекты Accounts, в свою очередь, могут поддерживать объекты Cash-on-Hand (Наличные деньги), Accounts-Payable (Счета к оплате) и Accounts-Receivable (Полученные счета).

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

Данные объекта инкапсулированы по отношению к другим компонентам си­стемы, так что каждый объект является независимым «строительным» блоком программы, который может быть использован множеством различных систем без изменения программного кода. Благодаря этому объектно-ориентированное про­граммирование обеспечивает снижение затрат времени, а также удешевляет сто­имость разработки благодаря созданию повторно используемого кода (или моду­лей). В процессе работы программистов формируется библиотека повторно применяемых объектов, а преимущества от применения объектно-ориентирован­ной технологии многократно возрастают в случае организации общего доступа к подобным библиотекам (Fayad and line, 1996). Однако этот потенциал остается нереализованным до тех пор, пока организация не разработает стандарты и про­цедуры, регламентирующие повторное применение кода (Kim and Stohr, 1998). Объекты, на основе которых могут конструироваться целые системы, становятся доступными в сетях на коммерческой основе. Подобные программные услуги, основанные на сетях, ведут к дальнейшей экономии в процессе разработки про­грамм фирмами.

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

Концепции объектно-ориентированного программирования

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

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

Классы организованы иерархическим образом в суперклассы и подклассы. Например, автомобиль может входить в суперкласс транспортных средств, благо­даря чему наследовать все методы и данные, предварительно определенные для суперкласса. При создании класса Саг (Автомобиль) потребуется лишь указать, чем автомобили отличаются от других транспортных средств. При работе с бан­ковским приложением можно определить объект Savings-Account (Сберегатель­ный счет), который очень похож на объект Bank-Account (Банковский счет), от­личаясь незначительными деталями. Объект Savings-Account наследует состояние и методы объекта Bank-Account, включая несколько дополнений.

На рис. 6.10 иллюстрируется наследование в действии. Здесь показано дере­во классов, описывающее служащих, а также порядок оплаты их работы. Класс

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

O bject-oriented programming (объектно-ориентированое программиро­вание)

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

объекте.