powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Как не сделать "вонючий" проект?
100 сообщений из 100, показаны все 4 страниц
Как не сделать "вонючий" проект?
    #32419346
Фотография Varan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тов Р.К. Мартин в одной из своих книг определил несколько признаков плохого проекта.
"Диагноз ""Загнивания"" программы устанавливается в случае обнаружения одного из следующих признаков плохого проекта.
1. Закрепощенность: система с трудом поддается изменениям, поскольку любое минимальное изменение вызывает эффект ""Снежного комма"", затрагивающие другие компоненты системы.
2. Неустойчивость: в результате осуществляемых изменений система разрушается в тех местах, которые не имеют непостредственного отношения к изменяемуму компоненту
3. Неподвижность:достаточно трудно разделить систему на компоненты, которые могли бы повторно использоваться в других системах
4. Вязкость:сделать что-то правильно намного сложнее, чем выполнить некорректные действия
5. Неоправденная сложность: проект включает инфраструктуру, применение которой не влечет непостредственной выгоды
6. Неоправданные повторения: проект включает повторяющиеся структуры, которые могут унифицироваться с применение простой абстракции
7. Неопределенность : проект трудно читать и понимать. Недостаточно четко выражено содержимое проекта."
Прочел, короче,я это, и , как герой Д.К. Джерома, обнаружил, что все эти признаки имели и имеют место.
Не даст ли кто оригинальных рекомендаций, как не сделать вонючий проект, а сделать нечто красивое?
...
Рейтинг: 0 / 0
Как не сделать "вонючий" проект?
    #32419692
bas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это все написано про идеал, кот. даже у Тов Р.К. Мартина нет. Все описано в принципе правильно, но к сожалению этот идел не достяжим, при проектировании/реализации проекта приходиться чем то жертовать по ряду причин: сроки поджимают, нет достаточной квалификации, нет возможности что-то приобрести(например всю линейку ALM Rational или др. фирм) и т.д. и т.п. А универсального рецепта нет, надо просто при проектировании/реализации/конторль иметь в виду все 7 пунктов и к ним стремиться
...
Рейтинг: 0 / 0
Как не сделать "вонючий" проект?
    #32420205
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Применительно к проектированию БД. Без претензий на отточенные формулировки и истину в последней инстанции.

1. При проектировании надо сразу четко делить программу на самостоятельные модули. Миниально бывает: модуль бизнес-логики на сервере, модуль ввода и модуль отчетов. Плюс проектирование строго сверху-вниз.
2. Модули должны взаимодействовать друг с другом через постоянные и неизменяемые интерфейсы.
3. См. 1 и 2
4. Ошибочные действия юзера должны блокироваться на всех уровнях. Все, что можно сделать программно - нужно делать програмно. Юзер должен делать только то, что невозможно реализовать на основании имеющейся информации, как содержащейся в базе, так описаной в бизнес-процессах.
5. Поэтапное пректирование. Сначало делается ядро, выполняющее основные функции программы, а уж затем привешиваются всякие фенечки.
6. Нормализовать надо таблицы.
7. С этим не согласен. Проект пишут не для чтения. Четко выраженное содержимое проекта уже является программой. Да и четко выразить можно полную муру.
...
Рейтинг: 0 / 0
Как не сделать "вонючий" проект?
    #32420319
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Существенное замечание по поводу первого пункта:
В любом проекте существуют подводные камни, которые не видны
в самом начале проектирования.
Считаю самым правильным, как только такие проблемы обнаружены,
как можно раньше вернуться назад, к этапу перепроектирования,
в противном случае, действительно получится "снежный ком".
Вывод: нужно иметь мужество признавать собственные ошибки.
...
Рейтинг: 0 / 0
Как не сделать "вонючий" проект?
    #32420426
Фотография Jimmy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Cat2
7. С этим не согласен. Проект пишут не для чтения. Четко выраженное содержимое проекта уже является программой. Да и четко выразить можно полную муру.

Не согласен? А зря.
Проект должен иметь вменяемое ТЗ , которое однозначно трактуется сторонами (Заказчик и Исполнитель). Иначе - будут большие проблемы при сдаче проекта в эксплуатацию.
Кроме того, при изменении состава проектной команды, нужно минимизировать время адаптации нового работника. Это тоже - проектная документация.
А вот "четко выразить полную муру" - сложно. Т.к. будет видно невооруженным глазом, что это - мура, и как раз не стоит того, чтобы продолжать и тратить бабки на ее реализацию (конечно, если нет "отката" Заказчику).
Зато "полную муру" можно легко получить , когда нет нормального ТЗ.
...
Рейтинг: 0 / 0
Как не сделать "вонючий" проект?
    #32420443
Фотография Jimmy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 gardeman

Считаю самым правильным, как только такие проблемы обнаружены,
как можно раньше вернуться назад, к этапу перепроектирования,
в противном случае, действительно получится "снежный ком".
Вывод: нужно иметь мужество признавать собственные ошибки.


Такой вариант возможен, конечно, если ты не подписан под сроки и деньги.
Если подписан - то это - проблемы твои , а не Заказчика, т.к. ошибки этапа проектирования - твои ошибки. А это, в лучшем случае , денежный вопрос.

Вывод: нужно иметь мужество и деньги , чтобы признавать собственные ошибки в коммерческих проектах.

ЗЫ Не призываю к замалчиванию ошибок, ни в коем разе! Просто уточнил высказывание.
...
Рейтинг: 0 / 0
Как не сделать "вонючий" проект?
    #32420486
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Jimmyвот "четко выразить полную муру" - сложно.
Зато "полную муру" можно легко получить, когда нет нормального ТЗ.
Двумя руками за!
Вспомнился мой семенарист по физике. Умный был дядька... Когда студенты ему что-то пытались на словах да на пальцах объяснить, он всегда повторял "Вы пишите, пишите... Глупость, написанная на бумаге, становится явной."

авторВывод: нужно иметь мужество признавать собственные ошибки.
Такой вариант возможен, конечно, если ты не подписан под сроки и деньги.
Да хоть бы и подписан. Если сроки еще не жмут - лучше иметь мужество.
Безжалостным рефакторингом ударим по ошибкам молодости.
Если сроки закончились, а у тебя еще куча ошибок - то лучше иметь деньги :).
...
Рейтинг: 0 / 0
Как не сделать "вонючий" проект?
    #32420583
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На вскидку вопрос: у кого сколько времени занимает собственно проектирование (процентная доля) от всего процесса разработки?
Признаюсь честно: у меня на то, чтобы нарисовать структуру
таблиц+индексы+триггеры+процедуры - это примерно 70% времени
и трудностей от проекта. Остальные 30 -написание клиентского приложения
+ доводка/отладка.
...
Рейтинг: 0 / 0
Как не сделать "вонючий" проект?
    #32420668
Фотография Varan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gardenman , а анализ требований к программному проекту отношения не имеет?
Может пример и не такого высокого уровня, но зато искренне.
Если делать небольшое приложение БД, 70% времени - выяснение собственно требований и прогнозирование вариантов их изменений, а 30% - все остальное.
...
Рейтинг: 0 / 0
Как не сделать "вонючий" проект?
    #32420737
d'n
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
d'n
Гость
ИМХО чтобы не сделать ошибок и не наступать на грабли - пользоваться проверенными методами, к примеру RUP. можно и не тратиться на дорогой инструментал, методика доступна и проверена.
...
Рейтинг: 0 / 0
Как не сделать "вонючий" проект?
    #32420827
Фотография vdimas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
применение RUP ничего не гарантирует, это методология, а не готовое техническое решение.

ну ка, знатоки RUP, давайте-ка попробуйте ответить на пункты автора топика:

1. Закрепощенность: система с трудом поддается изменениям, поскольку любое минимальное изменение вызывает эффект ""Снежного комма"", затрагивающие другие компоненты системы.
проектирование только сверху вниз приводит к подобному эффекту быстрее всего

2. Неустойчивость: в результате осуществляемых изменений система разрушается в тех местах, которые не имеют непостредственного отношения к изменяемуму компоненту
это следствие из пред.п.

3. Неподвижность:достаточно трудно разделить систему на компоненты, которые могли бы повторно использоваться в других системах
Для того, чтобы компоненты можно было использовать повторно, они должны быть заранее спроектированы с учетом последующего повторного использования. Обычно это означает дополнительные трудозатраты по реализации дополнительной функциональности сверх предписанной в рамках конкретной системы (иногда плюс 50%-100% работы, что окупается только в случае заведомого нацеливания на повторное применение).
Кстати, мне очень импонирует компонентный подход в разработке. К изолированному компоненту можно применять самостоятельно стоящий RUP, компонент необходимо разрабатывать вне рамок какой-то системы, а именно как самодостаточный имеющий простой интерфейс модуль .

4. Вязкость:сделать что-то правильно намного сложнее, чем выполнить некорректные действия
В принципе, это последствия необходимости что-то постоянно менять после завершения разработки системы, постепенно можно прийти и к такому. Компонентный подход выручает и здесь.

5. Неоправденная сложность: проект включает инфраструктуру, применение которой не влечет непостредственной выгоды
Можно поспорить, особенно если система заведомо спроектирована с учетом расширений и масштабирования. В какой-то момент эта сложность будет неправдана, но ситуация может поменяться и эта сложность всех спасет.

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

7. Неопределенность : проект трудно читать и понимать. Недостаточно четко выражено содержимое проекта."
Это зависит от организации и артефактов. Тут может помочь применение хоть какой-нибудь методологии или же просто здравого смысла.

Не даст ли кто оригинальных рекомендаций, как не сделать вонючий проект, а сделать нечто красивое?
Надо ставить производство ПО на поток. Закладывать в компоненты больше, чем требуется в конкретном бизнесс-приложении, не жалеть времени на то самое среднее звено. Стремиться к максимальной простоте на самом верхнем уровне (т.е. если по смыслу надо сделать A=B+C, то желательно, чтобы в коде именно так и было, а не нечто типа:
- заблокировать А, обработать ошибки
- заблокировать B, опять обработать ошибки
- С...
- провести операцию
- записать в журнал
- снять блокировки
- и т.д. и т.п.)

