powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / Создание ПО без доработки кода при внедрении
64 сообщений из 64, показаны все 3 страниц
Создание ПО без доработки кода при внедрении
    #33975493
18-я весна
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Бывало ли у кого-то такое, что постановка, ТЗ сделаны настолько близко к реальным нуждам заказчика, что после окончания кодирования и внутреннего тестирования - при внедрении, не требовалось бы вносить изменения в исходное ТЗ и соответственно переделывать код?

PS. Речь идет конечно не о мелких утилитах или компиляторах :), а например об АРМ или чем-то посложнее, то есть из области автоматизации предприятий.
...
Рейтинг: 0 / 0
Создание ПО без доработки кода при внедрении
    #33975505
Фотография byur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
18-я веснаБывало ли у кого-то такое, что постановка, ТЗ сделаны настолько близко к реальным нуждам заказчика, что после окончания кодирования и внутреннего тестирования - при внедрении, не требовалось бы вносить изменения в исходное ТЗ и соответственно переделывать код?

PS. Речь идет конечно не о мелких утилитах или компиляторах :), а например об АРМ или чем-то посложнее, то есть из области автоматизации предприятий.

А что вы имеете ввиду под терминами "постановка" и "ТЗ"?
...
Рейтинг: 0 / 0
Создание ПО без доработки кода при внедрении
    #33975519
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
18-я веснато есть из области автоматизации предприятий.
К сож. это из области фантастики. Прототипы с ног на голову иногда переворачиваются, что уж там про ТЗ говорить.
...
Рейтинг: 0 / 0
Создание ПО без доработки кода при внедрении
    #33975529
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
18-я веснаБывало ли у кого-то такое, что постановка, ТЗ сделаны настолько близко к реальным нуждам заказчика, что после окончания кодирования и внутреннего тестирования - при внедрении, не требовалось бы вносить изменения в исходное ТЗ и соответственно переделывать код?
Хм. Вопрос опирается на предположение о том, что реальные нужды заказчика не меняются в ходе разработки, что малоправдоподобно.

У меня нечто подобное было в одном проекте, со следующей спецификой:

1. Это программа для инженеров сотовой связи. Пользовалось ей довольно мало народа (один отдел), причем народа технического, четко знающего свои задачи и способного их сформулировать.

2. На этом проекте было "крайне растянутое внедрение". Значительную часть времени разработки свежие версии регулярно передавались в "неофициальную эксплуатацию". ТЗ не прописывалось сразу и до мельчайших деталей; ряд вопросов задавался тогда, когда приступали к реализации очередного модуля, и клиент отвечал на них, имея перед глазами текущую версию программы.

3. Программа таки была достаточно небольшой (меньше 100'000 строк).

В итоге, переделок не было или практически не было (уже не помню). Было некоторое число дополнений, в основном косметического уровня. В ходе эксплуатации выяснилось, что один из модулей почти не используется - заказавший его человек уволился, а другие не особо смотрели в эту сторону.
...
Рейтинг: 0 / 0
Создание ПО без доработки кода при внедрении
    #33975565
18-я весна
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
byurА что вы имеете ввиду под терминами "постановка" и "ТЗ"?
Ничего такого специального. Оформленные в любой форме требования к ПО.
...
Рейтинг: 0 / 0
Создание ПО без доработки кода при внедрении
    #33975566
18-я весна
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerХм. Вопрос опирается на предположение о том, что реальные нужды заказчика не меняются в ходе разработки, что малоправдоподобно.

Почему же они должны поменяться? Может Вы их перепутали с озвученными требованиями? Эти да, могут меняться множество раз :)
А реальные требования заказчик в большинстве случаев не способен сформулировать.
У меня нечто подобное было в одном проекте, со следующей спецификой:

1. Это программа для инженеров сотовой связи. Пользовалось ей довольно мало народа (один отдел), причем народа технического, четко знающего свои задачи и способного их сформулировать.

2. На этом проекте было "крайне растянутое внедрение". Значительную часть времени разработки свежие версии регулярно передавались в "неофициальную эксплуатацию". ТЗ не прописывалось сразу и до мельчайших деталей; ряд вопросов задавался тогда, когда приступали к реализации очередного модуля, и клиент отвечал на них, имея перед глазами текущую версию программы.

Это как раз мне кажется обратный случай - ТЗ писалось и кодирование шло по результатам внедрения :)
Так что Ваш пример не подходит.
...
Рейтинг: 0 / 0
Создание ПО без доработки кода при внедрении
    #33975571
18-я весна
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafmК сож. это из области фантастики. Прототипы с ног на голову иногда переворачиваются, что уж там про ТЗ говорить.
Ну у меня такое же мнение. Но оно основано на моем личном опыте, поэтому хотелось бы узнать как обстоят дела у других.
...
Рейтинг: 0 / 0
Создание ПО без доработки кода при внедрении
    #33975583
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
18-я веснаПочему же они должны поменяться?
Почему они не должны меняться?

18-я веснаМожет Вы их перепутали с озвученными требованиями?
Нет, это неинтересно. С озвученными требованиями все просто - если мы не смогли понять, что же на самом деле нужно клиенту, придется искать методом проб и ошибок (то есть перерабатывать софт). Вывод тоже понятен - улучшать работу на этом этапе. Трудно? Да. Но в целом ясно, кто виноват и что делать.

А вот изменение реальных требований - процесс, который от нас практически не зависит 1 . Поэтому и изменения, которые в силу этого требуется внести, носят объективный характер. И пока мы не разберемся с ними, говорить "можем ли мы вообще избежать изменений" бессмысленно.

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

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

Обратите внимание, в описанном мной случае они именно такими и были - поскольку опирались не гуманитарщину, а на физику. Легко изменить процесс продажи, гораздо труднее изменить хождение радиоволн :)

18-я веснаЭто как раз мне кажется обратный случай - ТЗ писалось и кодирование шло по результатам внедрения :)
Не "писалось", а "детализировалось". Более формально - детальная спецификация составлялась не в начале проекта, а в начале работы над очередным модулем.

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

18-я веснаТак что Ваш пример не подходит.
Ну, это уже Вам виднее. Другого у меня нет.
...
Рейтинг: 0 / 0
Создание ПО без доработки кода при внедрении
    #33975586
18-я весна
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот какие мысли у меня возникли при проектировании очередного проекта.

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

