Работа в Microsoft Visual Studio

Инсталляция рабочего места разработчика проекта, разработка фрагментов проекта

Разбить на страницы
Показывать лекцию целиком

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

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

Инсталляция рабочего места архитектора описана в лабораторной работе 3.

Целью данной лабораторной работы является освоение инструментария разработчика проекта.

Рассмотрим основной инструментарий разработчика, который предлагает нам VSTS 2008.

Work Item - как правило, создание этого элемента предваряет начало какого-либо действия. Типичным представителем work item является элемент "задача"(task). Задача, как правило, назначается кому-то из команды разработчиков, она может комментироваться, отслеживаться, включаться в отчеты и закрываться после завершения.

Создание рабочего элемента "задача".

Для создания нового рабочего элемента в VSTS достаточно выбрать соответствующий пункт меню, чтобы появилось окно создания требуемого элемента.

(рис 16.1) Командное меню VSTS (рис 16.2) Создание рабочего элемента

При создании задачи указывается ее приоритет ( priority ), учетная запись, которой назначается задача ( assigned to ) и описание самой задачи ( Description ).

Также к наиболее важным рабочим элементам относятся:

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

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

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

Реализация программной структуры.

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

Для запуска реализации необходимо выбрать пункт Implement all applications из выпадающего меню диаграммы приложений.

(рис 16.3) Реализация программной структур

После этого VSTS сама закончит процесс реализации и в проекте появятся необходимые элементы.

Дизайнер классов (Class Designer).

Есть два различных способа создания кода в VSTS. Первый - непосредственное написание кода вручную, второй - использование дизайнера классов. В дизайнере классов код формируется на основе графического представления классов.

Работа с дизайнером классов.

Для того чтобы перейти к дизайнеру классов достаточно выделить проект и выбрать пункт View class diagram из выпадающего меню.

(рис 16.4) Переход к дизайнеру классов

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

(рис 16.5) Панель инструментов дизайнера классов

Для того, чтобы создать новый класс достаточно выбрать нужный тип класса из панели инструментов и "перетащить7quot; его на поле дизайнера классов.

(рис 16.6) Создание классов

Проставим связь типа "ассоциация" между классами Photo и Album. Для этого необходимо выбрать в панели инструментов выбрать элемент Association, затем выбрать класс, для которого проставляется данная связь, после чего выбрать ассоциируемый класс. Проставим связь "ассоциация" для класса Photo с классом Album.

(рис 16.7) Установление связи между классами

Для добавления метода классу достаточно выделить сам класс и из выпадающего меню выбрать Add - Method.

(рис 16.8) Добавление метода классу

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

Добавим классу Photo свойство Date и посмотрим на сформировавшийся автоматически код.

Выберем Add-Property.

(рис 16.9) Добавление свойства классу

Добавим свойство Date.

(рис 16.10) Определение имени свойства

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

Зададим следующие свойства: в поле type установим datetime, в поле static - true.

(рис 16.11) Панель свойств класса

Сохраним внесенные изменения и посмотрим код, который сформировался для класса Photo:

public class Photo {

	private int _id;
	private int _albumid;
	private string _caption;

	public int PhotoID { get { return _id; } }
	public int AlbumID { get { return _albumid; } }
    public string Caption { get { return _caption; } }

    public global::Album Album
    {
        get
        {
            throw new System.NotImplementedException();
        }
        set
        {
        }
    }

    public static datetime Date
    {
        get
        {
            throw new System.NotImplementedException();
        }
        set
        {
        }
    }

	public Photo(int id, int albumid, string caption) {
		_id = id;
		_albumid = albumid;
		_caption = caption;
	}

}

Видим, что к коду класса добавилось свойство Date с параметрами static и datetime, как раз то, что мы определили в окне свойств Date.

Аналогичным образом классу могут добавляться методы и исключения.

Контроль версий (Version Control)

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

(рис 16.12) Уровни блокировки файлов

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

None - пользователи могут изменить и просмотреть любой существующий файл.

Check Out - пользователи не могут изменить файл или сохранить измененную версию файла на сервере TFS.

Check In - пользователи могут просмотреть изменения, но не могут сохранить измененный ими файл на сервере.

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

Для того, чтобы загрузить на сервер внесенные изменения, необходимо выполнить Check In. Для этого в окне Source Control необходимо выделить проект и выбрать из выпадающего меню пункт Check In Pending Changes.

(рис 16.13) Загрузка на сервер внесенных изменений

Затем в окне Check In - Source files необходимо выбрать файлы, которые будут внесены на сервер, ввести, если необходимо комментарии и нажать Check In.

(рис 16.14) Файлы для загрузки на сервер

Средство управления сборками Team Foundation Build

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