Мне импонируют языки с возможностью переопределния операторов (С++, С#), ибо читабельность кода и намерения программистов наиболее наглядны в этом случае.
...
Рейтинг: 0 / 0
Как не сделать "вонючий" проект?
    #32420883
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vdimas: >Закладывать в компоненты больше, чем требуется в конкретном бизнесс-приложении
Абсолютно не согласен. Ни когда не буду так делать. Наглядный пример такого подхода - MFC. Компоненты должны быть максимально просты в использовании.
Вот возможность расширения - это конечно нужно закладывать.
Краткость - сестра таланта
Все гениальное - просто
...
Рейтинг: 0 / 0
Как не сделать "вонючий" проект?
    #32420945
d'n
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
d'n
Гость
2 vdimas:
я не проф в RUP, но мне кажется, что как раз те требования, что изложены, обеспечиваются в большой степени этой методологией (я и не говорил, что это технически готовое решение). Как раз советы Booch'а, как то:
1 Итеративная разработка
2 Управление требованиями
3 Использование модульных архитектур
4 Использование визуального моделирования
5 Проверка качества
6 Отслеживание изменений
, лежащие в основе метода позволяют делать многократно используемые, модульные и управляемые решения
...
Рейтинг: 0 / 0
Как не сделать "вонючий" проект?
    #32421004
Фотография Varan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...вот начнется сечас игра словами - Rup, Extreem. Мне бы хотелось конкретных рекомендаций, из реального опыта. Вот совет vdimasa- делать компоненты с функционалом "про запас" - это я понять могу. И примеры, потверждающие полезность этого, даже из других областей, а не только из программирования, есть. А вот игра иностранными аббревиатурами мне не по душе.
d'n мне кажется приведенные вами 6 пунктов Буча в данный момент используются при любой методологии (или как там эта штука называется).
...
Рейтинг: 0 / 0
Как не сделать "вонючий" проект?
    #32421035
d'n
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
d'n
Гость
2 Varan: как вам угодно, я привел как обобщение "конкретных примеров". это не игра словами, если этим пользоваться. vdimas на самом деле говорит о том же, только другими словами. ну а конкретных примеров, кода для ИС я вам не смогу привести, это ж все в комплексе строится
...
Рейтинг: 0 / 0
Как не сделать "вонючий" проект?
    #32421039
funikovyuri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Закладывать в компоненты больше, чем требуется в конкретном бизнесс-приложении

Так можно такое понаписать...
...
Рейтинг: 0 / 0
Как не сделать "вонючий" проект?
    #32421078
Фотография Varan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
d'n А я подумал, вы сейчас начнете спорить, что круче RUP, XP или еще что-то на несколько листов :-)
...
Рейтинг: 0 / 0
Как не сделать "вонючий" проект?
    #32421132
Фотография vdimas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 funikovyuri

не надо передергивать

в момент работы программиста над компонентом увеличение числа функций на 50% приведет к увеличению потраченного времени дай бог на 10%-20%

если же тот же самый программист будет добавлять эти же ф-ии спустя пол-года, то ему потребуется время, сравнимое со временем первоначального написания оного

налицо экономия

опять же, повторюсь, речь идет только о той ситуации, когда производство ПО поставлено на поток и вопрос повторного использования - не праздный


-----------
в принципе, можно привести пример:

в программе используется масса маленьких всплывающих диалогов, состав диалога - надпись и набор радио-кнопок для выбора

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

вполне грамотно...
однако, сверх нормы добавили еще пару перезгрузок этой ф-ии, которая позволяет в этих диалогах (в виде baloon) добавлять еще и чек-боксы и иконку.

вначале этого не требовалось... однако решено было сделать...
а потом, разумеется, пригодилось и не раз

на написание "лишних" сигнатур ушло около часа... при возврате к этому вопросу позже мог бы уйти день... вот и кумекай
...
Рейтинг: 0 / 0
Как не сделать "вонючий" проект?
    #32421249
d'n
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
d'n
Гость
да спорить, "что круче" толку нет. вот говоришь, что эти вещи буча везде - это ж и есть реальный опыт и работающая методика. ладно.. vdimas говорит, что надо ре-использование практиковать, так в RUP то же самое. как ни назови, оптимальные методы известны. просто Rational свела их в методологию, внятную и целостную. поэтому стоит присмотреться, чем велосипед изобретать.
...
Рейтинг: 0 / 0
Как не сделать "вонючий" проект?
    #32421286
funikovyuri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дим, да ты не волнуйся так - я не против повторного использования и компонентного подхода bla bla bla

Просто я за компромисы...
...
Рейтинг: 0 / 0
Как не сделать "вонючий" проект?
    #32421302
Фотография Varan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
d'n
Ну ентот RUP в расчете на крупные которы. А меня в основном интересуют как маленький проектик (в котором 2-3 человека задействованы, не больше) красиво и качественно сделать, чтоб перед людями не стыдно было. Хотя, конечно, принципы оттуда определенные взять можно.
Я цитату из "быстрой разработки программ" Мартина не случайно привел. В принципе, там изложено самое то, что надо. Но вот главный пример оттуда меня что-то не очень впечатлил. Он в нем делает программу "Зарплата", попутно рассматривая вопросы шаблонов и.т.п, но про базу данных и SQL вспоминает в последнюю очередь. Вот у меня и зародилось сомнение - а разбирается ли он вообще в приложениях для БД. Поэтому и решил спросить у тех, кто реально с этим делом связан и задал вопрос в форум по проектированию БД, а не по программированию.
...
Рейтинг: 0 / 0
Как не сделать "вонючий" проект?
    #32421374
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Varan
Проектирование баз данных - это практически искуссво.
Я заметил, что никакая теория в этом процессе практически не помагает.
Главное - опыт. Опыт, который помагает правильно разложить модель
по таблицам, таким образом, чтоб все работало быстро и правильно,
и чтоб струтура действительно соответствовала тому, чего надо получить.
Это как раз и есть самое трудное.

Как бы кто не изголялся над клиентским приложением, но если структура
не соответствует - геморрой на всю жись (проекта) обеспечен.
...
Рейтинг: 0 / 0
Как не сделать "вонючий" проект?
    #32421461
Фотография Jimmy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИМХО чтобы не сделать ошибок и не наступать на грабли - пользоваться проверенными методами, к примеру RUP. можно и не тратиться на дорогой инструментал, методика доступна и проверена.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Мартышка к старости слаба глазами стала;
     А у людей она слыхала,
   Что это зло еще не так большой руки:
     Лишь стоит завести Очки.
Очков с полдюжины себе она достала;
     Вертит Очками так и сяк:
То к темю их прижмет, то их на хвост нанижет,
   То их понюхает, то их полижет;
     Очки не действуют никак...

Фрагмент басни  "мартышка и очки"  И.Крылов

---------------
Данное сообщение содержит вирус!
...
Рейтинг: 0 / 0
Как не сделать "вонючий" проект?
    #32421489
Фотография Varan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Jimmy ,
Я упертая обезьяна. Рано или поздно очки будут там, где положено :-). По крайней мере я на это надеюсь.
...
Рейтинг: 0 / 0
Как не сделать "вонючий" проект?
    #32421582
Фотография Jimmy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Varan

Ну, так я же не имел ввиду никого из оппонентов!
Просто это - иллюстрация того, как можно испоганить любую, самую продвинутую и опробированную методику.

---------------
Данное сообщение содержит вирус!
...
Рейтинг: 0 / 0
Как не сделать "вонючий" проект?
    #32421634
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Про четкую муру в проекте. Я видел одно ТЗ. Там на протяжении трех страниц описывалось, какие значения присваиваются полям суррогатные ключей. Как будто identity еще не изобрели.
...
Рейтинг: 0 / 0
Как не сделать "вонючий" проект?
    #32421672
Фотография vdimas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 gardenman

Проектирование баз данных - это практически искуссво.
Я заметил, что никакая теория в этом процессе практически не помагает.
Главное - опыт. Опыт, который помагает правильно разложить модель
по таблицам, таким образом, чтоб все работало быстро и правильно,
и чтоб струтура действительно соответствовала тому, чего надо получить.


Да, действительно. Взять, например, хранение того же самого иерархического справочника (деревяшка). Если брать самое простое и минимальное решение (в каждом узле храним Parent) - то оно и есть самое неудачное. Удачное же решение для деревяшек требует некоторых трудозатрат... Однако, удачное решение гораздо удобней использовать и оно быстро работает... Берем параметризируемый скрипт для БД, берем базовый класс-сущность-деревяшку (скажем, на C#, с конструкторами, принимающими интересующие имена таблиц и полей хранимой деревяшки), отлаживаем все это... И получите готовый компонент, который можно рассматривать как кубик в LEGO.

Еще пример.
"Классическая" разработка под БД подразумевает обкладку базы всевозможными ограничениями как танка броней... Ну просто замечательно, и сердце радуется, глядя на всю эту классическую строгость... особенно на этапе разработки и отладки... Однако, без оных ограничений можно увеличить быстродействие OLTP в разы, иногда в многие разы (предлагаю на это высказывание не флеймить, все за и против давно всем известны). База, без ограничений и поддержки целостности, слаба и беззащитна, здесь мы только полагаемся на правильно организованные транзакции, хорошо отлаженные процедуры, триггера и клиентские запросы. Все эти вещи (хозяйство со стороны БД и клиента) надо раскладывать в законченные и независимые модули (ключевое слово - независимые), и юзать многократно сию отлаженную эффективную реализацию ...

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

Однако! (я уже как-то упоминал это, но был раскритикован Репликантом), используя набор компонент, используя некий отлаженный фреймворк, на самом верхнем уровне (на том самом прикладном уровне), можно уже будет поиграть в XP. XP весьма неплох там, где под ним покоится мощный и надежный базис (отлаженная среда и компоненты). XP - это просто стадия макетирования и обсуждения деталей вместе с заказчиком... Только макеты никто не выкидывает, ибо они сразу являются работоспособными...

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

Почему самой массовой является 1С?
А почему дети любят кубики?
...
Рейтинг: 0 / 0
Как не сделать "вонючий" проект?
    #32421921
d'n
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
d'n
Гость
2 Jimmy: намек с мартышкой относится ко мне, но я считаю, что не все, кто использует RUP - мартышки. ну а испохабить все можно, согласен.
2 Varan: если вопрос стоит по затачиванию под бд, то были темы про объектные базы, может стоит присмотреться. я же когда отвечал, имел ввиду ведение проекта в целом. возможно попал "не в тему" ;)
...
Рейтинг: 0 / 0
Как не сделать "вонючий" проект?
    #32422052
Фотография Jimmy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Jimmy: намек с мартышкой относится ко мне...

Это - не так. Никаких личных выпадов.

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

Бизнес-анализ - крутая штука, если его результаты согласованы и сведены в ТЗ, которое подписано Заказчиком.

А если Заказчику в середине проекта приходят светлые мысли, то нужно достать утвержденное и согласованное ТЗ и спросить Заказчика: "Как Ваши интересные мысли согласуются с тем, что изложено в ТЗ? Никак? Тогда извините... Или Вы просто наслаждаетесь Вашими интересными мыслями, а мы продолжаем работать по ТЗ, или оформляем допсоглашение за очень дополнительную плату."

PS Кстати, это реально происходит сейчас в проекте, в котором я работаю, так что все вышесказанное - не досужие мысли.

---------------
Данное сообщение содержит вирус!
...
Рейтинг: 0 / 0
Как не сделать "вонючий" проект?
    #32422135
а где Репликант?
я уже было приготовился этот топик до обеда читать, а после - осмысливать...
...
Рейтинг: 0 / 0
Как не сделать "вонючий" проект?
    #32422160
Фотография vdimas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Jimmy

А если Заказчику в середине проекта приходят светлые мысли, то нужно достать утвержденное и согласованное ТЗ и спросить Заказчика: "Как Ваши интересные мысли согласуются с тем, что изложено в ТЗ? Никак? Тогда извините... Или Вы просто наслаждаетесь Вашими интересными мыслями, а мы продолжаем работать по ТЗ, или оформляем допсоглашение за очень дополнительную плату."

Никто не спорит, что сроки и деньги остануться теими же. Но вот вопрос - как сильно они изменяться? Насколько критично для разрабатываемого продукта изменения и дополнения в ТЗ?

Что-то мой мозжечек говорит мне, что чем опытнее разработчики, тем менее это критично...

------------------
Кто-нибудь видел учетную систему, которую не пришлось бы ни разу
дополнить чем-нить? Или у всех их программы работают по 5-10 лет без единого исправления-дополнения?

Это абсолютно нереально, ибо видение заказчиком собственного бизнеса вполне объективно меняется со временем.
...
Рейтинг: 0 / 0
Как не сделать "вонючий" проект?
    #32422163
Tulenev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vdimas
Да, действительно. Взять, например, хранение того же самого иерархического справочника (деревяшка). Если брать самое простое и минимальное решение (в каждом узле храним Parent) - то оно и есть самое неудачное. Удачное же решение для деревяшек требует некоторых трудозатрат... Однако, удачное решение гораздо удобней использовать и оно быстро работает... Берем параметризируемый скрипт для БД, берем базовый класс-сущность-деревяшку (скажем, на C#, с конструкторами, принимающими интересующие имена таблиц и полей хранимой деревяшки), отлаживаем все это... И получите готовый компонент, который можно рассматривать как кубик в LEGO.


Вы случайно не про реализацию собственного OLAP-сервера говорите? :)
...
Рейтинг: 0 / 0
Как не сделать "вонючий" проект?
    #32422272
bas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НУ блин и по написали.... И все равно пришли к моему первоначальному мнению:

bas
Все описано в принципе правильно, но к сожалению этот идел не достяжим, при проектировании/реализации проекта приходиться чем то жертовать по ряду причин: сроки поджимают, нет достаточной квалификации, нет возможности что-то приобрести(например всю линейку ALM Rational или др. фирм) и т.д. и т.п. А универсального рецепта нет, надо просто при проектировании/реализации/конторле иметь в виду все 7 пунктов и к ним стремиться.
...
Рейтинг: 0 / 0
Как не сделать "вонючий" проект?
    #32422389
Фотография vdimas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Tulenev

