Модель требований

advertisement
Министерство образования и науки Российской Федерации
Государственное муниципальное учреждение высшего профессионального образования
Волгоградский Государственный Технический Университет (ВолгГТУ)
Кафедра «Программное обеспечение автоматизированных систем»
Курсовой проект
по предмету «Технологии разработки программного обеспечения»
ActivityEdit
Графический редактор UML-диаграмм активности
Выполнили:
студенты гр. ИВТ-462
Писков С.С.
Прохорова Т.П.
Серов С.С.
Проверили:
Жукова И.Г.
Ужва А.Ю.
Волгоград 2012
Содержание
Оглавление
Модель требований ............................................................................................................................ 3
Цели и задачи ............................................................................................................................ 3
Цель проекта ....................................................................................................................3
Задачи проекта .................................................................................................................3
Область и объект проектирования .......................................................................................... 3
Использование .................................................................................................................3
Объект проектирования ..................................................................................................3
Функциональные требования к проекту ................................................................................ 4
Нефункциональные требования.............................................................................................. 6
Минимальные системные требования ...........................................................................6
Рамки и ограничения проекта ................................................................................................. 6
Пример диаграммы, которая может быть построена в редакторе ....................................... 8
Макеты экранных форм редактора ....................................................................................... 10
Структура главного меню .............................................................................................10
Главное окно. ................................................................................................................10
Приложения ...................................................................................................................................... 12
Диаграмма вариантов использования ................................................................................... 12
Диаграмма классов ................................................................................................................. 12
Фрагмент кода программы .................................................................................................... 13
Сценарий тестирования ......................................................................................................... 16
Сценарий работы программы ................................................................................................ 22
Модель требований
Цели и задачи
Цель проекта
Сократить время создания и изменение UML-диаграмм типа Activity Diagram с
помощью редактора UML-диаграмм.
Задачи проекта
Перед проектом стоят следующие задачи:
 Проведение предпроектного исследования
 Анализ вариантов решения и выбор основного;
 Реализация проекта согласно выбранному варианту;
 Тестирование полученного решения;
 Внедрение на предприятии заказчика.
Область и объект проектирования
Использование
Объектное моделирование в области разработки программного обеспечения с
помощью графического редактора.
Объект проектирования
Диаграмма активности.
Диаграмма состоит из блоков:
1. Блок “Action”.
2. Блок “Initial node”.
3. Блок “Final node”.
4. Блок “Decision”.
5. Блок “Note”.
И связей:
1. Связь “Arrow flow”.
2. Связь “Note flow”.
Рис.1. Пример выходной диаграммы.
Функциональные требования к проекту
Программа должна предоставить пользователю следующие возможности:
 Создание и редактирование UML-диаграммы типа Activity Diagram.
 Добавлять следующие блоки, на диаграмму: “Action”, “Initial node”, “Final node”,
“Decision”, “Note”,- при помощи одноименных кнопок на панели инструментов.
 Создавать связи между блоками путем выбора соответствующего типу связи
инструмента на панели инструментов, зажатия на начальном блоке левой
кнопки мыши, перетаскивания курсора (не отпуская левой кнопки) на конечный
блок и отпускания левой кнопки мыши.
 Редактировать форму стрелок, путем перемещения узлов стрелок (которые
создаются путем зажатия левой кнопки мыши на стрелке и дальнейшем
перемещении курсора).
 Выделять блоки “Action”, “Initial node”, “Final node”, “Decision”, “Note” на диаграмме
по щелчку левой кнопкой мыши на блоке, или с помощью прямоугольника
выделения. Выделены будут блоки, полностью размещенные внутри
прямоугольника.
 Изменять параметры блоков в отдельном диалоге путем двойного щелчка на
элементе:
“Action”: "Заголовок"
“Note”: "Заголовок", "Описание"
“Arrow flow”: "Текст"
 Менять положение блоков: “Action”, “Initial node”, “Final node”, “Decision”, “Note”, - по
команде пользователя – левой кнопкой мыши перемещать блок по рабочей зоне,
а также положение группы блоков путем выделения нескольких блоков с
помощью прямоугольника выделения и дальнейшего перемещения одного из










блоков с помощью левой кнопки мыши.
Удалять блоки: “Action”, “Initial node”, “Final node”, “Decision”, “Note”, а также группы
блоков, выделенных с помощью прямоугольника выделения - по команде
пользователя – кнопка на главной панели, или команда в меню, или клавиша Del.
Возможность использования буфера обмена, в котором реализованы следующие
функции:
o Выделение множества фигур мышкой и при помощи клавиш Ctrl/Shift
аналогично выделению файлов в «проводнике».
o Копирование выделенных фигур в буфер обмена.
o Вставка фигур из буфера обмена.
o Вырезать/вставить фигуры.
Функция Undo/Redo (отмена последнего действия) на произвольное количество
шагов для из предусмотренных действий над диаграммой.
Функция масштабирования.
Удалять все связи, ассоциируемые с удаляемым(и) блоком(-ами).
Удалять связи путем их выделения и выбора команды «Удаление» из меню, на
панели инструментов или нажатием кнопки Del.
Изменять параметры связей путем двойного щелчка левой кнопкой мыши на
связи:
“Arrow flow”: "Текст"
Сохранять UML-диаграммы типа Activity Diagram, созданные или открытые и
редактируемые с помощью данного редактора, в файл формата (*.aex).
Сохранить диаграмму в файл формата PNG.
Загружать UML-диаграмм типа Activity Diagram из файла формата (*.aex).
Дополнительные требования
 Реализация функции «горячих» клавиш.
 Реализовать «дублирование при перетаскивании» - при перетаскивании объекта
