СМ-Консалт
 

Знакомство с Microsoft® Visual Studio® Team System 2008. Часть - 2

Статьи Технологии Microsoft: .NET, Visual Studio Team System

 

  Знакомство с Microsoft® Visual Studio® Team System 2008. Часть - 2
Часть - 1
Часть - 2 (текущая)
 Теги: программирование, размерно-ориентированные метрики, LOC-оценка, Lines Of Code, метрики стилистики и понятности программ, , объектно-ориентированные метрики процесс, сборка метрика, методика, артефактдисциплина, стандарт, методология, Microsoft, TFS, Visual Studio, VSS, СУБД, ASP.NET, Team, Team Foundation Server .NET
 Аудитория: менеджеры проектов, разработчики, тестировщики, руководители, аналитики
 Автор: Алексей Федоров — сотрудник отдела стратегических технологий ООО «Майкрософт Рус» (alexeif@microsoft.com)
Версия документа 1.0 (от 25 июля 2008г)

Аннотация: Данная статья описывает возможности  Visual Studio Team System 2008. Материал достаточно объемный и мы будем публиковать его по частям.

Читать первую часть -->

 

Полезные материалы в тему статьи:


Ролик с демонстрацией действий по реализации нового требования в Microsoft TFS
Демонстрация записана четырьмя роликами от имени различных участников проекта: Инициатор, Менеджер проекта, Аналитик, Разработчик. Ролик показывает как в TFS документировать требования, управлять изменениями и версиями.

 

Содержание: 

Первая часть --> 

   

Microsoft Visual Studio 2005 Team Foundation Server Power Tool

Microsoft Visual Studio 2005 Team Foundation Server Power Tool (ранее назывался Power Toys) - это набор дополнений и утилит, улучшающих функциональность Team Foundation Server. В данный набор включены две новые пакетные утилиты для разработчиков и три утилиты с графическим интерфейсом - редактор шаблонов процессов, набор настраиваемых политик для операции check in и утилита, позволяющая выполнять модульные тесты.

Team Foundation Server Power Tool Commands (tfpt.exe) - это пакетная утилита, расширяющая функциональность Team Foundation Version Control. Некоторые команды, включенные в состав этой утилиты, имеют графический интерфейс. Помимо встроенных в утилиту команд, пользвателям также доступны команды Annotate и Treediff, реализованные в Source Control Explorer (в Visual Studio) и Team Explorer.

В состав Team Foundation Server Power Tool включены следующие команды:

  • Unshelve -  Используется для получения и объединения изменений в рамках workspace;
  • Rollback -  Используется для отмены изменений, внесенных на уровне Team Foundation Server;
  • Online -  Используется для создания изменений (pending edits)для файлов, у которых еще нет таких изменений;
  • GetCS -  Команда Get Changeset служит для получения изменений для определенного набора изменений (changeset);
  • UU -  Команда Undo Unchanged служит для отмены операций над неизмененными файлами (unchanged files), включая операции добавления, редактирования и удаления;
  • Annotate -  Используется для загрузки всех версий указанных файлов и отображения построчной информации о том, кто и когда вносил изменения;
  • Review -  Данная команда используется для оптимизации процесса обзора кода путем отказа от использования операций check in и shelving;
  • History -  Служит для отображения истории ревизий для одного или более файлов или папок. Опция /followbranches позволяет получить историю для вложенных файлов (file branch);
  • Workitem -  Используется для создания, обновления или просмотра элементов проекта;
  • Query -  Используется для запуска запроса к элементу проекта и отображения результатов выполнения этого запроса. Если не указан какой-то конкретный запрос, команда отобразит все элементы проекта, присвоенные данному пользователю;
  • TreeDiff -  Служит для визуального представления различий между файлами в двух серверных папках, в папке на сервере и локальной папке или двух локальных папках;
  • Treeclean Используется для отображения и опционального удаления файлов, которые не управляются системой контроля версий в текущем каталоге и подкаталогах. Эта команда может быть полезна в тех случаях, когда требуется удаление временных файлов из локальной области (workspace) - например файлов, созданных компилятором/

 

