SAGU, Свободная программа для администраторов учебных заведений
 
Автор: (C) Сесар Брод [Cesar Brod]
Перевод: (C) Сергей Скороходов


В 1999 я возглавил отдел ИТ в Univates. В то время главной проблемой была коммерческая система для работы с учебными, административными и бухгалтерскими данными, явно не способная справится с информацией о студентах, которых предстояло зачислить. Простым выходом могла бы стать покупка коммерческого решения, но объем необходимой переделки и подгонки, вкупе с запредельной стоимостью программы, вынудила наш университет, существующий на деньги местной общины, поискать альтернативу. Работая в Linux с 1993 года, я уже думал о том, чтобы создать новую систему, полностью основанную на свободно распространяемом софте. Учебный курс по PHP на LinuxWorld Expo 1999 и разговоры с людьми, уже использовавшими PHP, оказались именно той информацией, которая была нужна для составления плана разработки, получившего одобрение ректората.

В начале 2000 года мы начали работу над SAGU, воспользовавшись той же ER-моделью (Entity-Relationship model == модель Сущность-Связь), которую использовала старая система. С самого начала SAGU задумывалась системой с веб-интерфейсом (через браузер) для того, чтобы пользователь не зависил от платформы -- у нас уже были планы перевести пользователей на Linux-десктопы. Разработка началась с использованием сервера баз данных MySQL, но поскольку в то время MySQL не поддерживал транзакций, мы "откочевали" на PostgreSQL. Поскольку предыдущего опыта работы ни с MySQL, ни с PostgreSQL у нас не было, было принято решение сделать SAGU независимым от сервера базы данных, и мы создали структуру (PHP-программу) под названием common.php, которая обрабатывала связь с базой данных -- и, если бы нам пришлось когда-либо менять сервер базы данных, единственный модуль, требующий изменения, был бы common.php. Но позже, после посещения нашего университета Расмусом Лердорфом [Rasmus Lerdorf], мы решили, что будем и дальше работать с PostgreSQL, а затем сделали новую, основанную на транзакциях и представлениях [presentation], подсистему работы с базой данных, которую используем в SAGU и других наших свободно распространяемых проектах. Эта подсистема называется MIOLO, но это уже тема для другой статьи...

SAGU расшифровывается как Sistema Aberto de Gestao Unificada (ой, до повсеместного введения Unicode с португальскими буквами в русском тексте беда: в слове Gestao буква 'a' должна быть с тильдой наверху -- прим. перев.), что означает Открытая Объединенная Система Управления. Говоря проще, SAGU автоматизирует все взаимоотношения между студентами и учебными подразделениями, с момента записи абитуриента на вступительные экзамены и до выпуска студента по завершению обучения.

В июле 2000 г. SAGU "задышала". Первая рабочая версия была сделана группой из трех программистов меньше чем за шесть месяцев. Отдельные части SAGU имитировали работу конкретных учебных подразделений, так что имелись модули, которые обрабатывали вступительные экзамены (оптические считывающие устройства для обработки ответов экзаменуемых, классификация, распределение по аудиториям), зачисление (выбор курсов для конкретного семестра, проверка того, что студент уже прослушал курсы, необходимые для понимания выбранного [prerequisites]), успеваемость (оценки и др. данные), финансово-бухгалтерские данные (платежи, кредиты, стипендии, интерфейс к банковским и другим бухгалтерским программам) и подсистема для генерации отчетов.

В настоящее время SAGU переписывается с использованием принципов Объектно Ориентированного программирования, все транзакции и представление данных должны обрабатываться "слоем" MIOLO (MIOLO по-португальски -- хлебный мякиш [inside part of a bread]).

Дополнительную информацию по SAGU и исходные тексты можно получить на http://sagu.codigoaberto.org.br. К огорчению читающих по-английски (а это, я думаю, большинство из Вас), большая часть информации написана на португальском. Казиро [Kaziro] в Швеции координирует усилия по переносу системы на английский язык для того, чтобы SAGU можно было использовать в некоторых учебных заведениях Южной Африки -- разве не в этом истинная прелесть Free Software? С Казиро можно связаться по адресу kaziro@spray.se. Если Ваша работа связана с образованием, то Вам, возможно, будет интересно узнать про наш проект GNUTECA, который проходит альфа-тестирование в наших библиотеках. GNUTECA -- это свободно распространяемая система для администрирования библиотек, включающая каталог печатных материалов, выдачу/возвращение литературы и поддержку групповой работы. Система совместима с библиотечными стандартами (MARC) и позволяет пользователям систем CDS/ISIS переселиться в мир свободно распространяемых программ. Подробнее об этом проекте можно прочесть на http://gnuteca.codigoaberto.org.br.


Сесар Брод [Cesar Brod]

В первый раз Сесар Брод столкнулся с Linux в 1993 году, смоделировав на своем персональном компьютере проблемы с машиной, работающей под управлением System V. В компьтерной сфере Сесар занят с 1980, работал на такие компании, как NCR, BASF, Tandem/Compaq и ACI, по большей части занимался поддержкой клиентов и предпродажной подготовкой. В 1998 Сесар решил, что с него хватит больших городов и, вместе с женой и тремя дочерьми, вернулся в Арройо до Мейо [Arroio do Meio], маленький город на юге Бразилии, где в конце 60-х он провел лучшие годы детства. В 1999 году Сесар предложил свои услуги Univates, университету в соседнем городе Лажеадо [Lajeado], где и теперь работает менеджером по ИТ и координирует разработку программного обеспечения. Одновременно Сесар -- один из координаторов Free Software Project of the State of Rio Grande do Sul.


Copyright (C) 2001, Cesar Brod.
Copying license http://www.linuxgazette.com/copying.html
Published in Issue 72 of Linux Gazette, November 2001

Вернуться на главную страницу