Вы случайно не про реализацию собственного OLAP-сервера говорите? :)
Какая связь?

просто есть известная быстрая модель той же деревяшки, но ее мало кто юзает, из-за лени IMHO
...
Рейтинг: 0 / 0
Как не сделать "вонючий" проект?
    #32422618
Tulenev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vdimas
Какая связь?

деревяшка == измерение OLAP-куба

просто есть известная быстрая модель той же деревяшки, но ее мало кто юзает, из-за лени IMHO

расскажите подробнее, пожалуйста
...
Рейтинг: 0 / 0
Как не сделать "вонючий" проект?
    #32422732
Фотография UK0IAI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Закладывать в компоненты больше, чем требуется в конкретном бизнесс-приложении, не жалеть времени на то самое среднее звено

Позвольте две копейки добавить...

ИМХО можно юзать примерно такую методу:

1. Структура БД должна быть избыточной
2. Приложение должно включать в себя ...свой ГЕНЕРАТОР.

1. Избыточность. Допустим вам говорят - мы хотим тупо учитывать деньги (дата.... сумма). А вы про себя, никому ниче не говоря сразу закладываете..как то..

Код ресурса (из вашего мета_справочника)
Код документа (из вашего мета_справочника)
Един_измрения
Цена
Кол-во
Сумма....
И код валюты...не забудьте ищо...

И когда юзер войдет во вкус и будет мечтать о ...ценах - у вас уже все готово!! И в отчете вы сможете ...фильтроваться...по типу ресурса....или бланковки_разные туда подсовывать...

2. Генератор.
Если ваша прога имеет Генератор ЭФ, Генератор отчетов - 90% проблем позади. Но только если вы - модульны. Про другие системы не скажу - а про оракле....оракле + девелопор = все само получается. Если имена модулей ран_таймов в журнале....БД... хранить (ну и пути_файлы все знать...) ....и почти как заповедь_проповедь ....

- ЗАБУДЬТЕ о такой фиче как МЕНЮ. Юзайте аналоги, где список айтемов = всегда ДИНАМИЧЕСКИ из БД формируется...

Юзайте аналоги - Сценарии свои....имейте минимальный набор команд в этом....типа - запуск модуля.....присвоение значения глобал_переменной, условный-безусловный переход по шагам сценария.... сами удивитесь как потом легко будет ....из модулей как из ЛЕГО новый АРМ (типа) собрать..."на лету"....без ПЕРЕКОМПИЛЯЦИИ чего либо...
...
Рейтинг: 0 / 0
Как не сделать "вонючий" проект?
    #32422772
Фотография UK0IAI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Varan
....вот вспомнил...на заре так сказать...САПР проектирования технологических процессов ковки крупных поковок.....на Ижоре...10 лет создавали...
Это была ОЧЕНЬ СЛОЖНАЯ ВЕЩЬ. ЭВМ дескать...вместо...профи....все сама пыталась придумать.....И делала это!! . Только вот как? почему она именно режим_техпроцес выбирала ....а не ИНОЙ???. Черт голову сломит. И тогда (однажды... но ПОЗДНО уже ) промелькнула ИДЕЯ

А что , если прога будет иметь подсистему: "Система Диагностики Принятия Решения"?????. Вот было бы здорово, в логе все увидать - что там и как...по каким так сказать соображеньицам, Машина решение свое принимала....

Но САПР не дожил до эпохи ПК, и помер. А идея - осталась. И мне однажды удалось ее применить...

Идет расчет СЕБЕСТОИМОСТИ. Задали ПЛАН, Нормативы задали, Цены ввели - и считаем. СТОП-МАШИНА. НСИ не все подготовили. И вот тут то и всплывает один такой интерфейс.....где все сразу видно - чего и где не хватило... И можно сразу по всей НСИ пробежаться....по этапам, по маршрутам....по траектории.... значит.... расчета всего...

Система Диагностики Принятия Решения.... вот значит какая штука....
...
Рейтинг: 0 / 0
Как не сделать "вонючий" проект?
    #32422856
funikovyuri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
UK0IAI & vdimas

Т.е. я так понимаю - предлагается разрабатывать системы с функциональностью прозапас - причем за деньги заказчика. А направление, вероятно, будет указывать ведущий экстрасенс-программист?
:)
...
Рейтинг: 0 / 0
Как не сделать "вонючий" проект?
    #32423005
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Очень интересное замечание про "генераторы отчетов".
Никто случайно не обращал внимание на то, как часто появляются
заказы на "новый отчет". Никто случайно не пытался проанализировать
почему вдруг появилась потребность в "новом отчете"?
По своему опыту могу сказать - что в 90% случаев можно предвидеть,
что отчет в той или иной форме будет нужен и заложить его
при проектировании системы.

Как вы думаете, приятно и есть ли желание юзеру изучать
как пользоваться вашим генератором отчетов? Позволяет ли ваш генератор
отчетов вытащить любые данные? А как быстро работает ваш генератор
отчетов? Какими ласковыми словами называют разработчики юзеров
когда пользуются вашими генераторами?
...
Рейтинг: 0 / 0
Как не сделать "вонючий" проект?
    #32423095
Фотография Varan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gardenman,
Очень странная мысль. Генератор отчетов делает систему более гибкой, позволяя пользователю (или программисту) оперативно решать вопросы. Да и как можно предвидеть, что может понадобиться завтра? Вдруг макет захотят поменять, или какой-то новый специфический отчет сделать. Вам что, больше импонирует такой вариант: пользователь захотел отчет, прораммист его сделал,прораммист перекомпилил клиентский проект, прораммист пересталил его везде...Второй путь мне не кажется более простым.
...
Рейтинг: 0 / 0
Как не сделать "вонючий" проект?
    #32423141
Фотография UK0IAI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 funikovyuri
А направление, вероятно, будет указывать ведущий экстрасенс-программист?

Про запас - я в первую очередь понимаю решения на уровне структуры БД. Это не трудоемко, и при наличия опыта в предметной области - не сложно.

Потом, если в БД добавляется поляна...то прога может то и "полететь", перекомпиляцию может тотальную потребовать то...а так - уже нет.

При наличии общего базиса в системе (журналы разные описывающие в БД системные вещи) - тоже хорошо, в целом в духе 7 пунктов из топика сабжа...

2 gardenman

Как вы думаете, приятно и есть ли желание юзеру изучать
как пользоваться вашим генератором отчетов?


По видимому можно и нужно делать различие. Генератор отчетов - это инструмент, прежде всего Программера - а не Юзера. Тогда прога - всего лишь может (должна) обеспечить режим автозагрузки - когда Генератор может запущен под управлением САМОЙ проги (ну просто менеджер задач....что всегда запукает ИЛИ ран-тайм ИЛИ билдер)

И Генератор это уже та самая промышленная тулза....что могучие корпорации уже много лет развивают....
оракле + девелопор = все само получается
(здесь понималось разработка приложения в системе ORACLE Developor 2000...)
Про другие системы не скажу
(не вижу никаких ограничений - для иных сред разработки, в духе этого...)

Тогда наша прога станет не просто приятной во всеъ отношениях - а еще и легкой в сопровождении и в коллективном ведение проекта...

НО, я знаю, я видел, я уверен - что прога может иметь и Юзерский Генератор Отчетов. Это уже - дело техники, мастерства программера в целом - и это - служит залогом успеха в целом - как возможный ответ автору топика на вопрос по существу - "как не сделать вонючий проект".

хотите пример - я решил это, когда отчет выходит в ексель, и в нем, "на лету", после вывода данных - создается пайлот-табле. Отличная идея и инструмент для Юзера - из исходных данных отчета - тут же другой отчет получить....Кстати, ИЗБЫТОЧНОСТЬ - если при этом, где-то сбоку, выводить некие доп_данные (ну коды там разные...) - то возможности юзера сильно расширятся.
...
Рейтинг: 0 / 0
Как не сделать "вонючий" проект?
    #32423157
funikovyuri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это не трудоемко, и при наличия опыта в предметной области - не сложно.

Код как код - почему это он не трудоемкий? Вы ведь не о простом добавлении одного двух столбцов говорите? К тому же - если у вас есть эти самые знания предметной области - почему бы их не добавить в ТЗ?
...
Рейтинг: 0 / 0
Как не сделать "вонючий" проект?
    #32423194
Фотография Varan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
UK0IAI,
" Допустим вам говорят - мы хотим тупо учитывать деньги (дата.... сумма). А вы про себя, никому ниче не говоря сразу закладываете..как то.."
Вот с этим я очень даже согласен. Я вообще прихожу к выводу, что успешный проект возможен, если в нем задействованы "мегачеловеки", которые одновременно и знают бизнес лучше любого из клиентов и могут на несколько шагов просчитать, что им луше для бизнеса надо, а чего - не надо, и с другой стороны опытны в плане структур и могут предвидеть, какая структура наиболее благоприятна и приведет к меньшему геморру при наиболее вероятном изменении требований.
Не могли бы Вы разъяснить про генераторы ЭФ - что это такое и в чем их польза. Это какие-то шаблоны основных форм что-ли?
...
Рейтинг: 0 / 0
Как не сделать "вонючий" проект?
    #32423222
funikovyuri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Varan

И где ты таких видел? Ну допустим ты выучишь бух учет - а вот все детали той же банковской деятельности никто знать никогда не будет...
...
Рейтинг: 0 / 0
Как не сделать "вонючий" проект?
    #32423244
----------
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Varan

Я вообще прихожу к выводу, что успешный проект возможен, если в нем задействованы "мегачеловеки", которые одновременно и знают бизнес лучше любого из клиентов и могут на несколько шагов просчитать, что им луше для бизнеса надо, а чего - не надо, и с другой стороны опытны в плане структур и могут предвидеть, какая структура наиболее благоприятна и приведет к меньшему геморру при наиболее вероятном изменении требований.

Мегачеловеки потребуют гигазарплату (и будут правы)
...
Рейтинг: 0 / 0
Как не сделать "вонючий" проект?
    #32423253
Репликант
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для того, чтобы люди находили счастье в своей работе, необходимы три условия:\r
работа должна быть им по силам, она не должна быть изнуряющей и ей обязательно\r
должен сопутствовать успех.\r
\r
/* (с) Дж. Рескин */\r
\r
\r
2 Varan: \r
Тов Р.К. Мартин в одной из своих книг определил несколько признаков плохого проекта.\r
...\r
Не даст ли кто оригинальных рекомендаций, как не сделать вонючий проект, а сделать нечто красивое?
\r
\r
Позвольте внести терминологическую ясность, что следует различать и отделять такие понятия (объекты) как проект и система (ИС/ПО/сайт/БД, создаваемая или поддерживаемая). Если этого не делать, называя все "проектом", то это будет не обсуждение, а "каша". Например, ваши пп.1-6 (и, наверное, п.7) и все, что тут говорилось выше имеет отношение в основном к системе \r
\r
Ну ентот RUP в расчете на крупные которы. А меня в основном интересуют как маленький проектик (в котором 2-3 человека задействованы, не больше) красиво и качественно сделать, чтоб перед людями не стыдно было. \r
\r
А какой именно RUP имеется в виду? Если "урезанный"/редуцированный RUP, то он может быть использван в маленьком проекте с 1 человеком. Это уже обсуждалось в топике Подходы к проектированию системы.... Еще топики по теме:\r
\r
Раздвоение личности или "а сейчас-то что делать?\r
(бизнес-логика, объектный & реляционный подходы, методологии, ООП & ООАП лит-ра)\r

Есть ли у кого статистика скоко уходит времени на разработку "больших&q (стр.1-4)\r
(проекты, характеристики, затраты, sloc; роль аналитика, проектировщика, программиста)\r

