Міністерство освіти і науки України
Миколаївський державний університет
Імені В.О.Сухомлинського
Фізико-математичний факультет
Створення програми електронного обліку успішності студентів з подальшим виведенням її в Інтернет. Надання інформації успішності студентів в локальній мережі
Курсову роботу виконала:
Студентка 362 групи
Фізико-математичного факультету
Спеціальність В«ІнформатикаВ»
Чернецька Ольга
Перевірив:
Кошкін К.В.
Миколаїв 2005
Анотація
Метою нашої роботи є розробка програми з обліку студентської успішності і відвідуваності, яка покликана автоматизувати роботу деканату по роботі з даними супроводжуючими навчальний процес груп студентів. Програма повинна забезпечувати формування необхідних звітів для аналізу успішності і відвідуваності навчальних груп та кожного студента окремо. Робота викладена на 31-й сторінці, містить 2 додатки і 5 малюнків.
Зміст
1. Аналіз предметної області і постановка задачі
1.1 Формулювання проблеми
1.2 Аналіз існуючих рішень
1.2.1 Технології побудови розподілених додатків
1.2.2 Сервер Zope
1.2.3 PHP
1.2.4 Вибір технології
1.3 Постановка задачі
2. Проект програми
2.1 Вибір технології проектування
2.2 Розробка моделей
2.3 Специфікації
2.4 Кодування
2.5 Тестування
Висновки
Додаток А
Додаток Б
1. Аналіз предметної області і постановка задачі
1.1 Формування проблеми
Однією з проблем сучасного ВНЗу є контроль. У зв'язку з великою кількістю студентів університету та безліччю дисциплін є необхідність вести облік за даними, супроводжуючими навчальний процес груп і студентів. В даний час існують безліч видів обліку і контролю за даними про студентів, які ведуться старостами груп, кураторами, викладачами, проректорами з навчальної роботі та деканами факультетів. Це такі види контролю як: поточна успішність студента, інформація про успішність студента за кожен місяць, відомості про академічної заборгованості та абсолютної успішності студентів з станом на останній день сесії, результати іспитів і заліків, накази про зарахуванні студентів на стипендію на наступний після екзаменаційної сесії семестр, облік відвідуваності студентами лекцій, семінарів, лабораторних робіт і інші. Ці дані зберігаються в журналах груп, екзаменаційних і залікових відомостях, довідках, наказах, списках і т.д. Дані про студентів одночасно можуть знадобитися старості, викладачеві, декану. Труднощі обліку успішності обумовлюють:
- значна кількість документації;
- розподіленість споживачів та інформації.
1.2 Аналіз існуючих рішень
1.2.1 Технології побудови розподілених додатків
Виходячи з розподіленості користувачів, інформації зручними засобами доступу можуть бути засоби Інтернет. В даний час для створення Інтеренет документів використовується два підходи:
В· статична генерація сторінок (виконується розробником документа);
В· динамічна генерація сторінок (виконується програмою).
З урахуванням того, що інформація про успішність часто оновлюється, доцільним буде застосування динамічної генерації сторінок.
В Нині в ролі засобів динамічної генерації сторінок широко використовується PHP і ZOPE:
В· PHP - це скриптова server-side мову програмування, призначений в основному для включення в html сторінку і виконуваний сервером перед видачею сторінки браузеру.
В· ZOPE - це сервер додатків, призначений для створення динамічних web-додатків і інтерактивних сайтів.
З метою вибору засобу розробки розглянемо зазначені продукти більш докладно.
1.2.2 Сервер Zope
Zope - Це об'єктно-орієнтована платформа, сервер додатків, призначений для створення динамічних web-додатків і інтерактивних сайтів.
У вираження "об'єктно-орієнтований" тут декілька сторін. По-перше, Zope написаний на мові Python, об'єктно-орієнтованій мові зі множинним спадкуванням.
друге, Zope побудований довкола ідеї "Публікації об'єктів" - URL, до якого звертається браузер, є посиланням на об'єкт (екземпляр класу), що викликається на виконання.
третє, самі об'єкти (серіалізовать екземпляри класів) зберігаються в об'єктно-орієнтованої бази даних ZODB.
Ще одне невід'ємне властивість - модульність. Zope - це не цілісний шматок софта, а багатий набір модулів, званих компонентами.
Zope написаний на портабельная мовою Payton і працює у всіх Unix системах і в Windows; основний формат бази даних ZODB - файл Data.fs - повністю незалежний від платформи і ОС), масштабованість і розподіленість.
Протоколи WWW (HTTP, CGI і т.д.) часто неадекватні задачам і можуть робити публікацію динамічних даних невиправдано складною. Їх низький рівень недостатній для безпосереднього створення багатьох класів web-додатків на їх основі.
Zope створює об'єктно-орієнтовану оболонку довкола цих низькорівневих засобів. З його допомогою рішення задачі відбувається звичайним шляхом - програміст пише набір ієрархій класів, що є абстракцією предметної області, а Zope бере на себе працю з надання доступу до екземплярів цих класів.
C Zope працюють наступні категорії користувачів:
В· адміністратор хоста - Компілює і інсталює програми і додаткові компоненти
В· програміст - пише компоненти, тобто класи, на мові Python
В· webмастер - розставляє ці компоненти (тобто екземпляри класів) на сайті, користуючись менеджерським web-інтерфейсом
В· адміністратор сайту - заводить записи про користувачів, створює ролі, ставить їх у відповідності один одному, призначає кому (якій ролі) до яких об'єктів можна мати доступ, і який саме доступ (створення об'єкта, редагування, видалення, перегляд і т.д.)
В· Це, звичайно, не обов'язково різні люди - це ролі. На маленькому сайті ці ролі може виконувати одна людина. Для великих сайтів Zope надає механізми делегування повноважень адміністраторам ділянок сайтів, верстальщикам, редакторам.
Що дає Zope Програмістові:
В· механізм шаблонів (DTML)
В· набір компонентів (ZODB, ZCatalog та інші)
В· API для створення своїх компонентів
В· API для доступу до Zope минувши www-інтерфейс, прямо по HTTP і/або XML-RPC деякі базові компонентів (Zserver, ZPublisher, ZODB, DTML, Catalog) можна використовувати взагалі поза Zope, просто в програмах на Python.
web-майстру:
В· механізм шаблонів (DTML)
В· www-інтерфейс для управління сайтом
адміністратору:
В· www-інтерфейс для управління сайтом простий, і в той же час потужний інструментарій для адміністрування користувачів, прав і інших механізмів безпеки
В· Недоліки Zope:
В· відсутність хорошою документації та літератури
В· недостатня підтримка локалей: сортування в циклі dtml-in здійснюється абсолютно без обліку локалі, індексація і пошук в Catalog вимагає компонента Splitter.
В· важко налагоджувати пітоновскіе компоненти - Zope треба перезапускати, щоб він підхопив зміни в коді, а це незручно і довго (секунд 20-30); Z-класи не мають такого обмеження, але і можливостей у них поменше
1. Недоліки Zope в основному є продовженням достоїнств цієї
платформи.
В· сервер, весь час сидить в пам'яті
В· відсутність можливості тримати історію об'єктів в CVS
В· мову програмування - Пітон; для програмування обіцяно додавання PerlMethods і може бути інших мов
В· сам написаний на Пітоні, у якого є свої власні недоліки. Наприклад, глобальний lock для всіх ниток. Це означає, що Пітон (і відповідно Zope) не зможуть витягти всі переваги багатопроцесорної машини
В· Деякі особ...