Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Разработка объектно-ориентированныхпрограмм
Большие программные системы становятся все более сложными и требуют новых подходов к разработке. Традиционная разработка использует модель управления, которая предполагает наличие администратора верхнего уровня (top administrator), понимающего систему и поручающего задачи менеджерам. Такая нисходящая программная разработка (top-down program design) рассматривает систему как набор подпрограмм, состоящий из нескольких слоев.
На верхнем уровне главная программа управляет работой системы, выполняя последовательность вызовов подпрограмм, которые производят вычисления и возвращают информацию. Эти подпрограммы могут далее поручать выполнение некоторых задач другим подпрограммам. Элементы нисходящей программной разработки необходимы для всех систем. Однако, когда задача становится слишком большой, этот подход может оказаться неудачным, поскольку его сложность подавляет способность отдельного человека управлять такой иерархией подпрограмм. Кроме того, простые структурные изменения в подпрограммах около вершины иерархии могут потребовать дорогих и занимающих длительное время изменений в алгоритмах для подпрограмм, находящихся в нижней части диаграммы. Объектно-ориентированное программирование использует другую модель системной разработки. Оно рассматривает большую систему как набор объектов (агентов), которые взаимодействуют для выполнения задач. Каждый объект имеет методы, управляющие его данными. Целью программной разработки является создание читабельной и поддерживаемой архитектуры, которая может быть расширена, как диктует необходимость. Хорошо организованные системы легче понимать, разрабатывать и отлаживать. Все философии разработки пытаются преодолеть сложность программной системы с помощью принципа разделения и подчинения. Нисходящая программная разработка рассматривает систему как набор функциональных модулей, состоящий из слоев. Объектно-ориентированное программирование использует объекты как основу разработки. Не существует единственного способа программной разработки и строго определенного процесса, которому необходимо следовать. Разработка программ – это вид деятельности человека, который должен включать творческую свободу и гибкость. В этой книге мы обсуждаем общий подход, определяющий методологию разработки программного продукта (software development methodology). Этот подход включает отдельные фазы разработки программного продукта, среди которых анализ задачи и определение программы, разработка объекта и процесса, кодирование, тестирование и поддержка (сопровождение).
Анализ задачи/определение программы Программная разработка начинается, когда клиент обозначит некоторую задачу, которая должна быть решена. Эта задача часто определяется свободно, без ясного понимания, какие именно данные имеются в наличии (вход) и какая новая информация должна быть получена в результате (выход). Программист анализирует задачу вместе с клиентом и определяет, какую форму должны принять вход и выход и алгоритмы, которые используются при выполнении вычислений. Этот анализ формализуется в фазе разработки программы. Разработка Программная разработка описывает объекты, которые являются основными строительными блоками программы. Разработка описывает также управляющие модули, руководящие взаимодействием между объектами. В фазе объектной разработки определяются объекты, которые будут использоваться в программе, и пишется объявление для каждого класса. Класс тестируется путем его использования с какой-либо небольшой программой, тестирующей методы класса при управляемых условиях. Тот факт, что классы могут тестироваться отдельно, вне области большого приложения, является одной из важнейших возможностей объектно-ориентированной разработки. Фаза разработки управления процессом использует нисходящую разработку путем создания главной программы и подпрограмм для управления взаимодействием между объектами. Главная программа и подпрограммы образуют каркас разработки (design framework). Главный управляющий модуль соответствует главной функции в программе C++ и отвечает за поток данных программы. При нисходящей программной разработке система делится на последовательность действий, которые выполняются как независимые подпрограммы. Главная программа и ее подпрограммы организуются в нисходящую иерархию модулей, называемую структурным деревом (structure tree). Главный модуль является корнем этого дерева. Каждый модуль заключается в прямоугольник, а каждый класс, который используется модулем, заключается в овал. Мы представляем каждый модуль, указывая имя функции, входные и выходные параметры и краткое описание ее действия.
Кодирование В фазе кодирования пишутся главная программа и подпрограммы, реализующие каркас программной разработки. Тестирование Реализация и тестирование объектов выполняются в течение фазы объектной разработки. Это позволяет нам сосредоточить внимание на разработке управляющего модуля. Мы можем проверять кодирование программы, тестируя взаимодействие каждого объекта с управляющими модулями в каркасе разработки. |
Последнее изменение этой страницы: 2019-06-19; Просмотров: 152; Нарушение авторского права страницы