Джим Арлоу, Айла Нейштадт - UML 2 и Унифицированный процесс. Практический объектно-ориентированный анализ и проектирование (1037782), страница 105
Текст из файла (страница 105)
Эти документы обычно создаются в текстовомредакторе, однако это не лучший инструмент для решения данной задачи. Хотя он обеспечивает возможность форматирования и структурирования описаний прецедентов и актеров, в нем нельзя отразить семантику этой структуры.Мы считаем, что структурированные XMLдокументы – естественныйформат описаний прецедентов. XML – это язык семантической разметки, поэтому в нем семантическая структура документа отделена от егоформатирования. Описание прецедента или актера, представленноев виде XMLдокумента, можно трансформировать разными способамис помощью XSL [Kay 1]. Описания можно генерировать как HTML, PDFили как документы текстового редактора. Кроме того, можно делать запросы к описаниям для получения определенной информации.Структура XMLдокумента может быть описана на языке описанияXMLсхемы (XML Schema Definition Language, XSL).
Несколько простых XMLсхем для актеров и прецедентов представлены на нашем вебсайте. Они доступны для загрузки и использования по лицензии GNU(GNU General Public License) (подробности см. по адресу www. gnu.org).XML и прецеденты591Подробное описание XML и XSL выходит за рамки как этой книги, таки нашего вебсайта.
Однако на сайте предлагаются полезные ссылкина образовательные ресурсы по XML и XSL.Поскольку применение XML требует специальных редакторов, и заинтересованным сторонам может быть сложно его использовать, недавнонами был разработан простой подход создания прецедентов (и другихдокументов проекта) в XML и других форматах. Он кратко обсуждается в следующем разделе.B.2.
SUMRSUMR (произносится «саммэ») расшифровывается как Simple Use caseMarkupRestructured (простая реструктурированная разметка прецедентов). Это текстовый язык разметки для прецедентов. ДокументыSUMR без труда можно трансформировать в XML, HTML и другие форматы.SUMR обладает целым рядом преимуществ.•Он очень прост – синтаксис разметки можно выучить за минуту.•Для него не требуются изощренные текстовые редакторы или возможности редактирования – SUMRдокументы можно создаватьв любом текстовом редакторе, поддерживающем простой текст.В случае необходимости SUMRтекст можно вводить прямо в полеHTMLформы.•Он структурированный – SUMRдокументы имеют схему.
Можносоздать собственную схему или использовать предоставляемые нами стандартные схемы.•Он бесплатен согласно разрешению для копирования GNU (www.gnu.org/copyleft).Чтобы вы почувствовали, что такое SUMR, на рис. B.1 приведен простой прецедент, размеченный как SUMRдокумент.Синтаксис прост: все, что начинается и заканчивается двоеточиями(например, :это:), – это тег. Тело тега начинается на следующей строкепосле тега и продолжается до следующей пустой строки.SUMR занимается исключительно структурой и семантикой документа, а не его представлением.
Он позволяет быстро и эффективно фиксировать важную информацию, не забивая голову форматированием,шаблонами документов или сложными языками разметки.У каждого SUMRдокумента может быть схема, определенная в специальном теге :schema:. Схема SUMR – SUMRдокумент, определяющийтеги, которые могут использоваться в других SUMRдокументах. Нарис. B.2 показана SUMRсхема нашего примера прецедента. Как видите, правильно описанные схемы SUMR могут быть самодокументируемыми.592Приложение Bfile AddItemToBasket.uc:schema:UseCase.sss:name:AddItemToBasket:id:2:parents:1. None:primaryActors:1.
Customer:secondaryActors:1. None:brief:1. The Customer adds an item to their shopping basket.:pre:1. The Customer is browsing products.:flow:1. The Customer selects a product2. The Customer selects "add item".3. The system adds the item to the Customer's shopping basket.4. :inc:DisplayBasket:post:1. A product has been added to the Customer's basket.2. The contents of the basket are displayed.:alt:1. None:req:1. NoneРис. B.1. Прецедент, размеченный как SUMR+документКогда есть схема, инструменты SUMR можно использовать для:•трансформирования прецедентов, соответствующих схеме, в<b>Текст обрезан, так как является слишком большим</b>.