Такая ситуация (итеративность дизайна) декларируется в экстремальном программировании, однако остается и классика - полное ТЗ + кодирование.
Но если окажется, что и при классическом проектировании дефакто в каждом (в 100% случаев) проекте есть несколько итераций дизайна, то выходит, что в любом проекте надо готовиться к перепроектированию, т.е. разработать(или изучить) и внедрить специальные технические приемы для облегчения рефакторинга.

В связи с этим и был задан исходный вопрос Вам.
...
Рейтинг: 0 / 0
Создание ПО без доработки кода при внедрении
    #33975593
18-я весна
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerА вот изменение реальных требований - процесс, который от нас практически не зависит 1 . Поэтому и изменения, которые в силу этого требуется внести, носят объективный характер. И пока мы не разберемся с ними, говорить "можем ли мы вообще избежать изменений" бессмысленно.

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

[quot
1 Изменение реальных требований зависит от нас в одном забавном аспекте: внедрение софта может стать тем фактором, который меняет работу клиента и в конечном итоге приводит к изменению требований к софту же.
[/quot]
Согласен. Но здесь скорее всего все-таки возникают новые требования, а не меняются старые. Что-то типа "аппетит приходит во время еды" :)
...
Рейтинг: 0 / 0
Создание ПО без доработки кода при внедрении
    #33975604
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
18-я веснаЕсли заведомо известно, что все равно надо будет что-то переделывать,
Именно так.

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

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

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

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

[У меня как у мисс Марпл есть привычка по любому поводу вспоминать предыдущий опыт]. Так вот, в этом случае я вспоминаю систему, сделанную не мной на одной из предыдущих работ. В итоге она была внедрена у трех заказчиков - и дважды кардинально переделывалась. В то же время там есть модуль, который я разработал, и который внедрен никак не в меньшем количестве мест, наверняка в большем (не знаю точно, поскольку он жил после моего ухода, вполне вероятно живет и до сих пор). Этот модуль был спроектирован именно под адаптацию к конкретным заказчикам; первые пару адаптаций делал я, потом ушел - в итоге, года через три меня один раз попросили сделать то, что они не хотели трогать. Я сделал, за день. Обнаружив при этом кучу мелких доработок в целом в предусмотренных направлениях и практически неизменный код "ядра" - его настолько не требовалось трогать, что когда таки потребовалось, позвали меня.

Я уверен, что этот модуль был разработан дешево. Почему? Потому что это была пятая (!) реализация этой задачи в рамках этой фирмы. Я знаю, сколько времени потребовали предыдущие, и я знаю, сколько времени это заняло у меня (само собой, опираясь на предыдущий опыт и часть унаследованного кода, но кардинально поменяв архитектуру и изменив все, что мне не нравилось). Почему он получился хорошо? Полагаю, большую роль сыграло то, что я долго уговаривал начальство это сделать и сделать именно так (фактически со времен выхода второй реализации. Третья и четвертая были сделаны в другом русле). Соответственно, у меня было время выносить идею, понять, как все это должно быть.

18-я веснаТакая ситуация (итеративность дизайна) декларируется в экстремальном программировании, однако остается и классика - полное ТЗ + кодирование.
Из умных книг мне вспоминается слово waterfall, которое нынче дружно ругают.

Как ни странно, современные работы по проектированию трогают меня довольно мало. Бывают любопытные мысли, но в целом читать их скучно, ощущение deja vu. Из тех факторов, которые я могу выделить как оказавшие на меня серьезное влияние, большую роль играет читанная в детстве старая книга http://www.libex.ru/detail/book59509.html В частности, когда я впервые читал про экстремальное программирование, изложение разделилось на две четких группы мыслей: "похоже на Йодана" и "бред какой-то" :)

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

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

18-я веснаНо если окажется, что и при классическом проектировании дефакто в каждом (в 100% случаев) проекте есть несколько итераций
дизайна
Практически в любом живом проекте. В самой что ни на есть классике таки предусматривается стадия сопровождения, которая по сути и есть итерирование дизайна. Отличие современных проектов в том, что такое итерирование чаще всего оказывается необходимым до сдачи в экспуатацию. Что вполне понятно - в "классические" времена задачи были много проще, а их постановка делалась относительно более тщательно (относительно - в смысле "потраченные силы" / "объем задачи").
...
Рейтинг: 0 / 0
Создание ПО без доработки кода при внедрении
    #33975613
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
18-я веснаСогласен. Но здесь скорее всего все-таки возникают новые требования, а не меняются старые. Что-то типа "аппетит приходит во время еды" :)
"Аппетит приходит во время еды" - удачное описание для большинства изменений этого типа.

И возникают новые, и меняются старые, но вопрос не в этом. Даже возникновение нового требования часто приводит к модификации старого кода. Не просто к созданию нового куска, но к изменению реализованного.

Just for example, опять же из практики. В организации было множество складов, причем склады были нескольких типов (по смыслу и по операциям, которые там выполнялись). Большинство складов обслуживалось программой А, один тип складов обслуживался программой Б. Их СУБД реплицировались и были похожи, но не одинаковы (практически, в незапамятные времена текущую на тот момент версию программы А обкарнали, доработали напильником и сделали Б. Потом некоторые изменения из тех, что делались в А, вносили и в Б, опять же дорабатывая напильником).

Изначально была поставлена задача написать программу В, работающую на той же БД, что и А, и обслуживающую некий тип склада (в итоге В должна была заменить А, это была первая итерация). Она была сделана и внедрена. В ходе работ была поставлена задача написать также программу Г для замены Б; эта задача также была решена, причем что вполне естественно, с максимальным использованием решений из В. После чего, полюбовавшись на неосторожно добавленные нами в Г "мощные" решения из В и вспомнив, как плохо все было в Б, нас спросили: а можно ли добавить в Г всю функциональность В, а заодно убрать ряд ограничений, которые разработчики Б выбили, чтобы облегчить себе жизнь? Как Вы понимаете, ответ был "можно". Но! То, что мы писали в В, мы писали для определенного типа склада и с ограничениями и заглушками, свойственными этому типу. И если бы мы не держали в уме, что В потребуется дорабатывать для других складов, если бы облегчили себе жизнь так же, как когда-то сделали разработчики Б - пришлось бы нам вносить баальшие изменения.
...
Рейтинг: 0 / 0
Создание ПО без доработки кода при внедрении
    #33975620
18-я весна
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer Just for example, опять же из практики.
Блин, как все это до боли знакомо :)
...
Рейтинг: 0 / 0
Создание ПО без доработки кода при внедрении
    #33975622
