© 2005 П.А. Петрошенко, Г.А. Корнеев, А.А. Шалыто
Санкт-Петербургский государственный университет информационных технологий, механики и оптики
Проектная документация
Applet (online)
Исходные тексты
Предлагаемая программная документация описывает пример использования объектно-ориентированного программирования с явным выделением состояний при разработке классического варианта игры "Морской бой". При этом не преследовалась цель выбора оптимального алгоритма игры Роботом.
Документация состоит из диаграммы классов, структурных схем классов, схем связей и графов переходов автоматов, которые строились на этапе проектирования программы и корректировались в процессе ее реализации.
Автоматы реализованы в виде методов классов, пять из них автоматные. Подробное документирование выполнено только для автоматных классов, а тексты программ приведены для всех классов и программы в целом.
Четыре автомата являются вложенными - их вызов осуществляется из состояний других автоматов. Автоматы взаимодействуют между собой по вложенности и с помощью обмена номерами состояний, а с приложением - при обработке событий, которых всего два - "Нажатие кнопки мыши" и "Нажатие кнопки "Начать заново"". При отладке программы применялись протоколы, являющиеся неотъемлемой частью использованной технологии. Приведен пример фрагмента полного протокола (протоколируются объекты, автоматы, входные переменные, выходные воздействия и события).