Редактор нотации пользовательских требований (user requirements notation)- jUCMNav

Feb 20, 2010 11:26

Нотация пользовательских требований (User Requirements Notation, URN) состоит из графического целеориентированного языка требований (Goal-oriented Requirements Language, GRL) для нефункциональных требований и карт сценариев использования (Use Case Maps) для функциональных требований. Подробности про языки -- http://jucmnav.softwareengineering.ca/ucm/bin/view/UCM/WebHome). Свободный Eclipse-плагин редактора для всего этого языкового требовательного разнообразия: http://jucmnav.softwareengineering.ca/ucm/bin/view/ProjetSEG/WebHome

Корни тут из агентских систем (см., например, Tropos -- известную методологию разработки агентского софта http://www.troposproject.org/ и там про requirements engineering -- http://www.troposproject.org/node/120).

URN была стандартизирована ITU (International Telecommunication Union) как рекомендация Z.151 в ноябре 2008 (из той же языковой семьи, что SDL, MSC, TTCN-3 и ASN.1), т.е. целевая область применения -- требования к телекоммуникационным системам и описание организационных (business) процессов.

GRL был стандартизирован как подмножество i* (http://istar.rwth-aachen.de/tiki-index.php) -- агентского языка моделирования социо-технических сложных систем в терминах акторов, их намерений и взаимоотношений. Этот заход с акторами крайне важен: моделируются заинтересованные стороны, включая их взаимоотношения и намерения, что часто опускается в "традиционном" анализе требований.

В http://jucmnav.softwareengineering.ca/ucm/bin/view/UCM/VirLibRIGiM09 (статья и презентация в аттачах) сказано про связь URN и i*. В частности, GRL имеет только акторов, а i* также определяет роли, агентов и позиции. Зато GRL имеет "стратегии". Суть статьи: GRL может иметь профили, созданные при использовании языка ограничений OCL, метаданных языка и связей (links) URN).

Это довольно широко распространенная школа работы с требованиями, в публикациях там больше 250 работ на эту тему: http://jucmnav.softwareengineering.ca/ucm/bin/view/UCM/UCMVirtualLibraryAllPubsPerYear

Странная аллюзия у меня -- это Flying Logic в ее именно логической части. Уж больно похоже с propagation влияния и "аргументационной поддержкой"! Но ведь все эти деревья Голдратта как раз и предназначены для выработки требований (и доказательству того, что требования являются правильными)!

Безусловно, это моделецентрическая работа с требованиями, хотя это совсем-совсем другие "модели", нежели выразимые в Modelica (да и в ModelicaML). Требования -- это просто модели, с деонтическим оператором к ним, но кроме этого в случае именно требований важно, чьи именно это требования. В "просто модели" этого нет, нужно менять определение: добавлять заинтересованные стороны, акторов.

Я рассматриваю эти все концептуализации как "моделирование" в противоположность "онтологизированию". В любом случае, это все потом можно (и даже нужно) будет осмыслить и затащить под ISO 15926. Помним про "программирование, моделирование, онтологизирование" (в http://ailev.livejournal.com/784347.html -- и там ссылка на любимого Конрада Бока http://www.nist.gov/cgi-bin//get_pdf.cgi?pub_id=904119).

В любом случае, это не убогие таблички из DOORS или даже IRqA. Это работа с семантикой, что радует.
Previous post Next post
Up