с нажатой клавишей Alt он должен дублироваться и перетаскиванию
подвергаться его копия, оставляя оригинальный объект на месте.
 Наличие семантической проверки связей.
 При возникновении исключительных ситуаций – выдавать сообщение об
ошибке и предлагать возможные пути решения проблемы.
 Реализовать функцию пометки диаграммы как «Черновик», переключаемую
кнопкой на панели инструментов или через меню.
 Показывать окно сведений о программе по команде главного меню.
Нефункциональные требования
 Минимальные системные требования
1.
2.
3.
4.
Тактовая частота процессора – не ниже 1 ГГц.
Объем оперативной памяти – не менее 256 Мб.
Свободное место на жестком диске – не менее 50 Мб.
Операционная систем а – Windows XP.
 Программа будет разрабатываться на языке С++ с использованием библиотеки
Qt.
 Программа позволяет размещать на рабочей зоне неограниченное количество
блоков: “Action”, “Initial node”, “Final node”, “Decision”, “Note”, однако под
читабельностью диаграммы понимается наличие не более 9 блоков на рабочей
зоне.
 Программа должна обладать простым и удобным интерфейсом за счет
использования визуальных элементов.
 Простота работы в программе должна быть достигнута путем использования
часто употребляемых визуальных шаблонов пользовательских интерфейсов,
таких как рабочее поле, меню,Drag-and-Drop и панель инструментов.
 При наведении курсора мыши на блок “Note” отображается всплывающая
подсказка, содержащая подробное описание блока (расшифровку его названия).
 Программа ни при каких действиях пользователя не должна аварийно
завершать свою работу или зависать.
 При возникновении исключительных ситуаций должно выдаваться сообщение с
причиной и предложением пути решения.
 Инсталлятор должен содержать все необходимые файлы, библиотеки и пр. для
корректной работы программы на компьютере пользователя, работающем под
управлением операционной системой Windows XP, после ее установки.
Рамки и ограничения проекта
 Программный продукт должен быть окончательно реализован до 10 декабря.
 Программный продукт должен быть реализован в соответствии с заданием.
 Диаграммы, построенные в редакторе, должны соответствовать стандарту
языка UML. Под этим подразумевается соответствие стандарту внешнего вида
элементов и их свойств и функциональности.
 Корректная работа программного продукта на ОС, отличных от WindowsXP, не
гарантируется.
 Программа поддерживает работу не более одного пользователя единовременно.
 Интерфейс программного продукта имеет язык представления - русский.
 Названия блоков приведены на английском языке.
 При возникновении нештатной ситуации, например, автоматический
перезапуск, отключение питания, программа отвечает только за сохраненные
пользователем данные.
 Ширина зоны стрелки, по которой следует попасть, чтобы выделить ее для
удаления, должна быть не менее семи пикселей.
 Структура диаграммы описывается следующими правилами (стрелкой
обозначено соединение с помощью “ArrowFlow”, знаком равенства – с помощью
“Noteflow”; связь “Noteflow” не имеет направления):
“Action” -> “Action”
“Initial node” -> “Action”
“Action” -> “Final node”
“Action” -> “Decision”, “Decision” -> “Action”
“Action” = “Note”
“Initial node” -> “Decision”
“Initial node” = “Note”
“Decision” -> “Final node”
“Final node” = “Note”
“Decision” = “Note”
“Note” = “Arrow flow”
 Любые два элемента могут быть соединены не более, чем одной (допустимой)