Стоит ли убеждать заказчика?\r
(структурный и ООАП подходы, фазы, деятельности; лит-ра)\r
\r
\r
2 bas & All: \r
.. нет достаточной квалификации, нет возможности что-то приобрести(например всю линейку ALM Rational или др. фирм) \r
\r
Что-то все на IBM-Rational/Borland-Together зациклились... Других средств что ли нет? Например, начнем с того, что есть бесплатные + open source средства для AMDC (анализ, моделирование, проектирование, кодогенерация), т.е большая часть. Есть средства для AMDC (+NET/J2EE) + TM + PM недороже 200EUR, а также учитывая, что есть бесплатные или недорогие CVS средства, то это уже весь ALM. Причем упомянутые средства имеют открытый и хорошо документированный API (COM, VBScript, Java), т.е любой программист, знающий эти языки сможет написать плагин-аддон, если что-то не устраивает. Ну и какой теперь смысл в Rational или в Borland? Не вижу никакого смысла особенно для небольших компаний, к-рые не могут покупать XDE или Together за 10,000+EUR. Если есть вопросы и желание обсуждать эти альтернативные средства, то это лучше делать в топике Помогите выбрать CASE. Добро пожаловать :о)\r
\r
\r
2 gardenman: \r
На вскидку вопрос: у кого сколько времени занимает собственно проектирование (процентная доля) от всего процесса разработки? \r
\r
В топике Обсуждение и Вопросы по ОБЪЕКТНО-ОРИЕНТИРОВАННЫМ МЕТОДАМ (ООАП / OOAD) и UML я приводил типичные значения, к-рые уже пару лет, наверное, выдерживаются, т.е анализ-проектирование + вспомогательные деятельности точно:\r
\r

получение требований/ВИ и анализ с построением модели ВИ/анализа/GUI - 15-20% 1) \r

проектирование архитектуры с созданием модели проектирования/реализации - 15-20% 1) \r

реализация (программирование, создание контента и т.д) - 20-40% 1) \r

создание модели тестирования и тестирование - 1-5% 2) \r

развертывание ("внедрение") - 5-10% 1) \r

DCT/CM, планирование и др.вспомогательные деятельности - 2-5% \r
\r
1) изменяется в зависимости от наличия опыта создания таких приложения,\r
разработки под платформу, уже имеющихся шаблонов и т.п,\r
2) 1% - большую часть тестирования выполняет заказчик.\r
\r
Признаюсь честно: у меня на то, чтобы нарисовать структуру \r
таблиц+индексы+триггеры+процедуры - это примерно 70% времени \r
и трудностей от проекта. Остальные 30 -написание клиентского приложения \r
+ доводка/отладка.
\r
\r
Вообще это зависит от используемого процесса, т.е нет смысла сравнивать временные затраты при некорректном, безсистемном или неавтоматизированном подходе с системным и автоматизированным подходом. Эти значения, например, для UP (ООАП) приведены в книге Крэга Лармана "Применение UML и шаблонов проектирования. (Введение в объектно-ориентированный анализ и проектирование)" – М.: «Вильямс», 2002. – 624 с. (ISBN 5-845-90250-9) или еще в Фатрелле, Шафере и др. Управление программными проектами. Достижение оптимального качества при минимуме затрат – М.: «Вильямс», 2003. – 1136 с. (ISBN 5-845-90413-7) Анализ показателей, поиск неэффективных или даже ненужных деятельностей, повышение эффективности своей работы - отдельная тема, относящаяся к управлению проектами и качеством процесса разработки
...
Рейтинг: 0 / 0
Как не сделать "вонючий" проект?
    #32423259
Фотография Varan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
funikovyuri
Ну, бухучет - это вообще не бизнес, не деятельность, не "предметная область" с моей точки зрения, а какая-то абстракция, в которую играют занятые ей люди.
...
Рейтинг: 0 / 0
Как не сделать "вонючий" проект?
    #32423265
Репликант
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 vdimas:
применение RUP ничего не гарантирует, это методология, а не готовое техническое решение.

Привет, vdimas! Конечно, не гарантирует, т.к я уже не первый раз цитирую это: "успех складывается из 3-х "П"-составляющих? Процесс (включает также средства), персонал (читай профессионализм) и проект (цели, внешняя среда). ..."

ну ка, знатоки RUP, давайте-ка попробуйте ответить на пункты автора топика:

Ответим, ответим. Только скоро уже будем справлять 30-летие ООАП, 40-летие ВИ и 50-летие ООП. Да, не зря в Америке программистам семинары по основам ООАП, шаблонам и УП(PM) читают, а потом они еще зачет сдают. В серьезных американских компаниях вроде ATT, Локхид или индийских компаниях уже давно обязательна сертификация по UML и ISO-IT. Россия c Украиной как всегда в заду тащятся, несмотря на то, что их закрома полны талантливыми программистами...

>1. Закрепощенность: система с трудом поддается изменениям, поскольку любое минимальное изменение вызывает эффект ""Снежного комма"", затрагивающие другие компоненты системы.
проектирование только сверху вниз приводит к подобному эффекту быстрее всего


RUP не дает никаких рекомендаций относительно наиболее предпочтильного подхода к анализу-проектированию, т.е "снизу-вверх", "сверху-вниз", "из-середины". Одно из Правил: использовать инкрементный подход - ИС/БД не должна создаваться сразу и целиком, а частями или приращениями. Предпочтительнее всего, когда сначала реализуется т.н "ядро" - важнейшие ВИ/данные, а затем к ним приделывается все остальное.
Что же касается изменений, то в RUP нет такого понятия как "окончательные требования", а отсюда сам процесс, направляемый ВИ, а также его программные средства направлены и позволяют:

получать и централизованно управлять изменениями требований, т.е
  с минимумом затрат поддерживать ЖЦ требований "от рождения до смерти";


предотвращать появление масштабных ad-hoc изменений требований,
  к-рые могут привести к коллапсу проекта. Это достигается как за счет
  итеративности и инкрементности, так и за счет подхода, когда сначала
  в результате итераций, получаются стабильные требования и прототипы,
  а затем уже релиз и т.д;


делать трасировку требований с остальными артефактами, например, модели
  проектирования, код, тест-кейсы, а также создавать необходимые отчеты,
  т.е изменение требований, связанных с артефактом автоматически делает
  этот артефакт и другие, связанные с этиими требованиями трасировкой,
  устаревшим

>2. Неустойчивость: в результате осуществляемых изменений система разрушается в тех местах, которые не имеют непостредственного отношения к изменяемуму компоненту
это следствие из пред.п.


Необязательно, т.к это может быть результатом локальных ошибок проектирования, т.е низкой модульности, слабой связности и т.д, а не всего процесса или подхода "сверху-вниз"

>3. Неподвижность:достаточно трудно разделить систему на компоненты, которые могли бы повторно использоваться в других системах
Для того, чтобы компоненты можно было использовать повторно, они должны быть заранее спроектированы с учетом последующего повторного использования. Обычно это означает дополнительные трудозатраты по реализации дополнительной функциональности сверх предписанной в рамках конкретной системы (иногда плюс 50%-100% работы, что окупается только в случае заведомого нацеливания на повторное применение).
Кстати, мне очень импонирует компонентный подход в разработке. К изолированному компоненту можно применять самостоятельно стоящий RUP, компонент необходимо разрабатывать вне рамок какой-то системы, а именно как самодостаточный имеющий простой интерфейс модуль .


Мне тоже импонирует компонентный подход, но затраты в "50%-100% сверху" - ведь не всю функциональность, к-рая может неожиданно или внезапно потребоваться в будущем можно предугадать, например, возможны изменения в бизнесе, при к-рых ГУИ может сильно измениться или вообще могут не понадобиться целые подсистемы (это, кстати, нормально и к этому надо быть готовым - тем более, что заказчик платит), т.е получается, что твоя функциональсть "сверху" - это потенциально работа впустую

если же тот же самый программист будет добавлять эти же ф-ии спустя пол-года, то ему потребуется время, сравнимое со временем первоначального написания оного

Пример, к-рый ты привел funikovyuri добавлением функций/объектов в диалог - это можно сделать и по требованию заказчика-пользователя. При чем не ясно почему потребуется "время, сравнимое со временем первоначального написания оного". IMHO такие временные затраты - результат отсутствия или плохого управления изменениями и документирования проекта, т.е "влез в свою же программу спустя год, а там - черт ногу сломит"

>4. Вязкость:сделать что-то правильно намного сложнее, чем выполнить некорректные действия
В принципе, это последствия необходимости что-то постоянно менять после завершения разработки системы, постепенно можно прийти и к такому. Компонентный подход выручает и здесь.


Менять что-то после "создания системы" - это довольно естественно и не так затратно, если изменения требований автоматически отображаются во все артефакты, т.е после изменения требований разработчикам сразу ясно, ЧТО и ГДЕ нужно изменить. Так что компонентный подход никогда не заменит автоматизированный процесс, если ты это имел в виду :о)

>5. Неоправденная сложность: проект включает инфраструктуру, применение которой не влечет непостредственной выгоды
Можно поспорить, особенно если система заведомо спроектирована с учетом расширений и масштабирования. В какой-то момент эта сложность будет неправдана, но ситуация может поменяться и эта сложность всех спасет.


Согласен, т.к непонятно, что именно имеется в виду под "применение которой не влечет непостредственной выгоды"

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


Тут vdimas вне конкуренции как проектировщик. Теперь буду его цитировать... :о)

>7. Неопределенность : проект трудно читать и понимать. Недостаточно четко выражено содержимое проекта."
Это зависит от организации и артефактов. Тут может помочь применение хоть какой-нибудь методологии или же просто здравого смысла.


Согласен, просто в дополнение: методология желательна, т.к ее достоинство не в том, что "она позволяет строить диаграммы", а в том, что это некий обоснованный, оптимальный и обкатанный "шаблон" процесса, применяемого для решения проблемы, т.е "вот для ЭТОГО - делай раз, делай два, делай... как положено, без вопросов и получишь хороший результат"

>Не даст ли кто оригинальных рекомендаций, как не сделать вонючий проект, а сделать нечто красивое?
Надо ставить производство ПО на поток. Закладывать в компоненты больше, чем требуется в конкретном бизнесс-приложении, не жалеть времени на то самое среднее звено.


Главное грамотный системный подход и автоматизированный, чтобы не создавать себе проблемы - тогда и не надо будет закладывать в компоненты больше, чем требуется, т.к это "больше" может вообще и не потребуется. Зачем делать, если можно не делать

Стремиться к максимальной простоте на самом верхнем уровне (т.е. если по смыслу надо сделать A=B+C, то желательно, чтобы в коде именно так и было, а не нечто типа:
- заблокировать А, обработать ошибки
- заблокировать B, опять обработать ошибки


Совершенно правильно, т.к чисто техническая или служебная функциональность должна быть скрыта в определенных классах/компонентах, реализующих ее

Кто-нибудь видел учетную систему, которую не пришлось бы ни разу
дополнить чем-нить? Или у всех их программы работают по 5-10 лет без единого исправления-дополнения?


Я видел. Не веришь? Представь, сделали и забыли! Правда, мужики, к-рые ее нам заказывали были из другого региона, т.е они ее забрали и мы больше в ней ничего не меняли... :о))


OFFTOPIC:
2 акуз-поклонник Репликанта:
а где Репликант?
я уже было приготовился этот топик до обеда читать, а после - осмысливать...


Привет, я заменяю Настоящего Репликанта. Кстати, он передает привет своим поклонникам и сообщает, что он в конец (или до конца) обленился и на работе его хватает только на то, чтобы делать необходимый минимум, лениво таскать Ж. в столовую и громить ламеров в Web-чатах, пугая их заумными словами типа "анализ", "проектирование", "компонент" ...
...
Рейтинг: 0 / 0
Как не сделать "вонючий" проект?
    #32423275
Фотография Varan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Репликант,
1. мне эпиграф очень понравился.
2. Вы правы, я не совсем точно выразился. Под "вонючим" проектом я подразумевал программную систему, сконструированную и запрограммированную так, что имеют место эти 7 принципов Мартина.
Но поскольку на характеристики этой системы оказывает влияние и "проект", т.е организация процесса разработки, если я правильно понимаю, то я не буду против, если кто-то подкинет интнересную идею и из этой области. Кстати, в той книге приводятся примеры как разные манеры ведения проекта привдят к разным результатам (причем с кодом) - довольно занимательно.
Конечно, точность в формулировках приводит к лучшему пониманию.
...
Рейтинг: 0 / 0
Как не сделать "вонючий" проект?
    #32423292
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 UK0IAI
По поводу встроенных генераторов отчетов:
все эти "фичи" работают весьма неоптимально.
Конечно можно реализовать создание SQL запросов из генератора отчетов,
но ) в этом случае юзер должен разбираться в структуре БД.
А как правило многие конторы на этот счет не очень то распространяются.
Результат: кнопку нажал - вся спина в мыле.