Чтобы пользоваться инструментом Team Foundation Build нужно определить хотя бы один тип сборки. Тип сборки в VSTS реализуется в виде групп файлов, где описана последовательность действий и условия, при которых сборка решения или набора решений считается выполненной. Для каждого типа сборки задается набор параметров, по которым Team Foundation Build определяет, как она должна проводиться. В частности указывается какое решение или набор решений подлежит сборке, какой сборочный сервер следует использовать, где должна проводиться сборка, какие тесты необходимо выполнить и следует ли проводить статистический анализ кода.

Создание нового build type

В меню Build нужно выбрать New Build Definition.

(рис 16.15) Создание нового типа сборки

В появившемся окне во вкладке General нужно ввести имя, создаваемой сборки.

(рис 16.16) Определение имени нового типа сборки

Далее необходимо заполнить поля во вкладке Build Defaults

(рис 16.17) Определение параметров сборки

Во вкладке Project File нужно нажать Create, для того чтобы запустить мастер создания нового типа сборки.

(рис 16.18) Определение папки сборки

В появившемся окне нужно выбрать решение, которое необходимо собрать, и нажать Next.

(рис 16.19) Мастер создания нового типа сборки

Дальше необходимо задать конфигурацию и платформу для сборк. В данном примере выберем конфигурацию release и платформу Any

(рис 16.20) Определение конфигураций сборки

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

(рис 16.21) Определение опций сборки

Для окончания создания нового типа сборки нужно нажать Finish.

Резюмируя вышеописанное, можно сказать, что VSTS 2008 обеспечивает разработчика всем необходимым инструментарием, ассортимент которого значительно шире, чем в предыдущих версиях Visual Studio.

