RRRRR - 54.161.163.172
@ Подписаться

Обсуждения-аналоги

Скрыть / Показать Сортировать по дате
2010-01-22 14:59:25
Сычев С.В., Лебедев К.А. » Всем

1. СИТУАЦИЯ


Для изложения и попытки формализации некоторых приемов проектирования "идеальной программы" нам потребовался сквозной пример.

Пока мы сформулировали всего два требования к идеальной программе (с точки зрения разработчика):

1)
Идеально - когда добавление новой функциональности в программу не потребует внесения изменений и/или добавлений в программный код (более того, в совершенно идеальной программе увеличение функциональности приводит к сокращению кода). 

Перефразируя классическую формулировку ТРИЗ, идеально, когда программного кода нет, а функциональность растет без ущерба для любых параметров (например, быстродействия и т.д.);

2)
Идеально - это когда программу сможет в отсутствие Автора не только сопровождать, но и развивать программист с меньшей квалификацией, чем Автор программы.

Приемы же, собственно, проектирования, с которыми мы экспериментируем, заключаются в следующем:

    а) Сталкиваясь с задачей, опишем "идеальное решение". В ряде случаев его можно и реализовать.

    в) "Идеальное решение" следует формулировать также и для каждой из возникающих в процессе решения подзадач. 

    с) Когда реализовать "идеальное решение" не получается, формулируем противоречие. Примеры формулировок даны в настоящем материале, а также здесь

    d) Каждую из возникающих в процессе решения подзадач также формулируем в виде противоречия.

    e) Противоречия устраняем с помощью приемов.

Для иллюстрации вышеизложенного мы выбрали программу "калькулятор". (Не потому, что это ново - калькуляторов пруд пруди: просто захотели сэкономить время на объяснении о том, "что за программа и зачем она нужна").


Далее...


Уважаемые Коллеги!

Если Вам нравится наш Форум, Вы можете поддержать его, отправив любую сумму (тогда выберите опцию "Спасибо за Форум").

Вы также можете поддержать конкретное обсуждение и получить гарантированный ответ от наших специалистов (тогда выберите опцию "Прошу эксперта ответить в этой теме").
Задайте Ваш вопрос здесь.

Большое Спасибо!


Яндекс.Метрика