3.2 Обґрунтування структури та створення системи
3.2.1 Засадничі дані
Засадничими даними при створені систем управління проектами є:
- дані про контрагентів;
- бази проектів;
- інші відомості.
3.2.2 Опис функцій, що автоматизуються, цілі функціонування системи
Основними функціями «Автоматизованої системи управління проектами студії інтер’єрів «Сервіс-Центр»» є:
- створення єдиної бази проектів із основними даними;
- створення єдиної бази контрагентів;
- ведення єдиного переліку завдань по проектам для співробітників та підрядників;
- ведення балансу по проекту ;
- облік надходження коштів від замовників;
- пошук даними за багатьма критеріями;
- формування звітів .
Мета, яку ми присліджуємо, створюючи систему – це найменшими витратами автоматизувати основні функції менеджера проектів, тим самим полегшавши йому роботу та надавши змогу керівнику та іншим працівникам студії (при необхідності) мати доступ до інформації по проекту.
3.3 Проектування структури і створення системи
Створення системи почнемо з моделювання .
Функціональна модель (див. графічні матеріали) дала можливість виявити всі функції менеджера при роботі з проектами. Саме на ціх функціях буде ґрунтуватися модель даних.
Моделювання даних проводимо за допомогою CASE-засобу ERwin на двох рівнях – логічному та фізичному.
Основними поняттями ER-моделі є сутність, зв'язок та атрибут. Сутність – це об’єкт, який має важливе значення для даної предметної області. Атрибут, який ідентифікує сутність є первинним ключем. Також важливим компонентом діаграми є зв’язки, які вказують залежність між даними.
Під час створення логічної моделі потрібно якнайдокладніше описати можливі запити до бази даних. Для відстежування процесу проектування логічної моделі використовуються звіти. У звітах, як правило, перераховуються сутності, їх атрибути, правила та обмеження, що вміщують до бази даних. Добрі засоби підготовки звітів містять різні види інформації про логічну модель, сприяють гнучкому розміщенню та форматуванню, а також поданню звіту у файл або його експорту в інші додатки.
Перетворення логічної моделі у фізичну. У процесі розробки фізичної моделі сутності, атрибути та зв'язки складають фізичну модель, відображаються у таблиці та стовпчиках. До раніш заданих властивостей стовпчиків (типів даних, протяжності і невизначених значень) додаються нові — первинні та зовнішні ключі, індекси, перевірочні обмеження та правила підтримки посилкової цілісності.
Щоб правильно і добре виконати цей етап проектування, засоби моделювання даних повинні працювати з кількома популярними СУБД SQL-типу, графічно відображати фізичні характеристики, дозволяти призначати та модифікувати тригери, створювати власні тригери, денормалізувати фізичну модель, не торкаючись при цьому логічної.
Розглядаючи атрибутивну модель нашої системи, розглянемо і її сутності і атрибути (повна модель – див. графічні матеріали):
Сутність Проект з атрибутами: код проекту, назва проекту, код організації, код типу проекту, код стадії проекту, адреса, площа, дата початку, дата закінчення, вартість проекту, прибуток студії, вартість виконання задач, опис проекту.
Сутність Тип проекту з атрибутами: код типу проекту, назва типу проекту.
Сутність Студії проекту з атрибутами: код стадії проекту, назва стадії .
Сутність Задачі проекту з атрибутами: номер задачі в проекті, код проекту, код надання послуг, опис задачі, дата початку виконання, дата завершення необхідна, відмітка виконавця, коментарі, курс, дата сплати, сума сплати, дата доплати, сума доплати, вартість задачі, прибуток студії.
Сутність Надходження коштів з атрибутами: код запису, код проекту, дата надходження, курс, сума надходження .
Сутність Контрагент з атрибутами: код організації, вид контрагента, назва організації, адреса, сайт, додаткова інформація.
Сутність Надання послуг з атрибутами: код надання послуг, код послуги, код організації, знижка.
Сутність Вид послуг з атрибутами: код послуги, назва послуги, опис послуги .
Сутність Контактні особи з атрибутами: код контактної особи, код організації, прізвище, ім’я, по-батькові, посада, додаткова інформація.
Сутність Телефони з атрибутами: код телефону, код контактної особи, номер телефону.
Сутність E-mail з атрибутами: код e-mail, e-mail, код контактної особи.
Для відображення залежності між даними використано зв’язки «один до багатьох».
На фізичній моделі відображено таблиці та зв’язки між ними, а також типи даних всіх полів таблиць згідно вимогам системи. Фізична модель орієнтована безпосередньо на SQL Server 2005. Саме з фізичної моделі проведено генерацію запроектованої моделі даних в середовище MS SQL Server 2005, внаслідок якої було створено базу даних у SQL Server 2005 (див. рис. та графічний матеріал).
Таким чином, ми отримали нормалізовану базу, приведену до третьої форми, яка відповідає стандартам і містить всю інформацію, що забезпечуватиме виконання функцій системи.
Інтерфейс системи передбачає систему меню, з якого здійснюється виклик кожної окремої таблиці для її заповнення або корегування.
Меню інтерфейсу передбачає пункти, що відповідають виконанню кожної з функцій, наведених вище. Для отримання необхідної інформації користувачу пропонується ввести умови пошуку або відбору у спеціальні вікна, створені засобами Delphi. Після цього користувач отримує необхідну інформацію у вигляді зручної для перегляду форми або надрукованого документу.
Повідомлення про всі загальні помилки роботи з системою здійснюються засобами, передбаченими розробником та встановленою операційною системою.
Для запобігання втрати даних при випадкових збоях в роботі системи доцільно періодично архівувати базу даних на додатковому носії.
Вихід з системи здійснюється за допомогою відповідного пункту меню.
3.4 Алгоритми рішення, забезпечення виконання функцій, захист інформації
Система, розроблена у даному дипломному проекті, побудована на основі архітектури клієнт-сервер. База даних, розроблена засобами MS SQL Server, забезпечує централізоване та нормалізоване зберігання даних. Доступ до бази даних здійснюється засобами клієнтського додатку. Основна вимога до клієнтського додатку – простий та зручний інтерфейс. Тому інтерфейс системи відповідає стандарту (GUI), виконаний у спокійних кольорах, має графічне меню, кнопки і т.д. Всі написи та дані виводяться українською мовою.
Захист даних системи включає:
- аутентифікацію користувачів при вході в систему;
- заборона вторгнення в систему сторонніх користувачів;
- обмеження прав доступу дозволених користувачів до деяких таблиць (полів таблиць) бази даних;
- забезпечення збереження цілісності даних при роботі авторизованих користувачів в системі з метою запобігання руйнування даних;
- слідкування за правильністю введення даних до системи.
При вході в систему, після заставки, на екрані з’являється діалог для введення імені користувача (логін) та його паролю
Якщо ж логін або пароль були введені невірно, то на екрані з’являється повідомлення про це і програма не запускається.
При встановлення програми на сервері, створюється особливий користувач – розробник системи. Цей користувач має повні права в програмі і не можу буди видалений. Змінити пароль може лише людина, яка працює з СУБД та має пароль системного адміністратора в ній. Інші користувачі створюються за допомогою спеціальної форми . За допомогою цієї ж форми можна встановлювати користувачу доступ до режимів програми
Form1 Форма активізації користувача в системі
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, XPMan, ExtCtrls;
type
TForm1 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Edit1: TEdit;
Button1: TButton;
Button2: TButton;
Edit2: TEdit;
Image1: TImage;
procedure Button2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure FormActivate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
uses Unit3, Unit2;
{$R *.dfm}
procedure TForm1.Button2Click(Sender: TObject);
begin
Close;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
DataModule2.ADOConnection1.Connected := True;
DataModule2.ADOConnection1.Connected := False;
DataModule2.ADOConnection1.ConnectionString:=
'Provider=SQLOLEDB.1;'+
'Password='+Edit2.Text+';'+
'Persist Security Info=True;'+
'User ID='+Edit1.Text+';'+
'Initial Catalog=Studio;'+
'Data Source=KIMMERIY\SERGIO';
try
DataModule2.ADOConnection1.Connected := True;
except
Form1.Tag := Form1.Tag - 1;
If Form1.Tag<>0 then
Begin
DataModule2.ADOConnection1.Connected := False;
ShowMessage('Ви невірно ввели ім"я користувача або пароль!!! У вас залишилося '+IntToStr(Form1.Tag)+' спроби. ');
End
Else
Begin
ShowMessage('Ви не користувач системи !!!');
Close;
End;
end;
If DataModule2.ADOConnection1.Connected then
Begin
DataModule2.ADOT1.Active := True;
DataModule2.ADOT2.Active := True;
DataModule2.ADOT3.Active := True;
DataModule2.ADOT4.Active := True;
DataModule2.ADOT5.Active := True;
DataModule2.ADOT6.Active := True;
DataModule2.ADOTable1.Active := True;
DataModule2.ADOTable2.Active := True;
DataModule2.ADOTable3.Active := True;
DataModule2.ADOTable4.Active := True;
DataModule2.ADOTable5.Active := True;
DataModule2.ADOTable6.Active := True;
DataModule2.ADOTable7.Active := True;
DataModule2.ADOTable8.Active := True;
DataModule2.ADOTable9.Active := True;
Form1.Label1.Visible:=False;
Form1.Label2.Visible:=False;
Form1.Label3.Visible:=False;
Form1.Edit1.Visible:=False;
Form1.Edit2.Visible:=False;
Form1.Button1.Visible:=False;
Form1.Button2.Visible:=False;
Form1.Align := alClient;
Image1.Visible := True;
Form3.ShowModal;
end;
end;
procedure TForm1.FormActivate(Sender: TObject);
begin
Image1.Visible := False;
end;
end.
Доступ до робочої бази даних повністю заблоковано для обліковий записів Microsoft SQL Server крім розробника системи.
Текст програми – див. графічні матеріали.
3.5 Інструкція користувача системи
Розроблена програма має зручний інтерфейс і є простою в користуванні.