18-я весна
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerВо-первых, я полагаю, что дизайн, не отвечающий этому принципу, является плохим. То есть, во-первых так делать не надо ни в каком случае (это уже моя личная заморочка - не выпускать плохой продукт), во-вторых, озвученный Вами принцип не является чем-то особым, а просто случаем общего (можно дешево и плохо, можно дороже и хорошо).

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

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

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

Сейчас как раз и занимаюсь уговорами, но мое начальство считает свой опыт единственно правильным :)

Начальник решил подключиться к процессу дизайна. Причем в данном случае это агрессивный ламер.
В итоге многие решения, которые у меня просто возникают на автомате, поскольку они проверены временем, мне ему приходится разжевывать и доказывать, что это оптимальное решение. Но к сожалению в этом проекте мне пока не удается навязать свое видение (касательно необходимости проектирования с учетом будущего редизайна).
...
Рейтинг: 0 / 0
Создание ПО без доработки кода при внедрении
    #33975649
asafree
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
18-я веснаБывало ли у кого-то такое, что постановка, ТЗ сделаны настолько близко к реальным нуждам заказчика, что после окончания кодирования и внутреннего тестирования - при внедрении, не требовалось бы вносить изменения в исходное ТЗ и соответственно переделывать код?

PS. Речь идет конечно не о мелких утилитах или компиляторах :), а например об АРМ или чем-то посложнее, то есть из области автоматизации предприятий.

С некоторого времени (года 3-4 как...) - 100% так на всех "нормальных" проектах. Изменения, как правило, каксаются только удобства работы пользователя, ну или некоторых незначительных деталей, которые к сожалению были упущены на этапе проработки требований.
...
Рейтинг: 0 / 0
Создание ПО без доработки кода при внедрении
    #33975653
asafree
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 softwarer
Практически со всем согласен.
...
Рейтинг: 0 / 0
Создание ПО без доработки кода при внедрении
    #33975731
18-я весна
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asafreeС некоторого времени (года 3-4 как...) - 100% так на всех "нормальных" проектах.

А дальнейшее развитие у этих проектов было?
...
Рейтинг: 0 / 0
Создание ПО без доработки кода при внедрении
    #33975735
asafree
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
18-я весна asafreeС некоторого времени (года 3-4 как...) - 100% так на всех "нормальных" проектах.

А дальнейшее развитие у этих проектов было?

Было и есть. Некоторые живут и развиваются по несколько лет.
...
Рейтинг: 0 / 0
Создание ПО без доработки кода при внедрении
    #33975815
Фотография grexhide
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
18-я весна softwarer Just for example, опять же из практики.
Блин, как все это до боли знакомо :)

До боли или не до боли, но в тему поднятого вопроса можно добавить еще и следующее:

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

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

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

А вот второй тип задач - он более интересен. К примеру - унификация складского ПО с целью его дальнейшего развития. С целью, к примеру, унификации номенклатурного прейскуранта, интеграции с блоком управления запасами, производством, планированием и т.д. и т.п.

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

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

----

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

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

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

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

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

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

Минимизация необходимости редизайна на мой взгляд позволяет разработчикам, менее компетентным чем первоначальный разработчик, развивать нормально проект, так как при этом принятие решения либо выносится из процесса кодирования (например саппорт просто выполняет настройку), либо существующий дизайн направляет к нужному решению.
...
Рейтинг: 0 / 0
Создание ПО без доработки кода при внедрении
    #33975823
Фотография grexhide
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer
И возникают новые, и меняются старые, но вопрос не в этом. Даже возникновение нового требования часто приводит к модификации старого кода. Не просто к созданию нового куска, но к изменению реализованного.


Опять же, нужно оговаривать степень. Бывают задачи и изменения достижимые, бывают нет.

В примере постройки здания - вполне разумным и достижимым требоваеним является:

- поставить систему централизованного кондиционирования;
- проложить централизованные сетевые коммуникации;
- поставить дубовые панели вместо гипсокартонных.

Т.е. мы просто _дополняем_ первоначальные требования, без ущерба общему концепту.

А вот требования:

- изначально фундамент был на 10-ть этажей, а нужно 25-ть, а еще подземный паркинг забыли;
- потолки наверное нужны 3.5м, а вы реализовали только 3м, э... нет, нужно переделать

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

- динамически расширяемый фундамент
- динамическая высота потолков

и т.д.
...
Рейтинг: 0 / 0
Создание ПО без доработки кода при внедрении
    #33975828
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
18-я веснаХотелось бы по ходу обсуждения услышать, кто какие методы применяет для минимизации редизайна. Например: система плагинов, скриптовый язык, и т.д.

Скорее минимизации последствий редизайна. "система плагинов, скриптовый язык" + компоновка из атомарных "кубиков", которые можно без пересборки всей системы на лету заменять и перепривязывать.
Ситуация "вместо редизайна производится quickfix, латание дыр" - типовой путь к глюковатым монстрам. С этим нужно бороться любыми методами. :)
...
Рейтинг: 0 / 0
Создание ПО без доработки кода при внедрении
    #33975833
Фотография grexhide
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
18-я весна
Хотелось бы по ходу обсуждения услышать, кто какие методы применяет для минимизации редизайна. Например: система плагинов, скриптовый язык, и т.д.


Редизайн в той или иной степени неизбежен. Плагины и скриптовый язык не решает этой проблемы.

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

И латки и дыры - также неизбежны. Вопрос лишь в том, что их нужно локализовывать (собирать в определенном месте), а не размазывать тонким слоем по всей архитектуре приложения/системы.

К примеру:
Реализуется абстрактный движок - финансовый модуль (в свою очередь построенный на концепции учетной машины).

А вот потом из него строятся конкретные реализации:
- банковский модуль
- касса
- векселя

и т.д.

И лишь на последнем этапе реализуется нечто подобное (гипотетическая тема ИРКЦ):

- касса по приему платежей от физ. лиц за коммунальные услуги (вплоть - до - отделения №15, которому запрещено принимать платежи за электроэнергию)

Другой вопрос, что объять необъятное - тоже невозможно. К примеру - данный финансовый модуль абсолютно не пригоден для банковской или какой трейдинговой задачи, где начинают фигурировать понятия Финансовый инструмент и т.д. (но не на уровне движка - Учетная машина, кстати ;)))
...
Рейтинг: 0 / 0
Создание ПО без доработки кода при внедрении
    #33975939
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
18-я веснаСейчас как раз и занимаюсь уговорами, но мое начальство считает свой опыт единственно правильным :)

