Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Общие вопросы по программированию, компьютерный форум
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.04.2014, 09:03   #31
_Bers
Старожил
 
Регистрация: 16.12.2011
Сообщений: 2,329
По умолчанию

Цитата:
Сообщение от Utkin Посмотреть сообщение
В мелкой конторе да, в крупной такой фокус не прокатит.
Так я вам сразу сказал, что это смотря что за коллектив попадется. Что никто никому ничего не должен, коли расписок не давал, и клятв не приносил.

Цитата:
Сообщение от Utkin Посмотреть сообщение
ТЗ это компетенция системного аналитика. Системный аналитик на стороне заказчика предпочтительней (для обеих сторон). Иное дело, что в мелких конторах особо этими вещами не заморачиваются.
Под ТЗ я понимаю, "техническое задание" - какая то конкретная текущая задача, которую предстоит решить программисту (артисту, ещё кому то).

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

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

А документ, который непосредственно описывает поведение (бизнес-логику) приложения на мой бывшей работе назывался "спецификация".

Но не суть. Суть в том, что конечного заказчика не интересуют проблемы программистов. Ему наплевать на все эти сингелтоны/стратегии/медиаторы/фабрики и прочее.

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

Цитата:
Сообщение от Utkin Посмотреть сообщение
Если речь идет о госконторе, то с огромной вероятностью проект будет выставлен на торги (как правило по 44-ФЗ) и там вообще все жестко. ТЗ в таком случае предоставляет заказчик (если речь не идет о сговоре), данная информация публична (то есть каждый может на каких-нибудь закупках просмотреть требования к проекту). Заказчика в таком случае дополнительно может контролировать его учредитель, в таком случае как Вы понимаете никаких фантастических ситуация типа "хочу по-другому" просто не может быть.
Ну во-первых "требования к проекту" к "архитектуре" программного кода имеет ну очень отдаленное отношение.

Допустим, есть требование: кросс-платформа Windows/Linux
Как это может повлиять на архитектуру?
Да ну практически никак. Ну будут некоторые узлы использовать паттерн "пимпл". А используемые внешние библиотеки по возможности кросс-платформенные. Вот и все влияние.

А во-вторых, "фантастическая ситуация: хочу иное" - сплошь и рядом.

Банальный пример: библиотека CEGUI с претензией на игровой GUI.

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

Внезапно(!), то есть уже на поздней стадии, когда почти все интерфейсы готовы, выясняется, что она из коробки не умеет выполнять массовый drug-n-drop.

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

Заказчик хочет - заказчик получает.

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

------------------------------------
На самом деле допиливание чужих движков,библиотек, фреймворков - это довольно частая практика.
_Bers вне форума Ответить с цитированием
Старый 21.04.2014, 09:28   #32
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Цитата:
То есть, разработку можно рассматривать, как совокупность множества задач. Каждая - своё ТЗ.
Да, задача с потолка - билинговая система. Соответственно ТЗ будет одно.
Цитата:
А документ, который непосредственно описывает поведение (бизнес-логику) приложения на мой бывшей работе назывался "спецификация".
Это понятно, я же писал, что ТЗ это один из документов, ограничивающих вольный полет фантазии заказчика. Четкого определения остальных документов не установлено, оно может быть и спецификацией и приложениями к договору и еще кучей всего прочего.
Цитата:
Ну во-первых "требования к проекту" к "архитектуре" программного кода имеет ну очень отдаленное отношение.
Нет такого четкого разделения со стороны заказчика. Это проблемы разработчика.
Цитата:
Допустим, есть требование: кросс-платформа Windows/Linux
Как это может повлиять на архитектуру?
Да ну практически никак. Ну будут некоторые узлы использовать паттерн "пимпл". А используемые внешние библиотеки по возможности кросс-платформенные. Вот и все влияние.
Я бы мог поспорить с Вами, но мы и так сильно отдалились от темы.
Цитата:
Внезапно(!), то есть уже на поздней стадии, когда почти все интерфейсы готовы, выясняется, что она из коробки не умеет выполнять массовый drug-n-drop.
Разработчику должно быть внезапно пофиг. Если изменение не предусмотрено юзер получит кривую систему. Если предусмотрено, заказчик терпеливо платит за срыв графиков и ждет еще заранее оговоренное время. Такие изменения оформляются отдельной бумажкой (бумажками). Вина заказчика. Вин и профит.
Цитата:
заказчик удивился. Он считал, что данная фича - что-то вроде само собой разумеющееся.
Вина разработчика - Вы явно не составили прототип приложения, поэтому заказчик этого не увидел. Заказчик не должен был удивляться, он должен четко понимать, что любые изменения на финальном этапе стоят денег и времени. Очевидно что на встречах с представителями заказчика было уделено мало времени. Мне вообще давали сначала анкету с кучей вопросов. Потом уже встречи и прямое общение.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика

Последний раз редактировалось Utkin; 21.04.2014 в 09:31.
Utkin вне форума Ответить с цитированием
Старый 21.04.2014, 20:18   #33
_Bers
Старожил
 
Регистрация: 16.12.2011
Сообщений: 2,329
По умолчанию

Цитата:
Сообщение от Utkin Посмотреть сообщение
Да, задача с потолка - билинговая система. Соответственно ТЗ будет одно.
Это не ТЗ.

ТЗ - это техническое задание. Формализованное.
На основе которого можно с закрытыми глазами фигачить код.

"биллинговая система" - это продукт.

Цитата:
Сообщение от Utkin Посмотреть сообщение
Вина разработчика - Вы явно не составили прототип приложения, поэтому заказчик этого не увидел.
Это и был прототип.

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


Цитата:
Сообщение от Utkin Посмотреть сообщение
Заказчик не должен был удивляться, он должен четко понимать
Он ничего не должен, кроме финансирования.
Сделать "хорошо" - это компетенция разработчика, а не заказчика.
_Bers вне форума Ответить с цитированием
Старый 18.12.2015, 12:42   #34
neko3d
Пользователь
 
Регистрация: 18.12.2015
Сообщений: 14
По умолчанию

Если заказчик такое просит, то он неадекват. Либо пусть проплачивает всю разработку продукта с новыми требованиями заново, либо идет лесом.

Команда номер 1 постутила совершенно верно. А команда номер 2 наплодила такого говнокода, что теперь сами не понимают, кто там есть кто.
neko3d вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Паттерн Registry SoftKoc PHP 4 27.07.2013 01:07
Паттерн Начинающий програм Помощь студентам 0 20.05.2013 19:41
Паттерн наблюдадель. c# Skull_psyhothik Помощь студентам 0 22.04.2013 20:38
паттерн singleton zhenya.ya Общие вопросы C/C++ 1 26.11.2010 03:11
Паттерн MVP Vistar Общие вопросы .NET 0 11.09.2010 18:45