Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Діаграми класів відображають різні класи, з яких складається система, та їх взаємодію між собою, вона представлена на рисунку 2.11






 

Рисунок 2.11 – Діаграма класів

 

Система включає в себе нижче перераховані класи:

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

– UsersForm – клас відповідає за відображення форми користувачыв.

– BlogForm – клас відповідає за форму блоги.

– PoiskForm – служить для пошуку інформації на сайті.

– RegistrationForm – клас відповідає за відображення форми реєстрації.

– AutorizationForm – клас відповідає за відображення форми авторизації.

– TopicForm – клас відповідає за відображення і роботу форми топіків.

– DBObject – клас описує об’єкти бази даних.

– DBResult – клас відповідальний за отримання інформації з БД.

– SendQuery – клас відправляє SQL запити до БД.

 

2.3.2 Відображення ключових сценаріїв

 

Діаграми діяльності сценаріїв 1 і 2 зображені на рис. 2.12 та рис. 2.14 відповідно.

Діаграми послідовності сценаріїв 1 і 2 зображені на рис. 2.13 та рис. 2.15 відповідно.

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

Далі вибрати категорію блоги, які можна продивитися. Ще однією важливою функцією являється перегляд подій.

Рисунок 2.12 – Діаграма діяльності сценарію 1

Діаграми послідовності сценаріїв 1 і 2 зображені на рис. 2.13 та рис. 2.15 відповідно.

 

Рисунок 2.13 – Діаграма послідовності сценарію 1

 

В даній діаграмі зображено опис першого сценарія – реєстрація на участь у проекті.

 

Рисунок 2.14 – Діаграма діяльності сценарію 2

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

 

Рисунок 2.15 – Діаграма послідовності сценарію 2

 

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

 

2.3.3 Управління даними інформаційної системи

 

База даних для своєї системи, була розроблена за допомогою веб-ресурсу phpMyAdmin для адміністрування СУБД MySql. Програма була інтегрована в пакет Open Server, тому після його встановлення я можу використовувати і її.

Спочатку необхідно відкрити phpMyAdmin. Для цього в url-адресі необхідно набрати localhost/Tools/phpMyAdmin. З`явиться початкова сторінка веб-інтерфейсу, як на рисунку 2.16.

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

 

Тут же відразу можна створити базу даних, використовуючи поле Create new database, вказавши ім`я бази даних.

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

 

Рисунок 2.17 – Структура бази даних

 

Нижче зображена схема бази даних:

Рисунок 2.18 – Схема бази даних

 

 

2.4 Атрибути якості

 

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

 

2.4.1 Зручність використання

 

Дизайн системи максимально зручний у використанні, добре продуманий і легкий у роботі. Функціональна частина та дизайн веб – застосовання були протестовані за допомогою Usability тестування

 

2.4.2 Стратегія доставки

 

Необхідно завантажити з веб браузера, наприклад Mozilla FireFox, Chrome.

 

2.4.3. Безпека

 

У цьому додатку реалізована аутентифікація за допомогою перевірки звя'зки логін-пароль у БД підприємства.

 

2.4.4. Стратегія забезпечення якості

 

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

 

2.4.5 Стратегія забезпечення документації проекту

 

З програмним продуктом надається інструкція до користування додатком, інструкція для ручної установки програми.

 

2.5 Висновки до другого розділу

 

В ході розробки другого розділу було виконано проектування інформаційної системи «комунікаційної взаємодії співробітників корпоративної компанії» за допомогою UML діаграм. Далі було побудовано діаграму класів та проведений опис класів.

Визначено користувачів та їх можливості роботи з програмою. Побудовано список функціональних та не функціональних вимог. Описано основні сценарії дій користувача у програмі. Було побудовано схему логічного представлення інформаційної системи та описано кожен із її блоків. Проведена організація шарів інформаційної системи. Побудовано діаграму шарів і компонентів. Розроблено зручний для розуміння інтерфейс за допомогою усіх відомих принципів розробки інтерфейсу користувачів. Після чого був спроектований графічний інтерфейс у виді Mockups. Детально описано кожне з вікон програми та доставлена схема переходів усього проекту.

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

 

3 РЕАЛІЗАЦІЯ – ІНФОРМАЦІЙНОЇ СИСТЕМИ КОМУНІКАЦІЙНОЇ ВЗАЄМОДІЇ СПІВРОБІТНИКІВ КОРПОРАТИВНОЇ КОМПАНІЇ

 

3.1 Управління даними розподіленої інформаційної системи

 

Вся інформація системи зберігається в sql-орієнтованій базі даних. Реляційні БД представляють зв'язану між собою сукупність таблиць бази даних. Зв'язок між таблицями може знаходити своє віддзеркалення в структурі даних, а може лише матися на увазі, тобто бути присутнім на неформалізованому рівні. Кожна таблиця БД представляється як сукупність рядків і стовпців, де рядки відповідають екземпляру об'єкту, конкретній події або явищу, а стовпці атрибутам (ознакам, характеристикам, параметрам) об'єкту, події, явища.

Одне з найважливіших достоїнств реляційних баз даних полягає в тому, що можна зберігати логічно згруповані дані в різних таблицях і задавати зв'язки між ними, об'єднуючи їх в єдину базу. Така організація даних дозволяє зменшити надмірність даних, що зберігаються, спрощує їх введення і організацію запитів і звітів. Для вирішення поставленого завдання прийнята схема бази даних, представлена на рисунку 2.19. У даній схемі представлений взаємозв'язок всіх таблиць бази даних і відношення між ними.

 

3.2 Перелік класів та методів

 

В даному розділі йде перелік основних класів та методів, які має програма. Представлений каркас класів, його зміні та методи у вигляді коду. Також, до особливо складних класів представлена блок схема алгоритму.

Перелік всіх класів програми:

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

– UsersForm – клас відповідає за відображення форми користувачыв.

– BlogForm – клас відповідає відображення форми додавання та редагування блогів.

– PoiskForm – служить для пошуку інформації на сайті.

– RegistrationForm – клас відповідає за відображення форми реєстрації.

– AutorizationForm – клас відповідає за відображення форми авторизації.

– TopicForm – клас відповідає за відображення і роботу форми топіків.

– DBObject – клас описує об’єкти бази даних.

– DBResult – клас відповідальний за отримання інформації з БД.

– SendQuery - клас відправляє SQL запити до БД.

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

 

3.2.1. Клас авторизації у систему AutorizationForm

 

AutorizationForm – клас, який відображає початкове вікно авторизації та має всі необхідні функції для реалізації авторизації у системі Збереження налаштувань.

Має наступні методи:

- Selection() – робить вибір;

class Autorization extends Action {

/** Инициализация**/

public function Init() {

/** Проверяем аторизован ли юзер**/

if ($this-> User_IsAuthorization()) {

$this-> Message_AddErrorSingle($this-> Lang_Get('registration_is_authorization'), $this-> Lang_Get('attention'));

return Router:: Action('error');

}

/** Проверяем поля **/

$aFields=getRequest('fields');

if (is_array($aFields)) {

foreach($aFields as $aField) {

if (isset($aField['field']) and isset($aField['value'])) {

$this-> Hook_Run('registration_validate_field', array('aField'=> & $aField));

$sField=$aField['field'];

$sValue=$aField['value'];

switch($sField){

case 'login':

$oUser-> setLogin($sValue);

break;

case 'mail':

$oUser-> setMail($sValue);

break;

case 'password':

$oUser-> setPassword($sValue);

break;

setPassword(isset($aField['params']['password'])? $aField['params']['password']: null);

default: continue; break; }}}

/**Проверка на ошибки* */

if ($oUser-> _hasValidateErrors()) {

$this-> Viewer_AssignAjax('aErrors', $oUser-> _getValidateErrors()); } }

/** Создаем пользователя*/

$oUser=Engine:: GetEntity('ModuleUser_EntityUser');

$oUser-> _setValidateScenario('Autorization');

На рисунку 3.2 представлена блок-схема роботи класу AutorizationForm.

Рисунок 3.1 – Блок-схема роботи класу AutorizationForm.

 

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

 

3.2.2 Клас реалізації вікна BlogForm

 

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

Має наступні методи:

- Selection() – робить вибір з блогу;

- Update() – оновлює блог;

- Insert() – додає новий блог.

/** Добавление нового блога**/

protected function EventAddBlog() {

/**Устанавливаем title страницы**/

$this-> Viewer_AddHtmlTitle($this-> Lang_Get('blog_create'));

$this-> sMenuSubItemSelect='add';

$this-> sMenuItemSelect='blog';

/**Запускаем проверку корректности ввода полей при добалении блога.**/

if (! $this-> checkBlogFields()) {

return false;

}

/** Если всё хорошо то пытаемся создать блог **/

$oBlog=Engine:: GetEntity('Blog');

$oBlog-> setOwnerId($this-> oUserCurrent-> getId());

$oBlog-> setTitle(strip_tags(getRequestStr('blog_title')));

/** Создаём блог**/

$this-> Hook_Run('blog_add_before', array('oBlog'=> $oBlog));

if ($this-> Blog_AddBlog($oBlog)) {

$this-> Hook_Run('blog_add_after', array('oBlog'=> $oBlog));

$oBlog-> Blog_GetBlogById($oBlog-> getId());

/**Добавляем событие на главную**/

$this-> Stream_write($oBlog-> getOwnerId(), 'add_blog', $oBlog-> getId());

Router:: Location($oBlog-> getUrlFull());

} else {

$this-> Message_AddError($this-> Lang_Get('system_error'), $this-> Lang_Get('error')); }

}

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

 

3.2.3 Клас реалізації вікна пошуку

 

PoiskForm – Клас який служить для пошуку інформації на сайті.

На початку роботи класса PoiskFormm йде введення даних у поле для пошуку, потім виконується обробка введених даних, після чого йде перевірка на наявність введених даних. Якщо введені дані не булизнайдені то клас повертається на введення початкових даних, а якщо дані були знайдені то йде виклик метода переходу до наступних дій, перехід до наступної форми.

 


class PoiskForm extends Action {

} else {

$this-> Message_AddError($this-> Lang_Get('system_error'), $this-> Lang_Get('error')); }

}

/**Допустимые типы поиска с параметрами**/

protected $sTypesEnabled = array('topics' => array('topic_publish' => 1), 'comments' => array('comment_delete' => 0));

protected $aSphinxRes = null;

/**Поиск вернул результат или нет**/

protected $bIsResults = FALSE;

/**Инициализация**/

public function Init() {

$this-> SetDefaultEvent('index');

$this-> Viewer_AddHtmlTitle($this-> Lang_Get('search'));

}Action {

/**Отображение формы поиска**/

function EventIndex(){

}

function EventOpenSearch(){

Router:: SetIsShowStats(false);

$this-> Viewer_Assign('sAdminMail', Config:: Get('sys.mail.from_email'));

}

/** Поиск топиков **/

function EventTopics(){

$aReq = $this-> PrepareRequest();

$aRes=$this-> PrepareResults($aReq, Config:: Get('module.topic.per_page'));

if(FALSE === $aRes) {

$this-> Message_AddErrorSingle($this-> Lang_Get('system_error'));

return Router:: Action('error'); }

/** Если поиск дал результаты**/

if($this-> bIsResults){

/**Получаем топик-объекты по списку идентификаторов**/

$aTopics=$this-> Topic_GetTopicsAdditionalData(array_keys($this-> aSphinxRes['matches']));

/** Отправляем данные в шаблон**/

$this-> Viewer_Assign('bIsResults', TRUE);

$this-> Viewer_Assign('aRes', $aRes);

$this-> Viewer_Assign('aTopics', $aTopics);

}

}

На рисунку 3.2. зображена блок схема пошуку на сайті.

Рисунок 3.2 – Блок-схема перевірки пошуку.

 

3.2.4 Клас топік

 

TopicForm – служить для додавання, видалення та редагування топіків. У даному класі буде розглянуто редагування топіків.

class TopicForm extends Action {

/**Редактирование топика**/

protected function EventEdit() {

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

$sTopicId=$this-> GetParam(0);

if (! ($oTopic=$this-> Topic_GetTopicById($sTopicId))) {

return parent:: EventNotFound();

}

/* * Если права на редактирование**/

if (! $this-> ACL_IsAllowEditTopic($oTopic, $this-> oUserCurrent)) {

return parent:: EventNotFound();

}} else {

$this-> Message_AddError($this-> Lang_Get('system_error'), $this-> Lang_Get('error')); }

}

/* * Обрабатываем отправку формы**/

return $this-> SubmitEdit($oTopic);

} else {

/** Заполняем поля формы для редактирования**/

$_REQUEST['topic_title']=$oTopic-> getTitle();

$_REQUEST['topic_text']=$oTopic-> getTextSource();

$_REQUEST['topic_tags']=$oTopic-> getTags();

$_REQUEST['blog_id']=$oTopic-> getBlogId();

$_REQUEST['topic_id']=$oTopic-> getId();

getForbidComment(); }

/**Проверка корректности полей формы **/

if (! $this-> checkTopicFields($oTopic)) {

return false; }}

/** Публикуем или сохраняем в черновиках**/

$bSendNotify=false;

if (isset($_REQUEST['submit_topic_publish'])) {

$oTopic-> setPublish(1);

if ($oTopic-> getPublishDraft()==0) {

$oTopic-> setPublishDraft(1);

$oTopic-> setDateAdd(date(" Y-m-d H: i: s"));

$bSendNotify=true; }} else {

$oTopic-> setPublish(0); } }

 

3.2.5 Клас реєстрації

 

RegistrationForm – клас відповідає за реєстрацію.

Має наступний метод:

- Insert() – додає нового користувача.

