Объектно-ориентированный подход основан на систематическом
использовании моделей для языково-независимой разработки программной системы, на
основе из ее прагматики.
Последний термин нуждается в пояснении. Прагматика
определяется целью разработки программной системы: для обслуживания клиентов
банка, для управления работой аэропорта, для обслуживания чемпионата мира по
футболу и т.п. В формулировке цели участвуют предметы и понятия реального мира,
имеющие отношение к разрабатываемой программной системе (см. рисунок 1.1). При
объектно-ориентированном подходе эти предметы и понятия заменяются их моделями,
т.е. определенными формальными конструкциями, представляющими их в программной
системе.
Рис. 1.1. Семантика (смысл программы с точки зрения выполняющего
ее компьютера) и прагматика (смысл программы с точки зрения ее пользователей)
Модель содержит не все признаки и свойства представляемого ею
предмета (понятия), а только те, которые существенны для разрабатываемой
программной системы. Тем самым модель "беднее", а, следовательно,
проще представляемого ею предмета (понятия). Но главное даже не в этом, а в том,
что модель есть формальная конструкция: формальный характер моделей позволяет
определить формальные зависимости между ними и формальные операции над ними. Это
упрощает как разработку и изучение (анализ) моделей, так и их реализацию на
компьютере. В частности, формальный характер моделей позволяет получить
формальную модель разрабатываемой программной системы как композицию формальных
моделей ее компонентов.
Таким образом, объектно-ориентированный подход помогает
справиться с такими сложными проблемами, как
- уменьшение сложности программного обеспечения;
- повышение надежности программного обеспечения;
- обеспечение возможности модификации отдельных компонентов программного
обеспечения без изменения остальных его компонентов;
- обеспечение возможности повторного использования отдельных компонентов
программного обеспечения.
Систематическое применение объектно-ориентированного подхода
позволяет разрабатывать хорошо структурированные, надежные в эксплуатации,
достаточно просто модифицируемые программные системы. Этим объясняется интерес
программистов к объектно-ориентированному подходу и объектно-ориентированным
языкам программирования. Объектно-ориентированный подход является одним из
наиболее интенсивно развивающихся направлений теоретического и прикладного
программирования.
Цель данного курса лекций - введение в
объектно-ориентированный подход к разработке и реализации прикладных программных
систем. Я попытаюсь убедить вас в целесообразности и плодотворности
систематического применения объектно-ориентированного подхода на всех этапах
жизненного цикла прикладной программной системы (см. рисунок 1.2), начиная с
анализа требований к программной системе и ее предварительного проектирования, и
кончая ее реализацией, тестированием и последующим сопровождением.
Рис. 1.2. Жизненный цикл программной системы
Объектно-ориентированный подход имеет два аспекта:
- объектно-ориентированная разработка программного
обеспечения;
- объектно-ориентированная реализация программного
обеспечения.
|