Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
26-42 волошин.docx
Скачиваний:
4
Добавлен:
31.07.2019
Размер:
645.89 Кб
Скачать

34.Склад продукту: огляд, клієнтська частина vsts, серверна частина vsts

Огляд

Аналізуючи власний досвід розробки програмного забезпечення, а також досвід інших компаній, фахівці Microsoft прийшли до висновку, що істотна частина проблем, що виникають при розробці програмного забезпечення, викликана "людським фактором" - взаємодією різних фахівців в рамках однієї команди. Це люди різного віку, різного освіти, різних життєвих принципів та інтересів, вирішальні різні завдання й переслідують різні цілі (хоча одна спільна мета у них все ж є - зробити в кінцевому підсумку якісне ПЗ), змушені працювати разом волею долі або начальства. Не дивно, що при їх взаємодії часто виникають накладки і нерозуміння, а істинно злагоджені та ефективні команди зустрічаються не так часто, як хотілося б. Для вирішення цього завдання корпорацією Microsoft пропонується комплекс Visual Studio Team System (VSTS), який забезпечує наступне.

• "Нав'язування" процесу розробки. Інструменти VSTS дозволяють поставити процес, який використовується в проекті (тобто створити конкретний процес, користуючись нашою термінологією), і тим самим обмежити дії учасників команди.

• Доступне опис процесу. VSTS передбачає доступний опис процесу розробки.

• Єдина середовище розробки - комплекс інструментів, що підтримують всі етапи процесу розробки ПЗ і вживаний усіма учасниками команди, створюючи не тільки єдину інтегровану середу розробки, а й єдину культурне середовище, загальний базис для всіх учасників команди.

Ядром VSTS є засоби забезпечення життєвого циклу елементів роботи (work items) - деяких дискретних характеристик проекту, навколо яких організується вся робота команди (див. рис. 12.1). Ось приклади елементів робіт:

• task - конкретна задача, яку необхідно виконати в проекті;

• bug - помилка, яка знайдена, чекає свого виправлення, виправляється, заново перевіряється;

• risk - ризик проекту, у якого теж може бути різний стан; як правило, за ризиками їх станами стежать менеджери проектів.

Кожен елемент робіт має набір різних станів, перелік подій, який можуть змінювати ці стани, а також відповідальна особа. Елемент роботи використовується для оперативного управління проектом наступним чином. Кожен з учасників команди бачить пов'язані з ним елементи робіт і після виконання відповідної роботи змінює їх стану, а, можливо і відповідальна особа. Наприклад, програміст виправив помилку і після цього для елемента робіт, що позначає цю помилку, він змінює стан (наприклад, Fixed) і відповідального - відповідного тестеровщіка, щоб останній протестував зміни коду.

Крім підтримки життєвого циклу елементів роботи в VSTS входять додаткові кошти - контролю версій, підтримки збірки, засоби інтеграції з офісними додатками (Project, Excel, Word), генератори різних звітів, засоби тестування і недо. ін Крім того, через відкритий програмний інтерфейс VSTS можна надбудовувати та іншим сервісами, що потрібні в процесі розробки. На рис ... ці можливі сервіси представлені порожніми кубиками, подібно вівтарів невідомим богам в одному стародавньому святилище.

Рис. 12.1.

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

Склад продукту

Огляд. Тепер подивимося на VSTS як на програмний продукт. Він є складним, складеним продуктом і розділяється на клієнтське ПЗ і серверне ПЗ - див. рис. 12.2.

Рис. 12.2. Архітектура VSTS

Розглянемо детальніше клієнтську частину. Стандартним клієнтом від компанії Microsoft є продукт Visual Studio Team Suite Edition. Цей продукт є однією з редакцій середовища розробки Visual Studio c додатковим продуктом - Team Explorer. Останній служить для доступу до сервісів серверної частини VSTS і вбудовується в Visual Studio. Крім того, завдяки відкритому програмного інтерфейсу до серверної частини VSTS - бібліотеки TFS Client API - вона інтегрується з різними середовищами розробки, наприклад, з Eclipse. Також існує значна кількість різних клієнтських продуктів від сторонніх виробників (найбільш успішні з яких Microsoft намагається асимілювати) 1).

Серверна частина VSTS складається з TFS (Team Foundation Server) - головної серверної компоненти, - а також компоненти Build Agent. TFS реалізує головну функціональність серверної частини і використовує два інших серверних продуктів Microsoft - Share Point (для організації Web-порталу з описом використовуваного шаблону процесу розробки, інших документів по процесу) і SQL Server (для зберігання даних TFS). Build Agent - це серверна компонента, яка відповідає за виконання зборок проектів. Винесення сервера збірки в окреме серверний додаток дозволяє прибрати процес складання з основною, серверної машини, де розміщений TFS, на додаткову машину, що відповідає саме за проведення збірок. Подібне розділення дозволяє значно знизити навантаження на основний сервер, особливо в разі використання підходу безперервної інтеграціі2).

Зупинимося на клієнтської і серверної частинах VSTS більш докладно.

Клієнтська частина VSTS. Зупинимося на стандартному клієнтському ПО, заснованому на середовищі розробки Visual Studio. Остання випускається в декількох комплектаціях (editions), орієнтованих на різних користувачів. При цьому видання, що включають інструменти комплексу VSTS мають у своїй назві слово "Team". Ось перелік цих видань.

• Microsoft Visual Studio Team System 2008 Architecture Edition розширено засобами управління повторним використанням, засобами візуального моделювання з генераторами кінцевого коду і недо. ін можливостями.

