Пять критериев
Пять критериев
Чтобы обеспечить расширяемость (extendibility) и повторное использование (reusability), двух основных факторов качества, предложенных в лекции 1, необходима система с гибкой архитектурой, состоящая из автономных программных компонент. Именно поэтому в лекции 1 введен термин модульность (modularity), сочетающий оба фактора.
Модульное программирование ранее понималось как сборка программ из небольших частей, обычно подпрограмм. Но такой подход не может обеспечить реальную расширяемость и повторное использование программного продукта, если не гарантировать, что элементы сборки - модули - являются самодостаточными и образуют устойчивые структуры. Любое достаточно полное определение модульности должно обеспечивать реализацию этих свойств.
Таким образом, метод проектирования программного продукта является модульным, если он помогает проектировщикам создать систему, состоящую из автономных элементов с простыми и согласованными структурными связями между ними. Цель этой лекции - детализация этого неформального определения и выяснение того, какими конкретно свойствами должен обладать метод, заслуживающий название "модульного". Наше внимание будет сосредоточено на этапе проектирования, но все идеи применимы и к ранним этапам - анализа и спецификации, также как и к этапам разработки и сопровождения.
Рассмотрим модульность с разных точек зрения. Введем набор дополнительных свойств: пять критериев (criteria), пять правил (rules) и пять принципов (principles) модульности, обеспечивающих при их совместном использовании выполнение наиболее важных требований, предъявляемых к методу модульного проектирования.
Для практикующего разработчика ПО принципы и правила не менее важны, чем критерии. Различие лишь в причинной связи: критерии являются взаимно независимыми (метод может удовлетворять одному из них и в тоже время противоречить оставшимся), в то время как правила следуют из критериев, а принципы следуют из правил.
Можно было бы ожидать, что эта лекция начнется с подробного описания того, как выглядит модуль. Но это не так, и для этого есть серьезные основания. Задача этой и двух следующих лекций - анализ свойств, которыми должна обладать надлежащим образом спроектированная модульная структура. Вопросом о виде модулей мы займемся в конце нашего обсуждения, а не в его начале. И пока мы не дойдем до этой точки, слово "модуль" будет означать компонент разбиения рассматриваемой системы. Если вы знакомы с не ОО-методами, то, вероятно, вспомните о подпрограммах, имеющихся в большинстве языков программирования и проектирования, или, быть может, о пакетах (packages) языка Ada и (правда, под другим названием) языка Modula. Наконец, в последующих лекциях наше обсуждение приведет к ОО-виду модуля - классу. Даже если вы уже знакомы с классами и ОО-методами, все же следует прочитать эту лекцию для понимания требований, предъявляемых к классам, - это поможет правильному их конструированию.
Метод проектирования, который можно называть "модульным", должен удовлетворять пяти основным требованиям:
[x]. Декомпозиции (decomposability).
[x]. Композиции (composability).
[x]. Понятности (understandability).
[x]. Непрерывности (continuity).
[x]. Защищенности (protection).
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
13. Пять минут
13. Пять минут Как научиться влиять на людей за пять минут? Берете свою тему, небольшой вопрос и рассказываете, как добиться результата за пять минут – за время прослушивания аудио, просмотра видео или чтения
Сортировка по набору критериев (IComparer)
Сортировка по набору критериев (IComparer) В этой версии типа Car в качестве критерия упорядочения мы использовали ID автомобиля, В другом случае для сортировки можно использовать, например, petName (чтобы разместить автомобили в алфавитном порядке их названий). Но что делать, если
12.4.6. Пять категорий итераторов
12.4.6. Пять категорий итераторов Для поддержки полного набора обобщенных алгоритмов стандартная библиотека определяет пять категорий итераторов, положив в основу классификации множество операций. Это итераторы чтения (InputIterator), записи (OutputIterator), однонаправленные
Пять классов ноутбуков
Пять классов ноутбуков К сожалению, классификации в виде промышленного стандарта нет, именно поэтому PR-отделы изголяются как могут и регулярно изобретают собственные варианты. Житейский опыт подсказывает пять основных классов ноутбуков:Класс номер ноль –
ИДЕИ: Пять инвариантов ИТ-образования
ИДЕИ: Пять инвариантов ИТ-образования Автор: Шутов, ИльяПоводом для написания этой статьи, как ни странно, послужила очередная попытка воспользоваться интерфейсом Office 2007. Видимо, я не попадаю в то счастливое подмножество пользователей, для которых эргономисты компании
Голубятня: Ха Пять! Сергей Голубицкий
Голубятня: Ха Пять! Сергей Голубицкий Опубликовано 29 июня 2011 года В начале лета ABBYY выпустила новый словарь Lingvo x5. Впрочем, словарь — это по инерции. Lingvo — давно уже не словарь и даже не набор словарей, а совсем совсем нечто большее. Что это за большее,
Пять правил
Пять правил Из рассмотренных критериев следуют пять правил, которые должны соблюдаться, чтобы обеспечить модульность:[x]. Прямое отображение (Direct Mapping). [x]. Минимум интерфейсов (Few Interfaces). [x]. Слабая связность интерфейсов (Small interfaces - weak coupling). [x]. Явные интерфейсы (Explicit Interfaces). [x].
Пять принципов
Пять принципов Из предыдущих правил и, косвенным образом, из критериев следуют пять принципов конструирования ПО:[x]. Принцип Лингвистических Модульных Единиц (Linguistic Modular Units).[x]. Принцип Самодокументирования (Self-Documentation).[x]. Принцип Унифицированного Доступа (Uniform Access).[x].
Пять требований к модульным структурам
Пять требований к модульным структурам Как же найти такие модульные структуры, которые позволят создать компоненты, непосредственно готовые к повторному использованию, и, в то же время, допускающие возможность их адаптации? Задача табличного поиска и шаблон
Определение критериев выбора поставщика технологии или сервисов PKI
Определение критериев выбора поставщика технологии или сервисов PKI Эта лекция посвящена тем проблемам, которые необходимо рассмотреть перед развертыванием PKI. Ключ к принятию взвешенных решений - всестороннее изучение фактического состояния дел, а также требований
Пять современных планшетов
Пять современных планшетов Автор: Олег НечайОпубликовано 06 декабря 2011 годаAcer Iconia Tab A Series (A500/501)Дизайнеры Acer наглядно продемонстрировали, что можно создать вполне привлекательный планшет, и не копируя минималистичный образ iPad. Корпус собран из металлического сплава с
Пять игровых ноутбуков
Пять игровых ноутбуков Автор: Олег НечайОпубликовано 28 ноября 2011 годаAlienware M11xНисколько не постаревший представитель редкого типа игровых субноутбуков: эта компактная модель оснащается глянцевым экраном 11,6 дюйма с разрешением 1366х768 пикселей и светодиодной подсветкой.
Пять мультимедийных ноутбуков
Пять мультимедийных ноутбуков Автор: Олег НечайОпубликовано 28 ноября 2011 годаAcer Aspire Ethos 8951GНовая серия мультимедийных ноутбуков премиум-класса Aspire Ethos выделяется дизайном: крышка компьютера выполнена из текстурированного матового сплава магния и алюминия, а панель под
ПИСЬМОНОСЕЦ: Маленькие, но по пять, но сегодня
ПИСЬМОНОСЕЦ: Маленькие, но по пять, но сегодня Автор: Владимир ГуриевПрочитал письма читателей в последнем номере (768) и удивился. По жалобам читателей, журнал подорожал с 35 до 49 рублей! Это из какой коммунистической страны цены? В том году я покупал журнал по 43 рубля, в этом