Студопедия

КАТЕГОРИИ:

АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника


Метод получения классов




Мало-помалу идеи, обсуждаемые в этой лекции, в совокупности дают то, что не слишком претенциозно можно называть методом получения классов при конструировании ПО (напомним, метод - это способ породить, воспитать, проложить дорогу, создать нечто стоящее).

Идентификация класса требует двух неразрывно связанных видов деятельности - выявления множества кандидатов в классы и отбора среди них действительно нужных. В двух следующих таблицах подводятся итоги.

Прежде всего начнем с источников классов.

Таблица 4.1. Источники возможных классов
Источник идей Что ищется
Существующие библиотеки · Классы, отвечающие потребностям приложения. · Классы, описывающие концепции, релевантныеприложению.
Документ требований · Часто встречающиеся термины. · Термины, заданные явными определениями. · Термины, не определенные точно, но считающиеся само собой разумеющимися. · (Грамматические категории следует игнорировать.)
Обсуждения с заказчиками и будущими пользователями · Важные абстракции проблемной области. · Специфический жаргон проблемной области. · Помнить, что классы, приходящие из "внешнего мира", могут описывать как материальные, так иконцептуальные объекты.
Документация (руководства пользователей) для других систем в той же проблемной области, например от конкурентов · Важные абстракции проблемной области. · Специфический жаргон проблемной области. · Полезные абстракции проектирования.
Не ОО-системы и их описания · Элементы данных, передаваемые в виде аргументов компонентам ПО. · Разделяемые данные (Common блоки FORTRAN). · Важные файлы. · Секции данных (COBOL). · Типы записей (Pascal, C, C++). · Сущности при ER-моделировании.
Обсуждения с опытными проектировщиками · Классы проектирования, успешно используемые в предыдущих разработках.
Литература по алгоритмам и структурам данных · Известные структуры данных, поддержанные эффективными алгоритмами.
Литература по ОО-проектированию · Применимые образцы проектирования.

Рассмотрим теперь критерии, позволяющие более внимательно исследовать классы и, возможно, отвергнуть часть из них.

Таблица 4.2. Причины отбраковки кандидатов в классы
Сигналы опасности Причина подозрительности
Класс с отглагольным именем (произведенным от глагола, инфинитив или императив) Может быть простой подпрограммой, а не классом
Полностью эффективный класс с одной экспортируемой подпрограммой Может быть простой подпрограммой, а не классом.
Класс, описанный как "выполняющий нечто" Может не быть подходящей абстракцией.
Класс без подпрограмм Может быть важной частью информации, но не АТД. Может быть АТД, для которого просто забыли указать операции.
Класс, введенный без компонентов или с небольшим их числом (но наследующий компоненты своих родителей) Может быть результатом "таксомании".
Класс, покрывающий несколько абстракций Должен быть разделен на несколько классов, по одному на каждую абстракцию.

Поделиться:

Дата добавления: 2014-12-03; просмотров: 97; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.007 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты