mdd:cm_builder

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
mdd:cm_builder [2017/12/26 23:04] – created okalitovamdd:cm_builder [2026/08/29 07:59] (current) – external edit 127.0.0.1
Line 1: Line 1:
 +====== CM-Builder: автоматизированное основанное на естественном языке CASE-средство ======
  
 +H. M. Harmain and R. Gaizauskas. 2003. CM-Builder: A Natural Language-Based CASE Tool for Object-Oriented Analysis. Automated Software Engg. 10, 2 (April 2003), 157-181. DOI: [[https://doi.org/10.1023/A:1022916028950|https://doi.org/10.1023/A:1022916028950]]
 +
 +==== Вступление ====
 +
 +Эта статья описывает основанное на естественном языке CASE-средство под названием CM-Builder нацеленное на помощь во время аналитической стадии программной инженерии в объектно-ориентированном фреймворке. CM-Bilder использует устойчивые методы обработки естественного языка для анализа программных требований, написанных на английском, и для построения объединенной текстовой модели обработанного текста, представленной в виде семантической сети. Эта семантическая сеть далее используется для построения начальной классовой модели UML, представляющей классы объектов, упомянутых в тексте, и отношения между ними.
 +
 +В настоящее время известно много объектно-ориентированных методов, которые помогают во время стадии анализа и дизайна программной инженерии, при этом обработка требований рассматривается как их самая важная и сложная часть, так как на результаты этой части полагаются все дальнейшие действия и зачастую требования написаны на естественном языке, который по природе своей не имеет четкой структуры. Методы искусственного интеллекта обработки естественного языка предлагают способы подхода к решению проблемы сложности обработки текстов на естественном языке. В данной статья представляются 2 вещи: CM-Builder, а также количественная методика оценивания качества CASE-средств, основанных на естественном языке, с помощью которой измеряется качество CM-Builder.
 +
 +==== Обзор известной литературы ====
 +
 +Существуют работы, которые пытаются подойти к проблеме анализа требований, но у каждой из этих работ есть недостатки, из-за которых они до сих пор не являются общеиспользуемыми: некоторые работы являются только методиками без реализации, некоторые требуют существенного контроля людьми после их применения, некоторые работы не относятся к объектно-ориентированному анализу, некоторые сужают начальные требования или требуют наличия обширной базы знаний.
 +
 +==== Описание подхода ====
 +
 +CM-Builder (Class Model Builder) получает на вход документ, в котором описываются требования к ПО, и выдает 3 вещи: список кандидатов в классы, список кандидатов в отношения и концептуальную модель, представленную форматом CASE Data Interchange Format [1], которая может быть подана в графическое CASE-средство для дальнейшего улучшения аналитиками. CM-Builder подход состоит из четырех главных шагов:
 +
 +  - Получить описания требований на естественном языке.
 +  - Использовать систему обработки естественного языка для синтаксического и семантического анализа текста и сохранить все промежуточные результаты.
 +
 +    - Лексический препроцессинг (токенизация, выделение предложений, тегирование частей речи, морфологический анализ)
 +    - Семантическая интерпретация (используя bottom-up chart parser, реализованный в Prolog)
 +    - В общую модель “мира” добавляются знания из входного текста, что дает нам новую модель, называемую discourse model
 +  - Использовать результаты, полученные в 2. (discourse model) для извлечения классов, их атрибутов, и отношений между классами (учитывая их тип и кратности).
 +  - Сделать начальную структурную модель системы из полученных данных в стандартном формате и далее использовать графическое CASE-средство, чтобы улучшить начальную модель.
 +
 +[[mdd:_detail:mdd:cm_builder_algo.png|]]
 +
 +==== Методология оценки ====
 +
 +Для измерения качества полученного подхода используется новая методология оценки качества, для того, чтобы определить эту методологию надо определить: критерии, которые важны, метрики оценки качества и метод их получения.
 +
 +  * Критерий: насколько близко сгенерированная подходом модель к хорошей модели, полученной человеком (эталону)
 +  * Метрика:
 +
 +    * полнота - отношение сгенерированных подходом сущностей, у которых есть аналог в эталоне, к количеству сущностей в эталоне
 +    * точность - отношение сгенерированных подходом сущностей, у которых есть аналог в эталоне, к общему количеству сгенерированных сущностей
 +    * переспецификация - отношение правильно сгенерированных подходом сущностей, которых при этом нет в эталоне, к количеству сущностей в эталоне
 +  * Метод: в качестве сущностей рассматриваются классы, атрибуты и виды связей, затем подсчитываются метрики, чем метрики ближе к единице (или к 100% при домножении метрик на 100%), тем подход ближе к хорошей модели, полученной человеком, значит, тем больше качество подхода
 +
 +CM-Builder подход был оценен, используя данную методологию (но только с классами в качестве сущностей), получив в среднем полноту 73%, точность 66%, переспецификацию 62%, но не может быть сравнен ни с какими другими подходами, так как они не были оценены при помощи какой-либо методологии.
 +
 +==== Заключение ====
 +
 +CM-Builder может облегчить и улучшить процесс построения модели классов за счет улучшения анализа требований, изложенных на английском языке. Введена методология оценивания качества построенных моделей классов, согласно которой CM-Builder показывает хорошие результаты, но не может быть справедливо сравнен с другими подходами, так как это первая введенная методология для оценки качества.
 +
 +==== Ссылки ====
 +
 +[1] J. Ernst, editor. CDIF -Integrated Meta-Model- ObjectOriented Analysis and Design Core Subject Area. Electronic Industries Association, 1996.