Объектно-ориентированные технологии проектирования прикладных программных систем




2.3.1. Определение объектов и классов



2.3.1. Определение объектов и классов

В пункте 1.3 сформулирована задача и приведена схема сети банковского обслуживания (рисунок 1.3). Анализируя эту постановку задачи, можно выделить возможные классы, сопоставив их существительным, упомянутым в ее предварительной формулировке; получится следующий список возможных имен классов (в алфавитном порядке):

ATM (банкомат) кассир программное обеспечение
банк кассовый терминал система
банковская сеть квитанция проверка безопасности
данные проводки клиент служба ведения записей
данные счета компьютер банка счет
деньги консорциум цена
доступ пользователь центральный компьютер
карточка проводка

Исследуем этот список, исключая из него имена классов в соответствии с рекомендациями п. 2.2.1:

  • избыточные классы: ясно, что клиент и пользователь означают одно и то же понятие; для банковской системы более естественно оставить класс клиент;
  • нерелевантные классы: таким классом является класс цена (он не имеет непосредственного отношения к работе банковской сети);
  • нечетко определенные классы: такими классами являются служба_ведения_записей и проверка безопасности (эти службы входят в состав проводки), система (в нашем случае непонятно, что это такое), банковская_сеть (вся наша программная система будет обслуживать банковскую сеть);
  • атрибуты: данные проводки, данные счета, деньги (имеются в виду реальные деньги, выдаваемые клиенту кассиром или банкоматом, либо принимаемые кассиром), квитанция (выдается клиенту вместе с деньгами) более естественно иметь в качестве атрибутов;
  • реализационные конструкции выражают такие имена как программное_обеспечение и доступ; их тоже следует исключить из списка имен возможных классов.

После исключения всех лишних имен возможных классов получаем следующий список классов, составляющих проектируемую систему банковского обслуживания (эти классы представлены на рисунке 2.5):

ATM (банкомат) кассовый терминал проводка
банк клиент счет
карточка компьютер банка центральный компьютер
кассир консорциум









Начало  Назад  Вперед