Начальник решил подключиться к процессу дизайна. Причем в данном случае это агрессивный ламер.
Тяжелая ситуация. С другой стороны, хорошая тренировка для переговоров с клиентами.

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

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

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

Второй ключевой фактор - наглядность, очевидность решения. Вы совершенно справедливо отметили, что менее квалифицированные продолжатели без проблем испортят хорошую вещь. Я не готов сформулировать рецепт, но полагаю, чтобы избежать этого, необходимо, чтобы буквально бросалось в глаза: ЭТУ ЗАДАЧУ, ЕСЛИ ПОТРЕБУЕТСЯ, НУЖНО РЕШАТЬ ВОТ ЗДЕСЬ. В противном случае будет трудно избегать деградации.

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

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

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

2. В нужных местах закладывается возможность конфигурирования. Сначала примитивного, так, чтобы хватило решить текущие задачи. Подчеркну: не "задумывается и реализовывается нечто глобальное", а "скромная задача решается так, чтобы по необходимости ее без проблем можно было развить в глобальную".

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

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

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

Можно говорить, что инженерная работа - непрерывный поиск компромиссов, но качество - та категория, где нет места компромиссам.
...
Рейтинг: 0 / 0
Создание ПО без доработки кода при внедрении
    #33975953
Фотография grexhide
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer
grexhideДругое дело, что не все так страшно, и при должном навыке и опыте (профессионализме) разработчики поступают проще: долго и нужно реализуют концепции вида (при наличии терпения и понимания со стороны руководства):
Именно так и появляется продукты, нуждающиеся в переделке еще до завершения разработки. Сначала долго уговариваем подождать, потом долго работаем, не имея обратной связи, и наконец пытаемся уговорить, что сделанное - именно то, что требовалось.

....

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


Это одна из сторон медали. Как было замечено ранее, все поиск компромиса - это основополагающая область инженерной деятельности. Но и само понятие качество - оно относительно.

Естественных ограничений для ПО будет куда меньше, чем для реального мира. И то, что в реальном мире просто бы "не поехало", "развалилось" и т.д. в практике ИС часто имеет место жить, и довольно продуктивно в конечном счете.

Это и хорошо и плохо одновременно. С одной стороны - нам не нужно заниматься вещами из отряда: "во чтобы то не стало нужно поместить все в пространство 5 куб.м. и вложиться в массу 5 тонн.

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

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

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

И что самое парадоксальное - зачастую реализуя куда более удачные и удобные конечным пользователям... поделия, чем те самые тиражно-стандартные, самые правильные и профессионально-архитектурные, качественные и .... и пр..
...
Рейтинг: 0 / 0
Создание ПО без доработки кода при внедрении
    #33975957
Фотография grexhide
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В конечном счете - действуя по принципу - чем заранее продумывать расширяемую архитектуру, мы лучше сделаем кое как, а потом если что, переделаем еще раз надцать.

Так что говорить о том, что не нужно и вредно продумывать расширяемость изначально, потому что это все равно приводит к необходимости переписывания... впрочем, все относительно
...
Рейтинг: 0 / 0
Создание ПО без доработки кода при внедрении
    #33976023
18-я весна
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerМожно говорить, что инженерная работа - непрерывный поиск компромиссов, но качество - та категория, где нет места компромиссам.
Мне кажется что говорить имеет смысл не о качестве в целом, а о такой категории качества как надежность. Ее мы можем обеспечить или хотя бы знаем к чему стремиться. Для меня надежность это такое поведение ПО когда пользователь получает именно, то что ожидал увидеть при выполнении какого-либо воздействия на программу. Хотя это конечно частное определение.

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

Именно надежность ПО мне кажется должна обеспечиваться в первую очередь.
А надежность падает при внесении любых изменений. Поэтому дизайн должен быть таким, чтобы уже отлаженный код не переставал работать при переделке других частей. Это конечно прописные истины, но на своей работе я столкнулся с непониманием в этом вопросе (в том, что не любой дизайн, обеспечивающий заданный функционал, годится ).

Вот думаю гнуть дальше свою линию или уволиться нафик :)
...
Рейтинг: 0 / 0
Создание ПО без доработки кода при внедрении
    #33976030
18-я весна
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
grexhideТак что говорить о том, что не нужно и вредно продумывать расширяемость изначально, потому что это все равно приводит к необходимости переписывания... впрочем, все относительно
Так никто в этой ветке вроде так и не говорил.
Все отметили, что применяют сразу расширяемый дизайн.

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

Можно и на чистом С реализовать объектную модель с полиморфизмом, наследованием и прочими техниками, а можно и на Java классы импользовать только как хранилище подпрограмм (это примеры из жизни, причем второй - из жизни моего начальника :))
...
Рейтинг: 0 / 0
Создание ПО без доработки кода при внедрении
    #33976058
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
18-я веснаМне кажется что говорить имеет смысл не о качестве в целом, а о такой категории качества как надежность.
У меня трепетное отношение к надежности, но тем не менее я не согласен забыть о других составляющих.

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

Впрочем, о роли составляющих неплохо говорит цитата все из той же книги :)

Первый программист: "Моя программа требует в два раза меньше памяти и выполняется в четыре раза быстрее, чем твоя".
Второй программист: "Да, но моя программа работает".


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

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

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

Вот думаю гнуть дальше свою линию или уволиться нафик :)
Знакомо.

Честно говоря, "гнуть свою линию" в данном случае - занятие достойное и неблагодарное. Если удастся, оно принесет много реальной пользы, но вряд ли Вы услышите в ответ хотя бы "спасибо". Куда вероятнее что-нибудь типа "у нас и раньше все хорошо было, а ты заставляешь напрягаться...". C другой стороны, я покинул фирму четыре с лишним года назад. Года два назад я болтал с программистом, устроившимся туда уже после моего ухода. И обнаружил, что он приписывает мне авторство даже тех хороших решений фреймворка, которые придумал не я. Я счел это неким комплиментом тому, что оставил там после себя :)
...
Рейтинг: 0 / 0
Создание ПО без доработки кода при внедрении
    #33978492
АБ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
18-я веснаБывало ли у кого-то такое, что постановка, ТЗ сделаны настолько близко к реальным нуждам заказчика, что после окончания кодирования и внутреннего тестирования - при внедрении, не требовалось бы вносить изменения в исходное ТЗ и соответственно переделывать код?

