Форум Сообщества Аналитиков

×


Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.


Сообщения - Galogen

Страницы: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 »
4426
В компании где я работаю по совместительству, на базе корпоративной платформы реализован механизм тестирования, т.е. разработчик, используя специально разработанный инструмент, реализует тест для проверки разработанного объекта. Тестировщик в дальнейшем настраивает его выполнение, создавая рабочую нагрузку, маршрут прохождения теста. В первую очередь проверяется соответствие функциональности объектов требованиям.

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

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

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

4428
Никто не фиксирует, уже прошли миллионы лет назад, возьмут данные из другой БД и пакетно зальют в эту созданную структуру. И надо только ПРОСМАТРИВАТЬ.
Видите как интересно, уже обнаруживается, что на заре зарождения разумной жизни, тесты уже вовсю использовались, более того, они уже хранились в какой-то БД :)


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

Если коллеге Martynov интересно развиваться именно в этом направлении - т.е. RR и DM, то советую почитать книгу Нейбург и Максимчук "Проектирование БД с помощью UML".

Пацаны, я проблемы не понял и вопросов не понял. Что нужно? Как рисовать стрелочку и куда ее направлять? А зачем енто нужно на концептуальной модели? Это же у же реализация. Наличие или отсутствие навигации есть реализация.

Я обычно не парюсь и использую двунаправленную навигацию - это показывается ОТСУТСТВИЕМ стрелочек в любую сторону.

Вот что пишет достопочтенный Рамбо Буч и Якобсон в своей эпохальной книге UML руководство пользователей.
Цитировать
Навигация. С помощью простой, не содержащей дополнений ассоциации между двумя классами (скажем, Книга и Библиотека) можно осуществлять навигацию между их объектами. Если явно не оговорено противное, то навигация по ассоциации может осуществляться в обоих направлениях. Но бывают случаи, когда необходимо ограничить ее только одним направлением. Например, как показано на рис. 10.3, при моделировании сервисов операционной системы можно столкнуться с ассоциацией между объектами User (пользователь) и Password (пароль). Если дан объект класса User, то нужно уметь находить соответствующие объекты класса Password, но обратное недопустимо, то есть не должно быть возможности по паролю определить пользователя. Направление ассоциации можно выразить явно, дополнив ее стрелкой, указывающей на допустимое направление движения.

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


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

Однако существует вариация простого агрегирования - композиция, которая добавляет к семантике агрегирования новые важные особенности (для моделирования композиции используются атрибуты, см. главы 4 и 9). Композицией называется форма агрегирования с четко выраженным отношением владения, причем время жизни частей и целого совпадают. Части с нефиксированной кратностью могут быть созданы уже после самого композита, но, будучи созданы, живут и умирают вместе с ним. Впрочем, части могут быть удалены явным образом еще до уничтожения композита.

Это означает, что в случае композитного агрегирования объект в любой момент времени может быть частью только одного композита. Например, в оконной системе класс Frame (Рама) принадлежит только одному классу Window (Окно), тогда как при простом агрегировании "часть" может принадлежать одновременно нескольким "целым". Скажем, в модели дома объект Стена может принадлежать нескольким объектам Комната.

Кроме того, в композитном агрегировании целое отвечает за диспозицию своих частей, то есть композит должен управлять их созданием и уничтожением. Например, создав объект Frame в системе окон, вы должны присоединить его к объемлющему окну. Когда объект Window удаляется, он в свою очередь должен уничтожить принадлежащие ему объекты Frame.

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

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

Агрегирование
Цитировать
Агрегирование. Простая ассоциация между двумя классами отражает структурное отношение между равноправными сущностями, когда оба класса находятся на одном концептуальном уровне и ни один не является более важным, чем другой. Но иногда приходится моделировать отношение типа "часть/целое", в котором один из классов имеет более высокий ранг (целое) и состоит из нескольких меньших по рангу (частей). Отношение такого типа называют агрегированием; оно причислено к отношениям типа "имеет" (с учетом того, что объект-целое имеет несколько объектов-частей). Агрегирование является частным случаем ассоциации и изображается в виде простой ассоциации с незакрашенным ромбом со стороны "целого", как показано на рис. 5.7. Существует много важных разновидностей этого отношения (см. главу 10).

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

По-моему не прибавишь не убавишь

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

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

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

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

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

Т.е. вариантов море.

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

Почитайте Крёнке Теория и практика баз данных - по-моему лучшей книги не придумаешь

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

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

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

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

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

