Приемы разрешения технических противоречий
Интеренет-ресурсы по приемам
Список приемов
- Принцип дробления
- Принцип вынесения
- Принцип местного качества
- Принцип асимметрии
- Принцип объединения
- Принцип универсальности
- Принцип "матрешки"
- Принцип антивеса
- Принцип предварительного антидействия
- Принцип предварительного действия
- Принцип "заранее подложенной подушки"
- Принцип эквипотенциальности
- Принцип "наоборот"
- Принцип сфероидальности
- Принцип динамичности
- Принцип частичного или избыточного действия
- Принцип перехода в другое измерение
- Принцип использования механических колебаний
- Принцип периодического действия
- Принцип непрерывности полезного действия
- Принцип проскока
- Принцип "обратить вред в пользу"
- Принцип обратной связи
- Принцип "посредника"
- Принцип самообслуживания
- Принцип копирования
- Принцип дешевой недолговечности взамен дорогой долговечности
- Принцип замены механической схемы
- Принцип использования пневмо- и гидроконструкций
- Принцип использования гибких оболочек и тонких пленок
- Принцип применения пористых материалов
- Принцип изменения окраски
- Принцип однородности
- Принцип отброса и регенерации частей
- Принцип изменения агрегатного состояния объекта
- Принцип применения фазовых переходов
- Принцип применения теплового расширения
- Принцип применения сильных окислителей
- Принцип применения инертной среды
- Принцип применения композиционных материалов
- Использование пауз
- Принцип многоступенчатого действия
- Применение пены
- Применение вставных частей
- Би-принцип
- Применение взрывчатых веществ и порохов
- Сборка на (в) воде
- «Мешок с вакуумом»
- Диссоциация-ассоциация
- Принцип самоорганизации
Примеры применения приемов к программному обеспечению
1.Принцип дробления.
Структурное программирование. Процедуры, подпрограммы. Модули.
Структурное программирование — методология разработки программного обеспечения, в основе которой лежит представление программы в виде иерархической структуры блоков. Предложена в 70-х годах XX века Э. Дейкстрой, разработана и дополнена Н. Виртом.
2.Принцип вынесения
CSS
3.Принцип местного качества
Тэги HTML в гипертексте
4.Принцип асимметрии
асимметричные шифры, асимметричное шифрование в криптографии с открытым ключом.
Идея криптографии с открытым ключом очень тесно связана с идеей односторонних функций, то есть таких функций f(x), что по известному x довольно просто найти значение f(x), тогда как определение x из f(x) сложно в смысле теории
5.Принцип объединения
Компьютерные сети
6.Принцип универсальности
HTML
7.Принцип "матрешки".
Объектно-ориентированное программирование. Принцип инкапсуляции данных и методов в объект (принцип модульности) и принцип наследованием (принцип повторного использования разработанного функционала)
8.Принцип антивеса
9.Принцип предварительного антидействия
10.Принцип предварительного действия
11.Принцип "заранее подложенной подушки"
12.Принцип эквипотенциальности
13.Принцип "наоборот".
Обратная польская нотация. Язык программирования форт (Forth). Обратный код.
14.Принцип сфероидальности
15.Принцип динамичности
16.Принцип частичного или избыточного действия
# 17.Принцип перехода в другое измерение
# 18.Принцип использования механических колебаний
# 19.Принцип периодического действия
# 20.Принцип непрерывности полезного действия
# 21.Принцип проскока
# 22.Принцип "обратить вред в пользу"
# 23.Принцип обратной связи
24.Принцип посредника.
Трансляторы. Языки программирования.
В некоторых языках вместо машинного кода генерируется интерпретируемый двоичный код «виртуальной машины», также называемый байт-кодом (byte-code). Такой подход применяется в Forth, некоторых реализациях Lisp, Java, Perl, Python.
42.Принцип многоступенчатого действия.
Из википедии о структурном программировании
Методология структурного программирования появилась как следствие возрастания сложности решаемых на компьютерах задач, и соответственного усложнения программного обеспечения. В 70-е годы XX века объёмы и сложность программ достигли такого уровня, что «интуитивная» (неструктурированная, или «рефлекторная») разработка программ, которая была нормой в более раннее время, перестала удовлетворять потребностям практики. Программы становились слишком сложными, чтобы их можно было нормально сопровождать, поэтому потребовалась какая-то систематизация процесса разработки и структуры программ.
Наиболее сильной критике со стороны разработчиков структурного подхода к программированию подвергся оператор GOTO (оператор безусловного перехода), имевшийся тогда почти во всех языках программирования. Неправильное и необдуманное использование произвольных переходов в тексте программы приводит к получению запутанных, плохо структурированных программ (т.н. спагетти-кода), по тексту которых практически невозможно понять порядок исполнения и взаимозависимость фрагментов.
Следование принципам структурного программирования сделало тексты программ, даже довольно крупных, нормально читаемыми. Серьёзно облегчилось понимание программ, появилась возможность разработки программ в нормальном промышленном режиме, когда программу может без особых затруднений понять не только её автор, но и другие программисты. Это позволило разрабатывать достаточно крупные для того времени программные комплексы силами коллективов разработчиков, и сопровождать эти комплексы в течение многих лет, даже в условиях неизбежных изменений в составе персонала.
Методология структурной разработки программного обеспечения была признана «самой сильной формализацией 70-х годов». После этого слово «структурный» стало модным в отрасли, и его начали использовать везде, где надо и где не надо. Появились работы по «структурному проектированию», «структурному тестированию», «структурному дизайну» и так далее. В общем, произошло примерно то же самое, что происходило в 90-х годах и происходит в настоящее время с терминами «объектный», «объектно-ориентированный» и «электронный».
Перечислим некоторые достоинства структурного программирования:
1. Структурное программирование позволяет значительно сократить число вариантов построения программы по одной и той же спецификации, что значительно снижает сложность программы и, что ещё важнее, облегчает понимание её другими разработчиками.
2. В структурированных программах логически связанные операторы находятся визуально ближе, а слабо связанные — дальше, что позволяет обходиться без блок-схем и других графических форм изображения алгоритмов (по сути, сама программа является собственной блок-схемой).
3. Сильно упрощается процесс тестирования и отладки структурированных программ.