=> юзеру легче нарисовать такой отчет в Crystal
...
Рейтинг: 0 / 0
Как не сделать "вонючий" проект?
    #32423317
Фотография Varan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
UK0IAI "...Система Диагностики Принятия Решения"
К этому, очевидно, когда-нибудь придут. Вот только, я думаю, нескоро.
Себе я ставлю задачу попроще. Научиться проектировать красивые БД и писать надежные интерфейсы к ним. Либо способстовать созданию оных. А уж исследование операций, data mining и прочее - это все в 2050 г. будет, не раньше.
...
Рейтинг: 0 / 0
Как не сделать "вонючий" проект?
    #32423450
Фотография vdimas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне тоже импонирует компонентный подход, но затраты в "50%-100% сверху" - ведь не всю функциональность, к-рая может неожиданно или внезапно потребоваться в будущем можно предугадать, например, возможны изменения в бизнесе, при к-рых ГУИ может сильно измениться или вообще могут не понадобиться целые подсистемы (это, кстати, нормально и к этому надо быть готовым - тем более, что заказчик платит), т.е получается, что твоя функциональсть "сверху" - это потенциально работа впустую

Для GUI - да... но речь не только о ГУИ, разумеется, я приводил примеры.

если же тот же самый программист будет добавлять эти же ф-ии спустя пол-года, то ему потребуется время, сравнимое со временем первоначального написания оного

Пример, к-рый ты привел funikovyuri добавлением функций/объектов в диалог - это можно сделать и по требованию заказчика-пользователя. При чем не ясно почему потребуется "время, сравнимое со временем первоначального написания оного". IMHO такие временные затраты - результат отсутствия или плохого управления изменениями и документирования проекта, т.е "влез в свою же программу спустя год, а там - черт ногу сломит"


Да нет. Вот я привел выше пример с автоматически генерируемым в run-time диалогом выбора - балонном-шариком а-ля MS Office 2000 и выше. Даже при самой-пресамой наилучшей документации, при возвращении к этому компоненту спустя пол года потребуется:
1. вероятнее всего другой программист (первый может уже уйти на другую работу)
2. Вникание в суть, разборка с кодом, даже по наилучшей документации минимум 2 часа (на полное "впитывание", это не мышкой пару контролов бросить).
3. 1-2 часа на кодирование и оперативное тестирование.
4. 1-2 часа на документирование дополнительно возникших фич.
4. активное тестирование в юните и в используемом ПО - 3 часа.

Итого - день убит, при САМОМ лучшем раскладе.
А если "предвидеть" очевидные напрашивающиеся доработки, то в процессе первоначальной разработки потребуется только лишь дополнительное время на п.3, и то, как правило, когда все делается сразу, автор тратит на дополнительное кодирование гораздо меньше времени (просто он уже "въехал в суть", и он "тепленький"). В приведенном примере доп. кодирование может занять вообще дай бог 1 час... Вот и сэкономили день.

В разрабатываемом продукте таких мелочей обычно десятки и десятки. А это ого-го, в конечном итоге.
...
Рейтинг: 0 / 0
Как не сделать "вонючий" проект?
    #32423495
Фотография vdimas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Tulenev

просто есть известная быстрая модель той же деревяшки, но ее мало кто юзает, из-за лени IMHO

расскажите подробнее, пожалуйста


nodes(id, any_app_fields) - сами узлы
links(parent_id, child_id, metric) - связи

таблица links хранит все связи от некоего со всеми его парентами,
для непосредственного родителя metric=1

разумеется, что чем глубже дерево, тем больше избыточность

какие проблемы решаются:
- выбор без рекурсии всех подчиненных узлов от некоего
- выбор без рекурсии полного пути к узлу
- как следствие из 2-х предыдущих - выбор подчиненных узлов с ограничением вложенности, тоже самое насчет пути
- как очередное следствие из 2-х первых - строить выборки одно удовольствие, скорость работы этого хозяйства - максимально достижимая
- уже присутсвующее поле metric помогает в визуальном оформлении отчетов (просто сдвигаем некое поле пропорционально этому значению)

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

для уменьшения избыточности делаю обычно следующее:
- таблица, например products - содержит код папки, в которой этот продукт обитает, т.е. в каждой папке - куча продуктов (и так все иерарх. справочники, а-ля обычная файловая система)
- папки хранятся в таблице типа nodes
- связи, в links

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

собрать до кучи все это хозяйство на базе вместе с клиентскими классами самих деревьев, а так же класса менеджера деревьев, плюс заготовки отчетов, задокументировали (лишь однажды, какое счастье) - вот и получили решение для многократного использования
...
Рейтинг: 0 / 0
Как не сделать "вонючий" проект?
    #32423713
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 vdimas
В чем прелесть структуры с только ParentID?
А в том что дерево моментально перестраивается.
А в вашем случае?
...
Рейтинг: 0 / 0
Как не сделать "вонючий" проект?
    #32423997
Фотография Varan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...Помнится AscRus про такое дерево неплохо написал. Вообще эти все структуры, связанные с деревьями напоминают способы задать графы. Можно их задавать матрицей, а можно - списком примыканий. А способ, каким задавать зависит от "характера" графа и от задачи, которую с его помощью надо решать. В реляционных структурах получаются довольно похожие варианты.
...
Рейтинг: 0 / 0
Как не сделать "вонючий" проект?
    #32424137
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник

На эти отношения в таблицу также вписывается вся цепочка от родителя до корня с значением флага 1. Денормализация на лицо - чем глубже дерево, тем больше растет таблица.
- вот это мне очень не нравится.
В принципе он делал так лишь из-за урезанности языка запросов в Sybase.

Хорошо было бы воспользоваться типизированными таблицами для организации деревьев. Просто так разбираться с этим мне влом.
Но если б был проект, и за него бы платили, я б взялся.
...
Рейтинг: 0 / 0
Как не сделать "вонючий" проект?
    #32424184
Фотография Varan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gardenman "он делал так лишь из-за урезанности языка запросов в Sybase."
Это у него самого надо спросить относительно мотивов использования этой структуры, а не строить предположений. А за "урезанность" можно и ответить :-). Думаю, что язык запросов в Sybase не более "урезан", чем в других распространенных СУБД.
...
Рейтинг: 0 / 0
Как не сделать "вонючий" проект?
    #32424208
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
select ... where (f1,f2) in (select f1,f2 from...) - такая конструкция в Sybase невозможна
select * from (select * from t1 where ...) as t2 - такая конструкция тоже невозможна
...
Рейтинг: 0 / 0
Как не сделать "вонючий" проект?
    #32424210
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
про рекурсивный SQL я вообще молчу...
...
Рейтинг: 0 / 0
Как не сделать "вонючий" проект?
    #32424259
Фотография Varan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gardenman
Вообще меня в этой ветке интересуют рекомендации, как сделать более надежную "программную систему" , а не преимущества или недостатки тех или иных СУБД. Этот вопрос можно обсудить в разделе "Сравнение СУБД".
Вот если б ты привел пример, как какая-нибудь фича DB2 делает ПО БД более устойчивым, красивым и гибким, то это было б интересно.
...
Рейтинг: 0 / 0
Как не сделать "вонючий" проект?
    #32424365
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чтоб проект не протух надо:
1) Иметь средства коллективной разработки к которым прежде всего
относится whiteboard (доска)
2) Иметь опыт
3) Прислушиваться к чужому мнению
4) Иметь перед глазами пример (хотябы и неудачный)
...
Рейтинг: 0 / 0
Как не сделать "вонючий" проект?
    #32424525
Фотография mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
40% учиться
20% работать
40% отдыхать

И перестань тут (в И-нете) торчать.
...
Рейтинг: 0 / 0
Как не сделать "вонючий" проект?
    #32424612
Фотография Varan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mv ,
Это ты кому?
...
Рейтинг: 0 / 0
Как не сделать "вонючий" проект?
    #32424623
Фотография Varan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mv
Если ты это мне, то я тут не "торчу", а общаюсь и получаю ценную информацию.
А в реале за такие слова и схлопотать недолго.
...
Рейтинг: 0 / 0
Как не сделать "вонючий" проект?
    #32424662
Фотография Varan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mv , а вот "торчишь" - то скорее всего ты. В нормальном состояния культурный человек себе так хамить не позволяет.
...
Рейтинг: 0 / 0
Как не сделать "вонючий" проект?
    #32424679
funikovyuri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Varan

Ты чего? Что mv такого обидного сказал?
...
Рейтинг: 0 / 0
Как не сделать "вонючий" проект?
    #32424681
Фотография mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я не прав?
...
Рейтинг: 0 / 0
Как не сделать "вонючий" проект?
    #32424683
Фотография mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Извини, был груб. И, возможно, неправ.
...
Рейтинг: 0 / 0
Как не сделать "вонючий" проект?
    #32424698
Фотография Varan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mv ,
Замяли. Вот теперь видно, что ты воспитанный человек.
...
Рейтинг: 0 / 0
Как не сделать "вонючий" проект?
    #32424712
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все помирились)) а теперь идите пить пиво )) пятница сёня!
...
Рейтинг: 0 / 0
Как не сделать "вонючий" проект?
    #32424715
Фотография mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну, что, в 18:30 у метро "Парк Культуры"?
...
Рейтинг: 0 / 0
Как не сделать "вонючий" проект?
    #32424799
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я Питерский) не судьба...
...
Рейтинг: 0 / 0
Как не сделать "вонючий" проект?
    #32424887
Репликант
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Varan:
1. мне эпиграф очень понравился.

Спасибо :о)

Комплимент повышает производительность женщины вдвое.
/* (с) Ф. Саган */

.. Но поскольку на характеристики этой системы оказывает влияние и "проект", т.е организация процесса разработки, если я правильно понимаю, то я не буду против, если кто-то подкинет интнересную идею и из этой области. ...

"организация процесса разработки" - что именно имеется в виду? "оказывает влияние" - да, процесс разработки, т.е результаты его использования, выраженные в показателях могут оказывать влияние на предмет (например, план), с к-рым работает методология УП. Например, профессиональная команда может правильно использовать оптимальный процесс разработки ПО и средства под него, но при этом руководство может "завалить" проект из-за неправильного управления (например, не расчитали силы); и наоборот хороший руководитель, но с плохим процессом разработки - тот же плохой результат. Методологии УП - это тема отдельного топика или даже формуа, но если "на пальцах", то понятно, что все методологии (УП, проектирования, программирования или тестирования) служат в итоге одной цели - созданию продукта, но предметы все же разные

.. Себе я ставлю задачу попроще. Научиться проектировать красивые БД и писать надежные интерфейсы к ним.

Здесь предмет - система, а процесс - методология анализа-проектирования-программирования-.., средства - RM, CASE, IDE...

З.Ы. Опасайтесь: ваш топик может "погрязнуть" в SQL, OLAP и флейме :о)


2 vdimas:
.. Даже при самой-пресамой наилучшей документации, при возвращении к этому компоненту спустя пол года потребуется:

А что входит в твое понятие "самой-пресамой наилучшей документации", т.е название документа / назначение-содержание /уровень детализации?

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


Согласен, что все это нужно для качественной работы, но вот откуда взялась оценка "минимум 2 часа"? Т.е какая именно функциональность или сложность имеется в виду? Потому что за "..автоматически генерируемым в run-time диалогом выбора" может скрываться что угодно

.. 3. 1-2 часа на кодирование и оперативное тестирование.
4. 1-2 часа на документирование дополнительно возникших фич.
4. активное тестирование в юните и в используемом ПО - 3 часа.


Но эту же работу (затраты) придется делать, если эта функция c балонном-шариком будет реализована тобой не полгода спустя, а раньше, когда ты работаешь "про запас" или если раньше, то значения этих показателей(часы) будут меньше?

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

Я бы не торопился с выводами по поводу эффективности твоего подхода, т.к нужно послушать, что ты считаешь наилучшим для "въезжания в суть" спустя полгода...