class Registration extends Action {

/**Инициализация**/

public function Init() {

/**Создаем объект пользователя**/

$oUser=Engine:: GetEntity('ModuleUser_EntityUser');

$oUser-> _setValidateScenario('registration');

/**Проверяем поля**/

$aFields=getRequest('fields');

if (is_array($aFields)) {

foreach($aFields as $aField) {

if (isset($aField['field'])

and isset($aField['value'])) {

$this-> Hook_Run

('registration_validate_field', array('aField'=> & $aField));

$sField=$aField['field'];

$sValue=$aField['value'];

/**Список полей для валидации**/

switch($sField){

case 'login':

$oUser-> setLogin($sValue);

break;

case 'mail':

$oUser-> setMail($sValue);

break;

case 'password':

$oUser-> setPassword($sValue);

break;

setPassword(isset($aField['params']['password']) $aField['params']['password']: null);

break;

default:

continue;

/**проверка на ошибки? **/

if ($oUser-> _hasValidateErrors()) {

$this-> Viewer_AssignAjax

('aErrors', $oUser-> _getValidateErrors()); } }

/**Создаем пользователя */

$oUser=Engine:: GetEntity

('ModuleUser_EntityUser');

$oUser-> _setValidateScenario('registration');

}

 

На рисунку 3.3 представлена блок-схема роботи класу RegistrationForm.

Рисунок 3.3 – Блок-схема реєстрації у систему.

3.2.6. Клас авторизації у систему UsersForm

 

UsersForm – клас, який відображає форму користувачів.

Має наступні методи:

- Selection() – робить вибір;

- Update() – оновлює дані.

class Users extends Action {

/**Чтение активности пользователя**/

protected function EventStream() {

if (! $this-> CheckUserProfile()) {

return parent:: EventNotFound();

}

/**Список топиков пользователя**/

protected function EventCreatedTopics() {

if (! $this-> CheckUserProfile()) {

return parent:: EventNotFound();

}

$this-> sMenuSubItemSelect='topics';

/** Получаем список топиков**/

$aResult=$this-> Topic_GetTopicsPersonalByUser($this-> oUserProfile-> getId(), 1, $iPage, Config:: Get('module.topic.per_page'));

$aTopics=$aResult['collection'];

$aPaging=$this> Viewer_MakePaging($aResult['count'],

$iPage, Config:: Get('module.topic.per_page'), Config:: Get('pagination.pages.count'), $this-> oUserProfile->

getUserWebPath().'created/topics');

/**Загружаем переменные в шаблон**/

$this-> Viewer_Assign('aPaging', $aPaging);

$this-> Viewer_Assign('aTopics', $aTopics);

$this-> Viewer_AddHtmlTitle($this-> Lang_Get('user_menu_publication').' '.$this-> oUserProfile-> getLogin());

$this-> Viewer_AddHtmlTitle($this-> Lang_Get('user_menu_publication_blog'));

$this-> Viewer_SetHtmlRssAlternate(Router:: GetPath('rss').'personal_blog/'.$this-> oUserProfile-> getLogin().'/', $this-> oUserProfile-> getLogin());

/**Устанавливаем шаблон вывода**/

$this-> SetTemplateAction('created_topics');

}

 

3.3. Створення графічного інтерфейсу

 

Для роботи з графічним інтерфейсом був обраний фреймворк «Bootstrap» вільний набір інструментів для створення сайтів і веб-додатків. Включає в себе HTML і CSS шаблони оформлення для типографіки, веб-форм, кнопок, міток, блоків навігації та інших компонентів веб-інтерфейсів, включаючи JavaScript розширення та jQuery бібліотек. Для відображення інтерфейсу був створений шаблон зображений на рисунку 3.4

Рисунок 3.4 – Графічний інтерфейс програми

 

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

 

3.4 Інструкція користувача

 

Інструкція користувача (англ. user guide або user manual), керівництво по експлуатації, керівництво оператора – документ, призначення якого – надати людям допомогу у використанні деякої системи. Документ входить до складу технічної документації на систему і, як правило, готується технічним письменником.

Більшість Інструкцій користувача окрім текстових описів містять зображення.

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

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

Інструкція користувача:

При введені url-адреси: https://vsok.od.ua ви потрапляєте на головну сторінку веб-застосовання (рисунок 3.5).

Рисунок 3.5 – Екранна форма «Головна»

 

Для того, щоб здійснити перегляд блогів сайту необхідно натиснути на поле блоги. Форма відображення блоги зображена на рисунку 3.6. Щоб переглянути блог повністю потрібно натиснути на назву блогу.

Рисунок 3.6– Форма відображення блогів

 

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

Рисунок 3.7 – Форма відображення користувачів

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

Рисунок 3.8 – Форма відображення реєстрації

 

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

Форма створення зображена на рисунку 3.9.

Рисунок 3.9 – Форма створення

 

Користувач має змогу переглянути профілі інших співробітників компанії. Для цього потрібно в меню вибрати пункт користувачі, потім відкриється сторінка з користувачами, обираємо необхідного співробітника і відкриваємо його профіль, двійним натиском на його ім’я. зображеній на рисунку 3.10

Рисунок 3.10 – Форма профіль користувача

3.5. Інструкція адміністратору.

 

Для початку роботи адміністратору необхідно в веб-браузері ввести https://vseti.od.ua Далі зайти в адміністраторську панель, ввівши для цього логін та пароль(рисунок 3.11).

Рисунок 3.11 – Екранна форма «Авторизація»

 

Після того, як були введені логін та пароль користувач потрапляє на головну сторінку, де буде надалі управляти даними(рисунок 3.12)

Рисунок 3.12 – Екранна форма «Головна сторінка адміністративної панелі»

 

Для перегляду матеріалів, які знаходяться в системі необхідно вибрати категорію «Топіки» (рисунок 3.13).

 

Рисунок 3.13 – Екранна форма «Адміністрування топіків»

 

На даному рисунку видно список матеріалів, які можна видаляти, переносити, переглянути, редагувати.

Для редагування матеріалу в системі необхідно натиснути редагувати. Після цього відкриється сторінка для редагування матеріалу (рисунок 3.11).

 

Рисунок 3.14 – Екранна форма «Редагування матеріалу»

 

Рисунок 3.15 – Екранна форма «Створення матеріалу 2»

Для створення матеріалу користувачу необхідно ввести заголовок статті, розділ якому приналежить матеріал та категорію. Даний текст можна по різному редагувати. Коли текст буде готовий обов’язково необхідно вказати параметри даного матеріалу обрати чи створити для нього категорію(рисунок 3.16).

 

Рисунок 3.16 – Екранна форма «Додавання категорії»

 

Для додавання блогу перегляду користувачу необхідно зайти в розділ «Пункти меню», де буде зображений повний список блогів веб-застосовання. Їх також можна редагувати, видаляти, давати їм доступ до перегляду.

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

 

3.6 Висновки до третього розділу

 

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

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

Було розглянуто інтерфейс користувача у якому були відображені та повністю описані всі вікна сайту. Також представлено інструкцію користувача, інструкцію адміністратора та інструкція збірці інформаційної системи.

 


4 АНАЛІЗ ПРАЦЕЗДАТНОСТІ ІНФОРМАЦІЙНОЇ СИСТЕМИ КОМУНІКАЦІЙНОЇ ВЗАЄМОДІЇ СПІВРОБІТНИКІВ КОРПОРАТИВНОЇ КОМПАНІЇ

 

4.1. Тестування програми

 

Тестування програмного забезпечення - процес дослідження, випробування програмного продукту, який має дві різні цілі:

– продемонструвати розробникам і замовникам, що програма відповідає вимогам;

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

 

4.1.1 Розробка тест-плану

 

Види тестування:

– функціональне;

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

Тестування проводилося на ОС Windows 8 Service Pack 1. В якості браузера використовувався Yandex версії 2.0. веб – застосовання створювалася під управлінням Yii2.

 

4.1.2 Протокол проведення функционального тестування

 

Тест-кейс 1. Перегляд блогів.

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

Кроки для виконання:

1) Запустити браузер і відкрити систему підтримки інноваційних процесів ІКС.

2) Якщо робота додатком вже здійснювалася то повинна відкритися головна сторінка.

3) Вибрати блоги меню проекти.

4) Вибрати блог, зі списку на екрані.

Очікуваний результат: При успішному виконанні тесту на екрані з'явиться список блогів які є на сайті. З цього списку можна буде вибрати і відкрити інформацію необхідного блогу.

Тест-кейс 2. Реєстрація.

Дозволяє протестувати коректність реєстрації користувача.

Кроки для виконання:

1) Запустити браузер і відкрити систему проектів.

2) Відкрити «Реєстрація».