PS. Речь идет конечно не о мелких утилитах или компиляторах :), а например об АРМ или чем-то посложнее, то есть из области автоматизации предприятий.

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

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

Поэтому надо стремиться не пожестче ставить в рамки пользователя и клиента, а самим учиться работать по-другому. Многие, если не большинство, воспринимают ТЗ как священную корову и не понимают как вообще можно жить по-другому. Но альтернатива есть, и материализуется она в связке технологий BPM+SOA.

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

Отсюда рецепт: изменчивую часть выделить и разработать для нее специализированный софт -- систему управления бизнес-процессами (BPMS). Причем сделать его таким, чтобы пользователь смог управляться без участия программиста (очень важный момент!). Функции нижнего уровня разрабатывать традиционным способом, а вязать одно с другим через веб-сервисы.

Разумеется практика BPM-проектов отличается от нарисованной идеальной картины, но факт тот, что ТЗ в них и близко не играет такой роли, как в традиционных проектах разработки и внедрения. Все в них течет, все меняется, и это воспринимается всеми участниками не как катастрофа, а как благо.
...
Рейтинг: 0 / 0
Создание ПО без доработки кода при внедрении
    #34015273
Michael Vasilev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot АБ Отсюда рецепт: изменчивую часть выделить и разработать для нее специализированный софт -- систему управления бизнес-процессами (BPMS). Причем сделать его таким, чтобы пользователь смог управляться без участия программиста (очень важный момент!).[/quot]

Хм, думал, думал, не могу представить такую систему где пользователи будут сами управлять ее изменениями (какие то настройки не в счет).

По поводу ТЗ, ни разу еще не было у меня такого ТЗ, которое описывало бы все до пункта и которое бы не пришлось дорабатывать по ходу дела.

Согласен по поводу модульности. Вообще, как показывает мой опыт (в проектировании БД специализируюсь), наверное главное искусство или опыт, это правильно выделить из предметной области объекты или сущности, или кто как их там называет. При "правильной" базовой структуре существенно облегчается дальнейшая доработка.
...
Рейтинг: 0 / 0
Создание ПО без доработки кода при внедрении
    #34015370
АБ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Michael Vasilevдумал, думал, не могу представить На пальцах, очень упрощенно: представьте себе систему, в которой имеется графическое средство рисования диаграммы бизнес-процесса. Причем диаграмма эта -- не просто "картинка": по сути она является исполняемой программой для другой компоненты -- движка. "Квадратики" на этой диаграмме можно привязать к веб-сервисам, причем без кодирования -- на уровне заполнения полей в списке атрибутов. Конечно, это не для "тупого пользователя", но пользователь, освоивший написание формул на Excel, способен с этим управляться самостоятельно. Сегодня этот подход пока воспринимается не всеми, но 20 лет назад и ценность СУБД тоже приходилось доказывать.
...
Рейтинг: 0 / 0
Создание ПО без доработки кода при внедрении
    #34015436
Alexey Kudinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АБНа пальцах, очень упрощенно: представьте себе систему, в которой имеется графическое средство рисования диаграммы бизнес-процесса. Причем диаграмма эта -- не просто "картинка": по сути она является исполняемой программой для другой компоненты -- движка. "Квадратики" на этой диаграмме можно привязать к веб-сервисам, причем без кодирования -- на уровне заполнения полей в списке атрибутов. Конечно, это не для "тупого пользователя", но пользователь, освоивший написание формул на Excel, способен с этим управляться самостоятельно. Сегодня этот подход пока воспринимается не всеми, но 20 лет назад и ценность СУБД тоже приходилось доказывать. Если честно, подобного рода красивые картины вызывают у меня только один вопрос - а зачем так сложно ?

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

_Пока что_ , реальность реализации обоих вариантов одинакова.
...
Рейтинг: 0 / 0
Создание ПО без доработки кода при внедрении
    #34015437
Фотография Shtock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сейчас вот пытаемся наш софт перевести на веб-сервисы.Будем потом их в соответствии с бизнес-нуждами через WebSphere вызывать.Очень будет удобно перенастравать все на разные внешние источники информации мышкой.Скоро мечта сбудется.
...
Рейтинг: 0 / 0
Создание ПО без доработки кода при внедрении
    #34015457
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АБ Michael Vasilevдумал, думал, не могу представить На пальцах, очень упрощенно: представьте себе систему, в которой имеется графическое средство рисования диаграммы бизнес-процесса. Причем диаграмма эта -- не просто "картинка": по сути она является исполняемой программой для другой компоненты -- движка. "Квадратики" на этой диаграмме можно привязать к веб-сервисам, причем без кодирования -- на уровне заполнения полей в списке атрибутов. Конечно, это не для "тупого пользователя", но пользователь, освоивший написание формул на Excel, способен с этим управляться самостоятельно. Сегодня этот подход пока воспринимается не всеми, но 20 лет назад и ценность СУБД тоже приходилось доказывать.
IMHO
есть кофеварка и есть конструктор Лего для сборки кофеварки.
Рынок между законченными продуктами и "конструкторами для них" поделен неравномерно.

