Этапы разработки программы
Этапы разработки программы
При программировании на языке Смолток необходимо прежде всего решить, каким образом будет посылаться сообщение, т.е. ответить на вопросы:
- Что будет являться объектом - адресатом ?
- Что будет являться объектом - параметром ?
- Что будет являться результатом ?
Иными словами, необходимо разработать спецификацию метода.
Программирование в системе Смолток состоит из следующих этапов, обычно выполняемых с помощью окна просмотра иерархии классов (кроме П.4):
1. Создаются новые классы объектов, необходимых для решения задачи некоторой прикладной области.
Для каждого нового класса определяется место в иерархии прикладных классов:
- его суперкласс;
- возможные подклассы.
- объекты порождаются,
- инициализируются,
- обмениваются сообщениями с другими объектами в целях получения результата решения задачи.
Для каждого класса определяется протокол сообщений, понимаемых экземплярами этого класса, и набор переменных, составляющих внутреннюю структуру экземпляров.
В системе на этом этапе создаются так называемые "абстрактные классы". Этот этап соответствует анализу предметной области.
2. Алгоритм решения задачи записывается на языке взаимодействия объектов:
Для этого некоторые сообщения из протокола классов верхних уровней иерархии "реализуются" с помощью методов, состоящих из объектов и сообщений классов более низких уровней. Этот этап соответствует проектированию прикладной системы.
3. Новые классы реализуются с помощью имеющихся классов системы Смолток. Для каждого класса находится место в иерархии классов системы Смолток. Для каждого сообщения из протокола реализуется метод, состоящий из программы - реакции на данное сообщение с выдачей результирующего объекта.
Метод обычно строится из обмена сообщений между переменными экземпляра данного объекта и, возможно, другими объектами. При создании и инициализации переменных экземпляра новых классов выбираются объекты уже реализованных классов более низкого уровня.
Этот этап соответствует программированию задачи.
4. Вновь реализованные классы и методы тестируются сначала отдельно, потом совместно с другими классами и методами. Для этого используются рабочие окна, где набираются тексты тестовых примеров; инспекторы, позволяющие узнать статическое состояние объекта в произвольной точке программы; отладчик, позволяющий проследить за динамикой получения ответа на сообщение.
5. Созданные и отлаженные классы предметной области могут быть повторно использованы для решения сходных задач из этой области, а также для построения новых классов других предметных областей.