3) Необхідно заповнити поля для реєстрації: логін, почтовий адрес, пароль, і натиснути відправити.

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

Тест-кейс 3. Створення нової події адміністратором і відображення цієї події на сайті.

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

Кроки для виконання:

1) Запустити браузер і відкрити веб-застосовання.

2) Авторизуватися під адміністратором.

3) Обрати категорію топіки та натиснути додати.

4) Заповнити всі пусті поля інформацією та натиснути добавити.

5) Натиснути на галочку відобразити на головній сторінці

6) Перейти на сайтта подивитись є ця подія на головній сторінці.

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

Тест-кейс 4. Авторизація

Дозволяє протестувати коректність авторизації користувача.

Кроки для виконання:

1) Запустити браузер і відкрити сайт.

2) Відкрити «Авторизацію».

3) Необхідно заповнити поля для авторизації: логін, пароль і натиснути відправити.

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

Тест-кейс 5. Відправка повідомлення.

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

1) Запустити браузер і відкрити сайт.

2) Авторизуватися під користувачем.

3) Обрати категорію користувача та натиснути відправка повідомлення.

4) Заповнити всі пусті поля інформацією та натиснути відправити.

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

Очікуваний результат: При успішному виконанні тесту якщо користувач заповнив всі необхідні поля для відправки повідомлення, то він може натиснути кнопку відправити, і ця інформація буде відправлена користувачу якого обрали, якщо поля не були заповнені то з'явиться повідомлення про помилку.