.. В приведенном примере доп. кодирование может занять вообще дай бог 1 час... Вот и сэкономили день.

"вообще дай бог 1 час" - старый вопрос: что именно имеется в виду?


2 gardenman:
1) Иметь средства коллективной разработки к которым прежде всего
относится whiteboard (доска)


Код: plaintext
1.
2.
3.
4.
Хорошая вещь - эта доска,
Из древней Эллады пришла к нам она,
Приятно  "отклеить"  мне ж..пу от стула,
И взор от компа,
Почувствовать снова студентом себя...

Мне довелось работать в паре контор, где были доски и им предавалось важное значение как раз для коллективного обсуждения, но как показывает здравый смысл и практика достоинства доски сильно преувеличены, т.е именно для рисования схем, диаграмм и обсуждения, а не для проведения семинаров, где нужно написать несколько строк, т.к...

над той же моделью или ее частью всегда работает и отвечает за нее только 1 человек,
  т.к в противном случае - один разработчик будет "переписывать" работу другого или
  бесконечные compare & merge;


переносить даже небольшие модели с доски/бумаги в CASE-средство или наоборот
  - зачем это нужно, если все можно сразу делать в CASE-средстве и при необходимости
  выводить на печать или на проекционный экран;


нарисованные на доске диаграммы и тексты даже с использованием тонких цветных
  маркеров хуже и неразобрчивее, чем нарисованные в CASE-средстве
...
Рейтинг: 0 / 0
Как не сделать "вонючий" проект?
    #32424907
Фотография Varan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Репликант, так вы - женщина?
...
Рейтинг: 0 / 0
Как не сделать "вонючий" проект?
    #32424964
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Varan. Нет. Он нам мозги @#%$. Следовательно - мужчина.
Прошу считать этот постинг удаленным мною aka модератором. Присяжные не должны принимать его во внимание.
...
Рейтинг: 0 / 0
Как не сделать "вонючий" проект?
    #32424980
Фотография UK0IAI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Varan
"...Система Диагностики Принятия Решения"
К этому, очевидно, когда-нибудь придут. Вот только, я думаю, нескоро


Откровенно говоря, я сам плохо понимаю что это такое. С одной стороны - это ЛОГ, что хранит наши метки. Но лог - в обычном своем понимании - это хистори изменений объекта, таблицы БД. Очевидно - еще существует понятие - АЛГОРИТМ. И тогда - мы можем строить умные логи - что отслеживают наш АЛГОРИТМ. Возможно, все может проще - если думать об этом ...частями, просто помнить - что МОЖНО такое....где вот здесь...вообще применить. А если на принцип пойти и все обобщить - СДПР - это ПОЛЕ. ПОЛЕ + вектор = СИЛА.

2 gardenman
По поводу встроенных генераторов отчетов:
все эти "фичи" работают весьма неоптимально.
Конечно можно реализовать создание SQL запросов из генератора отчетов,
но ) в этом случае юзер должен разбираться в структуре БД.
А как правило многие конторы на этот счет не очень то распространяются.
Результат: кнопку нажал - вся спина в мыле.
=> юзеру легче нарисовать такой отчет в Crystal


Идеальный Конечный Результат (ИКР) - можно сформулировать в контекте этого примерно так.
Система Сама Умеет Строить Отчеты.
Система Сама Умеет Строить Экранные Формы.


Давайте забежим немного вперед и помечтаем.....Процессоры, Проги, Нейронные сети ...- все развито. Искусственный Интелект тоже развит. Интерфейс - с подсознания наши команды все воспринимает. Мы можем только подумать - Отчета хотим....и вот, Машина САМА его нарисует.

Идеал, фантастика или мечта - это не важно. Большое с малого все начинается. А малое - это в наших в Вами руках. Это - все наше, и мы тут все можем.

Я видел Юзерские Генераторы Отчетов. Я юзал такое - я мог ругаться, плеваться или гордиться - это в целом, не важно. Я делал свой генератор отчетов - (примитив...понимаю...). И если мне повезет - я снова сделаю это. Удобно и Мощно. Но я вам скажу - это не сложно. Не сложно вообще.

2 Varan
Не могли бы Вы разъяснить про генераторы ЭФ - что это такое и в чем их польза. Это какие-то шаблоны основных форм что-ли?

Первый раз я узнал про генератор ЭФ - поставив на 286 - систему Dbase. ЭФ - в Dbase - это скрипт. А Генератор - эта фишка генерила скрипты. Визуально все рисовали и получали скрипты. И все современные тулзы разработчика имеют в себе встроенные средства визуального проектирования.

Но ...возможно...этого мало. Возможно.....интерфейс это что ?....объекты + процедуры (методы) юзать объекты. И Генератор ЭФ - уже - Генератор Программ. Простых, типовых....программ обработки событий. Имя + Код. Объект + Инструкция.....мечта программиста....

Однажды...я сделал такое....визуально все рисовал....хранил файл ресурсов...и каждый объект (Поле или Кнопка) имела в свойствах своих Типовой Код "прерывания" (триггер)....примерно.....

Код = 10, значит - запишем в регистры, закроем ЭФ и переход на следущих шаг сценария
Код = 20, значит - очистим регистры, закроем ЭФ и переход на следущий шаг сценария
Код = 21, значит - очистим регистры, закроем ЭФ и переход на предыдущий шаг сценария....

Код = 30, значит - запомним,запишем, закроем/откроем ЭФ и ....вызовем новый сценарий.....где может быть все что угодно...экранные формы там вызываются...отчеты....макросы исполняются....

Как ни странно, таких "кодиков" было всего штук этак 20. А больше - не нужно вообще. О - как я мечтаю (иногда :-), снова к такому прийти. Чтобы все было просто - и чтобы САМО ВСЕ РАБОТАЛО.....
...
Рейтинг: 0 / 0
Как не сделать "вонючий" проект?
    #32424985
Фотография vdimas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 gardenman

В чем прелесть структуры с только ParentID?
А в том что дерево моментально перестраивается.


Это единственная прелесть.
Работать с таким деревом крайне неудобно, рекурсия в SQL - дурной тон, тормоза, блокировки.


А в вашем случае?

А в моем случае изменение структуры - самая длительная операция.

Учитывая, что подобная сруктура применяется для справочников, у которых изменения происходят за время всей жизни в среднем 1 раз в час, это вполне приемлимо. А вот обрабатывать шквал запросов на выборку гораздо легче на приведенной структуре.


В отличие от решения ASCRUS, считаю хранение метрики более целесообразным и удобным для построения выборок.
...
Рейтинг: 0 / 0
Как не сделать "вонючий" проект?
    #32425072
c127
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 vdimas

>Работать с таким деревом крайне неудобно, рекурсия в SQL - дурной тон, тормоза, блокировки.

А при обновлении дерева ты не ту же рекурсию собираешься использовать? Там будут и тормоза и блокировки. Без рекурсии в дереве не обойтись и спорить можно только об удобстве.
...
Рейтинг: 0 / 0
Как не сделать "вонючий" проект?
    #32425118
Фотография vdimas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 с127

без рекурсии. :)

добавление, удаление - один запрос.
перемещение - 2 запроса.
...
Рейтинг: 0 / 0
Как не сделать "вонючий" проект?
    #32425127
Фотография vdimas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Репликант

Мне тоже импонирует компонентный подход, но затраты в "50%-100% сверху" - ведь не всю функциональность, к-рая может неожиданно или внезапно потребоваться в будущем можно предугадать, например, возможны изменения в бизнесе, при к-рых ГУИ может сильно измениться или вообще могут не понадобиться целые подсистемы (это, кстати, нормально и к этому надо быть готовым - тем более, что заказчик платит), т.е получается, что твоя функциональсть "сверху" - это потенциально работа впустую

Мой основной недостаток - эта наивная уверенность, что если речь идет об очевидных вещах, то собеседник обязательно сам додумает детали, которые я опускаю.

Разумеется, никто шизофренией при разработке не страдает, и не закладывает доп. возможности удовольствия ради. Мы все разработчики с немалым опытом.

Во время разработки компонента, который является потенциальным претендентом на повторное использование , применяется некоторое другое видение этого компонента. Видение вне конкретного разрабатываемого продукта. В этом случае, требования к функциональному наполнению компонента складываются не только (и не столько) от роли, отведенной ему в конкретном месте применения, сколько из общих знаний/информации, накопленных о применении компонентов подобного рода. Мы же не в лесу живем... Наш пиратский рынок ПО дает нам (пока) великолепную возможность знакомиться с невообразимым количеством неплохого ПО. Такое знакомство для разработчика (не пользователя) не проходит даром, зачастую добавляя в его копилку очередные 5 копеек опыта.

Надеюсь, что разъяснил свою позицию.


Только скоро уже будем справлять 30-летие ООАП, 40-летие ВИ и 50-летие ООП. Да, не зря в Америке программистам семинары по основам ООАП, шаблонам и УП(PM) читают, а потом они еще зачет сдают. В серьезных американских компаниях вроде ATT, Локхид или индийских компаниях уже давно обязательна сертификация по UML и ISO-IT. Россия c Украиной как всегда в заду тащятся, несмотря на то, что их закрома полны талантливыми программистами...

Скорее - грамотными. (уверен, гены таланта распределены по земле более-менее равномерно, так что именно грамотными и обученными думать )

Репликант, ты сильно заблуждаешься, примеряя свой опыт на других разработчиков/программистов. Я работал бок-о-бок с коллегами из штатов, которые очень неплохо разбирались во всем этом, которые могли долго и красиво на эти темы говорить, и которые имели сертификаты по всему этому направлению (ООАП, UML)...
И тем более меня разочаровывала крайне низкая эффективность их труда (реальный "выхлоп").

Знание нотации UML (что там, собственно, знать) не придает автоматически ума разработчику. Знания о том, как правильно делать ООА не добавит аналитического мышления в мозги индивидуума, сдавшего на сертификат по ООАП.

До UML мы пользовались структурными блок-схемами, алгоритмическими блок-схемами. Use case нам заменяли словесные описания сценариев (которые, на мой взгляд, гораздо информативнее, и требуют меньше бумаги, отдаю словесному описание предпочтение до сих пор, ибо диаграммы use case - это скорее для клиентов и менеджеров). Т.е. от смены графических нотаций ничего по-сути не меняется. Жаль, что ты не учился на системщика (системы, комплексы, сети). 90% того, что ты относишь к RUP там дается, но называется "системный подход". Жаль, что не было на тот момент таких развитых case-средств (и персоналок, способных их выполнять). Просто системный подход + case-средства это и есть RUP в его сегодняшнем виде... (ничто не ново под луной)

вот неплохо говорят сами американцы о себе (один весьма и весьма знаменитый американец)
...
Рейтинг: 0 / 0
Как не сделать "вонючий" проект?
    #32425726
funikovyuri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vdimas

Use cases - это и есть прежде всего словесное описание
...
Рейтинг: 0 / 0
Как не сделать "вонючий" проект?
    #32426362
Фотография vdimas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 funikovyuri

я говорю про графические диаграммы

когда я вижу их десятки и десятки, описывающих всякую ерунду - мне становиться стыдно за коллег
(расписанные на листах пояснения к вычислению результата выражения 2х2=4)
...
Рейтинг: 0 / 0
Как не сделать "вонючий" проект?
    #32427053
