Дж. Рамбо, М. Блаха - UML 2.0 - Объектно-ориентированное моделирование и разработка (1158633), страница 75
Текст из файла (страница 75)
Вы занимаетесь программой редактирования чертежей и подготовки перфокарт. На карты записываются последовательности команд на перемещение головки, смену сверл и сверление. Поскольку перемещение сверла занимает некоторое время, а смена его занимает еше больше времени, система должна выбирать достаточно эффективную последовательность сверления. Не обязательно стремиться к поиску абсолютного минимума времени, но, с другой стороны, не следует расходовать его неэффективно. Головка перемещается независимо в двух направлениях, поэтому время на перемещение между двумя отверстиями пропорционально большему из смещений по этим направлениям. Вы должны подготовить проект архитектуры системы. Как вы охарактеризуете стиль системы? 14.5.
(5) Рассмотрим систему интерактивного символьного преобразования полиномов. Основная идея в том, чтобы предоставить математику возможность более точно и эффективно разрабатывать формулы. Пользователь вводит математические выражения и команды по одной строке за раз. Выражения представляют собой полиномиальные дроби, которые состоят из констант и переменных. Переменным могут присваиваться промежуточные выражения. Выполняемые операции: сложение, вычитание, умножение, деление и дифференцирование по переменной. Разработайте архитектуру этой системы. Как вы охарактеризуете ее стиль? Каким образом можно сохранять текущее состояние системы, чтобы в дальнейшем иметь возможность продолжить работу? 14.6.
(4) Архитектура системы из предыдущего упражнения может содержать следующие подсистемы. Вы должны организовать их в разделы и уровни. 1) Синтаксис строки — сканирование строки на наличие маркеров. 2) Семантика строки — определение значения введенной строки. 3) Обработка команд — выполнение команд пользователя, проверка ошибок. 4) Конструирование выражения — построение внутреннего представления введенного выражения. Глава 14 ° Проектирование системы 14.9. 14.7.
14.8. 5) Применение операции — выполнение операции на одном или нескольких выражениях. 6) Сохранение работы — сохранение текущего состояния (контекста). 7) Загрузка работы — загрузка предварительно сохраненного состояния (контекста). 8) Подстановка — подстановка выражения вместо переменной в другое выражение. 9) Рационализация — преобразование выражения в каноническую форму. 10) Оценка — замена переменной в выражении на константу и упрощение выражения. (6) Рассмотрим систему для редактирования, сохранения и печати диаграмм классов и генерации схемы реляционной базы данных. Система должна поддерживать лишь ограниченное подмножество системы обозначений моделирования классов — классы с атрибутами и бинарные ассоциации с множественностью.
Система должна поддерживать функции редактирования: создание класса, создание ассоциации, вырезать, копировать, вставить. Редактор должен «понимать» семантику диаграмм классов. Например, перемещение прямоугольника класса должно выполняться одновременно с растяжением линий, обозначающих ассоциации, в которых этот класс участвует.
Удаление класса должно приводить к удалению ассоциаций. Когда пользователь завершает работу с диаграммой, система должна построить соответствующую схему для реляционной базы данных. Обсудите относительные преимушества одной программы, выполняющей обе функции, перед двумя программами, одна из которых редактирует диаграммы классов, а другая генерирует схему по диаграммам классов.
(6) В предыдущем примере вы должны были учитывать физические и логические аспекты диаграмм классов. К физическим аспектам относятся положение и размеры линий, прямоугольников и надписей. К логическим аспектам относятся связность, классы, атрибуты и ассоциации. Обсудите возможность построения архитектуры с использованием следующих стратегий, а также вопросы редактирования и сохранения диаграмм состояний и генерирования схемы базы данных. 1) Моделируются только геометрические аспекты диаграммы классов. Логические аспекты рассматриваются как выводимые.
2) Моделируются и геометрические, и логические аспекты диаграммы классов. (5) Альтернативный подход к системе, описанной в упражнении 14.7, состоит в использовании коммерческой настольной издательской системы для подготовки диаграммы классов вместо реализации собственного редактора диаграмм. Издательская система может сохранять файлы на языках разметки. Поставщик должен описывать грамматику такого языка.
Сравните два подхода. Первый состоит в построении собственного редактора, понимающего семантику диаграмм классов. Второй состоит в использовании Упражнения 319 коммерческой настольной издательской системы для редактирования диаграмм классов. Что произойдет, если выйдет новая версия издательской снстемы7 Можно ли допустить, что пользователь подготовит диаграмму в терминах, которые будет понимать ваш генератор схемы? Стоит ли тратить усилия на реализацию операций копирования и вставки, которые уже реализованы в коммерческих системах? Кто обеспечит поддержку пользователей, если у них возникнут проблемы? Каким образом будет поддерживаться и обслуживаться ваша система? Как скоро вам удастся завершить ее7 14.10. (6) При проектировании систем достаточно часто встает задача хранения данных в таком формате, чтобы они сохранялись в случае падения напряжения в сети или поломок оборудования.
Идеальное решение должно быть надежным, дешевым, небольшим, быстрым, бесплатным в обслуживании и простым. Кроме того, оно должно быть устойчиво к нагреву, грязи и влажности. Компромиссные решения часто влияют на функциональные требования. Сравните каждое из перечисленных ниже решений с идеалом. Обратите внимание, что наш список не исчерпывает все возможности. 1) Не беспокоиться о потере данных. Каждый раз при включении системы полностью сбрасывать все данные.
2) Не отключать питание. Использовать специальные источники питания, в том числе — резервные генераторы. 3) Хранить критическую информацию на магнитном диске. Периодически делать полные и добавочные копии на магнитной ленте. 4) Использовать батареи для подачи питания в память системы в случае отключения внешнего питания. В таком варианте система может даже предоставлять ограниченную функциональность. 5) Использовать специальную память, такую как память на магнитных пузырьках или энергонезависимую память ЕЕРВОМ.
6) Критические параметры вводятся пользователем при помощи переключателей. Существуют коммерческие решения, в том числе микровыключатели в упаковке, подключаемые наподобие интегральной схемы. 14.11. (7) Для каждой из перечисленных ниже систем выберите одну или несколько стратегий хранения данных из предыдущего упражнения. Объясните свой выбор и оцените объем памяти в байтах (по порядку величины). 1) Карманный бухгалтерский калькулятор.
Основной источник питания — солнечная батарея. Выполняет элементарные арифметические действия. 2) Электронная пишущая машинка. Основной источник питания — аккумуляторы нли переменный ток. Работает в двух режимах. В одном режиме документы вводятся построчно. Редактирование осуществляется в пределах одной строки.
На ЖК-дисплее отображается 16 символов. В другом режиме можно ввести весь документ, а потом его напечатать. Машинка должна хранить рабочий документ в памяти в течение года в случае отключения питания. 320 Глава 14 ° Проектирование системы 3) Системные часы персонального компьютера. Основной источник питания — постоянный ток от блока питания включенного компьютера. Системные часы хранят дату и время. Они должны работать в течение пяти лет при выключенном компьютере. 4) Система бронирования авиабилетов.
Основной источник питания— сеть переменного тока. Бесперебойная работа системы должна быть обеспечена любой ценой. Если систему по какой-либо причине нужно выключить, данные не должны быть утеряны. 5) Блок управления и защиты двигателя от перегрева. Устройство обеспечивает защиту двигателей различной номинальной лшщности, рассчитывая температуру двигателя по измеренному току с учетом модели отвода тепла от двигателя.
Если расчетная температура превышает некоторое ограничение, двигатель отключается и не может быть запущен заново до тех пор, пока он не остынет. Основным источником питания является сеть переменного тока, которая может быть отключена. Система должна обеспечивать защиту двигателя сразу после своего включения. Параметры моделирования устанавливаются на заводе, однако пользователь должен иметь возможность при необходимости изменить их уже после установки системы.
Поскольку температура двигателя не измеряется непосредственно, необходимо непрерывно выполнять моделирование температуры двигателя в течение по крайней мере одного часа после отказа питания, потому что оно может быть включено до того, как двигатель остынет полностью. 14.12. (9) Проектирование формата файлов — стандартная составляющая проектирования многих систем. Удобным средством представления формата файлов являются диаграммы ВХЕ. На рис.