Объектно-ориентированные технологии программирования прикладных программных средств. Определение классов
УЗБЕКСКОЕ АГЕНТСТВО СВЯЗИ И ИНФОРМАТИЗАЦИИ
ТАШКЕНТСКИЙ
УНИВЕРСИТЕТ ИНФОРМАЦИОННЫХ
ТЕХНОЛОГИЙ
Самостоятельная
работа
Тема: Объектно-ориентированные технологии программирования
прикладных
программных средств. Определение
классов.
(Ф.И.О.)
(число) (балл)
Ташкент - 2011
Оглавление
Основные понятия объектно-ориентированного подхода
Объектно-ориентированный
подход основан на систематическом
использовании моделей для
Прагматика определяется целью разработки программной системы: для обслуживания клиентов банка, чемпионата мира по футболу, управления работой аэропорта и т.п. В формулировке цели участвуют предметы и понятия реального мира, имеющие отношение к разрабатываемой программной системе (см. Рис.1). При объектно-ориентированном подходе эти предметы и понятия заменяются их моделями, т.е. определенными формальными конструкциями, представляющими их в программной системе.
Рис. 1. Семантика (смысл программы с точки зрения выполняющего ее компьютера) и прагматика (смысл программы с точки зрения ее пользователей)
Модель содержит
не все признаки и свойства представляемого
ею предмета (понятия), а только те, которые
существенны для
Таким образом,
объектно-ориентированный
- уменьшение сложности программного обеспечения;
- повышение надежности программного обеспечения;
- обеспечение возможности модификации отдельных компонентов программного обеспечения без изменения остальных его компонентов;
- обеспечение возможности повторного использования отдельных компонентов программного обеспечения.
Систематическое применение объектно-ориентированного подхода позволяет разрабатывать хорошо структурированные, надежные в эксплуатации, достаточно просто модифицируемые программные системы. Этим объясняется интерес программистов к объектно-ориентированному подходу и объектно-ориентированным языкам программирования. Объектно-ориентированный подход является одним из наиболее интенсивно развивающихся направлений теоретического и прикладного программирования.
В данной работе дается теоритическое введение в объектно-ориентированный подход к разработке и реализации прикладных программных систем, а также даются сведения о целесообразности и плодотворности систематического применения объектно-ориентированного подхода на всех этапах жизненного цикла прикладной программной системы (см. Рис.2), начиная с анализа требований к программной системе и ее предварительного проектирования, и кончая ее реализацией, тестированием и последующим сопровождением.
Рис.2. Жизненный цикл программной системы
Объектно-ориентированный подход имеет два аспекта:
- объектно-ориентированная разработка программного обеспечения;
- объектно-ориентированная реализация программного обеспечения.
Объектно-ориентированная разработка программ
Объектно-ориентированная
разработка программного обеспечения
связана с применением
- объектно-ориентированные методологии (технологии) разработки программных систем;
- инструментальные средства, поддерживающие эти технологии.
Объектно-ориентированная
разработка может начаться на самом
первом этапе жизненного цикла; она
не связана с языком программирования,
на котором предполагается реализовать
разрабатываемую программную
Объектно-ориентированная
разработка программного обеспечения
связана с применением
Наиболее известной является объектно-ориентированная методология OMT (Object Modeling Technique), которая поддерживает две первые стадии жизненного цикла программных систем. Эта методология выбрана для демонстрации объектно-ориентированного подхода, потому что является одной из наиболее продвинутых и популярных объектно-ориентированных методологий. Более того, ее графический язык (система обозначений для диаграмм) получил достаточно широкое распространение и используется в некоторых других объектно-ориентированных методологиях, а также в большинстве публикаций по объектно-ориентированным методологиям. Методология OMT поддерживается системой Paradigm+, одной из наиболее известных инструментальных систем объектно-ориентированной разработки.
Объектно-ориентированные языки программирования
Реализация программного обеспечения связана с использованием одного из языков программирования. Показано, что наиболее удобными для реализации программных систем, разработанных в рамках объектно-ориентированного подхода, являются объектно-ориентированные языки программирования, хотя возможна реализация и на обычных (не объектно-ориентированных) языках.
Объектно-ориентированные языки программирования пользуются в последнее время большой популярностью среди программистов, так как они позволяют использовать преимущества объектно-ориентированного подхода не только на этапах проектирования и конструирования программных систем, но и на этапах их реализации, тестирования и сопровождения.
Первый объектно-
Но достоинства языка Simula 67 были замечены некоторыми программистами, и в 70-е годы было разработано большое число экспериментальных объектно-ориентированных языков программирования: например, языки CLU, Alphard, Concurrent Pascal и др. Эти языки так и остались экспериментальными, но в результате их исследования были разработаны современные объектно-ориентированные языки программирования: C++, Smalltalk, Eiffel и др.
Наиболее распространенным объектно-ориентированным языком программирования безусловно является C++. Свободно распространяемые коммерческие системы программирования C++ существуют практически на любой платформе. Широко известна свободно распространяемая система программирования G++, которая дает возможность всем желающим разобрать достаточно хорошо и подробно прокомментированный исходный текст одного из образцовых компиляторов языка C++. Завершается работа по стандартизации языка C++: последний Draft стандарта C++ выпущен в июне 1995 г. (он доступен по Internet).
Разработка
новых объектно-
Первая фаза жизненного цикла - анализ требований и предварительное проектирование системы. Объектно-ориентированное моделирование.
Как известно, проектирование прикладной программной системы начинается с анализа требований, которым она должна будет удовлетворять. Такой анализ проводится с целью понять назначение и условия эксплуатации системы настолько, чтобы суметь составить ее предварительный проект.
При объектно-ориентированном подходе анализ требований к системе сводится к разработке моделей этой системы. Моделью системы (или какого-либо другого объекта или явления) мы называем формальное описание системы, в котором выделены основные объекты, составляющие систему, и отношения между этими объектами. Построение моделей - широко распространенный способ изучения сложных объектов и явлений. В модели опущены многочисленные детали, усложняющие понимание. Моделирование широко распространено и в науке, и в технике.
Модели помогают:
- проверить работоспособность разрабатываемой системы на ранних этапах ее разработки;
- общаться с заказчиком системы, уточняя его требования к системе;
- вносить (в случае необходимости) изменения в проект системы (как в начале ее проектирования, так и на других фазах ее жизненного цикла).
В настоящее
время существует несколько технологий
объектно-ориентированной
В технологии OMT проектируемая программная система представляется в виде трех взаимосвязанных моделей:
- объектной модели, которая представляет статические, структурные аспекты системы, в основном связанные с данными;
- динамической модели, которая описывает работу отдельных частей системы;
- функциональной модели, в которой рассматривается взаимодействие отдельных частей системы (как по данным, так и по управлению) в процессе ее работы.
Эти три вида моделей позволяют получить три взаимно-ортогональных представления системы в одной системе обозначений. Совокупность моделей системы может быть проинтерпретирована на компьютере (с помощью инструментального программного обеспечения), что позволяет продемонстрировать заказчику характер работы с будущей системой и существенно упрощает согласование предварительного проекта системы.
Модели, разработанные и отлаженные на первой фазе жизненного цикла системы, продолжают использоваться на всех последующих его фазах, облегчая программирование системы, ее отладку и тестирование, сопровождение и дальнейшую модификацию.
Как будет показано в дальнейшем, модели системы не связаны с языком программирования, на котором будет реализована система.
Вторая фаза жизненного цикла - конструирование системы
После того
как прикладная задача исследована
и результаты ее исследования зафиксированы
в виде объектной, динамической и
функциональной моделей, можно приступить
к конструированию системы. На этапе
конструирования системы
Внешняя организация системы называется архитектурой системы. Выбор архитектуры системы является еще одной задачей, решаемой на этапе ее конструирования.
Конструирование
системы завершается
Третья фаза жизненного цикла - реализация объектно-ориентированного проекта
Третья фаза жизненного цикла программной системы состоит в реализации разработанных программных единиц (классов, функций, библиотек), которые в совокупности составляют разрабатываемую программную систему. Реализация каждой программной единицы может осуществляться как на объектно-ориентированном, так и на не объектно-ориентированном языке программирования, с использованием ранее разработанных программ, библиотек и баз данных.
Каждый язык программирования имеет средства для выражения трех сторон спецификации разрабатываемой прикладной системы: структур данных, потоков управления и функциональных преобразований. В этом разделе будут рассмотрены проблемы, решаемые на этапе реализации объектно-ориентированного проекта, разработанного с использованием методологии OMT.
Определение классов
Анализ внешних требований к проектируемой прикладной системе позволяет определить объекты и классы объектов, связанные с прикладной проблемой, которую должна решать эта система. Все классы должны быть осмыслены в рассматриваемой прикладной области; классов, связанных с компьютерной реализацией, как например список, стэк и т.п. на этом этапе вводить не следует.
Начать нужно с выделения возможных классов из письменной постановки прикладной задачи (технического задания и другой документации, предоставленной заказчиком). Следует иметь в виду, что это очень сложный и ответственный этап разработки, так как от него во многом зависит дальнейшая судьба проекта.
При определении
возможных классов нужно
Далее список возможных классов должен быть проанализирован с целью исключения из него ненужных классов. Такими классами являются:
- избыточные классы: если два или несколько классов выражают одинаковую информацию, следует сохранить только один из них;
- нерелевантные (не имеющие прямого отношения к проблеме) классы: для каждого имени возможного класса оценивается, насколько он необходим в будущей системе (оценить это часто бывает весьма непросто); нерелевантные классы исключаются;
- нечетко определенные (с точки зрения рассматриваемой проблемы) классы (см. примеры таких классов в п. 2.3.1);
- атрибуты: некоторым существительным больше соответствуют не классы, а атрибуты; такие существительные, как правило, описывают свойства объектов (например, имя, возраст, вес, адрес и т.п.);
- операции: некоторым существительным больше соответствуют не классы, а имена операций (например, телефонный_вызов вряд ли означает какой-либо класс);
- роли: некоторые существительные определяют имена ролей в объектной модели (например, владелец, водитель, начальник, служащий; все эти имена связаны с ролями в различных зависимостях объектов класса человек);
- реализационные конструкции: именам, больше связанным с программированием и компьютерной аппаратурой, не следует на данном этапе сопоставлять классов, так как они не отражают особенностей проектируемой прикладной системы; примеры таких имен: подпрограмма, процесс, алгоритм, прерывание и т.п.
После исключения
имен всех ненужных (лишних) возможных
классов будет получен
Список литературы:
- Чернев Д.А. Конспект лекций к дисциплине «Технология программирования»
- http://tehprog.ru/
- http://citforum.ru/
programming/

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