Ôåäåðàëüíîå àãåíòñòâî ïî îáðàçîâàíèþ Ãîñóäàðñòâåííîå îáùåîáðàçîâàòåëüíîå ó÷ðåæäåíèå âûñøåãî ïðîôåññèîíàëüíîãî îáðàçîâàíèÿ Ìîñêîâñêèé ãîñóäàðñòâåííûé èíäóñòðèàëüíûé óíèâåðñèòåò (ÃÎÓ ÌÃÈÓ) Êàôåäðà ¾Èíôîðìàöèîííûå ñèñòåìû è òåõíîëîãèè¿ äèïëîìíàÿ ðàáîòà ïî ñïåöèàëüíîñòè ¾Ìàòåìàòè÷åñêîå îáåñïå÷åíèå è àäìèíèñòðèðîâàíèå èíôîðìàöèîííûõ ñèñòåì¿ ñòóäåíòà Àëåêñàíäðîâà Àëåêñåÿ Èãîðåâè÷à íà òåìó ¾ðàçðàáîòêà èíôîðìàöèîííîé ñèñòåìû îáåñïå÷åíèÿ ó÷åáíîãî ïðîöåññà ñ ïðèìåíåíèåì äèñòàíöèîííûõ òåõíîëîãèé¿ Ðóêîâîäèòåëü ðàáîòû: çàâ. êàô. 36, äîöåíò, ê. ô.-ì. í. Ðîãàíîâ Åâãåíèé Àëåêñàíäðîâè÷ Ñòóäåíò-äèïëîìíèê Àëåêñàíäðîâ À. È. Ðóêîâîäèòåëü ðàáîòû, çàâ. êàô. 36 , äîöåíò, ê. ô.-ì. í. Ðîãàíîâ Å. À. äîïóñêàåòñÿ ê çàùèòå çàâ. êàô. 36 , äîöåíò, ê. ô.-ì. í. Ðîãàíîâ Å. À. Ìîñêâà 2010
Îãëàâëåíèå
Àííîòàöèÿ 4 Ââåäåíèå 5 Îáçîð ñóùåñòâóþùèõ ðåøåíèé è èñïîëüçóåìûõ òåõíîëîãèé 7 Îáçîð ñóùåñòâóþùèõ ðåøåíèé . . . 7 Îáçîð èñïîëüçóåìûõ òåõíîëîãèé . . . 9 Ruby . . . 9 Ruby on Rails . . . 10 PostgreSQL . . . 11 Âåá-ñåðâåð . . . 11 jQuery . . . 13 Git . . . 14 Capistrano . . . 15 Sphinx . . . 15 Ïîñòàíîâêà çàäà÷è . . . 16 1 Ñòðóêòóðà ñèñòåìû 17 1.1 Ó÷åáíûé ïåðèîä . . . 17 1.2 Äèñöèïëèíà . . . 18 1.3 Ðàçäåë . . . 19 1.4 Ñòðàíèöà . . . 19 1.5 Ôðàãìåíò . . . 19 1.6 Ôàéë . . . 20 1.7 Ïîëüçîâàòåëü . . . 21 1.8 Ðîëü . . . 21 1.9 Àäðåñà ýëåêòðîííîé ïî÷òû . . . 22 1.10 Ãðóïïû . . . 23 1.11 Áàëëüíî-ðåéòèíãîâàÿ ñèñòåìà . . . 24 Êðèòåðèé íà÷èñëåíèÿ ðåéòèíãîâûõ áàëëîâ . . . 25Îöåíêà . . . 25 Ðåéòèíãîâûå áàëëû . . . 25 1.12 Ìîäåëè, ïðåäíàçíà÷åííûå äëÿ ñáîðà ñòàòèñòèêè àêòèâíîñòè ïîëüçîâàòåëåé . . . 26 Ïîñåùåíèÿ . . . 26 Ïðîñìîòð ñòðàíèö . . . 26 2 Îñíîâíûå êîìïîíåíòû ñèñòåìû. Îïèñàíèå îñíîâíûõ ïðî öåäóð ðàáîòû â ñèñòåìå 27 2.1 Ìîäóëü îïîâåùåíèé . . . 27 2.2 Ìîäóëü îáìåíà ñîîáùåíèÿìè . . . 30 2.3 Ñèñòåìà ìîíèòîðèíãà äåéñòâèé ïîëüçîâàòåëåé . . . 30 2.4 Ñèñòåìà ñáîðà ñòàòèñòèêè . . . 31 2.5 Ïîèñêîâàÿ ñèñòåìà . . . 33 2.6 Ïðîöåäóðû óïðàâëåíèÿ èíôîðìàöèîííûìè ôðàãìåíòàìè . . 33 2.7 Ïðîöåäóðà íà÷èñëåíèÿ ðåéòèíãîâûõ áàëëîâ . . . 35 3 Èññëåäîâàíèå è îïòèìèçàöèÿ ñèñòåìû 37 3.1 Èññëåäîâàíèå ïðîèçâîäèòåëüíîñòè ñ ïîìîùüþ âñòðîåííûõ ìåõàíèçìîâ ñðåäû . . . 37 3.2 Îïòèìèçàöèÿ çàïðîñîâ ê áàçå äàííûõ . . . 38 3.3 Êýøèðîâàíèå . . . 40 Êýøèðîâàíèå îáúåêòîâ . . . 40 Êýøèðîâàíèå ñòðàíèö . . . 41 Êýøèðîâàíèå äåéñòâèé . . . 41 Êýøèðîâàíèå ôðàãìåíòîâ . . . 42 Çàêëþ÷åíèå 45 A Ïîëíàÿ ñõåìà äàííûõ ñèñòåìû 46 Ëèòåðàòóðà è ãèïåðññûëêè 53 Ñïèñîê ïóáëèêàöèé 58
Àííîòàöèÿ
Äàííàÿ ðàáîòà ïîñâÿùåíà ñîçäàíèþ èíôîðìàöèîííîé ñèñòåìû, ïðåäíà çíà÷åííîé äëÿ îðãàíèçàöèè ó÷åáíîãî ïðîöåññà ñòóäåíòîâ âûñøèõ ó÷åá íûõ çàâåäåíèé.  ðåçóëüòàòå ïðîäåëàííîé ðàáîòû ñîçäàíà è âíåäðåíà ñèñòåìà, èñïîëüçóþùàÿñÿ â ó÷åáíîì ïðîöåññå ñòóäåíòàìè è ñîòðóäíèêà ìè Ìîñêîâñêîãî ãîñóäàðñòâåííîãî èíäóñòðèàëüíîãî óíèâåðñèòåòà (ÃÎÓ ÌÃÈÓ). Ðàáîòà ñîäåðæèò 58 ñòðàíèö, 5 èëëþñòðàöèé, 1 ïðèëîæåíèå. Êëþ÷åâûå ñëîâà: îáðàçîâàòåëüíûé ïîðòàë, óïðàâëåíèå ó÷åáíûì ïðî öåññîì, îöåíêà, ðåéòèíã, áàëëüíî-ðåéòèíãîâàÿ ñèñòåìà, ruby, ruby on rails, e-learning, Learning Management System.Ââåäåíèå
 ñîâðåìåííîì ìèðå óæå òðóäíî ïðåäñòàâèòü îòðàñëü ÷åëîâå÷åñêîå äå ÿòåëüíîñòè, â êîòîðîé áû íå èñïîëüçîâàëèñü èíôîðìàöèîííûå ñèñòåìû è òåõíîëîãèè. Èíôîðìàöèîííûå òåõíîëîãèè â îáðàçîâàòåëüíîì ïðîöåññå èñïîëüçóþòñÿ óæå äîñòàòî÷íî äàâíî. Íàïðèìåð, â ÃÎÓ ÌÃÈÓ íà êà ôåäðå ¾Èíôîðìàöèîííûõ ñèñòåì è òåõíîëîãèé¿ îíè èñïîëüçóþòñÿ ñî äíÿ îñíîâàíèÿ êàôåäðû â 2001 ãîäó.  íà÷àëå ýòî áûëè íåáîëüøèå êîì ïëåêñû ïðîãðàìì, ïðåäíàçíà÷åííûå äëÿ ïîäãîòîâêè ó÷åáíûõ ìàòåðèàëîâ ðàçëè÷íûõ âèäîâ. Íà ñåãîäíÿøíèõ äåíü ïðàêòè÷åñêè êàæäûé ÷åëîâåê èìååò äîñòóï ê ðåñóðñàì èíòåðíåòà. Àáñîëþòíîå áîëüøèíñòâî ñòóäåíòîâ ÿâëÿþòñÿ àê òèâíûìè ïîëüçîâàòåëÿìè ðàçëè÷íûõ èíòåðíåò-ïðîåêòîâ (íàïðèìåð, ñî öèàëüíûå ñåòè, áëîãè, ìóëüòèìåäèéíûå ïîðòàëû è äð.). Òàêèì îáðàçîì, ìàêñèìàëüíàÿ èíòåãðàöèÿ èíôîðìàöèîííûõ òåõíîëîãèé è îáðàçîâàòåëü íîãî ïðîöåññà ïîçâîëèò ñäåëàòü ïðîöåññ îáó÷åíèÿ áîëåå ïîëåçíûì, èíòå ðåñíûì è óäîáíûì äëÿ âñåõ åãî ó÷àñòíèêîâ. Öåëüþ äàííîé ðàáîòû ÿâëÿåòñÿ ñîçäàíèå èíôîðìàöèîííîé ñèñòåìû ýëåêòðîííîãî îáó÷åíèÿ [3] ñòóäåíòîâ âûñøèõ ó÷åáíûõ çàâåäåíèé. Ïî äîáíûå ñèñòåìû ïðåäíàçíà÷åíû äëÿ îáåñïå÷åíèÿ âîçìîæíîñòè ðàáîòû ñ ýëåêòðîííûìè ìàòåðèàëàìè, îðãàíèçàöèè âçàèìîäåéñòâèÿ ïðåïîäàâà òåëÿ è ñòóäåíòîâ (â òîì ÷èñëå è äèñòàíöèîííîãî), ïðîâåäåíèÿ àòòåñòà öèîííûõ ìåðîïðèÿòèé, îñóùåñòâëåíèÿ êîíòðîëÿ è óïðàâëåíèÿ çà õîäîì ó÷åáíîãî ïðîöåññà. Òàêîé ïîäõîä èìååò äîñòàòî÷íî ìíîãî ïðåèìóùåñòâ, ñðåäè êîòîðûõ: • ïîñòîÿííàÿ äîñòóïíîñòü ó÷åáíûõ ìàòåðèàëîâ; • îñâîåíèå è ïîïóëÿðèçàöèÿ èííîâàöèîííûõ ïåäàãîãè÷åñêèõ òåõíîëî ãèé; • âîçìîæíîñòü îïåðàòèâíîãî êîíòðîëÿ è âëèÿíèÿ íà õîä îáðàçîâàòåëü íîãî ïðîöåññà;• íàëè÷èå äîïîëíèòåëüíûõ ìåõàíèçìîâ âçàèìîäåéñòâèÿ ïðåïîäàâàòå ëÿ è ñòóäåíòîâ. Îáðàçîâàòåëüíûì ïîðòàëîì áóäóò ïîëüçîâàòüñÿ âñå ó÷àñòíèêè ó÷åá íîãî ïðîöåññà: ñòóäåíòû è èõ ðîäèòåëè, ïðåïîäàâàòåëè, ïðåäñòàâèòåëè äåêàíàòà è ðåêòîðàòà, çàâåäóþùèå êàôåäðàìè. ×ðåçâû÷àéíî âàæíî, ÷òî áû èíôîðìàöèîííàÿ ñèñòåìà áûëà ïîíÿòíîé è óäîáíîé â èñïîëüçîâàíèè äëÿ êàæäîãî èç íèõ.
