|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
Да, насчет протоколов. Многие способны разработать протокол, так же как многие способны проектировать. Но немногие способны разработать действительно хороший протокол, точно так же как немногие способны действительно хорошо проектировать (см мое мнение насчет профессионализма в предыдущем топе). Например семейство протоколов IP: TCP/UDP/ICMP/IGMP - пример ужасно плохой разработки протоколов (я думаю, они были разработаны в свое время как внутреннее временное решение) однако проект имеет успех, что лишний раз подтверждает что не только качество влияет на этот самый успех. Кстати, успех той же 1С вообще ставит в тупик. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.08.2003, 16:51 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
Ну давай тогда продолжать эти сравнения. А успех Intel, а успех Microsoft тебя не ставят в тупик? Ну с Intel ходо бедно ещё можно как-то принять. Всё-таки они когда-то первые начали сам процесс. Хотя это тоже не показатель. А с Microsoft? Если бы не положение Уильяма Гейтса III, то хрен бы когда Microsoft так раскрутился. В истории с 1C тоже нет ничего удивтиельного. Мне кажется, что Борис мог бы раскрутить любую более менее работающую программу для ведения бухгалтерии. То есть, вопрос раскрутки продукта и вопрос качества разработки и эффективности применяемых решений это совершенно разные вещи. Нельзя раскрутить совершенно не работающую программу. А вот работающую, пусть даже меделнную или неудобную, расскрутить уже можно. Что многократно и делалось (и не только с программами кстати). Опять же, с точки зрения голой и циничной коммерции раскурчивать выгоднее всего как раз средний по уровню технических решений продукт. Почему объяснять? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.08.2003, 17:07 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
2 vdimas >2 c127 >А какие еще языки тестировались и как? > >шутник, однако... тестирование языков... :) >.... >Вопрос был по-приколу? Вопрос задавался на полном серьезе. Утверждается, что "только такой язык (С++) позволил решить эту задачу весьма элегантно и смешным количеством строк", вот я и спросил, а как удалось выяснить, что "только такой", а может какой-нибудь другой подошел бы лучше. Наличие "множественного наследования имплементаций" само по себе не аргумент, ведь другие языки может быть могут предложить альтернативные механизмы и не проведя сравнительного анализа этого выяснить нельзя. Тогда уж следовало говорить: "из языков, известных мне и поддерживающих множественное наследование имплементаций только C++ позволил решить....." А то что сравнительное тестирование языков не шутка и люди им всерьез занимаются, можно прочитать здесь: http://www.osp.ru/os/2000/12/045.htm ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2003, 03:42 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
2c127: этому чуваку(Лутц Прехельт ) еще и деньги платят и наверное не малые - интересно, за что? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2003, 08:55 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
2c127: этому чуваку(Лутц Прехельт ) еще и деньги платят и наверное не малые - интересно, за что? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2003, 08:55 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
2 c127 Тогда уж следовало говорить: "из языков, известных мне и поддерживающих множественное наследование имплементаций только C++ позволил решить....." Вот золотые слова! (если взглянуть на список языков) :)) Прямо добавить нечего... ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2003, 23:24 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
2 funikovyuri >2c127: этому чуваку(Лутц Прехельт ) еще и деньги платят и наверное не малые - интересно, за что? А мне понравилось, по-моему все достаточно профессионально. За такие вещи много денег не платят, а если это исследование по какому-то гранту то там вообще мелочь остается. Куча людей и на более бесполезнх вещах бабки делает. По существу вопроса есть мысли? Например меня совсем не удивило, что на задачах обработки данных (не GUI) C++ не дает выигрыша в сравнении с C. Странно, что нет большого разрыва в производительноси/памяти интерпретируемых и и компилируемых языков, но это наверное из-за использования встроенных средств, например перловых хешей. java на стабильном последнем месте, я давно подозревал, что там никаких достоинств нет, одни недостатки. Еще хотелось бы посмотреть на какие-то подобные исследования для больших проектов, не кинет ли кто-нибудь ссылкой? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2003, 23:56 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
2c127: нельзя делать никаких выводов на основе этой статьи - там фактически полный бред! JAVA - это в общем-то тот же .Net - но только его раньше сделали. Не знаю чего он там тестировал, но то, что он ни черта не понимает это очевидно ... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2003, 08:00 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
2 aag: \r Понятия не имею - я простой разработчик. Я дяденька, не сварщик, я маску на стройке нашел :). \r \r Вообще sloc используются для формальной (опять!) оценки объема/затрат на кодирование . Т.е как здесь уже флеймилось насчет тыс.строк/в год - можно использовать этот показатель, например, для оценки скорости кодирования по готовой спецификации и некого сравнения скилов 2-х программистов :о)\r \r К тому же, мне известна одна действительно крупная софтверная компания, в которой аналитики действительно отделены от кодеров. И известно о провале по-крайней мере одного проекта, причем это разделение косвенно также сыграло свою роль - аналитакам наплевать, какая будет реализация, а программистам наплевать, что думаю аналитики (что еще хуже), - у семи нянек, как известно... \r \r Если под "реализацией" имеется в виду результат программирования, то...\r \r Аналитикам и должно быть наплевать на реализацию. Они вообще отвечают за требования\r (в самом общем смысле) и концептуальную модель. Реализация (ее варианты) должна учитываться проектировщиками , к-рые отвечают за архитектуру и могу вносить в нее изменения,\r поддерживая тесную связь с программистами.\r Если программистам наплевать на требования и спецификации, то их надо под Ж.\r мешалкой - это уже задача менеджеров . От самодуров (и не только программистов!)\r и даже умных проблем больше, чем выгоды\r \r Я думаю, проблема в том, что разработка крупных проектов, на мой взгляд, по-прежнему остается Искусством (а не наукой). И применение того или иного подхода, не гарантирует успеха. \r \r А что такое "разработка крупных проектов"? Если имеется в виду именно основной процесс разработки софта, то какое здесь искусство при инженерном подходе? Может Искусство программирования? (с)Д.Кнут\r Если имеется в виду вспомогательный процесс управления проектом, то также непонятно где искусство. Хотя тот же менеджемент как раздел экономической теории управления персоналом богат гуманитарными (психологическими) моментами, типа "дать мотивацию", "быть лидером" и т.д. Пожалуй это Искусство работы с людьми :о)\r \r 2 vdimas: \r Репликант с одной стороны сторонник того мнения, что "правильные" подходы - несомненный залог успеха, с другой строны неоднократно подчеркивает необходимость сверх-высокого профессионализма, требуемого от специалиста одного с ним рода деятельности (системные аналитики и проектировщики, я, в свою очередь, настаиваю, что профессионализм должен быть на всех уровнях). \r \r Не "правильные", а правильные подходы, а точнее грамотные , т.е по ИТ-науке и Менеджементу. Вы хотите понимать то, что вам хочется понимать , а не то, что содержится в действительной смысловой нагрузке чьих-то высказываний? Тогда еще раз цитата из топика Все мы чего-то автоматизируем (стр.2) (пост Дата: 25 июн 03, 00:08): ...А кто говорит, что промышленно-конвеерный - это панацея от ошибок! Он всего лишь гарантия управляемости, точнее большей управляемости по достижению проектного результата, чем при кустарно-творческом способе. Если в промышленно-конвеерном способе использовать хреновых менеждеров, аналитиков и программистов, то получится промышленно-конвеерная хреновина. Не забыли еще, что успех складывается из 3-х "П"-составляющих? Процесс (включает также средства), персонал (читай профессионализм) и проект (цели, внешняя среда). ...\r Итак, где вы усмотрели противоречие с тем, что я говорил до сих пор и с тем, вы сказали выше по поводу профессионализма на всех уровнях?\r И где вы увидели у меня разделение "П"-составляющих - "с одной стороны..., с другой строны"? Эти составляющие неотъемлимы и даже наличие всех 3-х не есть 100%-гарантия успеха проекта, а когда их меньше 3-х, то тем более ничего гарантировать нельзя\r \r Если учесть, что сверх-высокого профессионализма (причем неважно в какой области) достигают немногие, а только заведомо предрасположенные к этому личночти (читай - способные, талантливые и т.д.), то роль влияния личности на судьбу проектов (больших или маленьких) преуменьшать не стоит. \r \r Я не знаю, что такое сверх-высокий профессионализм , а главное зачем он нужен. Видимо, в России он кому-то и нужен вместе со сверх-высокий работоспособностью чтобы аврально "вытаскивать" инвалидные проекты. При правильном подходе к организации работ будет вполне достаточно и просто профессионализма .\r Что же касается личностей, характеров и склонностей, то зависимость проекта от таких субъективных вещей надо сводить к минимуму. В правильно организованном проекте любого участника можно заменить на другого с эквивалентным профессиональным уровнем и проект из-за этого не будет существенно отброшен назад; все что понадобится - это время (минимальное по сравнению с кустарным подходом) на ознакомление нового участника с инженерными спецификациями\r \r Проектировшик может "обезопасить" себя от неожиданности потери грамотного программиста, ограничив его полномочия (влияние, ценность и т.д.). \r \r Это (кого-то сторожить, ограничивать полномочия и т.д) не входит в задачу проектировщика. Вы, видимо, путаете проектировщика с менеджером \r \r Но кто спасет проект если случиться потеря грамотного проектировщика? (кто будет сторожить сторожей?) \r \r Спасет другой проектировщик с уровнем профессионализма не хуже, чем был у предыдущего. В этом случае можно говорить, что потери времени от замены будут минимальны\r \r .. Т.е., применяя "правильные" подходы, мы можем увеличивать вероятность успеха только до определенного уровня. Начиная с некоторого уровня, хотим мы этого или не хотим, успех - это "птица цвета ультрамарин". \r \r Еще цитата из Все мы чего-то автоматизируем (стр.2) (пост Дата: 25 июн 03, 00:08): Т.е только наличие всех 3-х "П" и сможет обеспечить разумно приемлимый (!!!) результат, а говорить об 100% успехе сложного проекта просто нелепо потому что участники проекта это люди, а не роботы. \r Собственно важно не то, что не возможно достичь 100%, а то, что при кустарно-творческом подходе эффективность работы, управляемость и следовательно вероятность успеха проекта будет еще ниже\r \r RUP - это всего лишь один из проверенных и обкатанных "алгоритмов". Не сомневаюсь, что существуют другие неплохие "алгоритмы". Вопрос надо ставить так, что лучше всего все же придерживаться некоего "алгоритма" при разработке, желательно проверенного, напр. RUP. \r \r Не все же, а лучше . Любая даже не очень эффективная и корректная методология/процесс разработки лучше, чем полное отсутствие таковых. Другое дело, что иногда у кого-то знаний или времени не хватает на внедрение методологии/процесса, кто-то боится новизны, а кому-то просто лень\r \r В основе проектов должны, в первую очередь, лежать ИДЕИ (я не беру достаточно стандартные проекты, колторые легко решаются на той же 1С, превращая спор о достоинствах С++ и Дельфи в пустопорожнюю болтовню), а алгоритм может разве что "подсказать" нам как не просрать хорошую идею. \r Я думаю, что два этих понятия (идея - реализация) паритетны. \r \r А что вы имеете в виду под "идеи" и под "лежать в первую очередь"?\r \r 2 Дмитрий Мыльников: \r ...В истории с 1C тоже нет ничего удивтиельного. Мне кажется, что Борис мог бы раскрутить любую более менее работающую программу для ведения бухгалтерии. То есть, вопрос раскрутки продукта и вопрос качества разработки и эффективности применяемых решений это совершенно разные вещи. \r \r Золотые слова... :о) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2003, 09:08 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
2 vdimas,Дмитрий Мыльников По хорошему надо бы различать коммерческую успешность проекта (которя ну никак не зависит от разработчика/аналитика и пр.) и успешность его технической реализации . 2 Репликант ...sloc используются для формальной (опять!) оценки объема/затрат на кодирование... Поинтересуюсь. Наиболее частый вопрос, которой передо мной вставал - это оценка трудоемкости (в днях) того или иного проекта (в условиях недостаточной информации о нем). Может быть, этот метод как-то поможет? - хотя сомневаюсь. ...Если программистам наплевать на требования и спецификации, то их Все так. Но такой подход требует очень полного описания всех требований и спецификаций - которые имеют свойство менятся в ходе проекта. Главное же, что в данном случае каждому было наплевать на весь проект целиком - "К пуговицам претензии есть? Нет, вот и хорошо..." Если имеется в виду именно основной процесс разработки софта, то какое здесь искусство при инженерном подходе Все взаимосвязано. На успех скорее даже технической реализации (не коммерческой!) проекта влияет и то, насколько заложенные в нем идеи отвечают истинным потребностям пользователей (привет аналитикам), насколько он масштабируем, гибок, прост в освоении (разработчики), насколько он надежен и устойчив (те же плюс кодеры) и каких ресурсов (времени) он потребовал (менеджеры). Свое фразой - что разработка проекта это искусство - я хотел сказать о том, что применение тех или иных методов, все равно не гарантирует успешность проекта (в целом). Равно как и неприменение этих методов не обещает обязательного провала. И примеров этому несть числа. В то время как, скажем в строительстве, использование сопромата позволяет довольно четко оценить устойчивость и прочность сооружения даже теоретически. Любая даже не очень эффективная и корректная методология/процесс разработки лучше, чем полное отсутствие таковых. Это безусловно. Но, может быть и потому, что изучение той или иной методологии позволяет приобрести некий опыт и лучше организовать самого себя (или окружающих). ... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2003, 11:39 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
2 funikovyuri Откуда: Саратов Сообщений: 1000 >2c127: нельзя делать никаких выводов на основе этой статьи - там фактически полный бред! Поздравляю с юбилеем. Я понимаю, что полный бред критиковать сложно, но может хоть какие-то соображения, почему же он такой полный. Мне например понравилось. Постановка эксперимента расписана, результаты приведены, даже стат анализ сделан. Т.е. формально вроде бы все правильно. Остается сама решаемая задача. Тут автор наверняка был сильно ограничен бюджетом, но даже при этом ему удалось ИМХО выбрать неплохой вариант: задача хоть небольшая, но довольно распространенная и все тестируемые языки в принципе подходят для ее решения. Но я не прочитал внимательно всю статью, может что-то и пропустил. >JAVA - это в общем-то тот же .Net - но только его раньше сделали. Не знаю чего он там тестировал, но то, что он ни черта не понимает это очевидно Джава - язык программирования, хоть и с претензией на большее, но не больше, .Net - технология (так утверждает мелкософт, я не эксперт). Их нельзя сравнивать. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.08.2003, 00:11 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
2 aag: \r По хорошему надо бы различать коммерческую успешность проекта (которя ну никак не зависит от разработчика/аналитика и пр.) и успешность его технической реализации. \r \r Так "Дмитрий Мыльников" и говорил об этом: То есть, вопрос раскрутки продукта и вопрос качества разработки и эффективности применяемых решений это совершенно разные вещи. .\r Что касается коммерческой успешности проекта, а точнее коммерческой успешности продукта , то она все-таки зависит (!!) от разработчиков (аналитиков-проектировщиков, программистов, тестеров) поскольку функциональность и качество продукта зависят от разработчиков. Но в целом абсолютно верно - хорошо продаваться может любое даже относительное Г. :о)\r \r Поинтересуюсь. Наиболее частый вопрос, которой передо мной вставал - это оценка трудоемкости (в днях) того или иного проекта (в условиях недостаточной информации о нем). Может быть, этот метод как-то поможет? - хотя сомневаюсь. \r \r А зачем это вообще нужно - оценка трудоемкости (временных затрат) будущего проекта? Это очень сложная задача и чтобы ее решать полноценно, т.е получать достаточно точный результат прогноза (при каких входах - время/ресурсы будет такой выход процесса) требуется условие - наличие процесса с известными и постоянными характеристиками. И это минимум. У вас есть эти условия? Если нет, то оценивать можно только эмпирически или на основе уэе имеющегося опыта по выполнению эквивалентных проектов. Хотя и так тоже можно получить достаточно точный прогноз. Но и он зачем нужен? Проще "оттяпать" себе срок с запасом и ничтяк (я все болше убеждаюсь, что этот способ не тольк имеет преимущества, но и надежнее). Правда известны случаи, когда люди себе запас брали 1 год и не укладывались - проекты 2-3 года, например, по автоматизации промышленного предприятия\r \r Все взаимосвязано. На успех скорее даже технической реализации (не коммерческой!) проекта влияет и то, насколько заложенные в нем идеи отвечают истинным потребностям пользователей (привет аналитикам), насколько он масштабируем, гибок, прост в освоении (разработчики), насколько он надежен и устойчив (те же плюс кодеры) и каких ресурсов (времени) он потребовал (менеджеры). \r \r Вопрос был где (нет, я знаю, что искусство не искоренить и где оно, но хочется услышать чужую т.з) искусство, если используется грамотный (инженерный) подход? Еще раз по пунктам при грамотном подходе:\r \r Если используется а) качественная методология анализа , б) аналитики\r профессиональны и добросовестны, то концептуальная модель ("идеи") будет\r обладать необходимой полнотой и точностью описания - будет качественной, т.е\r именно такая концепция системы будет удовлетворять требованиям пользователей.\r \r Если используется а) качественная методология проектирования ,\r б) проектировщики профессиональны и добросовестны, то модель проектирования \r будет качественной, т.е именно такая архитектура системы будет\r удовлетворять требованиям (производительность, надежность и т.д) пользователей.\r \r Если используется а) качественная методология программирования \r (здесь имеется в виду качественное использование средств языка, идиом,\r алгоритмов и т.д.), б) программисты профессиональны и добросовестны,\r то модель реализации будет качественной, т.е именно такая\r реализация системы будет удовлетворять требованиям пользователей.\r \r Если используется а) качественная методология тестирования, б) тестеры\r профессиональны и добросовестны, то .... и т.д.\r \r И где здесь остается место искусству? Только в менеджементе поскольку там присутствует работа с людьми\r \r Свое фразой - что разработка проекта это искусство - я хотел сказать о том, что применение тех или иных методов, все равно не гарантирует успешность проекта (в целом). ... \r \r То, что не гарантирует - это одно, а то, что присутствует искусство - это совсем другое. Это разные вещи! Так не гарантирует или искусство? Можно сесть доказывать теорему Ферма (малую!), используя теорию групп (т.е это не искусство), но с похмелья, т.е результат не гарантирован\r \r Это безусловно. Но, может быть и потому, что изучение той или иной методологии позволяет приобрести некий опыт и лучше организовать самого себя (или окружающих). \r \r Это и есть цель любой методологии - исключить искусство (творчество, эксперимент, догадку и т.д), а используя оптимальное знание "КАК НАДО" и главное понимание "ПОЧЕМУ НАДО ТАК" получать качественный и гарантированный результат. А своеобразная организованность или упорядоченность действий закономерно вытекает уже сама собой, что и позволяет не начинать каждый раз по новой\r \r 2 c127: \r Джава - язык программирования, хоть и с претензией на большее, но не больше, .Net - технология (так утверждает мелкософт, я не эксперт). Их нельзя сравнивать. \r \r Конечно нельзя хотя и то, и то - технологии и при этом языки программирования. Но можно сравнивать язык Java2 c языком С#, а объектно-компонентную технологию построения распределенных приложений J2EE надо сравнивать с технологией .Net ... |
|||
:
Нравится:
Не нравится:
|
|||
23.08.2003, 09:40 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
Кто же спорит, что если есть достаточные определенные требования или вполне определенные нужды ползователей, то нет места исскуству. Всего-то и делов требуется, что как можно добросовестнее выполнить свою работу на всех уровнях. (очень удачно подобранное Рапликантом слово) Позвольте поделиться грядущим моим проектом. Требуется разработать систему (программно-аппаратную) для возможности транслирования телепередач по цифровым кабельным каналам взамен существующих аналоговых. (В штатах подавляющее число людей пользуют кабельное телевидение). Еще было бы неплохо, по-максимуму использовать тот факт, что соединение будет цифровым, а на стороне клиента будет TV-приставка. (т.е. там будет как минимум 1 процессор!!!) Все. Именно такая постановка. Границ для фантазии нет. Концепция и реализация полностью в нашем ведении. (На текущий момент, та модель системы, что мы спроектировали уже поражает воображение заказчиков) Все это уже есть, как отдельные продукты, но нужна все же единая СИСТЕМА. Да и цены нереальные для повсеместного внедрения. На стороне клиента должна стоять TV-приставка стоимостью гораздо меньше $100, чтобы это вообще имело смысл. Быстродействие и цена современных ЦП вполне позволяет это сделать. К тому же, повторю, необходимо разработать именно СИСТЕМУ предоставления цифровых услуг, причем трансляция непосредственно TV - лишь одна из функциональностей, наряду с WEB, почтой, IM, прокатом видеоигр и других программ так же как прокатом медиа-контента и т.д. (интересное положение вещей :) ). Это все не оффтоп. Центром системы будут мультимедийные базы данных (наряду с обычными учетными - кабельное TV платное :) ), хотя именно это - самая примитивная часть предстоящей разработки. В проекте участвует 2 чел, у которых за плечами опыт разработки вдвоем не уступающих по сложности проектов. Несмотря на все мое уважение к Репликанту, именно в нашем случае никак невозможно полностью реализовать предложенный алгоритм (имеем 2 чел на ВСЕ!). Почему не взять больше людей? А опыт подсказывает, что в подобных проектах (близких по духу к исследовательским) количество людей мало что решает, решает их качество. :) Опять же. Где взять стадо аналитиков и проектировщиков на подобный проект, охватывающий приличную область знаний? Проект охватывает следующие предметные области: 1. сжатие и кодирование информации. 2. цифровая обработка изображения и звука. 3. операционные системы реального времени. 4. распределенная сетевая инфраструктура, критичная к времени отклика. 5. защита информации. 6. учет и анализ (тот самый учет и тот самый анализ) 7. проектирование аппаратной части (причем там тоже полно подразделов - "узкие" специалисты цифровики или аналогивики или высокочастотники просто не поймут друг друга) 8. проектирование функционального GUI, подходящего для отображения на бытовом TV (я не ошибусь, если скажу, что спецов по последнему пункту просто нет! пока это все только лишь набирает обороты и эти спецы только учаться) В одном из предыдущих проектов было задействовано приличное количество людей разной спецификации. Этот проект еле двигался, пока практически совсем не заглох. И только когда 2 чел, изучили в полной мере смежные области, они вдвоем сделали то, что не могли 15 (среди которых были даже доценты, специализирующиеся на предметной области проекта), и причем очень быстро. Так что, бывают ситуации, когда слишком хорошее разделение "труда" (в нашей IT области я бы назвал это разделением "знаний"), так вот в некоторых ситуациях черезчур глубокая специализация означает провал, особенно тогда, когда проект лежит на стыке множества технологий. А так как знать ВСЕ одонозначно НЕВОЗМОЖНО, то работа в таком ключе и есть то самое исскуство, потому как такие понятия как "чутье", "творчество", "вдохновение" преобретают вполне осмысленное и серьезное значение. -------------- Да, я не не пользую UML так ширококо как Репликант, это однозначно. У меня просто нет на это достаточно времени (хотя, может оно и появилось бы :) ). UML я использую лишь для проектирования статической структуры классов и схемы БД (как электронщик не в состоянии работать без принципиальной/функциональной схемы, так же невозможно писать программы без схемы классов и БД. ) Если Репликант сможет предложить алгоритм работы и используемые средства именно для данного случая, это было бы действительно интересно. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.08.2003, 20:39 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
c127>Джава - язык программирования, хоть и с претензией на большее, но не больше, .Net - технология (так утверждает мелкософт, я не эксперт). Их нельзя сравнивать. Репликант>Конечно нельзя хотя и то, и то - технологии и при этом языки программирования. Может быть JAVA с большой натяжкой и технология, но вот .Net точно не язык программирования. Интересно было бы посмотреть на BNF такого языка. vdimas> проектирование функционального GUI, подходящего для отображения на бытовом TV (я не ошибусь, если скажу, что спецов по последнему пункту просто нет!...) Конечно же ошибешься. Не преувеличивай, есть системы, успешно работают, есть и спецы, которые их строили. Да и нету в GUI для телевизора никаких особых отличий от обычного интерфейса, те же принципы. А если еще вспомнить старые однооконные пользовательские интерфейсы, например досовские, так вообще один в один. А еще можно вспомнить Palm или пользовательские интерфейсы современных мобильников. Как там с вопросом по сравнению языков, будет ответ? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2003, 04:38 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
2vdimas: И ВСЕ ЭТО НА ДВОИХ ? Интересно, каковы прогнозы сроков выполнения ? Есть у меня большие сомнения в реальности успешного окончания данного проекта... Если, конечно, нет уже наработок, покрывающих 2/3 задачи. Через полгодика спросим о результатах :-) >В одном из предыдущих проектов было задействовано приличное количество людей разной спецификации. Этот проект еле двигался, пока практически совсем не заглох. И только когда 2 чел, изучили в полной мере смежные области, они вдвоем сделали то, что не могли 15 (среди которых были даже доценты, специализирующиеся на предметной области проекта), и причем очень быстро. А вот это говорит только об отсутствии среди 15 человек хотя бы одного нормального менеджера :-( Так что не стоит утверждать, что маленькая группа всегда лучше, чем большая. Вот у меня, например, сейчас большая проблема: для соблюдения сроков проекта надо бы взять еще человека-двух, задачи для них отдельные есть, но... бюджет не позволяет. Вот и.. делают двое то, что должны четверо делать. И сроки... сответственно... ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2003, 10:43 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
2 c127 если тебе нужно мое мнение по той ссылке, где сравнивают языки- был там только что. Впечатления (беру С, C++, Java, скриптовые языки не беру, т.к. обработка строк - это одно, а полноценные приложения - несколько иное). Удивительно большой разброс результатов по С, С++, Java. Это говорит о том, что многие не умеют толком пользоваться этими языками, так что в следующих пунктах я буду сравнивать лучшие показатели для этих языков. Рис. 1. Время работы программы с набором данных z1000 Оработка строк - самый больной вопрос для С++. (это правда) Мне приходилось писать свои классы для строк взамен std::string, CString и пр. Но в большинстве случаев я пользуюсь обычными строковыми функциями доставшимися еще от С (см результат по С). Объяснение этому простое перечисленные классы практически всегда создают копии строк, что, во-первых, требует время на копирование, во-вторых, требует время на выделение памяти под строки в куче(!!!), т.е. время на создание строки - это по-сути время на выделение динамического куска памяти. Опытные С++ программисты переопределяют оператор new для своих классов строк, таким образом, чтобы "отхватывать" у операционной системы память редко большими кусками, и уже в этих "кусках" распределять память. Получается на порядок быстрее (гораздо быстрее даже, чем в С). Однозначно, в этом примере никто так не делал, поэтому С - на самом первом месте (повторю, учитываю лучшие показатели). Рис. 2. Время, затраченное программой только на загрузку и предварительную обработку словаря (набор данных z0). Рис. 3. Время, затраченное программой только на поиск, вычисленное как разность между временем работы с набором данных z1000 и набором данных z0 Лучшие показатели трудно сравнить из-за масштаба графика. Однако результат понятен и так. ФУНКЦИИ РАБОТЫ СО СТРОКАМИ ЗАПРОГРАММИТОВАНЫ В JAVA НА С!!! (так же как и в скриптовых языках) Это надо знать. Таким образом, я не удивлюсь, если при смене масштаба графика мы обнаружим примерно одинаковое быстродействие у лучших результатов Java, С, С++. Задача выбрана крайне неудачно. Я бы для тестирования взял более общие алгоритмы - скажем синтаксического анализа. Общие в том смысле, что используют более-менее одинаково все конструкции языка. (где наряду с частым использованием "встроенных" функций языка, типа работы со строками в Java, широко использовались бы и обычные вычисления, условные операторы и мгочисленные вложенные циклы). Это больше соответствовало бы реалиям современных программ. Рис. 4. Объем памяти, необходимый программе, в том числе для размещения интерпретатора или исполняющей системы, собственно программы и всех статических и динамических структур данных. Без комментариев. (опять же - смотри лучшие результаты) Рис. 5. Длина программы: число строк исходного текста без комментариев. Очень близкие показатели для всех интересующих языков. (и абсолютно одинаковое среднее число строк) Рис. 6. Полное время, затраченное на реализацию программы Полностью развеяло миф, что писать на Java гораздо быстрее. Рис. 7. Число строк исходного текста, написанных за полный рабочий час И лучшие и средние показатели подтверждают пред. пункт. Выводы - крайне глупое тестирование оторванное от реалий современного програмирования. Приведенные пример разве что дает представление о сопоставимости скриптовых языков и "обычных", но никак не позволяет сравнивать "обычные" языки между собой. Это и не удивительно, ведь выбранная задача была изначально "по зубам" скриптовым языкам. Если речь пойдет именно о сравнительном тестировании C, C++, Java - давайте вместе придумаем такую более-менее равную задачу для всех этих языков. Скажем, расчет матриц и операции с комплексными числами выполняется на С и С++ на порядок быстрее, и занимают меньше строк чем в Java (из-за переопределения арифментических операторов в С++), но это тоже весьма специфичная задача (именно этот случай тестировался год назад ради интереса). ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2003, 21:21 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
2 Mik Prokoshin И ВСЕ ЭТО НА ДВОИХ ? Интересно, каковы прогнозы сроков выполнения ? Есть у меня большие сомнения в реальности успешного окончания данного проекта... Если, конечно, нет уже наработок, покрывающих 2/3 задачи. Все не так страшно на самом деле, как звучит. :)) 1. сжатие и кодирование информации. 2. цифровая обработка изображения и звука. Тонна в сети open-source проектов. С некоторыми ознакомился и удачно поэкспериментировал - дык это было раньше из интереса, а если копнуть по надобности... :) 3. операционные системы реального времени. Начиная от ucLinux и NetBSD, заканчивая RTOS и прочей ерундой. NetBSD уже когда-то "курочил", на предмет минимизации раз в 5 (нужна была сильно урезанная версия). Если имеем точно заданное число и тип сетевых интерфейсов, то там половина сетевой инфраструктуры просто выкидывается, все упрощается и быстрее работает. 4. распределенная сетевая инфраструктура, критичная к времени отклика. Тут придется проектировать инфраструктуру. Но задачки подобного типа мы вроде рещали на 4-м курсе института. :) И материала в сети - тонна!!! 5. защита информации. Опять же все это есть. 6. учет и анализ (тот самый учет и тот самый анализ) Последние годы именно этим и занимались. :) 7. проектирование аппаратной части (причем там тоже полно подразделов - "узкие" специалисты цифровики или аналогивики или высокочастотники просто не поймут друг друга) Как раз это и есть наш "конек" с моим товарищем. Мы неоднократно делали весьма специфичные программно-аппаратные решения. Он - радиочастотник, СВЧ, аналоговик, цифровик. Я - чуть-чуть аналоговик, цифровик, системщик, прикладник. Че еще надо? :) Посмотри, ради интереса, современные контроллеры, типа Alchemy. Разработать современный компьютер сможет даже ребенок! (8 лет назад это было исскуством :) ) 8. проектирование функционального GUI, подходящего для отображения на бытовом TV (я не ошибусь, если скажу, что спецов по последнему пункту просто нет! пока это все только лишь набирает обороты и эти спецы только учаться) c127 Конечно же ошибешься. Не преувеличивай, есть системы, успешно работают, есть и спецы, которые их строили. Да и нету в GUI для телевизора никаких особых отличий от обычного интерфейса, те же принципы. Буду очень признателен, если эти спецы свяжуться со мной через e-mail. Скажу одно, интерфейс в стиле а-ля Windows или Windows CE, Palm сразу отметается. Я примерно знаю, что нам нужно, видел в сети несколько скриншотов. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2003, 21:47 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
vdimas> Буду очень признателен, если эти спецы свяжуться со мной через e-mail. Скажу одно, интерфейс в стиле а-ля Windows или Windows CE, Palm сразу отметается. Я примерно знаю, что нам нужно, видел в сети несколько скриншотов. А что мне за это будет? Наверное можно организовать, но в данный момент я их лично не знаю. Знаю, что они есть, поскольку имею иногда счастье наблюдать результаты их труда в телевизоре. Могу поискать. vdimas> если тебе нужно мое мнение по той ссылке, где сравнивают языки- был там только что. Гораздо больше меня интересует, откуда взялось утверждение: "только такой язык (С++) позволил решить эту задачу весьма элегантно и смешным количеством строк". О нем и была речь. По моему личному впечатлению в реальных (теория не обсуждается) проектах C++ не дает экономии труда программиста в сравнении с C, но у меня нет обоснования. Статья была приведена просто как пример сравнительного исследования, а не как доказательство чего-то. Если у тебя есть другие примеры - было бы интересно посмотреть. Задача же для тестирования выбиралась так, чтоб во-первых быть достаточно распространенной, а во-вторых чтоб любой из тестируемых языков потенциально подходил для ее решения. Об этом в стстье говорится явно. Если бы предложили писать драйвер монитора, то было бы не интересно. Конечно хотелось бы посмотреть на результаты на более крупной задаче, особенно в плане C против C++, но такой тест требует вложения больших денег, а тут справились силами студентов старших курсов и добровольцев. А что касается джавы, так я о ней и сам невысокого мнения. Совершенно идиотский и бесполезный язык. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2003, 00:43 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
Действительно 1000 постов :) ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2003, 08:58 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
2 c127 По моему личному впечатлению в реальных (теория не обсуждается) проектах C++ не дает экономии труда программиста в сравнении с C, но у меня нет обоснования. Все ясно, я доказывал не то и не тому! :) C - моя первая "любовь", но надо признать факт - С++ на порядок мощнее. Всякое наследование, в т.ч. множественное, операторы приведения типов и еще 1000 "фишек" позволяют решить массу проблем "одним движением пера". Разумеется, все что программируемо на С++, можно сделать один-в-один на С, путем эмуляции ООП, дублирования шаблонов и принудительного приведения типов. Но при этом придется изрядно попотеть и "ручками" написать приличное количество эмулируемого кода. Да и с безопасностью типов в С не все так просто - без проблем можно присваивать указатели разных типов - легко ошибиться. В С++ произвольные присваивания невозможны, т.к. зачастую, даже во время "разрешенного" присваивания происходит коррекция значения указателей (из-за того же множественного наследования). В общем еще 1000 причин. (повторяюсь) Приглашаю на мыло, кину в ответ, если любопытно, небольшой примерчик. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2003, 10:09 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
2 aag Забыл ответить на один интересный вопрос: Лично мне немного непонятно, почему говоря о бизнес-приложениях, вы все время переключаетесь на потоковые библиотеки, протоколы и пр. чисто технические, системные вещи. Ибо для бизнес-приложений, по-моему, смехотворно утверждать, что "только на с++" (или только на Delphi, или ...). Правда твоя, со стороны это может показаться странным. Однако, у меня на счету уже 3 бизнес-проекта. И если сравнивать потраченную трудоемкость на разработку архитектуры и схемы БД с собственно трудоемкостью реализации (проектирование и кодирование частей системы), то про первое даже и не вспоминается. Обладая знаниями о предметной области (а получилось так, что обладал весьма нехило - одно время 3 года работал менеджером в торговой компании, по совместительству разрабатывал и поддерживал их ПО), так вот, владея предметной областью, можно наваять схему БД из сотен таблиц влет, не задумываясь. И гораздо качественнее любого аналитика, т.к. вряд ли он успеет за 1-2 месяца анализа так же глубоко вникнуть в суть. А я на своих программах РАБОТАЛ сам, а более придирчивого пользователя еще поискать. Да и тонкие моменты подобных систем знакомы не по-наслышке. Не в архитектуре гвоздь, (хорошая архитектура должна быть как нечто само-собой разумеющееся), гвоздь порой в очень мелких деталях, типа сбалансированного кэширования и синхронизации. Эти вещи могут влиять на эффективность системы гораздо сильнее выбранной структуры справочников или документов (понятий конкретной бизнес-системы). Повторюсь, не вопрос что-то там "спроектировать" отвечающее требованиям заказчиков, вопос в том, чтобы написать действительно эффективное (а для наших реалий еще и гибкое) ПО. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2003, 12:51 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
Да нет, гвоздь все-таки в архитектуре. Если фундамент кривой, то потом придется поизвращаться, придумывая решения, необходимость в которых возникла исключительно из-за кривизны архитектуры. И наваять схему БД из сотен таблиц влет можно только НЕ владея предметной областью. Или не представляя, что такое таблица и каких усилий стоит ее спроектировать, ввинтить в существующую схему БД и связать с клиентом. Причем связать так, что бы связка эта работала не только у автора-разработчика, но и любого пользователя. Ведь программист, как правило, работает со своей программой по логике, а конечный пользователь по парадоксу. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2003, 17:49 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
2 lexB У меня складывается такое впечатление, что разработка архитектуры для многих является прямо-таки камнем преткновения. Я уверен, что бизнес-проекты для большинства нужд - торговля, налоговый и аналитический учет, отчетность/аналитика, кадры, ЗП, материалы, склады и т.д. и т.п. в принципе ДОЛЖНЫ быть однотипны (ну, или поделены на группы по требуемой пропускной способности/масштабируемости) В чем, собственно, загвоздка? Спросите - поможем :) Написать влет схему БД можно не только потому, что имеешь представление о НФ (кстати, не видел ни одного реального решения без избыточности - эффективность диктует свои правила), а потому что работал именно в этой области некоторое немалое время. И потому что тысячекратно в голове, бумаге или в работающем ПО "прокручивал" всевозможные решения (опять же, по причине того, что не всегда ПРАВИЛЬНО разработанная схема работает с должной эффективностью). Есть ли у кого-нибудь пример разработки более 3-х бизнес-систем таких, что абсолютно никаких похожих(подобных) моментов в этих системах не было? Интересно послушать... А то сидим тут все, изобретаем - десятитысячный велосипед, да еще умудряемся себя пяткой в грудь постукивать от важности. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2003, 19:00 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
2 Репликант --Мда-а.. 40 мег на С++ - этот объем заслуживает уважения. Интересно, а как они в своем проекте ориентировались и развивали в плане требований или архитектуры? у нас 10000 проданных клиенских установок почти во всех странах мира. проект возник как интерфейс для сертифицированных алгоритмов расчета и написан на pascal для dos в 1989 затем переписан на С++ с графической библиотекой Zinc затем переведен для windows 3.1, затем win95/nt используются и другие языки (Fortran, Pascal, Perl) но их доля меньше 1% -Интересно, а как они в своем проекте ориентировались и развивали в плане требований или архитектуры? новые требования росли по мере развития техники и задач от клиентов. скажим моделирование 3D участка земли с размерностью матрицы 10000x10000x10000 узлов стало реальным только 4 года назад. потом поддержка многопроцессорных машин, написание 3Dview-ра. моделирование многокомпонентых химическиских транспортов, поддержка стереокарт и т.д. и т.п. сейчас пришли к тому что в момент подготвке к 4-версии начали работу над проектированием пятой. --Дмитрий Мыльников -- Vdimas, а почему на C++? Я в своё время попробовав и то, и другое остановился на Delphi. Может код получается и чуть-чуть побольше, зато отлаживать и поддерживать проект проще. Object Pascal язык более строгий, чем C++ и многие ловит ошибки, которые тем же C++ будут пропущены (в следствии особенностей инвариантного синтакиса). Мы пишем на Borland Builder. Delphi - пара проектов было. применение использование STL/XML по сравнению в Delphi в двое! сократило время разработки на проекте аналогичной сложности. И не забываем на текущий момент ведущие софтверные компании (MS, Oracle, Adobe, Corel, ..) пишут на С++ и это не ошибка дилетантов. Практически весь установленный у вас на компе софт написан на С++. И серьезной альтернативы нет. java/vb/C# -это только маркетинговые потуги. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2003, 22:59 |
|
Есть ли у кого статистика скоко уходит времени на разработку "больших"
|
|||
---|---|---|---|
#18+
2 vdimas: Еще было бы неплохо, по-максимуму использовать тот факт, что соединение будет цифровым, а на стороне клиента будет TV-приставка. (т.е. там будет как минимум 1 процессор!!!) Все. Именно такая постановка. ... И что? Еще раз: где здесь именно необходимо искусство? Если вы беретесь в первый или второй раз, то - да, для вас в этом проекте будет много нового и интересного, т.е сплошное творчество, эксперимент и искусство. это понятно. Но вы все-таки путаете необходимость и непрофессионализм заказчика, заключающийся в позволении заниматься вам искусством. Тендер-то он ведь небось не проводил или ваше решение стоит меньше 10 тыс.$$? Вы хотите сказать, что область, к-рой вы занимаетесь новая или передовая? Отнюдь! Это точно. Возможно ваше решение будет значительно дешевле и при этом будет удовлетворять заказчика. Может быть. Но сначала немного истории. Ground matters так сказать немного в тему. А заодно прихвастануть разнообразным опытом (потому что вы поймете о чем речь). В период 1997-1999 гг. я занимался проектами, посвященными IP-телефонии (IPT, VoIP и прочии технологии). Тогда в России и даже в Москве все это было в новинку. Сначала внедряли не очень дорогие решения (10-30 тыс.$$) на VocalTec TG версий 2.х/3.х, а потом пошли наши разработки - не хуже и дешевле, потом Cisco 2600/3600 начали выдавать под длительный кредит и цены на те же Cisco или VTG 3 упали так, что многие руководители предприятий просто ох..вали как здорово теперь можно экономить на междугородном/международном телефонном трафике пока ММТ нес убытки. И что? Кулибины и первопроходцы (т.е мы) стали не нужны. Сейчас этот рынок IPT-решений в Москве поделен несколькими компаниями и мелким командам там просто делать нечего, если только заказчик не в танке . Может вам не стоит изобретать велосипед, а исследовать рынок подобных решений более досконально? Вот к примеру: в 1997-1999гг у нас основной проблемой, помнится, была большая задержка (>500 ms) на международных и спутниковых каналах, к к-рой IP-телефония очень чувствительна даже несмотря на все ее специальные механизмы. Как мы с ней только не боролись - туннелирование, выделенные порты и таблицы маршрутизации у провайдера, смена провайдера, использование сверхмощных аппаратных кодеков на локальных шлюзах и т.д. и т.п. Сейчас такой проблемы просто нет - качество каналов очень высокое, а цены низкие на те же допуслуги (туннели и тп.). Любая контора, использующая междугородние/международные переговоры, если там не дураки сидят, сейчас использует решения IP-телефонии. Это, конечно, может не к месту и лирика, НО учтите, что имеется развитие рынка этих решений, за к-рым необходимо следить и заказчик тоже может следить. Так что это не рынок заказных ИС/ПО, к-рый еще очень не скоро насытится. Дальше больше - решили заняться видеоконференцсвязью и IPTV. Там уже были другие проблемы - требовательность к полосе пропускания (минимум 128 кбит/с) для приемлимого качества. Однако, дело было в 1999гг и такие каналы даже в Москве стоили где-то по-мойму 300-400$ в месяц. Рынок тогда пестрил предложениями различных мощных программно-аппаратных кодеков, тот же MPEG4 и LBRV-кодеки уже набирали обороты, т.е по сравнению с ними MPEG1 и MPEG2 были просто прожорливым дерьмом. Заплатив за плату с таким крутым кодеком (10-20 тыс.$$) можно было передавать видео чутьли не в формате QCIF (20-30 fps) или даже DQCIF (5-10 fps) через канал в 64 кбит/с при цвете RGB 3:2:2 или что-то там такое, т.е достаточно приличная цветопередача. Естественно все заказчики охали и не собирались выкладывать такие "огромные " бабки, хотя мы им всем (ламерам таким) показывали все официальные цены и подробные рассчеты (ТЭО)., что эти средства окупятся уже буквально через год. Поняв, что стену не прошибить начали искать российских Кулибиных и Самоделкиных. Да, нашли и много! Каких только нам кодеков не предлагали. От одного научно-институтского варианта я помню у меня варежка отвалилась даже - что-то типа QCIF (25 fps) через 16 кбит/с! Но проект тот был в стадии разработки и уже лет 5. И остальные проекты также были сомнительны в смысле гарантий завершения - одно дело иметь крутой алгоритм, идеи и т.д, а совсем другое - иметь готовое решение , к-рое установил и смотри. К чему я тут это, разблотался-то? Вот: странно, что вы вроде решаете не простую, но и не новую п роблему, а пытаетесь решить коллективом из 2 человек. Каковы условия проекта? Вы исследовали рынок подобных решений? Т.е прежде чем браться, поискали бы (за счет заказчика) на Западе и по России, авось есть Кулибины, к-рые все это уже сделали и очень неплохо. Исходить надо прежде всего из рациональности затеи. Так же не плохо заручиться поддержкой и гарантией заказчика, чтобы завтра не оказаться у разбитого корыта, когда он найдет более лучшее или дешевое решение на стороне. Мне это желание хорошо знакомо, когда все хочется самому - "покорить Эльбрус" в 1001-й раз. От этого желания надо избавляться. Темы эта очень и очень не нова - DCTV, MMTV и прочие конвергентные IP-технологии. Что вы думаете по этому поводу? ... Границ для фантазии нет. Концепция и реализация полностью в нашем ведении. Эта фраза подозрительна сама по себе. Вы еще выполняли роль и маркетолога(ов) для заказчика? Поскольку делаются какие-то предварительные выводы о потребностях будущих пользователей - "Концепция ... полностью в нашем ведении" или имелось в виду что-то другое? Все это уже есть, как отдельные продукты, но нужна все же единая СИСТЕМА. Да и цены нереальные для повсеместного внедрения. На стороне клиента должна стоять TV-приставка стоимостью гораздо меньше $100, чтобы это вообще имело смысл. Вот-вот и у нас те же проблемы были. Это сегодня нереальные? Может быть, если вы рынок исследовали. А через полгода? Есть хоть какие-то грубые прогнозы или вы абсолютно уверены, что уже закончите проект в срок В проекте участвует 2 чел, у которых за плечами опыт разработки вдвоем не уступающих по сложности проектов. Несмотря на все мое уважение к Репликанту, именно в нашем случае никак невозможно полностью реализовать предложенный алгоритм (имеем 2 чел на ВСЕ!). .... UML я использую лишь для проектирования статической структуры классов и схемы БД (как электронщик не в состоянии работать без принципиальной/функциональной схемы, так же невозможно писать программы без схемы классов и БД. ) Если вы имеете в виду "алгоритм" (пункты или стадии анализ...тестирование в посте Дата: вчера, 09:40), то дело не в людях, а в ролях . Я также имею опыть работы в проекте из 2-х человек, где я был аналитиком-проектировщиком и программистом в одном лице. Более того у меня был проект из меня одного (бизнес-аналитик и РБП), ну и еще секретаря для работы с документами. Все. IMO у вас же в корне неправильный или какой-то однобокий подход в проектировании - вы получаете и используете только статическую модель архитектуры. Чтобы понять ЧТО делает ваша система необходимо читать варианты использования, а чтобы понять КАК она это делает - читать исходные тексты на С++ Вы также как-то неявно приравниваете по сути функциональные модели/схемы или потоков данных (DFD) к статическими моделями данных/классов. Эти модели необходимо дополняют друг друга, составляя,кстати, основу структурной методологии SAD Почему не взять больше людей? А опыт подсказывает, что в подобных проектах (близких по духу к исследовательским) количество людей мало что решает, решает их качество. :) Опыт не является новым знанием. Если у вас сроки не ограничены жестко, нет необходимости в поддержке системы (закодировал, отдал и все) и если у вас доверительные отношения с заказчиком, т.е он не станет с вас спрашивать доказательства состоятельности вашей архитектуры, то почему бы и не вдвоем? В одном из предыдущих проектов было задействовано приличное количество людей разной спецификации. Этот проект еле двигался, пока практически совсем не заглох. И только когда 2 чел, изучили в полной мере смежные области, они вдвоем сделали то, что не могли 15 (среди которых были даже доценты, специализирующиеся на предметной области проекта), и причем очень быстро. Вы вот неявно сетуете на ИТ-науку. А она ведь не может быть неправильной, т.к ее выводы/результаты доказаны и апробированны множеством проектов. Извините, но IMHO в вас говорит отсутствие определенного образования. Можно предположить, что вам не хватает знаний в области инженерии ПО и ИТ-менеджмента. Так зачем пытаться судить? Подобные суждения чем-то напоминают высказывания типа "MSF круче всех" или "Windows - ацтой". Пожалуйста, не уподобляйтесь. Ваш проект мог провалиться из-за десятка причин. Я сразу могу предположить две - неумелое руководство и организация проекта или вообще их полное отсутствие и непрофессионализм нек-рых участников :о( .. Так что, бывают ситуации, когда слишком хорошее разделение "труда" (в нашей IT области я бы назвал это разделением "знаний"), так вот в некоторых ситуациях черезчур глубокая специализация означает провал, особенно тогда, когда проект лежит на стыке множества технологий. А так как знать ВСЕ одонозначно НЕВОЗМОЖНО, то работа в таком ключе и есть то самое исскуство, потому как такие понятия как "чутье", "творчество", "вдохновение" преобретают вполне осмысленное и серьезное значение. Здесь я вам ничего не могу сказать, кроме того, что уже говорил раньше. Я согласен с вами и уже говорил выше, что там, где есть новое и не исследованное , то там есть доля искусства и тем более место для интуиции. Мне сложно судить на сколько сложно было бы использовать промышленный подход именно в вашем проекте поскольку я просто не знаю всех условий проекта, конъюнктуру рынка аналогичных решений, предложения рынка труда и т.д и т.д. Если доказывать, то надо разбираться, а "на пальцах" можно только объяснять что в общем лучше и лучше, чем что Проект охватывает следующие предметные области: 1. сжатие и кодирование информации. 2. цифровая обработка изображения и звука. 3. операционные системы реального времени. 4. распределенная сетевая инфраструктура, критичная к времени отклика. 5. защита информации. 6. учет и анализ (тот самый учет и тот самый анализ) 7. проектирование аппаратной части (причем там тоже полно подразделов - "узкие" специалисты цифровики или аналогивики или высокочастотники просто не поймут друг друга) 8. проектирование функционального GUI, подходящего для отображения на бытовом TV (я не ошибусь, если скажу, что спецов по последнему пункту просто нет! пока это все только лишь набирает обороты и эти спецы только учаться) Позволю себе предположить, что 1 и 2 - это задача для одного спеца. 3 и 4 - тоже для одного. 5, 6 и пожалуй 8 - это общие задачи и тоже для одного. 7 - только для одного. Почему? Потому что я могу судить по своим хорошим знакомым, к-рые работают в одной московской конторе, к-рая занимается цифро-аналоговыми устройствами. Правда, их основнй профиль - это цифровые устройства на базе процессоров Atmel, Risc-процессоров Intel, Hitachi, смарткарты, флэшнакопители высокой емкости, заказные сети на базе RS-422, FireWire и т.п. (Иногда за пивом они мне "лекции" читают что там и как у них в жтой области творится.) Также следует учитывать, что, как правило, мало специалистов только по аналоговым или только по цифровыми сигналам и их обработке. Таковыми являются достаточно узкие специалисты, например, по hi-end звукотехнике (колонки/динамики) или спутниковому ТВ (декодеры). Просто, кажется, дажев ВУЗах обучают и тому (A,D), и тому (D/A,A/D). Вроде обычное деление, например, такое: A/D,D/A и только ТВ-приемники, A/D,D/A и только радиосвязь, A/D,D/A и только студийное обородуование или мультимедиа системы. И по-мойму у них у всех очень много смежных или общих знаний. Может я не прав? ... Если Репликант сможет предложить алгоритм работы и используемые средства именно для данного случая, это было бы действительно интересно. Алгоритм тот же самый! Ваши пункты 1-8 меня просто "слегка" смущают. Возхможны 2 выбора: либо большая команда узких с пециалистов, либо маленькая команда универсалов . Но алгоритм тот же самый потому что он определяет грамотный (инженерный) подход . Совсем другое дело условия проекта. Если бы у вас был срок 3 мес, то в двоем вы бы не справились (скорее всего) поэтоу выбор - большая команда. Если срок 1 год, то можно справиться и вдовем, да еще при этом денег заработать больше. Также и насчет бюджета проекта. Маленький бюджет можно компенсировать уменьшением числа участников и растягиванем проекта во времени. Вот и весь "алгоритм" :о) У меня складывается такое впечатление, что разработка архитектуры для многих является прямо-таки камнем преткновения. Я уверен, что бизнес-проекты для большинства нужд - торговля, ... и т.д. и т.п. в принципе ДОЛЖНЫ быть однотипны (ну, или поделены на группы по требуемой ропускной способности/масштабируемости) А что значит "однотипны"? Даже концептуальная модель системы для одной и той же области ФХД (например, бухучет) и компаний одного организационного и целевого типа (например, ООО, в одном городе, торговля ТНП, штат 50 чел) может принципиально отличаться, например, из-за наличия той же двойной и тройной бухгалтерии. Это соответственно сказывается на архитектуре, т.е просто статической/динамической модели проектирования , когда вообще никакой речи о пропускной способности/масштабируемости и не идет. Что же касается "камня преткновения", то не понятно, что имеется в виду. Но таких камней не должно быть, а главное они не должны создаваться не только для архитектуры, но также и для программных алгоритмов, GUI и т.д Есть ли у кого-нибудь пример разработки более 3-х бизнес-систем таких, что абсолютно никаких похожих(подобных) моментов в этих системах не было? Ваш вопрос по сути тривиален поскольку таких программных систем, не содержащих моментов, похожих/подобных моментам в др.системах не существует не то, что в одной конторе, а даже в мире. Даже промышленные, военные, научные, RT и прочие специфические системы имеют очень много общего - десятки похожих архитектурных моментов, если не сотни. Что касается систем для автоматизации ФХД, то там вообще похожих моментов еще больше и проще перечислить, что у них непохожего :о} ... |
|||
:
Нравится:
Не нравится:
|
|||
26.08.2003, 00:07 |
|
|
start [/forum/topic.php?fid=32&msg=32246887&tid=1546852]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
191ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
63ms |
get tp. blocked users: |
1ms |
others: | 242ms |
total: | 542ms |
0 / 0 |