Роль отложенных классов при анализе и глобальном проектировании
Роль отложенных классов при анализе и глобальном проектировании
Отложенные классы играют также ключевую роль при использовании ОО-метода не только на уровне реализации, но и на самых ранних и верхних уровнях построения системы - анализе и глобальном проектировании. Целью является создание спецификации системы и ее архитектуры, для проекта требуется также абстрактное описание каждого модуля без деталей его реализации.
Обычно даваемая в этом случае рекомендация состоит в использовании отдельных обозначений: некоторого "метода" анализа (за этим термином во многих случаях стоит просто некоторая графическая нотация) и некоторого ЯПП (PDL) (языка проектирования программ, зачастую тоже графического). Но у этого подхода много недостатков:
[x]. Разрыв между последовательными шагами процесса разработки представляет серьезную угрозу для качества ПО. Необходимость трансляции из одного формализма в другой может привести к ошибкам и подвергает опасности целостность системы. ОО-технология, напротив, предлагает перспективу непрерывного процесса разработки ПО.
[x]. Многоярусный подход является особенно губительным для этапов сопровождения и эволюции системы. Крайне сложно гарантировать согласованность проекта и реализации на этих этапах.
[x]. Наконец, большинство существующих подходов к анализу и проектированию не предлагают никакой поддержки формальной спецификации функциональных свойств модулей, не зависящей от их реализации, например в форме утверждений.
Последний комментарий приводит к парадоксу уровней: точная нотация, подобная языку, используемому в этой книге, иногда отклоняется как "низкоуровневая" или "ориентированная на реализацию", поскольку внешне выглядит как язык программирования. На самом же деле, благодаря утверждениям и такому механизму абстракции как отложенные классы, их уровень существенно выше уровня большинства имеющихся подходов к анализу и проектированию. Многим требуется время, чтобы осознать это, поскольку раньше их учили тому, что высокий уровень абстракции означает неопределенность и что абстракция всегда должна быть неточной.
Использование отложенных классов для анализа и проектирования позволяет нам одновременно быть абстрактными и точными, и применять один и тот же язык на протяжении всего процесса разработки. При этом устраняются разрывы в концепциях, переход от описания модуля на высоком уровне к реализациям может происходить плавно внутри одного формализма. Даже нереализованные операции проектируемых модулей, представленные отложенными процедурами, можно достаточно точно охарактеризовать с помощью предусловий, постусловий и инвариантов.
Система обозначений, которая к этому моменту развернута почти до конца, покрывает этапы анализа и проектирования, а также и реализации. Одни и те же понятия и конструкции применяются на всех стадиях, различаются только уровни абстракции и детализации.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Реализация отложенных прерываний
Реализация отложенных прерываний Отложенные прерывания определяются статически во время компиляции. В отличие от тасклетов, нельзя динамически создать или освободить отложенное прерывание. Отложенные прерывания представлены с помощью структур softirq_action, определенных
Использование отложенных прерываний
Использование отложенных прерываний Отложенные прерывания зарезервированы для наиболее важных и критичных ко времени выполнения обработчиков нижних половин в системе. Сейчас только две подсистемы — подсистема SCSI и сетевая подсистема — напрямую используют механизм
Очереди отложенных действий
Очереди отложенных действий Очереди отложенных действий (work queue) — это еще один способ реализации отложенных операций, который отличается от рассмотренных ранее. Очереди действий позволяют откладывать некоторые операции для последующего выполнения потоком
На что обращать внимание при анализе сайта, помимо текстовой информации и изображений
На что обращать внимание при анализе сайта, помимо текстовой информации и изображений Прежде, чем перейти непосредственно к изучению содержимого сайта – текстам и иллюстрациям, рекомендуем обратить внимание на ряд особенностей, которые помогают лучше воспринимать
Получение синусоидальных временных диаграмм при анализе на переменном токе
Получение синусоидальных временных диаграмм при анализе на переменном токе При изучении схем переменного тока обычно используется векторное представление, при котором напряжение источника можно было бы записать как VS=1?0° В. Это означает, что источник синусоидальный с
9.6.1. Общее представление об анализе наихудшего случая
9.6.1. Общее представление об анализе наихудшего случая Прежде чем приступить к проведению анализа наихудшего случая, вы, конечно же, должны начертить схему и указать ее параметры допуска (для сравнения см. раздел 9.5). Кроме того, вы должны определить, что, собственно, следует
1.4. О проектировании сложных систем
1.4. О проектировании сложных систем Инженерное дело как наука и искусство На практике любая инженерная дисциплина, будь то строительство, механика, химия, электроника или программирование, содержит в себе элементы и науки, и искусства. Петроски красноречиво утверждает:
1.6.10. Правило наименьшей неожиданности: при проектировании интерфейсов всегда следует использовать наименее неожиданные элементы
1.6.10. Правило наименьшей неожиданности: при проектировании интерфейсов всегда следует использовать наименее неожиданные элементы Данное правило также широко известно под названием "Принцип наименьшего удивления" (Principle of Least Astonishment).Простейшими в использовании
1.6.10. Правило наименьшей неожиданности: при проектировании интерфейсов всегда следует использовать наименее неожиданные элементы
1.6.10. Правило наименьшей неожиданности: при проектировании интерфейсов всегда следует использовать наименее неожиданные элементы Данное правило также широко известно под названием "Принцип наименьшего удивления" (Principle of Least Astonishment).Простейшими в использовании являются
Роль библиотек базовых классов
Роль библиотек базовых классов В дополнение к спецификациям CLR и CTS/CLS, платформа .NET предлагает библиотеку базовых классов, доступную всем языкам программирования .NET. Эта библиотека базовых классов не только инкапсулирует различные примитивы, такие как потоки, файловый
Роль отложенных классов
Роль отложенных классов В определении эффективного класса должна присутствовать полная информация о реализации (пункты E2 и E3). Если она хоть в чем-то неполна, то класс является отложенным.Чем более "отложенным" является класс, тем он ближе к АТД, одетому в некоторую
Роль классов
Роль классов Затратив немного времени на устранение абсурдных, но распространенных и вредных заблуждений, можно вернуться к рассмотрению центральных свойств классов и выяснить, в частности, почему они столь важны в объектной технологии.Для понимания ОО-подхода
Задание семантики отложенных компонентов и классов
Задание семантики отложенных компонентов и классов Хотя у отложенного компонента нет реализации, а у отложенного класса либо нет реализации, либо он реализован частично, часто требуется задать их абстрактные семантические свойства. Для этой цели можно использовать
Роль отложенных классов
Роль отложенных классов Отложенные классы являются одним из важнейших связанных с наследованием механизмов, предназначенных для решения описанных в начале книги проблем конструирования
У14.8 Виды отложенных компонентов
У14.8 Виды отложенных компонентов Может ли атрибут быть
Принципы работы, основанной на анализе сигнатур системы обнаружения вторжений
Принципы работы, основанной на анализе сигнатур системы обнаружения вторжений Система обнаружения вторжений является вполне простым высокотехнологичным эквивалентом охранной сигнализации, настроенной контролировать точки доступа к сети, враждебную сетевую