Îáçîð ñóùåñòâóþùèõ ðåøåíèé è
èñïîëüçóåìûõ òåõíîëîãèé
Îáçîð ñóùåñòâóþùèõ ðåøåíèé
Íà ñåãîäíÿøíèé äåíü ïðîèñõîäèò ÷ðåçâû÷àéíî àêòèâíîå ðàçâèòèå èí ôîðìàöèîííûõ ñèñòåì, öåëüþ êîòîðûõ ÿâëÿåòñÿ îðãàíèçàöèÿ ó÷åáíîãî ïðîöåññà. Ýòî ìîæíî îáúÿñíèòü àêòèâíûì âíåäðåíèåì èíôîðìàöèîí íûõ òåõíîëîãèé â îáðàçîâàíèå è, êàê ñëåäñòâèå, îñîçíàíèåì ïðåèìóùåñòâ èõ èñïîëüçîâàíèÿ â êà÷åñòâå ñðåäñòâ âåäåíèÿ îáðàçîâàòåëüíîé äåÿòåëü íîñòè. Ïî÷òè âñå ïîäîáíûå ñèñòåìû ÿâëÿþòñÿ âåá-îðèåíòèðîâàííûìè è ïðåäíàçíà÷åíû, ïðåæäå âñåãî, äëÿ îðãàíèçàöèè îáó÷åíèÿ ïî çàî÷íîé (äèñòàíöèîííîé) ôîðìå. Íà äàííûé ìîìåíò âî âñåì ìèðå èñïîëüçóåòñÿ îãðîìíîå êîëè÷åñòâî òàêèõ ñèñòåì, êàê ïðàâèëî áîëüøèíñòâî èç íèõ ÿâ ëÿþòñÿ ñðåäñòâàìè âåäåíèÿ áèçíåñà, à äîñòóï ê èõ ìàòåðèàëàì íå ÿâëÿ åòñÿ ñâîáîäíûì.  Ðîññèè òàêæå àêòèâíî ðàçâèâàåòñÿ èíòåðíåò-îáðàçî âàíèå. Íàèáîëåå ÿðêèì ïðåäñòàâèòåëåì ýòîãî ñåêòîðà îáðàçîâàíèÿ ÿâëÿ åòñÿ ñèñòåìà ¾Èíòåðíåò óíèâåðñèòåò èíôîðìàöèîííûõ òåõíîëîãèé¿ [4], êîòîðàÿ ñîäåðæèò â ñåáå áîëüøîé íàáîð êóðñîâ ïî ðàçëè÷íûì äèñöèïëè íàì, ñâÿçàííûì ñ èíôîðìàöèîííûìè òåõíîëîãèÿìè. Ñòîèò îòìåòèòü, ÷òî íåñìîòðÿ íà íàëè÷èå ñâîáîäíîãî äîñòóïà ê íåêîòîðûì ó÷åáíûì êóðñàì, äàííûõ ïðîåêò ÿâëÿåòñÿ êîììåð÷åñêèì, èñõîäíûå êîäû äàííîãî ïðîåêòà çàêðûòû è íå ðàñïðîñòðàíÿþòñÿ. Ïîìèìî âñåãî ïðî÷åãî, äàííàÿ ñèñòåìà íå ÿâëÿåòñÿ ïðèãîäíîé äëÿ îðãàíèçàöèè ó÷åáíîãî ïðîöåññà â öåëîì, ïî ñóòè, îíà ÿâëÿåòñÿ ëèøü ìåõàíèçìîì äëÿ ïîëó÷åíèÿ ó÷åáíûõ ìàòåðèà ëîâ. Ìíîãèå ÂÓÇû Ðîññèè ïðîèçâîäÿò ïîäãîòîâêó ñòóäåíòîâ ïî äèñòàíöè îííîé ôîðìå îáó÷åíèÿ.  êà÷åñòâå ïðèìåðà ìîæíî ïðèâåñòè èíôîðìà öèîííî-îáðàçîâàòåëüíûé ïîðòàë ÃÎÓ ÂÏÎ ¾Òþìåíñêèé ãîñóäàðñòâåí íûé óíèâåðñèòåò¿ [5], öåíòð äèñòàíöèîííîãî îáðàçîâàíèÿ Ìîñêîâñêîãî ãîñóäàðñòâåííîãî èíñòèòóòà ýëåêòðîíèêè è ìàòåìàòèêè [6]. Ñèñòåìà äè ñòàíöèîííîãî îáðàçîâàíèÿ òàêæå óñïåøíî èñïîëüçóåòñÿ â Ìîñêîâñêîìãîñóäàðñòâåííîì èíäóñòðèàëüíîì óíèâåðñèòåòå óæå â òå÷åíèå 15 ëåò â ðàìêàõ Èíñòèòóòà äèñòàíöèîííîãî îáó÷åíèÿ (ÈÄÎ) [7]. Ñ òî÷êè çðåíèÿ âíóòðåííåé ñòðóêòóðû ïîäîáíûå ñèñòåìû ìîæíî ðàç äåëèòü íà äâà òèïà: 1) ïðîåêòû, îñíîâàííûå íà ñîáñòâåííîé àðõèòåêòóðå èíôîðìàöèîííîé ñèñòåìû; 2) ïðîåêòû, èñïîëüçóþùèå ãîòîâóþ àðõèòåêòóðó. Ïðîåêòû ïåðâîãî âèäà ðàçðàáàòûâàþòñÿ, ïîääåðæèâàþòñÿ è ðàçâè âàþòñÿ êîìàíäîé ðàçðàáîò÷èêîâ â òå÷åíèå äîëãîãî ïåðèîäà âðåìåíè.  áîëüøèíñòâå ñëó÷àåâ òàêîé ïîäõîä òðåáóåò áîëüøèõ ôèíàíñîâûõ çàòðàò, ïîýòîìó, êàê ïðàâèëî, ñèñòåìû òàêîãî òèïà ÿâëÿþòñÿ ïîëíîñòüþ êîììåð ÷åñêèìè, à èñõîäíûé êîä ïðîåêòîâ ÿâëÿåòñÿ çàêðûòûì è íå ðàñïðîñòðà íÿåòñÿ. Ïðîåêòû âòîðîãî òèïà èñïîëüçóþò ãîòîâûå ïðîãðàììíûå ðåøåíèÿ, êî òîðûå âïîñëåäñòâèè àäàïòèðóþòñÿ è ìîäåðíèçèðóþòñÿ äëÿ ñîîòâåòñòâèÿ ïîñòàâëåííûì çàêàç÷èêîì òðåáîâàíèÿì. Ñîçäàíèå òàêîé ñèñòåìû îáõî äèòñÿ äåøåâëå, îäíàêî òàêîé ïîäõîä ïðèâîäèò ê íåîáõîäèìîñòè ¾ïîäñòðà èâàòüñÿ¿ ïîä àðõèòåêòóðó, âíóòðåííåå óñòðîéñòâî è ðåøåíèÿ, èñïîëüçóå ìûå ñîçäàòåëÿìè ïðîäóêòà, ÷òî íå âñåãäà ÿâëÿåòñÿ äîïóñòèìûì. Íàèáîëåå ïîïóëÿðíûì ïðîäóêòîì â ýòîé îáëàñòè ÿâëÿåòñÿ Moodle [8]. Moodle ïðîãðàììíûé êîìïëåêñ, ïîçâîëÿþùèé ñîçäàâàòü êóðñû è web ñàéòû, áàçèðóþùèåñÿ â èíòåðíåòå. Îí ðàñïðîñòðàíÿåòñÿ áåñïëàòíî â êà ÷åñòâå ïðîãðàììíîãî îáåñïå÷åíèÿ ñ îòêðûòûì êîäîì (Open Source) ïîä ëèöåíçèåé GNU Public License. Ýòî ñðåäñòâî èñïîëüçóåòñÿ ñåé÷àñ ïðè îðãàíèçàöèè ó÷åáíîãî ïðîöåññà ñòóäåíòîâ ÈÄÎ ÃÎÓ ÌÃÈÓ. Ñòîèò îòìå òèòü, ÷òî äëÿ åãî èñïîëüçîâàíèÿ â ÂÓÇàõ òðåáóåòñÿ äîñòàòî÷íî áîëüøàÿ îïòèìèçàöèÿ äëÿ ñîîòâåòñòâèÿ ðåàëèÿì âûñøåãî îáðàçîâàíèÿ â Ðîññèè. Ðàçâèòèå ýòîé ñèñòåìû áûëî íà÷àòî â 90-õ ãã., ÷òî ÿâëÿåòñÿ äîñòàòî÷ íî áîëüøèì ñðîêîì äëÿ èíôîðìàöèîííûõ òåõíîëîãèé. Çà ýòîò ïåðèîä ïðîåêò ïðåòåðïåë ìíîæåñòâî èçìåíåíèé, à ñëîæíîñòü åãî ðåàëèçàöèè çà ìåòíî âûðîñëà. Ïîýòîìó äëÿ âíåñåíèÿ äàæå ìàëåéøèõ èçìåíåíèé â êîä ïðîåêòà òðåáóþòñÿ áîëüøèå çíàíèÿ â îáëàñòè âíóòðåííåãî óñòðîéñòâà ñèñòåìû, ÷òî â ðàçû óñëîæíÿåò åãî ìîäåðíèçàöèþ. Êðîìå òîãî, äîñòà òî÷íî áîëüøîé âîçðàñò ïðîåêòà çàòðóäíÿåò èñïîëüçîâàíèå â íåì ñîâðå ìåííûõ òåõíîëîãèé, ïîñêîëüêó íà ìîìåíò åãî ñîçäàíèÿ ìíîãèå èç íèõ åùå íå ñóùåñòâîâàëè. Äëÿ áàçîâîãî ïðîäóêòà Moodle ñóùåñòâóåò îãðîì
íîå êîëè÷åñòâî ðàñøèðåíèè, êîòîðûå, çà÷àñòóþ, ïðîñòî íåîáõîäèìû äëÿ íîðìàëüíîãî ôóíêöèîíèðîâàíèÿ ñîâðåìåííîãî âåáïðèëîæåíèÿ. Ìíîãèå ïîäîáíûå ìîäóëè ÿâëÿþòñÿ ïðîïðèåòàðíûìè è òðåáóþò âíåñåíèÿ åæå ìåñÿ÷íîé àáîíåíòñêîé ïëàòû çà èõ èñïîëüçîâàíèå. Áîëüøîå êîëè÷åñòâî ìîäóëåé ìîãóò ñäåëàòü èñïîëüçîâàíèå ñâîáîäíîãî, íà ïåðâûé âçãëÿä, ïðî äóêòà ýêîíîìè÷åñêè íå âûãîäíûì. Òåì íå ìåíåå, ìíîãèå ó÷åáíûå çàâåäåíèÿ è êîìïàíèè èñïîëüçóþò Moodle. Ïî äàííûì îôèöèàëüíîãî ñàéòà Moodle â Ðîññèè íàñ÷èòûâàåòñÿ áîëåå 500 ñàéòîâ, ðàáîòàþùèõ íà äàííîé ñèñòåìå [9]. Ñòîèò òàêæå îáðàòèòü âíèìàíèå, ÷òî â ýòîì ñïèñêå ïðàêòè÷åñêè îòñóòñòâóþò êðóïíûå îáðàçî âàòåëüíûå öåíòðû èëè óíèâåðñèòåòû. Åùå îäíîé ïîäîáíîé ñèñòåìîé ÿâëÿåòñÿ Sakai [10]. Íåñìîòðÿ íà òî, ÷òî ðàçðàáîòêà ýòîé ñèñòåìû íà÷àëàñü íåñêîëüêî ïîçæå, â 2003 ãîäó, ïåðå÷èñëåííûå âûøå íåäîñòàòêè ìîæíî îòíåñòè è ê íåé. Íà ñåãîäíÿøíèé äåíü äîñòàòî÷íî àêòóàëüíà ïðîáëåìà íàëè÷èÿ ãèá êîãî, ñîâðåìåííîãî è ôóíêöèîíàëüíîãî ñðåäñòâà, ïðåäíàçíà÷åííîãî äëÿ îðãàíèçàöèè ó÷åáíîãî ïðîöåññà ñòóäåíòîâ ÂÓÇîâ âíå çàâèñèìîñòè îò íà ïðàâëåíèÿ ïîäãîòîâêè è ôîðìû îáó÷åíèÿ.
Îáçîð èñïîëüçóåìûõ òåõíîëîãèé
Ruby Äëÿ íàïèñàíèÿ ñèñòåìû áóäåò èñïîëüçîâàòüñÿ ÿçûê ïðîãðàììèðîâàíèÿ Ruby [11]. Ruby ñîâðåìåííûé äèíàìè÷åñêèé èíòåðïðåòèðóåìûé îáú åêòíî-îðèåíòèðîâàííûé ñâîáîäíî ðàñïðîñòðàíÿåìûé ÿçûê ïðîãðàììèðî âàíèÿ âûñîêîãî óðîâíÿ. Îí âïèòàë â ñåáÿ äîñòîèíñòâà òàêèõ ÿçûêîâ êàê LISP, Smalltalk, Perl, Python è äðóãèõ [2]. Åãî ñîçäàòåëåì ÿâëÿåòñÿ ÿïî íåö Þêèõèðî Ìàöóìîòî. Ýòîò ÿçûê ïðîãðàììèðîâàíèÿ ÿâëÿåòñÿ äîñòà òî÷íî ìîëîäûì è àêòèâíî ðàçâèâàþùèìñÿ. Òàê, íàïðèìåð, â ßïîíèè îí ÿâëÿåòñÿ áîëåå ïîïóëÿðíûì ÿçûêîì ïðîãðàììèðîâàíèÿ, ÷åì Python è Perl. ßçûê îáëàäàåò íåçàâèñèìîé îò îïåðàöèîííîé ñèñòåìû ðåàëèçàöèåé ìíîãîïîòî÷íîñòè, ñòðîãîé äèíàìè÷åñêîé òèïèçàöèåé, ñáîðùèêîì ìóñîðà è ìíîãèìè äðóãèìè âîçìîæíîñòÿìè. Ê íåäîñòàòêàì ÿçûêà ìîæíî îòíå ñòè îòíîñèòåëüíî ìåäëåííóþ ñêîðîñòü ðàáîòû, îòñóòñòâèå ïîääåðæêè ïî òîêîâ îïåðàöèîííîé ñèñòåìû, îòñóòñòâèå âñòðîåííîå ïîääåðæêè Unicode. Ñòîèò îòìåòèòü, ÷òî áîëüøèíñòâî çàìå÷àíèé îòíîñèòñÿ â âåòêå ðàçðàáîò êè 1.8, íà ìîìåíò íàïèñàíèÿ ðàáîòû óæå ïîÿâèëàñü âåðñèÿ èíòåðïðåòàòîðà 1.9, â êîòîðîé äàííûå íåäîñòàòêè óæå îòñóòñòâóþò [12]. Ñòîèò òàêæå óïîìÿíóòü, ÷òî â íîâîé âåðñèè ïðîèçîøëè çíà÷èòåëüíûå èçìåíåíèÿ â ñèíòàêñèñå ÿçûêà, ïîýòîìó îáðàòíàÿ ñîâìåñòèìîñòü íàðóøåíà. Ruby on Rails Ruby on Rails [14] îáúåêòíî-îðèåíòèðîâàííûé ïðîãðàììíûé êàðêàñ äëÿ ñîçäàíèÿ âåá-ïðèëîæåíèé, íàïèñàííûé íà ÿçûêå ïðîãðàììèðîâàíèÿ Ruby [13].  åãî ñîñòàâ âêëþ÷åíû èíñòðóìåíòû äëÿ èíòåãðàöèè ïðèëî æåíèÿ ñ ñåðâåðîì áàç äàííûõ è âåá-ñåðâåðîì.  îñíîâå Ruby on Rails ëåæèò àðõèòåêòóðà ÌîäåëüÏðåäñòàâëåíèåÊîí òðîëëåð (ModelViewController,MVC) [1]. Ìîäåëü ïðåäîñòàâëÿåò îñòàëü íûì êîìïîíåíòàì ïðèëîæåíèÿ îáúåêòíî-îðèåòèðîâàííîå ïðåäñòàâëåíèå äàííûõ. Îáúåêòû ìîäåëè îñóùåñòâëÿþò çàãðóçêó è ñîõðàíåíèå äàííûõ â ðåëÿöèîííîé áàçå äàííûõ, à òàêæå ðåàëèçóþò áèçíåñ-ëîãèêó. Ïðåäñòàâëå íèå ñîçäàåò ïîëüçîâàòåëüñêèé èíòåðôåéñ äëÿ îòîáðàæåíèÿ ïîëó÷åííûõ îò êîíòðîëëåðà äàííûõ. Ïðåäñòàâëåíèå òàêæå ïåðåäàåò çàïðîñû ïîëüçî âàòåëÿ íà ìàíèïóëÿöèþ äàííûìè â êîíòðîëëåð. Êîíòðîëëåð îñíîâíîé êîìïîíåíò, îòâå÷àþùèé çà âçàèìîäåéñòâèå ñ ïîëüçîâàòåëåì. Êîíòðîë ëåð ñ÷èòûâàåò íåîáõîäèìûå äàííûå èç ìîäåëè è ïîäãîòàâëèâàåò èõ äëÿ îòîáðàæåíèÿ, à òàêæå ñîõðàíÿåò ïîëó÷åííûå îò îòîáðàæåíèÿ äàííûå â ìîäåëè (ñì. ðèñ. 1). Ðèñ. 1. Àðõèòåêòóðà ÌîäåëüÏðåäñòàâëåíèåÊîí òðîëëåð Ðàçðàáàòûâàòü ïðèëîæåíèÿ, èñïîëüçóþùèå Ruby on Rails, ìîæíî ïîä óïðàâëåíèåì ðàçëè÷íûõ îïåðàöèîííûõ ñèñòåì (Mac OS, Linux,Windows), ñóùåñòâóþò ìåõàíèçìû âçàèìîäåéñòâèÿ ñ ðàçëè÷íûìè âåá-ñåðâåðàìè, òà êèìè êàê Apache, nginx, lighttpd. Ñðåäà Ruby on Rails ïîääåðæèâàåò ðàáîòó ñî âñåìè ïîïóëÿðíûìè ñèñòåìàìè óïðàâëåíèÿ áàçàìè äàííûõ: PosgtreSQL, MySQL, SQLite, Orcale, SQL Server, DB2, Firebird.
Ruby on Rails ÷ðåçâû÷àéíî àêòèâíî ðàçâèâàåòñÿ è ðàñïðîñòðàíÿåò ñÿ. Ìíîãèå êðóïíûå è èçâåñòíûå ïðîåêòû, íàïðèìåð, Twitter, Basecamp,
Github, íàïèñàíû íà Ruby on Rails. Ñòîèò òàêæå îòìåòèòü îãðîìíûé ïîòåíöèàë è õîðîøèå ïåðñïåêòèâû ýòîãî ñðåäñòâà ðàçðàáîòêè, ïîñêîëü êó îíî ïîçâîëÿåò áûñòðî è êà÷åñòâåííî ñîçäàâàòü ïîëíîöåííûå, ãèáêèå, ìíîãîôóíêöèîíàëüíûå ïðèëîæåíèÿ. PostgreSQL  êà÷åñòâå ñèñòåìû óïðàâëåíèÿ áàçàìè äàííûõ (ÑÓÁÄ) èñïîëüçóeòñÿ PostgreSQL [15], ÿâëÿþùàÿñÿ ñàìîé ïîïóëÿðíîé ñâîáîäíî ðàñïðîñòðàíÿ åìîé ÑÓÁÄ ñ îòêðûòûì èñõîäíûì êîäîì. Ñðåäè ïðåèìóùåñòâ äàííîé ñèñòåìû ìîæíî âûäåëèòü: • êðîññïëàòôîðìåííîñòü; • ïîääåðæêà ÁÄ ïðàêòè÷åñêè íåîãðàíè÷åííîãî ðàçìåðà; • ìîùíûå è íàäåæíûå ìåõàíèçìû òðàíçàêöèé è ðåïëèêàöèè; • ëåãêàÿ ðàñøèðÿåìîñòü. Ñòîèò îòìåòèòü íàäåæíîñòü ýòîãî ïðîäóêòà. Ñîãëàñíî ðåçóëüòàòàì àâòîìàòèçèðîâàííîãî èññëåäîâàíèÿ ðàçëè÷íîãî ÏÎ íà ïðåäìåò îøèáîê, â èñõîäíîì êîäå PostgreSQL áûëî íàéäåíî 20 ïðîáëåìíûõ ìåñò íà 775 000 ñòðîê èñõîäíîãî êîäà (â ñðåäíåì, îäíà îøèáêà íà 39 000 ñòðîê êîäà) [16]. Äëÿ ñðàâíåíèÿ: MySQL îäíà îøèáêà íà 4 000 ñòðîê êîäà; ÿäðî Linux îäíà îøèáêà íà 10 000 ñòðîê êîäà. Âåá-ñåðâåð Ïîñêîëüêó ðàçðàáàòûâàåìàÿ ñèñòåìà áóäåò ïðåäñòàâëÿòü èç ñåáÿ âåá ïðèëîæåíèå, òî áîëüøîå çíà÷åíèå èìååò âûáîð ñòðóêòóðû îáðàáîòêè HTTPçàïðîñîâ ê ñèñòåìå. Ñóùåñòâóåò íåñêîëüêî ñòðàòåãèè ðàçâåðòû âàíèÿ ðàáî÷åé âåðñèè ïðèëîæåíèÿ íà Rails. Îäèí èç ñàìûõ ïîïóëÿðíûõ îáëà÷íûõ õîñòèíãîâ, ñïåöèàëèçèðóþùèéñÿ èñêëþ÷èòåëüíî íà Ruby on Rails ïðåäñòàâëåíû òðè ñïîñîáà: • èñïîëüçîâàíèå âåá-ñåðâåðîâ Mongrel [17]; • èñïîëüçîâàíèå Unicorn [18]; • èñïîëüçîâàíèå ìîäóëÿ Passenger [19].
Mongrel îäíîïîòî÷íûé âåá-ñåðâåð, íàïèñàííûé íà ÿçûêå ïðîãðàì ìèðîâàíèÿ Ruby. Ìíîãèå ðàçðàáîò÷èêè èñïîëüçóþò ýòîò ñåðâåð ïðè ðàç ðàáîòêå ïðèëîæåíèé. Ïðè ðàçâåðòûâàíèè ïðèëîæåíèé, êàê ïðàâèëî, çà ïóñêàþò íåñêîëüêî ñåðâåðîâ Mongrel è ñïåöèàëüíóþ ïðîãðàììó, êîòîðàÿ çàíèìàåòñÿ ðàñïðåäåëåíèåì íàãðóçêè ìåæäó ñåðâåðàìè. Ïîäîáíûé ïîä õîä ÿâëÿåòñÿ íå ñëèøêîì íàäåæíûì, à òàêæå òðåáóåò áîëüøîé íàãðóç êè íà îïåðàòèâíóþ ïàìÿòü â âèäó îñîáåííîñòåé âåá-ñåðâåðà Mongrel.  ïîñëåäíåå âðåìÿ, ìíîãèå îòêàçûâàþòñÿ îò òàêîãî ñïîñîáà ðàáîòû ñâîèõ ïðîåêòîâ. Âåá-ñåðâåð Unicorn áîëåå ñîâåðøåííûé ñïîñîá ðàáîòû ïðèëîæåíèÿ. Unicorn ñàìîñòîÿòåëüíûé âåá-ñåðâåð. Ïðèíöèï åãî ðàáîòû ñëåäóþ ùèé. Èìååòñÿ ìàñòåðïðîöåññ è ìíîãî ïðîöåññîâîáðàáîò÷èêîâ. Ìàñòåð ñëåäèò çà îáðàáîò÷èêàìè, áàëàíñèðóÿ íàãðóçêó. Çäåñü ïðîñëåæèâàþòñÿ èäåè, îïèñàííûå â ïðåäûäóùåì ñïîñîáå, îäíàêî äàííàÿ ðåàëèçàöèÿ ÿâ ëÿåòñÿ áîëåå êà÷åñòâåííîé è ïðîäóìàííîé, à òàêæå òðåáóåò ìèíèìàëüíî ãî âìåøàòåëüñòâà àäìèíèñòðàòîðà. Ñðåäè íåäîñòàòêîâ ìîæíî îòìåòèòü áîëüøîå ïîòðåáëåíèå ïàìÿòè. Îäíèì èç íàèáîëåå ïîïóëÿðíûõ ñïîñîáîâ ðàçâåðòûâàíèÿ ïðèëîæåíèé, íàïèñàííûõ íà Ruby on Rails, ÿâëÿåòñÿ èñïîëüçîâàíèÿ ñïåöèàëüíîãî ïðî äóêòà Passenger îò êîìïàíèè Phusion. Passenger ïðåäñòàâëÿåò ñîáîé ìî äóëü äëÿ âåá-ñåðâåðà Apache èëè nginx, êîòîðûé ïîçâîëÿåò îáðàùàòüñÿ ê ïðèëîæåíèÿì íà Ruby on Rails òàêæå, êàê è ê ëþáûì äðóãèì ïðèëî æåíèÿì, íàïðèìåð, íàïèñàííûì íà ÿçûêå PHP.  êà÷åñòâå âåá-ñåðâåðà ðàçóìíî èñïîëüçîâàòü Apache [20]. Ýòîò âåá ñåðâåð ÿâëÿåòñÿ äîñòàòî÷íî íàäåæíûì è ãèáêèì ðåøåíèåì ñðåäè ñó ùåñòâóþùèõ ñâîáîäíî ðàñïðîñòðàíÿåìûõ âåá-ñåðâåðîâ. Íåëüçÿ íå îòìå òèòü ïîïóëÿðíîñòü ýòîãî ñåðâåðà. Ïî äàííûì ìåæäóíàðîäíîé êîìïà íèè NetCraft, çàíèìàþùåéñÿ èññëåäîâàíèåì èíòåðíåò-ñåðâèñîâ, ïî ñîñòî ÿíèþ íà äåêàáðü 2010 ãîäà íà âåá-ñåðâåðå Apache ðàáîòàåò áîëåå ïîëîâè íà âñåõ ñàéòîâ èíòåðíåòà (59, 35%) [21], ïðè÷åì ýòà äîëÿ ñðåäè ìèëëèîíà ñàìûõ çàãðóæåííûõ ôàéëîâ ñîñòàâëÿåò 66, 61%. Äëÿ ðàáîòû ñèñòåìû áóäåò èñïîëüçîâàòüñÿ ïîñëåäíèé ñïîñîá. Ýòî ðå øåíèå òðåáóåò íåáîëüøîãî êîëè÷åñòâà ïàìÿòè (ïî ñðàâíåíèþ ñ äðóãèìè âàðèàíòàìè), èìååò âîçìîæíîñòü èíòåãðàöèè ñ óæå ñóùåñòâóþùèìè ñè ñòåìàìè, à òàêæå ïðåäîñòàâëÿåò óäîáíóþ âîçìîæíîñòü óïðàâëåíèÿ ðàáî òàþùèìè ïðèëîæåíèÿìè.
jQuery  íàñòîÿùåå âðåìÿ ñîâðåìåííûå âåá-òåõíîëîãèè àêòèâíî ðàçâèâàþòñÿ, êàê ñëåäñòâèå ýòîìó, âåá-ïðèëîæåíèÿ ñòàíîâÿòñÿ âñå áîëåå ïðèâëåêàòåëü íûìè ñ òî÷êè çðåíèÿ ïîëüçîâàòåëüñêîãî èíòåðôåéñà è óäîáñòâà èñïîëü çîâàíèÿ êîíå÷íûìè ïîëüçîâàòåëÿìè. Íà ñåãîäíÿøíèé äåíü íàèáîëåå ïî ïóëÿðíû äâå òåõíîëîãèè, êîòîðûå ïîçâîëÿþò âíîñèòü äèíàìèêó â ñòàòè ÷åñêèå ñòðàíèöû: èñïîëüçîâàíèå ÿçûêà JavaScript è èñïîëüçîâàíèå òåõ íîëîãèè Flash. Òåõíîëîãèÿ Flash äîñòàòî÷íî ïîïóëÿðíà íà ñåãîäíÿøíèé äåíü, îäíàêî ïðè ñîçäàíèè ïîëíîöåííûõ èíôîðìàöèîííûõ ñèñòåì îíà ìàëîïðèãîäíà ïîñêîëüêó íå ëèøåíà ðÿäà íåäîñòàòêîâ. Âîò íåêîòîðûå èç íèõ: • ÷ðåçìåðíàÿ òðåáîâàòåëüíîñòü ê ðåñóðñàì ïðîöåññîðà; • äîñòàòî÷íî áîëüøîé îáúåì ash-ïðèëîæåíèé; • íåîáõîäèìîñòü óñòàíîâêè äîïîëíèòåëüíîãî ïðîãðàììíîãî îáåñïå÷å íèÿ äëÿ ïîëüçîâàíèÿ òåõíîëîãèåé; • íåäîñòàòî÷íàÿ íàäåæíîñòü è çàêðûòîñòü èñõîäíîãî êîäà. Äàííàÿ òåõíîëîãèÿ, êàê ïðàâèëî, èñïîëüçóåòñÿ ïðè ñîçäàíèè íåáîëü øèõ âåá-ïðèëîæåíèé, êîòîðûå íå íåñóò áîëüøîé èíôîðìàöèîííîé íà ãðóçêè, à ïðåäñòàâëÿþò ñîáîé, â áîëüøèíñòâå ñëó÷àåâ, äèçàéíåðñêèé ïðî äóêò. Ñîçäàòåëè êðóïíûõ èíôîðìàöèîííûõ ðåñóðñîâ ñòàðàþòñÿ èçáåãàòü èñïîëüçîâàíèÿ Flash â ñèëó ïåðå÷èñëåííûõ âûøå íåäîñòàòêîâ [22]. Ãëàâíîé è äîñòàòî÷íî íåïëîõîé àëüòåðíàòèâîé Flash ÿâëÿåòñÿ JavaScript. JavaScript ñêðèïòîâûé ÿçûê, ÷àùå âñåãî èñïîëüçóþùèéñÿ ïðè ñîçäà íèè ñöåíàðèåâ ïîâåäåíèÿ áðàóçåðà, âñòðàèâàåìûõ â âåá-ñòðàíèöû [23]. Ðàçðàáîòêà ýòîãî ÿçûêà áûëà íà÷àòà îêîëî 15 ëåò íàçàä, è âñå ýòî âðåìÿ îí àêòèâíî ðàçâèâàëñÿ è ðàñïðîñòðàíÿëñÿ âìåñòå ñ ðàçâèòèåì âåá-òåõíî ëîãèé. Îäíàêî ïîñëåäíèå íåñêîëüêî ëåò ñòàëè àêòèâíî ïîÿâëÿòüñÿ ñðå äû, êîòîðûå îñíîâûâàþòñÿ íà ýòîì ÿçûêå, íî ïðåäëàãàþò ðàñøèðåííûå âîçìîæíîñòè è áîëåå ïðîñòóþ è êîìôîðòíóþ ðàçðàáîòêó. Ìîæíî âûäå ëèòü íåñêîëüêî îñíîâíûõ âîçìîæíîñòåé, êîòîðûå ïðåäîñòàâëÿþò ïîäîá íûå áèáëèîòåêè: • óïðàâëåíèå àíèìàöèåé è äèíàìè÷åñêîå èçìåíåíèå ñîäåðæèìîãî ñòðà íèöû; • ðåàëèçàöèÿ ðàáîòû ñ AJAX;
• ýôôåêòû àâòîäîïîëíåíèÿ, drag & drop è äð.
Îòäåëüíîå âíèìàíèå ñòîèò óäåëèòü îáåñïå÷åíèþ ðàáîòû ñ AJAX (Asynchronous Javascript and XML). AJAX ýòî ïîäõîä ê ïîñòðîåíèþ èíòåðàêòèâíûõ
ïîëüçîâàòåëüñêèõ èíòåðôåéñîâ âåá-ïðèëîæåíèé, çàêëþ÷àþùèéñÿ â ¾ôî íîâîì¿ îáìåíå äàííûìè áðàóçåðà ñ âåá-ñåðâåðîì.  ðåçóëüòàòå ïðè îáíîâ ëåíèè äàííûõ âåá-ñòðàíèöà íå ïåðåçàãðóæàåòñÿ ïîëíîñòüþ, è âåá-ïðèëî æåíèå ñòàíîâèòñÿ áîëåå áûñòðûì è óäîáíûì [24].  2006 ãîäó áûëà íà÷àòà ðàçðàáîòêà JavaScript-ñðåäû jQuery [25]. Çà 3 ãîäà ýòà áèáëèîòåêà ñòàëà íàñòîëüêî ïîïóëÿðíîé, ÷òî ÿâëÿåòñÿ ëèäåðîì â ñâîåé îáëàñòè. Ýòó ñðåäó èñïîëüçóþò è âêëþ÷àþò â ñâîè ïðîäóêòû òàêèå êîìïàíèè êàê Google, DELL, Mozilla, Microsoft, ßíäåêñ. Ïðè÷èíû ýòîãî ëèäåðñòâà î÷åâèäíû: • íåáîëüøîé ðàçìåð áèáëèîòåêè (èíôîðìàöèîííûé îáúåì ñæàòîé âåð ñèè 19 ÊÁ); • óäîáñòâî èñïîëüçîâàíèÿ; • îãðîìíîå êîëè÷åñòâî âñòðàèâàåìûõ ìîäóëåé, ñîçäàâàåìûõ ñîîáùå ñòâîì ïîëüçîâàòåëåé áèáëèîòåêè; • õîðîøàÿ äîêóìåíòèðîâàííîñòü ñèñòåìû. Git Ñîâðåìåííûå èíôîðìàöèîííûå ñèñòåìû ïðåäñòàâëÿþò ñåáÿ äîñòàòî÷íî áîëüøèå è äèíàìè÷åñêèå ïðîåêòû. Ìíîãèå èç íèõ ñîçäàþòñÿ êîëëåêòèâà ìè ðàçðàáîò÷èêîâ. Êàê ñëåäñòâèå, íåîáõîäèìî ñðåäñòâî, êîòîðîå ñìîãëî áû îáåñïå÷èâàòü ñîâìåñòíóþ ðàáîòó êàæäîãî èç íèõ, îòñëåæèâàòü èçìå íåíèÿ ñèñòåìû, óëàæèâàòü âîçìîæíûå ¾êîíôëèêòû¿ â èçìåíåíèÿõ èñõîä íûõ êîäîâ ïðîåêòà. Òàêèå ñèñòåìû ïîëó÷èëè íàçâàíèå ñèñòåì êîíòðîëÿ âåðñèé. Ñåãîäíÿ ýòîò ñåãìåíò IT-ñåêòîðà íàñûùåí ðàçëè÷íûìè ðàçíîâèä íîñòÿìè ïîäîáíûõ ñèñòåì. Îäíîé èç ñàìûõ ïîïóëÿðíûõ è ñîâðåìåííûõ ñèñòåì ïîäîáíîãî ðîäà ÿâëÿåòñÿ Git [26]. Git ñâîáîäíî ðàñïðîñòðàíÿ åìàÿ ðàñïðåäåëåííàÿ ñèñòåìà êîíòðîëÿ âåðñèé ñ îòêðûòûì èñõîäíûì ãîäîì. Ïðîåêò áûë ñîçäàí Ëèíóñîì Òîðâàëüäñîì äëÿ óïðàâëåíèÿ ðàç ðàáîòêîé ÿäðà Linux. Ñåãîäíÿ ýòîò ïðîäóêò àêòèâíî ïîääåðæèâàåòñÿ è íàáèðàåò ïîïóëÿðíîñòü â ñèëó íîâèçíû è óäîáñòâà èñïîëüçóåìûõ ïðèí öèïîâ ðàáîòû. Íèæå ïåðå÷èñëåíû îñíîâíûå ïðåèìóùåñòâà ýòî ñèñòåìû êîíòðîëÿ âåðñèé:
• ðàñïðåäåëåííîñòü õðàíèëèù; • âîçìîæíîñòü àâòîíîìíîé ðàáîòû; • ôèêñàöèè èçìåíåíèé àòîìàðíû è ðàñïðîñòðàíÿþòñÿ íà âåñü ïðîåêò; • ëåãêîå è óäîáíîå óïðàâëåíèå âåòêàìè ïðîåêòà. Capistrano Capistrano ñðåäñòâî óäàëåííîãî ðàçâåðòûâàíèÿ ïðèëîæåíèé [27]. Ñî çäàííûé ìåõàíèçì ïîçâîëÿåò ïðîñòî è áûñòðî îñóùåñòâëÿòü óïðàâëåíèå ñóùåñòâóþùèì âåá-ïðèëîæåíèåì íåçàâèñèìî îò àðõèòåêòóðû è ñòðóê òóðû âåá-ñåðâåðîâ. Îí ïîçâîëÿåò îáíîâëÿòü êîä ïðîåêòà ñðàçó íà âñåõ ìàøèíàõ, íà êîòîðûõ ðàáîòàåò ïðèëîæåíèå, à òàêæå àâòîìàòè÷åñêè âû ïîëíÿòü òðåáóåìûå îïåðàöèè (ïåðåçàïóñê ñåðâåðîâ, îïåðàöèè ñ áàçàìè äàííûõ è äð.). Ýòî ñðåäñòâî íàïèñàíî íà ÿçûêå Ruby è èçíà÷àëüíî ïðåä íàçíà÷àëîñü äëÿ ðàçâåðòûâàíèÿ âåá-ïðèëîæåíèé, èñïîëüçóþùèõ òåõíî ëîãèþ Ruby on Rails. Îäíàêî îíî îêàçàëîñü íàñòîëüêî ýôôåêòèâíûì è óäîáíûì, ÷òî ïîëüçîâàòåëè àêòèâíî èñïîëüçóþò åå è äëÿ óäàëåííî ãî ðàçâåðòûâàíèÿ äðóãèõ ïðèëîæåíèé, íàïðèìåð, èñïîëüçóþùèõ ÿçûê ïðîãðàììèðîâàíèÿ PHP [28]. Sphinx Ñîâðåìåííûå âåá-ïðèëîæåíèÿ ïîçâîëÿþò ïîëüçîâàòåëÿì ïóáëèêîâàòü èí ôîðìàöèþ â ñåòü Èíòåðíåò. Ïî äàííûì ìåæäóíàðîäíîé êîìïàíèè IDC [29], çàíèìàþùåéñÿ èññëåäîâàíèåì ðàçâèòèÿ êîìïüþòåðíûõ òåõíîëîãèé è èí òåðíåòà, îáùèé îáúåì èíôîðìàöèè, õðàíèìîé ñåðâåðàìè â èíòåðíåòå ñîñòàâëÿåò ïî÷òè 1012 ÃÁ, à ïî äàííûì êîìïàíèè Netcraft êîëè÷åñòâî ñàéòîâ â èíòåðíåòå ïî ñîñòîÿíèþ íà 1 äåêàáðÿ 2010 ãîäà ïðåâûøàåò îò ìåòêó â 255 000 000 [21]. Ïîëüçîâàòåëþ äîñòàòî÷íî òðóäíî îðèåíòèðîâàòü ñÿ â ñîâðåìåííîì èíòåðíåòå, à ëèäåðàìè â ñôåðå âåá-îðèåíòèðîâàííûõ èíôîðìàöèîííûõ ñèñòåì çàíÿëè ïîèñêîâûå ñåðâèñû, êîòîðûå ÿâëÿþòñÿ ñâîåîáðàçíûìè íàâèãàòîðàìè èíòåðíåòà. Îíè ïîìîãàþò íàéòè ìíîæå ñòâî ñòðàíèö ïî èíòåðåñóþùåé òåìàòèêå çà äîëè ñåêóíäû. Áåçóñëîâíî, èõ àëãîðèòìû ïîèñêà è àíàëèçà äîñòàòî÷íî õîðîøèå è ñëîæíûå, íî îíè ÿâëÿþòñÿ êîììåð÷åñêèìè òàéíàìè èõ ðàçðàáîò÷èêîâ. Îäíàêî, íà ìíîãèå ñàéòàõ ìîæíî óâèäåòü âîçìîæíîñòü ïîèñêà èíôîðìàöèè ïî ñòðàíèöàì ïîñåùàåìîãî ñàéòà. Ýòî, êàê ïðàâèëî, ðåàëèçîâàíî íà îñíîâå áîëåå ïðî
ñòûõ ñâîáîäíûõ òåõíîëîãèé, ïîçâîëÿþùèõ îñóùåñòâëÿòü áûñòðûé ïîë íîòåêñòîâûé ïîèñê ïî ðàçëè÷íûì ðåñóðñàì, êàê ïðàâèëî, õðàíÿùèõñÿ â ðåëÿöèîííûõ áàçàõ äàííûõ. Îäíèì èç òàêèõ èíñòðóìåíòîâ ÿâëÿåòñÿ Sphinx [30]. Ñ åãî ïîìîùüþ ìîæíî îñóùåñòâëÿòü ïîëíîòåêñòîâûé ïîèñê ïî ñàéòó ñ ó÷åòîì ìîðôîëîãè÷åñêèõ îñîáåííîñòåé ÿçûêà,à òàêæå ñ èñ ïîëüçîâàíèåì ðåãóëÿðíûõ âûðàæåíèé. Ïðè ýòîì äëÿ òîãî, ÷òîáû ïîèñê îñóùåñòâëÿëñÿ çà ìãíîâåíèÿ, Sphinx ñòðîèò ñïåöèàëüíóþ ñòðóêòóðó èíäåêñ, â êîòîðîì è õðàíèòñÿ ñïèñîê äîêóìåíòîâ, ññûëàþùèõñÿ íà êàæ äîå ñëîâî. Ïîäîáíûå ñòðóêòóðû èñïîëüçóþò ñåãîäíÿ è âñå ïîèñêîâûå ñåðâèñû, íàïðèìåð, Google è ßíäåêñ. Òàêèì îáðàçîì, ðàçðàáîò÷èêè ñî âðåìåííûõ âåá-ïðèëîæåíèé äàþò âîçìîæíîñòü ñâîèì ïîëüçîâàòåëÿì îñó ùåñòâëÿòü áûñòðûé ïîëíîòåêñòîâûé ïîèñê ïî ìàòåðèàëàì ñâîåãî ïðèëî æåíèÿ.
Ïîñòàíîâêà çàäà÷è
Öåëüþ äàííîé ðàáîòû ÿâëÿåòñÿ ñîçäàíèå èíôîðìàöèîííîé ñèñòåìû, ïðåä íàçíà÷åííîé äëÿ îðãàíèçàöèè ó÷åáíîãî ïðîöåññà, ó÷èòûâàþùåé îñîáåí íîñòè ðàáîòû âñåõ åãî ó÷àñòíèêîâ. Ñòóäåíòû äîëæíû ïîëó÷èòü äîñòóï ê ó÷åáíî-ìåòîäè÷åñêèì ìàòåðèàëàì ïî ó÷åáíûì äèñöèïëèíàì, ê èíôîð ìàöèè î òåêóùåé óñïåâàåìîñòè, ïîëó÷èòü âîçìîæíîñòü äèñòàíöèîííîãî îáùåíèÿ ñ ïðåïîäàâàòåëÿìè è ïðåäñòàâèòåëÿìè àäìèíèñòðàöèè ó÷åáíî ãî çàâåäåíèÿ. Ïðåïîäàâàòåëè äîëæíû ïîëó÷èòü óäîáíûå èíñòðóìåíòû äëÿ ïóáëèêàöèè ìàòåðèàëîâ â ñåòè Èíòåðíåò, ìåõàíèçìû îïåðàòèâíîãî âçàèìîäåéñòâèÿ ñî ñòóäåíòàìè, ìåõàíèçìû ó÷åòà è êîíòðîëÿ óñïåâàåìî ñòè ñòóäåíòîâ. Çàâåäóþùèå êàôåäðàìè, ïðåäñòàâèòåëè àäìèíèñòðàöèè ó÷åáíîãî çàâåäåíèÿ äîëæíû èìåòü âîçìîæíîñòü ïîñòîÿííîãî êîíòðîëÿ è àíàëèçà äåÿòåëüíîñòè ïðåïîäàâàòåëåé è ñòóäåíòîâ, à òàêæå ìåõàíèçìû óïðàâëåíèÿ õîäîì ó÷åáíîãî ïðîöåññà. Èíôîðìàöèîííàÿ ñèñòåìà äîëæíà îñíîâûâàòüñÿ íà èñïîëüçîâàíèè ñâîáîäíûõ ïðîãðàììíûõ ïðîäóêòîâ è íîâåéøèõ òåõíîëîãèÿõ, èìåòü òåñ íóþ èíòåãðàöèþ ñ ñóùåñòâóþùèìè â óíèâåðñèòåòå ñèñòåìàìè, îáëàäàòü âîçìîæíîñòüþ ðàñøèðåíèÿ è áûñòðîé ìîäèôèêàöèè èñõîäíîãî êîäà, èìåòü ðàçâèòóþ ñòàòèñòè÷åñêóþ ñèñòåìó äëÿ àíàëèçà äåÿòåëüíîñòè âñåõ ó÷àñò íèêîâ ó÷åáíîãî ïðîöåññà.Ãëàâà 1
Ñòðóêòóðà ñèñòåìû
Êàê áûëî îòìå÷åíî íà ñòð. 10, ìîäåëü ïðåäîñòàâëÿåò ñîáîé îáúåêòíî-îðè åíòèðîâàííîå ïðåäñòàâëåíèå äàííûõ, à òàêæå ðåàëèçóåò óïðàâëÿþùóþ ëîãèêó ïðèëîæåíèÿ. Áëàãîäàðÿ áèáëèîòåêå Active Record, ôóíêöèîíèðóþùåé êàê îáúåêòíî ðåëÿöèîííûé ïðåîáðàçîâàòåëü, ñòàëî âîçìîæíûì ïðåäñòàâëåíèå çàïèñåé â áàçå äàííûõ â âèäå îáúåêòîâ â ïðèëîæåíèè, è íàîáîðîò. Òàêèì îáðà çîì, òàáëèöû áàçû äàííûõ ïðåäñòàâëÿþòñÿ â âèäå êëàññîâ, ñòðîêè â âèäå îáúåêòîâ, à ñòîëáöû â âèäå ñâîéñòâ ýòèõ îáúåêòîâ [1].  îñíîâå ñòðóêòóðû ìîäåëåé ñîçäàâàåìîãî ïîðòàëà ëåæèò èäåÿ èñ ïîëüçîâàíèÿ äðåâîâèäíîé ñòðóêòóðû, à èìåííî íàáîðà äåðåâüåâ (ëåñà), ïðè ýòîì êàæäîå èç äåðåâüåâ îáîçíà÷àåò îòäåëüíûé ó÷åáíûé îòðåçîê (ñåìåñòð).  êîðíå êàæäîãî èç äåðåâüåâ ëåæèò èíôîðìàöèÿ îá ó÷åáíîì ïåðèîäå. Äî÷åðíèìè óçëàìè êîðíÿ ÿâëÿþòñÿ äèñöèïëèíû, èçó÷àåìûå â òåêóùåì ó÷åáíîì îòðåçêå. Äàëåå, êàæäàÿ ó÷åáíàÿ äèñöèïëèíà ñîäåðæèò íàáîð ðàçäåëîâ ðàçëè÷íîãî âèäà, êîòîðûå â ñâîþ î÷åðåäü, ñîñòîÿò èç ñòðàíèö. Êàæäàÿ ñòðàíèöà ñîñòîèò èç íàáîðà èíôîðìàöèîííûõ ôðàãìåí òîâ. Íà ðèñ. 2 èçîáðàæåíî îäíî èç âîçìîæíûõ äåðåâüåâ, ïðåäñòàâëÿþùèõ ó÷åáíûé îòðåçîê. Ïåðåéäåì ê ðàññìîòðåíèþ îñíîâíûõ ìîäåëåé îáðàçîâàòåëüíîãî ïîðòà ëà.1.1 Ó÷åáíûé ïåðèîä
Ó÷åáíûé ïåðèîä (îòðåçîê), ÿâëÿþùèéñÿ ýêçåìïëÿðîì ìîäåëè StudyYear, ÿâëÿåòñÿ êîðíåâîé âåðøèíû êàæäîãî èõ äåðåâüåâ, âõîäÿùèõ â ñòðóêòóðóÎñåííèé ñåìåñòð 20102011 ó÷åáíîãî ãîäà Áàçû äàííûõ . . . Èíôîð-ìàòèêà Ãëàâíûé ðàçäåë . . . . . . Ó÷åáíûå ìàòåðèàëû Ñòð. 1 Ñòð.2 Ôðàãìåíò 1 . . . Ôðàãìåíò K . . . Ñòð. N . . . Ìàòåìàòè÷å-ñêèé àíàëèç . . . Ðèñ. 2. Èëëþñòðàöèÿ ôðàãìåíòà ñòðóêòóðû ñèñòåìû ëåñà.  àáñîëþòíîì áîëüøèíñòâå ñëó÷àåâ ó÷åáíûé îòðåçîê ñîâïàäàåò ñ ó÷åáíûì ñåìåñòðîì. Ñâîéñòâàìè îáúåêòîâ äàííîé ìîäåëè ÿâëÿþòñÿ: íàçâàíèå (fullname), êîðîòêîå íàçâàíèå (name) è èíäèêàòîð, îïðåäåëÿþùèé ÿâëÿåòñÿ ëè ó÷åá íûé îòðåçîê òåêóùèì (current). Êîðîòêîå íàçâàíèå èñïîëüçóåòñÿ â URL ïðè ìàðøðóòèçàöèè çàïðîñîâ, à ïîëíîå íàçâàíèå (fullname) äëÿ îòîá ðàæåíèÿ ïîëüçîâàòåëÿì.
1.2 Äèñöèïëèíà
Ìîäåëü äèñöèïëèíû (Course) ÿâëÿåòñÿ îäíîé èç êëþ÷åâûõ â ñèñòåìå.  ñòðóêòóðå äåðåâà îíà ÿâëÿåòñÿ äî÷åðíèì óçëîì êîðíåâîé âåðøèíû. Êàê è ó÷åáíûé îòðåçîê, êàæäàÿ èç äèñöèïëèí èìååò êîðîòêîãî (name) è ïîëíîãî íàçâàíèÿ (fullname). Ñóùåñòâóåò òðè âèäà äèñöèïëèí: îáû÷íàÿ ó÷åáíàÿ äèñöèïëèíà, äèñ öèïëèíà êóðàòîðà è äèñöèïëèíà äëÿ ïðåïîäàâàòåëåé. Ñòðàíèöû ó÷åáíûõ äèñöèïëèí ïðåäíàçíà÷åíû ïðåæäå âñåãî äëÿ ðàçìåùåíèÿ íà íèõ ïðåïîäà âàòåëÿìè èíôîðìàöèè ðàçëè÷íûõ âèäîâ. Äèñöèïëèíû êóðàòîðà îáåñïå ÷èâàþò îïåðàòèâíîå âçàèìîäåéñòâèå äåêàíàòà ñî ñòóäåíòàìè; êàê ïðàâè ëî, îòäåëüíàÿ äèñöèïëèíà ïîäîáíîãî âèäà ñîçäàåòñÿ äëÿ êàæäîãî èõ ïî òîêà ñòóäåíòîâ. Íàêîíåö, äèñöèïëèíû äëÿ ïðåïîäàâàòåëåé, ñîäåðæèìîå êîòîðûõ íåäîñòóïíî ñòóäåíòàì, äàåò âîçìîæíîñòü ïóáëèêàöèè èíôîðìà öèè äëÿ ïðåïîäàâàòåëåé ïðåäñòàâèòåëÿì àäìèíèñòðàöèè óíèâåðñèòåòà.  áîëüøèíñòâå ñëó÷àåâ, â êàæäîì ó÷åáíîì îòðåçêå èìååòñÿ îäíà äèñöè ïëèíà äëÿ ïðåïîäàâàòåëåé. Äëÿ êàæäîé èç äèñöèïëèí îïðåäåëåí ñïèñîê ïîëüçîâàòåëåé, êîòîðûå ìîãóò óïðàâëÿòü åå ñîäåðæèìûì (â äàëüíåéøåì òàêèõ ïîëüçîâàòåëåéáóäåò íàçûâàòü îïåðàòîðàìè äèñöèïëèíû), à òàêæå ñïèñîê ãðóïï ïîëü çîâàòåëåé åå èçó÷àþùèõ.
1.3 Ðàçäåë
Êàæäàÿ äèñöèïëèíà ñîñòîèò èç íàáîðà ðàçäåëîâ (Item). Òèï äèñöèïëè íû îïðåäåëÿåò íàáîð ñòàíäàðòíûõ ðàçäåëîâ, êîòîðûé ìîæåò áûòü ëåãêî èçìåíåí àäìèíèñòðàòîðàìè èíôîðìàöèîííîé ñèñòåìû. Ñóùåñòâóåò ÷åòûðå òèïà ðàçäåëîâ: îáû÷íûé ðàçäåë, ðàçäåë äëÿ ïóá ëèêàöèè íîâîñòåé, ðàçäåë äëÿ ïðîñìîòðà óñïåâàåìîñòè ñòóäåíòîâ, èçó÷à þùèõ äèñöèïëèíó, ôîðóì. Ðàçäåë íîâîñòåé ñîñòîèò èç îäíîé ñòðàíèöû è ñîäåðæèò íàáîð ôðàã ìåíòîâ, êàæäûé èç êîòîðûõ ÿâëÿåòñÿ îòäåëüíîé íîâîñòüþ. Ôîðóì ñîñòî èò èç íàáîðà ñòðàíèö, êàæäàÿ èç êîòîðûõ ïðåäñòàâëÿåò îòäåëüíûé ïî òîê ñîîáùåíèé (topic), à êàæäîå ñîîáùåíèå ïîëüçîâàòåëåé ïðåäñòàâëÿåò èç ñåáÿ ôðàãìåíò, ïðèíàäëåæàùåé òàêîé ñòðàíèöå. Ðàçäåë rating ïîç âîëÿåò ïðîñìàòðèâàòü óñïåâàåìîñòü ñëóøàòåëåé ðàçäåëîâ äèñöèïëèíû, à ïðîñòîé ðàçäåë ñîñòîèò èç íàáîðà ñòðàíèö, ñîçäàâàåìûõ ïîëüçîâàòåëÿìè è ñîäåðæàùèõ èíôîðìàöèîííûå ôðàãìåíòû. Ñòîèò îòìåòèòü, ÷òî ðàçäåë, òàêæå êàê ó÷åáíûé îòðåçîê è äèñöèïëè íà, èìååò àòðèáóòû name è fullname, èñïîëüçóþùèåñÿ ñîîòâåòñòâåííî ïðè ìàðøðóòèçàöèè è îòîáðàæåíèè ïîëüçîâàòåëÿì.1.4 Ñòðàíèöà
Ó êàæäîãî èç ðàçäåëîâ èìååòñÿ íàáîð ñòðàíèö (Page), ñîäåðæàùèõ èí ôîðìàöèîííûå ôðàãìåíòû. Ñ êàæäîé ñòðàíèöåé àññîöèèðîâàíî íàòó ðàëüíîå ÷èñëî, îïðåäåëÿþùåå åå îòíîñèòåëüíîå ïîëîæåíèå ñðåäè äðóãèõ ñòðàíèö ðàçäåëà. Íîìåð ñòðàíèöû èñïîëüçóåòñÿ ïðè ãåíåðàöèè URL.1.5 Ôðàãìåíò
Èíôîðìàöèîííûé ôðàãìåíò (Content) ÿâëÿåòñÿ îñíîâíûì ñðåäñòâîì ïóáëèêàöèè èíôîðìàöèè íà îáðàçîâàòåëüíûé ïîðòàë. Èìåííî îí ñîäåð æèò òåêñò, êîòîðûé ïðîñìàòðèâàþò ïîëüçîâàòåëè.  ñèñòåìå èìååòñÿ âîçìîæíîñòü ñîçäàíèÿ ôðàãìåíòîâ äâóõ òèïîâ: HTML-ôðàãìåíòû è textile-ôðàãìåíòû. Ôðàãìåíòû ïåðâîãî òèïà ïðåä ñòàâëÿþò èç ñåáÿ äîêóìåíò, íàïèñàííûé íà ÿçûêå ðàçìåòêè HTML. Textileôðàãìåíòû ïðåäñòàâëÿþò èç ñåáÿ òåêñò, íàïèñàííûé íà ñïåöèàëüíîì ÿçûêå ðàçìåòêè textile [31]. Îí ÿâëÿåòñÿ áîëåå ïðîñòûì, ëàêîíè÷íûì è èíòóèòèâíî ïîíÿòíûì, ÷åì HTML. Ïåðåä îòîáðàæåíèåì ïîëüçîâàòåëþ ôðàãìåíò êîíâåðòèðóåòñÿ â HTML, èñïîëüçóÿ áèáëèîòåêó RedCloth [32]. Ïîëüçîâàòåëè ìîãó êîíòðîëèðîâàòü óðîâíè âèäèìîñòè êàæäîãî èç ôðàãìåíòîâ â îòäåëüíîñòè. Ôðàãìåíò èìååò òðè ðàçëè÷íûõ óðîâíÿ âè äèìîñòè: • âèäèìûé äëÿ âñåõ ïîëüçîâàòåëåé, èìåþùèõ äîñòàòî÷íî ïðàâ äëÿ ïðîñìîòðà ñòðàíèö äèñöèïëèíû; • íåâèäèìûé äëÿ âñåõ, êðîìå îïåðàòîðîâ äèñöèïëèíû; • íåâèäèìûé äëÿ ¾÷èòàòåëåé¿ äèñöèïëèíû äî îïðåäåëåííîãî ìîìåíòà â áóäóùåì.
1.6 Ôàéë
Èíôîðìàöèîííûå ôðàãìåíòû, êàê ïðàâèëî, ÿâëÿþòñÿ íåáîëüøèìè ïî îáúåìó è äîñòàòî÷íî ïðîñòûìè ïî ñòðóêòóðå. Áîëüøèå (èëè èìåþùèõ ñëîæíóþ ñòðóêòóðó) êâàíòû èíôîðìàöèè óäîáíåå ïîäãîòàâëèâàòü â âèäå ôàéë ðàçëè÷íîãî, çàãðóæàòü èõ â ñèñòåìó è ïóáëèêîâàòü ññûëêè íà íèõ â èíôîðìàöèîííûõ ôðàãìåíòàõ. Ìîäåëü Lofile ïðåäíàçíà÷åíà äëÿ õðàíå íèÿ çàãðóæàåìûõ ïîëüçîâàòåëÿìè ôàéëîâ. Ôàéëû, çàãðóæàåìûå ïîëüçî âàòåëÿìè, õðàíÿòñÿ â áàçå äàííûõ â âèäå ñïåöèàëüíûõ îáúåêòîâ PGlarge, êîòîðûå ïðåäíàçíà÷åíû äëÿ õðàíåíèÿ áîëüøèõ îáúåêòîâ. Ïðîöåäóðà ðà áîòû ñ òàêèì òèïîâ îáúåêòîâ ÑÓÁÄ PostgreSQL ñëåäóþùàÿ. Ïðè çàãðóç êå ôàéë ñîõðàíÿåòñÿ â áàçå äàííûõ, ïîëó÷àÿ óíèêàëüíûé èäåíòèôèêàòîð PGlarge îáúåêòà, à çàòåì îáðàùåíèå ê ôàéëó îñóùåñòâëÿåòñÿ ñ èñïîëüçî âàíèåì ýòîãî èäåíòèôèêàòîðà. Ïîëüçîâàòåëü, çàãðóçèâøèé ôàéë, ìîæåò óïðàâëÿòü âèäèìîñòüþ ýòîãî ôàéëà òî÷íî òàê æå, êàê è âèäèìîñòüþ èíôîðìàöèîííîãî ôðàãìåíòà. Äëÿ óäîáñòâà íàâèãàöèè ïî çàãðóæàåìûì ôàéëàì èìååòñÿ âîçìîæíîñòü îñòàâèòü êîììåíòàðèé ê êàæäîìó ôàéëó.  ñëó÷àå, åñëè òðåáóåòñÿ çàìåíèòü ñîäåðæèìîå ôàéëà äðóãèì, ïîëüçîâà òåëü ìîæåò ëåãêî ñäåëàòü ýòîãî ÷åðåç âåá-èíòåðôåéñ. Èíîãäà òðåáóåòñÿ çàãðóçèòü íå îäèí ôàéë, à öåëîå ìíîæåñòâî ôàéëîâ, êîòîðûå ñâÿçàíû ìåæäó ñîáîé ññûëêàìè. Äëÿ ýòîãî ñóùåñòâóåò âîçìîæ íîñòü çàãðóçêè ZIP-àðõèâà ñ ôàéëàìè.  ýòîì ñëó÷àå ñðàçó ïîñëå ïîëó ÷åíèÿ ýòîãî àðõèâà ñåðâåðîì ïðîèñõîäèò ðàñïàêîâêà àðõèâà â ñïåöèàëüíî ñîçäàííóþ äèðåêòîðèþ íà ñåðâåðå. Ñ öåëüþ îáåñïå÷åíèÿ ñîáëþäåíèÿ âûáðàííîé ñòðàòåãèè âèäèìîñòè ôàéëà ñîäåðæèìîå ýòîé äèðåêòîðèè íå ÿâëÿåòñÿ ïóáëè÷íûì, à äîñòóï ê åå ñîäåðæèìîìó îñóùåñòâëÿåòñÿ íà îñíî âàíèè URL, çàïðàøèâàåìîãî ïîëüçîâàòåëåì. Ïðè ýòîì ïðåäâàðèòåëüíî ïðîèñõîäèò ïðîâåðêà äîñòóïíîñòè äàííîé îïåðàöèè äëÿ ïîëüçîâàòåëÿ, îñóùåñòâëÿþùåãî çàïðîñ. Ñòîèò òàêæå îòìåòèòü, ÷òî äëÿ êîððåêòíîé ðàáîòû ññûëîê â ôàéëàõ, çàãðóæåííûõ äàííûì ñïîñîá òðåáóåòñÿ âûïîë íåíèå óñëîâèÿ èõ îòíîñèòåëüíîñòè.
1.7 Ïîëüçîâàòåëü
Îäíîé èç âàæíåéøèõ ìîäåëåé ðàññìàòðèâàåìîãî ïðîåêòà ÿâëÿåòñÿ ìî äåëü User, ñ ïîìîùüþ êîòîðîé ðåàëèçóåòñÿ ïðåäñòàâëåíèå ïîëüçîâàòåëÿ â ñèñòåìå. Îáúåêòû äàííîé ìîäåëè èìåþò óíèêàëüíîå èìÿ ïîëüçîâàòå ëÿ (login), ñîâïàäàþùåå ñ ëîãèíîì â èíôîðìàöèîííîé ñèñòåìå ÌÃÈÓ, à òàêæå ôàìèëèþ, èìÿ è îò÷åñòâî (name), ñïèñîê àäðåñîâ ýëåêòðîííîé ïî÷òû,à òàêæå ñïèñîê ãðóïï ïîëüçîâàòåëåé, â êîòîðûõ îí ñîñòîèò. Âàæ íî îòìåòèòü, ÷òî â ïðîåêòå îòñóòñòâóåò ñîáñòâåííàÿ ñèñòåìà àóòåíòè ôèêàöèè ïîëüçîâàòåëåé. Ïðîâåðêà ïîäëèííîñòè âõîäíîãî èìåíè è ïàðî ëÿ ïîëüçîâàòåëÿ âûïîëíÿåòñÿ öåíòðàëüíûì ñåðâåðîì àóòåíòèôèêàöèè óíèâåðñèòåòà, òàêèì îáðàçîì îòïàäàåò íåîáõîäèìîñòü õðàíåíèÿ ïàðîëåé ïîëüçîâàòåëÿ â ñèñòåìå. Äëÿ ðàçãðàíè÷åíèÿ ïðàâ äîñòóïà ê èíôîðìàöèîííîì ðåñóðñàì èñïîëü çóåòñÿ ðîëåâàÿ ñèñòåìà ðàçãðàíè÷åíèÿ ïðàâ, îïèñàííàÿ íèæå.1.8 Ðîëü
Êàæäûé èç ïîëüçîâàòåëåé ñèñòåìû èìååò îäíó èëè áîëåå ðîëåé èç ñëå äóþùåãî ìíîæåñòâà: ãîñòü, ñòóäåíò, ðîäèòåëü ñòóäåíòà, ïðåïîäàâàòåëü, ñîòðóäíèê äåêàíàòà/ðåêòîðàòà, ïðåïîäàâàòåëü, àäìèíèñòðàòîð. Ñïèñîê ðîëåé ïîëüçîâàòåëÿ îïðåäåëÿåò äîñòóïíûå äëÿ íåãî äåéñòâèÿ â ñèñòåìå: • ãîñòü ìîæåò òîëüêî ïðîñìàòðèâàòü ñòðàíèöû îòäåëüíûõ äèñöèïëèí, ïåðå÷åíü êîòîðûõ îïðåäåëÿåò àäìèíèñòðàòîð ñèñòåìû; • ñòóäåíò ìîæåò ïðîñìàòðèâàòü ñòðàíèöû âñåõ äèñöèïëèí, êðîìå äèñ öèïëèí äëÿ ïðåïîäàâàòåëåé, ïîëó÷àòü èíôîðìàöèþ î òåêóùåé óñïå âàåìîñòè, î ïîñëåäíèõ èçìåíåíèÿõ íà ïîðòàëå, à òàêæå ïóáëèêîâàòü ñîîáùåíèÿ â ôîðóìàõ èçó÷àåìûõ èì äèñöèïëèí;• ðîäèòåëè ñòóäåíòîâ îáëàäàþò ïðàâàìè, ïîëíîñòüþ ñîâïàäàþùèìè ñ ïðàâàìè ñòóäåíòîâ; • ïðåïîäàâàòåëü ìîæåò ïðîñìàòðèâàòü ñòðàíèöû âñåõ äèñöèïëèí, ìî äèôèöèðîâàòü èíôîðìàöèþ íà ñòðàíèöàõ ÷èòàåìûõ èì äèñöèïëèí, à òàêæå íà÷èñëÿòü ñòóäåíòàì ðåéòèíãîâûå áàëëû ïî ýòèì äèñöèïëè íàì; • ñîòðóäíèê äåêàíàòà/ðåêòîðàòà ìîæåò ïðîñìàòðèâàòü ñòðàíèöû âñåõ äèñöèïëèí, èíôîðìàöèþ î òåêóùåé óñïåâàåìîñòè ñòóäåíòîâ, è ïîëó ÷àòü ñòàòèñòè÷åñêèå îò÷åòû îá àêòèâíîñòè è ýôôåêòèâíîñòè ðàáîòû êàê ñòóäåíòîâ, òàê è ïðåïîäàâàòåëåé â ñèñòåìå. • àäìèíèñòðàòîð èìååò âñå âîçìîæíûå ïðèâèëåãèè, âêëþ÷àÿ äîñòóï ê ïàíåëè óïðàâëåíèÿ ñèñòåìîé.
1.9 Àäðåñà ýëåêòðîííîé ïî÷òû
Íà îáðàçîâàòåëüíîì ïîðòàëå ñ êàæäûì ïîëüçîâàòåëåì ñâÿçàí îäèí èëè áîëåå àäðåñ ýëåêòðîííîé ïî÷òû. Ïðè ñîçäàíèè ïîëüçîâàòåëÿ â ñèñòåìå åìó íàçíà÷àåòñÿ àäðåñ ýëåêòðîííîé ïî÷òû, ñîçäàííûé ïðè åãî ðåãèñòðà öèè â èíôîðìàöèîííîé ñèñòåìå ÃÎÓ ÌÃÈÓ. Îäíàêî, ó ïîëüçîâàòåëÿ åñòü âîçìîæíîñòü ïðèêðåïèòü ê ñâîåé ó÷åòíîé çàïèñè íåîãðàíè÷åííîå êîëè÷åñòâî àäðåñîâ ýëåêòðîííîé ïî÷òû, âûáðàâ îäèí èç íèõ â êà÷åñòâå îñíîâíîãî. Äëÿ äîáàâëåíèÿ àäðåñà íåîáõîäèìî íå òîëüêî äîáàâèòü àäðåñ ýëåêòðîííîé ïî÷òû â ñîîòâåòñòâóþùåå ïîëå íà ñòðàíèöå ¾Ëè÷íîãî êà áèíåòà¿, íî è àêòèâèðîâàòü åãî, ïðîéäÿ ïî ññûëêå, óêàçàííîé â ïèñüìå, êîòîðîå áóäåò îòïðàâëåíî íà óêàçàííûé àäðåñ ñðàçó ïîñëå åãî äîáàâëå íèÿ. Ñóùåñòâóåò òðè âèäà õàðàêòåðèñòèê àäðåñà ýëåêòðîííîé ïî÷òû: • âíóòðåííèé èëè âíåøíèé; • ïîäòâåðæäåí èëè íåò; • îñíîâíîé èëè íåò. Ïîä âíåøíèì àäðåñîì ýëåêòðîííîé ïî÷òû ïîíèìàåòñÿ àäðåñ âíå çîíû msiu.ru è mail.msiu.ru. Îñíîâíîé àäðåñ ýëåêòðîííîé ïî÷òû èñïîëüçó åòñÿ äëÿ îòïðàâêè íà íåãî ðàçëè÷íûõ óâåäîìëåíèé è ñîîáùåíèé èíôîð ìàöèîííîé ñèñòåìû. Ïîëüçîâàòåëü èìååò òàêæå ïðàâî óäàëèòü ëþáîé èç àäðåñîâ ýëåêòðîííîé ïî÷òû, êðîìå âíóòðåííåãî.Ïîñêîëüêó êàæäàÿ èç õàðàêòåðèñòèê ÿâëÿåòñÿ áóëåâîé âåëè÷èíîé (ìî æåò ïðèíèìàòü òîëüêî äâà çíà÷åíèÿ ¾Äà¿, ¾Íåò¿), òî èõ ðàíåíèÿ áóäåò îñóùåñòâëÿòüñÿ ñ ïîìîùüþ îäíîãî àòðèáóòà mode, ïðåäñòàâëÿþùåãî öå ëîå íåîòðèöàòåëüíîå ÷èñëî, ìåíüøåå 8. Ìëàäøèé áèò â äâîè÷íîé ïðåä ñòàâëåíèè ÷èñëà îïðåäåëÿåò, ÿâëÿåòñÿ ëè àäðåñ ýëåêòðîííîé ïî÷òû âíóò ðåííèì èëè âíåøíèé, âòîðîé áèò îòâå÷àåò çà ïðîâåðêó àêòèâàöèè àäðåñà ýëåêòðîííîé ïî÷òû, à ñòàðøèé áèò ðåãóëèðóåò îïðåäåëåíèå îñíîâíîãî àä ðåñà. Ïîäîáíûé ïîáèòîâûé ñïîñîá íàñòðîåê èìååò ðÿä ïðåèìóùåñòâ. Âîò íåêîòîðûå èç íèõ: ïîáèòîâûå îïåðàöèè âûïîëíÿþòñÿ î÷åíü áûñòðî, ïîáè òîâûå îïåðàöèè âñòðîåíû ïðàêòè÷åñêè âî âñå ÿçûêè ïðîãðàììèðîâàíèÿ è â ÑÓÁÄ, ðàñøèðåíèå õàðàêòåðèñòèê ïîòðåáóåò ëèøü ðàñøèðåíèå äî ñòóïíîãî äèàïàçîíà öåëûõ ÷èñåë. Ñòîèò òàêæå îòìåòèòü ÷òî ïîëüçîâàòåëþ ðàçðåøåíî ïðàâèòü òîëüêî ñòàðøèé áèò, ïðè ýòîì ó ïîëüçîâàòåëÿ íå ìîæåò áûòü íåñêîëüêî àäðåñîâ ýëåêòðîííîé ïî÷òû ñî ñòàðøèì áèòîì îòëè÷íûì îò åäèíèöû.
1.10 Ãðóïïû
 êàæäîì ó÷åáíîì îòðåçêå èìååòñÿ íàáîð ãðóïï, îáó÷àþùèõñÿ â ýòîì ñåìåñòðå. Ãðóïïû ñîñòîÿò èç ïîëüçîâàòåëåé. Êàê ïðàâèëî, ãðóïïû íà îá ðàçîâàòåëüíîì ïîðòàëå ñîâïàäàþò ñ ó÷åáíûìè ãðóïïàìè óíèâåðñèòåòà. Òàêæå â êàæäîì ó÷åáíîì îòðåçêå èìååòñÿ ñïåöèàëüíàÿ ãðóïïà ¾Ïðåïî äàâàòåëè¿, â êîòîðîé ñîñòîÿò ïðåïîäàâàòåëè, âåäóùèå çàíÿòèÿ õîòÿ áû â îäíîé èç äèñöèïëèí ó÷åáíîãî ñåìåñòðà. Ó êàæäîé ãðóïïû èìååòñÿ íàáîð äèñöèïëèí, êîòîðûå ïðåïîäàþòñÿ ñëóøàòåëÿì ãðóïï. Äëÿ ïîääåðæêè àêòóàëüíîñòè êîíòèíãåíòà ñòóäåí òîâ, à òàêæå èõ êîððåêòíîãî ðàñïðåäåëåíèÿ ïî ãðóïïàì ïðîèçâåäåíà èí òåãðàöèÿ ñ èíôîðìàöèîííîé ñèñòåìîé ¾Äåêàíàò¿ ÃÎÓ ÌÃÈÓ. Èç ýòîé ñèñòåìû îáðàçîâàòåëüíûé ïîðòàë ïîëó÷àåò ñïèñêè ñòóäåíòîâ êàæäîé èç ó÷åáíûõ ãðóïï. Òàêæå äëÿ êàæäîé èç ãðóïï õðàíÿòñÿ äâå äàòû äàòû íà÷àëà è êîíöà ó÷åáíîãî ñåìåñòðà. Ýòè äàííûå èñïîëüçóþòñÿ äëÿ ðàñ÷å òà êîëè÷åñòâà íåäåëü ó÷åáíîãî ñåìåñòðà, ïîñêîëüêó íà îñíîâàíèè ýòîãî çíà÷åíèÿ íà÷èñëÿþòñÿ ðåéòèíãîâûå áàëëû çà ïîñåùàåìîñòü çàíÿòèé.1.11 Áàëëüíî-ðåéòèíãîâàÿ ñèñòåìà
 Ìîñêîâñêîì ãîñóäàðñòâåííîì èíäóñòðèàëüíîì óíèâåðñèòåòå â îáðàçî âàòåëüíîì ïðîöåññå ñòóäåíòîâ, îáó÷àþùèåñÿ ïî íàïðàâëåíèþ 230100 ¾Èí ôîðìàòèêà è âû÷èñëèòåëüíàÿ òåõíèêà¿, à òàêæå ñïåöèàëüíîñòè 010503 ¾Ìàòåìàòè÷åñêîå îáåñïå÷åíèå è àäìèíèñòðèðîâàíèå èíôîðìàöèîííûõ ñèñòåì¿, äëÿ îöåíêè óñïåâàåìîñòè à òàêæå ïðîâåäåíèÿ èòîãîâîé àòòå ñòàöèè ïî ïðîôèëèðóþùèì äèñöèïëèíàì èñïîëüçóåòñÿ áàëëüíî-ðåéòèí ãîâàÿ ñèñòåìà, ÿâëÿþùàÿñÿ ñîñòàâíîé ÷àñòüþ îáðàçîâàòåëüíîãî ïîðòàëà.  íà÷àëå ñåìåñòðà ïî êàæäîé èç ó÷åáíûõ äèñöèïëèí ïðåïîäàâàòåëè ñî çäàþò è îòïðàâëÿþò íà óòâåðæäåíèå àäìèíèñòðàòîðó ñèñòåìû êðèòåðèè íà÷èñëåíèÿ ðåéòèíãîâûõ áàëëîâ, à òàêæå ìàêñèìàëüíî âîçìîæíîå êîëè ÷åñòâî áàëëîâ, êîòîðîå ìîæåò áûòü íà÷èñëåíî ñòóäåíòó ïî äàííîìó âè äó ó÷åáíîé ðàáîòû. Ïîñëå àíàëèçà ñîçäàííûõ êðèòåðèåâ àäìèíèñòðàòîð ëèáî îòïðàâëÿåò èõ íà äîðàáîòêó, ëèáî ïðèíèìàåò ðåøåíèå îá èõ óòâåð æäåíèè. Êðèòåðèè ñòóäåíòîâ î÷íîé ôîðìû îáó÷åíèÿ èìåþò íåñêîëüêî îñîáåííîñòåé. Âî-ïåðâûõ, ñóììà ìàêñèìàëüíûõ áàëëîâ ïî äèñöèïëèíå äîëæíà ðàâíÿòüñÿ 100 áàëëàì. Ïî êàæäîé äèñöèïëèíå äîëæåí áûòü êðè òåðèé, îòðàæàþùèé óðîâåíü ïîñåùàåìîñòè çàíÿòèé ñòóäåíòàìè, à òàêæå êðèòåðèé, ó÷èòûâàþùèé ¾óñïåõè¿ ñòóäåíòà ïî ñìåæíûì äèñöèïëèíàì ïðîøëîãî ñåìåñòðà èëè ðåçóëüòàòû âñòóïèòåëüíûõ èñïûòàíèé. Ïðèìåð âîçìîæíîé òàáëèöû êðèòåðèåâ íà÷èñëåíèÿ ðåéòèíãîâûõ áàëëîâ ïðèâå äåí íà ðèñ. 3 Ðèñ. 3. Òàáëèöà íà÷èñëåíèÿ ðåéòèíãîâûõ áàëëîâ  òå÷åíèå ó÷åáíîãî ñåìåñòðà îïåðàòîðû äèñöèïëèí ìîãóò íà÷èñëÿòü ñòóäåíòàì ïðîèçâîëüíîå îòëè÷íîå îò íóëÿ êîëè÷åñòâî ðåéòèíãîâûõ áàë ëîâ ïî êàæäîìó âèäó äåÿòåëüíîñòè, êðîìå ïîñåùàåìîñòè çàíÿòèé. Ðåé òèíãîâûå áàëëû ïî êðèòåðèþ ¾Ïîñåùàåìîñòü çàíÿòèé¿ íà÷èñëÿþòñÿ àâòîìàòè÷åñêè íà îñíîâàíèè ñâåäåíèé, ïîëó÷åííûõ èç ñèñòåìû ó÷åòà ïîñå ùàåìîñòè çàíÿòèé ñòóäåíòàìè ÃÎÓ ÌÃÈÓ [33] åæåíåäåëüíî ïðîïîðöèî íàëüíî êîëè÷åñòâó íåäåëü, ïðîøåäøèõ ñ íà÷àëà ñåìåñòðà. Ñóììàðíîå êîëè÷åñòâî áàëëîâ, íàáðàííûõ ñòóäåíòîì â òå÷åíèå ó÷åá íîãî îòðåçêà ïî êàæäîé èç äèñöèïëèí, îáðàçóåò åãî ðåéòèíã ïî äèñöè ïëèíå è îïðåäåëÿåò èòîãîâóþ îòìåòêó ïî çàðàíåå óòâåðæäåííîé øêàëå ïåðåâîäà. Êðèòåðèé íà÷èñëåíèÿ ðåéòèíãîâûõ áàëëîâ Ìîäåëü Ritem ïðåäíàçíà÷åíà äëÿ õðàíåíèÿ êðèòåðèåâ íà÷èñëåíèÿ ðåé òèíãîâûõ áàëëîâ, à òàêæå ñâåäåíèé î ìàêñèìàëüíî âîçìîæíîì êîëè÷å ñòâå áàëëîâ, êîòîðîå ìîæåò áûòü íà÷èñëåíî ñòóäåíòó ïî êàæäîìó âèäó ó÷åáíîé ðàáîòû. Îöåíêà Ìîäåëü MarkName ïðåäíàçíà÷åíà äëÿ õðàíåíèÿ èíôîðìàöèè î êðèòåðè ÿõ ïåðåâîäà ðåéòèíãîâûõ áàëëîâ â èòîãîâûå îòìåòêè.Îáúåêòû äàííîé ìîäåëè ïðèêðåïëÿþòñÿ ê äèñöèïëèíå è õðàíÿò ìèíèìàëüíî íåîáõîäèìîå êîëè÷åñòâî ðåéòèíãîâûõ áàëëîâ, íåîáõîäèìûõ äëÿ ïîëó÷åíèÿ ñîîòâåò ñòâóþùåé îòìåòêè. Ðåéòèíãîâûå áàëëû Êàê áûëî îòìå÷åíî ðàíåå, îïåðàòîðû ó÷åáíûõ äèñöèïëèí ïîñëå óòâåð æäåíèÿ êðèòåðèåâ ïîëó÷àþò âîçìîæíîñòü íà÷èñëåíèÿ ðåéòèíãîâûõ áàë ëîâ ñòóäåíòàì. Ðåéòèíãîâûå áàëëû ïðåäñòàâëåíû îáúåêòàìè ìîäåëè (Mark). Ãëàâíîé õàðàêòåðèñòèêîé ðåéòèíãîâûõ áàëëîâ ÿâëÿåòñÿ öåëîå ÷èñëî value, õàðàêòåðèçóþùåå èõ êîëè÷åñòâî. Ê êàæäîé îöåíêå ïîëüçîâàòåëè ìîãóò îñòàâëÿòü êîðîòêèå êîììåíòàðèè. Ñóùåñòâóþò äâå ñòðàòåãèè âûñòàâëåíèÿ áàëëîâ. Ïåðâàÿ èç íèõ ïîçâî ëÿåò ïðåïîäàâàòåëþ îäíîêðàòíî íà÷èñëèòü ëþáîå îòëè÷íîå îò íóëÿ êî ëè÷åñòâî áàëëîâ. Âòîðàÿ ïðåäïîëàãàåò ïðèâÿçêó ðåéòèíãîâûõ áàëëîâ ê ñïåöèàëüíî ñîçäàííîìó êîíòðîëüíîìó ìåðîïðèÿòèþ. Áàëëû çà êîíòðîëü íûå ìåðîïðèÿòèÿ ìîãóò áûòü îòðåäàêòèðîâàíû â òå÷åíèå âñåãî ó÷åáíîãî ñåìåñòðà. Òàêæå çà êîíòðîëüíûå ìåðîïðèÿòèÿ äîïóñêàåòñÿ íà÷èñëåíèÿ íóëÿ áàëëîâ.
Ñòîèò òàêæå óïîìÿíóòü, ÷òî îïåðàòîð äèñöèïëèíû íå ñìîæåò íà÷èñ ëèòü ðåéòèíãîâûå áàëëû, åñëè èõ ñîçäàíèå ïðèâåäåò ê ïðåâûøåíèþ ìàê ñèìàëüíî îïðåäåëåííîãî çíà÷åíèÿ ïî âèäó ó÷åáíîé ðàáîòû. Ñóììàðíîå êîëè÷åñòâî áàëëîâ, íàáðàííûõ ñòóäåíòîì ïî êàæäîìó èç êðèòåðèåâ èõ íà÷èñëåíèÿ, íå ìîæåò ñòàíîâèòñÿ îòðèöàòåëüíûì.