ГРАФИЧЕСКИЙ РЕДАКТОР ДЛЯ ПОСТРОЕНИЯ UML ДИАГРАММ И ГЕНЕРАЦИИ КОДА КЛАССОВ НА ЯЗЫКЕ ПРОГРАММИРОВАНИЯ JAVASCRIPT Н. С. Стрелков, С. С. Сыпачев Пермский государственный национальный исследовательский университет, 614990, Пермь, Букирева, 15 В разработке программного обеспечения огромную важность имеет процесс проектирования как системы в целом, так и отдельных ее частей. При проектировании необходимо учитывать парадигму, с использованием которой ведется разработка. Доминирующая парадигма сейчас – это ООП (объектно-ориентированное программирование). Для проектирования в этой парадигме самым популярным инструментом является язык UML (Unified Modeling Language), позволяющий строить диаграммы классов. Существуют также программные продукты (кодогенераторы), которые на основе этих диаграмм генерируют код классов на объектноориентированном языке: MS Visual Studio – C# Eclipse – Java Rational Rose – С++, Java, C# Язык JavaScript – сценарный прототипно-ориентированный язык программирования применяющийся преимущественно в веб-разработке. До 2009 года был языком, выполняющимся только на стороне клиента в браузере. В 2009 году была разработана платформа Node.js, которая позволила исполнять JavaScript на стороне сервера. Следовательно, появилась возможность писать полноценные системы на этом языке. Однако программ для генерации кода классов на языке JavaScript еще нет. Целью работы было проектирование и разработка веб-приложения, состоящего из двух подсистем: Подсистема построения диаграмм – графический редактор для построения UML диаграмм классов (клиентская часть), Подсистема генерации кода - кодогенератор классов на языке JavaScript (серверная часть). В данной статье описана разработка подсистемы генерации кода. Для достижения цели необходимо было выполнить следующие подзадачи: Спроектировать протокол клиент-серверного взаимодействия; Спроектировать структуру и механизмы взаимодействия пользовательских классов; Подобрать свободно распространяемые программные продукты (БД, библиотеки, фрэймворки, платформы); Запрограммировать серверную часть. 169