38448

ПРОЕКТУВАННЯ ПМК ДЛЯ ГЕНЕРАЦІЇ ЕЛЕКТРОННИХ ПОВІДОМЛЕНЬ ПО КЕРУВАННЮ ІТ-ПРОЕКТАМИ

Дипломная

Информатика, кибернетика и программирование

Для полегшення цього процесу було вирішено створити модуль для генерації та масової розсилки emil листів. Існують сервіси що дозволяють створювати великі розсилки електронних повідомлень з можливістю створення власних списків отримувачів. Порівняємо кілька найпопулярніших сервісів для масової розсилки електронних повідомлень.2 Розробка математичної моделі ПМК для генерації електронних повідомлень по керуванню ІТпроектами Кількість отримувачів розсилки розраховується під час виділення потрібних записів у таблиці формула 1.

Украинкский

2013-09-28

3.77 MB

5 чел.

69

ВСТУП

В наш час ІТ індустрія є доволі розвинутою, як наслідок існує велика кількість ІТ-проектів. Під час керування ІТ-проектами потрібно оперувати великим обсягом інформації та слідкувати за великою кількістю персоналу. Існують спеціальні програми для полегшення роботи з ІТ-проектами. Однією з таких програм є «Простий бізнес».

Програма «Простий бізнес» створена для управління ІТ-проектами та спрощення керування персоналом. Користувач має можливість створити свою організацію, додавати у неї робітників, створювати задачі та назначати ці задачі конкретним робітникам. Задачі можуть мати різноманітний характер, але, не зважаючи на це,  власник організації або звичайний робітник повинен мати можливість оповістити усіх робітників або частину про якусь новину, або привітати зі святом. Для цього було б зручно відправити e-mail листи робітникам, але не зручно створювати окремий лист для кожного робітника, це займає дуже багато часу, якщо потрібно оповістити велику кількість людей. Для полегшення цього процесу було вирішено створити модуль для генерації та масової розсилки e-mail листів. У прикладенні «Простий бізнес» є можливість створювати власні таблиці з будь якою інформацією, тому користувач може легко створити власний список отримувачів, котрим він хотів би відіслати листи. Створювання модулю значно полегшить роботу користувачів та заощадить час.

Для відправки листів вирішено використовувати окремий ресурс, котрий займається масовими розсилками. Використання окремого ресурсу полегшить розробку модулю, зменшить імовірність попадання листів у спам та полегшить збір статистики.


1 ПРОЕКТУВАННЯ ПМК ДЛЯ ГЕНЕРАЦІЇ ЕЛЕКТРОННИХ ПОВІДОМЛЕНЬ ПО КЕРУВАННЮ ІТ-ПРОЕКТАМИ

1.1 Аналіз процесу генерації електронних повідомлень по керуванню ІТ-проектами

1.1.1 Аналіз генерації електронних повідомлень

Електронна пошта – популярний сервіс в інтернеті, що робить можливим обмін даними будь-якого змісту (текстові документиаудіо-відео файлиархівипрограми).

Електронна пошта схожа на звичайну пошту. Звичайний лист складається із конверта, на якому зазначена адреса отримувача і стоять штампи поштових відділень шляху слідування, та вмісту – власне листа. Електронний лист складається із заголовків, які містять службову інформацію (про автора листа, отримувача, шлях проходження листа), які служать, умовно кажучи, конвертом, та власне вміст самого листа. За аналогією зі звичайним листом, відповідним методом можна внести в електронний лист інформацію якого-небудь іншого роду, наприклад, фотографію тощо. Як і у звичайному листі можна поставити свій підпис. Звичайний лист може не дійти до адресата або дійти з запізненням,  аналогічно і електронний лист. Звичайний лист доволі дешевий, а електронна пошта – найдешевший вид зв'язку.

Отже, електронна пошта повторює переваги (простоту, дешевизну, можливість пересилання нетекстової інформації, можливість підписати і зашифрувати лист) та недоліки (негарантований час пересилки, можливість доступу для третіх осіб під час пересилки, неінтерактивність) звичайної пошти. Проте у них є і суттєві відмінності. Вартість пересилки звичайної пошти у значній мірі залежить від того, куди вона повинна бути доставлена, її розміру та типу. У електронної пошти такої залежності або немає, або вона досить невідчутна. Електронний лист можна шифрувати та підписувати більш надійніше та зручніше, ніж лист на папері – для останнього, власне, взагалі не існує загальноприйнятих засобів шифровки. Швидкість доставки електронних листів набагато вища, ніж паперових, та мінімальний час проходження незрівнянно менший. Загалом в залежності від розміру листа та швидкості каналу зв'язку доставка електронного листа триває в середньому від кількох секунд до кількох хвилин. Щоправда, можуть бути затримки через збої в поштових серверах.

Функціонування електронної пошти побудовано на принципі клієнт-сервер, стандартному для більшості мережевих сервісів. Для обміну листами з поштовим сервером, потрібна спеціальна програма-клієнт. Існує багато різних програм-клієнтів електронної пошти, які можуть відрізнятися окремими функціями, можливостями та інтерфейсом, в тому числі й такі, що працюють на сервері. Проте загальні функції у більшості пакетів однакові. До них можна віднести:

– підготовка тексту;

– імпорт файлів-додатків;

– відправка листа;

– перегляд і збереження кореспонденції;

– знищення кореспонденції;

– підготовка відповіді;

– коментування і пересилка інформації;

– експорт файлів-додатків.

Проведений аналіз предметної області дозволяє виділити базові поняття та процеси, визначення яких наведені в таблиці 1.

Таблиця 1 – Глосарій бізнес-процесу генерації електронних повідомлень по керуванню ІТ-проектами

Термін

Визначення

Розсилка електронної пошти

засіб масової комунікації, групового спілкування і реклами. Полягає в автоматизованій розсилці повідомлень електронної пошти групі адресатів за заздалегідь складеним списком

Електронна пошта

популярний сервіс в інтернеті, що робить можливим обмін даними будь-якого змісту (текстові документи, аудіо-відео файли, архіви, програми)


Продовження таблиці 1

Термін

Визначення

Користувач