Process Template Editor - при установке Team Foundation Server Power Tool в Microsoft Visual Studio Team System появляется Process Editor - интегрированное средство для создания новых типов элементов проекта и соответствующих компонентов шаблона процессов. Данная утилита трбует установки компонентов Domain-Specific Language Tools for Visual Studio 2005 Redistributable Components, которые можно найти на сайте MSDN.

Check-In Policy Pack - это набор настраиваемых политик для операции check in, расширяющих стандартный набор, включенный в Team Foundation Server. В пакет включены следующие политики:

  • Custom Path Policy - политика, предоставляющая механизм для указания маршрута к системе контроля версий, а также маршрутов, на которые распространяется данная политика. Данная политика поддерживает сценарий, когда можно применять различные наборы правил для различных папок системы контроля версий.
  • Forbidden Patterns Policy - позволяет указать расширение имени файла или регулярное выражение, которые могут использоваться для указания на то, что определенные файлы не должны включаться в систему контроля версий. Это наиболее полезно для DLL-файлов, ряда файлов, порождаемых в процессе сборки проекта или автоматически создаваемых файлов для Web-сайтов, генерируемых в процессе разработки.
  • Changeset Comments Policy - позволяет убедиться в том, что текстовое поле Comments в диалоговой панели Check In не является пустым - если в даном текстовом поле отсутствует информация, файл не может быть включен в операцию check in.
  • Work Item Query Policy - позволяет указать запрос, к которому относится тот или иной элемент проекта.

Test Tools Build Task (TestToolsTask) - позволяет выполнять модульное тестирование простым указанием динамически загружаемых библиотек или указанием шаблона имени файла в файле TfsBuild.proj вместо использования файлов метаданных тестов ( .vsmdi) для указания тестов, которые должны быть запущены. Данная функциональность аналогична запуску пакетной утилиты mstest.exe с опцией /testcontainer для указания тестового контейнера, все тесты из которого должны быть запущены.

 

«Ролевые» версии Visual Studio 

 В состав Visual Studio 2008 Team Suite входят четыре ролевые версии: для архитекторов - Architecture Edition, для разработчиков - Develop-ment Edition, для разработчиков баз данных - Database Edition и для тести-ровщиков Test Edition.

Architecture Edition - Visual Studio для архитекторов

Продукт Team Architect Edition позволяет архитекторам программного обеспеченния и инфраструктуры создавать и описывать все компонентысервис-ориентированных приложений. Работа архитекторов построена на основе использования специализированных дизайнеров:

  • Дизайнер распределенных приложений (Distributed Application Designer) позволяет визуально создавать веб-сервисы и сервис-ориентированные архитектуры, обладает поддержкой расширений веб-сервисов (Web Services Enhancements, WSE) и возможностью проверки архитектуры на соответствие логической инфраструктуре. Включает следующие дизайнеры: Application Connection Designer, Logical Datacenter Designer, System Designer и Deployment Designer.
  • Дизайнер логической инфраструктуры (Logical Infrastructure Designer) позволяет визуально описывать сетевую инфраструктуру, содержит редактор настроек и ограничений, включает генератор и компилятор System Definition Model (SDM)-модели, средства развертывания.
  • Дизайнер классов (Class Designer) служит для визуального создания классов и генерации соответствующего кода.

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

На основе артефактов, созданных архитекторами, разработчики создают и тестируют код приложения. Для этих целей служит версия Team Edition для разработчиков.В Visual Studio 2008 Team System

