Спонсор: Microsoft
Опубликован: 27.06.2009 | Доступ: свободный | Студентов: 1622 / 28 | Оценка: 4.12 / 3.62 | Длительность: 13:51:00
Специальности: Программист
Лекция 9:

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

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

Роль разработчика в проекте заключается в реализации (кодировании) идей архитектора проекта. На практике функции, выполняемые разработчиками, — понятие неформализованное. В разных проектах оно может обретать свое содержание. Тем не менее, типовые функции, которые предполагают практически все программные проекты, можно перечислить. Так, в любом программном проекте есть функции кодирования, т.е. записи программы на алгоритмическом языке по имеющимся спецификациям, анализа требований, т.е. выявления истинной потребности в создаваемой программе, тестирования и отладки [1].

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

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

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

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

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

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

Для реализации взаимодействия между членами рабочей группы, был установлен Team Foundation Server. Он позволяет координировать работу отдельных членов команды, даже если их местоположение удалено друг от друга. В общем случае принцип работы с TFS(Team Foundation Server) выглядит следующим образом:

  • Менеджер проекта производит постановку задачи, указывает сроки сдачи и т.д.
  • Архитектор проекта разрабатывает архитектуру, реализовывает классы, формирует диаграммы
  • Разработчик проекта при подключении к TFS, получает задание и реализует его, результаты работы помещает на сервер
  • Тестер обращается к TFS, получает программный код программиста, и производит его тестирование

Для реализации проекта на рабочем компьютере программиста устанавливается версия VS 2005 для программиста – Visual Studio 2005 Team Edition for Software Developers. Данная версия, позволяет реализовывать проекты практически любой сложности, используя множество языков программирования.

Этап анализа требований

Требования - это исходные данные, на основании которых проектируются и создаются автоматизированные информационные системы.

Л.Новиков в русской редакции нотации RUP (Rational Unified Process) приводит следующее определение: "Требование - это условие или возможность, которой должна соответствовать система".

В IEEE Standard Glossary of Software Engineering Terminology (1990) данное понятие трактуется следующим образом, требование - это:

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

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

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

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

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

Внедрение ИС на предприятии всегда преследует конкретные бизнес-цели - повышение прозрачности бизнеса, сокращение сроков обработки информации, экономия накладных расходов и т.д.

Основной целью разработки новой версии сайта является повышение производительности его работы. Построенный на платформе ASP.NET, он дает лучшую производительность, чем раньше, и позволяет использовать все преимущества VS 2008, такие как: использование Web Parts, интеграция с Sharepoint, использование новой версии ADO.NET.

Сергей Черенкевич
Сергей Черенкевич
Казахстан