Если говорить об этом, то нужен конкретный пример бизнес-процесса для автоматизации (например этот - http://www.sql.ru/forum/actualthread.aspx?tid=343171)
...
Рейтинг: 0 / 0
Создание ПО без доработки кода при внедрении
    #34015473
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вероятно скобка в ссылке мешала
http://www.sql.ru/forum/actualthread.aspx?tid=343171
______________________________________________
Вы имеете право хранить молчание! Всё что Вы скажете может быть использовано против Вас в суде!
...
Рейтинг: 0 / 0
Создание ПО без доработки кода при внедрении
    #34016045
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если говорить об этом, то нужен конкретный пример бизнес-процесса для автоматизации (например этот ........Этот ? Там тема не раскрыта. Можно найти сто способов сделать согласно этого ТЗ неработоспособный продукт или по крайней мере идиотски неудобный.

К сожалению в ТЗ нельзя описать всё и вся...Это попросту слишком долго и неблагодарно.
Качественный продукт может написать ПРОФЕССИОНАЛ, который не только знает как надо , но и умеет поставить себя на место того, кто будет систему эксплуатировать.

Говорил однажды с одним програмером по поводу его галимой формы по вводу приходной накладной.
Грю:
- чувак, ты считаешь что тут всё удобно ?
- ммм.... да...(несмело)
- а сколько накладных ты за свою жизнь поставил "на приход" ? Ну хотя бы 20-30 ?
- ну....э.....2 или 3.
- Теперь понятно.......(занавес)

Вердикт: делал так, чтоб отцепились или понятия не имел как сделать хорошо.

ЗЫ: "Думай за дурака" (с)
...
Рейтинг: 0 / 0
Создание ПО без доработки кода при внедрении
    #34016225
!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
!
Гость
LSVК сожалению в ТЗ нельзя описать всё и вся...Это попросту слишком долго и неблагодарно.
Качественный продукт может написать ПРОФЕССИОНАЛ, который не только знает как надо , но и умеет поставить себя на место того, кто будет систему эксплуатировать.Гм... Ну, предположим, что действительно долго - несколько месяцев может уйти, но почему неблагодарно? За разработку ТЗ заказчик платит деньги
Без согласованного ТЗ вы никогда не договоритесь, какой продукт считать качественным.
То, о чем Вы написали имеет место в непрофильных компаниях, где сотрудникам отдела разработки платят оклады, размеры которых зависят только от штатного расписания, а сама Информационная Система - тяжкое наследие кусочной автоматизации начала девяностых годов прошлого века. Владелец бизнеса (тот самый Заказчик) нисколько в автоматизации не заинтересован, чаще всего он вообще о таких мелочах знать ничего не хочет - бизнес и IT существуют в параллельных мирах, которые никак не пересекаются, бухгалтерия крыжит отчеты в 1С, а какой-нибудь кладовщик или сейл объявляется Пользователем Информационной Системы и требует раскрасить кнопки во все цвета радуги
Отсюда и возникают легенды о том, что Система должна быть удобной для Пользователя.
...
Рейтинг: 0 / 0
Создание ПО без доработки кода при внедрении
    #34016280
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LSVЭтот ? Там тема не раскрыта. Можно найти сто способов сделать согласно этого ТЗ неработоспособный продукт или по крайней мере идиотски неудобный.

ты чё гонишь? :). Я не в первом классе второй четверти.
- У меня задача сделать продукт РАботоспосбным. Как это сделать наоборот наверное ты знаешь.
- У меня задача помочь заказчику осознать, что добавление в ТЗ пункта о маршрутизации документов переводит работу в другую плоскость и на другие деньги.
==========
Если разрабатывал системы электронного документооборота - говори по делу.
Иначе читай подпись.
______________________________________________
Вы имеете право хранить молчание! Всё что Вы скажете может быть использовано против Вас в суде!
...
Рейтинг: 0 / 0
Создание ПО без доработки кода при внедрении
    #34016388
mcureenab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LSVГоворил однажды с одним програмером по поводу его галимой формы по вводу приходной накладной.
Грю:
- чувак, ты считаешь что тут всё удобно ?
- ммм.... да...(несмело)
- а сколько накладных ты за свою жизнь поставил "на приход" ? Ну хотя бы 20-30 ?
- ну....э.....2 или 3.
- Теперь понятно.......(занавес)

Вердикт: делал так, чтоб отцепились или понятия не имел как сделать хорошо.

ЗЫ: "Думай за дурака" (с)

Удобство, понятие субъективное. В твоём споре правы все. Чуваку удобно одно, тебе другое. Понятие "удобно", нужно раскрывать в каждом конкретном случае. Установи требование, обеспечить ввод одним обученным оператором 30ти накладных в час, тогда и обсуждай решает программа задачу или нет.
...
Рейтинг: 0 / 0
Создание ПО без доработки кода при внедрении
    #34016413
mcureenab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123
- У меня задача помочь заказчику осознать, что добавление в ТЗ пункта о маршрутизации документов переводит работу в другую плоскость и на другие деньги.


Видимо это из области управления рисками, связанными с изменениями требований.
Объективно, требования изменяются и ничего удивительного в этом нет. Другое дело, как воспринимать эти изменения. Решать их за счёт прибыли, раскручивать клинета, убеждать, что это не нужно, наконец закрывать проект.
...
Рейтинг: 0 / 0
Создание ПО без доработки кода при внедрении
    #34016527
sergey888
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторТЗ сделаны настолько близко к реальным нуждам заказчика, что после окончания кодирования и внутреннего тестирования - при внедрении, не требовалось бы вносить изменения в исходное ТЗ и соответственно переделывать код

Это фантастика!
...
Рейтинг: 0 / 0
Создание ПО без доработки кода при внедрении
    #34018088
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mcureenabУдобство, понятие субъективное. В твоём споре правы все. Чуваку удобно одно, тебе другое. Понятие "удобно", нужно раскрывать в каждом конкретном случае. Установи требование, обеспечить ввод одним обученным оператором 30ти накладных в час, тогда и обсуждай решает программа задачу или нет.В данном случае очень даже объективное. Оператор делает всего несколько несложных и главное ИЗВЕСТНЫХ ВСЕМ операций. Поэтому эти операции должны делаться с минимумом телодвижений. Форма должна содержать максимум первостепенной информации. Второстепенная должна срываться на других закладках. Должна быть удобная навигация. Разумное использование пространства формы. Фокус должен перемещаться логично, чтоб не ганять по тыще раз мышей по экрану. Должны быть горячие клавиши....и.т.д.
Неужели нужно кому-то в сотый доказывать, что удобство работы в разы повышает производительность труда и снижает число ошибок ???????????????
Плохой интерфейс влияет даже на текучку кадров. Уж поверьте........
...
Рейтинг: 0 / 0
Создание ПО без доработки кода при внедрении
    #34018353
mcureenab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LSV mcureenabУдобство, понятие субъективное. В твоём споре правы все. Чуваку удобно одно, тебе другое. Понятие "удобно", нужно раскрывать в каждом конкретном случае. Установи требование, обеспечить ввод одним обученным оператором 30ти накладных в час, тогда и обсуждай решает программа задачу или нет.В данном случае очень даже объективное. Оператор делает всего несколько несложных и главное ИЗВЕСТНЫХ ВСЕМ операций. Поэтому эти операции должны делаться с минимумом телодвижений. Форма должна содержать максимум первостепенной информации. Второстепенная должна срываться на других закладках. Должна быть удобная навигация. Разумное использование пространства формы. Фокус должен перемещаться логично, чтоб не ганять по тыще раз мышей по экрану. Должны быть горячие клавиши....и.т.д.
Неужели нужно кому-то в сотый доказывать, что удобство работы в разы повышает производительность труда и снижает число ошибок ???????????????
Плохой интерфейс влияет даже на текучку кадров. Уж поверьте........

"ИЗВЕСТНЫХ ВСЕМ"???? Это ложь. Например я понятия не имею что делает оператор.
"Минимумом телодвижений" это сколько? По щучьему велению, что ли?
Что есть первостепенная информация? Какое значение её максимума.
Удобное, разумное, логичное. Что это такое? Как это измерить?
Горячие клавиши для чего? Клавиши Выход достаточно?
Доказывать ничего не надо. Сформулируй формальные, измеряемые требования к форме.
...
Рейтинг: 0 / 0
Создание ПО без доработки кода при внедрении
    #34018490
Фотография !!!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LSV mcureenabУдобство, понятие субъективное. В твоём споре правы все. Чуваку удобно одно, тебе другое. Понятие "удобно", нужно раскрывать в каждом конкретном случае. Установи требование, обеспечить ввод одним обученным оператором 30ти накладных в час, тогда и обсуждай решает программа задачу или нет.В данном случае очень даже объективное. Оператор делает всего несколько несложных и главное ИЗВЕСТНЫХ ВСЕМ операций. Поэтому эти операции должны делаться с минимумом телодвижений. Форма должна содержать максимум первостепенной информации . Второстепенная должна срываться на других закладках . Должна быть удобная навигация . Разумное использование пространства формы . Фокус должен перемещаться логично , чтоб не ганять по тыще раз мышей по экрану. Должны быть горячие клавиши ....и.т.д.
Неужели нужно кому-то в сотый доказывать, что удобство работы в разы повышает производительность труда и снижает число ошибок???????????????
Плохой интерфейс влияет даже на текучку кадров . Уж поверьте........Пошли по выделенным пунктам.
1. Мне, например, известные всем операции неизвестны.
2. Какая информация считается первостепенной? Перечень полей, содержащих эту самую первостепенную информацию, в ТЗ перечислен?
3. Появились другие закладки. А не другие тоже были?
4. Что такое удобная навигация?
5. Что такое - разумное использование пространства формы?
6. Горячие клавиши - на какие операции и какие именно?
Если на все эти вопросы есть ответы в документах (ТЗ, ТП, внутрикорпоративные стандарты и правила проектирования интерфейсов и т.п.), на основании которых Ваш программист разрабатывал форму - тогда упреки справедливы. Если вся эта информация хранится исключительно в Вашей голове, то претензии можете предъявлять только самому себе.

Теперь в сотый раз относительно удобства работы оператора и текучести кадров. Если оператору не нравится работать с системой, то ничего не стоит вместо него взять другого - должность эта не требует высокой квалификации и не является дефицитной. Подстраивать интерфейсы ввода под капризы людей, вводящих первичку - очень дорогое удовольствие и далеко не самая разумная трата IT-бюджета заказчика.
...
Рейтинг: 0 / 0
Создание ПО без доработки кода при внедрении
    #34018542
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LSV
- вы считаете, что дизайн это не искусство а ремесло (следуй вашим пунктам и всё)? Тогда нам не по пути.

- вы считаете, что программирование это не искусство а ремесло? Тогда нам не по пути.

Если бы были объективные критерии хорошего и плохого (в том числе интерфейса) в мире наступил бы хаос, а плохо спроектированного человека давно бы отстреливала команда экспертов.
______________________________________________
Вы имеете право хранить молчание! Всё что Вы скажете может быть использовано против Вас в суде!
...
Рейтинг: 0 / 0
Создание ПО без доработки кода при внедрении
    #34018558
Фотография !!!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123- вы считаете, что программирование это не искусство а ремесло?Какое, нафиг, ремесло, а тем более искусство! Это нормальное современное производство.
...
Рейтинг: 0 / 0
Создание ПО без доработки кода при внедрении
    #34018567
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
!!! Petro123- вы считаете, что программирование это не искусство а ремесло?Какое, нафиг, ремесло, а тем более искусство! Это нормальное современное производство.
ещё скажите конвейер (или компилятор)
...
Рейтинг: 0 / 0
Создание ПО без доработки кода при внедрении
    #34018620
Фотография !!!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123 !!! Petro123- вы считаете, что программирование это не искусство а ремесло?Какое, нафиг, ремесло, а тем более искусство! Это нормальное современное производство.
ещё скажите конвейер (или компилятор)В идеальном случае, да, конвейер
...
Рейтинг: 0 / 0
Создание ПО без доработки кода при внедрении
    #34018656
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
!!!
с одной стороны с вами соглашюсь, но с другой
- сегодня идеал - 160-60-90, завтра 200-100-900 :))
- тема этого топика пока не имеет решения IMHO поэтому нет конвейера.