Задание:

  • Разработайте структуру классов для своей подсистемы (номера и названия подсистем см. в лабораторной работе 1), в соответствии с таблицей 1. Определите методы и свойства каждого класса. Реализуйте разработанную структуру средствами дизайнера классов. В обязательном порядке должны быть реализованы принципы и механизмы наследования.
    Номер варианта Номер подсистемы
    1 1
    2 2
    3 3
    4 4
    5 5
    6 6
    7 7
  • В соответствии с частью 2 лабораторной работы 7 проведите отладку проекта. Сопровождайте ваши действия созданием и изменением соответствующих рабочих элементов.
  • В соответствии с частью 3 лабораторной работы 7 создайте сценарий сборки и выполните ее. Создайте отчет о результатах сборки и разместите его на портале проекта.
  • Страницы:

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

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

    Инсталляция рабочего места архитектора описана в лабораторной работе 3.

    Целью данной лабораторной работы является освоение инструментария разработчика проекта.

    Рассмотрим основной инструментарий разработчика, который предлагает нам VSTS 2008.

    Work Item - как правило, создание этого элемента предваряет начало какого-либо действия. Типичным представителем work item является элемент "задача"(task). Задача, как правило, назначается кому-то из команды разработчиков, она может комментироваться, отслеживаться, включаться в отчеты и закрываться после завершения.

    Создание рабочего элемента "задача".

    Для создания нового рабочего элемента в VSTS достаточно выбрать соответствующий пункт меню, чтобы появилось окно создания требуемого элемента.

    (рис 16.1) Командное меню VSTS (рис 16.2) Создание рабочего элемента

    При создании задачи указывается ее приоритет ( priority ), учетная запись, которой назначается задача ( assigned to ) и описание самой задачи ( Description ).

    Также к наиболее важным рабочим элементам относятся:

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

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

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

    Реализация программной структуры.

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

    Для запуска реализации необходимо выбрать пункт Implement all applications из выпадающего меню диаграммы приложений.

    (рис 16.3) Реализация программной структур

    После этого VSTS сама закончит процесс реализации и в проекте появятся необходимые элементы.

    Дизайнер классов (Class Designer).

    Есть два различных способа создания кода в VSTS. Первый - непосредственное написание кода вручную, второй - использование дизайнера классов. В дизайнере классов код формируется на основе графического представления классов.

    Работа с дизайнером классов.

    Для того чтобы перейти к дизайнеру классов достаточно выделить проект и выбрать пункт View class diagram из выпадающего меню.

    (рис 16.4) Переход к дизайнеру классов

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

    (рис 16.5) Панель инструментов дизайнера классов

    Для того, чтобы создать новый класс достаточно выбрать нужный тип класса из панели инструментов и "перетащить7quot; его на поле дизайнера классов.

    (рис 16.6) Создание классов

    Проставим связь типа "ассоциация" между классами Photo и Album. Для этого необходимо выбрать в панели инструментов выбрать элемент Association, затем выбрать класс, для которого проставляется данная связь, после чего выбрать ассоциируемый класс. Проставим связь "ассоциация" для класса Photo с классом Album.

    (рис 16.7) Установление связи между классами

    Для добавления метода классу достаточно выделить сам класс и из выпадающего меню выбрать Add - Method.

    (рис 16.8) Добавление метода классу

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

    Добавим классу Photo свойство Date и посмотрим на сформировавшийся автоматически код.

    Выберем Add-Property.

    (рис 16.9) Добавление свойства классу

    Добавим свойство Date.

    (рис 16.10) Определение имени свойства

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

    Зададим следующие свойства: в поле type установим datetime, в поле static - true.

    (рис 16.11) Панель свойств класса

    Сохраним внесенные изменения и посмотрим код, который сформировался для класса Photo:

    public class Photo {
    
    	private int _id;
    	private int _albumid;
    	private string _caption;
    
    	public int PhotoID { get { return _id; } }
    	public int AlbumID { get { return _albumid; } }
        public string Caption { get { return _caption; } }
    
        public global::Album Album
        {
            get
            {
                throw new System.NotImplementedException();
            }
            set
            {
            }
        }
    
        public static datetime Date
        {
            get
            {
                throw new System.NotImplementedException();
            }
            set
            {
            }
        }
    
    	public Photo(int id, int albumid, string caption) {
    		_id = id;
    		_albumid = albumid;
    		_caption = caption;
    	}
    
    }

    Видим, что к коду класса добавилось свойство Date с параметрами static и datetime, как раз то, что мы определили в окне свойств Date.

    Аналогичным образом классу могут добавляться методы и исключения.

    Контроль версий (Version Control)

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

    (рис 16.12) Уровни блокировки файлов

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

    None - пользователи могут изменить и просмотреть любой существующий файл.

    Check Out - пользователи не могут изменить файл или сохранить измененную версию файла на сервере TFS.

    Check In - пользователи могут просмотреть изменения, но не могут сохранить измененный ими файл на сервере.

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

    Для того, чтобы загрузить на сервер внесенные изменения, необходимо выполнить Check In. Для этого в окне Source Control необходимо выделить проект и выбрать из выпадающего меню пункт Check In Pending Changes.

    (рис 16.13) Загрузка на сервер внесенных изменений

    Затем в окне Check In - Source files необходимо выбрать файлы, которые будут внесены на сервер, ввести, если необходимо комментарии и нажать Check In.

    (рис 16.14) Файлы для загрузки на сервер

    Средство управления сборками Team Foundation Build

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

    Чтобы пользоваться инструментом Team Foundation Build нужно определить хотя бы один тип сборки. Тип сборки в VSTS реализуется в виде групп файлов, где описана последовательность действий и условия, при которых сборка решения или набора решений считается выполненной. Для каждого типа сборки задается набор параметров, по которым Team Foundation Build определяет, как она должна проводиться. В частности указывается какое решение или набор решений подлежит сборке, какой сборочный сервер следует использовать, где должна проводиться сборка, какие тесты необходимо выполнить и следует ли проводить статистический анализ кода.

    Создание нового build type

    В меню Build нужно выбрать New Build Definition.

    (рис 16.15) Создание нового типа сборки

    В появившемся окне во вкладке General нужно ввести имя, создаваемой сборки.

    (рис 16.16) Определение имени нового типа сборки

    Далее необходимо заполнить поля во вкладке Build Defaults

    (рис 16.17) Определение параметров сборки

    Во вкладке Project File нужно нажать Create, для того чтобы запустить мастер создания нового типа сборки.

    (рис 16.18) Определение папки сборки

    В появившемся окне нужно выбрать решение, которое необходимо собрать, и нажать Next.

    (рис 16.19) Мастер создания нового типа сборки

    Дальше необходимо задать конфигурацию и платформу для сборк. В данном примере выберем конфигурацию release и платформу Any

    (рис 16.20) Определение конфигураций сборки

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

    (рис 16.21) Определение опций сборки

    Для окончания создания нового типа сборки нужно нажать Finish.

    Резюмируя вышеописанное, можно сказать, что VSTS 2008 обеспечивает разработчика всем необходимым инструментарием, ассортимент которого значительно шире, чем в предыдущих версиях Visual Studio.

    Задание:

  • Разработайте структуру классов для своей подсистемы (номера и названия подсистем см. в лабораторной работе 1), в соответствии с таблицей 1. Определите методы и свойства каждого класса. Реализуйте разработанную структуру средствами дизайнера классов. В обязательном порядке должны быть реализованы принципы и механизмы наследования.
    Номер варианта Номер подсистемы
    1 1
    2 2
    3 3
    4 4
    5 5
    6 6
    7 7
  • В соответствии с частью 2 лабораторной работы 7 проведите отладку проекта. Сопровождайте ваши действия созданием и изменением соответствующих рабочих элементов.
  • В соответствии с частью 3 лабораторной работы 7 создайте сценарий сборки и выполните ее. Создайте отчет о результатах сборки и разместите его на портале проекта.
  • Вернуться к учебному плану