МІНІСТЕРСТВО ОСВІТИ І НАУКИ, МОЛОДІ ТА СПОРТУ УКРАЇНИ
ХЕРСОНСЬКИЙ ДЕРЖАВНИЙ УНІВЕРСИТЕТ
ФАКУЛЬТЕТ ФІЗИКИ, МАТЕМАТИКИ ТА ІНФОРМАТИКИ
ЗАТВЕРДЖУЮ
до захисту в ДЕК
ПЕРШИЙ ПРОРЕКТОР УНІВЕРСИТЕТУ
___________ професор О.В. Мішуков
ТОЛКАЧОВ ІВАН ІГОРОВИЧ
__________
УПРАВЛІННЯ КАЛЕНДАРЯМИ ПІДПРИЄМСТВА І НАДАННЯ ПЕРСОНАЛЬНИХ СЕРВІСІВ
8.08.0201 ІНФОРМАТИКА, ІНЖЕНЕР ПРОГРАМІСТ
Випускна робота освітньо-кваліфікаційного рівня «Магістр»
ПОГОДЖЕНО
Декан факультету Науковий керівник
__________ доц. В.І. Кузьмич _________ проф. М.С. Львов
_________ 2011 р. ________ 2011 р.
Завідувач кафедри інформатики Рецензенти:
_________ проф. О.В. Співаковський _________ доц. В.І. Кузьмич
________ 2011 р. ________ 2011 р.
Херсон – 2011
ЗМІСТ
ВСТУП 3
РОЗДІЛ 1. УПРАВЛІННЯ КАЛЕНДАРЯМИ ПІДПРІЄМСТВА 5
1.1 Основні поняття 5
1.2 Сучасний університет, як особливий вид підприємства 9
1.3 Необхідність управління календарями університету 12
1.4 Можливість використання існуючих продуктів 13
РОЗДІЛ 2. МОЖЛИВОСТІ СИСТЕМИ І ШЛЯХИ ЇХ РЕАЛІЗАЦІЇ 24
2.1 Вимоги до системи 24
2.2 Еталонна архітектура 31
2.3 Технології розробки 35
2.4 Розроблена архітектура 39
РОЗДІЛ 3. РОЗРОБКА ПРОДУКТУ 42
3.1 Вимоги с точки зору алгоритмів і реалізації 42
3.2 Серверна частина системи 44
3.3 Клієнтська частина системи 52
ВИСНОВКИ 60
СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ 62
ДОДАТКИ 67
Додаток А. Діаграма прецедентів 67
Додаток Б. Використані технології. 68
Додаток В. Код моделі представлення сторінки «Мій календар» 68
ВСТУП
Швидкий ритм сучасного життя заставляє людей ретельно планувати свій робочий і особистий час. У бурхливому світі виробництва і бізнесу велику роль відіграє своєчасність виконання певної роботи. Дуже зручно мати перед собою заздалегідь складений план на наступний день чи на весь тиждень. Саме тому все більшу популярність набувають системи календарів для персонального і корпоративного планування подій.
Прикладом сучасних систем для планування робочого та особистого часу є: Google Calendar, Hotmail Calendar, Microsoft Exchange Server, тощо. У цій роботі більше уваги буде приділено саме аналізу першої та третьої з вищеперерахованих систем, як двом яскравим представникам протилежних напрямів управління календарями. З одного боку Google Calendar – сервіс, призначений для широкого кола користувачів, з іншого Microsoft Exchange Server – суто корпоративна система. Всі інші системи так чи інакше належать до одного з вищевказаних напрямів.
Саме зараз постає питання, чи достатньо існуючі продукти задовольняють потреби підприємств. Відповідь – ні. І яскравим прикладом є сучасний університет. Своєрідна структура такого роду підприємства заставляє задуматися про ефективність використання існуючих систем і необхідність створення спеціальної системи управління календарями, чогось середнього між двома крайностями – загально доступним і суто корпоративним.
Актуальність цієї роботи полягає в тому, що існує процес обміну інформацією, пов'язаний з подіями в часі – загальний для різних форм спільної діяльності. Система підтримки такого процесу не повинна залежати від форм організації людей. Впровадження подібної системи управління календарями в університеті допоможе більш ефективно планувати свій час і студентам і співробітникам. Швидко і зручно оповіщати усіх учасників навчального і робочого процесу про нові події. Більш зручніше працювати з ресурсами університету.
Метою дипломної роботи є створення системи управління календарями в Херсонському державному університеті.
Об’єкт дослідження – календарі підприємства.
Предмет дослідження – управління календарями і надання персональних сервісів.
Гіпотеза. Взаємодія людей – це бізнес-процес, який потребує синхронізації в часових точках. Система підтримки такого процесу затребувана, і може функціонувати, як окрема система, так і як інтегрована підсистема.
Для досягнення поставленої мети було виділено ряд задач:
Проаналізувати існуючі рішення.
Визначити вимоги до системи.
Проаналізувати різні технології.
Визначити архітектуру системи і розробити прототипи.
Розробити систему.
Структура роботи. Робота складається зі вступу, трьох розділів, висновків та списку використаних джерел.
Перший розділ присвячений питанням необхідності ефективного управляння календарями в сучасному університеті, аналізу існуючих продуктів та опису переваг впровадження нової системи.
Другий розділ містить аналітичні висновки і рішення що до архітектури системи і використаних для розробки технологій.
У третьому розділі описується процес розробки продукту. Приводяться проблеми, які ставалися у процесі і шляхи їх вирішення.
РОЗДІЛ 1УПРАВЛІННЯ КАЛЕНДАРЯМИ ПІДПРІЄМСТВА
Основні поняття
Планування є дуже важливим інструментом сучасної людини. А найпоширенішими інструментами для планування, які є майже у кожної людини, є блокнот і ручка. Ми чи не кожен день записуємо в своїй записній книжці перелік справ, які плануємо зробити, час і місце запланованої зустрічі, строки виконання завдань. У наші часи масової інформатизації, коли комп’ютер і Інтернет стали доступними майже всім, на зміну записникам із паперу прийшли електронні засоби, які дозволяють людям взаємодіяти між собою, узгоджуючи свої дії у часі. Це так звані календарі, електронні записні книжки, та інші програмні засоби.
Дана дипломна робота присвячена дослідженню, пов’язаному з використанням електронних засобів для синхронізації спільної праці людей і обміну інформацією між ними, незалежно від форм організації і взаємодії цих людей. Як приклад, взято такий вид підприємства, як університет ( університет, як вид підприємства, буде розглянуто далі у цьому ж розділі в пункті 1.2 ).
Отже, насамперед, починаючи дослідження конкретної предметної області, слід встановити основні поняття. І почати треба, в першу чергу, з визначення таких понять, як підприємство і подія.
Підприємство – уособлена спеціалізована одиниця, основою якої є професійно організований трудовий колектив, здатний за допомогою наявних в його розпорядженні засобів виробництва виробити необхідну користувачу продукцію (виконати роботу, надати послуги) відповідного значення, профілю і асортименту.[1]
Робота підприємства – це взаємодія всіх співробітників, а в деяких випадках і клієнтів, який представляє собою множину часових відрізків і окремих дат, за якими закріплено визначений набор атрибутів. Кожен з таких відрізків будемо називати подією, окрему дату назвемо крайовою точкою виконання завдання. Отже маємо наступні визначення.
Подія – це захід, який відбудеться у визначений часовий проміжок. Тобто, має точну дату та час початку і час закінчення.
Завдання - це робота, яку треба виконати до певного терміну. Іншими словами, ми маємо опис конкретної дії, результат якої виконавець має представити у визначений термін, тобто до чітко заданих дати та часу.
Увівши ці ключові поняття, ми отримуємо мінімальні структурні одиниці на основі яких будемо будувати ланцюг наступних визначень та міркувань. Ці та інші поняття, які будуть введені далі, складають понятійний словник розроблюваної системи.
Деякі події можуть траплятися з конкретною періодичністю. Наприклад, компанія проводить співбесіди по прийому на роботу по вівторках та четвергах кожного тижня з 10:00 до 13:00. Якщо розбити строку даного приклада на логічні інформаційні одиниці, кожна з яких відповідає на одне з питань: «Що відбувається?», «Коли відбувається?», «Як часто відбувається?» (або «З якою періодичністю?»), то зможемо зробити ряд висновків. У нас є подія (відрізок, що відповідає на перше питання), що триває визначений час. Є частина речення, що відповідає на друге питання («…по вівторках та четвергах…»). Звернемо увагу, що звідси ми не бачимо точної дати. Але, у нас є третій відрізок - «…кожного тижня…», з якого можна зробити висновок, що подія періодично повторюється. Тепер, знаючи дату лише першої співбесіди, ми можемо вичислити дати подальших проведень даної події. Тобто, можна говорити про деякий шаблон генерації подій з заданим періодом. І підкреслюючи все вищесказане, введемо наступне поняття.
Періодична подія – це шаблон з параметрами події, строку дії та періодичності. По шаблону можуть бути генеровані події з конкретно визначеними датами. Параметри строку дії – це дата першого випадку події і дата останнього можливого випадку. Чому «можливого»? Тому, що остання дата не обов’язково може співпасти з днем проведення події.
Наприклад, останньою датою періоду ми задали 25.03.2011 – це п’ятниця, а подія відбувається лише по понеділках. Отже остання подія відбудеться в понеділок 21.03.2011.
Коли ми вже маємо ряд фундаментальних визначень, і перед тим, як ввести ще одне немаловажне поняття, розглянемо наступне.
Календар – це система числення великих проміжків часу, оснований на періодичному, видимому русі небесних тіл. Послідовний перелік чисел, днів неділь і місяців року.[2]
Це визначення самого звичного календаря, яким ми звикли користуватися. Керуючись ним, можна визначатися з датами і строками проведення різних заходів, зустрічей, рамками виконання завдань, тощо. Але зараз, коли з’являється все більше програмних засобів для планування, дуже важливо знати і розуміти ще інше значення цього терміну. Це те поняття, що є ключовим в об’єкті дослідження і являє собою множину подій і завдань. Тобто деякий план.
Календар – Множина подій, впорядкованих по даті.
Отже, ми можемо розглядати календар, як впорядкований список часових точок, в яких різним чином пересікаються учасники робочого процесу, тобто люди, що працюють на підприємстві.
Кожна людина, повинна мати можливість самостійно планувати свій час, вибираючи події зі списку необов’язкових і своєчасно дізнаватися про обов’язкові заходи, при цьому, також, обираючи джерела. Користувач повинен мати змогу бачити події зі всіх обраних ним джерел в одному місці. Звідси виникає наступне визначення.
Мій календар – це об’єднання календарів, на які підписався користувач.
Коли ми маємо велику кількість різних об’єктів в області, яку ми описуємо, виникає необхідність ділить їх на групи або категорії за якимись ознаками. Такий розподіл допомагає більш легко працювати з інформацією, здійснювати пошук та відсіювання.
Категорія – ознака (текст). Множина об’єктів системи. Об’єкт системи може належати множені категорій. Приклади категорій календарів: факультет, семінар, конференція, розклад занять, спортивні заходи.
Важливою частиною системи інформування є оголошення. Людині зручніше відразу бачити зміни в розкладі або нові заплановані події і не заходячи в розділ «Мій календар» відразу внести в свій розклад ту чи іншу подію.
Оголошення – повідомлення про подію, яка ще не відбулася, або новий календар. Містить можливість підписки на подію чи календар, з яким пов’язано дане оголошення. Після підписки подія (календар) починає відображатися в розділі «Мій календар».
Оголошення – це доволі широке поняття, яке не тільки передбачає деяку інформацію про конкретний об’єкт, але ще й має актуальність в залежності від часу. Тому ми, по-перше, виділяємо два стани об’яви: активний – коли об’ява показується користувачу, і пасивний – коли користувач не має змоги бачити інформацію. А по-друге, у активному стані ми розділяємо множину об’яв на дві підмножини: новини і нагадування.
Новина – це оголошення, яке виводиться після публікації події у календарі або створення нового календаря і показується протягом певного часу.
Нагадування – оголошення про подію за певний строк до її початку.
Також користувач може мати необхідність отримувати якісь підтвердження або звіти про стан процесу якоїсь роботи, яка проводиться у системі зв’язаній з системою управління календарями.
Повідомлення – новина, створювана системою. Наприклад, система адміністрування конференцій, інтегрована з системою календарів, може згенерувати текстове повідомлення про те, що стаття користувача прийнята і буде опублікована.
Отже, це всі основні поняття, якими ми будемо оперувати надалі, і які, по суті, є об’єктами системи, бізнес-сутностями.
Сучасний університет, як особливий вид підприємства
Сучасний університет є дуже складною структурою з великою кількістю відділів і різними формами взаємодії людей. Розглянемо факти, згідно яких ми можемо стверджувати, що університет є доволі складним підприємством.
У книзі «Управління інформаційними технологіями вищих навчальних закладів», одним з авторів якої є професор Херсонського державного університету Співаковський О.В., вищий навчальний заклад визначається як корпорація по обслуговуванню освітніх інтересів студентів. Там також зазначається, що дане визначення дозволяє змінити акцент діяльності університету з простої передачі певної суми знань від викладача до студента, до створення середовища, що забезпечує, з одного боку, ефективні можливості професорсько-викладацького складу до створення необхідного інформаційного ресурсу і практично необмежених можливостей в комунікаціях, а з іншого боку, наданню будь-якому студентові, в будь-який слушний час використання всіх створюваних вузом інформаційно-комунікаційних ресурсів для задоволення власних інтелектуальних потреб. [3]
Отже, у результаті спільної роботи університету зі студентами з’являються фахівці різних спеціальностей. Університет тут треба розуміти як сукупність робітників і ресурсів, які виробляються робітниками, для взаємодії з замовниками. Замовниками на освітні ресурси університету є студенти, але вони також, являють собою і основний ресурс для створення фахівців. Тому з іншого боку замовниками університетів також є інші підприємства і різні структури, в тому числі і держава, які зацікавлені у фахівцях. Загальна схема взаємодії університету, як підприємства, з замовниками відображена на рисунку. 1.1.
Рис. 1.1. Процес роботи університету, як підприємства
На рисунку 1.1 на місці університету можуть бути і інші вищі навчальні заклади. Студент, як замовник освітніх послуг, користується ресурсами університету, взаємодіє з професорсько-викладацьким персоналом. Університет постійно проводить моніторинг успішності студента і у результаті після проведення ряду перевірок, видає документ, що підтверджує компетентність людини як фахівця. У ролі замовників можуть виступати держава та різні комерційні і некомерційні структури. Вони, по суті, роблять замовлення в університет на виготовлення нових фахівців. При цьому, деякі з замовників також є джерелом фінансування вищого навчального закладу. Наприклад, держава. А деякі, також, виступають у ролі джерел ресурсів для навчання. Це взаємодія університету з різними організаціями, які надають місця для проходження практики, або спеціалістів, що, як і викладачі, приймають участь у навчальному процесі і створені навчальних ресурсів. Дана схема є доволі спрощеною і не висвітлює усіх подробиць процесу функціонування університету і взаємодії з іншими об’єктами.
У ринковій економіці між підприємствами, що виробляють продукцію однакового типу, існує конкуренція, яка заставляє виробників робити свої продукти або послуги більш якісними ніж у конкурентів. Так і між сучасними університетами існує конкуренція, що породжує необхідність університетам постійно покращувати свої освітні послуги.
Важливим фактором визначення університету як підприємства є ще й те, що він управляє множиною різних активів, таких як:
людські ресурси;
фінансові потоки;
матеріальні активи;
нематеріальні активи, включаючи інтелектуальну власність;
взаємовідносини зі студентами та співробітниками;
взаємодія з різними зовнішніми організаціями, включаючи і фіскальні.
При цьому інформація й технології, за допомогою яких вона збирається, зберігається й розповсюджується, можуть порушити роботу всієї цієї системи. Звідси виникає необхідність управління інформаційними технологіями в університеті.[3]
Виходячи зі усього вищесказаного, можна зробити висновок, що університет є підприємством з доволі складною структурою і різними формами організації людей.
Необхідність управління календарями університету
Як зазначалося вище, у наш час інформатизації дуже гостро стоїть питання своєчасного отримання інформації і виконання поставлених задач. Успіх часто залежить від вміння людини ефективно спланувати свої дії у повсякденному житті. Немаловажним також є і взаємодія людей у процесі спільної роботи.
У попередньому пункті ми визначили, що сучасний університет це підприємство з різними формами організації і взаємодії людей. І студент – це, з одного боку, ресурс для створення продукту, що випускається університетом і який є основним товаром на ринку праці, а з іншого – споживач, що користується послугами університету для здобуття професії. Якщо згадаємо рис. 1.1, то побачимо, що в університеті відбувається тісна взаємодія виробника з користувачем за для виготовлення продукту для замовника.
Виходить, що в університеті, як і на будь-якому підприємстві, є необхідність грамотного управляння інформаційними технологіями. Звідси виходить і необхідність управління календарями.
Причини, по яким треба управляти календарями університету:
Потрібно інформувати співробітників і студентів (далі користувачі) про події, що мають відбутися.
Інформування повинно проходити за допомогою комп’ютерних технологій і Інтернету. При наявності таких можливостей, необхідно переходити від інформування по засобах настінних стендів з об’явами і переписування в блокнот до роботи з електронними календарями.
Користувачі повинні мати змогу получати інформацію в одному місці, не залежно від того, де зберігається інформація і якими способами реалізований доступ до неї.
Не всі користувачі повинні мати змогу створювати календарі і події, а тільки обмежена множина робітників університету і, у виключних ситуаціях, особливо довірені студенти.
Користувачі повинні отримувати лише ту інформацію, яка відповідає їхнім ролям.
Інформування повинно бути своєчасним, змістовним і актуальним і не повинно порушувати нормальну роботу підприємства.
Ефективне управління календарями університету сприяє поліпшенню умов і результативності праці як співробітників так і студентів.
Можливість використання існуючих продуктів
Існує ряд систем, що дозволяють планувати свій робочий і вільний час. Також є корпоративні продукти, що допомагають у керуванні персоналом на підприємстві. Як вже зазначалося вище в даній роботі особливу увагу буде приділено таким продуктам, як Google Calendar і Microsoft Exchange Server у сукупності з Microsoft Outlook. Чому саме ці системи? По-перше, це два яскравих представника протилежних напрямів управління календарями. Google Calendar – це сервіс, призначений для широкого кола користувачів. Microsoft Exchange Server – це суто корпоративна система. Microsoft Outlook, по суті, щось середнє, бо, з одного боку, передбачає доволі багато загальнодоступних можливостей, а з іншого – інтегрується з сервером Exchange.
Розглянемо можливості цих продуктів і спробуємо відповісти на питання, чи можна їх використовувати в університеті і наскільки ефективно. І почнемо з календарів Google.
«За допомогою програми Календар Google легко привести життя до ладу і відслідковувати всі важливі заходи в одному місці. Можна легко додавати події і відправляти запрошення, обмінюватися розкладом з друзями та родичами, а також знаходити заходи, що Вас цікавлять.»[4]
З цієї фрази починається підручник по Календарю Google. І вже звідси видно, що він не призначений для використання на підприємстві. Основне його призначення у тому, щоб будь-яка окрема людина могла організувати свій час. Але при цьому він не підходить для організації взаємодії великої кількості людей в процесі спільної роботи. Можна організовувати свій не тільки вільний, але й робочий час. Проте узгодження з колегами або іншими учасниками робочого процесу все ж таки буде проходити по побільшій мірі вручну.
Основна функціональність Календаря Google:
Рис. 1.2. Календар Google
Перегляд по дням, тижням і місяцям. (Рис. 1.2, мітка 1) За допомогою цих вкладок можна переглядати календар по дням, тижням і місяцям або продивитись наступні чотири дні. На вкладці «Порядок денний» відображається список заходів. Можна налаштувати перегляд наступних чотирьох днів у відповідності до Ваших потреб.
Переміщення вперед та назад. (Рис. 1.2, мітка 2) За допомогою цих стрілок легко перейти до більш пізнім або більш раннім датам. Крім того, можна використовувати швидкі клавіші J і K.
Вибір днів для показу. (Рис. 1.2, мітка 3) Щоб вказати, які дня слід відобразити в основному календарі, можна виділити дати, що вас цікавлять, у міні-календарі.
Рис. 1.3. Створення нової події в календарі Google
Додавання подій за допомогою форми. (Рис. 1.3, мітка 1) Для додання події можна використовувати відповідну форму. Щоб почати ввід даних достатньо натиснути «Створити подію».
Імпорт подій з інших програм. (Рис. 1.3, мітка 2) Можна імпортувати події з інших програм-календарів, наприклад із Yahoo! Calendar і Microsoft Outlook.
Відправка запрошень. (Рис. 1.4, мітка 1) Щоб запросити кого-небудь для участі у заході із календаря, можна просто додати його адресу електронної почти в розділ «Гості» цього заходу.
Відповіді гостей. (Рис. 1.4, мітка 2) Гості можуть відповісти на запрошення по електронній почті незалежно від того, використовують вони Календар Google чи ні.
Рис. 1.4. Обговорення події в календарі Google
Коментарі гостей. (Рис. 1.4, мітка 3) Коментарі, що відправляються гостями, можуть бачити всі люди, які запрошені для участі в заході.
Нагадування. (Рис. 1.4, мітка 4) Нагадування допомагають слідкувати за важливими заходами. Їх можна получати по електронній почті, у спливаючих вікнах або у повідомленнях, що відправляються на мобільний телефон.
Створення декількох календарів. (Рис. 1.5, мітка 1) Можна створити різні календарі для різних сфер діяльності і захоплень, наприклад, створити спеціальний календар для ігор і тренувань з футболу.
Підписка на інші календарі. (Рис. 1.5, мітка 2) Можна наряду зі своїми календарями переглядати інші календарі з відкритим доступом. В цих календарях також можна виконувати пошук, запитувати для перегляду календарі друзів і автоматично додавати неробочі дні.
Рис. 1.5. Управління календарями в календарі Google
Показ і приховування календарів. (Рис. 1.5, мітка 3) За допомогою, спеціальних фланків модна показувати або приховувати події з різник календарів для налаштування відображення інформації.
Зміна кольору календарів. (Рис. 1.5, мітка 4) Можна змінювати колір заходу з різних календарів, щоб зручніше було їх переглядати.
Налаштування відкритого доступу до календарю. (Рис. 1.6, мітка 1) Можна надати іншим людям доступ до всій інформації календаря. Ця функція корисна у тому випадку, якщо група людей спільно приймає участь у ряді заходів.
Надання відкритого доступу друзям. (Рис. 1.6, мітка 2) Можна керувати доступом до свого календаря, вказавши конкретних користувачів для надання відкритого доступу і інформацію, яку вони зможуть продивлятися.
Рис. 1.6 Налаштування календаря
Відкритий доступ для користувачів по всьому світу. (Рис. 1.6, мітка 3) Можна зробити свій календар відкритим і доступним для пошуку іншим користувачам.[4]
Як бачимо, даний продукт є доволі зручним для персонального використання. Але він не призначений для управління календарями підприємства. На підприємстві доступ до публікації календарів і подій повинна мати лише обмежена кількість довірених людей (модераторів), щоб обмежити можливість порушення роботи підприємства невірною інформацією. До того ж одразу виникає проблема безпеки і інтеграції в інфраструктуру підприємства.
Рухаючись по порядку, розглянемо тепер календар Outlook, на прикладі версії 2007 року. Деяка функціональність цього продукту співпадає з попередньо розглянутим, тому зазначимо її більш коротко, і зупинимось детальніше на відмінностях.
Microsoft Office Outlook – це компонент календаря і розкладу Office Outlook, який повністю інтегрований з поштою, контактами та іншими можливостями Outlook.
Основні можливості календаря:
Створення зустрічей та подій. Функціональність така ж як і у календаря Google, теж є можливості вибору кольорів для виділення подій. Також можна відправляти запрошення і погоджувати час проведення зборів з потенціальними учасниками.
Перегляд розкладу групи. Можливе створення таких календарів, у яких одночасно відображаються розклади групи співробітників або ресурсів. Наприклад, можна переглядати розклади всіх співробітників свого відділу або всіх ресурсів (таких як конференц-зали) свого офісного будинку. Це допоможе швидко скласти розклад зборів.
Паралельний перегляд календарів. Можна переглядати кілька власних календарів або загальних календарів інших користувачів Outlook, розташувавши ці календарі поруч один з одним. Наприклад, можна створити окремий календар для своїх персональних зустрічей і переглядати свій робочий і персональний календарі поруч. Можна також копіювати або переміщати зустрічі між календарями. За допомогою області переходів можна швидко надавати загальний доступ до свого календаря й відкривати інші спільні календарі. Залежно від прав, наданих власником календаря, можна створювати або змінювати зустрічі в спільних календарях.
Перегляд календарів один над одним. У представлені накладення можна відобразити на екрані кілька календарів, створених раніше, або загальних календарів інших користувачів Outlook. Наприклад, можна створити окремий календар для персональних зустрічей і накласти робочий і персональний календарі, щоб швидко визначити, де мають місце конфлікти вільного часу.
Підключення до календарів на веб-вузлах Windows SharePoint Service. При наявності доступу до веб-вузла Windows Sharepoint Services можна переглядати списки подій із цього вузла в календарі Outlook. Вносити зміни в список у Outlook можна навіть під час автономної роботи. Зміни будуть автоматично синхронізовані при наступному підключенні до Інтернету. Крім того, можна переглядати календарі Windows Sharepoint Services поруч із іншими персональними або загальними календарями.
Відправка календаря іншій людині по електронній пошті. Можна відправити свій календар одержувачеві електронної пошти як календар Інтернету, зберігши за собою можливість визначати, яка частина інформації буде спільною. Інформація календаря відображається в тілі листа електронної пошти як вкладення календаря Інтернету, яке одержувач може відкрити в Outlook.
Публікація календарів на веб-вузлі Microsoft Office Online. Ця функціональність подібна до можливості календаря Google, тому не будемо на ній зосереджувати увагу.
Керування календарями інших користувачів. Засіб «Доступ представника» дає можливість одній особі використовувати свою копію Outlook для зручного керування календарем іншої особи. Наприклад, адміністративний помічник може управляти календарем керівника. Коли керівник передає повноваження помічникові, помічник може створювати, переміщати або видаляти зустрічі, а також організовувати збори від імені керівника.[5]
Тут ми бачимо більше можливостей для використання на підприємстві у порівнянні із календарем Google. За допомогою календаря Outlook ми можемо і переглядати календарі груп і більш ефективно синхронізувати свої дії з колегами. І з безпекою все набагато краще, тим паче якщо використовувати ще й Microsoft Exchange Server 2010, який зараз і розглянемо.
Microsoft Exchange Server 2010 — комплексна система обміну поштовими й голосовими повідомленнями, з реалізацією відео- і веб-конференцій, із вбудованими засобами захисту від спама й вірусів. Забезпечує гнучкість розгортання з урахуванням індивідуальних потреб, а також простоту підтримки безперервного доступу користувачів до електронної пошти. [6]
Особливості Exchange Server 2010:
Підтримка поштових ящиків великого розміру.
Повноцінна робота з повідомленнями в трьох різних браузерах. Це – Internet Explorer, FireFox і Safari.
Можливість працювати через мобільні пристрої.
Можливість розміщення локально або в «хмарі».
Та інші. [7]
Не будемо прибігати до глибокого опису всіх можливостей, а лише зазначимо, що розробник реалізував багато функціональних можливостей у вказаних вище останніх двох продуктах. І завдяки цьому використання їх разом може забезпечити майже всі корпоративні потреби практично будь-якого підприємства.
Але згадаймо про те, що університет являє собою підприємство з різними формами організації людей, як то безпосередньо робітники а також студенти. Стає зрозуміло, що існуючі системи не дозволяють достатньо ефективно синхронізувати роботу і тих і інших у часі. Не дивлячись на всі можливості, описані продукти не роблять можливим управління календарями університету з урахуванням всіх особливостей такого роду підприємства. Як вихід, створення власної системи управління календарями, яка б, що важливо, з одного боку могла б використовуватися сама по собі, або у комплексі з описаними продуктами, доповнюючи їх. Тобто, ми стверджуємо, що не слід відмовлятися від використання існуючих програм, до яких вже звикли і які вже набули доволі широкого поширення. Але в університеті повинен бути власний ресурс, що дозволяє управляти календарями і надає користувачам вибір, за допомогою яких клієнтських програм отримувати доступ до інформації.
Не слід відмовлятися від використання звичних програм для особистого планування. Це і не потрібно. Можна вдало використовувати все разом, і календарі Google та Outlook, і поштовий сервер Exchange, у сукупності з системою управління календарями. І разом це складе єдину систему для синхронізованої роботи людей.
Наявність власної системи управління календарями передбачає ряд переваг і недоліків. Основні переваги:
Ми знаємо, як нам краще управляти своїми календарями, і розроблена система буде враховувати всі особливості такого роду підприємства, як університет. Тобто, продукт на сам перед враховує нюанси даної предметної області.
Ми можемо змінювати і доповнювати програму додатковим функціоналом при необхідності і не залежати від сторонніх розробників.
Система розроблена для використання на окремому підприємстві легше розвертається і підтримується у конкретному середовищі і інтегрується з іншими підсистемами.
Які можуть бути недоліки:
Для підтримки необхідна наявність спеціалістів, які можуть виконати роботу по розширенню і налагодженню системи.
Отже, у створенні власної системи управління календарями є і позитивні і негативні сторони. Але, що негативно, то для того знайдуться можливості подолання, а що позитивно, то все ж таки переконує.
РОЗДІЛ 2МОЖЛИВОСТІ СИСТЕМИ І ШЛЯХИ ЇХ РЕАЛІЗАЦІЇ
Вимоги до системи
При створенні програмного продукту спеціалістам зазвичай доводиться вирішувати ряд проблем, особливо, якщо розробляємо система інноваційна. Кожна така розробка свого роду дослідження.
Зазвичай важко відразу описати ті дії, які повинна виконувати система. Це в якомусь роді мистецтво, вміти чітко сформулювати вимоги до системи.
Вимогами називається опис функціональних можливостей і обмежень, що накладають на програмну систему. Процес формування, аналізу документування і перевірки цих функціональних можливостей і обмежень називається розробкою вимог (requirements engineering).[11]
Термін вимоги (до програмної системи) може трактуватися по-різному. В деяких випадках під вимогами маються на увазі високо рівневі узагальнені твердження о функціональних вимогах і обмеженнях системи. Інша крайня ситуація – деталізований математичний формальний опис системних функцій.[11]
Існує декілька рівнів вимог:
Користувацькі вимоги (user requirements) – опис на природній мові (плюс пояснювальні діаграми) функцій, що виконує система, і обмежень, що накладаються на неї.
Системні вимоги (system requirements) – деталізований опис системних функцій і обмежень, які іноді називають функціональною специфікацією. Вона служить основою для укладення контракту між покупцем системи і розробником програмного забезпечення.
Проектна системна специфікація (software design specification) – узагальнений опис структури програмної системи, який буде основою для більш деталізованого проектування системи і її подальшої розробки. Ця специфікація доповнює і деталізує специфікацію системних вимог.[11]
Вимоги до програмної системи часто класифікують на функціональні, не функціональні і вимоги предметної області.
Функціональні вимоги. Це перелік сервісів, які повинна виконувати система, до того ж повинно бути вказано, як система реагує на ті чи інші вхідні дані, як вона веде себе у відповідних ситуаціях. У деяких випадках вказується, що система не повинна робити.
Не функціональні вимоги. Описують характеристики системи і її оточення, а не поведінку системи. Тут також може бути приведений перелік обмежень, що накладаються на дії і функції, які виконуються системою. Вони включають тимчасові обмеження, на час розробки системи, стандарти, тощо.
Вимоги предметної області. Характеризують ту предметну область, де буде експлуатуватися система. Ці вимогу можуть бути функціональними і не функціональними.[11]
Виділимо основні вимоги і обмеження системи, яку збираємось розробити.
У системі повинно бути реалізований механізм поділу об’єктів на категорії і операції з категоріями (поняття категорії приводилось у підрозділі 1 першого розділу):
створення нової категорії (доступно лише адміністратору);
додання об’єкту в категорію;
вилучення об’єкту з категорії;
видалення категорії (доступно лише адміністратору).
У системі повинні бути реалізовані наступні категорії користувачів:
гість (або «хто завгодно»);
авторизований користувач;
модератор календарів;
адміністратор.
Права користувачів повинні визначатися категоріями, а обмеження надання інформації – ролями. Типи ролей, що будуть реалізовані:
ролі системи;
ролі користувача.
Система повинна реалізовувати наступні функціональні можливості та операції для роботи з календарями:
Операція перетину календарів. Виявлення подій у календарі, що перетинаються або співпадають за часом проведення.
Операція об’єднання календарів. Відображення всіх або деяких подій з різних календарів у одному загальному календарі.
Календар може знаходитись у одному з двох станів: відкритий, коли допустиме створення нових подій і підписка на них, або закритий, коли більшість операцій з модифікації недоступні і всі події у ньому вже пройшли.
Модифікація календарів. Доступно лише модератору.
Створення календаря. Доступно будь-якому модератору з множини модераторів в системі.
Видалення календаря. Доступно лише модератору даного календаря і адміністратору. Ця операція можлива лише якщо календар пустий і закритий.
Редагування календаря. Доступно лише модератору даного календаря. Передбачає зміну різних параметрів та атрибутів календаря.
Система повинна надавати користувачу можливість перегляду інформації про календарі.
Повинна бути реалізована функціональність підписки на календар, тобто додання календаря у множину календарів користувача, а також відмови від підписки. Доступно лише авторизованим користувачам.
Операція підписки на календар.
Операція відписки від календаря.
Функціональні можливості та операції для роботи з подіями:
Функціональність погодження на участь у події і відмови приймити участь. Доступно лише авторизованим користувачам.
Операція підписки на участь у події.
Операція відмови від участі.
Модифікація подій. Доступно лише модератору календаря, до якого належить подія, що модифікується.
Створення події. Важливе обмеження: подія не може тривати більше одного дня.
Відміна події. Важливе обмеження: подія не може бути відмінена, якщо вже почалася, тобто відбулася.
Редагування події. Важливе обмеження: подія не може бути відредагована, якщо вже почалася, тобто відбулася.
Система повинна надавати можливість перегляду інформації про події.
У системі має бути реалізовано можливості опрацювання завдань.
Можливість перегляду списку завдань.
Можливість переходу до виконання завдань.
Система повинна мати механізм оповіщення користувачів про нові календарі і події, а також про зміну або видалення існуючих.
Можливість перегляду списку об’яв.
Можливість підписки на календарі і події із об’яви.
Система повинна надавати користувачу стрічку новин.
На рисунку 2.1 зображено ієрархію категорій користувачів. Кожна наступна категорія, у порядку зверху-вниз, розширює права і можливості попередньої.
Рис. 2.1. Ієрархія категорій користувачів
Розглянемо тепер діаграми прецедентів UML, для кожної з категорій користувачів.
Рис. 2.2. Прецеденти категорії «Хто завгодно»
З Рис. 2.2 ясно, що будь-який неавторизований користувач може переглядати інформацію про календарі та події. Проте, лише про деякі з них. Це невелика кількість календарів, які доступні для загального перегляду.
Рис. 2.3. Прецеденти категорії «Користувач»
Можливості авторизованого