Тест-кейс 5. Перегляд топіків.

Перевіряє, чи виводиться список топіки при виборі пункту «Топіки» та той топік виводиться на екран, після вибору.

Кроки для виконання:

1) Запустити браузер і відкрити сайт

2) Якщо робота додатком вже здійснювалася то повинна відкритися головна сторінка.

3) Вибрати топіки.

4) Вибрати топік, зі списку на екрані.

Очікуваний результат: При успішному виконанні тесту на екрані з'явиться список топіків які є на сайті. З цього списку можна буде вибрати і відкрити інформацію необхідного топіку-.

 

Всі тест-кейси були успішно пройдені.

 

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

 

Для тестування зручності використання було залучено 7 звичайних користувачів мережі інтернет з різним рівнем підготовки і один експерт. Дане тестування неможливо провести без залучення експерта, так як він може роз'яснити деякі особливості предметної області і допоможе погано розуміє користувачам легше розібратися з додатком.

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

В результаті тестування всі дані, надані користувачами порівнювалися і кожному пункту виставлялася процентна оцінка від 0 до 100 (чим більше тим краще). Результати тестування виглядають таким чином:

- продуктивність, ефективність (efficiency) – скільки часу і кроків знадобиться користувачеві для завершення основних завдань програми?

Основне завдання програми – виведення інформації різних топіків, блогів, користувачів, пошук інформації, рєестрація. Для надання цієї інформації користувачеві потрібно лише вибрати необхідний пункт в головній формі системи. Тобто можна зробити висновок, що продуктивності та ефективність програми на високому рівні. Оцінка – 100%.

- правильність (accuracy) – скільки помилок зробив користувач під час роботи з додатком?

Після тестування більшість користувачів успішно впоралися з функціями інформаційної системи. Було мінімум помилок. Так як, користувальницький інтерфейс забезпечує інтуїтивно зрозуміле представлення структури розміщеної на ньому інформації, швидкий і логічний перехід до сторінок. Деякі зауваження на рахунок зручності використання були враховані для подальшої роботи системи. З цього робимо висновок, що правильність системи на високому рівні. Оцінка – 80%.

- активізація в пам'яті (recall) – як багато користувач пам'ятає про роботу системи після призупинення роботи з ним на тривалий період часу? Повторне виконання функцій сайт після перерви відбувалася у більшості користувачів, що тестують продукт набагато швидше ніж у нових користувачів. Більшість користувачів, що тестують систему вирішили, що інтерфейс легко запам'ятовується на тривалий період часу. Оцінка – 90%.

- емоційна реакція (emotional response) – як користувач почувається після завершення завдання – розгублений, випробував стрес? Порекомендує чи користувач систему своїм друзям? Всі користувачі дали позитивну оцінку по цьому пункту і сказали, що можуть рекомендувати всім своїм друзям і знайомим.

4.2 Інструкція по збірці інформаційної системи

 

Для встановлення системи на комп’ютер необхідно:

- завантажте Open Server з офіційного сайту https://www.open-server.com/ попередньо зареєструвавшись;

- після встановлення Open Server створюється локальний диск, який ви називаєте самі, вданому випадку «Локальний диск Z». На цьому диску за адресою Z: \home\localhost\ створюєте папку з назвою системи, та копіюєте файли системи з готовим веб-застосунком;

- відкрийте веб-браузер та ведіть https://localhost/vseti.od.ua

 

4.3 Розрахунок метрик програмного коду

 

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

Таблиця 4.1 – Розрахунок метрик

Назва метрики Кількість
Загальна кількість рядків коду в проекті:  
Середня кількість рядків коду в одному класі:  
Максимальна кількість рядків коду в одному класі:  
Середня кількість рядків коду в одному методі:  
Максимальна кількість рядків коду в одному методі:  
Максимальна глибина дерева успадкування:  
Середня цикломатична складність методу:  
Максимальна цикломатична складність методу:  
Коментування коду: 60%
Покриття коду модульними тестами: 65%
     

 

 

4.4 Висновки до третього розділу

 

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


5. ЕКОНОМІЧНИЙ РОЗДІЛ ДИПЛОМНОГО ПРОЕКТУ

 

