Формализация постановки задачи Заказчик: Кафедра ПОАС Жуковой И.Г._________, Ужвы А.Ю._________. Исполнитель: Студенты группы ИВТ-460 Бондаренко А._______, Валовой М.Ю.________, Колесов Д___________, Фролов А.___________. 1.Цели разработки Оптимизация и сокращение времени на построение UMLдиаграммы. Результатом разработки является графический редактор. 2.Область применения автоматизация разработки диаграммы состояния в соответствии со стандартом UML. 3.Объект проектирования UML-диаграмма состоящая из следующих компонентов: 1. Круг – является обозначением «начало» в диаграмме и от него отходит лишь одна стрелка без комментариев, к нему не может быть подсоединена ни простая стрелка, ни стрелка с комментарием, только пунктирная. 2. Простая стрелка – простая стрелка может исходить лишь из «начала» и из «выгрузки», должна быть соединена с другим элементов диаграммы. 3. Стрелка с комментарием – стрелка исходящая от всех элементов кроме: начала, конца, выгрузки, комментариев ,а так же от других стрелок – и входит во все элементы кроме: начала, конца, выгрузки, комментариев, а так же других стрелок. Должна связывать 2а элемента диаграммы. 3. Пунктирная стрелка – исходит только от «комментариев» и связывается со всеми элементами диаграммы, кроме других стрелок. 4. Закрашенный круг – является обозначением «конца» в диаграмме. Из него не может исходить ни одна из стрелок. Входит лишь простая стрелка. 5. Круг с буквой «Н» - является обозначением загрузки дополнительной информации, в дальнейшем просто «выгрузка». Соединяется со всеми компонентами простой стрелкой, кроме: начала, конца – и в него не входит ни одна из стрелок. 6. Прямоугольник с закругленными концами – является обозначением «состояния» в диаграмме. Исходящими/входящими являются только стрелки с комментариями, могут входить и простые стрелки. 7. Прямоугольник – является обозначением «комментария» в диаграмме. Исходит и входит только пунктирная линия. Все геометрические фигуры(кроме линий и стрелок)- статичны и не могут изменять размер. 4.Функциональны требования а) Главная функция: -построение UML-диаграммы. б) Основные функции: -добавление «Начала»; -добавление «Конца»; -добавление «Выгрузки»; -добавление «Состояния»; -добавление «Комментария»; -добавление «Пунктирной линии»; -добавление «Стрелки»; -удаление элемента (после выбора режима - правый клик мышки); - «Режим редактирования» :перетаскивания элементов, изменение имени и данных (после выбора режима: левый клик мышки по объекту – перемещение, правый клик – вызов диалога позволяющего изменить имя и описание объекта) в) Вспомогательные функции: - объекты диаграммы не должны выходить за поля области отображения; - размеры объектов статичны, их размер нельзя изменять; - при пересечении «Стрелки» любого из объектов, «стрелка» отображается поверх него ,выходя на передний план; - нижний и боковой скролы, позволяют просматривать всю область отображения диаграммы. 5.Нефункциональные требования А) Создаваемый программный продукт должен обеспечивать удобное редактирование диаграмм согласно варианту. Должно быть предусмотрено создание, изменение, удаление структурных элементов, их положения на странице. Б) Должна быть предусмотрена реакция на перетаскивание отдельных элементов, включающая перетаскивание ассоциированных с этим элементом связей. Для выделения связей должна быть предусмотрена активная область не менее 7px шириной, а не только область самой стрелки. В) Для готовой программы должен быть предусмотрен инсталлятор, который должен иметь возможность установить программу на «чистую» систему Windows XP, включая все библиотеки и компоненты, необходимые для работы программы. Г)Диаграмма должна сохраняться в графический файл расширением *.png .(требования к разработ файлу!!!) 6.Рамки/ограничения проекта 6.1. Стандарты UML-диаграммы 6.2. Выданное задание по предмету «Технология программирования» 6.3. Ограничение на программный продукт: А) Имя «Состояния» - строка, состоящая из латинских букв и кириллицы, цифр и «_». Длинна которой, не превышает 20 символов, а его описание не более 50 символов(включая разделители); Б) Комментарий к стрелке – строка, состоящая из латинский букв, кириллицы, цифр и «_». Длина которой, не превышает 10 символов. В) длина строки в «комментарии» не должна превышать 100 символов, включая разделители; Г) максимальное количество элементов на диаграмме: - «Начало» - 1; - «Конец» - 1; - «Выгрузка» - 5; - «Состояние» - 10; - «Комментарий» - 10; 7. Сценарий поведения программы. Действие актеров Отклик системы Пользователь левым нажимает на кнопку Пользователь левым нажимает на кнопку Пользователь левым нажимает на кнопку Пользователь левым нажимает на кнопку Пользователь левым нажимает на кнопку Пользователь левым нажимает на кнопку Пользователь левым нажимает на кнопку Пользователь левым нажимает на кнопку редактирования». кликом «мыши» «Начало» . кликом «мыши» «Конец». кликом «мыши» «Состояние». кликом «мыши» «Выгрузка». кликом «мыши» «Комментарий». кликом «мыши» «Удаление». кликом «мыши» «Стрелка». кликом «мыши» «Режим Активируется метод отрисовки элемента «Начало». Активируется метод отрисовки элемента «Конец». Активируется метод отрисовки элемента «Состояние». Активируется метод отрисовки элемента «Выгрузка». Активируется метод отрисовки элемента «Комментарий». Активируется метод удаления элемента с области отображения. Активируется метод отрисовки элемента «Стрелка». Активируется режим редактирования: перемещение объектов на области отображения нажатием левой кнопки мыши; изменения имен/данных «Состояния», «Комментария», «Стрелки» производится вызовом диалога, при нажатии на них правой кнопкой мыши в режиме редактирования. После нажатия левым кликом «мыши» на кнопку (кроме «стрелки»), пользователь, левым кликом «мыши», нажимает на область отображение. !Исключение 1 После нажатия левым кликом «мыши» на кнопку «Режим редактирования», пользователь, левым кликом выбирает объект на области отображения. После нажатия левым кликом «мыши» на кнопку «Удаление», пользователь, правым кликом «мыши», нажимает на элемент, находящийся на области отображения. Добавление на область отображения выбранного элемента («Начало», «Конец», «Состояние», «Выгрузка», «Комментарий»). После нажатия левым кликом «мыши» на кнопку «Стрелка», пользователь, левым кликом «мыши», выбирает один элемент с области отображения, затем левым кликом – другой элемент с области отображения. Между объектами отрисовывается связь, согласно особенностью объектов. !Исключение 2 Пользователь левым кликом «мыши» передвигает нижний ползунок скрола. Пользователь левым кликом «мыши» передвигает боковой ползунок скрола. Пользователь левым кликом нажал кнопку «Файл», затем копку «Открыть» Пользователь левым кликом нажал кнопку «Файл», затем копку «Создать» Пользователь левым кликом нажал кнопку «Файл», затем копку «Сохранить» Перемещение области отображения по ширине. Пользователь левым кликом нажал кнопку «Файл», затем копку «Экспорт в png» Пользователь левым кликом нажал кнопку «Файл», затем копку «Сохранить как» Пользователь нажал левой кнопкой Возможность перемещение объекта в видимой области отображения. Элемент со всеми прилегающими к нему связями удаляется с области отображения. Перемещение области отображения по высоте. Вызывается диалог предлагающий пользователю загрузить ранее сохраненный файл в программу. Удаляются все объекты с области отображения диаграммы – создание новой диаграммы. Вызывается диалог предлагающий пользователю задать имя файлу и сохранить его в собственном формате *.umd, если файл был ранее сохранен, то происходит его перезапись. Вызывается диалог предлагающий пользователю задать имя графического файла, в который будет импортирована диаграмма. Вызывается диалог предлагающий пользователю задать имя файлу и сохранить его в собственном формате *.umd, если файл был ранее сохранен, то происходит его перезапись. !Исключение 3 Выбранный объект при мыши на созданный объект в области отображения Пользователь левым кликом нажал кнопку «Файл», затем копку «Выход» редактировании, или когда он является начальным, а конечный для стрелки еще не выбран (как при создании и редактировании стрелки, так и при её удалении) становится полупрозрачным. Завершение работы с программой. 8. Таблица исключений сценария. Исключение 1:количественное ограничение элементов диаграммы Действие актера Отклик системы Попытка создание более одного «Начала» или «Конца». Попытка создания более 5 элементов «Выгрузки». Попытка создания более 10 элементов «Состояния» или «Комментария». Создание двусторонней связи между «Состояниями». Попытка создание двусторонней связи между элементами: «Начало», «Конец», «Выгрузка». Запрет пользователю на создание этих элементов путем блокирования кнопки «Начало» или «Конец». Запрет пользователю на создание этого элемента путем блокирования кнопки «Выгрузка» Запрет пользователю на создание этих элементов путем блокирования кнопки «Состояния» или «Комментария». Стрелка становится направленной в обе стороны Запрет на создание двусторонней связи. Исключение 2:особенность связей между элементами диаграммы Действие актера Отклик системы Создание связи между «Комментариями» Создание связи между элементами исключая «Комментарий» Отрисовывается пунктирная линяя, которая является связью между: «Комментарий» - «Комментарий», «Комментарий» - «Начало», «Комментарий» - «Конец», «Комментарий» - «Состояние», «Комментарий» - «Выгрузка» , а так же: … - «Комментарий» Отрисовывается однонаправленная стрелка, которая является связью между ними. Исключение 3: Описание формата собственного файла *.umd Действие актера Отклик системы 8. Пример построения диаграммы 9.Пример интерфейса программы(макеты) 10.Разработка концепции программы Программа будет разработана на языке С++ с использованием библиотек Qt. Так как библиотека Qt предоставляет достаточный набор удобных в использовании классов для реализации графической части программы. Программа будет являться специализированным графическим редактором, для быстрой разработки UML-диаграмм и состоять из одного exeфайла. Программа будет состоять из одной компоненты – редактора, в связи с чем, взаимосвязь между компонентами отсутствует. 11.Разработка прототипа программы Данный прототип реализуется, чтобы реализовать главный функционал и продемонстрировать его заказчику. 12.Выбор языка программирования и библиотек Программный продукт будет написан на языке высокого уровня С++, с использованием библиотек Qt. 13.Выбор среды разработки Программный продукт будет написан на Microsoft Visual Studio 2008. 14.Выбор средств документации 13.1. doxygen 13.2. RSM 15.Выбор средств тестирования QTestLib и ручное тестирование, с выполнением типового сценария работы. 16.Выбор средств командной разработки 15.1. Skype 15.2. живые конференции 17.План работ Описан в диаграмме Ганта.