А.В.Шалтунович
Нижневартовск, Россия
A.V.Shaltunovich
Nizhnevartovsk, Russia
ОРГАНИЗАЦИЯ СОВМЕСТНОЙ COLLABORATIVE DEVELOPMENT
РАЗРАБОТКИ ВЕБ-ПРИЛОЖЕНИЙ OF WEB APPLICATIONS IN
В РАМКАХ СОЦИАЛЬНОЙ СЕТИ GITHUB THE SOCIAL NETWORKING GITHUB
Аннотация. В статье произведен обзор социальной Abstract. This article reviews the social network GI-сети GITHUB, а также показаны ее преимущества THUB, and also shows its advantages when used in train-при использовании в процессе обучения специали- ing IT specialists. стов в сфере информационных технологий.
Ключевые слова: информация; информационные Key words: information; information technologies; технологии; программное обеспечение; социальная software; social networking service; open source soft-сеть; открытое программное обеспечение; свободное ware; free software; collaborative development; web ap-программное обеспечение; совместная разработка; plication; education.
веб-приложение; образование._____________________________________________________________
Сведения об авторе: Шалтунович Анна Викторовна, About the authors: Shaltunovich Anna Viktorovna, as-ассистент кафедры информатики и методики препо- sistant of the department of Informatics and its teaching давания информатики. methodology.
Место работы: Нижневартовский государственный Place of employment: Nizhnevartovsk State University
гуманитарный университет.___________________of Humanities._______________________________
Контактная информация: 628611, г. Нижневартовск, ул. Дзержинского, д. 11; тел. (9028)547428.
E-mail: [email protected]
Тенденции развития современных технологий в области разработки программного обеспечения активно продвигаются в сторону свободно распространяемого и открытого программного обеспечения. Переход на свободное программное обеспечение связан не только с коммерческой выгодой предприятий, использующих его, но и с изменившимся мировоззрением общества в вопросе программного обеспечения и предоставляемой информации. Сегодня абсолютно естественной потребностью человека является необходимость получения открытой информации о состоянии любого объекта или процесса в информационном обществе.
Совместно с развитием информационных технологий, как известно, меняются и способы ведения различных видов деятельности. Так, например, в области организации переговоров большой популярностью пользуются системы онлайн-конференций. Для организации бизнес-процессов широкое применение получили корпоративные порталы, позволяющие организовать деятельность предприятия на удаленной основе. В сфере образовательных услуг активно распространяются системы дистанционного обучения.
Таким образом, сегодня для того чтобы обладать необходимой актуальной информацией в рамках определенной цели, достаточно иметь доступ к сети Интернет с персонального компьютера любого класса.
В связи с этим и в организации образовательного процесса также назревают изменения. Если говорить о традиционной организации обучения, когда вуз считается центром передовой и наиболее актуальной информации, то данная модель претерпевает некоторый кризис. Сегодня отмечено преобразование связи между ценностью и доступностью информации. Раньше информация в стенах вуза была труднодоступной, а потому ценилась достаточно высоко, важным было присутствие на занятиях, так как в противном случае всю необходимую информацию приходилось добывать из множества различных источников.
С течением времени большинство операций и действий стали автоматизированными, а огромное количество источников информации предоставлено в сети Интернет, поиск которых теперь занимает гораздо меньше времени. Сегодня записанный под диктовку материал лекции не представляет для современных студентов никакого интереса, т.к. весь этот
материал они могут отыскать в Интернете за пару минут. Кроме того, динамика современной жизни заставляет более рационально и целесообразно относиться к планированию и распределению времени.
Социум требует адаптировать учебные мероприятия к современным условиям, что должно повысить их ценность и важность. Задания, имеющие практическую значимость, а не решение типовых задач, проблемные ситуации, а не простое изложение материала, нацеленность на совместное проектирование, а не на одиночную разработку — такими должны быть занятия. Все эти практические навыки гораздо больше востребованы студентами, чем традиционные методы обучения и знания, полученные при решении классических задач.
Далее стоит рассмотреть коренные изменения в коммуникационной жизни общества, в частности, продвижение технологий социальных сетей и интернет-общения. Информационные средства сетевого общения позволили по-новому организовать способы коммуникации между людьми, а вместе с тем и некоторые виды проводимых учебных работ. Студенту уже недостаточно быть простым пассивным слушателем в процессе обучения, его повседневная жизнь в интернет-сообществах позволяет быть активным автором за пределами учебного заведения. Поэтому необходимо предоставить всем участникам образовательного процесса возможность для творческого мышления и активного продвижения своих идей и проектов, особенно в рамках организации самостоятельной деятельности студентов. Самостоятельную проектную деятельность необходимо организовывать в качестве совместной работы над проектом группы студентов. При этом каждый студент сможет реализовать наиболее развитые способности именно на своем функционально обоснованном месте в группе. Прошли те времена, когда разработкой программных продуктов занимался один программист. Сегодня выпуск готового программного продукта и его успех на рынке — это результат труда команды разработчиков, службы внедрения и сопровождения, специалистов в области рекламы и продвижения товаров, технического и обслуживающего персонала [1].
При создании любого программного продукта неизбежным является разделение полномочий и обязанностей при реализации частей приложения или функциональных модулей. Создание программного продукта — сложный и кропотливый процесс, состоящий из нескольких этапов.
1. Создание проекта и определение требований, предъявляемых к программному продукту.
2. Разработка информационной системы.
3. Тестирование и отладка.
4. Эксплуатация и сопровождение.
Для эффективной работы по созданию информационной системы необходимо правильно и рационально координировать работу всей группы специалистов, работающих над данным проектом. Кроме того, нужно не только распределить обязанности каждого члена группы, но и его уровневое назначение на том или ином этапе создания программного продукта. Уровневое назначение предполагает наличие двух взаимосвязанных подсистем — это контролирующая и рабочая группы. Соответственно, рабочая группа отвечает за непосредственную реализацию поставленной задачи, а контролирующая группа — за мониторинг эффективности, правильности, адекватности, своевременности и актуальности решения задачи.
Современные сетевые средства общения позволяют не только выступать в качестве автора некоторых идей, но и являться активным критиком и вносить свои собственные изменения в предложенные концепции. Так, в области разработки программного обеспечения организованно сообщество для совместной работы над проектами на базе социальной сети GITHUB (github.com).
GITHUB — это веб-сервис для размещения проектов и их совместной разработки. Данная социальная сеть основана на технологии GIT, являющейся распределенной системой управления версиями файлов. Проект был создан Линусом Торвалдсом для управления разработкой ядра Linux, первая версия выпущена 7 апреля 2005 г. Примерами проектов, использующих Git-технологии, являются ядро операционной системы Linux, система управления содержимым Drupal, библиотека векторного рендеринга Cairo, веб-браузер Chromium, библиотека jQuery и некоторые дистрибутивы Linux.
В случае с проприетарным или коммерческим программным обеспечением данная социальная сеть будет представлять собой определенную угрозу, а для свободного и открытого программного обеспечения, наоборот, организует множество дополнительных возможностей: по обмену профессиональным опытом между специалистами, модификации существующего программного кода.
В процессе обучения будущих инженеров-программистов данная социальная сеть должна занять свою нишу при совместной разработке. Эта система позволит не только отслеживать изменения в версиях программных продуктов, но и практико-ориентрованными методами показать студентам способы организации и ведения совместной работы над проектами. Кроме того, на младших курсах студенты обмениваются опытом программирования и приобретают навыки работы в команде.
Особой популярностью данная социальная сеть пользуется у программистов Java Script. Предпочтения программистов, использующих социальную сеть, относительно языков программирования распределены следующим образом:
Objective-C
C++
Perl
PHP
C
Java
Shell
Python
Ruby
JavaScript
2%
4%
7%
7%
7%
[]8%
19%
116%
20%
Спектр языков программирования, используемых в проектах этого сообщества, гораздо более широкий: ActionScript, Ada, Arc, Arduino, ASP, Assembly, AutoHotkey, Boo, C, C#, C++, Clojure, CoffeeScript, ColdFusion, Common Lisp, D, Delphi, Dylan, Eiffel, Emacs Lisp, Erlang, F#, Factor, Fancy, FORTRAN, Go, Gosu, Groovy, Haskell, HaXe, Io, Ioke, Java, Java-
Script, Lua, Matlab, Max/MSP, Mirah, Nemerle, Nu, Objective-C, Objective-J, OCaml, ooc, Parrot, Perl, PHP, Prolog, Pure Data, Python, R, Racket, Rebol, Ruby, Rust, Scala, Scheme, Self, Shell, Smalltalk, Standard ML, SuperCollider, Tcl, Turing, Vala, Verilog, VHDL, VimL, Visual Basic, XQuery.
GITHUB предоставляет доступ к проектам как для рабочей (группы разработчиков), так и для контролирующей групп. При этом зоны действия полномочий обеих групп не пересекаются. Группа разработчиков работает непосредственно со средой разработки, а контролирующая группа может просматривать ход выполнения работы в предоставленном тестовом варианте приложения, внося свои комментарии и замечания за счет дополнительных средств коммуникации (wiki, форум, блог и др.).
Таким образом, использование профессионально-ориентированных социальных сетей позволяет организовать учебный процесс, в частности самостоятельную деятельность студентов, на базе наиболее популярных средств сетевой коммуникации, и следовательно наиболее простым образом заинтересовать студентов совместной разработкой приложений любого уровня.
ЛИТЕРАТУРА
1. Осокина Е.В. Результаты внедрения методической системы обучения будущих ИТ-специалистов коллективной разработке прикладных информационных систем // Мир науки, культуры, образования. 2011. № 2(27).