людина, що користується послугами обчислювальної техніки для отримання інформації чи розв`язку різноманітних задач

Клієнт

апаратний або програмний компонент обчислювальної системи, який надсилає запити серверу

Інтерфейс

сукупність засобів, методів і правил взаємодії (управління, контролю і т. д.) між елементами системи

Акаунт

сукупність наданої інформації про користувача, засобів та прав користувача відносно багатокористувацької системи

Спам

масова розсилка кореспонденції рекламного чи іншого характеру людям, які не висловили бажання її одержувати

Сервер

програма, що надає деякі послуги іншим програмам (клієнтам). Зв'язок між клієнтом і сервером зазвичай здійснюється за допомогою передачі повідомлень, часто через мережу, і використовує певний протокол для кодування запитів клієнта і відповідей сервера

Статистика

наука, яка вивчає методи кількісного охоплення і дослідження масових, зокрема суспільних, явищ і процесів

Інтерфейс

сукупність уніфікованих технічних і програмних засобів та правил (описів, угод, протоколів), що забезпечують взаємодію пристроїв і / або програм в обчислювальній системі або сполучення між системами, та з між системою та людиною

1.1.2 Аналіз існуючих програмних продуктів для генерації електронних повідомлень

На даний момент не існує такий програмний продукт, котрий можна було б легко поєднати з використанням програми для керування ІТ-проектами. Існують сервіси, що дозволяють створювати великі розсилки електронних повідомлень з можливістю створення власних списків отримувачів. Порівняємо кілька найпопулярніших сервісів для масової розсилки електронних повідомлень.

Сервіс streamsend.com є доволі зручним та популярним. До його переваг слід віднести те, що він має API функції для інтеграції можливість одночасної відправки повідомлень на різні списки контактів. Наявність API функції дає можливість розробки окремого модулю для інтеграції з даним сервісом. Для відправки 1000 повідомлень потрібно буде заплатити 1$, що є не дуже великою сумою. У сервісі присутня перевірка списку отримувачів, що застерігає користувача від відправки повідомлень на неіснуючі або неактивні адреса. Сервіс не надає можливості автоматичної активації шлюза, з котрого буде здійснюватись розсилка повідомлень. Сервіс надає можливість безкоштовної реєстрації та використання тріального періоду тривалістю в 1 місяць. На цей місяць дається 2000 повідомлень та можливість використання усіх можливостей. Після закінчення тріального періоду потрібно вносити гроші на рахунок, або використання сервісу стане неможливе. Інтерфейс є не дуже зручним, присутня багата кількість непотрібної інформації, а також людині з поганим знанням англійської мови буде доволі тяжко користуватися сервісом. Російська або українська мови інтерфейсу відсутні. Головна сторінка даного сервісу представлена на рисунку 1.

Ще одним популярним сервісом для створення масових розсилок повідомлень є unisender.ru. Він також має АРІ функції для інтеграції. Взагалі можливості приблизно співпадають з попереднім сервісом, але інтерфейс виглядає значно простіше та зручніше (рисунок 2). Вартість повідомлень змінюється в залежності від тарифного плану користувача. Тріальний період відсутній, замість цього користувачу не дають можливість відправляти

Рисунок 1 – головна сторінка сервісу streamsend.com

Рисунок 2 – інтерфейс сервісу unisender.com


більше 100 повідомлень за одну розсилку. Період безкоштовного використання сервісу не обмежений, тому можна завжди відправити невелику розсилку безкоштовно. Сервіс надає можливість відправки не лише e-mail повідомлень, а ще й sms повідомлень. Присутня доволі зручна звітність по розсилкам з докладною інформацію по доставці повідомлення кожному отримувачу. АРІ функції надають можливість повного керування сервісом, від створення списку контактів та тексту повідомлення до керування тарифами користувача.

1.2 Розробка математичної моделі ПМК для генерації електронних повідомлень по керуванню ІТ-проектами

Кількість отримувачів розсилки розраховується під час виділення потрібних записів у таблиці (формула 1).

де  – кількість виділених у таблиці записів.

Під час створення розсилки існують певні обмеження. Перш за все, кількість отримувачів повинна бути не менше 0 а також не більше допустимої (формула 2).

де  – допустима кількість отримувачів.

Допустима кількість отримувачів залежить від тарифного плану користувача.

При створенні тексту повідомлення користувач має можливість підставляти додаткові поля, в котрі будуть підставлятися індивідуальні дані по кожному отримувачу відповідно. Кількість цих полів не може бути більше 50 (формула 3).

Вартість розсилки залежить від кількості отримувачів та тарифного плану користувача та розраховується за формулою 4.

де  – тарифний план користувача (вартість одного повідомлення).

Для відправки розсилки її вартість не повинна перевищувати баланс користувача (формула 5).

де  – баланс користувача.

Кількість доставлених повідомлень розраховується за наступною формулою:

де  – кількість прочитаних повідомлень;

– кількість повідомлень помічених як спам;

– кількість повідомлень, з котрих було здійснено перехід;

– кількість повідомлень, власники шлюзів яких відписалися від подальшого отримання розсилки.

Кількість не доставлених повідомлень розраховується як різниця між загальною кількістю отримувачів та кількістю доставлених повідомлень (формула 7).


1.3 Розробка структурно-функціональної моделі модулю генерації електронних повідомлень по керуванню ІТ-проектами

Перш за все для використання модулю генерації електронних повідомлень потрібно пройти авторизацію. Авторизація проводиться автоматично, тому що модуль отримує персональні дані користувача безпосередньо з програми, тому користувачу не потрібного нічого робити. У разі, якщо користувач перший раз авторизувався у модулі, для його організації створюється персональний акант з певними параметрами. Це здійснюється також автоматично, тому користувач не бачить цієї операції та одразу потрапляє на сторінку перегляду статистики. Якщо до цього користувачем вже були створені розсилки, то вони будуть відображатися у таблиці з коротким описом по кожній. Якщо користувач є адміністратором, то він має можливість використовувати адміністраторську частину.

Якщо користувач бажає створити нову розсилку, то він переходить на крок вибору отримувачів. У модуль користувач потрапляє з певного проекту, тому на етапі вибору отримувачів користувачу надається можливість вибору отримувачів саме із даного проекту. Після вибору необхідних отримувачів користувач переходить на другий крок.

На другому кроці користувач створює безпосередньо повідомлення. Він вказує назву розсилки, тему та текст повідомлення. При створенні текста можна використовувати різноманітні стилі, підставляти шаблони, додавати картинки та багато іншого. Якщо користувач створив повідомлення, то він переходить на третій крок.

На третьому кроці користувач вказую останні необхідні дані для створення розсилки. Цими даними є шлюз, з котрого буде здійснюватися розсилка, та дата відправки розсилки. Користувач також має можливість відправити тестову розсилку. Для цього йому потрібно вказати будь який зручний для нього шлюз, на котрий він хоче отримати повідомлення, та натиснути кнопку «Тестова розсилка». Після цього на вказаний шлюз буде відправлено повідомлення, котре створював користувач. Відправлення тестового повідомлення є безкоштовною. У разі успішної відправки користувач отримає відповідне повідомлення. Якщо користувача  все влаштовує та він хоче створити розсилку, то йому потрібно погодитись з ліцензійними умовами модуля та натиснути кнопку «Створити розсилку». Після цього розраховується вартість розсилки та виводиться повідомлення для підтвердження користувачем. Якщо користувач погоджується, то з його рахунку знімається відповідна сума за створення розсилки. На цьому створення розсилки закінчується та користувач потрапляє та сторінку перегляду ретельної інформації розсилки. Відправка розсилки здійснюється автоматично у той момент, коли настає час відправки. Збір статистики також здійснюється автоматично.

На рисунку 3 представлена контекстна SADT-діаграма процесу генерації електронних повідомлень по управлінню ІТ-проектами.

Як бачимо з малюнку на вході маємо дані користувача, таблицю з даними по отримувачам, баланс користувача та тариф користувача.

Виконавцями процесу є «Система» та «Користувач».

Усі етапи створення розсилки регламентуються правилами авторизації, правилами створення акаунту, структурою таблиці, статусами повідомлень, структурою таблиці з отримувачами, структурою розсилки, структурою повідомлення, правилами тестової розсилки та правилами відправки.

На виході отримуємо створену розсилку.

У таблиці 2 приведений опис активності «Генерація електронних повідомлень по керуванню ІТ-проектами»

На рисунку 4 зображена структурно-функціональна діаграма 1-го рівня для бізнес-процесу «Генерація електронних повідомлень по керуванню ІТ-проектами».

В активності А1 (Авторизація) на вхід передаються дані по користувачу, за допомогою яких система і здійснює авторизацію користувача у системі. Дія регламентується правилами авторизації та на виході отримуємо дані авторизованого користувача.

В активності А2 (Реєстрація нового акаунту) на вхід подаються дані користувача для реєстрації. Ця активність виконується лише у разі, якщо користувач заходить вперше з даного проекту у модуль, та для проекту ще не був створений окремий акаунт. Активність виконується системою та регламентується правилами створення акаунту. На виході отримуємо дані по створеному акаунту.

Рисунок 2 – Контекстна діаграма бізнес-процессу «Генерація електронних повідомлень по управлінню ІТ-проектами»

 Таблица 2 – Опис активності А0 «Генерація електронних повідомлень по керуванню ІТ-проектами»

Найменування активності

Виконувач

Чим регламентується

Вхід

Вихід

А0

Генерація електронних повідомлень по керуванню ІТ-проектами

Система, користувач, адміністратор

Правила авторизації, правила створення акаунту, структура таблиці, статуси повідомлень, структура таблиці з отримувачами, структура розсилки, структура повідомлення, правила тестової розсилки, правила відправки, правила користування адмін. частиною

Таблиця з даними, дані користувача, баланс користувача, тариф користувача

Створена розсилка

Рисунок на А3


В активності А3 (Відображення статистики) на вхід подаються дані користувача, за допомогою яких система видає необхідні розсилки з відповідною інформацією. Все це регламентується структурою таблиці, в котрій виводяться розсилки користувача, та на виході отримуємо дані користувача.

В активності А4 (Збір статистики) на вхід подаються дані користувача, за допомогою яких система розуміє, для якої розсилки потрібно отримати статистику. Збір статистики регламентується статусами повідомлень а на виході ми отримуємо саме ці статуси.

В активності А5 (Вибір отримувачів) на вхід подаються загальні дані користувача, за допомогою яких визначається в якому проекті знаходився користувач та яку таблицю йому потрібно показати. Користувач обирає потрібних йому отримувачів, активність регламентується структурою таблиці з отримувачами, на виході отримуємо список отримувачів. Також користувач має можливість повернутися на сторінку перегляду статистики по усі розсилкам у разі, якщо  він передумав створювати нову розсилку.

В активності А6 (Створення повідомлення) на вхід подаються дані з попереднього кроку створення розсилки, тобто список отримувачів. На даному етапі користувач створює повідомлення регламентуючись структурою повідомлення, на виході отримуємо саме повідомлення. З даної активності користувач також має можливість повернутися до перегляду статистики по іншим розсилкам.

В активності А7 (Введення додаткових даних) на вхід подається повідомлення для розсилки. Користувач вводить останні необхідні дані для створення, а саме шлюз, з котрого буде здійснюватися розсилка, та дату відправки. На виході отримуємо повну розсилку.

В активності А8 (Відправка тестової розсилки) на вхід подається створена користувачем розсилка. Користувач виявляє бажання здійснити тестову розсилку, вказавши певний шлюз, та система відправляє створену ним розсилку на даний шлюз. Відправка розсилки регламентується правилами тестової розсилки. На виході отримуємо повідомлення про те, відправлена тестова розсилка чи ні.

В активності А9 (Збереження розсилки та зняття грошей) на вхід подається створена користувачем розсилка, баланс користувача та його тариф. В залежності від тарифу розраховується вартість розсилки та знімаються гроші з балансу користувача, звісно якщо він з цим згоден. Якщо вартість розсилки не влаштовує користувача, то він має можливість відмовитись від її створення та повернутися на перегляд статистики. У разі згоди на виході отримуємо створену.

В активності А10 (Відправка розсилки) на вхід подається створена розсилка, в якій міститься інформація про те, коли вона повинна бути відправлена. Відправка розсилки здійснюється системою за правилами відправки, на виході отримуємо відправлену розсилку.

В активності А11 (Керування модулем генерації повідомлень) на вхід подаються дані для входу в адміністраторську частину. Виконавцем активності є адміністратор, на виході отримуємо дані з адміністраторської частини.

В таблиці 3 представлено опис структурно-функціональної діаграми 1-го рівня для бізнес-процесу «Генерація електронних повідомлень по керуванню ІТ-проектами».

Таблиця 3 – опис структурно-функціональна діаграма 1-го рівня для бізнес-процесу «Генерація електронних повідомлень по керуванню ІТ-проектами».

Наймену-вання активності

Управління активністю

Входи

Виходи

Виконувач

При яких умовах починається

Чим регламентується

А1

Авториза-ція             

Потрібно авторизува-тися у модулі

Правила авторизації

Дані користува-ча

Дані користу-вача, дані користу-вача для реєстрації

Система

А2

Реєстрація нового акаунту

Потрібно створити новий акакунт

Правила створення акаунту

Дані користува-ча для реє-стації

Дані по акаунту

Система


Продовження таблиці 3

Наймену-вання активно-сті

Управління активністю

Входи

Виходи

Виконувач

При яких умовах починається

Чим регламентується

А3

Відобра-ження статисти-ки             

Потрібно показати статистику

Структура таблиці

Дані користува-ча

Дані користува-ча

Система

А4

Збір статисти-ки

Потрібно зібрати статистику

Статуси повідомлень

Даня користува-ча для збору статисти-ки

Статуси пові-домлень

Система

А5

Вибір отримува-чів

Потрібно обрати отримува-чів розсилки

Структура таблиці з отримува-чами

Дані користува-ча

Список отримува-чів

Користувач

А6

Створен-ня повідо-млення

Потрібно створити повідомлен-ня

Структура повідомлен-ня

Список отримува-чів

Повідо-млення

Користувач

А7

Вказання додатко-вих даних

Потрібно вказати останні дані

Структура розсилки

Повідо-млення

Розсилка

Користувач

А8

Відправка тестової розсилки

Потрібно відправити тестову розсилку

Правила тестової розсилки

Розсилка

Повідо-млення про відправку

Користувач, система

А9

Збережен-ня та зняття грошей

Потрібно зняти гроші з рахунку та зберегти розсилку

Структура розсилки, вартість

Розсилка, тариф, баланс

Створена розсилка

Система

А10

Відправка розсилки

Потрібно відправити розсилку

Правила відправки

Створена розсилка

Відправле-на розсилка

Система

А11

Керуван-ня модулем генерації повідомл.

Потрібні адміністра-торські можливості

Правила користуван-ня адмін. частиною

Дані для входу в адмін. Частину

Дані з адмін. частини

Адміністра-тор

На рисунку 5 зображена деталізуча SADT-діаграма 2-го рівня для підпроцесу «Відправка розсилки».

В активності А10.1 (Створювання списку отримувачів для відправки) на вході подається створена розсилка, котра містить у собі повну інформацію, включаючи список отримувачів та текст повідомлення. Система посилає запит на створення списку отримувачів для відправки розсилка використовуючи правила створення списку отримувачів. На виході отримуємо список отримувачів. Даний список є пустим, тому що в нього не були ще додані отримувачі. Тому переходимо до наступної активності.

В активності А10.2 (Заповнення списку отримувачів для відправки) на вході маємо список отримувачів, у який система і додає записи регламентуючись правилами заповнення списку отримувачів. На виході отримуємо заповнений список отримувачів. Для того, щоб здійснити розсилку за даним списком, усіх отримувачів потрібно активувати, інакше не можна буде відіслати повідомлення неактивованим отримувачам.

В активності А10.3 (Активація отримувачів для відправки) на вході маємо заповнений список отримувачів, котрих система і активує за правилами активації отримувачів. На виході маємо активованих отримувачів, котрим можна відправляти розсилку.

В активності А10.4 (Створення повідомлення для відправлення) на вхід подаються активовані отримувачі. Система створює повідомлення за відповідними правилами створення повідомлень та на вихід подається створене повідомлення.

В активності А10.5 (Створення розсилки для відправки) на вхід подається створене повідомлення та система створює розсилку регламентуючись правилам створення розсилки. На виході отримуємо відправлену розсилку.

У таблиці 4 представлений опис  деталізуючої SADT-діаграми 2-го рівня для підпроцесу «Відправка розсилки».



Рисунок 5 – Деталізуча SADT-діаграма 2-го рівня для підпроцесу «Відправка розсилки»


Таблиця 4 – Опис  деталізуючої SADT-діаграми 2-го рівня для підпроцесу «Відправка розсилки»

Наймену-вання активно-сті

Управління активністю

Входи

Виходи

Виконувач

При яких умовах починається

Чим регламенту-ється

А10.1

Створен-ня списку отриму-вачів             

Потрібно створити список отримува-чів

Правила створення списку отримувачів

Створена розсилка

Список отримува-чів

Система

А10.2

Заповнен-ня списку отримува-чів для відправки

Потрібно заповнити список отримувачів

Правила заповнення списку отримувачів

Список отримува-чів

Заповне-ний список отримува-чів

Система

А10.3

Активація отримува-чів для відправки

Потрібно активувати отримува-чів

Правила активації отримувачів

Заповне-ний список отримува-чів

Активова-ні отримува-чі

Система

А10.4

Створен-ня повідо-млення для відправки

Потрібно створити повідомлен-ня

Правила створення повідо-млення

Активова-ні отримува-чі

Повідо-млення

Система

А10.5

Створен-ня розсилки для відправки

Потрібно створити розсилку

Правила створення розсилки

Повідо-млення

Відправле-на розсилка

Система


1.4 Обгрунтування вибору засобів розробки

Останнім часом широкого поширення набула розробка додатків за допомогою фреймворків. У них вже реалізовані багато функцій, що значно зменшує час розробки. Найбільш популярні фреймворки це Yii, Codeigniter, ZendFramework.

Yii - це високоефективний заснований на компонентної структурі PHP-фреймворк для розробки масштабних веб-додатків. Він дозволяє максимально застосувати концепцію повторного використання коду і може істотно прискорити процес веб-розробки. Назва Yii (вимовляється як Yee або [ji:]) означає простий (easy), ефективний (efficient) і розширюваний (extensible).

Yii володіє наступними можливостями:

– Висока продуктивність щодо інших фреймворків написаних на PHP;

– Парадигма Модель-вигляд-контролер;

– Інтерфейси DAO і ActiveRecord для роботи з базами даних (PDO);

– Підтримка інтернаціоналізації;

– Кешування сторінок та окремих фрагментів;

– Перехоплення та обробка помилок;

– Введення та валідація форм (англ.) рос.;

– Аутентифікація та авторизація;

– Використання AJAX і інтеграція з jQuery;

– Генерація базового PHP-коду для CRUD-операцій (скаффолдінг);

– Підтримка тем оформлення для їх легкої зміни;

– Можливість підключення сторонніх бібліотек;

– Міграції бази даних;

– Автоматичне тестування;

– Підтримка REST.

CodeIgniter – популярний MVC фреймворк з відкритим вихідним кодом, написаний на мові програмування PHP, для розробки повноцінних веб-систем та програм. Розроблено компанією EllisLab, а також Ріком Еллісом (Rick Ellis) і Полом Бурдик (Paul Burdick).

CodeIgniter відрізняє простота, яка досягається завдяки наступним факторам:

– якісна і повна документація з прикладами, а також велика спільнота і Wiki;

– безліч відео уроків, які можна знайти як на офіційному сайті, так і на сторонніх ресурсах;

– фреймворк дає свободу програмісту, не створюючи будь-яких структурних обмежень і конвенцій;

– програмісту не потрібно вчитися користуватися генераторами коду з командного рядка.

CodeIgniter вважається одним з найшвидших і не вимогливих до ресурсів фреймворків.

Малий розмір дистрибутива (розмір версії 2.1.1 складає всього 2.2 Мб).

Фреймворк дозволяє відмовитися від моделей (незважаючи на те, що це не вітається і не є доброю практикою).

Документація CodeIgniter пропагує «товсті» контролери та «тонкі» моделі. Валідація і побудова бізнес-логіки відбуваються в основному в контролері. Незважаючи на це, фреймворк дає свободу розробнику, тому він може самостійно вибрати підхід до розробки програми.

Zend Framework - це вільний каркас на PHP для розробки веб-додатків і веб-сервісів .

Zend намагається слідувати духу PHP, надає прості інтерфейси і потужну функціональність для розробки додатків. Він надає розширення для побудови сучасних, швидких і безпечних сайтів.

Грунтується на ідеях MVC. Розробляється компанією Zend.

Крім MVC-компонентів Zend Framework містить безліч бібліотек, корисних для побудови програми. Також є компоненти для інтеграції зі сторонніми сервісами - наприклад, YouTube, del.icio.us і багатьма іншими. Починаючи з версії 1.6 поставляється з JavaScript фреймворком Dojo, а також включає в себе компоненти для роботи з ним.

Проведено порівняння найпопулярніших фреймворків. Дане порівняня приведено у таблиці  5. За швидкістю роботи і можливостям оптимальним є фреймворк Yii, який і обраний для розробки.


Таблиця 5 – Порівняння фреймворків

Zend framework

Code igniter 2

Kohana 3

Yii 1.1

Опис

Академічно грамотний код, гінкий, вимагає гарного знання PHP та ООП. Знадобиться трошки доводити під себе перед тим, як використовувати.

Майже мікрофреймворк. Дуже легкий для вивчення. Відмінна документація. Гнучкий. Легко використовувати сторонній код.

Швидкий, гнучкий. Свій підхід до модульності. Скудна документація.

Легкий у вивченні, зібрав у собі найкраще від Rails, хороша система view, генератори коду, доволі тісна інтеграція.

Необхідний рівень знань

PHP5, ООП, шаблони проектування

PHP, основи ООП.

PHP5, ООП

PHP5, ООП

Проекти

Середні – великі

Маленькі – великі

Маленькі – великі

Маленькі – великі

PHP 5.2

Так

Так

Так

так

Жорстка структура каталогів

Ні

Так

Так

Ні

Офіційна підтримка інтернаціоналізації

Так

Так

Так

Так

Важкість установки та налаштування

Висока

Низька

низька

середня

Вимагає налаштування

Багато

Небагато

Небагато

Небагато

Документація та приклади

Добра

Відмінна

Погана

відмінна

Unit-тести для ісходного коду фреймворку

Так

Ні

Ні

Так

Англомовне суспільство

Так

Форум, Wiki, туторіали, блоги

Форум, блоги

Так

Російськомовне суспільство

так

Документація, форум, блоги

Ні

Документація, форум, блоги

1.5.2 Основа для розробки

Розробка модулю для генерації електронних повідомлень ведеться на основі завдання на дипломний проект.

Тема проекту: розробка ПМК для генерації електронних повідомлень по керуванню ІТ-проектами.

1.5.3 Призначення розробки

ПМК для генерації електронних повідомлень призначений для полегшення керування ІТ-проектами. Він дозволяє швидко та зручно створювати розсилку повідомлень на велику кількість отримувачів по конкретному проекту. Програмний продукт дозволяє використовувати дані з програми по управлінню ІТ-проектами, збирати статистику по розсилкам та переглядати або планувати розсилки повідомлень.

1.5.4 Вимоги до прикладення

1.5.4.1 Вимоги до функціональних характеристик

ПМК повинен мати наступний функціональний склад:

– автоматична авторизація користувачів;

– автоматичне створення нових акаунтів;

– перегляд усіх розсилок, створених користувачем;

– перегляд більш детальної інформації про певну розсилку;

– створення розсилки;

– видалення створеної розсилки;

– використання таблиці з відповідного проекту;

– відправка тестової розсилки;

– планування відправки розсилки на певний час;

– підрахунок вартості розсилки;

– збір статистики.

1.5.4.2 Вимоги до надійності ПМК

Програмний комплекс повинен стійко функціонувати і не призводити до збоїв операційної системи. У разі виникнення збою повинні видаватися повідомлення із зазначенням подальших дій. Щоб уникнути виникнення помилок необхідно створити керівництво по експлуатації ПМК. ПМК повинен забезпечувати обробку виняткових ситуацій, викликаних помилковими діями користувача, і видавати відповідні повідомлення.

1.5.4.3 Умови експлуатації

Умови експлуатації обираються у відповідності до умов експлуатації жорстоких дисків, на котрих буде зберігатися інформація. Діапазон робочих температур апаратної частини від -30ºС до 55ºС. Висота над рівнем моря від -300 метрів до 5000 метрів. Допустимі вібраційні навантаження у робочому стані до 2,0 G. Відносна вологість від 10% до 85%. У разі збоїв у роботі програмного забезпечення необхідно звернутися до розробника з метою заміни або виправлення недоліків та усунення збоїв. У разі поломки апаратна частина відноситься на ремонт у сервісний центр.

1.5.4.4 Вимоги до складу та параметрам технічних засобів

Вимоги до параметрів технічних засобів:

  1.  процесор з частотою 1GHz і вище;

– ОЗУ 256 Mb і вище;

– графічний адаптер SVGA 256 Mb;

– SVGA монітор 15” і більше;


1.5.4.5 Вимоги до інформаційної та функціональної сумісності

Інформаційна автоматизована система може працювати під управлінням сімейства операційних систем Win32 (Windows 2000, Windows XP, Windows 7 і т.д.), Linux та ін.

При розробці програмного продукту використовуються:

– мова програмування – php;

– середа розробки – NetBeans IDE;

– фреймворк YII.

1.5.5 Стадії та етапи розробки

У таблиці 6 показані стадії розробки і зміст робіт.

Таблиця 6 – Стадії розробки

Етап/Строки виконання

Зміст робіт

1

Технічне завдання

12.01.2013

Аналіз і формалізація вимог до проекту програмно-методичного комплексу автоматизації генерації електронних повідомлень по керуванню ІТ-проектами

2

Ескізний проект

01.02.2013

Попередня розробка проекта

3

Технічний

проект

10.04.2013

Реалізація робочої версії проекта ПМК автоматизації генерації електронних повідомлень по керуванню ІТ-проектами

4

Робочий проект

01.05.2013

Коригування та доопрацювання програмного забезпечення.

5

Впровадження

15.05.2013

Розробка заходів щодо впровадження та супроводу ПМК автоматизації генерації електронних повідомлень по керуванню ІТ-проектами

1.6 Розробка модулю генерації електронних повідомлень по управлінню ІТ-проектами

1.6.1 Розробка логічної моделі модулю генерації електронних повідомлень по управлінню ІТ-проектами

Діаграма класів служить для представлення статичної структури моделі системи в термінології класів об'єктно-орієнтованого програмування[10]. На даній діаграмі не вказується інформація про тимчасові аспекти функціонування системи. З цієї точки зору діаграма класів є подальшим розвитком концептуальної моделі проектованої системи. В розроблюваному модулі керування розсилками буде здійснювати користувач. Розсилка включає у себе список отримувачів повідомлень та саме повідомлення. Для спрощення створення повідомлення може використовуватися шаблон.

Для розробки безпосередньо прикладення потрібно виділити класи, котрі будуть необхідні для повноцінного функціонування модуля. Дані класи будуть забезпечувати весь функціонал та відповідати за збереження та обробітку усіх необхідних для користувача даних.

В таблиці 7 розглянуто опис класів ПМК автоматизації генерації електронних повідомлень по керуванню ІТ-проектами.

Таблиця 7Опис класів ПМК автоматизації генерації електронних повідомлень по керуванню ІТ-проектами

Назва класу

Опис класу

User

Представляє користувачів системи

Mailer

Представляє розсилку, котра містить листи для отримувачів, керується користувачем

Recievers

Список отримувачів розсилки

Message

Повідомлення для користувача

Template

Шаблон для повідомлення

Data processor

Здійснює обробку даних користувача

Data validator

Необхіден для валідації даних

Data parcer

Дозволяє провести розділення та структурування даних у системі

Error handler

Здійснює обробку помилок

Рисунок 5 – Діаграма класів проекту автоматизації генерації електронних повідомлень по керуванню ІТ-проектами

Клас «User» є базовим класом, завдяки якому здійснюються усі операції у системі. Користувач займається створенням розсилки листів, тому виділяємо клас «Mailer», котрий буде відповідати за розсилки. Розсилка містить у собі список отримувачів та саме повідомлення, тому виділяємо відповідні класи. Повідомлення може включати в себе певний шаблон, тому виділяємо клас «Template», котрий буде відповідати за шаблони повідомлень.

Для створення розсилки користувачем потрібно виділити клас «Data processor», котрий буде відповідати за обробку даних. Для обробки даних необхідно проводити їх валідацію та потрібно парсити їх, тому виділяємо відповідно класи «Data validator» та «Data parcer». Виділяємо відповідні класи. Також для обробки помилок у системі виділяємо клас «Error handler».

Розглянемо послідовність взаємодії об’єктів розробленої системи на прикладі використання функції «Створити розсилку()». Ці дії направлені на отримання проаналізованих даних з вхідних даних. У процесі входи структуруються, обробляються, перевіряються та на виході ми отримуємо потрібні нам дані.

Користувач виявляє бажання створити нову розсилку. Він потрапляє на перший крок створення розсилки, на котрому потрібно створити список отримувачів повідомлень. Наступним шагом є створення самого повідомлення.

Повертається повідомлення розсилки та проводиться перевірка усіх даних. Для створення розсилки потрібно вказувати шлюз, з якого буде здійснюватися відправка, та дата відправки.

У разі вірності усіх даних розсилка створюється та користувачу надається звіт з проведення розсилки. У ньому вказана статистика по кожному отримувачу, а також загальна кількість доставлених повідомлень. Також користувач має можливість переглянути інші параметри розсилки та відредагувати деякі частини.

На рисунку 6 представлена діаграма послідовності дій для виклику функції «Створення розсилки» проекту програмно-методичного комплексу для генерації електронних повідомлень по керуванню ІТ-проектами.



:Користувач

:Розсилка

:Список отримувачів

:Повідомлення

:Шаблон

Створити розсилку()

Створити список отримувачів ()

Список отримувачів

Звіт з проведення розсилки

Створити повідомлення()

Повідомлення

шаблон

Обрати шаблон()

Рисунок 6  – Діаграма послідовності дій для виклику функції «Створення розсилки»

1.6.2 Розробка фізичної моделі ПМК для генерації електронних повідомлень по керуванню ІТ-проектами

Розробка діаграми станів починається з визначення початкового стану системи. Початковим станом системи є Очікування. Кожного разу при надходженні нових інструкцій про необхідність створення нової розсилки ми переходимо до стану Вибір отримувачів. Умовою переходу у даний стан є наявність вхідних даних, які будуть оброблені на цьому стані. Після вибору отримувачів ми переходимо до стану Створення повідомлення. Умовою переходу є Текст повідомлення, після цього стану здійснюється перехід до стану Вибір додаткових параметрів. На даному стані обирається шлюз відправника та дата відправки розсилки. Якщо усі операції на попередніх станах були виконані вірно, то ми переходимо до останнього стану Формування відображення та звіту (рисунок 7).В таблиці 8 показано переходи станів ПМК автоматизації генерації електронних повідомлень по керуванню ІТ-проектами.

Таблиця 8Таблиця переходів станів проекту ПМК автоматизації генерації електронних повідомлень по керуванню ІТ-проектами

Поточний стан

Умова

Дія

Наступний стан

Початковий стан

Активується кожного разу

Очікування

Очікування

Виклик функції створення розсилки

Вибрати отримувачів

Вибір отримувачів

Вибір отримувачів

Список отримувачів

Створити повідомлення

Створення повідомлення

Створення повідомлення

Текст повідомлення

Обрати дату відправки та шлюз

Вибір додаткових параметрів

Вибір додаткових параметрів

Дані розсилки

Сформувати звіт за результатами створення

Формування відображення та звіту

Формування відображення та звіту

Форма з статистикою розсилки

Завершити створення

Очікування

Рисунок 7Діаграма станів ПМК автоматизації генерації електронних повідомлень по керуванню ІТ-проектами

Для визначення функціональних вимог до програмного комплексу використовуємо діаграму прецедентів, що описує предметну область[8]. Виділимо основні прецеденти для ПП, що призначений для організації модулю розсилок e-mail розсилок та представимо їх на діаграмі прецедентів (рисунок 3). Для даної системи можна виділили дві ролі – «Адміністратор» та «Користувач».  

Опис прецеденту «Додати шаблон» представлено у таблиці 9. Опис прецеденту «Створити розсилку» представлено у таблиці 10.

Таблиця 9 – Опис прецеденту «Додати шаблон»

Опис прецеденту «Додати шаблон»

Основний виконавець – Адміністратор

Передумови:

  1.  Адміністратор повинен перейти в адміністраторську частину

Вхідні дані:

  1.  дані адміністратора

Основний успішний сценарій:

  1.  обрано створення шаблону;
  2.  заповнені назва та текст шаблону;
  3.  створен шаблон.

Частота виконання:

  1.  За запитом.

Постумови :

  1.  Адміністратор має створену розсилку

Вихідні дані:

  1.  Створений шаблон


Таблиця 10 – Опис прецеденту «Створити розсилку»

Опис прецеденту «Створити розсилку»

Основний виконавець – Користувач

Передумови:

  1.  Користувач повинен авторизуватися в системі

Вхідні дані:

  1.  дані користувача.

Основний успішний сценарій:

  1.  обрано створення розсилки;
  2.  пройдені усі шаги створення розсилки;

Частота виконання:

  1.  За запитом.

Постумови :

  1.  Користувач має створену розсилку

Вихідні дані:

  1.  Створена розсилка

Роль «Користувач» представляє собою функціонал звичайного користувача, котрий потрапляє у модуль та має бажання створити масову розсилку повідомлень. Для цього йому потрібно створити ці повідомлення, тобто він має можливість «Керувати розсилками». У поняття «Керувати розсилками» входить можливість «Створити розсилку», тобто створити нову розсилку на основі отриманих даних, «Редагувати розсилку», тобто відредагувати створену раніше розсилку, «Видалили розсилку» або «Переглянути розсилку», тобто переглянути усі дані по створеній розсилці, збір статистики і так далі.

Адміністраторський функціонал представляє більш широкий круг можливостей. Перш за все, адміністратор має можливість керувати користувачами. Тобто у адміністратора є можливість зробити будь якого користувача також адміністратором. Керуючи користувачами можемо виділити наступні прецеденти: «Додати адміністратора» або «Видалити адміністратора».

Під час перегляду усі розсилок адміністраторська особливість полягає у тому, що він бачить розсилки усіх користувачів, і може переглянути будь яку. Також адміністратор має можливість керувати шаблонами. Шаблони

Адміністратор

Керувати

розсилками

користувачів

Видалити розсилку

Редагувати розсилку

Додати розсилку

Модуль масової розсилки email листів

include

include

include

Керувати

користувачами

Додати адміністратора

include

Керувати

шаблонами

Додати шаблон

Видалити шаблон

Редагувати шаблон

include

include

include

Користувач

Керувати

розсилками

Створити розсилку

Редагувати розсилку

Видалити розсилку

Переглянути розсилку

include

include

include

include

Видалити адміністратора

include

Рисунок 7 – Діаграма прецедентів проекту ПМК автоматизації генерації електронних повідомлень по керуванню ІТ-проектами використовуються під час створення тексту повідомлення і дуже спрощують цей процес. Адміністратор має можливість додати будь який шаблон, котрий потім буде відображатися у звичайних користувачів. Також адміністратор має можливість відредагувати вже існуючий шаблон або видалити його взагалі.

1.6.3 Види забезпечення функціонування ПМК для генерації електронних повідомлень по управлінню ІТ-проектами

Модель "сутність-зв'язок" (ER-модель) – модель даних, яка дозволяє описувати концептуальні схеми за допомогою узагальнених конструкцій блоків. ER-модель – це мета-модель даних, тобто засіб опису моделей даних (рисунок 8).

Рисунок 8 – ER-діаграма проекту проекту ПМК автоматизації генерації електронних повідомлень по керуванню ІТ-проектами

На основі ER-діаграми отримуємо схему бази даних (рисунок 10). Таблиця mailer містить усю інформацію про розсилку. Таблиця mail_view містить інформацію о переглянутих повідомленнях. Таблиця email містить шлюзи, з яких здійснюється відправка повідомлень, таблиця template містить шаблони[9].

Рисунок 10 – Схема бази даних проекту ПМК генерації електронних повідомлень по керуванню ІТ-проектами

Далі наведені структури таблиць бази даних. Дані структури визначають формат зберігання даних в базі даних, і використовуються для створення фізичних таблиць бази даних. Таблиця  mailer містить усю інформацію про розсилку, вона є основною і має зв'язок з іншими таблицями у базі даних. Таблиця template містить інформацію про шаблони, таблиця admin містить адміністраторів системи. Таблиця mail_view потрібна для запису отримувачів, котрі переглянули отриманий лист.  Короткий опис таблиць, показаних на ER-діаграмі, представлено в таблицях 16-21.

Таблиця 16 – Структура таблиці admin

Поле

Тип

Додатково

Примітки

id

int

Primary key

Ідентифікатор адміністратора

company

varchar (128)

Назва організації

group

varchar (128)

Специалізація адміну

fio

varchar (128)

ПІБ

Таблиця 17 – Структура таблиці email

Поле

Тип

Додатково

Примітки

id

int

Primary key

Ідентифікатор email

login

varchar (128)

Логін

password

varchar (128)

Пароль

active

varchar (128)

Статус активації

Таблиця 18 – Структура таблиці mail_view

Поле

Тип

Додатково

Примітки

id

int

Primary key

Ідентифікатор отримувача

mailer_id

varchar (128)

Foreign_key

Ідентифікатор розсилки

email

varchar (128)

Email відправника

status

varchar (128)

Статус шлюзу

Таблиця 19 – Структура таблиці mailer

Поле

Тип

Додатково

Примітки

id

varchar (24)

Primary key

Ідентифікатор розсилки

name

varchar (128)

Назва

subject

varchar (50)

Тема розсилки

sender

int

Foreign_key

ІД відправника

sender_fio

varchar (128)

ФІО відправника

text

varchar (128)

Текст розсилки

mail_date

datetime

Дата розсилки

task

int(11)

Задача

task_name

varchar (128)

Назва задачі

orgId

int(11)

Foreign_key

ІД організаціх

email_id

int(11)

Foreign key

ІД шлюза відправки

status

int(11)

Статус розсилки

status_full

varchar (128)

Статус зі статистикою

email_field

varchar (128)

Поле з email-ом

campaign_id

varchar (128)

ІД розсилки з Юнісендера

emails

longtext

Отримувачі

data

longtext

Додаткові дані

type

varchar (128)

Тип розсилки

Таблиця 20 – Структура таблиці mail_view

Поле

Тип

Додатково

Примітки

id

int

Primary key

Ідентифікатор отримувача

mailer_id

varchar (128)

Foreign_key

Ідентифікатор розсилки

email

varchar (128)

Email відправника

status

varchar (128)

Статус шлюзу

Таблиця 21 – Структура таблиці template

Поле

Тип

Додатково

Примітки

id

int

Primary key

Ідентифікатор шаблона

name

varchar (128)

Назва шаблону

edit_date

datetime

Дата редагування

editor

varchar (128)

Редагувач шаблону

text

longtext

Текст шаблону


2 СПЕЦІАЛЬНА ЧАСТИНА. РОЗРОБКА ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ ДЛЯ ОБРОБКИ ДАНИХ І ФОРМУВАННЯ ЗВІТНОСТІ ПРО РЕАЛІЗАЦІЮ БІЗНЕС-ПРОЦЕСУ ДІЯЛЬНОСТІ

2.1 Структура та функціональне призначення окремих модулів ПМК для генерації електронних повідомлень по управлінню ІТ-проектами

ПМК для генерації електронних повідомлень по управлінню ІТ-проектами складається з наступних модулів:

– керування розсилками;

– відправки повідомлень та збір статистики;

– керування шаблонами;

– керування адміністраторами;

– керування отримувачами.

Ці модулі виконують дії у відповідь на запит користувача, адміністратора або самої системи. Запити можуть стосуватися створення, відображення, редагування або видалення розсилки, відправки повідомлень, отримання статистики по відправленим повідомленням, додавання або видалення адміністраторів та керування записами з отримувачами. У таблиці 22 представлений опис основних функціональних модулів ПМК для генерації електронних повідомлень по керуванню ІТ-проектами.

Таблиця 22 – Функціональні модулі ПМК для генерації електронних повідомлень по керуванню ІТ-проектами

Модулі

Опис

Керування розсилками

Основний модуль, відповідає за створення, перегляд, видалення та редагування розсилок, отримання даних по користувачам з сервера та ін.

Відправка повідомлень та збір статистики

Модуль відповідає безпосередньо за відправку розсилки після того, як настав час відправки, а саме за створення списку розсилки, заповнення цього списку отримувачами та створення самого листа.

Продовження таблиці 22

Модулі

Опис

Керування шаблонами

Необхідний для керування шаблонами в ПМК.

Керування адміністраторами

Дає можливість додавати або видаляти адміністраторів у прикладенні.

Керування отримувачами

Відповідає за зберігання отримувачів розсилок та зберігання статистки по цим отримувачам в залежності від кожної розсилки.

Функції, які виконують модулі ПМК для генерації електронних повідомлень по керуванню ІТ-проектами, наведено у таблиці 23.

Таблиця 23 – Функції модулів ПМК для генерації електронних повідомлень по керуванню ІТ-проектами

Модулі

Функції

Керування розсилками

– Перегляд списку розсилок;

– додавання нової розсилки;

– редагування розсилки;

– повторна відправка розсилки;

– отримання даних з таблиці проекту;

– завантаження додаткових даних для створення повідомлення;

– отримання тарифного плану;

– зняття грошей з балансу користувача;

– отримання доступних шлюзів користувача;

– видалення розсилки;

– створення та відправка тестової розсилки;

– створення нового акаунту для організації;

– активація шлюза користувача;

Продовження таблиці 23

Модулі

Функції

Відправка повідомлень та збір статистики

– Створення списку розсилки для активації отримувачів;

– отримання даних для авторизації по акаунту організації;

– створення основного списку розсилки;

– заповнення списку розсилки записами;

– активація отримувачів;

– створення повідомлення;

– додавання додаткових даних по отримувачам;

– відправка розсилки;

– отримання статистики по розсилкам;

– зміна статусів отримувачів;

– перегляд розсилки.

Керування шаблонами

– Додавання шаблону;

– редагування шаблону;

– перегляд шаблону;

– видалення шалону;

– зберігання інформації по редагуванню;

– підстановка шаблона у повідомлення.

Керування адміністраторами

– Додавання адміністратора;

– перегляд інформації про адміністратора;

– видалення адміністратора

Керування отримувачами

– Додавання нового отримувача;

– переміщення отримувача в залежності від його статусу;

– перегляд отримувача;

– видалення отримувача.

2.2 Результати поглибленої розробки окремих модулів ПМК для генерації електронних повідомлень по керуванню ІТ-проектами.

Усі модулі мають функції додавання нового запису, редагування, перегляду та видалення. Розглянемо ці операції на прикладі модулю керування адміністраторами.

Створення нового запису здійснюється за допомогою функції actionCreate(). Код функції представлено на рисунку 11. В даному прикладі створюється пуста модель, заповнюється атрибутами із запиту та зберігається у разі, якщо запис з таким id ще не існує, після чого користувач перенаправляється на сторінку перегляду.

public function actionCreate()

   {

       $model = new Admin;

       // Uncomment the following line if AJAX validation is needed

       // $this->performAjaxValidation($model);

       if (isset($_POST['Admin']))

       {

           $model->attributes = $_POST['Admin'];

           if(Admin::model()->findByPk($model->id) == NULL)

           {

               if ($model->save())

                   $this->redirect(array('view', 'id' => $model->id));

               }

           else

           {

               throw new CHttpException(400, 'Администратор с таким ID уже существует!');

           }

       }

       $this->render('create', array(

           'model' => $model,

       ));

   }

Рисунок 11 – Додавання нового запису

Редагування запису здійснюється майже так само, як і створення. Функція редагування відрізняється тим, що не потрібно створювати нову модель, а завантажується вже існуюча. Також не потрібна перевірка на існування запису. Код даної функції представлено на рисунку 12.

public function actionUpdate($id)

   {

       $model = $this->loadModel($id);

       // Uncomment the following line if AJAX validation is needed

       // $this->performAjaxValidation($model);

       if (isset($_POST['Admin']))

       {

           $model->attributes = $_POST['Admin'];

           if ($model->save())

               $this->redirect(array('view', 'id' => $model->id));

       }

       $this->render('update', array(

           'model' => $model,

       ));

   }

Рисунок 12 – Редагування запису

На першому кроці створення розсилки користувач обирає отримувачів із таблиці, котра автоматично завантажується з проекту. Це здійснюється за допомогою функції getData (Рисунок 13), у котрій відсилається запит на сервер з логином та паролем користувача а також id таблиці, після чого у результаті повертається потрібна таблиця.

Таким же чином і отримуються шлюзи користувача, котрі необхідні на етапі активації шлюзів а також на етапі вибору шлюзу відправки. Шлюзи користувача отримуються за допомогою функції getEmails. Код функції представлено на рисунку 14.


public function getData($login, $password, $tableId, $count = 0, $offset = 0, $url = NULL)

   {

       $query = array(

           'login' => $login,

           'password' => $password,

           'tableId' => $tableId,

           'request' => 'getData',

//            'count' => $count,

           'offset' => $offset

       );

       

       $query = json_encode($query);

       $result = $this->sendRequest($query, $url);

       return json_decode($result);

   }

Рисунок 13 – Функція getData

public function getEmails($login, $password, $url = NULL)

   {

       $query = array(

           'login' => $login,

           'password' => $password,

           'request' => 'getEmails'

       );

       

       $query = json_encode($query);

       $result = $this->sendRequest($query, $url);

       

       return json_decode($result);

   }

Рисунок 14 – Функція getEmails

Користувач має можливість відправляти тестову розсилку на вказаний ним шлюз. Це здійснюється за допомогою функції actiontestSend (Рисунок 15).  Спочатку створюється розсилка з типом «Тестовая». Від звичайної розсилки вона відрізняється типом і тим, що створюється безкоштовно. Після створення одразу ж викликаються методи для її відправки.

public function actionTestSend()

   {

       $structure = Yii::app()->session['tableStruct'];

       $data = array();

       $text = Yii::app()->session['text'];

       $i = 0;

       $mailerId = rand();

       $name = Yii::app()->session['name'];

       $subject = Yii::app()->session['subject'];

       $date = '2012-09-01 00:00';

       $login = $_POST['myEmail'];

       $emails = $_POST['emails'];

       $i = 0;

//створення розсилки

       $model = new Mailer;

       $mailModel = new MailView();

       foreach ($emails as $email)

       {

           $send[$i] = $email;

           $mailModel->email = $email;

           $i++;

       }

       $emailModel = Email::model()->find('login = :email', array(':email' => $login));

       $model->orgId = Yii::app()->session['orgId'];

       $model->mail_date = date("Y-m-d H:i");

       $model->user_login = Yii::app()->user->name;

       $model->user_password = Yii::app()->session['password'];

       $model->sender = Yii::app()->user->id;

       $model->name = Yii::app()->session['name'];

       $model->subject = Yii::app()->session['subject'];

       $model->template_id = Yii::app()->session['template'];

       $model->text = $text;

       $model->sender_fio = Yii::app()->session['surname'] . ' ' . Yii::app()->session['realname'];

//        $model->attributes = $_POST['Mailer'];

       $model->email_id = $emailModel->id;

       $model->email = $emailModel->login;

       $model->task = Yii::app()->session['tableId'];

Рисунок 15 – Відправка тестової розсилки

       $model->task_name = Yii::app()->session['taskName'];

       $model->status = 3;

       $model->status_name = 'выполнена';

       $model->email_field = Yii::app()->session['emailCol'];

       $model->type = 'тестовая';

       $model->emails = serialize($send);

       $model->save();

//розсилка створена,  здійснюємо відправку

       $account = Account::model()->findByPk(Yii::app()->session['orgId']);

       $api_key = $account->api_key;

       $listId = $this->actionCreateList($api_key, $model->id);

       $this->actionImportContacts($api_key, $listId, $emails, $data);

       $this->actionActivateContacts($api_key, $listId);

       $messageId = $this->actionCreateEmailMessage($api_key, $listId, $name, $login, $subject, $text);

       $model->campaign_id = $this->actionCreateCampaign($api_key, $messageId, $date, $model->id);

       $model->save();

       $mailModel->mailer_id = $model->id;

       $mailModel->status = 'Не отправлено';

       $mailModel->save();

   }

Рисунок 15, Лист 2

Звичайна розсилка створюється майже таким же чином. Особливістю звичайної розсилки є те, що вона платна. На сервер відсилається запит на отримання балансу користувача а також його тарифу, після чого підраховується вартість розсилки та користувачу виводить відповідне повідомлення. Все це здійснюється за допомогою функції actionGetCost (Рисунок 16).

Відправка розсилок та збір статистики здійснюється автоматично. Кожні 2 хвилини викликається метод actionExecute, котрий в залежності від статусу розсилки або відправляє її, або збирає статистику, або взагалі нічого не робить, якщо не настав час відправки (Рисунок 17). Якщо ж час відправки настав, то викликаються методи для відправки розсилки. Якщо розсилка вже відправлена, то викликається метод збору статистики actionGetCampaignDeliveryStats.

public function actionGetCost()

   {

       $count = Yii::app()->session['countRecievers'];

       $balance = $this->actionGetBalance(Yii::app()->user->name, Yii::app()->session['password'], Yii::app()->session['orgId']);

       $tariff = ((array) $this->actionGetTariff(Yii::app()->user->name, Yii::app()->session['password']));

//        $cost = 0.10*$count;

       $cost = $tariff[0] * $count;

       if ($cost <= $balance)

       {

           $answer = 'С Вашего счета будет снято ' . $cost . ' руб. На Вашем счету ' . $balance . ' руб. Создать рассылку?';

       } else

       {

           $answer = 'Стоимость рассылки ' . $cost . ' руб. На вашем счету недостаточно средств для отправки рассылки. Рассылка будет создана, но не будет отправлена. Создать рассылку?';

       }

       echo $answer;

   }

Рисунок 16 – Функція GetCost

public function actionExecute()

   {

       $connection = new CDbConnection(

               Yii::app()->params['tempDb'], Yii::app()->params['tempDbUser'], Yii::app()->params['tempDbPass']); //соединение с temp базой

       $connection->charset = 'utf8';

       $this->actionChangeStatus();

       $this->actionRecieversListActivation();

       $mailers = Mailer::model()->findAll('dispatch_date < NOW()');

//перебираємо усі розсилки

       foreach ($mailers as $model)

       {

           if ($model->status_name != 'Недостаточно средств!' && $model->status_name != 'запущена' && $model->status_name != 'отправляется' && $model->status_name != 'Ошибка')

Рисунок 17 – Функція Execute

           {     $campaignId = $model->campaign_id;

               $mailerId = $model->id;

               $account = Account::model()->findByPk($model->orgId);

               $api_key = $account->api_key;

//викликаємо функцію для збору статистики

               $this->actionGetCampaignDeliveryStats($api_key, $campaignId, $mailerId);

               $mailViewModels = MailView::model()->findAll('mailer_id=:mailer_id', array(':mailer_id' => $mailerId));

               $countAll = count($mailViewModels);

               $countDone = 0;

//підрахунок доставлених повідомлень

               foreach ($mailViewModels as $mailViewModel)                {

                   if ($mailViewModel->status == 'Доставлено' || $mailViewModel->status == 'Прочитано' || $mailViewModel->status == 'Помещено в спам' || $mailViewModel->status == 'Переход по ссылке' || $mailViewModel->status == 'Отписался')

                   {           $countDone++;                    }       }

               $countNotSend = $countAll - $countDone;

               $model->status_full = 'выполнена<br>доставлено:' . $countDone . '<br>не&nbsp;доставлено:' . $countNotSend;

               $model->save();

           } else if ($model->status_name == 'запущена' || $model->status_name == 'отправляется')

           {                $account = Account::model()->findByPk($model->orgId);

               $api_key = $account->api_key;

               $emails = unserialize($model->emails);

               $count = count($emails);

               $data = unserialize($model->data);

//відправка розсилки

               $campaignId = $this->actionExecuteUnisender($api_key, $model->id, $model->name, $model->subject, $model->text, $model->mail_date, $model->email, $emails, $data);

               $model->campaign_id = $campaignId;

               $model->status = $model->getStatuses('выполнена');

               $model->status_name = 'выполнена';

               $model->status_full = 'выполнена<br>доставлено:0<br>не&nbsp;доставлено:' . $count;

               $model->save();

           }

       }

   }

Рисунок 17, Лист 2

2.3 Окремі види забезпечення роботи системи управління кліматом в офісі.

При розробці програмного забезпечення велику роль грає апаратна платформа, на якій воно буде використовуватися. Для нормальної роботи Для нормальної роботи ПМК для управління кліматом в офісі мінімальна конфігурація веб-сервера вказана в таблиці 24.

Таблиця 24 – Мінімальні системні вимоги до веб-сервера

Вид

Найменування

Процесор

2 GHz;

Оперативна пам’ять

512 Мб

Відеокарта

Не менш 64Мб пам’яті

Об'єм пам'яті на жорсткому диску

5 ГБ пам'яті на жорсткому диску

Монітор

Разрешение не менее 1024х768

Пристрої взаємодії з користувачем

Клавіатура, миша

Роль клієнта в системі - відображати веб-сторінки, тому великі потужності для нього не потрібні. Системні вимоги зазначені в таблиці 25.

Таблиця 27 – Мінімальні системні вимоги до ПК клієнту

Вид

Найменування

Процесор

1.6 GHz;

Оперативна пам’ять

256 Мб

Відеокарта

Інтегрована, наприклад Intel GMA

Об'єм пам'яті на жорсткому диску

2 ГБ пам'яті на жорсткому диску

Монітор

Разрешение не менее 1024х768

Пристрої взаємодії з користувачем

Клавіатура, миша

Інформаційне забезпечення ПМК представлено базою даних, за управління СУБД MySQL Server, веб-сервером apache та інтерпретатором php.

MySQL - вільна реляційна система управління базами даних. Розробку та підтримку MySQL здійснює корпорація Oracle, що отримала права на торговельну марку разом з поглиненої Sun Microsystems, яка раніше придбала шведську компанію MySQL AB. Продукт поширюється як під GNU General Public License, так і під власною комерційною ліцензією. Крім цього, розробники створюють функціональність за замовленням ліцензійних користувачів, саме завдяки такому замовленню майже в найраніших версіях з'явився механізм реплікації.

MySQL є рішенням для малих і середніх додатків. Входить до складу серверів WAMP, AppServ, LAMP і в портативні збірки серверів Денвер, XAMPP. Зазвичай MySQL використовується як сервер, до якого звертаються локальні або видалені клієнти, проте в дистрибутив входить бібліотека внутрішнього сервера, що дозволяє включати MySQL в автономні програми [27].

Гнучкість СУБД MySQL забезпечується підтримкою великої кількості типів таблиць: користувачі можуть вибрати як таблиці типу MyISAM, що підтримують повнотекстовий пошук, так і таблиці InnoDB, що підтримують транзакції на рівні окремих записів. Більше того, СУБД MySQL поставляється із спеціальним типом таблиць EXAMPLE, що демонструє принципи створення нових типів таблиць. Завдяки відкритій архітектурі і GPL-ліцензуванню, в СУБД MySQL постійно з'являються нові типи таблиць.

Apache HTTP-сервер (названий ім'ям групи племен північноамериканських індіанців апачів; крім того, є скороченням від англ. A patchy server; серед російських користувачів загальноприйнято спотворене апач) - вільний веб-сервер.

Apache є кросплатформним ПО, підтримує операційні системи Linux, BSD, Mac OS, Microsoft Windows, Novell NetWare, BeOS.

Основними достоїнствами Apache вважаються надійність і гнучкість конфігурації. Він дозволяє підключати зовнішні модулі для надання даних, використовувати СУБД для аутентифікації користувачів, модифікувати повідомлення про помилки і т. д. Підтримує IPv6.

PHP (англ. PHP: Hypertext Preprocessor - «PHP: препроцесор гіпертексту»; спочатку Personal Home - «Інструменти для створення персональних веб-сторінок», вимовляється пі-ейч-пі) - скриптова мова програмування загального призначення, інтенсивно вживаний для розробки веб- додатків. В даний час підтримується переважною більшістю хостинг-провайдерів і є одним з лідерів серед мов програмування, що застосовуються для створення динамічних веб-сайтів.

Мова та її інтерпретатор розробляються групою ентузіастів в рамках проекту з відкритим кодом. Проект поширюється під власною ліцензією, несумісною з GNU GPL.

Для розробки ПМК використовується середу NetBeans 7.3.

NetBeans IDE - вільна інтегрована середовище розробки додатків (IDE) на мовах програмування Java, JavaFX, Python, PHP, JavaScript, C, C + +, Ада  та ряду інших.

Проект NetBeans IDE підтримується і спонсорується компанією Oracle, однак розробка NetBeans ведеться незалежним співтовариством розробників-ентузіастів (NetBeans Community) і компанією NetBeans Org.

За якістю і можливостям останні версії NetBeans IDE не поступаються кращим комерційним (платним) інтегрованим середах розробки для мови Java, таким, як IntelliJ IDEA, підтримуючи рефакторінг, профілювання, виділення синтаксичних конструкцій кольором, автодоповнення набираються конструкцій на льоту, безліч визначених шаблонів коду та ін .

Для розробки програм в середовищі NetBeans і для успішної інсталяції та роботи самого середовища NetBeans повинен бути попередньо встановлений Sun JDK або J2EE SDK підходящої версії. Середа розробки NetBeans за умовчанням підтримувала розробку для платформ J2SE і J2EE. Починаючи з версії 6.0 Netbeans підтримує розробку для мобільних платформ J2ME, C + + (тільки g+ +) і PHP без установки додаткових компонентів.

2.4 Елементи інтерфейсу ПМК для генерації електронних повідомлень по управлінню ІТ-проектами

Спочатку користувач потрапляє на головну сторінку (Рисунок 13). На ній розміщені наступні елементи керування:

1 – шапка таблиці;

2 – запис (створена розсилка);

3 – поля фільтрації;

4 – кнопка активації шлюзів;

5 – кнопка створення розсилки;

6 – перегляд розсилки;

7 – редагувати розсилку;

8 – видалити розсилку.

7

6

8

5

4

3

2

1

Рисунок 13 – Головна сторінка

На головній сторінці відображаються усі розсилки, створені користувачем. У таблиці виводяться основні поля, для більш ретельного перегляду інформації про розсилку потрібно натиснути кнопку 6, після чого користувач потрапляє на сторінку перегляду ретельної інформації про розсилку (рисунок 14).

Рисунок 14 – Перегляд розсилки

Поля фільтрації полегшують пошук необхідної розсилки. Користувач має можливість вказати конкретні фільтрації у будь яке поле або одразу у декілька. Натиснувши на кнопку 7 користувач потрапляє на сторінку редагування розсилки. Відправлені розсилки редагувати заборонено. Якщо користувач бажає видалити певну розсилку, то йому потрібно натиснути кнопку 8. Кнопка 4 дозволяє перейти на сторінку активації шлюзів (Рисунок 15). На даній сторінці користувач має можливість вибрати один з підключених в організації шлюзів та активувати його. Це необхідно для того, щоб користувач мав можливість відправляти розсилки з тих шлюзів, з яких йому потрібно.

Рисунок 15 – Активація шлюзу

Для того, щоб створити нову розсилку, користувач повинен натиснути кнопку 5. Першим кроком створення розсилки є вибір отримувачів (Рисунок 16).

Рисунок 16 – Вибір отримувачів

На даній сторінці користувач бачить таблицю с записами. Дана таблиця створюється в проекті та сюди завантажується автоматично. Таблиця в проекті створюється користувачем самостійно, тому він має можливість створити будь яку кількість стовпчиків та назвати їх за своїм бажанням. Саме цьому на даній сторінці присутній випадаючий список, котрий містить у собі назви стовпчиків таблиці. Користувачу необхідно обрати назву стовпчика, у якому вказується шлюз отримувача. Після цього ПМК фільтрує записи та відображає тільки ті, у котрих заповнений стовпчик з полем email та цей email вказано вірно. Якщо в даному стовпчику буде присутній звичайний текст, або цифри, а не назва шлюзу, то такий запис не буде відображений (Рисунок 17).

Рисунок 17 – Відфільтрована таблиця

Також користувач має можливість вказати кількість записів, котрі будуть відображатися на сторінці. Ця кількість може бути від 20 до 1000. Для того, щоб обрати потрібних користувачу отримувачів, потрібно проставити біля необхідних записів галочки у чекбоксах. Після вибору усіх необхідних отримувачів користувач повинен натиснути кнопку «Далее». У разі, якщо користувач не вибере поле з email-ом, або не вибере жодного отримувача, або кількість отримувачів буде перевищувати допустиму, то користувач отримає відповідне повідомлення. У разі, якщо все зроблено вірно, здійснюється перехід на другий крок створення розсилки (Рисунок 18).

На другому кроці користувач має можливість вказати ім’я відправника, тему розсилки та текст. Для створення тексту повідомлення користувачу надається спеціальний текстовий редактор, у якому є можливість створення власного стилю оформлення тексту, вставка малюнків, гіперссилок та т.п. Також користувач може обрати шаблон повідомлення. Обравши шаблон в випадаючому списку, шаблон одразу підставляється у текст повідомлення. Користувач має можливість повернутись на попередній крок натиснувши кнопку «Назад». Також він має можливість повернутись на головну сторінку, натиснувши кнопку «Все рассылки». Натиснувши кнопку «Далее» користувач потрапляє на останній, третій крок створення розсилки.

Рисунок 18 – Другий крок створення розсилки

На третьому кроці здійснюється завершення створення розсилки (Рисунок 19). На даному кроці користувач обирає шлюз, з якого буде здійснюватися розсилка, та вказує час, коли розсилка повинна відбутися.

Рисунок 19 – Третій крок створення розсилки

Також є можливість повернутись на попередній крок, натиснувши кнопку «Назад».  Для того, щоб здійснити тестову розсилку, користувачу необхідно вказати шлюз, на котрий він хоче отримати повідомлення, у відповідне поле та натиснути кнопку «Тестовая рассылка». Після цього буде видане повідомлення про успішну або не успішну відправку повідомлення та на шлюз буде безкоштовно відправлене повідомлення у такому вигляді, в якому його будуть отримувати усі отримувачі розсилки. Якщо користувача все влаштовує, він може створювати розсилку. Для цього потрібно погодитись з ліцензійною умовою та натиснути кнопку «Отправить». Після цього ПМК звертається до серверу, запитуючи баланс користувача та тарифний план. Отримавши ці дані, розраховується вартість розсилки та користувач отримує повідомлення, в якому вказується вартість. Якщо користувача влаштовує вартість, то він погоджується, з його рахунку знімаються гроші та розсилка створюється. Якщо вартість не влаштовує, то можна відмовитись від створення розсилки. У разі, якщо на рахунку не вистачає грошей, користувачу буде пропоноване створити розсилку зі статусом «Недостаточно средств» (Рисунок 20). 

Рисунок 20 – Підтвердження створення

У разі згоди розсилка створюється та користувач потрапляє на сторінку перегляду детальної інформації по розсильці (Рисунок 21). Якщо грошей було достатньо, то розсилка створюється зі статусом «Запущена» та вона буде відправлена у вказаний час. Якщо розсилка створена зі статусом «Недостаточно средств», то вона не буде відправлена, але буде відображатися у списку розсилок. У розсилок з таким статусом на головній сторінці буде відображатися додаткова кнопка «Отправить» (Рисунок 22). Для того, щоб відправити таку розсилку, користувачу потрібно поповити свій рахунок та натиснути кнопку «Отправить». Якщо грошей на рахунку вистачить, то статус розсилки зміниться на «Запущена» а вона буде відправлена. Якщо ж грошей не вистачить все одно, то статус розсилки залишиться «Недостаточно средств» та вона не буде відправлена.

Рисунок 21 – Сторінка перегляду розсилки

Рисунок 22 – Статус та функціональні кнопки

Після відправки розсилки статистика автоматично збирається та оновлюється. На головній сторінці відображається кратка інформація по доставці повідомлень, а саме: кількість доставлених та кількість не доставлених повідомлень. Для того, щоб отримати більш детальну інформацію по отримувачам, потрібно перейти до перегляду розсилки. Біля кожного отримувача буде вказано статус (Рисунок 23).

Рисунок 23 – Статуси відправки повідомлень

2.5 Інструкція з установки АРМ менеджера по електронних продажах товарыв машинобудування 

Розроблене АРМ представляє собою сайт. Для того, щоб він праціював, потрібно завантажити основну папку сайту на сервер. Розглянемо приклад установки сайту на локальний сервер Денвер. Для цього завантажуємо інсталятор денвера. Запускаємо завантажений інсталятор (рисунок 24).

Вас запитають про те, в якій каталог ви хотіли б встановити комплекс (за замовчуванням використовується C: \ WebServers, вам потрібно лише натиснути Enter, щоб погодитися з цим вибором). У зазначеному каталозі будуть розташовані абсолютно всі компоненти системи, і поза нього ніякі файли надалі не створюються (виключаючи ярлики на Робочому столі).

Рисунок 24 – Установка денвера

Настійно рекомендуємо вам встановлювати комплекс в каталог першого рівня – тобто, C: \ WebServers, а не, наприклад, C: \ My \ WebServers. Справа в тому, що інсталятори пакетів розширень шукають базовий комплект саме на першому рівні по всіх дисках. І, якщо не знаходять, змушують вас ввести ім'я директорії вручну.

Далі вам запропонують ввести ім'я віртуального диска, який буде пов'язаний з тільки що вказаної директорією. Рекомендуємо вам погодитися із значенням за умовчанням (Z :). Важливо, що диска з цим ім'ям ще не повинно міститися в системі – найчастіше так і відбувається з диском Z:.

Після цього почнеться копіювання файлів дистрибутива, а під кінець вам буде поставлено питання, як саме ви збираєтеся запускати і зупиняти комплекс. У вас є дві альтернативи:

Створювати віртуальний диск при завантаженні машини (природно, інсталятор подбає, щоб це відбувалося автоматично), а при зупинці серверів його (диск) не відключати. На мій погляд, це найбільш зручний режим, і я сам користуюся тільки їм.

Створювати віртуальний диск тільки по явної команді старту комплексу (при натисканні на ярлику запуску на Робочому столі). І, відповідно, відключати диск від системи - при зупинці серверів.

У деяких версіях Windows 98 є помилка, в результаті якої диск з першого разу не відключається - мої експерименти і дослідження пофказали, що це саме помилка в subst, а не щось інше.

Власне, ось і все. Ви зможете виконати установку комплексу, маючи всього 2 клавіші на клавіатурі: Enter і Y (щоб ввести Yes).

Після установки денвера копіюємо папку сайту у C:\ WebServers\home. Також потрібно створити базу даних сайту. Для цього використовуємо phpMyAdmin.

2.6 Інструкція користувача ПМК для генерації електронних повідомлень по управліню ІТ-проектами

Розглянемо приклад створення розсилки у певному проекті. Користувач створює або імпортує у проект таблицю отримувачів, по котрій він бажає здійснити розсилку (Рисунок 25), після цього натискає кнопку «Е-mail рассылка» та потрапляє на головну сторінку (Рисунок 26). У цей час у користувача автоматично активується 1 шлюз, підключений до його організації, для можливості здійснення розсилки.

Рисунок 25 – Таблиця отримувачів

Рисунок 26 – Головна сторінка

Для створення розсилки натискаємо «Создать рассылку». Обираємо отримувачів (Рисунок 27).

Рисунок 27 – Вибір отримувачів

Натискаємо кнопку «Далее» та потрапляємо на другий крок створення розсилки (Рисунок 28). Вказуємо ім’я відправника, тему розсилки, шаблон (якщо потрібно) та вводимо текст, після чого натискаємо «Далее» та потрапляємо на третій крок (Рисунок 29).

Рисунок 28 – Другий крок створення розсилки

Рисунок 29 – Третій крок створення розсилки

На третьому кроці вказуємо шлюз, з якого буде здійснюватися відправка розсилки, дату розсилки, погоджуємося з ліцензійною умовою та натискаємо кнопку «Отправить». Після цього створюється розсилка, котра буде відправлена у вказаний час (Рисунок 30).

Рисунок 30 – Створена розсилка

2.7 Результати роботи ПМК для генерації електронних повідомлень по керуванню ІТ-проектами

Створюємо розсилку за інструкцією користувача (Рисунок 31).

Після настання часу відправки розсилка відправляється. Її статус змінюється на «Выполнена» то починається збір статистики. Запити збору статистики здійснюються раз в 2 хвилини. Після отримання інформації по кожному отримувачу, змінюється статус доставки повідомлення біля отримувача (рисунок 32) та ведеться підрахунок загальної кількості доставлених та не доставлених повідомлень.

Рисунок 31 – Створена розсилка

Рисунок 32 – Доставлена розсилка


 

А также другие работы, которые могут Вас заинтересовать

243. Создание Windows приложения с использованием Windows Forms 401 KB
  Разработка алгоритма и программы на языке С# вычисления площади, ограниченной двумя кривыми, заданными вариантом индивидуального задания для интервала, определяемого пользователем в диалоговом режиме.
244. Привод к операционному токарному станку 8.91 MB
  Разработка рационального и технологичного привода к операционному токарному станку. Чья конструкция имела бы наибольшую экономическую эффективность и максимально соответствовала заданным техническим параметрам.
245. Напрямки модифікації несиметричних ацилоїнів 1.05 MB
  Вивчення термічного ацилоїнового перегрупування продуктів взаємодії арилгліоксалів з сільваном. Проведення селективної взаємодії арилгліоксалів з активованими ароматичними системами. Встановлення структури утворених продуктів.
246. Построение внутренней памяти процессорной системы 179.5 KB
  Компьютерная память, ее виды и классификации, в практической части – осуществлено построение внутренней памяти процессорной системы. Память подразделяют на внутреннюю (оперативную, сверхоперативную и постоянную) и внешнюю (различные накопители).
247. Разработка информационного обеспечения автоматизированной системы Муниципальный заказ г. Сургут 427 KB
  Проектирование базы данных ER-методом. Генерация SQL-скрипта для создания базы данных. Обеспечение взаимодействия структурных подразделений Администрации города при размещении и контроле исполнения муниципальных заказов на поставку товаров.
248. Блоки питания персональных компьютеров 473.5 KB
  Форма и основная физическая компоновка того или иного компонента ПК. Устройства для тестирования блоков питания компьютера. 20-контактный разъём блока питания стандарта ATX. Стандартный блок питания форм-фактора SFX/SFX12V, оснащённый внутренним вентилятором 60 мм.
249. Разработка приложения для создания информационно-поискового комплекса библиотеки техникума всех учебников всех специальностей 1.6 MB
  Основными инструментами для подготовки и показа презентаций в мировой практике являются программы PowerPoint компании Microsoft, CorelPresentations фирмы Corel и пакет StarOfllaj компании SterDivision GMBH.
250. Реалізація логістичних функцій складів в процесі товарного перевезення 597.5 KB
  Підйомно-транспортне обладнання: конвеєри, підйомні столи та платформи, крани, шківи, вантажозахватні пристрої. Управління багатономенклатурними постачаннями (ABC-XYZ). Розрахунок оптимальної партії постачання (EOQ).
251. Практика графического программирования 309 KB
  Написать программу, составляющую из фрагментов целую фотографию. Рисование дорожного знака с элементами анимации. Создание часов с круглым циферблатом и движущимися стрелками. Вывод в графическом окне заданный ребус и проверка его расшифровки.