Важно или не важно хранить историю ответов на вопросы. Если оценка определяется на основании сравнения ответа на вопрос с контрольным ответом, то ясно что нужно хранить не оценку, а именно ответ на вопрос теста, тогда оценка будет вычисляться.

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

Потому предлагаю сначала описать эту предметную область как можно более точно и полно.

4433
Для того, чтобы понять направление  стрелки, т.е. навигация, полезно построить OCL выражения.

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

4434
To Martynov

Понимаете следует определиться. Вы проектируете базу данных или приложение?

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

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

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

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

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

Пока же Вы определили какую информацию будете хранить. Можно добавить в модель OCL выражения. Для быстрого прототипирования задачи можно воспользоваться технологией MDA в ее реализации BOLD for Delphi.

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

4435
Ну не совсем так.

Вообще если мы говорим об моделеи данных или реализации в виде SQL БД, то всем этим управляют процедуры ограничения целостности: стандартные и не стандартные.

Композиция говорит о наличии обязательного родителя и возможно обязательного потомка. Т.е. скажем вы не сможете удалить группу пока в ней есть хотя бы один студент. Более того вы не сможете переназначить этого студенту в другую группы например. Однако если дочерняя сущность необязательна (0, 1 или много) особых проблем нет. Нет особой разницы и между агрегацией и композицией. Просто при использовании UML для моделирование ER, композиция используется, а агрегация нет. Вообще где-то у гуру читал, что агрегацию следовало бы запретить как вредный элемент :-)

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

Ну и смотрите. разве номер студенческого может повторяться  в разных группах?

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

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

Результат тестирование не часть студента, а часть работы студента. Таким образом связь композиция тут не допустима, здесь явная ассоциация. Я бы вообще сделал квалифицированную ассоциацию м/у Студент и Тест с классом-ассоциацией Результат тестирования.

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

4437
Ты считаешь, что каждый ГФ должен автоматически превращаться в ВИ?
Можно детализировать ход рассуждений там, где происходит переход список ГФ -> список ВИ.

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

ГФ001 - это общая цель службы такси или ее миссия. Это может быть БВИ на контекстной диаграмме

ГФ002 и ГФ003 - я оставил вне рамок автоматизации работы службы на данном уровне рассмотрения. Действительно с одной стороны клиенты - т.е. покупатели услуги, с другой стороны водители - поставщики услуги, между сосбственно диспетчерская служба - магазин услуг перевозок: она покупает услугу у водителя и перепродает ее клиенту. Выгода достигается за счет организации, централизации, уменьшения накладных расходов и т.п.

ГФ004, 006, 010-015 - все эти функции (или глагольные фразы) в целом участвуют в ВИ принять заказа, который по рекомендации тебя, Юры и Дениса(1) нужно сделать системным зарегистрировать заказ. здесь возможно еще можно добавить управление клиентами(ввод, изменения, удаления)

ГФ005, 007 - распределить заказ, или зарегистрировать прием заказа водителем

ГФ009 - я бы вообще исключил пока из рассмотрения, поскольку это будет возможно не функция системы.

ГФ008, 016-017 - зарегистрировать выполнение заказа

ГФ019 и ГФ021 - функции бухгалтера, функция системы будет вероятно произвести расчет денежных начислений за указанный период по указанному водителю или диспетчеру

ГФ018 и ГФ020 - будет скорее всего трансформироваться во что-то типа сформировать (предоставить) отчет

Я бы еще добавил нечто вроде управление водителями (ввод, изменение, удаление) и диспетчерами-сотрудниками

4438
Эльдар, Ваша DFD мне лично не понятна. Да Вы изобразили скорее стадии изменения статуса продукта. продукт произведен, продукт складирован, продукт заказан, продукт доставлен, выпадает только последний пункт, который ни состояние, ни процесс.

Что касается ERD, ибо это именно то, что я вижу.

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

Каждый клиент заполняет один и только один лист заказа (не знаю что такое 1+)
Но лист заказ может быть заполнен несколькими разными клиентами

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

Лист заказа содержит один и только один продукт, но один и тот же продукт может размещаться в разных листах заказа

Склад может содержать один и только один продукт, но один продукт может содеражаться в разных складах

Как Вы полагаете восстановленные мною факты соответствуют Вашей предметной области?

4439
Саша, дело не в Видении или самой задаче. Дело в подходе, который используют наши посетители. Как я понял Эльдар интересуется, как бы мы решали подобную задачу, если бы столкнулись с ней на практике. У Эльдара есть решения и подходы, он их изложил, но он спрашивает, нет ли более эффективных подходов?

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

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

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