Репликант
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Одна диаграмма заменяет сотню слов.\r
Тысяча слов заменяет сто диаграмм.\r
\r
\r
2 Varan: \r
Репликант, так вы - женщина? \r
\r
Если это не шутейный вопрос, то скажу: цитата цитатой, но в моих постах вроде неоднократно встречались глаголы в мужском роде (например, "согласен, не торопился"). В общем спасибо Cat2, т.к он меня авторитетно подтвердил как мужика. Однако, например, не знаю почему он уверен, что в реальной жизни я не женщина ведь "@#%$ мозги" в форуме может и женщина... :о)\r
\r
\r
2 vdimas: \r
Мой основной недостаток - эта наивная уверенность, что если речь идет об очевидных вещах, то собеседник обязательно сам додумает детали, которые я опускаю. \r
\r
Да уж, ты предлагаешь этому собеседнику додумывать, а додумывать, действительно, нужно, т.к вещи эти очевидные для тебя и, возможно, еще для кого-то, но не для всех. По поводу "очевидности": это отчасти напоминает ситуацию с описанием вариантов использования (ВИ), когда программисты хором советуют аналитику: "Ну, зачем описывать эти простые ВИ - тут и так все ясно", а спустя месяц начинается путаница (ведь все понимают простые и очевидные вещи по-своему) и вопросы к пользователям (в обход аналитика) по поводу этих "всем понятных" прецедентов :о)\r
\r
Разумеется, никто шизофренией при разработке не страдает, и не закладывает доп. возможности удовольствия ради. Мы все разработчики с немалым опытом. \r
\r
Закладывать доп.возможности или плодить ненужные диаграммы можно, например, не ради удовольствия, а ради ИМБУРДы (ИМитация БУРной Деятельности)...\r
\r
Во время разработки компонента, который является потенциальным претендентом на повторное использование, применяется некоторое другое видение этого компонента. Видение вне конкретного разрабатываемого продукта. В этом случае, требования к функциональному наполнению компонента складываются не только (и не столько) от роли, отведенной ему в конкретном месте применения, сколько из общих знаний/информации, накопленных о применении компонентов подобного рода. Мы же не в лесу живем... \r
\r
Совершенно согласен с твоим видением компонента, но ты, кажется, говорил о компоненте в конкретном продукте: "..Обычно это означает дополнительные трудозатраты по реализации дополнительной функциональности сверх предписанной в рамках конкретной системы.., " , т.е у тебя компонент не проектируется вне приложений , когда ты как проектировщик понял, что тебе необходим некий компонент для приложений определенного типа, а при создании приложения и для того, чтобы обеспечить функциональность "про запас" этого приложенияю Или нет?\r
\r
Репликант, ты сильно заблуждаешься, примеряя свой опыт на других разработчиков/программистов.\r
...
\r
\r
Отнюдь! Не собираюсь я применять свой опыт, не зная досконально , что это был за проект(ы) и коллектив у тебя. Допустим, что это был заказчик или начальник ИТ-службы заказчика, имевший положительный опыт и твердую убежденность, что объектно-структурный подход или XP всегда хороши и у них нет недостатков - ему и не нужен ООАП, он его не понимает, он ему претит. Можно лишь сравнивать простые и понятные достоинства методов, например, в отрыве от конкретного проекта - просто взять некого программиста со знанием ER/UML нотаций и представить, что ему дается мн-во документов А и мн-во документов Б, а затем объективно сравнить, что ему не очень поможет и что, действительно, поможет. Я так и не услышал от тебя, что ты считаешь "самой-пресамой наилучшей документацией"\r
\r
.. Я работал бок-о-бок с коллегами из штатов, которые очень неплохо разбирались во всем этом, которые могли долго и красиво на эти темы говорить, и которые имели сертификаты по всему этому направлению (ООАП, UML)... \r
И тем более меня разочаровывала крайне низкая эффективность их труда (реальный "выхлоп").
\r
\r
А как ты оценивал эффективность их труда? Тем более если это явный "выхлоп", то встает законный вопрос: что делал главный/старший программист, а также руководитель проекта, к-рые попустительствовали этимм "выхлопам"?\r
\r
Знание нотации UML (что там, собственно, знать) не придает автоматически ума разработчику. Знания о том, как правильно делать ООА не добавит аналитического мышления в мозги индивидуума, сдавшего на сертификат по ООАП. \r
\r
Действительно, никому не нужен экзамен, проверяющий лишь знание нотации UML. Экзамен от ICE (IBM\'s Certification Exam) UML 486 или Brainbench по UML не только включает вопросы типа "диаграмма - какой код/сценарий", но также и вопросы по ООАП, текстовым ВИ и по ООП: \r
\r
This certification is not a knowledge certification but a certification that tests\r
the experience of working on the OOAD principles. There are lots of books available\r
in the market to teach you all the principles but that alone will not be enough\r
to prepare for this certification. OOAD Exam has many scenario based questions,\r
where in you will be provided with a particular design and you will be asked\r
questions based on their practical usage. ....\r
\r
Спасибо также, что ты напомнил, что картонка не заменит мозги и навыки, а то я уж намылился платить бабки и идти сдавать этот ООАП... :о))\r
\r
.. Use case нам заменяли словесные описания сценариев (которые, на мой взгляд, гораздо информативнее, и требуют меньше бумаги, отдаю словесному описание предпочтение до сих пор, ибо диаграммы use case - это скорее для клиентов и менеджеров). .. \r
\r
Как уже сказал funikovyuri - ВИ это есть описание прежде всего , но и диаграммы ВИ не "скорее для клиентов и менеджеров" (вот еще.. будет аналитик о них заботиться), т.к они в первую очередь для разработчиков (аналитиков, проектировщиков, программистов и т.д). Как ты наглядно покажешь ассоциации в пакете, где несколько ролей и несколько десятков ВИ? Только диаграммами ВИ.\r
И почему ты считаешь, что диаграммы требуют меньше бумаги? По опыту скажу, что если распечатать все диаграммы ВИ (включая диаграммы пакетов, иерархию актеров и т.д), например, для довольно простой и всем понятной программы типа "ФРИГАТ-Видеопрокат" (автоматизация всех операций видеопроката, включая фин.учет и ТМЦ, отчетность), то это где-то 20-30 страниц, а если распечатать полную (у Коберна это "fully dressed", т.е - это полное текстовое описание системы и к ней нужны только дополнительные системные требования (supplementary SRS) на 20 страниц) спецификацию всех ВИ (порядка 60 ВИ), то это 130-150 страниц A4 (Arial, 10pt, 1,5ln). Т.е "бумажная площадь" всех диаграмм не идет ни в какое сравнение с текстом\r
\r
.. Просто системный подход + case-средства это и есть RUP в его сегодняшнем виде... (ничто не ново под луной) \r
\r
Так я же и говорю, что скоро уже будем справлять 30-летие ООАП, 40-летие ВИ и 50-летие ООП! :о)\r
\r
когда я вижу их десятки и десятки, описывающих всякую ерунду - мне становиться стыдно за коллег \r
(расписанные на листах пояснения к вычислению результата выражения 2х2=4)
\r
\r
Искренне сочувствую, что тебе пришлось смотреть на эту ерунду (сам такое дело видел), а главное не ясно почему за эту ерунду еще кто-то платит. А что хоть за ерунда описывалась?
...
Рейтинг: 0 / 0
Как не сделать "вонючий" проект?
    #32428804
c127
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 vdimas

>без рекурсии. :)

>добавление, удаление - один запрос.
>перемещение - 2 запроса.

А поподробнее. Рекурсия должна быть где-то спрятана.
...
Рейтинг: 0 / 0
Как не сделать "вонючий" проект?
    #32429065
AlTk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
... наивная уверенность, что если речь идет об очевидных вещах, то собеседник обязательно сам додумает детали, которые я опускаю...

однажды, на одном из юмористических вечеров мы спросили зам. декана: "что для Вас очевидно, а что невероятно". на что он ответил: "мне невероятно то, что вам (студентам) невероятно то, что мне очевидно".
...
Рейтинг: 0 / 0
Как не сделать "вонючий" проект?
    #32431448
Фотография Varan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо всем за обсуждение и советы.
Поскольку вопрос о неудачных структурах, приводящих к преждевременному "загниванию" проекта (программной системы), обсуждался не очень интенсивно, приведу пример одной такой кривизны.
Есть сущности и их три разновидности, причем набор атрибутов у каждой разновидности абсолютно одинаковый. Разработчик "почесал репу" и придумал такое:
Таблица Сущности (ID_Entity,Name)
Таблица Разновидность1(FK_Entity,Attrib1,Attrib2,Attrib3...)
Таблица Разновидность2(FK_Entity,Attrib1,Attrib2,Attrib3...)
Причем представители Разновидности3, для которой, в тот момент, никакие атрибуты кроме названия нужны не были, определялась как те строки из Таблица Сущности, ссылок на которые нет ни в Таблица Разновидность1 ни в Таблица Разновидность2.
В результате -unionы, неудобство определения "разновидности" сущности и , что самое неудобное - невозможность добавления новой разновидности без добавления новой таблицы или коренной переделки всей структуры.
Но, естественно, ко всему этому надо, наверное, относится философски, как советует Явгений Якубович в своей статье "10 правил хорошего тона в программировании"( популярный питерский журнал Магия ПК )
" Базу данных делали с лучшими намерениями
Наша программа работала бы блестяще, если бы у заказчика была нормальная бызы данных. К сожалению, эту базу создавали абсолютно безграмотные люди, не имеющие не малейшего предствавления о том, как это следует делать.
Поговори с администратором базы данных. Через десять минут ты удивишься, почему вокруг его головы не светится нибм. Как умудряется этот святой человек при таких противоречивых требованиях вообще поддерживать жизнь в этой базе? Стисни зубы и работай с тем, что есть. Не исключено, что у следующего заказчика база еще хуже.
На вопрос : "Почему простенький отчет хранится в четырех постоянных таблицах и пяти параметризированных запросах? " настоящий администратор только улыбнется и скажет: "Так исторически сложилось". Это считается у них хорошим тоном.
...
Рейтинг: 0 / 0
Как не сделать "вонючий" проект?
    #32452087
Ramil Mustafin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
..."10 правил хорошего тона в программировании"...

Что уважаемые думают о стиле Microsoft - т.е. как работает (пишет программы, технология написания программ) эта уважаемая компания?
(в инете неоднократно описывалась технология, да и книга вроде есть - откуда все это описывалось).
...
Рейтинг: 0 / 0
Как не сделать "вонючий" проект?
    #32453880
Фотография Циничный Кот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 vdimas

> Репликант, ты сильно заблуждаешься, примеряя свой опыт на других разработчиков/программистов. Я работал бок-о-бок с коллегами из штатов, которые очень неплохо разбирались во всем этом, которые могли долго и красиво на эти темы говорить, и которые имели сертификаты по всему этому направлению (ООАП, UML)...
И тем более меня разочаровывала крайне низкая эффективность их труда (реальный "выхлоп").


Десять баллов. Самое интересное на это тоже есть народная пословица - 3.14#$%деть - не камушки ворочать. В данное время наблюдаю абсолютно аналогичную ситуацию - чем более товарисч обвешан корочками, тем менее он врубается в происходящее. Обратное неверно... Аналогия - можно иметь права и уметь долго и красиво рассуждать о том, как надо водить машину в самых разных условиях.. Нооо... Стоит посадить такого типчика за руль - и сразу понятно становится кто есть ху...



2 Varan

> Разработчик "почесал репу" и придумал такое:
Таблица Сущности (ID_Entity,Name)
Таблица Разновидность1(FK_Entity,Attrib1,Attrib2,Attrib3...)
Таблица Разновидность2(FK_Entity,Attrib1,Attrib2,Attrib3...)

Я наверное тупой, но кто мешал придумать, скажем, такое:
Таблица Сущности (ID_Entity,ID_Type,Name)
Таблица Attributes (FK_Entity,Attrib1,Attrib2,Attrib3...)

???

...
Рейтинг: 0 / 0
Как не сделать "вонючий" проект?
    #32455750
Репликант
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Циничный Кот:
Самое интересное на это тоже есть народная пословица - 3.14#$%деть - не камушки ворочать.

Если намек на меня, то тема довольно общая и всем понятная (проектирование, документация, диаграммы и т.д) и к тому же вы, помнится, считали RUP не идеальным (возможно, в процессе заодно и выясним, что же есть идеал и с каких т.з) и что я его плохо знаю. Поэтому это очередной шанс для вас показать, что вы и тут болтовней занимаетесь (как и при обсуждении качества) или наоборот продемонстрировать знания :о)

.. В данное время наблюдаю абсолютно аналогичную ситуацию - чем более товарисч обвешан корочками, тем менее он врубается в происходящее.

Видимо, это вам просто попались такие "специалисты" с корочками (сертификатами?). Настоящего специалиста определяет не сертификат, а его реальные знания и навыки
...
Рейтинг: 0 / 0
Как не сделать "вонючий" проект?
    #32458908
