ВВЕДЕНИЕ 5
1 Анализ предметной области 7
1.1 Рынок систем 9
1.2 Описание бизнес-процессов 12
1.3 Процесс «Поиск файла» 13
1.4 Процесс «Обработка данных файла и создание инструкции для построения UML-диаграммы классов» 15
1.5 Процесс «Создание и сохранение UML-диаграммы классов в PNG».... 16
1.6 Процесс «Выбор директории для сохранения UML-диаграммы классов» 17
1.7 Процесс «Проверка входных данных» 17
1.8 Требования к разработке 18
1.9 Диаграмма прецедентов системы 19
1.10 Спецификации вариантов использования 21
1.11 Функциональные требования 24
1.12 Нефункциональные требования 25
1.13 Анализ согласованности требований и спецификаций прецедентов 25
1.14 Актуальность программы “UML-ClassCreater” 26
1.15 Вывод 27
2 Проектирование системы 29
2.1 Регулярные выражения 29
2.2 Класс ChoiceAndLookFor 30
2.3 Метода LookForV 31
2.4 Метод LookForM 33
2.5 Метод LookForWorkWithClassRelation 34
2.6 Поиск файла с кодом для анализа и построения UML - диаграммы классов 36
2.7 Вывод 38
3. Функциональные возможности программы 40
3.1 Меню программы и ее компоненты 40
3.2 Кнопка “OpenFile” 41
3.3 Кнопка «Build» 42
3.4 Кнопка “Location to save” 44
3.5 Кнопка с изображением детали 46
3.6 Кнопка “Exit” 47
3.7 Вывод 47
ЗАКЛЮЧЕНИЕ 49
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 51
ПРИЛОЖЕНИЕ 53
На сегодняшней день работа над автоматизацией занимает передовые позиции для предприятий и различных крупных работодателей.
Автоматизация, это не всегда роботы или большие машины, под автоматизацией можно так же рассматривать программы которые позволяют выполнить задачи для пользователя без больших затрат времени или необходимых навыков. Нашей задачей является максимально автоматизировать и упростить, а так же минимизировать ошибки, которые создаёт человек вовремя работы.
Наша программа упрощает ведение документации и исключает ошибки, вызванные человеческим фактором .
Уникальность нашей программы заключается в построении UML- диаграмм классов автоматически.
Поскольку в компаниях разрабатываются программы часто, то нами было принято решение разработать программу, которая позволит генерировать UML-диаграммы классов автоматически.
Данная программа поможет разработчикам проще реализовывать для себя документацию для поддержки программ и сократить большую часть времени на составление документации во время разработки.
В данном решении присутствует ещё ряд перспективных решений, поскольку UML-диаграммы классов будут генерироваться программный код, ссылаясь на код программиста, а этим мы исключим ошибки человека при построении UML-диаграммы классов. Также диаграммы классов будут шаблонными, что позволяют легко понимать UML-диаграммы классов.
Мы считаем, что использовать нашу программу будут программисты.
Для поддержания документации в понятном и правильном состоянии необходимо затратить существенное количество времени, что бывает достаточно накладно по времени. При составлении документации связанной
с UML-диаграммами классов могут быть ошибки, что крайне критичны при использовании созданной документации в дальнейшем.
В результате разработки программы для построения UML-диаграммы классов, нами был реализован простой и ориентировано понятный интерфейс программы. Программа работает максимально стабильно и нами были реализованы различные нетипичные циклы использования программы, которые могли приводить к ошибкам, но после определенного количества исправлений и доработок мы реализовали максимальную стабильность программы. Дизайн приложения реализовывался в конструкторе WindowsForms. Интерфейс приложения максимально просто в использовании и ориентированно понятный, что упрощает использование программы.
Нами был реализован частичный функционал для построения UML- диаграмм классов. Программа UML-ClassCreater реализует часть функционала из всего возможного для построения UML-диаграмм классов, но возможностей программы хватает, чтобы создавать UML-диаграммы классов для многих программ.
Если разработчики решат расширить функционал программы или добавить новые решения для программы, то программный код позволяет это реализовать.
В случае дальнейшего улучшения программы можно реализовать дополнительные связи между объектами, такие как агрегация, композиция и реализация. Так же мы считаем, что необходимо сделать поддержку на других системах, кроме Windows.
Мы считаем, что данные задачи, связанные с добавлением функционала и перенос программы вполне реализуемы для нашей программы. В консольном приложении реализовать нашу программу можно без особых трудностей.
Программа, разработанная нами интересна в крупных и маленьких компаниях для составления документации.
Вовремя работы мы рассмотрели разные подходы к автоматизации разных рабочих процессов. Мы считаем, что автоматизация является важным решением в рабочем процессе, но интеграция не всегда является возможная или очень сложной.
1. Боггс, М. UML и Rational Rose / М. Боггс. - Москва: РГГУ, 2010. - 385 с.
2. Бородакий, Ю. В. Эволюция информационных систем / Ю.В. Бородакий, Ю.Г. Лободинский. - Москва: СИНТЕГ, 2011. - 368 с.
3. Буч, Гради Введение в UML от создателей языка / Гради Буч , Джеймс Рамбо , Ивар Якобсон. - М.: ДМК Пресс, 2015. - 496 с.
4. Буч, Грейди Язык UML. Руководство пользователя / Грейди Буч , Джеймс Рамбо , Айвар Джекобсон. - М.: ДМК, 2015. - 432 с.
5. Гома, Хассан UML. Проектирование систем реального времени, параллельных и распределенных приложений / Хассан Гома. - М.: ДМК Пресс, 2016. - 700 с.
6. Грекул, В. И. Управление внедрением информационных систем / В.И. Грекул, Г.Н. Денищенко, Н.Л. Коровкина. - Москва: РГГУ, 2014. - 224 с.
7. Гультяев, А. К. Проектирование и дизайн пользовательского интерфейса / А.К. Гультяев, В.А. Машин. - М.: Корона-Принт, 2010. - 350 с.
8. Пайлон, Д. UML 2 для программистов / Д. Пайлон. - М.: Питер, 2012. - 198 с.
9. Приемы объектно-ориентированного проектирования. Паттерны проектирования / Э. Гамма и др. - Москва: СИНТЕГ, 2016. - 366 с.
10. Роберт, А. Максимчук UML для простых смертных / Роберт А. Максимчук, Эрик Дж. Нейбург. - Москва: СИНТЕГ, 2014. - 272 с.
11. Фаулер, Мартин UML. Основы. Краткое руководство по стандартному языку объектного моделирования / Мартин Фаулер. - Москва: СИНТЕГ, 2011. - 192 с.
12. Шилин, К. Ю. Макропроектирование компьютерных обучающих систем / К.Ю. Шилин. - М.: Издательский дом "Дело" РАНХиГС, 2013. - 184 с .
13. Абрамян, Михаил Visual C# на примерах (+ CD-ROM) / Михаил Абрамян. - М.: БХВ-Петербург, 2012. - 496 с.
14. Бишоп, Дж. С# в кратком изложении / Дж. Бишоп, Н. Хорспул. - М.: Бином. Лаборатория знаний, 2011. - 472 с.
15. Васильев, Алексей C#. Объектно-ориентированное программирование / Алексей Васильев. - М.: Питер, 2012. - 320 с.