4440
Цитировать
Служба такси предоставляет услуги по пассажирским перевозкам. Служба не имеет собственного таксопарка, а работает по договору с водителями, имеющими личный автомобиль. Каждый водитель имеет свой позывной и график работы. Служба имеет несколько точек-стоянок по городу, на которых водитель может дожидаться поступления близлежащего заказа.
С системой работает два диспетчера. Первый диспетчер занимается приемом заказов, второй распределением заказов между водителями. При приеме заказов клиент сообщает свое текущее местонахождение и телефон, а также адрес назначения. Фиксируется время приема заказа, а также время его выполнения. Для определения оптимального маршрута по городу используется геоинформационная система. Клиент может сделать предварительный заказ, т.е. заказать такси в определенное место к определенному времени.
Клиент идентифицируется номером телефона. Система хранит информацию о заказах клиента и вычисляет его рейтинг, что позволяет клиенту со временем получать накопительную скидку. При желании клиент может сообщить о себе дополнительную информацию (ФИО, другие телефоны и т.п.), что позволит его более точно идентифицировать. Если с заказом были какие-либо проблемы (ложный вызов, неоплата и т.п.), этот факт фиксируется, и телефон заносится в черный список.
Бухгалтерия анализирует отчеты о заказах, выполненных каждым водителем, и на основании их проводит денежные расчеты с водителями. Аналогично, заработная плата диспетчеров зависит от количества принятых заказов. Система также должна обеспечивать отчеты о заказах, выполненных за период времени, выполненных конкретным водителем и заказах конкретного клиента.
Нарисовать диаграмму прецедентов (use case diagram) системы автоматизации работы службы такси.

Примерный ход анализа ala Galogen :)

Выделяем глагольные фразы и переводим их в инфинитивы
ГФ001 Предоставлять услуги по пассажирским перевозкам
ГФ002 Работать по договору
ГФ003 Дожидаться поступления заказа
ГФ004 Принимать заказы
ГФ005 Распределять заказы
ГФ006 Сообщать местонахождение, телефон и адрес назначения
ГФ007 Фиксировать время приема заказа
ГФ008 Фиксировать время выполнения заказа
ГФ009 Оптимизировать маршрут с помощью ГИС
ГФ010 Сделать предварительный заказа
ГФ011 Идентифицировать клиента по номеру телефона
ГФ012 Хранить информацию о заказах клиента
ГФ013 Вычислять рейтинг клиента
ГФ014 Получать накопительную скидку
ГФ015 Сообщить дополнительную информацию о себе
ГФ016 Фиксировать проблемы с вызовом
ГФ017 Занести в черный список
ГФ018 Анализировать отчеты о выполнении заказов водителем
ГФ019 Производить денежные выплаты по выполненным заказам водителю
ГФ020 Обеспечить (предоставить) отчеты о заказах по заданным критериям: выполненные за период времени, выполненные конкретным водителем, сделанных конкретным клиентом
ГФ021 (предположительно) Производить денежные выплаты диспетчеру в зависимости от количества принятых заказов.

Выделяем действующих лиц
ДЛ1 Служба такси
ДЛ2 Водитель
ДЛ3 Диспетчер 1
ДЛ4 Диспетчер 2
ДЛ5 Клиент
ДЛ6 SUD - система автоматизации деятельности
ДЛ7 Бухгалтерия

Связи:
ДЛ1  ГФ001

ДЛ2 ГФ002, ГФ003, ГФ009(?)

ДЛ3 ГФ004,

ДЛ4 ГФ005, ГФ007, ГФ008, ГФ009(?), ГФ016, ГФ017

ДЛ5 ГФ006, ГФ010, ГФ014, ГФ015

ДЛ6 ГФ011,ГФ012, ГФ013

ДЛ7 ГФ018-ГФ021

Рассматриваемый уровень для построения диаграммы вариантов использования (прецедентов) SUD, сюда включаю
регистрацию заказов (в моем случае я определил как принять заказ, подразумевая именно факт ввода данных по новому заказу в систему) - связано с ГФ004, 006, 010 - 015

передачу заказа водителю (определил как распределить заказы + оптимизировать мрашрут)- связано с ГФ005, ГФ007, ГФ009

фиксацию факта выполнения - связано с ГФ008
фиксацию факта не выполнения или
фиксацию проблемы с указанием причины и занесением в черный список - связано с ГФ016-017 - (зарегистрировать выполнение заказа

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

В результате (как правильно заметил Boatman) мысленного, не фиксируемого анализа - и кстати гораздо быстрее, чем это заняло написание - была построена модель поста №1, которая потом несколько эволюционировала

Страницы: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 »