Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Не вказано

Інформація про роботу

Рік:
2012
Тип роботи:
Звіт
Предмет:
Інші

Частина тексту файла (без зображень, графіків і формул):

Міністерство освіти і науки України НУ »Львівська політехніка» Звіт З дисципліни: Основи командної розробки Розробив: Група ПІм-41з Перевірив: Климаш Т.С. м. Хмельницький 2012 Тема: Архітектура проекту у Visual Studio. Мета: розробити архітектуру проекту у Visual Studio. Коли проектується архітектура додатка, все красиво, логічно і відповідає кращим світовим практикам. Але в процесі роботи, стикаючись з обмеженнями пропонованими архітектурою, ми часто думаємо: «Ось тут трошки порушу, адже це заощадить мені годину часу розробки. Ну а потім, як буде час, поправлю ». Але, чомусь, цей час так ніколи і не настає. На мій погляд, єдиним способом змусити себе, як програміста, слідувати розробленій архітектурі, це навчити середовище розробки всі відхилення і милиці показувати як помилки компіляції. У цьому випадку, якщо код поганий, він відразу буде виправлений, ну а якщо архітектура застаріла, то буде виправлена ​​вона. Тобто в сховище коду завжди буде код відповідної запланованої архітектурі.  Пара слів, про те, що буде підкатом: Невелика преамбула. Відновлення архітектури за наявним проектом. Налаштування Visual Studio і TFS для автоматичного контролю архітектури. Підготовка демонстраційного проекту Для демонстрації роботи з Layer Diagram, візьмемо проект, трохи ближчий до реальності. Нехай буде шар доступу до даних (Entity Framework) і, власне, шар клієнтських додатків в якому також буде шарувата структура (MVVM). У клієнтському рівні модель буде братися з першого шару, а от шари View і ViewModel будуть розмазані по декільком зборках. Ось так, ці чотири проекти виглядають після створення: / Рис.1 Можна змінити Namespace за замовчуванням для створюваних зборок. У цьому прикладі, для 3-х клієнтських зборок заменяєм Default Namespace: / Рис.2 Додаємо в проект DAL базу даних і Entity Model. У клієнтських проектах створюємо папки View і ViewModel. Додаємо в них тестові компоненти й класи: Рис.3 Додавши посилання між проектами, звернення між створеними компонентами і класами, можна отримати граф залежностей приблизно такого вигляду: / Рис.4 Якщо розбиття на шари, йде на рівні зборок, то у зв'язку із забороною на циклічні посилання між збірками (інакше не можна визначити порядок побудови), можлива тільки проблема «звернення через шар». Якщо ж у проекті, як в даному випадку, шари розмазані по декільком зборках, причому в рамках однієї збірки є представники різних верств, перетягування проектів / файлів з ​​Solution Explorer-а в Layer Diagram виявляється не ефективним. І тут на допомогу приходить Architecture Explorer, який викликається з головного меню: Architecture -> Windows -> Architecture Explorer. Відразу після відкриття він матиме вигляд: / Рис.5 Відновлення діаграми шарів з артефактів рішення  Додаємо в рішення модельний проект, вже в нього додаємо Layer Diagram: / Рис.6 Тут ми можемо перетяуть з Toolbox-а шари, намалювати залежності, потім довго і наполегливо в ці шари переносити класи з клієнтських проектів. І все це тільки для того, щоб вже на наступний день, коли розробник додасть новий клас, про який ми не знаємо, і до шарів він не прив'язаний, а отже перевірка перестане працювати. Щоб цього уникнути, нам і придасться Architecture Explorer. / Рис.7 Зверніть увагу, що всі класи ViewModel опинилися в одному просторі імен (ну нехай в реальному проекті вони будуть в 3-5), і нам тепер можна в діаграму шарів додавати не класи, а цілком простору імен. Виділяємо їх і, не створюючи ніяких шарів, перетягуємо на нашу Layer Diagram:/ Рис.8 До речі, можемо скористатися і функціоналом перетягування проектів з Solution Explorer-а. З Shift-ом виділяємо в ньому ClientApp1, ClientApp2 і Base.Library, хапаємо лівою кнопкою миші і перетягуємо на вільне місце в Layer Diagram: / Рис.9 Перейменовуємо новий шар в Presentation, виділяємо два шари (View і View Model) і перетягуємо їх в шар Presentation: / Рис.10 Практично все готово, бракує тільки зв'язків. Для того, щоб їх згенерувати, досить викликати контекстне меню на Layer Diagram-е і вибрати пункт Generate Dependencies:/ Рис.11 Тепер, наша діаграма шарів прийняла закінчений вигляд: / Рис.12 Автоматичний контроль архітектури  Ну і останній момент, як змусити діаграму шарів автоматично, при кожному побудові перевіряти, що код відповідає архітектурі? Для демонстрації, я в ClientApp1, в папку View додам компонент, який буде безпосередньо звертатися до шару доступу до даних: / Рис.13 Запускаємо побудову і бачимо: Build succeeded. Для того, щоб білди при помилках архітектури падали, необхідно відкрити властивості моделі з Solution Explorer-а (через контестное меню або вибрати і натиснути F4) і включити перевірку архітектури: Ще раз запускам побудову і бачимо, що у нас з'явилися помилки архітектури: / Рис.14 Подвійний клік на помилку, відразу привід до місця, в яке забитий милицю.  Звичайно, перевірка залежностей призводить до збільшення часу компіляції, тому можна зібрати два рішення, одне з яких працюють розробники (в нього не включати Modeling Project), а друге, з тим же набором проектів і Modeling Project, для автоматичних побудов в Team Foundation Server. У цьому випадку на робочих місцях побудова йде швидше, а контроль архітектури виконується на сервері, причому по помилках побудови, можуть відразу генеруватися баги.  Перед тим, як перейти до висновків, невелика ремарка. Все описане в даній статті працює і в Visual Studio 2010 і в Visual Studio 2012. Єдино, потрібна версія Ultimate або Premium. Висновки:  1. Layer Diagram це інструментарій, про який треба як мінімум знати, і в нових проектах починати застосовувати  2. Автоматична перевірка архітектури дозволить знизити кількість «милиць» забитих в поспіху або по не знанню  3. Правильне іменування просторів імен та застосування Architecture Explorer-а дозволяє істотно скоротити час на відновлення архітектури Висновок: на лабораторній роботі розробили архітектуру проекту у Visual Studio.
Антиботан аватар за замовчуванням

24.02.2013 22:02-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!