Architecture Edition появился ряд дополнений и улучшений, которые мы рассмотрим ниже.

  • Дизайн систем с использованием нисходящего подхода. Теперь у архитекторов появилась возможность использования нисходящего (top-down) подхода к дизайну приложений с использованием System Designer. Имеется возможность либо начать новый дизайн системы, или продолжить работу над существующим - можно добавлять системы, приложения, точки входа непосредственно в описание системы. Точки входа добавляются прямо на границах описания системы и делегируют свое поведение членам системы.
  • Синхронизация точек входа веб-сервисов с WSDL-файлами - теперь можно задавать или обновлять сигнатуры операций существующих веб-сервисов, написанных с использованием .NET, указав соответствующий WSDL-файл.
  • Генерация проектов ASP.NET Web Application для приложений, использующих технологию ASP.NET за счет использования шаблона ASP.NET Web Application, который генерирует соответствующий тип проекта для приложения. Эта возможность доступна только для ASP.NET Web-проектов на основе файловой системы (свойство Project Location Type имеет значение File System). Также имеется возможность ре-инжениринга ASP.NET Web-приложений.
  • Сохранение, импорт и экспорт дополнительных прототипов - у архитекторов появилась возможность сохранять или устанавливать дополнительные прототипы, импортируя их, а не редактируя в реестр. Отметим, что редактирование реестра по-прежнему требуется для установки файлов .sdmdocument для прототипов приложений, созданных средствами System Definition Model (SDM) SDK.

В августе 2007 года была выпущена предварительная версия (Community Technology Preview) пакета утилит - Team Architect Power Tools, расширяющих функциональность Team System Architecture Edition путем добавления средств работы с библиотеками классов на уровне диаграмм приложений и системы. Этот пакет можно бесплатно загрузить с сайта MSDN.

Development Edition - Visual Studio для разработчиков

Помимо традиционных средств для разработки приложений, обеспечиваемых на уровне функциональности Visual Studio Professional Edition (написание и редактирование кода, компиляция, отладка, развертывание), в версию Team Edition для разработчиков входит ряд существенных дополнений, среди которых:

  • Средства статического анализа кода выполняют нечто схожее с грамматическим анализом кода. Компилятор выполняет проверку синтаксиса и убеждается в том, что объекты, параметры и другие элементы кода допустимы для данного языка программирования. Средства статического анализа кода проверяют семантику и нарушения безопасности, стиля кодирования, руководств по производительности. Для проверки кода на С/С++ Microsoft предлагает PREFast - средство, работающее с .NET и обычным кодом, а также средство FxCop, которое базируется на наборе рекомендаций .NET Class Design Guidelines.
  • Средства профилирования для того, чтобы получить максимальную производительность кода, Microsoft предлагает ряд профилировщиков кода, входящих в состав Visual Studio Team System и интегрированных в среду разработки. Доступны два типа профилировщиков:
    • Профилировщик на основе «проб» (Sampling profiler) - отслеживает выполнение приложения и по окончании сообщает данные о производительности.
    • Инструментальный профилировщик (Instrumented profiler) - во время компиляции вставляет в код определенные «метки» и сохраняет данные в хранилище Team System при достижении приложением определенной «метки».
  • Средства модульного тестирования - модульное тестирование на основе атрибутов стало популярным способом проверки качества кода. В состав Visual Studio Team System входят интегрированные средства создания, слежения и выполнения модульных тестов непосредственно из среды разработчика. Модульное тестирование предполагает, что для каждого метода класса пишется определенный тест. Такой тест проверяет все возможные способы поведения класса (в соответствии со спецификацией) и сообщает об обнаруженных ошибках. Модульные тесты крайне полезны при регрессивном тестировании, т. к. они могут выполняться над каждым классом в проекте для того, чтобы убедиться, что изменения в одном классе не привели к изменениям в других.
  • Метрики кода (Code Metrics) - набор программных измерений, позволяющих разработчикам «заглянуть» в создаваемый ими код. Используя метрики кода, разработчики могут понять, какие типы и/или методы должны быть переработаны или дополнительно оттестированы. Помимо этого, команды разработчиков могут идентифицировать потенциальные риски, получать представление о текущем состоянии проекта и отслеживать прогресс в процессе работы над проектом.
  • Средства профилирования пополнились рядом дополнительных возможностей, среди которых:
    • Поддержка Windows Vista - поддерживается полное соответствие требованиям безопасности Windows Vista, доступ к IIS по-прежнему требует прав администратора.
    • Сбор данных о распределении стека - включается на странице свойств Performance Session, отображается в отчете Allocation View.
    • Данные проб на уровне строк кода - включено по умолчанию, отображается в отчетах IP и Line View, информация о строках - в отчете Module.
    • Управление в режиме выполнения - автоматический запуск при запуске средства профилирования, возможность включения и отключения сбора данных из пользовательского интерфейса, запуск с отключенным сбором данных, добавление дополнительных пометок без редактирования кода.
    • Фильтрация аналитических данных - фильтрация по отметкам времени, процессам, потокам и пометкам. Функциональность, схожая с системой запросов в модуле слежения за элементами проекта (опция /filterfile позволяет сохранить фильтр в файле).
    •  Поиск расхождений (Diff) - возможность управления отображаемыми данными, выбор двух отчетов в Performance Explorer и включение режима сравнения простым щелчком мышью, новый отчет о расхождениях в меню Tools, опция командной строки /diff.
    • Поддержка счетчиков производительности Windows - возможность фильтрации данных счетчиков, ассоциация со свойствами сессии подсчета производительности, опция командной строки /wincounter.
    • Компактные файлы отчетов - создание файлов отчетов небольшого размера на основе полных отчетов, команда Save Analyzed или опция командной строки /summaryfile.
    • Копирование в HTML - возможность копирования отчета и прикрепления его к электронному письму.
    • Интеграция с нагрузочным и Web-тестированием - создание нагрузочного или Web-теста, создание сессии измерения производительности прямо из теста.
    • Поддержка приложений, использующих технологию Windows Communication Foundation в средствах профилирования.