"Сложнее всего в мире достигнуть простоты - это крайняя граница опыта и последнее усилие гения".
George Sand.

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

______________________________________________
Вы имеете право хранить молчание! Всё что Вы скажете может быть использовано против Вас в суде!
...
Рейтинг: 0 / 0
Создание ПО без доработки кода при внедрении
    #34019125
mcureenab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123 !!! Petro123- вы считаете, что программирование это не искусство а ремесло?Какое, нафиг, ремесло, а тем более искусство! Это нормальное современное производство.
ещё скажите конвейер (или компилятор)

Конвейер. Только он выпускает не однотипную продукцию, а каждый раз что то новенькое. Но суть та же. Какждый участник процесса разработки регулярно применяет свои навыки, выполняет одно и то же действие - создаёт проектный документ определённого типа. В зависимости от исходных данных меняеся только его содержание.
...
Рейтинг: 0 / 0
Создание ПО без доработки кода при внедрении
    #34019750
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mcureenab
- в RUP - конвейере может быть, но там уже "что-то новенькое" это всего лишь цвет упаковки и рюшечки по бокам.

- вы ж понимете - рынок разный. Одним надо самокат с конвейера (1С), другим самописку от 1С. Только перед конвейером есть:
- НИР
- НИОКР
- Опытная эксплуатация
- Выпуск малой серией
- Запуск в массовое производство (в котором и Джаконда с полиграфией - ремесло).
...
Рейтинг: 0 / 0
Создание ПО без доработки кода при внедрении
    #34019770
мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mcureenabКонвейер. Только он выпускает не однотипную продукцию, а каждый раз что то новенькое.
Рафаэль делал то же самое. Фокус в том что "каждый раз что то новенькое".
...
Рейтинг: 0 / 0
Создание ПО без доработки кода при внедрении
    #34020356
mcureenab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123- Запуск в массовое производство (в котором и Джаконда с полиграфией - ремесло).