5.1. Техніко-економічна характеристика проекту

 

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

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

 

5.2. Організаційне забезпечення проекту

 

Оскільки виконувана робота пов'язана з розробкою продукту ринку інформаційних технологій, то вирішення цих проблем можливо таким чином:

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

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

– і/або комбінований варіант у різному сполученні.

Структура й склад необхідних інвестиційних коштів для проектів власної розробки можуть бути подані у вигляді:

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

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

– інвестиції в основні фонди, у т.ч. на придбання КТС та засобів комунікації;

– інвестиції в оборотні активи й кадри;

– витрати на експлуатацію, у т.ч. авторський нагляд, контроль як досягнення цілей;

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

– інші витрати.

Аналогічно приводиться необхідна сума інвестиційних коштів для вирішення проблем за рахунок придбання готового проекту (варіантів) або окремих елементів (модулів, компонентів) системи у вигляді:

– витрат, пов'язаних з оформленням юридичних прав на використання придбаного проекту або його частини (патент, ліцензію);

– витрат, пов'язаних з апробацією, дослідним впровадженням і експлуатацією;

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

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

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

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

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

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

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

Розроблений алгоритм генерації тестів можна запатентувати то продати, та получати авторський гонорар. Також є можливість увести цей метод у склад популярних у нас час САПР, або навпаки перенести і використати базову спеціалізовану функціональність САПР даному проекті, таким чином створивши більш незалежний продукт.

Таким чином ми побачили, що впровадження алгоритму генерації тестів та середовища керування матиме великий економічний ефект.

 

5.3. Розрахунок показників економічної ефективності проекту

 

Етапи проектування і час потрібний для завершення кожного етапу наведено в таблиці 5.1.

Таблиця 5.1. – Етапи проектування

№ этапу Найменування етапу Зміст роботи Т (календ. дні)  
 
  Технічне завдання (ТЗ) Аналітичний огляд, аналіз методів, вибір методів    
  Ескізний проект (ЕП) Розробка структури функціювання ПЗ    
  Технічний проект (ТП) Розробка ПЗ    
  Робочий проект (РП) Проведення експерементів    
  Впровадження проекту (ВП) Інсталляція програми користовучам    

 

Очікуваний економічний ефект визначається по формулі 5.1:

 

(5.1)

де – річна економія на поточних витратах (грн.);

– одноразові витрати на проект (грн.);

