powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Подходы к проектированию системы...
5 сообщений из 30, страница 2 из 2
Подходы к проектированию системы...
    #32575153
Mik Prokoshin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Репликант2 Mik Prokoshin:
Насчет XP - как раз ситуация с точностью до наоборот ! Он ориентирован именно на динамически развивающиеся проекты. Его можно использовать и при полностью определенном ТЗ, применяя только к кодированию, но более ощутима выгода именно тогда, когда начиная проект, можешь только догадываться - что тебя ждет впереди.

Откуда такая информация/мнение? XP в отличие от формального RUP работает без всяких спецификаций требований (видение, UCS, SRS и т.п) или в условиях когда требования не определены, т.к в XP: а) постоянно присутствующий заказчик-пользователь (on-site customer), б) быстрое прототипирование и дизайн (если использовать терминологию RUP)

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

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

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

А как связаны объем рефакторинга и ТЗ? При наличии ТЗ (т.е это требования, например, функциональные, а не архитектура) рефакторинг также может применяться. Вопрос в объеме рефакторинга, т.е в XP он является важнейшей деятельностью, улучшающей качество архитектуры и кода. В RUP он также может использоваться, но в RUP есть проектировщик и модель архитектуры , к-рую по идее проще улучшать в CASE-средстве, чем рефакторить (с тестированием); программист в RUP тем более может рефакторить код по своему усмотрению, а также влиять на архитектуру, но в гораздо меньшей степени, чем в XP

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

"требование реализовывать минимально необходимый функционал" - что именно имеется в виду?

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

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

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

Действительно, если термин нельзя определить, то лучше его не обсуждать, т.к обсуждать просто нечего :o) А что плохого в "заплатках", если они выполнены грамотно, т.е не разрушают архитектурную целостность, качество и т.п?
...
Рейтинг: 0 / 0
Подходы к проектированию системы...
    #32578528
Mik Prokoshin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Репликант Основные идеи, которые меня заставляют так думать - это рефакторинг ..

А как связаны объем рефакторинга и ТЗ? При наличии ТЗ (т.е это требования, например, функциональные, а не архитектура) рефакторинг также может применяться. Вопрос в объеме рефакторинга, т.е в XP он является важнейшей деятельностью, улучшающей качество архитектуры и кода. В RUP он также может использоваться, но в RUP есть проектировщик и модель архитектуры , к-рую по идее проще улучшать в CASE-средстве, чем рефакторить (с тестированием); программист в RUP тем более может рефакторить код по своему усмотрению, а также влиять на архитектуру, но в гораздо меньшей степени, чем в XP
Как связаны - было рассказано в след. абзацах. Модель архитектуры Вы в CASE средстве измените, но разница может cказаться в объеме изменений. Рефакторенные код/архитектура есть наиболее гибкие/легко изменяемые, как показывает мне мой опыт.

Репликант .. и требование реализовывать минимально необходимый функционал (хотя никто не мешает использовать эти практики при других процессах).
"требование реализовывать минимально необходимый функционал" - что именно имеется в виду?
А какие здесь варианты ? Имеется в виду, то, что в RUP не регламентировано оставление кусков старого кода (скорее есть некая тенденция к минимальным изменениям), а вот XP обязывает оставить только необходимый минимум, старые куски вычистить, с учетом всего этого отрефакторить код/архитектуру.

Репликант б) при кардинальном изменении части ТЗ (смена условий хозяйствования и т.д.) мы можем быть более уверенными, что имеем легко модифицируемый, не слишком сильно связанный код без больших кусков, реализованных "на всякий случай" и отправляемых в корзину, что улучшает условия изменений.
"слишком сильно связанный" - что именно имеется в виду? "реализованных "на всякий случай" - если имеется в виду функциональность про запас, то в RUP ничего такого нет, а в XP это вообще как бы запрещается
Я должен объяснzть что есть связанность кода (объектов, модулей и т.д.) ? Она часто увеличивается вследствие практики "заплаток". А по поводу "в RUP ничего такого нет" - те, кто ему следует, как правило придерживаются методики "минимальные изменения", что может вредить делу. XP указывает явно на необходимость полного рефакторинга.