• Microsoft Visual Studio Team System 2008 Development Edition надання засобів аналізу коду з метою підвищення його якості, зокрема, виявлення складного, важкого в обслуговуванні шляхом оцінки відносин між класами, глибини спадкування, Цикломатичне складності, рядків коду і індексу зручності обслуговування. Сюди ж входять різні засоби профиляции додатків.

• Microsoft Visual Studio Team System 2008 Database Edition включає в себе засоби управління версіями всіх основних об'єктів баз даних, модульного тестірованіея баз даних, засоби підтримки еволюції схем, підтримка синтаксису SQL і багато чого іншого.

• Microsoft Visual Studio Team System 2008 Test Edition надає повний набір засобів тестування Web-додатків і Web-сервісів, інтегрований в середу Visual Studio. За допомогою даних засобів тестеровщікі можуть створювати, виконувати та керувати тестами і пов'язаними з ними елементами робіт VSTS безпосередньо з середовища Visual Studio. У це ж видання входять кошти навантажувального тестування, управління тестовими пакетами та інші можливості.

Крім чотирьох "рольових" видань, випускається і видання, яке об'єднує функції всіх чотирьох блоків - Microsoft Visual Studio Team System 2008 Team Suite. Умовно взаємозв'язок різних видань відображена на рис. 12.3.

Рис. 12.3. Схема Microsoft Visual Studio Team System 2008 Team Suite

Кожне з чотирьох "рольових" видань серії VSTS розширює ядро ​​(Team Edition Core) додатковими інструментами, призначеними для певної ролі (розробник, тестер, архітектор або фахівець по базах даних), а видання Team Suite є об'єднанням всіх чотирьох "рольових" видань.

Ядро складається з базової конфігурації Visual Studio - Visual Studio Professional, - яка є найбільш поширеним виданням середовища Visual Studio і повсюдно використовується для розробки програмного забезпечення. Вона доповнюється Team Explorer, призначеним для інтеграції з TFS.

Серверна частина VSTS. Отже, ядром комплексу інструментів VSTS є TFS, який не є цілісною системою, а представляє з себе набір стандартних продуктів (зокрема, SQL Server і Share Point), відповідним чином налаштованих і об'єднаних в єдине ціле за допомогою прошарку Web-сервісів. Архітектура серверної частини VSTS представлена ​​на рис. 12.4, де сірими прямокутниками показані компоненти VSTS, а білими - компоненти інших продуктів Microsoft. На цьому ж малюнку схематично позначена і клієнтська частина VSTS.

Рис. 12.4. Архітектура серверної частини VSTS

TFS, основна серверна підсистема VSTS, складається з двох основних рівнів: рівня програм та рівня даних. Рівень додатків TFS включає в себе наступні компоненти.

• SQL Server Analysis & Reporting - компонента пакета SQL Server, яка використовується TFS для побудови звітів аналізу статусу проектів. Доступ до цієї компоненті з клієнтської сторони здійснюється не через компоненту TFS Client API, а безпосередньо, засобами Web-браузера.

• SharePoint Services - компоненти з пакета Share Point, використовується для зберігання загальнодоступної інформації та опис використовуваного процесу розробки. Доступ до цієї компоненті з клієнтської сторони здійснюється не через TFS Client API, а безпосередньо, засобами Web-браузера.

• Share Point Extensions for TFS - розширення Share Point для TFS, яке забезпечує доступ до звітів і деяким функція TFS безпосередньо з Web-порталу.

• Team Foundation Server - головна компонента TFS, яка складається з набору Web-сервісів, доступних через TFS Client API клієнтського ПЗ та реалізують основні сервісні функції TFS, зокрема:

o версійність контроль,

o управління елементами роботи,

o робіт з шаблонами процесу,

o адміністрування і т.д.

• Team Foundation Build Service у складі TFS - призначена для ініціації процесу складання і передачі відповідного завдання компоненті Build Agent. Інший примірник цього додатка знаходиться в Build Agent і виконує там системні функції.

Рівень додатків реалізований на технології ASP.NET і працює під управлінням IIS (Internet Infromation Service). IIS є Web-сервером, тобто середовищем для роботи Web-сервісів TFS, забезпечуючи доступ до функціональності сервера VSTS з боку його клієнтів.

Рівень даних складається з набору баз даних, де TFS зберігає свої дані. Він реалізований на основі продуктів MS SQL Server і Share Point.

Залежно від розміру компанії-розробника ПЗ і передбачуваного навантаження ці два рівні TFS можуть бути встановлені на одному сервері (single-server deployment) або на двох різних серверах (dual-server deployment). Для дуже великих компаній можливе використання механізмів кластеризації, вбудованих в Microsoft SQL Server і Internet Information Server3).

Build Agent - ще одна серверна підсистема VSTS. Як вже говорилося вище, вона призначається для виконання складання проектів. Виконання складання проекту відбувається засобами пакета. NET Framework, за допомогою стандартної утиліти цього пакету MSBuild, яка, отримавши завдання на складання, викликає відповідний компілятор з. NET Framework. Цей же механізм використовується і для складання проекту, запущеною з Visual Studio.

У разі Build Agent виконання збірки відбувається за наступним сценарієм. Компонента TFS Build Service у складі TFS cообщает такий же компоненті на комп'ютері, де розташований Build Agent, що треба запустити виконання збірки. А та, в свою чергу, будучи системним сервісом і будучи запущеною, виявляється тим процесом Windows, в рамках якого і буде відбувається виконання складання під управлінням компоненти MSBuild. При цьому весь зв'язок з TFS для виконання сценарію збірки здійснює компонента Custom tasks. У сценарії складання вказується, звідки потрібно брати початкові тексти зібраного програми, звідки брати регресійні тести і як їх запускати, як створювати звіти за результатами зборок і т.д.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]