– нормативний коефіцієнт ефективності одноразових витрат (може бути заданий господарюючим суб'єктом, або приймається на рівні процентної ставки по депозитних рахівницях банку і т.п.). Приймемо. =0, 3

Річна економія складається з поточних витрат і приросту прибутку у зв'язку з упровадженням проекту, таким чином:

 

, (5.2)

де – поточні витрати до і після упровадження проекту відповідно (грн.);

– приріст прибутку господарюючого суб'єкта або його структурного підрозділу при упровадженні проекту визначається експертним шляхом.

Склад одноразових витрат у кожному конкретному випадку різний і залежить від специфіки проекту. В загальному вигляді ці витрати можна виразити формулою 5.3:

 

, (5.3)

де – одноразові витрати на розробку проекту;

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

– супутні одноразові витрати.

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

 

, (5.4)

Якщо , то проект ефективний.

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

 

, (5.5)

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

– витрати на оплату праці персоналу;

– витрати на функціонування проектованого об'єкту (витрати машинного часу, матеріальні витрати);

– накладні витрати;

– інші витрати.

Витрати на оплату праці персоналу:

Річний фонд основної заробітної платні персоналу:

 

(5.6)

де – чисельність фахівців,

– річний фонд оплати праці фахівця.

Для базового варіанту Ч = 1, це людина, яка займається синтезом цифрових керуючих пристроїв За виконання своєї роботи він отримує заробітну плату, яка становить 5000грн. Таким чином за рік він отримує:

 

1*12*5000=60000 (грн.);

 

Для проектного варіанту Ч = 1, але завдяки впроважденню нового метода синтезу, необхідні менш кваліфіковані спеціалісти. Їх заробітня плата дорівнюватиме 3700 грн

Таким чином річна заробітна плата дорівнюватиме:

 

1*12*3700=44400 (грн.).

 

Річний фонд додаткової заробітної платні:

 

(5.7)

де – коефіцієнт додаткової заробітної платні.

Для базового та проектного варіантів:

 

60000*0, 1=6000(грн.),

44400*0, 1=4440(грн.)

 

Нарахування на соціальне страхування:

 

(5.8)

де K – коефіцієнт нарахувань на соціальне страхування, який дорівнює К , тоді для базового варіанту та проектного варіанту відповідно до формули 4.8:

 

(60000+6000)*0, 38=25080 (грн.),

(44400+4440)*0, 38 =18559 (грн.).

 

Загальні витрати на оплату праці складають:

 

(5.9)

Тоді:

 

60000+6000+25080=91080 (грн.),

44400+4440+18559=67339(грн.).

 

Витрати на функціонування проектованого об’єкту укрупнено складаються:

 

(5.10)

де – вартість машинного часу при функціонуванні проектованого об’єкту (грн).;

– вартість витратних матеріалів при експлуатації проектованого об’єкту (грн).

Вартість машинного часу:

 

(5.11)

де Т – машинний час, необхідний для експлуатації проектованого об'єкту (години);

– вартість однієї години роботи обчислювального комплексу (грн).

Отримаємо:

 

4368*4=17472 (грн.)

3500*4=14000 (грн.)

 

Вартість витратних матеріалів:

 

(5.12)

де – кількість i-го виду матеріалів (шт., кг і т.д.);

– вартість (ринкова ціна) і-го виду матеріалу (грн).

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

тому:

 

0 (грн.).

 

Таким чином витрати на функціонування проектованого об’єкту укрупнено складуть:

 

17472+0=17472 (грн.),

14000+0=4800 (грн)

 

Накладні витрати складають 80 % від основної і додаткової заробітної платні персоналу зайнятого експлуатацією проектованого об'єкту: івдл –

 

(5.13)

де – коефіцієнт визначаючий величину накладних витрат.

Приймемо , тоді для базового та проектного варіантів відповідно:

 

(60000+6000)*0, 8=52800 (грн.),

(44400+4440)*0, 8=48840 (грн.).

Інші комерційні витрати складають 5 % від суми всіх поточних витрат:

 

(5.14)

де – коефіцієнт, що визначає величину інших витрат.

Приймемо , тоді:

 

(91080+17472+52800)*0, 05=8067 (грн.)

(67339+14000+48840)*0, 05=6509 (грн.)

 

У результаті поточні витрати складають:

 

(5.15)

Для базового варіанту розрахунку:

 

91080+17472+52800+8067=169419 (грн.)

 

Для проектного варіанту розрахунку:

 

67339+14000+48840+6509=136688 (грн.)

 

Проведемо розрахунок одноразових витрат на проект.

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

 

(5.16)

де – витрати на розробку проекту (грн).;

– витрати на спеціальне устаткування (грн). Витрати на комп'ютери та комп'ютерне устаткування визначаються на основі їх ринкової вартості, наладку (10 % від ринкової ціни). Витрати на допоміжне устаткування визначаються як 10 % вартості комп'ютерів. Отже приймемо 300 грн.

– супутні одноразові витрати (грн).

 

(5.17)

де – витрати на доставку спроектованого виробу до місця експлуатації (0 грн);

– витрати на установку, монтаж, наладку виробу (100 грн).;

– інші витрати (демонтаж замінюваного виробу і т.п.) (100 грн).;

– ця складова присутня в розрахунках, яка дорівнює (1000 грн).;

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

Таким чином супутні одноразові витрати дорівнюють:

 

100+100-1000+1200=400 (грн.)

 

Отже одноразові витрати на проект візьмемо з таблиці 5.2:

 

90000 (грн.)

 

Розрахунок одноразових витрат на проектування

Для розрахунку витрат на етапі проектування необхідно визначити тривалість кожного етапу, починаючи з розробки технічного завдання (ТЗ) і до упровадження проекту, включаючи авторський нагляд. Цю інформацію занесено в таблицю 5.1.

Трудомісткість розробки ТП може бути визначена як сума величин трудомісткості виконання окремих етапів проекту:

 

(5.18)

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

– трудомісткість розробки технічного проекту;

– трудомісткість розробки робочого проекту;

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

Трудомісткість етапів проектування встановлюється по фактичних витратах часу (календарного) у люд/дн. по всіх роботах, виконуваних у рамках цих етапів. Тобто:

 

25+10+10+40+5=90 (люд./дн.)

 

Розрахунок одноразових витрат може бути представлений у вигляді кошторису витрат (див. табл. 5.2).

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

Розглянемо основні (найбільше часто використовувані) методи ціноутворення:

– витратний метод;

– агрегатний метод;

– параметричний метод;

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

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

Суть витратного методу полягає в тому, що до підрахованих витрат на

виробництво додають фіксований відсоток прибутку.

Даний метод застосовується:

– паралельно з іншими методами;

– при встановленні вихідної ціни на принципово нову продукцію, коли її неможливо зіставити з тією, що випускалася раніше;

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

– при визначенні цін на товари, попит на які хронічно перевищує пропозиція.

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

Даний метод застосовується:

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

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

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

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

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

Для визначення початкової ціни






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.