С.Н. Шубин, К.А. Петросян,
Научный руководитель: И. В. Евдокимов, канд. техн. наук, доцент
Сибирский федеральный университет
(г. Красноярск, РФ)
ПЕРСПЕКТИВЫ РАЗВИТИЯ ПРОГРАММНОЙ ИНЖЕНЕРИИ НА ОСНОВЕ
СВОБОДНЫХ ЛИЦЕНЗИЙ В РОССИИ
С появлением возможности использования программного обеспечения с открытым
исходным кодом жизнь программиста облегчилась. Свободная лицензия на программный
продукт
предоставляет
право
пользователю
на
использование,
изменение,
распространение данного кода программы. Такие лицензии на использование программ
дают преимущество во времени разработки приложения на основе свободного кода, также
с экономической точки зрения это более выгодно, чем потратить какое-то время и ресурсы
на разработку уже существующего текста программного продукта. Находящийся в
свободном доступе код позволяет минимизировать появление ошибок в программе, так
как при создании аналогичного данному коду текста программы вручную будут
встречаться синтаксические и логические ошибки на стадии ее компиляции. В этой работе
применяется код программы построения схемы на основе свободной лицензии CC BY-SA,
который и послужил фундаментом создания приложения для построения органиграммы
по RAD- технологии разработки программных продуктов [1-2].
RAD-технология (англ. Rapid Application Development – быстрая разработка
приложений) - это технология, позволяющая в сжатые сроки создать простое приложение
на основе метода прототипирования и спиральной модели жизненного цикла
программного продукта [3]. В данном методе создания приложения выделяют 4 фазы в
разработке программы: анализ и планирование требований, проектирование, построение и
внедрение. Разработка по этой модели характеризуется тем, что результатом работы над
программой в течение небольшого промежутка времени может являться не полностью
готовый продукт, а лишь его часть. Главная особенность этой технологии - удобный
графический интерфейс [4]. При использовании метода быстрой разработки приложений
создается программа, позволяющая графически изобразить организационную структуру
управления фирмы в виде схемы, иначе говоря - органиграмма.
В сжатые строки был создан прототип этого программного продукта. Главный
ресурс, который потребовался для его разработки – это время, уже существующая часть
свободного кода и никаких финансовых средств. Работа программы была представлена
таким образом: при запуске приложения пользователь выбирает один из пунктов меню:
добавить или удалить подразделение, добавить или удалить руководителя. При
добавлении или удалении полей создается матричная структура управления фирмой.
Матричная
структура
управления
–
это
структура,
построенная
по
функциональному принципу, где система управления разделена на функциональные
службы, за каждой из которых закреплен определенный круг работ или проект. Здесь
существует два вида разделения, без которых схема не может быть построена:
руководители проекта и подразделения, в каждом из которых присутствуют исполнители.
В данной программе основу составляют руководители и подразделения фирмы. Директор
компании
не
работает
напрямую
со
специалистами,
подчиненными
линейным
руководителям [4-5].
Программа разрабатывалась в Visual Studio на языке c# в разделе Windows Forms.
Фундаментом для создания этой программы является код построения блоков в схеме,
находящийся в свободном доступе. В классе «Diagram» был создан список фигур из
абстрактного класса «Figure», функции сохранения и чтения схемы из файла. От данного
класса наследуются классы различных фигур, из которых и состоит список:
прямоугольника, ромба, параллелограмма, скругленного прямоугольника и эллипса. В
классе
«SolidFigure» определяется стандартный начальный размер фигуры, ее цвет
заливки, функции размещения фигур в координатной плоскости схемы и текста в них.
При построении схемы все введенные данные о руководителях и подразделениях
прописываются в прямоугольниках. Также в абстрактном классе «Figure» было создано
виртуальное свойство карандаша - черчение линий, а также изменяемые абстрактные
функции изображения фигур. Был добавлен класс построения соединительной линии,
куда входит и ломаная линия LedgeLineFigure.
К уже существующему коду построения блоков схемы была добавлена вторая часть
кода по структурированию элементов в виде матрицы и созданию соответствующих
функций. Схема управления фирмой строится в виде матрицы, где в левом вертикальном
столбце указываются руководители, а в верхней строке – подразделения фирмы. Функции
всех подразделений находятся в двумерном массиве matrix, который реализован как
коллекция
List<List<string>>.
Элементы
одного
столбца
относятся
к
одному
функциональному подразделению, а элементы одной строки к одному руководителю.
Пункт меню построения схемы состоит из окон: добавить руководителя, добавить
подразделение, удалить подразделение, удалить руководителя. При выборе пункта меню
автоматически создается схема размера matrix[i][j] по вышеуказанному описанию
действий. Чтобы схема была создана, необходимо добавить хотя бы одного руководителя
и одно подразделение. При создании схемы автоматически создается блок «Директор», от
которого ответвляются подразделения и руководители. Блок «Директор» изменяет свои
положение и размер при увеличении количества подразделений. Для соединения блоков
используется линия с перегибом LedgeLineFigure. Так как координаты точки перегиба
высчитываются для соединения разных типов блоков (директор и руководитель,
руководитель и подразделение) по разным формулам, поэтому от класса LedgeLineFigure
наследуется три производных класса, в каждом из которых переопределена функция
нахождения координаты точки перегиба.
Блоки не поддаются ручному изменению положения и находятся на заданном
расстоянии между собой. При наведении курсора на поле с данными, фигура
обрисовывается по контуру линией красного цвета для удобства восприятия. Для
изменения текста блока необходимо сделать по нужному блоку двойной щелчок мыши,
при перестроении схемы изменения текста сохраняются только для блоков функций
подразделений.
Таким образом, используя код построения схемы в открытом доступе и RADтехнологию разработки программного продукта была создана программа для построения
органиграммы.
предприятия,
Органиграмма
выявить
лишние
предоставляет
элементы в
возможность
управлении
или
проследить
работу
недостающие
для
эффективного функционирования предприятия [6-7]. Пользуясь методом быстрой
разработки приложений и частью свободного кода, данный проект был выполнен в
течение месяца. На начальном этапе разработки программного продукта не были
сформулированы четкие требования к программе, лишь ее возможный в общих чертах
вариант работы. Итогом работы стала простая программа создания схемы структуры
управления предприятия, где главными функциями являются добавление и удаление
элементов схемы. Разработанное приложение было загружено на сервер GitHub в
открытом доступе для просмотра [8].
СПИСОК ЛИТЕРАТУРЫ
1.
CyberForum// Storm23 — [Электронный ресурс] — Режим доступа. — URL:
http://www.cyberforum.ru/windows-forms/thread1400540.html#post7371251
(дата
обращения: 11.05.2017).
2.
Creative Commons. — [Электронный ресурс] — Режим доступа. — URL:
(дата
https://creativecommons.org/licenses/by-sa/3.0/legalcode
обращения:
11.05.2017).
3.
Солонин Е.Б. Современные методики
разработки информационных систем
[Текст] / Солонин Е.Б. – Екатеринбург, 2015. - С. 10-13.
4.
Ломов
И.И.,
Вахрушева
М.Ю.
К
вопросу
о
современных
методиках
моделирования бизнес-процессов//В сборнике: Актуальные вопросы экономики
региона: анализ, диагностика и прогнозирование – материалы VI Международной
студенческой научно-практической конференции. -2016. - С. 68-70.
5.
StudFiles.
—
[Электронный
ресурс]
—
Режим
доступа.
—
URL:
http://www.studfiles.ru/preview/2799859/ (дата обращения: 11.05.2017).
6.
Кузьмин К.М., Кяшкин В.Е., Евдокимов И.В. Проектирование информационной
системы
для
комплексной
автоматизации
деятельности
управляющих
организаций в сфере ЖКХ//Новая наука: Проблемы и перспективы. 2016. № 10-1.
С. 152-155.
7.
Евдокимов И.В. Методика исследования систем управления предприятий для
целей информатизации//Труды Братского государственного университета. Серия:
Экономика и управление.
8.
GitHub-saimon9675/Organigramme — [Электронный ресурс] — Режим доступа. —
URL: https://github.com/saimon9675/Organigramme (дата обращения: 11.05.2017).
Отзывы:
Авторизуйтесь, чтобы оставить отзыв