![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Требовать идеальности надо всегда. Это азы теории Альтшуллера. А потом уже смотреть как от этой идеальности отступать там, где цена окажется слишком велика.
Я когда-то поверхностно прошелся по ТРИЗ, с тех пор постоянно пользуюсь при проектировании софта некоторыми принципами оттуда. Иногда получается откровенная шиза, когда для решения частной задачи получается общее решение оного класса задач :)
Я когда-то поверхностно прошелся по ТРИЗ, с тех пор постоянно пользуюсь при проектировании софта некоторыми принципами оттуда. Иногда получается откровенная шиза, когда для решения частной задачи получается общее решение оного класса задач :)
no subject
Date: 2010-10-21 08:25 am (UTC)no subject
Date: 2010-10-21 08:38 am (UTC)no subject
Date: 2010-10-21 11:09 am (UTC)no subject
Date: 2010-10-21 11:34 am (UTC)2) Адекватность легко оценивается пользователями софта и сопричастными коллегами. Как следствие, развиваются собственные внутренние измерители - совесть, чувство прекрасного, гордость за код, гордость за продукт.
no subject
Date: 2010-10-21 12:00 pm (UTC)2. Где в этой схеме место формальным требованиям?
Вот нужно пользователям sustained I/O speed over 100500 Kbps. Вот нужно, и все тут, хоть тресни. Переход в надсистему не поможет, ибо там вокруг целая инфраструктура и стандарты заложенные не нами и вообще до нашего рождения, от которых никуда не деться. Как наше чувство прекрасного поможет спроектировать систему, отвечающую подобным требованиям?
no subject
Date: 2010-10-21 12:14 pm (UTC)2) Формальным требованиям удовлетворить как раз проще всего. А вот про всякие мелочи вроде юзабилити обычно забывают.
no subject
Date: 2010-10-21 12:46 pm (UTC)Меня вот, как системщика, юзабилити вообще мало волнует.
no subject
Date: 2010-10-22 10:28 pm (UTC)no subject
Date: 2010-10-21 12:28 pm (UTC)2. Где и всегда. Менять нужно не документы, а себя. Я веду речь о личных навыках и стремлениях. На мне они работают, мне помогают, иногда делают довольным моё руководство, коллег и пользователей. Никому не мешают.
Мне сложно понять вашу проблему. Но при наличии у меня времени, а у вас достойной оплаты я вполне мог бы поучаствовать в вашем проекте и найти для вас наилучшие решения.
no subject
Date: 2010-10-21 12:59 pm (UTC)В любом случае, с багом надо что-то делать. Хотя бы предложив апгрейд до версии 4.568, но обоснованный апгрейд.
2. Каким образом ваши личные стремления помогут вам понять (не изучая предметную область пользователя от и до), что требуется именно 100500 kbps? Не over 9000, не миллионы, а столько, сколько нужно? Или выпустим первую версию как получится, посмотрим на то, как ее никто не купит и попросим еще денег на переделку, так чтоли предлагается действовать?
no subject
Date: 2010-10-21 01:22 pm (UTC)no subject
Date: 2010-10-21 01:52 pm (UTC)Тот же процитированный Витус, к примеру, неоднократно писал, например, о том что вот-де современные графические опенсорсные программы не умеют работать с битмапами размером сравнимыми с объемом физической памяти. Его как географа можно понять, но ситуация на самом деле такова, что большинство пользователей не географы, и им было важнее получить хоть как-то работающий софт до окончания текущего unix epoch. Тем более, что нужда обрабатывать битмапы, превосходящие объем оперативной памяти, до массового распространения растровых карт и цифровой фотографии возникала только у узкого круга профессиональных пользователей, которые могли вполне заплатить за разработку нужного софта.
Попытка же абстрактного идеалиста в вакууме создать софт, способный обрабатывать гигапиксельное фото на zx 48k привела бы тупо к тому, что этот софт прососал бы по каким-нибудь другим параметрам, и нашелся бы очередной Витус, химик например, который бы посетовал что не удается адекватно отобразить фотографии электронных орбиталей.
no subject
Date: 2010-10-21 02:07 pm (UTC)Я просто разделяю позицию "Требовать идеальности надо всегда...". То что её придерживался Альтшуллер, только увеличивает её ценность. Также я рекомендую вам почитать его книги. На мой взгляд понимание сущности его подходов, ценнее ТРИЗа как такового, который оказался очень сложно формализуем и как наука не развился.
no subject
Date: 2010-10-21 03:42 pm (UTC)Тогда вы разговаривали с кем-то еще. Потому что по ссылке в посте речь о некоей "теории Альтшуллера". Это не о ТРИЗе (и вариациях на его тему) речь?
Собственно, вы отлично проиллюстрировали мою позицию о том, что ТРИЗ, мягко говоря, неконкретен. Вы из него почерпнули понятие об идеальном техническом решении, причем отстаиваете какое-то свое понятие об идеальности (я уверен - если взять любого наугад выбранного ТРИЗовца, он будет отстаивать свое понятие).
Почему надо требовать идеальности, в то время как во множестве практических случаев речь может идти лишь об оптимуме в некотором контексте - вот чего я не понимаю. Кстати, вы не путаете ли идеальность с простым "отсутствием заранее заложенных в конструкцию просчетов"? Ну, примерно как противники "преждевременной оптимизации" путают ее самую с простым отсутствием преждевременной пессимизации?
no subject
Date: 2010-10-21 03:56 pm (UTC)Требование идеальности - это вполне рабочая концепция. Как минимум для меня и Альтшуллера. Чтобы прийти к "оптимуму" нужно вначале искать идеальное решение, а потом идеально реализовать выбранный оптимум. Что вам непонятно?
no subject
Date: 2010-10-21 04:10 pm (UTC)no subject
Date: 2010-10-21 02:16 pm (UTC)no subject
Date: 2010-10-21 08:52 am (UTC)Но конкретно базовые наборы правил помогают. Вот насчет идеальной системы, или фантастических допущений(типа "предположим что у нас есть бесконечная энергонезависимая память, проектируем с учетом этого, а потом возвращаемся к реальности и смотрим, что можно сделать"), или там выход в надсистему ("требования к софту противоречивые, делать мы его не успеваем, а если поговорить с заказчиком, то окажется, что его вообще делать не нужно, а нужно совсем другое"). Ну и так далее.
no subject
Date: 2010-10-21 11:19 am (UTC)Вот у меня сложилось ощущение, что он помогает только выпускникам тракторного ПТУ, у всех остальных этих преград нету. Про пихологию конечно, сектантство.
> Вот насчет идеальной системы, или фантастических допущений(типа "предположим что у нас есть бесконечная энергонезависимая память, проектируем с учетом этого, а потом возвращаемся к реальности и смотрим...
Каким образом? Большинство задач в программировании сводится к проблеме укладки в ограниченные ресурсы, причем ограниченные конкретным образом. Чем тут могут помочь фантазии о бесконечной памяти - не понимаю. Как промежуточная абстракция "бесконечные" сущности могут быть весьма полезны, но вот _инженерного_ смысла за ними не стоит.
Про "выход в надсистему" (звучит как "выход в астрал и изменение точки сборки") я вообще молчу, из курса системного анализа известно что глобальная оптимизация лучше локальной, но почему-то системные аналитики не строят на этом теорию.
no subject
Date: 2010-10-21 11:50 am (UTC)no subject
Date: 2010-10-21 12:02 pm (UTC)В крайнем случае потребность в работающей системе может удовлетворить и грамотно исполненный миньет ;-)
no subject
Date: 2010-10-21 10:13 am (UTC)Очень даже просто. И это даже очень хорошо уже делается.
Высшая степень развития системы?- Системы нет, а работа выполняется.
Что это значит? Функция системы переносится в надсистему.
- Вместо того, чтобы каждое приложение имела свою логику работы со шрифтами и свой набор шрифтов, функциональность по работе со шрифтами передается ОС.
- Вместо того, чтобы каждое приложение само имело настройки прокси, настройки переносятся в систему, в одно место.
- Вместо того, чтобы каждая программа занималась освобождением памяти, функция по сборке мусора переносится в VM.
И так далее по списку принципов ТРИЗ.
no subject
Date: 2010-10-21 11:34 am (UTC)> Высшая степень развития системы?- Системы нет, а работа выполняется.
Это в большей степени пожелание к интерфейсу системы, а не к реализации. Вещественный мир - он параллелен, в нем одновременно проходят все процессы которые могут, даже те которых мы не хотим или про которые не знаем. Иногда можно все это хакнуть и повесить функции подсистемы на соседей. В софтверной инженерии такой подход уже не катит, потому что любое шевеление требует явного указания на это шевеление (и затрат времени). Между тем, если для решения задачи нужно сделать N таких-то телодвижений и M таких-то, у нас есть лишь выбор делать их явно или упихать в черный ящик (а затем гордо его не замечать сказать, что вот - системы-то нет, а функция выполняется!).
Еще одна проблема, которая даже более важна чем проблема генерации решений, и которую даже не пытается решать ТРИЗ - проблема валидации. Наплодить идей я могу хоть сейчас, а вот для того чтобы понять, во что она выльется в реальности... в реальности окажется что у предложенного решения возникает куча неустранимых ограничений, и не всегда представляется возможным определить их, и их последствия.
> Функция системы переносится в надсистему.
> - Вместо того, чтобы каждое приложение имела свою логику работы со шрифтами и свой набор шрифтов, функциональность по работе со шрифтами передается ОС.
> - Вместо того, чтобы каждое приложение само имело настройки прокси, настройки переносятся в систему, в одно место.
> - Вместо того, чтобы каждая программа занималась освобождением памяти, функция по сборке мусора переносится в VM.
Это просто переворачивание сопливого платка другой стороной, вместо того, чтобы его постирать или взять другой. В конце концов, библиотечный подход известен давно, и чтобы до него додуматься не нужен ТРИЗ. Вот предсказать, во что выльется это решение... ну, для примера: что делать, если штатный сборщик мусора не работает в реальном времени, или просто слишком медленный?
no subject
Date: 2010-10-21 12:04 pm (UTC)а) Вы просто не поняли импликации этого принципа. Не надо плодить частных решений.
б) Технические ограничения- обязательная часть любого ТЗ. Существует несколько способов проверки ограничений. Тупым перебором, или теоретическим способом, основываясь на модели либо априорных знаниях. ТРИЗ позволяет минимизировать варианты, исключив заведомо неэффективные решения, если следовать его принципам. ТРИЗ формализует то, что обычно делается по наитию.
в) и чтобы до него додуматься не нужен ТРИЗ. Вот предсказать, во что выльется это решение... К сожалению, практика показывает обратное. В программных системах отсутствие системного мышления и следования принципам ТРИЗ приводит к неэффективным, частным решениям. Повсеместно.
что делать, если штатный сборщик мусора не работает в реальном времени, или просто слишком медленный
Скажите, вы когда заходите в туалет, снимаете штаны и садитесь на горшок, вы только тогда задумываетесь, хотите вы писать-какать или нет?
no subject
Date: 2010-10-21 12:30 pm (UTC)Еще раз: стремление к идеалу наталкивается на конкретные практические ограничения, в случае софта настолько конкретные, что рассуждения об "идеале которого нет" теряют смысл.
б) Мантра. Точнее, единственное, что ТРИЗ делает - это "формализует". Делается оно все равно по натию. Тем более, что либо "проверить" ограничения все равно нельзя либо в силу их комплексности, либо в силу отсутствия модели.
в) Давайте на
пальцахпримерах уж что-ли. Покажите хорошее ТРИЗ-решение в софтверной инженерии.С туалетом, кстати, хорошая аналогия. Вот сижу я на унитазе и, внезапно, приспичило мне поблевать. А встать не могу - процесс полным ходом идет.
no subject
Date: 2010-10-21 01:01 pm (UTC)Еще раз: стремление к идеалу в любой естественной области означает нахождение определенных оптимальных трейд-оффс. Следование обобщенным принципам сокращает область поиска и качество результата.
б) Если вы чего-либо недопонимаете, это не значит, что так оно и есть.
в) Что вы понимаете под "хорошее решение ТРИЗ в софтверной инженерии"? По пунктам.
ПС. С туалетом- да, хорошая. Моя аналогия. Это отражает стиль мышления тех, кто любит сначала искать дьявола в мелочах, а потом теряться в трех соснах среди леса.
no subject
Date: 2010-10-21 01:09 pm (UTC)в) 1) с применением ТРИЗ; 2) из области софтверной инженерии; 3) решение должно быть хорошим - давать существенные преимущества применившим его.
Стиль мышления тех, кто обобщает любые три палки до леса, а потом упорно не замечает скачущих вокруг чертей ничем не лучше.
no subject
Date: 2010-10-21 01:24 pm (UTC)в) _что_ с применением ТРИЗ? конкретнее. 2) из области- конкретнее 3) хорошее- это слишком расплывчато. преимущество- в чем должно выразиться?
б) кто обобщает любые три палки до леса это скорее следующая ступень развития любителей часностей и "чего тут думать, надо делать", когда они начинают обобщать ужей и ежиков, и искренне полагают, что это и есть ТРИЗ в действии.
no subject
Date: 2010-10-21 01:36 pm (UTC)в1) Способ получения решения (желательно задокументированный в исторических документах) должен включать явное указание на ТРИЗ. Спекуляции на тему "великий гений Леонардо изобретая винтокрылый аппарат бессознательно применил прием №25" - не интересуют.
в2) Да что угодно, на ваш выбор, но относящееся к софту. Не к межличностным коммуникациям, не к менеджменту, не к психологии командной разработки, а конкретная чисто техническая проблема и чисто техническое решение;
в3) Например в количественных характеристиках, ну, например, сокращение времени расчета.
Обобщать ужей с ежиками как раз характерно для ТРИЗ'а по-моему. И я, кстати, ни разу не агитировал за "не думать".
no subject
Date: 2010-10-21 01:51 pm (UTC)Ну, я вижу тут есть просто непреодолимые заблуждения и предубеждения: бред, потому что я читал, и вижу что это бред. Как мне ТРИЗ поможет застегнуть пуговицу и почистить ботинки?
На счет примеров, опять же почитайте в Интернетах (тм). Что толку дальше обсуждать, если у вас есть готовое мнение? Это уже не инженерная задача.
no subject
Date: 2010-10-21 03:47 pm (UTC)Чего там читать, про самолетики с изменяемой геометрией крыла? Про софт-то будет, али как?
no subject
Date: 2010-10-21 05:52 pm (UTC)It has been reported that car companies Fordand Daimler-Chrysler, Johnson & Johnson, aeronautics companies Boeing, NASA, technology companies Hewlett Packard, Motorola, General Electric, Xerox, IBM, LG and Samsung, and Procter and Gamble and Kodak have used TRIZ methods in some projects.
Напишите им. Они вам ответят развернуто. Я вам уже привел самые очевидные примеры использования принципов триз;-) Образовывайтесь, учитесь глядеть ширше.
no subject
Date: 2010-10-22 11:16 pm (UTC)=))
no subject
Date: 2010-10-21 12:37 pm (UTC)Отказаться от него. Распределять всю память заранее и не заниматься переаллокацией. Люди так на J2ME уже 10 лет пишут. Матерятся и пишут, матерятся и пишут.
no subject
Date: 2010-10-21 12:44 pm (UTC)Спрашивается, такая ли уж хорошая идея была - впихивать сборщик в систему? И, главное, как бы помог ТРИЗ определить - хорошая ли это идея?
no subject
Date: 2010-10-21 02:00 pm (UTC)Ведь с момента создания java vm уже прошла путь от неповоротливого прожорливого монстра до вполне себе живчика.
no subject
Date: 2010-10-21 02:11 pm (UTC)no subject
Date: 2010-10-22 08:31 pm (UTC)no subject
Date: 2010-10-21 10:58 am (UTC)Это и есть метафора применения ТРИЗ! ;-)
no subject
Date: 2010-10-21 11:01 am (UTC)no subject
Date: 2010-10-21 11:07 am (UTC)- Нет...
- И я не вижу. А он есть!
- Понял...
(c) ДМБ
http://www.youtube.com/watch?v=t1KwlZST-Q8
Паук, получается, это такое волшебное существо, выявляющее противоречия! ;-)
Не побоюсь взять на себя роль арбитра в вашем споре
Вижу, что:
1) есть сторонники этого самого TRIZ и есть, скажем так, скептики
2) обе стороны, насколько я понял, технически подкованы в своей области и могут выдвигать аргументы ОБЩЕГО плана БЕСКОНЕЧНО.
Но защитники TRIZ, на мой взгляд, с треском проиграли этот спор, потому что:
1) под разными предлогами ОТКАЗАЛИСЬ разобрать КОНКРЕТНЫЙ ЧАСТНЫЙ ПРИМЕР в вашей профессиональной области, где была бы использована эта система, и было бы найдено с её помощью грамотное техническое решение проблемы. Хотя казалось бы - чего уж проще привести конкретный пример!
2) за неимением более веских аргументов стали ссылаться НА АВТОРИТЕТЫ И ГРОМКИЕ ИМЕНА ИЗВЕСТНЫХ ФИРМ вместо того, чтобы приводить примеры решения проблем этими самыми авторитетами и известными фирмами. Для наглядности - уж куда как фирма Microsoft известна, но разве это не мешало ей выпускать глючные продукты, которые затыкались заплатками?
3) "читайте Интернет" - это вообще признак дурного тона в споре, поскольку бремя доказательств лежит на защищающем свою точку зрения. Если какой-то спорщик требует от противной стороны, чтобы та искала за него аргументы - то сразу понятно, что спор этим ленивым спорщиком проигран вчистую :-)