связью друг с другом.
 Все блоки имеют ограничения по минимальному размеру.
 В случае, если текст не помещается внутри блока начального размера (для
блоков, типа Action), блок будет масштабирован в зависимости от размера
текста. Для блоков типа Note, текст будет обрезан под размер блока, также будет
добавлено «…», как подсказка о том, что текст имеет продолжение.
Пример диаграммы, которая может быть построена в редакторе
Рис.2.
Диаграмма, которую можно построить с помощью данного редактора.
Рис.3. Диаграмма, которую нельзя построить в данном редакторе, т.к. : 1. Стрелка может
соединять только блоки диаграммы, но не стрелки; 2. Два блока могут соединяться лишь
одной стрелкой; 3. Стрелки не могут соединяться другими линиями и стрелками; 4.
Стрелки могут быть лишь однонаправленные; 5.
Наличие данного блока не
соответствует заданию; 6. Стрелка должна соединять 2 блока.
Макеты экранных форм редактора
Структура главного меню
«Файл»: «Новый», «Открыть…», «Сохранить», «Сохранить как…», «Черновик», «Выход»
“Правка”: «Отменить», «Повтроить», «Вырезать», «Копировать», «Вставить», «Удалить»,
«Выделить все», «Свойства»
“Инструменты”: «Select», “Arrow flow”, “Note flow”, “Action”, “Initial node”, “Final node”,
“Desicion”, “Note”
“?”: “О программе...”
Главное окно.
Рис.4. Макет главного окна редактора.
Разработка концепции программы, выбор технологии.
Языки программирования и библиотеки.
С++, Qt 4.х.х.
Средства разработки.
Qt Creator.
Средства документирования.
Astah, MS Word
Средства тестирования.
Ручное тестирование
Разработка программы и методики испытаний
Юзабилити тестирование с привлечением сторонних людей, близких по
роду деятельности к предполагаемым пользователям.
Средства командной разработки
Средства контроля версий: Mercurial
Средства коммуникации.
e-mail
Skype.
Приложения
Диаграмма вариантов использования
Диаграмма классов
Фрагмент кода программы
#include "action.h"
#include <QFont>
#include <QPainter>
#include <QDebug>
#include <QLineF>
#include <QTextLayout>
#include <QGraphicsDropShadowEffect>
#include "pdlg_action.h"
ActionShape *ActionShape::clone() const
{
ActionShape *newshape = new ActionShape();
newshape->setPos(this->pos());
newshape->setSize(this->size());
newshape->setTitle(this->title());
newshape->setDescription(this->description());
return newshape;
}
ActionShape::ActionShape (const QPointF &pos, QGraphicsItem *parent)
: ResizableShape(pos, parent)
{
setMinSize(QSizeF(50,32));
setTitle(tr("Action"));
setSize(QSizeF(100,32));
}
ActionShape::ActionShape (QGraphicsItem *parent)
: ResizableShape(parent)
{
setMinSize(QSizeF(50, 32));
setTitle(tr("Action"));
//adjustSize();
setSize(QSizeF(100,32));
}
/**
* Задает текст на фигуре.
* @param newtext Новое значение
*/
void ActionShape::setTitle (const QString &newtext)
{
prepareGeometryChange();
_title = newtext;
emit contentsChanged();
}
/**
* @return Текст на фигуре.
*/
const QString &ActionShape::title() const
{
return _title;
}
/**
* Задает описание фигуры (фактически, подсказку).
* @param newtext Новый текст подсказки
*/
void ActionShape::setDescription (const QString &newtext)
{
setToolTip(newtext);
_description = newtext;
emit contentsChanged();
}
/**
* @return Текст подсказки
*/
const QString &ActionShape::description() const
{
return _description;
}
/**
* Возвращает минимальный прямоугольник, в который помещается текст.
* @param text Текст
* @param font Шрифт, которым рисуется текст
* @param width Ширина фигуры (она останется неизменной)
* @param option Параметры отображения
* @return Размер прямоугольника.
*/
QSizeF textRect (const QString &text, const QFont &font, int width, const
QTextOption &option)
{
QTextLayout textLayout(text, font);
QFontMetricsF metrics(font);
int leading = metrics.leading();
qreal height = 0;
textLayout.setTextOption(option);
textLayout.beginLayout();
int length = 0;
while(true)
{
QTextLine line = textLayout.createLine();
if (!line.isValid()) break;
line.setLineWidth(width);
height += leading + line.height();
length += line.textLength();
}
textLayout.endLayout();
return QSizeF(width, height);//textLayout.boundingRect().size();
}
/**
* Возвращает сокращенный текст, такой, чтобы не превышал указанных размеров при
рендеринге.
* @param text Текст, который нужно сократить.
* @param font Шрифт, которым выводится текст.
* @param sz Максимальные размеры текста.
* @param option Всякие опции для текста. Будут использованы в QTextLayout.
* @returns Сокращенный текст (с многоточием на конце).
*
Если весь помещается - то весь и будет возвращен.
*/
QString elidedText (const QString &text, const QFont &font, const QSizeF &sz,
const QTextOption &option)
{
// Все-таки Qt - это тот еще быдлокод
// Вязкое де*ьмо объектных конструкций
// Надо потом ее, эту функцию, в утилиты перенести
/*
Сначала определим длину текста, который умещается в прямоугольнике
Для этого найдем количество строк, которые там умещаются (+ еще
переводы!)
И затем суммируем их длины
*/
QTextLayout textLayout(text, font);
QFontMetricsF metrics(font);
int leading = metrics.leading();
qreal height = 0;
textLayout.setTextOption(option);
textLayout.beginLayout();
int length = 0;
while(true)
{
QTextLine line = textLayout.createLine();
if (!line.isValid()) break;
line.setLineWidth(sz.width());
height += leading + line.height();
if (height>sz.height()) break;
length += line.textLength();
}
textLayout.endLayout();
QString str = text.left(length); // Это наша искомая строка, но без
многоточия
/*
Теперь нужно найти, сколько текста поместится вместе с многоточием.
Следует учитывать, что, если текст можно отобразить полностью,
многоточия не требуется.
*/
QRectF shaperect = QRectF(0,0,sz.width(),sz.height());
QRectF shaperecth = QRectF(0,0,sz.width(),sz.height()*2); // очень
высокий, чтобы можно было узнать реальную высоту текста.
while(true)
{
// мало ли, вдруг зацикливание
if (str.length()==0) break;
// Выполняем цикл, пока текст не помещается в прямоугольник rect
QRectF rect = metrics.boundingRect(
shaperecth,
Qt::AlignLeft | Qt::TextWordWrap,
str + (str.length()==text.length()? "" :
"..."));
if (shaperect.contains(rect))
break;
// Отрезаем один символ и снова будем пытаться уместить его
str = str.left(str.length()-1);
}
// собственно вот! ради чего все затевалось
return str + (str.length()==text.length()? "" : "..."); // и так сойдет
}
/**
* Подогнать размер фигуры
* (если он меньше минимального, то увеличить).
*/
void ActionShape::adjustSize()
{
QTextOption textoption;
textoption.setAlignment(Qt::AlignHCenter | Qt::AlignVCenter);
textoption.setWrapMode(QTextOption::WrapAtWordBoundaryOrAnywhere);
QSizeF minsz = textRect(
title(),
Shape::basicFont(),
size().width()-14,
textoption
);
setMinSize(QSizeF(minSize().width(), minsz.height()+14));
if (size().height() < minSize().height())
setSize(QSizeF(size().width(), minSize().height()));
}
void ActionShape::paint (QPainter *painter, const QStyleOptionGraphicsItem
*option, QWidget *widget)
{
adjustSize();
painter->setFont(Shape::basicFont());
painter->setPen(Qt::SolidLine);
painter->setBrush(Shape::innerBrush());
painter->drawPath(shape());
QTextOption textoption;
textoption.setAlignment(Qt::AlignHCenter | Qt::AlignVCenter);
textoption.setWrapMode(QTextOption::WrapAtWordBoundaryOrAnywhere);
painter->drawText(
QRectF(7,7,size().width()-14, size().height()-14),
title(),
textoption
);
/*painter->drawText(
QRectF(QPointF(0,0), QPointF(size().width(),
size().height()))
.adjusted(7,7,-7,-7),
elidedText(_title, painter->font(), size()QSizeF(14,14), textoption),
textoption);*/
if (isSelected())
{
QRectF rect = boundingRect();
rect.adjust(3,3,-3,-3);
setPenAndBrushForSelection(painter);
painter->drawRoundedRect(rect, 5,5);
}
}
QPainterPath ActionShape::shape() const
{
QPainterPath path;
path.addRoundedRect(boundingRect(), 10,10);
return path;
}
void ActionShape::editProperties()
{
ActionShapePropertiesDialog(this).exec();
}
Сценарий тестирования
Ном Тест
ер
Тес
т1
Тес
т2
Тес
т3
Создани
е блока
диаграм
мы
Создани
е связи
между
блоками
Создани
е
свободн
ого и
ассоции
рованно
го
коммент
ариев
Действия пользователя
Реакция программы
1. Нажать кнопку на выбор: 2. Выбранная кнопка
«Action»(блок Действие),
выделится.
«Initial node»(блок Начало),
«Final node»(блок Конец),
или
«Decision»(блок
Условие).
4. На рабочей зоне, в
3.
Левой кнопкой мыши месте
клика
мышью,
нажать на свободное место появится
выбранный
рабочей зоны.
элемент.
Выделение
кнопки снимется.
3. Левой кнопкой мыши 4. На рабочей зоне в месте
нажать на занятое место нажатия
появился
рабочей зоны
выбранный элемент.
1. Нажать кнопку «Arrow 2. Кнопка «Arrow Flow»
Flow».
выделится.
4.
Выбранные
блоки
3. Левой кнопкой мыши соединятся связью в виде
нажать на любой из блоков: стрелки, своим острым
Действие, Условие, Начало, концом направленной в
Конец, - на рабочей зоне. И, сторону блока, к которому
удерживая кнопку мыши, ее подвели.
навести курсор на любой
другой из блоков Действие,
Условие, Начало или Конец.
Отпустить кнопку мыши.
3.
Левой кнопкой мыши 4. Связь не установится.
нажать на любой из блоков: Кнопка «Arrow Flow»
Действие, Условие, Начало, останется выделенной.
Конец, - на рабочей зоне. И,
удерживая кнопку мыши,
навести курсор на блок
Комментарий.
Отпустить
кнопку мыши.
1. Нажать на кнопку «Node». 2.
Кнопка
«Node»
выделится.
3.
Левой кнопкой мыши
нажать на любое место 4. На рабочей зоне, в
рабочей зоны.
месте
клика
мышью,
появится
свободный
комментарий. Выделение
кнопки снимется.
5. Нажать кнопку «Note 6. Кнопка «Note Flow»
Flow».
выделится.
8. Появится связь в виде
7.
Левой кнопкой мыши пунктирной линии между
Работа
ет
+
+
+
+
+
Част.
работ
ает
Не
работ
ает
Тес
т4
Вызов
справки
нажать на любой из блоков:
Действие, Условие, Начало,
Конец, - на рабочей зоне. И,
удерживая кнопку мыши,
навести курсор на блок
Комментарий.
Отпустить
кнопку мыши.
1. Нажать знак вопроса «?» в
главном меню.
3. Нажать «О программе…»
Тес
т5
Добавле
ние
заголовк
аи
описани
я блоков
1. Левой кнопкой мыши
дважды щелкнуть на блоке
Действие или Комментарий,
атрибуты которому нужно
задать.
выбранным блоком и
комментарием.
Теперь
комментарий
является
ассоциированным.
2. Выпадает контекстное
меню с пунктом «О
программе…»
4. Открывается окно с
информацией
о
программе.
2. Открывается модальное
окно
«Редактирование
элемента»
с
полями
«Заголовок»
и
«Описание» и кнопками
«ОК» и «Отмена».
3. В поле «Заголовок» ввести
текст,
который
будет
отражаться на блоке. Более
подробное описание ввести в
поле
«Описание»,
содержимое которого будет
отражаться во всплывающей
подсказке при наведении 5. Окно «Редактирование
курсора на блок.
элемента»закрывается.
4. Нажать кнопку «ОК».
3.
В поле «Заголовок»
ввести текст, длинной около
100 символов, который будет
отображаться
на
блоке.
Нажать «Применить»
5. Размер блока можно
скорректировать, выделив и
потянув за правый нижний
угол
3. В поле «Описание» введем
6. На выбранном блоке
отражается
содержимое
поля «Заголовок». При
наведении
на
блок
всплывает подсказка с
содержимым
поля
«Описание».
4. Окно закрывается. Блок
не меняет своих размеров
и
отображает
первые
несколько
символов
введенного
заголовка(в
зависимости от размера
введенных
букв)
и
многоточие,
которое
показывает, что текст
отображается
не
полностью.
6.
С
увеличением
размеров блока появляется
весь введенный заголовок.
4. Окно закрывается. Блок
+
+
+
длинный текст длинной
около 300 символов. Нажмем
«Применить».
5. Наводим курсор на блок,
чтобы
посмотреть
всплывающую подсказку.
Тес
т6
Переме
щение
одного
блока
диаграм
мы
1. Левой кнопкой мыши
нажать на любой из блоков:
Действие, Условие, Начало,
Конец, Комментарий, - и,
удерживая его, переместить
на другое место рабочей
зоны, двигая мышью.
3. Отпустить кнопку мыши.
Тес
т7
Переме
щение
группы
элемент
ов
4. Нажать левой кнопкой
мыши на любой из
выделенных элементов и,
удерживая ее, переместить
группу выделенных
элементов.
Удалени
е
элемент
а
диаграм
мы
6. Подсказка всплывает в
виде строки от одного
края экрана до другого и
описание отображается не
полностью.
2. Выбранный элемент
выделится и будет
двигаться за мышью. Все
его связи будут двигаться
и растягиваться вслед за
ним, но их начальное и
конечное положения
относительно элементов,
которые они соединяют,
будут неизменны.
4. Блок останется на
выбранном месте. Блок
будет выделен.
+
+
1. Левой кнопкой мыши
нажать на рабочую зону и,
удерживая кнопку, выделить
несколько элементов,
перемещая мышь.
2. Отпустить кнопку.
Тес
т8
не меняет размеров.
1. Щелкнуть левой кнопкой
мыши на любой из
элементов, находящихся на
рабочей зоне.
3. Выбрать любое из
действий:
-нажать кнопку Del на
3.Блоки и связи,
полностью попавшие в
зону выделения,
выделяются.
+
5. Все выделенные
элементы переместятся в
соответствии с движением
мыши.
6. Элементы будут
оставаться выделенными
и готовыми к
перемещению группой,
пока выделение не
сбросится единичным
нажатием мыши на
рабочую зону или кнопку.
2. Выбранный элемент
выделится.
4. Выделенный элемент
удалится с рабочей зоны.
+
Тес
т9
Тес
т 10
Тес
т9
Тес
т 10
клавиатуре
-нажать кнопку «Удалить» на
Главном окне
-нажать на Главном окне
«Правка»-> «Удалить»
Создани 1. Дважды нажать на стрелку. 2. Открывается окно
е
правка, в котором можно
надписи
ввести текст в поле
на
3. Вводим текст «Стрелка
«Текст».
стрелках соединяет два элемента».
4. Окно закрывается.
Нажимаем применить.
Введенная надпись
появляется рядом со
стрелкой полностью.
3. Вводим текст одним
4. Рядом со стрелкой
словом
выводятся только первые
«Стрелкасоединяетдваэлемен 14 символов текста.
та». Нажимаем применить.
Переме
1. Ввели текст «Стрелка
2. Окно закрывается.
щение
соединяет два элемента» и
Введенная надпись
надписи сохранили.
появляется рядом со
относящ
стрелкой полностью.
ейся к
3. При попытке
стрелке
перемещения выделяется
только первая строчка, а
при перемещении текста
ниже стрелки третья
строчка затирается.
Пометит 1. Нажать на кнопку
2. Кнопка «Черновик»
ь
«Черновик» или «Файл» ->
выделяется.
диаграм «Черновик».
му как
3. Диаграмма помечается
чернови
как черновик.
к
Загрузка 1. Нажать на кнопку
2. Открывается окно
диаграм «Открыть» в главном окне
«Открыть»
мы из
файла
3. Выбрать файл и нажать
4. Окно закрывается,
кнопку «Открыть».
диаграмма загружается из
файла и отображается на
рабочей зоне.
1. Нажать на кнопку «Файл» 2. Открывается окно
-> «Открыть» .
«Открыть»
3. Выбрать файл и нажать
кнопку «Открыть».
1. Нажать на клавиатуре
Ctrl+O
3. Выбрать файл и нажать
кнопку «Открыть».
4. Окно закрывается,
диаграмма загружается из
файла и отображается на
рабочей зоне.
2. Открывается окно
«Открыть»
4. Окно закрывается,
диаграмма загружается из
файла и отображается на
+
+
+
+
+
+
+
Тес
т 11
Создани
е новой
диаграм
мы
рабочей зоне.
1. Выбрать любой вариант:
2. Откроется окно с
-нажать на кнопку «Создать» вопросом «Хотите
-нажать «Файл» -> «Создать» сохранить изменения?»
-нажать Ctrl+N на клавиатуре
3. Нажать кнопку «Save» для
сохранения изменений,
внесенных до создания
новой диаграммы.
5. Ввести имя и выбрать тип
файла.
4. Если предыдущая
диаграмма не была
сохранена до этого , то
появляется окно
«Сохранить как…», в
котором нужно ввести имя
файла и выбрать тип
файла из представленных.
Если изменения были
внесены в загруженную
диаграмму, то они
сохраняются в нее
автоматически после
нажатия кнопки «Save».
+
6. Нажать кнопку «Save».
Тес
т 12
Сохране
ние
созданн
ой
диаграм
мы
1. Нажать на кнопку
«Сохранить» в главном окне
3. Ввести имя и выбрать тип
файла.
4. Нажать кнопку
«Сохранить»
1. Нажать в главном окне на
кнопку «Файл» ->
«Сохранить»
3. Ввести имя и выбрать тип
файла.
4. Нажать кнопку
«Сохранить»
1. Нажать в главном окне на
кнопку «Файл» ->
«Сохранить как»
3. Ввести имя и выбрать тип
файла.
7. Окно «Сохранить
как…» закрывается,
рабочая зона очищается.
2. Появляется окно
«Сохранить как…», в
котором нужно ввести имя
файла и выбрать тип
файла из представленных
типов.
5. Окно «Сохранить
как…» закроется. Рабочая
зона остается неизменной.
2. Появляется окно
«Сохранить как…», в
котором нужно ввести имя
файла и выбрать тип
файла из представленных
типов.
5. Окно «Сохранить
как…» закроется. Рабочая
зона остается неизменной.
2. Появляется окно
«Сохранить как…», в
котором нужно ввести имя
файла и выбрать тип
файла из представленных
типов.
+
+
+
4. Нажать кнопку
«Сохранить»
1. Нажать Ctrl+S на
клавиатуре
3. Ввести имя и выбрать тип
файла.
4. Нажать кнопку
«Сохранить»
Тес
т 13
Сохране
ние
загруже
нной из
файла
диаграм
мы
1. Выбрать любой вариант:
-нажать на кнопку
«Сохранить»
-нажать «Файл» ->
«Сохранить»
-нажать Ctrl+S на клавиатуре
5. Окно «Сохранить
как…» закроется. Рабочая
зона остается неизменной.
2. Появляется окно
«Сохранить как…», в
котором нужно ввести имя
файла и выбрать тип
файла из представленных
типов.
+
5. Окно «Сохранить
как…» закроется. Рабочая
зона остается неизменной.
2. Изменения сохраняются
в файл.
+
Сценарий работы программы
Действия пользователя
Выбор
варианта
работы
Запустить программу
Открывается главное окно
Если вы хотите:
1) Создать новую диаграмму,
то…
2) Загрузить диаграмму из
файла, то…
Выберите один из следующих
вариантов:
1.1Нажать левой кнопкой мыши
«Initial node»
1.2Нажать левой кнопкой мыши
«Инструменты»и выбрать поле
«Initial node»
1.3Нажать
кнопку
F7
на
клавиатуре
Указать
на
рабочем
свободное
место для
диаграммы
Реакция программы
Выбран
вариант
1
См.пункт
2!!!
Следует сразу приступить к создан
диаграммы,
т.к.
предварительн
действий для этого не требуется.
Выбран
вариант 1.1
Выбран
вариант 1.2
-Выделяется кнопка «Initial node»
Выбран
вариант 1.3
поле
блока
Выберите один из следующих
вариантов:
1.1Нажать левой кнопкой мыши
«Action»
1.2Нажать левой кнопкой мыши
«Инструменты»и выбрать поле
«Action»
1.3Нажать
кнопку
F6
на
клавиатуре
Нажать на рабочее поле
Дважды левой кнопкой мыши
нажать на блок Действие
-«Выпадает»контекстное меню и исчеза
после выбора «Initial node». Выделяет
кнопка «Initial node»
-Выделяется кнопка «Initial node»
1.На
рабочем
поле
появляет
выделенный блок Initial node(Начало)
месте нажатия.
2.Выделение кнопки «Initial nod
сбрасывается.
Выбран
вариант 1.1
Выбран
вариант 1.2
Выбран
вариант 1.3
-Выделяется кнопка «Action»
-«Выпадает»контекстное меню и исчеза
после выбора «Action». Выделяет
кнопка «Action»
-Выделяется кнопка «Action»
1.На
рабочем
выделенный блок
месте нажатия.
2.
Выделение
сбрасывается.
поле
появляет
Action(Действие)
кнопки
«Actio
Появляется
модальное
ок
«Редактирование
элемента»
возможностью ввести заголовок
описание для данного блока
Задать поле «Заголовок» и Выбран
«Описание» в соответствии с вариант 1.1
назначением данного блока и
нажать кнопку на выбор:
1.1 Отмена
1.2 ОК
Здесь
и
далее
выбран
вариант 1.2
Закрывается модальное окно, надпи
блока остается неизменной.
1.Закрывается модальное окно, надпись
блоке соответствует надписи, введенной
поле «Заголовок»
2.Блок Действие остается выделенным
Левой кнопкой мыши щелкаем на
черный квадратик в зеленой рамке
в правом нижнем углу блока
Действие и, удерживая ее,
изменяем размер блока, двигая
мышью
Блок Действие меняет свои размеры
зависимости от движения курсора, но
меньше
заданного
программ
минимального размера.
Левый верхний угол блока не меняет св
координаты.
Наводим курсор мыши на блок
Действие
Появляется подсказка с надпись
соответствующей введенной в по
«Описание».
Выберите один из следующих
вариантов:
1.1Нажать левой кнопкой мыши
«Arrow Flow»
1.2Нажать левой кнопкой мыши
«Инструменты»и выбрать поле
«Arrow Flow»
1.3Нажать
кнопку
F4
на
клавиатуре
Выбран
вариант 1.1
Выбран
вариант 1.2
Выбран
вариант 1.3
Зажимаем левой кнопкой мыши
блок Initial node, тянем стрелку к
блоку Action и отпускаем на нем
Выберите один из следующих
вариантов:
1.1Нажать левой кнопкой мыши
«Decision»
1.2Нажать левой кнопкой мыши
«Инструменты»и выбрать поле
«Decision»
1.3Нажать
кнопку
F9
на
клавиатуре
-Выделяется кнопка «Arrow Flow»
-«Выпадает»контекстное меню и исчеза
после выбора «Arrow Flow». Выделяет
кнопка «Arrow Flow»
-Выделяется кнопка «Arrow Flow»
1. Появляется стрелка, ведущая от бло
Начало к блоку Действие.
2. Выделение кнопки «Arrow Flo
сбрасывается.
Выбран
вариант 1.1
Выбран
вариант 1.2
Выбран
вариант 1.3
-Выделяется кнопка «Decision»
-«Выпадает»контекстное меню и исчеза
после выбора «Decision». Выделяет
кнопка «Decision»
-Выделяется кнопка «Decision»
Нажать на рабочее поле
Выберите один из следующих
вариантов:
1.1Нажать левой кнопкой мыши
«Arrow Flow»
1.2Нажать левой кнопкой мыши
«Инструменты»и выбрать поле
«Arrow Flow»
1.3Нажать
кнопку
F4
на
клавиатуре
1.
На
рабочем
поле
появляет
выделенный блок Decision(условие)
месте нажатия.
2.
Выделение
кнопки
«Decisio
сбрасывается.
Выбран
вариант 1.1
Выбран
вариант 1.2
Выбран
вариант 1.3
Зажимаем левой кнопкой мыши
блок Действие, тянем стрелку к
блоку Условие и отпускаем на нем
Выберите один из следующих
вариантов:
1.1Нажать левой кнопкой мыши
«Note»
1.2Нажать левой кнопкой мыши
«Инструменты»и выбрать поле
«Note»
1.3Нажать
кнопку
F10
на
клавиатуре
-«Выпадает»контекстное меню и исчеза
после выбора «Arrow Flow». Выделяет
кнопка «Arrow Flow»
-Выделяется кнопка «Arrow Flow»
1. Появляется стрелка, ведущая от бло
Действие к блоку Условие.
2. Выделение кнопки «Arrow Flo
сбрасывается.
Выбран
вариант 1.1
Выбран
вариант 1.2
Выбран
вариант 1.3
Нажать на рабочее поле
Выберите один из следующих
вариантов:
1.1Нажать левой кнопкой мыши
«Note Flow»
1.2Нажать левой кнопкой мыши
«Инструменты»и выбрать поле
«Note Flow»
1.3Нажать
кнопку
F5
на
клавиатуре
-Выделяется кнопка «Arrow Flow»
-Выделяется кнопка «Note»
-«Выпадает»контекстное меню и исчеза
после выбора «Note». Выделяется кноп
«Note»
-Выделяется кнопка «Note»
1.
На
рабочем
поле
появляет
выделенный блок Note(комментарий)
месте нажатия.
2.
Выделение
кнопки
«No
сбрасывается.
Данный
комментарий
являет
свободным.
Выбран
вариант 1.1
Выбран
вариант 1.2
Выбран
вариант 1.3
-Выделяется кнопка «Note Flow»
-«Выпадает»контекстное меню и исчеза
после выбора «Note Flow». Выделяет
кнопка «Note Flow»
-Выделяется кнопка «Note Flow»
Зажимаем левой кнопкой мыши
блок
Комментарий, тянем
стрелку к блоку Действие и
отпускаем на нем
1. Появляется пунктирная прям
соединяющая
блоки Действие
Комментарий.
2. Выделение кнопки «Note Flo
сбрасывается.
Данный комментарий т.о. становит
ассоциированным.
Зажимаем левой кнопкой мыши
блок
Комментарий
и
перетаскиваем его в иное место
рабочей зоны, отпускаем кнопку
мыши
Блок
Комментарий
выделяется
перемещается соответствуя перемещен
курсора.
Выберите один из следующих
вариантов:
1.1Нажать левой кнопкой мыши
«Note»
1.2Нажать левой кнопкой мыши
«Инструменты»и выбрать поле
«Note»
1.3Нажать
кнопку
F10
на
клавиатуре
Выбран
вариант 1.1
Выбран
вариант 1.2
Выбран
вариант 1.3
-Выделяется кнопка «Note»
-«Выпадает»контекстное меню и исчеза
после выбора «Note». Выделяется кноп
«Note»
-Выделяется кнопка «Note»
Нажать на рабочее поле
1.
На
рабочем
поле
появляет
выделенный блок Note(комментарий)
месте нажатия.
2.
Выделение
кнопки
«No
сбрасывается.
Данный
комментарий
являет
свободным.
Дважды левой кнопкой мыши
нажать на блок Комментарий
Появляется
модальное
ок
«Редактирование
элемента»
возможностью ввести заголовок
описание для данного блока
Задать поле «Заголовок» и Выбран
«Описание» в соответствии с вариант 1.1
назначением данного блока и
нажать кнопку на выбор:
1.1 Отмена
1.2 ОК
Закрывается модальное окно, надпи
блока остается неизменной.
Здесь
и Закрывается модальное окно, надпись
далее
блоке соответствует надписи, введенной
выбран
поле «Заголовок»
вариант 1.2
Выберите один из следующих
вариантов:
1.1Нажать левой кнопкой мыши
«Final Node»
1.2Нажать левой кнопкой мыши
«Инструменты»и выбрать поле
«Final Node»
1.3Нажать
кнопку
F8
на
клавиатуре
Выбран
вариант 1.1
Выбран
вариант 1.2
Выбран
вариант 1.3
Нажать на рабочее поле
Выберите один из следующих
вариантов:
1.1Нажать левой кнопкой мыши
«Arrow Flow»
1.2Нажать левой кнопкой мыши
«Инструменты»и выбрать поле
«Arrow Flow»
1.3Нажать
кнопку
F4
на
клавиатуре
-Выделяется кнопка «Final Node»
-«Выпадает»контекстное меню и исчеза
после выбора «Final Node». Выделяет
кнопка «Final Node»
-Выделяется кнопка «Final Node»
1.
На
рабочем
поле
появляет
выделенный блок Final Node (Конец)
месте нажатия.
2. Выделение кнопки «Final Nod
сбрасывается.
Выбран
вариант 1.1
Выбран
вариант 1.2
Выбран
вариант 1.3
-Выделяется кнопка «Arrow Flow»
-«Выпадает»контекстное меню и исчеза
после выбора «Arrow Flow». Выделяет
кнопка «Arrow Flow»
-Выделяется кнопка «Arrow Flow»
Зажимаем левой кнопкой мыши
блок Условие, тянем стрелку к
блоку Конец и отпускаем на нем
1. Появляется стрелка, ведущая от бло
Условие к блоку Конец.
2. Выделение кнопки «Arrow Flo
сбрасывается.
Зажимаем левую кнопку мыши на
рабочей
зоне
и
выделяем
несколько блоков, например блоки
Действие и условие так, чтобы
они полностью попадали в
выделенную зону и отпускаем
кнопку мыши.
Блоки Действие и Условие и связь меж
ними, т.к. она полностью попала в зо
выделения, выделяются.
Нажимаем левой кнопкой мыши
на любой из выделенных блоков
и,
удерживая
кнопку,
перетаскиваем в другое место
рабочей зоны на усмотрение
пользователя и отпускаем.
Выделенные
элементы
диаграмм
перемещаются
в
соответствии
перемещением курсора.
Выделим блок Действие, нажав на
него 1 раз левой кнопкой мыши.
Блок Действие
выделяется.
на
рабочей
зо
Выбрать один из предложенных
вариантов:
1.1Нажать левой кнопкой мыши
«Удалить»
1.2Нажать левой кнопкой мыши
«Правка»и
выбрать
поле
«Удалить»
1.3Нажать
клавиатуре
кнопку
Del
Выбран
вариант 1.1
Выбран
вариант 1.2
на Выбран
вариант 1.3
Выберите один из вариантов:
1.1Нажать левой кнопкой мыши
«Черновик»
1.2Нажать левой кнопкой мыши
«Файл»и
выбрать
поле
«Черновик»
Выбран
вариант 1.1
Выбран
вариант 1.2
-Блок Действие удаляется вместе со все
связями, относящимися к нему.
-«Выпадает»контекстное меню и исчеза
после выбора «Удалить». Блок Действ
удаляется вместе со всеми связям
относящимися к нему.
- Блок Действие удаляется вместе
всеми связями, относящимися к нему.
-Выделяется кнопка «Черновик»
-«Выпадает»контекстное меню и исчеза
после выбора пункта «Чернови
Выделяется кнопка «Черновик».
Аналогичным образом можно
снять с диаграммы пометку
«Черновик», которая указывает,
что
вид
диаграммы
не
окончательный.
Выберите один из вариантов:
1.1) Создать новую диаграмму.
1.2) Сохранить текущую.
1.3) Выйти из редактора.
Выбран
вариант
1.1
Выберите один из вариантов:
1.1.1 Нажать левой кнопкой мыши
«Создать»
1.1.2 Нажать левой кнопкой мыши
«Файл» и выбрать поле «Создать»
1.1.3 Нажать кнопку Ctrl+N на
клавиатуре
Независимо Открывается
от
«ActivityEdit».
выбранного
варианта
Выбрать в модальном окне:
1.1.1.1 Кнопку «Save»
модальное
ок
Выбран
вариант
Возможно
возникновение 1.1.1.1
исключительной ситуации 1.
Описание и пути решения см. в
приложении к таблице.
-Открывается окно «Сохранить как…»
возможностью ввести имя и тип файла
выбор из списка и «Сохранить»(рабоч
поле очищается) или «Отмена»(рабоч
поле остается без изменений)-отмени
сохранение файла.
1.1.1.2 Кнопку«Discard»
-Созданная
Выбран
ранее
диаграмма
1.1.1.3 Кнопку«Cancel»
вариант
1.1.1.2
Выбран
вариант
1.1.1.3
сохраняется. Рабочее поле очищается .
-Окно «ActivityEdit» закрывается. Рабоч
поле остается без изменений.
Выбран
вариант
1.2
Выберите один из вариантов:
1.2.1 Нажать «Сохранить» или
«Сохранить как…»
1.2.2 Нажать «Файл», выбрать
«Сохранить» или «Сохранить
как…»
1.2.3 Нажать Ctrl+S на клавиатуре
Независимо
от
выбранного
варианта
Ввести имя в поле «Имя файла»,
например Диаграмма1.
Выбрать тип файла, например
XML.
Нажать кнопку «Сохранить».
Открывается окно «Сохранить как…»
возможностью ввести имя и тип файла
выбор из списка и «Сохранить»(рабоч
поле очищается) или «Отмена»(рабоч
поле остается без изменений)-отмени
сохранение файла.
Диаграмма сохраняется под имен
Диаграмма1 с расширением (.aex). Ок
«Сохранить как…» закрывается. Рабоч
поле остается неизменным.
Возможно
возникновение
исключительной ситуации 1.
Описание и пути решения см. в
приложении к таблице.
Выбран
вариант
1.3
Выбрать один из вариантов:
1.3.1Нажать «Файл», выбрать
«Выход».
1.3.2Нажать на кнопку закрытия
окна «ActivityEdit» в правом
верхнем углу.
Ввести имя в поле «Имя файла»,
например Диаграмма1.
Выбрать тип файла, например
XML.
Нажать кнопку «Сохранить».
Независимо
от
выбранного
варианта
Открывается окно «Сохранить как…»
возможностью ввести имя и тип файла
выбор из списка и «Сохранить»(рабоч
поле очищается) или «Отмена»(рабоч
поле остается без изменений)-отмени
сохранение файла.
Диаграмма сохраняется под имен
Диаграмма1 с расширением (.aex). Ок
«Сохранить как…» закрывается. Ок
«ActivityEdit» закрывается.
Возможно
возникновение
исключительной ситуации 1.
Описание и пути решения см. в
приложении к таблице.
Пункт 2!!!
Выбран
вариант
2
Выбрать один из вариантов:
2.1 Нажать кнопку «Открыть»
2.2 Нажать «Файл», выбрать поле
«Открыть»
2.3 Нажать кнопки Ctrl+O на
клавиатуре
Независимо Открывается окно «ActivityEdit».
от
выбранного
варианта
Нажать кнопку «Discard» и в
появившемся
окне
выбрать
нужный файл. Нажать «Открыть».
Возможно
возникновение
исключительной ситуации 2.
Описание и пути решения см. в
приложении к таблице.
Далее возможно выполнять все те
же действия, что описаны выше в
пункте 1.
Окно
«ActivityEdit»
закрывает
открывается окно «Открыть».
После нажатия кнопки «Открыт
загружается выбранная диаграмма и
можно увидеть на рабочем поле.
Download