В любом деле есть место творчеству и место рутине.
Чем меньше творчества, тем более предсказуемый результат мы получаем.
Чтобы написать какую угодно картину или программу нужно много что знать, уметь и сделать. Не надо путать увлекательный процесс овладения этим знаниям, умениям и обыденное решение поставленной задачи по известной методике. Творчество нужно, когда методика не приводит к решению.
...
Рейтинг: 0 / 0
Создание ПО без доработки кода при внедрении
    #34021232
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Творчество нужно, когда методика не приводит к решению.Золотые слова...
Можно дополнить "...не приводит к экономически оправданному решению.".
Методику можно всегда найти. Но будет ли полезный эффект ? Вот в чём вопрос...
...
Рейтинг: 0 / 0
Создание ПО без доработки кода при внедрении
    #34021286
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mcureenab Petro123- Запуск в массовое производство (в котором и Джаконда с полиграфией - ремесло).

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

Программы в большинстве своём служат для автоматизации рутинной человеческой деятельности.

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

С учётом того, как меняются подходы и методы этой самой автоматизации в течении пятилеток.

ЗЫ. В автосервисе тоже есть обыденные технологические карты поиска неисправностей, только никому от этого не легче.

ЗЫ.ЗЫ. Re: Создание ПО без доработки кода при внедрении ===================
IMHO нет решения "для такой большой области как автоматизация предприятий"
...
Рейтинг: 0 / 0
Создание ПО без доработки кода при внедрении
    #34022493
mcureenab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123 ЗЫ.ЗЫ. Re: Создание ПО без доработки кода при внедрении ===================
IMHO нет решения "для такой большой области как автоматизация предприятий"

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

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

Отличие я вижу в том, что программисты чаще оперируют алгоритмическими языками, тогда как конфигурации компонентов описываются декларативными языками.
...
Рейтинг: 0 / 0
Создание ПО без доработки кода при внедрении
    #34022677
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mcureenab
да.
Увлечение гибкостью и настраиваемостью приложения иногда идёт так далеко, что проще и дешевле написать ОДНО железобетонное решение для конкретного бизнес-процесса.
...
Рейтинг: 0 / 0
Создание ПО без доработки кода при внедрении
    #34025137
мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Программы в большинстве своём служат для автоматизации рутинной человеческой деятельности.
Принятие решений, например :)
Petro123Увлечение гибкостью и настраиваемостью приложения иногда идёт так далеко, что проще и дешевле написать ОДНО железобетонное решение для конкретного бизнес-процесса.
"ОДНО железобетонное немодифицируемое решение" проживет не очень долго, а хорошо параметризуемая система почти вечна :)
...
Рейтинг: 0 / 0
Создание ПО без доработки кода при внедрении
    #34025316
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мод Petro123Программы в большинстве своём служат для автоматизации рутинной человеческой деятельности.
Принятие решений, например :)

=== для "некоторых", и Эта деятельность - рутина

Petro123Увлечение гибкостью и настраиваемостью приложения иногда идёт так далеко, что проще и дешевле написать ОДНО железобетонное решение для конкретного бизнес-процесса.
"ОДНО железобетонное немодифицируемое решение" проживет не очень долго, а хорошо параметризуемая система почти вечна :)

======== велосипед, например, как железобетонное решение передвижения на 2-х колёсах без всяких параметров. ))))
...
Рейтинг: 0 / 0
Создание ПО без доработки кода при внедрении
    #34025526
Michael Vasilev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Обсуждение по типу, что перевее, курица или яйцо.
В каждом конкретном случае выбирается свое решение (не всегда верное).
Как пример можно привести 1 С. Настраиваемое решение. Долго живет.
Однако требуется программист для настройки.
А есть задачи, которые проще написать железобетонно. А потом выкинуть и заменить на другую конструкцию, чем писать что то гибкое и настраиваемое.
А еще встречал гибкое и настраиваемое, которое настраивать мог только его создатель, в итоге выкинули, переписали на железобетонное.
Опять же вопрос в вечности. Живет вечно - это сколько?
Что касается дизайна форм оператора, то есть правила дизайна таких вещей, перечислять не буду, поищиите в инете море инфы, и соблюдение этих правил повышает производительность работы оператора раз и приближает написание таких вещей к ремеслу.
По собственному опыту, после 1-2-3-х проектов, программирование начинает превращаться из искусства в ремесло (субъективно).
...
Рейтинг: 0 / 0
Создание ПО без доработки кода при внедрении
    #34025565
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
со всем выше согласен.
Michael VasilevПо собственному опыту, после 1-2-3-х проектов, программирование начинает превращаться из искусства в ремесло (субъективно).
тогда надо что-то делать:
- идти на повышение
- работать для зарплаты, а "для души" в своб.время.
- отдать проекты ремесленнику, а самому см. выше.
- "настроить конвейер" и уйти как Билл Гейтс.
- ....
...
Рейтинг: 0 / 0
Создание ПО без доработки кода при внедрении
    #34025631
мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Michael VasilevОпять же вопрос в вечности. Живет вечно - это сколько?

Одноразовые программы меня не интересуют. Софт должен жить столько, сколько живет бизнес. Это предполагает возможность его параметризации-модификации-расширения с привлечением и программеров в т.ч.
Michael VasilevЧто касается дизайна форм ...
Дизайн форм - это не программирование - это дизайн :).
...
Рейтинг: 0 / 0
Создание ПО без доработки кода при внедрении
    #34025842
Michael Vasilev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нужно что то делать, если что то не устраивает настолько, что заставляет что то делать. О выразился :)
А насчет живучести программ.
Так ведь есть и бизнесы, которые меняются до неузнаваемости за короткое время, соответственно и программы под них переписываются. И бывает, что модифицирование уже не помогает, тогда переписывают полностью или заменяют на другое ПО.
Пример: поставил чел. ларек, программулину ему сделали для учета всего этого задешево, потому, как он не может платить много.
Потом бизнес вырос, программулину доделали, что бы учитывать пару-тройку ларьков.
Потом он открывает магазин-сеть магазинов, это уже другое ПО, за другие деньги и модификация первого не спасет.
При этом сам бизнес живет, не умирает.
Жизнь разнолика и разнопланова и одного решения для всего на свете пожалуй не сотворишь :)
Потому и есть у нас пока что стабильная работа.
...
Рейтинг: 0 / 0
64 сообщений из 64, показаны все 3 страниц
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / Создание ПО без доработки кода при внедрении
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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