Следующее издание Visual Studio Team System - это издание, предназначенное для работы с базами данных.

 

Database Edition - Visual Studio для разработчиков и администраторов баз данных

Новым компонентом в Visual Studio Team System 2008 является издание, предназначенное для разработчиков и администраторов баз данных - Visual Studio Team System 2008 Database Edition. Это издание было доступно c ноября 2006 года в виде отдельного продукта для Visual Studio 2005 под названием Team Edition for Database Professionals и теперь этот компонент включен в состав Visual Studio Team System 2008.

К основным функциям версии для разработчиков баз данных можно отнести управление изменениями в схеме базы данных, модульное тестирование схемы базы данных, а также возможность полноценной интеграции в весь процесс разработки программного продукта с использованием платформы Visual Studio Team System.

В рамках нового типа проекта (Visual Studio Database Project) у разработчиков появляется возможность импортировать схему базы данных из SQL Server 2000 и SQL Server 2005 (версия SQL Server 2008 будет поддерживаться в следующей версии Visual Studio Team System, которая имеет кодовое название «Rosario») и поместить ее в систему контроля версий. Когда требуетсвнедрение изменений в схеме базы данных, новая система поддержки проектов позволяет создать скрипты обновления (update scripts) и предоставляет механизм для выполнения этих скриптов в выбранной базе данных.