Репликант Главное, что IMHO XP подход позволяет постоянно иметь весь код "близкий к оптимальному" (этот термин мне обсуждать не хотелось бы - долгая это песня, да и у каждого свои критерии), а не "заплатки", как это более вероятно при других процессах.
Действительно, если термин нельзя определить, то лучше его не обсуждать, т.к обсуждать просто нечего :o) А что плохого в "заплатках", если они выполнены грамотно, т.е не разрушают архитектурную целостность, качество и т.п?
Плохого то, что чем больше заплаток, тем сложнее разбираться другим программистам, имеющим дело с этим кодом, сложнее его модифицировать в дальнейшем и т.д. Т.е. кол-во "заплаток" растет, пока не превысит некоторого порога, после которого проще выбросить весь кусок и переписать заново. XP позволяет сгладить этот процесс.
...
Рейтинг: 0 / 0
Подходы к проектированию системы...
    #32580314
Репликант
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как связаны - было рассказано в след. абзацах. Модель архитектуры Вы в CASE средстве измените, но разница может cказаться в объеме изменений. Рефакторенные код/архитектура есть наиболее гибкие/легко изменяемые, как показывает мне мой опыт.

А мой опыт, а также опыт многих разработчиков по всему миру (об этом во многих книгах написано) показывает, что архитектура/код зависят от архитектора/программиста и не важно каким подходом они пользуются: рефакторинг или проектирование в RTE CASE-средстве

А какие здесь варианты ? Имеется в виду, то, что в RUP не регламентировано оставление кусков старого кода (скорее есть некая тенденция к минимальным изменениям), а вот XP обязывает оставить только необходимый минимум, старые куски вычистить, с учетом всего этого отрефакторить код/архитектуру.

А откуда такое мнение? В RUP архитектура/код изменяются в соответствовании с требованиями (функциональными, производительность, расширяемость и т.п) к системе, не считая используемых внутренних регламентов (например, принципов программной инженерии) и шаблонов проектирования/кодирования, к-рые собственно и "заставляют" разработчиков выбирать простую архитектуру/реализацию, удовлетворяющую заданным требованиям. Просто в XP на этом делается упор ("if simplicity is good, we do it" (c) XPE), т.к XP code-centric методология с минимум документирования, т.е простота ей жизненно необходима

Я должен объяснzть что есть связанность кода (объектов, модулей и т.д.) ? Она часто увеличивается вследствие практики "заплаток". А по поводу "в RUP ничего такого нет" - те, кто ему следует, как правило придерживаются методики "минимальные изменения", что может вредить делу. XP указывает явно на необходимость полного рефакторинга.

Что такое связанность (cohesion), спасибо, объяснять не надо, т.к я просто не был уверен о чем именно идет речь. :о) "придерживаются методики "минимальные изменения" - я не знаю откуда у вас такая "статистика", но эта статистика явно для случаев RUP + плохое/безответсвенное проектирование/программирование, т.к программирование негативно влияет на архитектуру (увеличивает степень связанности)

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

"чем больше заплаток, тем сложнее разбираться другим программистам" - это явно не имеет отношения к правильному RUP, где все прозрачно и актуально, т.е есть модель ВИ (UC) и модель проектирования, трассированная(связанная) с моделью реализации. При чем модель проектирования может быть сколь угодно подробной и всегда непротиворечивой. Например, если я как архитектор хочу, чтобы в модели некое множество важных глобальных переменных/интерфейсов/классов было доступно как тольк для чтения или чтобы их изменял только ответственный за это программист - CASE-средства легко позволяют сделать это. Хочется, например, для контроля использовать ПП? в RUP это не запрещается :о)
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Подходы к проектированию системы...
    #34262093
Майевтик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Стоит перенести тему в Разработку систем, т.к. она касается всего процесса, а не только дисициплины Проектирования БД.
...
Рейтинг: 0 / 0
5 сообщений из 30, страница 2 из 2
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Подходы к проектированию системы...
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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