9-software_engineering_tools_and_methods (1133549)
Текст из файла
Основы программной инженерии (по SWEBOK)Программная инженерия. Инструменты и методы программной инженерии.Программная инженерияИнструменты и методы программной инженерии(Software Engineering Tools and Methods)®Глава базируется на IEEE Guide to the Software Engineering Body of Knowledge - SWEBOK , 2004.Содержит перевод описания области знаний SWEBOK® “Software Engineering Tools and Methods”, скомментариями и замечаниями."Основы программной инженерии" разработаны на базе IEEE Guide to SWEBOK® 2004 в соответствии с IEEESWEBOK 2004 Сopyright and Reprint Permissions: "This document may be copied, in whole or in part, in any formor by any means, as is, or with alterations provided that (1) alterations are clearly marked as alterations and (2) thiscopyright notice is included unmodified in any copy."Русский перевод SWEBOK 2004 с замечаниями и комментариями подготовлены Сергеем Орликомпри участии Юрия Булуя.
Дополнительные главы написаны Сергеем Орликом. Текст расширений SWEBOKотмечен ццветом, отличным от перевода оригинального текста."Основы программной инженерии" Сopyright © 2004-2010 Сергей Орлик. Все права защищены.SWEBOK Сopyright © 2004 by The Institute of Electrical and Electronics Engineers, Inc.
All rights reserved.Официальный сайт “Основ программной инженерии” (по SWEBOK) - http://swebok.sorlik.ruCopyright © Сергей Орлик, 2004-2010.http://swebok.sorlik.ru1Основы программной инженерии (по SWEBOK)Программная инженерия. Инструменты и методы программной инженерии.Программная инженерияИнструменты и методы программной инженерии (Software Engineering Toolsand Methods)Программная инженерия ...................................................................................................................... 2Инструменты и методы программной инженерии (Software Engineering Tools and Methods).......... 21. Инструменты программной инженерии (Software Engineering Tools) .......................................
31.1 Инструменты работы с требованиями (Software Requirements Tools) ................................ 31.2 Инструменты проектирования (Software Design Tools) ........................................................ 41.3 Инструменты конструирования (Software Construction Tools) .............................................. 41.4 Инструменты тестирования (Software Testing Tools) ........................................................... 51.5 Инструменты сопровождения (Software Maintenance Tools) ................................................ 61.6 Инструменты конфигурационного управления (Software Configuration Management Tools) 61.7 Инструменты управления инженерной деятельностью (Software Engineering ManagementTools) ...........................................................................................................................................
71.8 Инструменты поддержки процессов (Software Engineering Process Tools) ......................... 71.9 Инструменты обеспечения качества (Software Quality Tools) .............................................. 71.10 Дополнительные аспекты инструментального обеспечения (Miscellaneous Tool Issues) . 82. Методы программной инженерии (Software Engineering Methods) ...........................................
82.1 Эвристические методы (Heuristic Methods) .......................................................................... 82.2 Формальные методы (Formal Methods) ................................................................................ 82.3 Методы прототипирования (Prototyping Methods) ................................................................
9Программные инструменты предназначены для обеспечения поддержки процессов жизненногоцикла программного обеспечения. Инструменты позволяют автоматизировать определенныеповторяющиеся действия, уменьшая загрузку инженеров рутинными операциями и помогая имсконцентрироваться на творческих, нестандартных аспектах реализации выполняемых процессов.Инструменты часто проектируются с целью поддержки конкретных (частных) методовпрограммной инженерии, сокращая административную нагрузку, ассоциированную с “ручным”применением соответствующих методов. Так же, как и методы программной инженерии,инструменты призваны сделать программную инженерию более систематической деятельностью ипо своему содержанию (предлагаемой функциональности) могут варьироваться от поддержкиотдельных индивидуальных задач вплоть до охвата всего жизненного цикла (в этом случае частоговорят об инструментальной платформе или просто платформе разработки).Методы программной инженерии накладывают определенные структурные ограничения надеятельность в рамках программной инженерии с целью приведения этой деятельности всоответствие с заданным систематическим подходом и более вероятным и скорым, с точки зрениясоответствующего метода, достижением успеха.
Методы обычно предоставляют соответствующиесоглашения (нотацию), словарь <терминов и понятий> и процедуры выполненияидентифицированных (и охватываемых методом) задач, а также рекомендации по оценке ипроверке <выполняемого> процесса и <получаемого в его результате> продукта. Методы, как иинструменты, варьируются по содержанию (охватываемой области применения) от отдельнойфазы жизненного цикла (или даже процесса) до всего жизненного цикла. Данная область знанийкасается только методов, охватывающих множество фаз (этапов) жизненного цикла. Те методы,применение которых фокусируется на отдельных фазах жизненного цикла или частных процессах,описаны в соответствующих областях знаний.Существует множество детальных описаний и руководств по конкретным инструментам, иисследований, посвященных анализу (и категоризации, в первую очередь, со стороны аналитиков)уже применяемых и новых инструментальных средств (и вероятным направлениям их развития).
Втаком контексте, общее техническое описание инструментов программной инженерии,действительно, может отпугнуть. (В то же время, с точки зрения автора, при всей неоднозначностилюбой категоризации инструментов, может быть сформирован общий взгляд на их целевуюфункциональность, пусть в чем то и спорный, что, отразится в определенных случаях ниже всоответствующих авторских комментариях). Одна из основных сложностей такого описания, вобщем случае, заключается в высокой изменчивости и быстром эволюционировании программныхCopyright © Сергей Орлик, 2004-2010.http://swebok.sorlik.ru2Основы программной инженерии (по SWEBOK)Программная инженерия. Инструменты и методы программной инженерии.инструментов. Конкретные аспекты функциональности инструментов достаточно быстроизменяются, что усложняет приведение конкретных актуальных примеров.Данная область знаний охватывает все процессы жизненного цикла и, соответственно, связана совсеми другими областями знаний SWEBOK.Рисунок 1.
Область знаний “Инструменты и методы программной инженерии” [SWEBOK, 2004,с.10-1, рис. 1]1. Инструменты программной инженерии (Software Engineering Tools)Первые пять тем данной секции соответствуют первым пяти областям знаний SWEBOK требования, проектирование, конструирование, тестирование и сопровождение. Следующиечетыре темы касаются оставшихся четырех областей знаний – конфигурационного управления,управления программной инженерией, процессов и качества, соответственно. Также в даннойсекции представлена еще одна тема – “Дополнительные аспекты инструментального обеспечения”(в оригинале SWEBOK она называется “Miscellaneous”), посвященная таким вопросам как,например, интеграция инструментов, которые потенциально касаются всех классов инструментов.1.1 Инструменты работы с требованиями (Software Requirements Tools)SWEBOK говорит о том, что инструменты, применяемые для работы с требованиями могут бытьклассифицированы в две категории: средства моделирования (modeling) и средства трассировки(traceability).
Однако, на практике, моделирование требований, все же, является частьюуправления требований, как, кстати, и трассировка. В принципе, инструменты трассировки могутбыть рассмотрены как самостоятельная категория, в силу своей значимости при проведениианализа требований, в первую очередь, анализа влияний требований и изменений (т.н. “impactanalysis”). Но моделирование требований лишь часть управления требованиями.
Поэтому, вприведенной ниже классификации предлагаемая модификация оригинального SWEBOK состоит вCopyright © Сергей Орлик, 2004-2010.http://swebok.sorlik.ru3Основы программной инженерии (по SWEBOK)Программная инженерия. Инструменты и методы программной инженерии.том, что вместо “инструментов моделирования требований” используется термин “инструментыуправления требованиями”, при сохранении оригинального содержания данной темы SWEBOK.Соответственно,Инструменты управления требованиями (моделирования требований – Requirementsmodeling tools). Эти инструменты используются для извлечения (eliciting), анализа,специфицирования и проверки программных требований.Инструменты трассировки требований (Requirement traceability tools).
Эти инструментыстановятся все более важными по мере повышения сложности программного обеспечения.В силе того, что они также относятся и к другим процессам жизненного цикла, здесь онипредставлены в качестве самостоятельной категории средств работы с требованиями.Необходимо заметить, что трассировка является неотъемлемой частью полноценной работы стребованиями, что приводит к естественному объединению предлагаемых SWEBOK категорийинструментов в единый класс “инструментов управления требованиями”, функциональноесодержание которых может варьироваться, например, в зависимости от сложности проектов иуровня зрелости процессов. Если мы обратимся, например, к модели CMMI Staged, мы увидим, чтона 2-м уровне зрелости речь идет об “управлении требованиями” – Requirement Management, а на3-м уровне зрелости обсуждается “разработка требований” – Requirement Development,обладающая более ѐмким содержанием.
Характеристики
Тип файла PDF
PDF-формат наиболее широко используется для просмотра любого типа файлов на любом устройстве. В него можно сохранить документ, таблицы, презентацию, текст, чертежи, вычисления, графики и всё остальное, что можно показать на экране любого устройства. Именно его лучше всего использовать для печати.
Например, если Вам нужно распечатать чертёж из автокада, Вы сохраните чертёж на флешку, но будет ли автокад в пункте печати? А если будет, то нужная версия с нужными библиотеками? Именно для этого и нужен формат PDF - в нём точно будет показано верно вне зависимости от того, в какой программе создали PDF-файл и есть ли нужная программа для его просмотра.