Основной концепцией Visual Studio Team System 2008 Database Edition является работа с базами данных в отсоединенном, т. н. оффлайновом режиме. Проект представляет собой логически собранный в коллекцию набор файлов, которые содержат схему базы данных и ее различные представления. Проект может работать с любым SCCI-провайдером (например Team Foundation Server, VSS).

  • Новый редактор T-SQL, входящий в состав Visual Studio, существенно повышает продуктивность при написания кода и обеспечивает поддержку параллельного выполнения запросов и отображение клиентской статистики.
  • Механизм Rename Refactoring позволяет быстро переименовать объекты базы данных, включая все ссылки на эти объекты и все зависимые объекты (схема, генераторы данных, Unit Test, SQL-скрипты и т. п.). Обычно такие изменения называют «каскадными обновлениями».
  • Механизм Schema Compare позволяет быстро сравнить схемы двух баз данных (или одной базы данных - в системе контроля версий и в самой базе данных) и создать скрипты обновления для синхронизации схем. Схожий с описанным выше механизм Data Compare позволяет быстро сравнить данные в двух базах данных и создать скрипты обновления для синхронизации данных. Оба механизма генерации скриптов поддерживают выполнение как непосредственно из среды Visual Studio, так и из командной строки (SQLCMD), SQL Server Management Studio или в рамках исполняемого файла.
  • Механизм Data Generator служит для создания плана генерации повторяющихся наборов «осмысленных» данных на основе реальных данных, взятых из базы данных с поддержкой гистограмм и распределений. Такие данные используются для заполнения базы при выполнении модульных тестов или нагрузочного тестирования. Механизм генерации данных поддерживает модули расширения - т. о. есть возможность создания и подключения собственных генераторов.
  • И, наконец, поддержка модульного тестирования базы данных (Database Unit Testing) на основе Team Test Unit Test позволяет создавать тесты, используя язык T-SQL или управляемый код (Visual Basic .NET или C#). Можно тестировать следующие объекты баз данных: хранимые процедуры, функции, триггеры, любой код на языке T-SQL. Также имеется возможность тестирования базы данных на уровне всего разрабатываемого приложения.

 

 

 Ролевой подход

При работе с Visual Studio Team System 2008 Database Edition предполагается использование двух ролей - администратора базы данных и разрботчика базы данных. Функции по фазам работы над проектом - администрирование, разработка, внедрение распределяются следующим образом.

На первом этапе - администрировании - администратор базы данных выполняет следующие действия: Создает в Visual Studio новый проект базы данных.

  • Получает схему из базы данных.
  • Создает план генерации данных.

Затем наступает этап разработки, на котором разработчик базы данных:

  • Разрабатывает тесты.
  • Пишет код базы данных и объектов.
  • Выполняет рефакторинг.
  • Запускает тесты.
  • Вносит код и тесты в систему управления версиями.

На финальной стадии - внедрении - снова задействуется администратор базы данных, который:

  • Проверяет внесенные изменения.
  • Сравнивает модификации с рабочей базой данных.
  • Создает скрипты для внедрения (скрипты для изменения схемы базы данных или самих данных).
  • Внедряет скрипты в рабочую базу данных.

Выпущенный в июле 2007 пакет обновлений - Team Edition for Database Professionals SR1, в котором реализована поддержка ссылок на базы данных в рамках проекта (cross-database reference) и ссылок на метафайлы баз данных (.dbmeta). Помимо этого улучшена поддержка файлов в файловых группах SQL Server на уровне свойств проекта и к свойствам базы данных добавлена страница Variables, на которой можно задавать переменные типа setvar, используемые в скриптах развертывания. И, наконец, данный пакет обновлений полностью поддерживает пакет обновлений для SQL Server 2005 - Service Pack 2 и работу под управлением операционной системы Windows Vista.

 

Test Edition - Visual Studio для тестировщиков

В состав издания Visual Studio Team System для тестировщиков входят средства для нагрузочного тестирования и измерения производительности Web-приложений. Важно отметить то, что средства нагрузочного тестирования входят непосредственно в средство разработки и тесно интегрированы как со средой, так и с механизмами сбора данных и создания отчетов.

Запись и воспроизведение тестов

Такой подход позволяет обеспечить максимально тесное взаимодействие разработчиков и тестировщиков - при использовании Visual Studio 2005Team System больше нет необходимости в обмене списком ошибок и последующим слежением за их исправлением - все данные (описания ошибок с необходимым контекстом) доступны из одной среды и соответствующие работы (Work Items) назначаются непосредственным исполнителям.

В Visual Studio Team System появилась возможность записи действий тестировщиков при работе с веб-приложениями и последующего воспроизведения таких записей. Такие записанные тесты хранятся в виде XML-файлов - они могут быть сохранены в системе контроля версий вместе с кодом приложения и другими артефактами периода разработки.

Нагрузочное тестирование

После того как тест веб-приложения записан и сохранен, он может быть воспроизведен на инфраструктуре веб-фермы с соответствующими нагрузочными данными. Условия загрузки настраиваются с помощью мастера a Load Test Creation Wizard и сохраняются в виде XML-файлов - они также могут быть сохранены в системе контроля версий вместе с кодом приложения и другими артефактами периода разработки.

Все нагрузочные тесты создаются и выполняются непосредственно из среды разработки Visual Studio. Это позволяет тестировщикам и разработчикам обмениваться информацией, используя одно и то же средство, доступное любой роли.

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

Помимо этого, как мы отметили выше, Visual Studio Team System поддерживает механизмы модульного тестирования, которое может выполняться и в нагруженном состоянии.

Управление тестированием

Все тесты, создаваемые в Visual Studio Team System, включая модульные тесты, воспроизводимые веб-тесты и нагрузочные тесты, управляются из окна Test Manager среды разработчика. Это позволяет разработчикам, те-стировщикам и менеджерам продуктов получать информацию о статусе и полноте выполнения всех тестов для данного программного проекта. Помимо этого, все тесты могут быть сохранены в систем контроля версий Visual Studio Team Foundation Server.

Окно Test Manager позволяет создавать так называемые «списки тестов», которые полезны в том случае, когда из всего набора тестов для данного программного проекта при получении новой версии необходимо выпонить только часть тестов. Поддерживается возможность отображения тестов по «владельцам», типам и другим характеристикам.

В Visual Studio 2008 Team System Test Edition появился ряд дополнений и улучшений, которые мы рассмотрим ниже.Возможность создания и выполнения модульного тестирования в Visual Studio Professional Edition.

Упрощенное выполнение модульных тестов - поддерживается возможность запуска тестов непосредственно из кода. Использование наследования между тестовыми классами. Выполнение модульного тестирования на устройствах, разработка для которых поддерживается в рамках Visual Studio.

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

Более гибкое управление нагрузочным тестированием и моделированием нагрузок.

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

Улучшенные средства управления репозитарием результатов нагрузочного тестирования.

Сохранение результатов тестирования в виде XML-файлов со схемой. Возможность программной обработки результатов тестирования, автоматически сохраняемых в XML-формате - файлы с расширением .trx (Test Result XML).

 

Полезные материалы в тему статьи:

 

Услуги СМ-Консалт по направлению Microsoft:

Быстрое внедрение Microsoft Team Foundation Server 
дополнительные услуги по внедрению и обучению Microsoft TFS 
Сопровождение и техническая поддержка программных продуктов IBM Rational, Microsoft

04.10.2008

Комментарии

Добавить комментарий (анонимные комментарии не публикуются!!!)

ФИО: 
E-mail: 
Тема: 
Комментарий: 
Оценка:   
 
 
 
 
 
Код подтверждения:
   

Новости СМ-Консалт

Вышла версия BIPULSE 6.2

Мастер-класс для тренеров и руководителей "Работа в аудитории". 1 ступень уже в марте

Обновлено расписание тренингов до марта 2017 года

Новые статьи в библиотеке

Мифы про ГОСТ 34

Примеры отраслевых решений на основе BIPULSE

Практика реализации модуля интеграции для Rational Software Architect, позволяющего преобразовывать низкоуровневое представление процесса из IBM Rational ClearQuest в UML

Что удивляет в русских менеджерах иностранцев

Разработка ПО с использованием лучших мировых практик и инструментов на Иркутском авиационном заводе

Презентация доклада для IT Global Meetup Санкт-Петербург: "Почему Agile так популярен? Взгляд циника и психолога"

Заказчики и истории успеха

Наши тренинги, семинары, курсы

Дружите с нами на FaceBook

Проверить настройки
Компания
Сделано в СМ-Консалт
Услуги 
Компетенция
  • CMC-TotalTest (скоро)
    уникальная разработка автоматизации функционального тестирования. Альтернатива HP UFT, IBM RFT и Microsoft!
  • CMC-Bisquiter
    автоматизированное тестирование АБС "Бисквит"
  • CMC-Formater
    тестирование печатных и экранных форм
  • CMC-TerminalTest
    тестирование терминальных приложений
  • ProjectTracker
    интеграция ALM и MS Project
  • GanttChart
    модуль управления проектами для IBM Rational ClearQuest и TeamConcert
    Все разработки СМ-Консалт >
  • ИТ-консалтинг
  • Автоматизированное тестирование
  • Ручное тестирование
  • Аутсорсинг тестирования
  • Оптимизация бизнес-процессов
  • Внедрение методологии и инструментов ALM
  • Обучение и коучинг
  • Разработка ПО
  • Интеграция
ООО СМ-Консалт (СМК), 2004-2017.
Карта сайта