Формализация, постановка задачи

advertisement
Формализация, постановка задачи
Цели и задачи проекта
Цель проекта
Ускорить создание UML-диаграмм типа activity diagram.
Задачи проекта
Перед проектом стоят следующие задачи:

Проведение предпроектного исследования

Анализ вариантов решения и выбор основного;

Реализация проекта согласно выбранному варианту;

Тестирование полученного решения;

Внедрение на предприятии заказчика.
Область и объект проектирования
Где используется?
Область применения – разработка программного обеспечения.
Объект проектирования
Диаграмма активности.
Диаграмма состоит из блоков:
1.
2.
3.
4.
5.
Блок “Action”.
Блок “Initial node”.
Блок “Final node”.
Блок “Decision”.
Блок “Note”.
И связей:
1. Связь “Arrow flow”.
2. Связь “Note flow”.
Более подробно состав и структура диаграммы описаны в ограничениях проекта.
Функциональные требования к проекту
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
Cоздавать и редактировать диаграммы активности (главная функция).
Создать новую (пустую) диаграмму.
Сохранить диаграмму в XML-файл собственного формата.
Сохранить диаграмму в файл формата PNG.
Загрузить диаграмму из XML-файла собственного формата.
Добавлять блоки (“Action”, “Initial node”, “Final node”, “Decision”, “Note”) на диаграмму
путем выбора соответствующего инструмента на панели инструментов и щелчка левой
кнопкой мыши на рабочей области в том месте, в котором нужно создать новый блок.
Выделять блоки “Action”, “Initial node”, “Final node”, “Decision”, “Note” на диаграмме путем
выбора инструмента “Выделение” и щелчка на блоке, или с помощью прямоугольника
выделения. Выделены будут блоки, полностью размещенные внутри прямоугольника.
Перемещать блоки “Action”, “Initial node”, “Final node”, “Decision”, “Note” методом Dragand-Drop. Если одновременно выделено несколько блоков, они должны перемещаться как
единое целое (т.е. не меняя позиций друг относительно друга). При перемещении блоков
должны быть автоматически обновлены все связанные элементы диаграммы (например,
связи).
Изменять размер блока путем выделения блока, захвата зажатием левой кнопки мыши
маркера изменения размера выделенного блока, подгонки размера путем перемещения
курсора мыши (не отпуская левой кнопки), и отпускания левой кнопки мыши, когда будет
найден желаемый размер блока.
Изменять параметры блоков в отдельном диалоге путем двойного щелчка на блоке:
“Action”: видимый текст, подробное описание
“Note”: видимый текст, подробное описание
Отображать всплывающие подсказки с подробным описанием блоков “Action” и “Note”.
Удалять блоки путем их выделения и последующего выбора команды удаления из меню, в
панели инструментов или клавишей Del. Удалить все ассоциированные с удаляемыми
блоками связи, даже если они не выделены.
Создавать связи между блоками путем выбора соответствующего типу связи инструмента
на панели инструментов, зажатия на начальном блоке левой кнопки мыши,
перетаскивания курсора (не отпуская левой кнопки) на конечный блок и отпускания левой
кнопки.
Выделять связи путем щелчка левой кнопкой мыши рядом со связью (см. подробнее в
ограничениях) или с помощью прямоугольника выделения (будут выделены связи и
блоки, полностью лежащие внутри прямоугольника).
Изменять параметры связей путем двойного щелчка левой кнопкой мыши на связи:
“ArrowFlow”: ассоциированный со связью текст.
Удалять связи путем их выделения и выбора команды удаления из меню, на панели
инструментов или нажатием кнопки Del.
Показывать окно сведений о программе по команде главного меню.
Нефункциональные требования
Минимальные системные требования
1. Тактовая частота процессора – не ниже 1 ГГц.
2. Объем оперативной памяти – не менее 256 Мб.
3. Свободное место на жестком диске – не менее 50 Мб.
4. Операционная систем а – Windows XP.
Средства и языки разработки
Программа будет разрабатываться на языке С++ с использованием библиотеки Qt.
Требования к пользовательскому интерфейсу
Программа должна обладать простым и удобным интерфейсом, что достигается путем
использования широко распространенных визуальных интерфейсных шаблонов (рабочая область,
панель инструментов, меню, Drag-and-Drop). Программа должна предоставлять возможность
настройки своего интерфейса пользователем в определенных пределах (изменение и
запоминание при выходе положения панелей инструментов и позиции главного окна).
Другое
Ни при каких допустимых действиях пользователя программа не должна аварийно завершать
свою работу или зависать. В случае, если в результате ошибочных действий пользователя или
неверной конфигурации программа не может продолжать свою работу, она должна вывести
подробную информацию о сбое.
Требования к отображению информации
После открытия файла диаграмма должна быть расположена так же, как и в момент сохранения
(для того, чтобы пользователь мог найти ее визуально).
Все блоки имеют ограничения по минимальному размеру.
В случае, если текст не помещается внутри блока, он обрезается. Текст, который можно ввести в
качестве названия, отображаемого на блоке, не ограничен по своему размеру, т.к. пользователь
может изменять размеры блоков по своему вкусу и исходя из решаемых задач.
При наведении курсора мыши на блоки “Action” и “Note” отображается всплывающая подсказка,
содержащая подробное описание блока (расшифровку его названия).
Рамки и ограничения проекта
Сроки
Срок сдачи проекта – 10 декабря.
Состав и структура диаграммы
Диаграммы, построенные в редакторе, должны соответствовать стандарту языка UML. Под этим
подразумевается соответствие стандарту внешнего вида элементов и их свойств и
функциональности.
Диаграммы должны строиться в соответствии с выданным заданием.
Диаграмма состоит из блоков:
6.
7.
8.
9.
10.
Блок “Action”.
Блок “Initial node”.
Блок “Final node”.
Блок “Decision”.
Блок “Note”.
И связей:
3. Связь “Arrow flow”.
4. Связь “Note flow”.
Структура диаграммы описывается следующими правилами (стрелкой обозначено соединение с
помощью “ArrowFlow”, знаком равенства – с помощью “Note flow”; связь “Note flow” не имеет
направления):
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
“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”
Любые два элемента могут быть соединены не более, чем одной (допустимой) связью.
Пример диаграммы, которая может быть построена
Пример диаграммы, которая не может быть построена
Макеты экранных форм редактора
Структура главного меню
“Файл”: “Создать”, “Открыть...”, “Сохранить”, “Сохранить как...”, “Выход”.
“Правка”: “Удалить”, “Свойства...”.
“Инструменты”: “Выделение”, “Arrow flow”, “Note flow,” “Action”, “Initial
node”, “Final node”, “Decision”, “Note”.
“?”: “О программе...”.
Главное окно программы
Разработка концепции программы, выбор технологии
Языки программирования и библиотеки
С++, Qt 4.х.х.
Среды разработки
Qt Creator.
Средства докуметрирования
Doxygen.
Средства тестирования
Ручное тестирование согласно сценариям тестирования.
Средства командной разработки
Будут использоваться средства, предоставляемые Google Code. Выбранная система контроля
версий – Mercurual.
Средства развертывания
В качестве инсталлятора будет использоваться SFX-архив со всеми необходимыми библиотеками.
Средства коммуникации
Баг-трекер Google Code (“Issues”), e-mail, ICQ.
План работ и оценка стоимости проекта
План
1. Выбор средств коммуникации.
3 чел. * 1 день
2. Обзор доступных технологий, предназначенных для решения задач заданного типа.
3 чел. * 1 день
3. Оценка трудоемкости достижения цели проекта с помощью каждой из найденных
технологий.
3 чел. * 5 дней
4. Выбор технологии для реализации программы и используемого инструментария.
3 чел. * 1 день
5. Формулировка требований и ограничений.
3 чел. * 3 дня
6. Написание документации по требованиям.
3 чел. * 1 день
Всего 12 дней (т.е. 2 недели за вычетом двух выходных).
Оценка стоимости
Download