Фотография Varan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Циничный Кот ,
Мне больше нравится так:
Таблица Сущности (ID_Entity,Name, ID_Type(FK),Attrib1,Attrib2...)
Таблица Разновидности Сущностей (ID_EntityType, ET_Name) , поскольку, как было сказано, эти самые разновидности ничем кроме названия не отличаются, со сменой разновидности сущность не теряет аттрибутов и не приобретает новых. Вот если бы каждую разновидность характеризовало бы что-то уникальное, то задачка бы свелась к задаче "Каталога разношерстных товаров", которая, насколько мне известно, средствами РСУБД не имеет красивого решения.
А почему так было сделано как сделано - я не знаю. Может быть человек начитался чего-то, и спасительное чувство с названием "здравый смысл" его подвело, может быть он имел на то какие-то свои основания. Теперь это уже не важно.
...
Рейтинг: 0 / 0
Как не сделать "вонючий" проект?
    #32461154
Фотография Циничный Кот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Репликант

> Настоящего специалиста определяет не сертификат, а его реальные знания и навыки

Именно. Реальные - а не набранные из различных книжонок сомнительного качества. И именно по этому вы к ним (специалистам) не относитесь... К сожалению...





2 Varan

Понятно.
...
Рейтинг: 0 / 0
Как не сделать "вонючий" проект?
    #32461211
bas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Циничный Кот
А вот на личности переходить не стоит, Репликант(как мне кажется) человек грамотный, дает советы по делу и обосновывает их.
Я надеялся, что твой ник не совпадает с твоими внутренними убеждениями, ошибся...
...
Рейтинг: 0 / 0
Как не сделать "вонючий" проект?
    #32461265
Фотография Varan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"А вот на личности переходить не стоит"
Согласен с высказыванием bas-а.
И вообще "люди всякие нужны, люди всякие важны". Чем больше разных мнений, тем будет интереснее.
...
Рейтинг: 0 / 0
Как не сделать "вонючий" проект?
    #32461360
Фотография Циничный Кот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 bas

> Я надеялся, что твой ник не совпадает с твоими внутренними убеждениями, ошибся...

Сколько в жизни разочарований... Я вот тоже надеялся, что херр Репликант кроме языка еще чем-нить работать умеет - и тоже ошибся... Вывод - человеку свойственно ошибаться...

...
Рейтинг: 0 / 0
Как не сделать "вонючий" проект?
    #32461604
Фотография vdimas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 127

>без рекурсии. :)

>добавление, удаление - один запрос.
>перемещение - 2 запроса.

А поподробнее. Рекурсия должна быть где-то спрятана.

У нас же всегда есть линк к любому паренту в пути любого узла.
(Id, ParentId, Metric)
Все множество линков (составляющих полный путь) достается одним запросом, поэтому и без рекурсии.

При вставке узла как дочернего к некоторому мы можем одним запросом скопировать все его линки, подставив свой Id и увеличив метрику на 1.

При удалении - удаляем так же все связи, для которых являемся парентом (опять без рекурсии).

При перемещении узла - для всех его дочерних связей удаляем их линки с метрикой, большей, чем к целевому. Затем, делаем то же, что и при добавлении, но добавляем линки не только к целевому узлу, но и ко всем его дочерним узлам (2 запроса на поддержание структуры, опять без рекурсии).

(сорри, что ответил не сразу, редко посещаю в последний месяц)
...
Рейтинг: 0 / 0
Как не сделать "вонючий" проект?
    #32495069
Репликант
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Циничный Кот:
Именно. Реальные - а не набранные из различных книжонок сомнительного качества. И именно по этому вы к ним (специалистам) не относитесь... К сожалению...

Во-первых, к специалистам в чем? Если специалистам по болтовне, наездам и флейму каким являетесь вы, то - да, не отношусь. Эту вашу "квалификацию" я вам не раз уже доказывал. Да вы и сами признавались, что вы любитель этих дел...
Во-вторых, что значит "реальные знания"? Если это знания проверенные опытом, то я вам тоже не раз говорил, что та же официальная теория качества (с к-рой вы безуспешно пытаетесь спорить) успешно применяется в реальных условиях не только мной, бедным Репликантом в далекой России, а в тысячах ИТ-компаний по всему миру - это общеизвестный факт, с к-рым вы тоже пытаетесь спорить. У вас врожденная упрямость что ли?
В-третьих, я вам свою т.з аргументировал не только ссылясь на авторитетные (а не на сомнительные!) книги, а подробно объяснял все "на пальцах" и на конкретных примерах из жизни, т.е никакой black magic. Видимо, вам нужен сам "процесс", когда ваши оппоненты объсняют вам очевидные вещи по нескольку раз, а вы прикидываетесь (а, возможно, и не прикидываетесь) форумным шутом и дураком. Ради чего, ради дешевого удовольствия, как вы сами мне в этом признались?

Сколько в жизни разочарований... Я вот тоже надеялся, что херр Репликант кроме языка еще чем-нить работать умеет - и тоже ошибся... Вывод - человеку свойственно ошибаться...

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

З.Ы. Выводы? Я предложил вам подискутировать по теме этого топика (кстати, тема простая и довольно актульная для многих... как и качество), но вы что-то опять занялись болтовней про меня. "Молодец"! Свою квалификацию специалиста по болтуне вы поддерживаете на уровне... :о}
...
Рейтинг: 0 / 0
Как не сделать "вонючий" проект?
    #32496981
Фотография Циничный Кот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Репликант

Не прошло и полгода, как у Репликанта сработало зажигание... Лучше поздно, чем никогда...
Кстати, просветите нас, необразованных деревенщин, что такое за зверь загадочный "официальная теория качества"???... И заодно, в чем ее официальность выражается - она комитетом по стандартизации каким-то принята, чи как???... Уж-жасно любопытно...

> а подробно объяснял все "на пальцах

Какие-то у вас пальцы... Растопыренные... Мне объяснять на пальцах не надо, мне вполне достаточно ссылочки на правильную литературу. Желательно соответствующую каким-нибудь стандартам, а не только воспаленной фантазии автора. Есть у вас такое, нет???... Впрочем, я уже об этом чуть выше спросил...

...
Рейтинг: 0 / 0
Как не сделать "вонючий" проект?
    #32497961
Репликант
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Циничный Кот: \r
Не прошло и полгода, как у Репликанта сработало зажигание... Лучше поздно, чем никогда... \r
\r
О чем это вы, херр болтун?\r
\r
Кстати, просветите нас, необразованных деревенщин, что такое за зверь загадочный "официальная теория качества"???... \r
\r
Кого это "нас"? Если вы имеете в виду себя, то в топике Рассуждения о качестве в дурацкую погоду (стр.3-5) я уже рассказал вам более, чем достаточно о качестве\r
\r
И заодно, в чем ее официальность выражается - она комитетом по стандартизации каким-то принята, чи как???... Уж-жасно любопытно... \r
\r
Во-первых, ваш вопрос риторический также как и ваш спор ради спора, т.е опять это лишь ваша клоунада. Вот чуть более "крутая" аналогия вашего высказывания: "экономическая теория является неофициальной (и ва-а-апще это - бред сивой кобылы), т.к она - плод воспаленной фантазии узкой группы лиц и нет стандарта, описывающего ее.".\r
Во-вторых, вы заставляете меня повторяться, т.к я уже подробно отвечал вам на этот вопрос. В этом посте приведены определения качества из ИСО9000 (серия международных стандартов, являющихся национальными в десятках стран мира, например, Росии - ГОСТ ИСО 900х) и TQM (де-факто стандарт, набирающий все большую популярность). Про тот же ИСО9000 можно сказать, что он описывает практическое применение теории управления качеством по Демингу - это часть теории качества. То же самое и с TQM, использующей часть теории, но в виде других принципов Ишикавы, Джурана, Шиба и других\r
\r
Какие-то у вас пальцы... Растопыренные... \r
\r
О чем это вы?\r
\r
.. Мне объяснять на пальцах не надо, мне вполне достаточно ссылочки на правильную литературу. Желательно соответствующую каким-нибудь стандартам, а не только воспаленной фантазии автора. Есть у вас такое, нет???... Впрочем, я уже об этом чуть выше спросил... \r
\r
Про лит-ру я вам уже тоже объяснял. В книге от трех амигос из ЕА, к-рую вы цитировали приведено определение качества, к-рое приводил я, т.е официальное . Все, что там ниже - как раз и есть плод воспаленной фантазии авторов, т.к А) я вам это уже доказывал и вы никаких вразумительных аргументов не смогли привести, а лишь уходили от ответов на вопросы, Б) даже судя по приведенной вами цитате книга, очевидно, рассчитана на самую широкую аудиторию разработчиков (это - голая правда безо всякой претензии: отсюда и требуемый уровень подготовки - самый средний ), а не на тех, кто, действительно, знаком с методологиями, понимает их достоинства и следует процессу создания ПО, где, действительно, есть деятельности анализа/получения спецификаций и тестирования -или- тех, кто, действительно, занимается обеспечением качества, а не болтовней. Птичку видно по полету, а книгу - по стилю изложения и аргументации высказываний авторов. Про стандарты см.выше
...
Рейтинг: 0 / 0
Как не сделать "вонючий" проект?
    #32499235
Фотография Циничный Кот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> О чем это вы...

О разнице в датах: 29 мар 04 - 23 апр 04. Откуда даты взялись - догадайтесь без меня...


>> ...мне вполне достаточно ссылочки на правильную литературу. Желательно соответствующую каким-нибудь стандартам, а не только воспаленной фантазии автора. Есть у вас такое, нет???...

>Во-первых, ваш вопрос риторический...

Понял, вопросов больше не имею...






ЗЫ. Для тупых попугаев - официальный документ - это документ, в установленном порядке принятый соответстующими органами. Произвольно взятая книга на любую тему таким документом в общем случае не является.

...
Рейтинг: 0 / 0
Как не сделать "вонючий" проект?
    #32499807
Репликант
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Циничный Кот:
О разнице в датах: 29 мар 04 - 23 апр 04. Откуда даты взялись - догадайтесь без меня...

Признайтесь, что вы хотите этим сказать или смелости не хватает? Не надо тень на плетень наводить: "о разнице в датах", "догадайтесь"... :о\

>Во-первых, ваш вопрос риторический...
Понял, вопросов больше не имею...


Я вам уже все объяснил. Вам же ответить по сути нечего, что и вы и продемонстрировали

ЗЫ. Для тупых попугаев - официальный документ - это документ, в установленном порядке принятый соответстующими органами. Произвольно взятая книга на любую тему таким документом в общем случае не является.

Книги, на к-рые я ссылался, содержат информацию, не противоречающую стандарту и сама серия ИСО 9000, ее национальные предшественники (BS, DIN и другие) появились именно на основе работ и книг Деминга и других авторов, посвященных качеству. В этом тоже и заключается официальность теории качества , изложенной в книгах, на к-рые я ссылался. С другой т.з официальность заключается в том, что эту теорию, одну и ту же, преподают в учебных заведениях и компаниях, сертифицированных национальными и международными организациями, например, ISO, BSI и т.д, а также ассоциациями, объединяющими экспертов в области качества. Ну, и с последней и самой важной т.з для всех рядовых специалистов ее официальность заключается в том, что это одна и та же теория в подавляющем большинстве изданий, посвященных качеству, с ее везде одинаковыми определениями. Поэтому, как следствие, она считается таковой и используется теми, кто профессионально занимается качеством. Вы же ведете себя как дурачок , тупо хамя и подменяя термины (официальность вами спрашивалась для теории, а не для книги), но при этом вы сами, видимо, забыли такое общеупотребительное выражение как, например, "официальная документация" и, в частности, "официальная документация (от) Microsoft". Хотя документацию Microsoft, Borland, Sun и многих других компаний никакие органы по стандартизации (если имелись в виду они) не принимали в установленном порядке. Официальной эта документация называется и считается потому, что она выпущена самой компанией или с ее согласия
...
Рейтинг: 0 / 0
100 сообщений из 100, показаны все 4 страниц
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Как не сделать "вонючий" проект?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]