Главная
страница 1страница 2 ... страница 7страница 8
ОГЛАВЛЕНИЕ

Введение 2

1.Инструменты и методы программной инженерии 4

1.1.Инструменты работы с требованиями (Software Requirements Tools) 4

1.2.Инструменты проектирования (Software Design Tools) 5

1.3.Инструменты конструирования (Software Construction Tools) 5

1.4.Инструменты тестирования (Software Testing Tools) 6

1.5.Инструменты сопровождения (Software Maintenance Tools) 7

1.6.Инструменты конфигурационного управления (Software Configuration Management Tools) 7

1.7.Инструменты управления инженерной деятельностью (Software Engineering Management Tools) 8

1.8.Инструменты поддержки процессов (Software Engineering Process Tools) 8

1.9.Инструменты обеспечения качества (Software Quality Tools) 9

1.10.Дополнительные аспекты инструментального обеспечения (Miscellaneous Tool Issues) 9

2.Инструменты конструирования (Software Construction Tools) 10

2.1.Eclipse 11

2.2.IntelliJ IDEA 12

2.3.Netbeans 12

3.Конфигурационное управление 14

3.1.Цели и задачи 14

3.2.Процедуры управления конфигурацией 15

3.3.Инструменты отслеживания (tracking) дефектов, расширений и проблем 15



3.3.1.Состав информации о дефекте 15

3.3.2.Жизненный цикл дефекта 15

3.3.3.Atlassian JIRA 16

3.3.4.Trac 16

3.3.5.Redmine 17

3.3.6.Сравнение 18

3.4.Инструменты управления версиями 19



3.4.1.Типичный порядок работы с системой 21

3.4.2.Subversion 28

3.4.3.Mercurial 28

3.4.4.Git 29

3.5.Инструменты сборки и выпуска 30



3.5.1.Автоматизация сборки 30

3.5.2.Apache Ant 31

3.5.3.Apache Maven 32

3.6.Непрерывная интеграция 32



3.6.1.Hudson/Jenkins 34

3.6.2.Репозитории 34

Заключение 35

Литература 36

Введение


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

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

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

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





Инструменты и методы программной инженерии

1.Инструменты и методы программной инженерии

1.1.Инструменты работы с требованиями (Software Requirements Tools)


SWEBOK говорит о том, что инструменты, применяемые для работы с требованиями могут быть классифицированы в две категории: средства моделирования (modeling) и средства трассировки (traceability). Однако, на практике, моделирование требований, все же, является частью управления требований, как, кстати, и трассировка. В принципе, инструменты трассировки могут быть рассмотрены как самостоятельная категория, в силу своей значимости при проведении анализа требований, в первую очередь, анализа влияний требований и изменений (т.н. “impact analysis”). Но моделирование требований лишь часть управления требованиями. Поэтому, в приведенной ниже классификации предлагаемая модификация оригинального SWEBOK состоит в том, что вместо “инструментов моделирования требований” используется термин “инструменты управления требованиями”, при сохранении оригинального содержания данной темы SWEBOK. Соответственно,

  • Инструменты управления требованиями (моделирования требований – Requirements modeling tools). Эти инструменты используются для извлечения (eliciting), анализа, специфицирования и проверки программных требований.

  • Инструменты трассировки требований (Requirement traceability tools). Эти инструменты становятся все более важными по мере повышения сложности программного обеспечения. В силе того, что они также относятся и к другим процессам жизненного цикла, здесь они представлены в качестве самостоятельной категории средств работы с требованиями.

Необходимо заметить, что трассировка является неотъемлемой частью полноценной работы с требованиями, что приводит к естественному объединению предлагаемых SWEBOK категорий инструментов в единый класс “инструментов управления требованиями”, функциональное содержание которых может варьироваться, например, в зависимости от сложности проектов и уровня зрелости процессов. Если мы обратимся, например, к модели CMMI Staged, мы увидим, что на 2-м уровне зрелости речь идет об “управлении требованиями” – Requirement Management, а на 3-м уровне зрелости обсуждается “разработка требований” – Requirement Development, обладающая более ёмким содержанием. В то же самое время, с технократической точки зрения, требования могут восприниматься и как элементы конфигураций, наравне с запросами на изменения и другими активами проекта (см. область знаний SWEBOK “Конфигурационное управление”). Таким образом, в ряде случаев (что подтверждается конкретными программными средствами, доступными на рынке программного обеспечения), в качестве инструмента работы с требованиями может выступать и система конфигурационного управления, если, конечно, она изначально не ограничена базовой функциональностью контроля версий <файлов>. С другой стороны, сегодняшние средства моделирования на основе UML и BPMN могут также рассматриваться как элементы инструментального обеспечения работы с требованиями, что часто отражается в их функциональности, включающей тесную интеграцию с “классическими” средствами управления требованиями, а сама интеграция воплощена не только в визуальном представлении работы с репозиториями требований, но и в автоматизации трассировки между моделями (и/или их элементами) и требованиями, соответственно.

следующая страница >>
Смотрите также:
Инструменты и методы программной инженерии
557.69kb.
8 стр.
Методика применения методов программной инженерии на этапах разработки информационной системы
77.28kb.
1 стр.
Программная инженерия
816.39kb.
6 стр.
Программа 231000. 68 Методология программной инженерии Основы жизненного цикла программных средств
46.64kb.
1 стр.
Программная инженерия: назначение, основные принципы и понятия 1Предпосылки и история
442.95kb.
8 стр.
«Виртуоз» проект для преподавателей вузов России В. Л. Павлов, Л. В. Нестеренко, В. П. Гергель, С. Н. Карпенко
42.51kb.
1 стр.
Тезисы доклада «Эксперимент: когенерация науки и инженерии»
81.3kb.
1 стр.
Инструменты и методы управления мощностью организации сферы услуг
453.16kb.
3 стр.
Методы и инструменты государственной поддержки нанотехнологий в экономике России
20.48kb.
1 стр.
Инструменты рисования и редактирования. Ретушь изображений
140.13kb.
1 стр.
Программа: Отделение экологической инженерии
73.75kb.
1 стр.
Программа курса прикладная молекулярная биология
59.08kb.
1 стр.