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

Середовище Delphi як засіб розробки комп'ютерних систем для роботи з базами даних. Основи технології ADO та особливості її застосування в Delphi. Опис та етапи розподілу інформаційних потоків на виробничій дільниці автоматики аглодоменного виробництва.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык украинский
Дата добавления 26.10.2012
Размер файла 1,9 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Процедура створює копію таблиці dbo. RulesMenu (правил доступу користувачів ІС до меню клієнтського додатка)

dbo. Create_tmpRulesViews

Процедура створює копію таблиці dbo. RulesViews (правил доступу користувачів ІС до подань клієнтського додатка)

dbo. Del_Section

Процедура видаляє з ІС існуючу дільницю. (Видаляє зі списку дільниць, видаляє правила доступу користувачів ІС для подань по вилученій дільниці).

Вхідні дані:

@TypeSection - Тип видаляємої дільниці, (3-основна дільниця; 2-дільниця; 3-під-дільниця);

@Section - Найменування дільниці.

dbo. Del_Users

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

Вхідні дані:

@UserName - Ім'я видаляємого користувача.

dbo. Personnel_Baby

Процедура надає інформацію з дітей персоналу. (Інформація надається згідно правил доступу для користувача ІС запитуваного ці дані)

Вхідні дані:

@Views - Назва подання.

@IDUsers - ID Користувача ІС запитуваного ці дані.

dbo. Personnel_Card

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

Вхідні дані:

@Views - Назва подання.

@IDUsers - ID Користувача ІС запитуваного ці дані.

dbo. Save_RulesMenu

Процедура застосовує змінені правила доступу користувачів ІС до меню клієнтського додатка.

dbo. Save_RulesViews

Процедура застосовує змінені правила доступу користувачів ІС до подань клієнтського додатка.

dbo. Select_Section

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

Вхідні дані:

@Views - Назва подання;

@IDUsers - ID Користувача ІС.

6.4 Клієнтський додаток Infomedia.exe

Логіко-функціональна схема роботи користувача із клієнтським додатком

Логіко-функціональну схему роботи користувача із клієнтським додатком можна розділити на три основних етапи:

· Підключення до сервера баз даних;

· Вхід у систему під обліковим записом користувачів ІС і настроювання клієнтського додатка під користувача ІС;

· Робота користувача із клієнтським додатком.

Інтерфейс клієнтського додатка

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

Головне меню й панелі інструментів клієнтського додатка

Інтерфейс користувача має головне меню й пінили інструментів із кнопками.

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

Всі вікна клієнтського додатка діляться на наступні типи:

· Основні вікна;

· Допоміжні вікна;

· Системні вікна.

Подання клієнтського додатка

Для відображення інформації з персоналу виробничої дільниці автоматики аглодоменного виробництва в додатку передбачене основне вікно «Картотека по персоналу» у якому відображаються наступні подання:

· Загальні дані - (подання відображає основні дані по персоналі: Таб №; прізвище; ім'я; по батькові; пол; наявність фотокартки.);

· Табельні дані - (подання відображає: загальні дані; дата прийняття на роботу; зміну; графік роботи; стаж роботи; посада; дата призначення на посаду; розряд);

· Адреси - (подання відображає адреси прописки й проживання персоналу дільниці);

· Телефони - (подання відображає мобільні й стаціонарні телефони персоналу дільниці);

· Освіта - (подання відображає тип освіти, навчальний заклад, спеціальність і дату закінчення навчального закладу персоналом дільниці);

· Вік - (подання відображає дату народження й вік персоналу дільниці);

· Відпустка - (подання відображає основні й додаткові відпустки персоналу дільниці на поточний рік);

· Медогляд - (подання відображає дані про проходження персоналом дільниці щорічних медоглядів і флюорографії);

· Діти - (подання відображає інформацію про дітей персоналу);

· ПТЕ - (подання відображає інформацію про перевірку знань на право роботи в електроустановках у персоналу дільниці);

· ГСС - (подання відображає інформацію про наявність у персоналу дільниці права на виконання робіт у газозахисній апаратурі);

· Звільнені - (подання відображає інформацію про персонал звільнений або переведений на іншу дільницю);

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

Для швидкого доступу до потрібного подання у вікні передбачені бічні кнопки виклику подання.

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

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

У додатку доступні наступні діаграми:

· Подання «Табельні дані»

o Кількість працівників по ділянках;

o Кількість працівників по посадах;

o Кількість ІТП і робітників;

· Подання «Освіта»

o Отримана освіта;

o Кінчені навчальні заклади;

· Подання «Вік»

o Вікова діаграма по персоналу дільниці;

· Подання «Відпустка»

o Кількість відпусток з розбивкою по місяцях;

o Кількість відпусток з розбивкою по сезонах;

· Подання «ГСС»

o Наявність посвідчень на право роботи в газозахисній апаратурі у персоналу дільниці;

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

Вікна для уведення й зміни даних подання

Всі дані в поданні необхідно доповнювати або змінювати. Для цього в додатку передбачено два вікна, вікно «Прийняти на роботу або змінити дані по персоналу» і вікно «Звільнити персонал». Ці вікна доступні з панелі інструментів із кнопками керування розміщені у верхній частині вікна «Картотека по персоналу» або з контекстного меню викликуваного з будь-якого подання.

Вікно «Прийняти на роботу або змінити дані по персоналу» призначено для уведення або зміни всіх даних по персоналу дільниці (рис. 6.10). Вся інформація для уведення або зміни розбита на типи у вигляді закладок: загальні дані, табельні дані, адреси, телефони, освіта, відпустка, медогляд, діти, ПТЕ, ГСС.

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

Вікно «Звільнити персонал» призначено для перекладу даних по персоналу в подання «Звільнені», для цього необхідно вказати дату звільнення й причину.

Зміна зовнішнього вигляду подання

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

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

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

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

Звітні документи клієнтського додатка

У системі передбачені наступні звіти:

· Картотека - (у цьому звіті відбиті всі основні дані по персоналу, такі як П. І. Б., табельні дані, адреси, телефони й освіта);

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

· Адреси - (у цьому звіті відбиті адреси прописки й проживання персоналу дільниці);

· Телефони - (у цьому звіті відбиті мобільні й стаціонарні телефони персоналу дільниці);

· Освіта - (у цьому звіті відбита інформація про освіту, спеціальність, навчальний заклад й дата закінчення навчального закладу персоналом дільниці);

· Вік - (у цьому звіті зазначені дні народження персоналу і його вік);

· Відпустки - (у цьому звіті відображені основні й додаткові відпустки персоналу дільниці на поточний рік);

· Флюорографія - (у цьому звіті відображена інформація про проходження щорічної флюорографії персоналом дільниці);

· Діти - (у цьому звіті відображена інформація про дітей персоналу дільниці);

· Перевірка ЭБ - (у цьому звіті відбиті дати наступної перевірки знань на право роботи в електроустановках);

· Посвідчення ГСС - (у цьому звіті наведена інформація про наявність у персоналу посвідчень на право роботи в газозахисній апаратурі);

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

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

Всі звіти можуть бути збережені у вигляді файлів наступного формату: Rave Snapshot File (*.ndr); Native Printer Output (*.prn); Adobe Acrobat (*.pdf); Web page (*.html); Rich Text Format (*.rtf); Plain text (*.txt). Це значно розширює можливості для використання даних звіту в будь-яких цілях.

Допоміжні вікна клієнтського додатка

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

Всі вікна викликаються за допомогою основного меню програми або панелі керування із кнопками «Дані» і по призначенню діляться на наступні вікна:

· Вікно «Меню.» - призначено для включення знову створеного підміню програми в ІС. Для цього підменю створюється правило доступу користувачів ІС;

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

· Вікно «Освіта…» - призначено для додавання або зміни існуючого типу освіти.

· Вікно «Навчальні заклади…» - призначено для додавання або зміни існуючої абревіатури й повної назви навчального закладу.

· Вікно «Дільниці…» - призначено для додавання або зміни існуючої основної дільниці, дільниці або під-дільниці.

· Вікно «Посади…» - призначено для додавання або зміни існуючої назви посади й типу класифікації.

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

Системні вікна

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

Тому що до даних інформаційної системи будуть мати доступ кілька клієнтських додатків які повинні одержувати й працювати тільки з інформацією яка їм належить. У системі передбачена можливість підключення до даних ІС під засобом облікових записів користувачів ІС.

У системі передбачено два види облікових записів:

· Адміністратор - Основний обліковий запис має доступ до всіх настроювань ІС;

· Користувачі ІС - Облікові записи користувачів ІС призначені для доступу до бази даних ІС.

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

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

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

Так само в системі передбачена можливість додавання й видалення існуючого облікового запису користувача ІС, для цього в системі передбачені вікна «Додати підключення» й «Видалити підключення». Ці вікна доступно тільки з облікового запису «Адміністратор».

Кожен обліковий запис користувача ІС має права доступу до меню й поданням клієнтського додатка для забезпечення безпечного доступу до даних ІС. Для настроювання облікових записів передбачене вікно «Настроїти підключення». Це вікно доступно тільки з облікового запису «Адміністратор».

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

6.5 Програмна реалізація проектованої системи

Доступ до бази даних «Infomedia» за допомогою технології ADO

На основній формі клієнтського додатка «fmInfomedia», розміщений компонент TADOConnection, призначений для встановлення з'єднання з даними бази даних «Infomedia». Для цього в нього є властивість ConnectionString, яку необхідно заповнити рядком з даними для підключення.

У клієнтському додатку це відбувається за допомогою функції ConnectDB. Вхідними даними для цієї функції є глобальні змінні (NameServer - ім'я сервера баз даних; Namedb - ім'я бази даних; UNdb - ім'я користувача сервера баз даних; PSWdb - пароль користувача), а сама функція повертає наступні значення типу Boolean (true - підключення відбулося або false - помилка підключення).

function TfmInfomedia. ConnectDB:boolean;

begin

adocConnectDB. Connected:=false;

adocConnectDB. ConnectionString:= 'Provider=SQLOLEDB.1' +

'; Data Source=' + NameServer +

'; Initial Catalog=' + Namedb +

'; User ID=' + UNdb +

'; Password=' + PSWdb +

'; Persist Security Info=True';

try // Попытка подключится

adocConnectDB. Connected:=true;

Result:=true;

except

Result:=false;

end;

end;

Після того як зв'язок компонента TADOConnection з даними встановлена, інші ADO-компоненти (TADOTable, TADOQuery, TADOStoredProc) розміщені на всіх формах додатка, можуть посилатися на нього через свої властивості Connection і забезпечувати надання потрібних даних у своїх формах. Такий метод підключення до даних дозволяє контролювати доступ до даних в одному місці програми, а не у всіх компонентах розміщених на всіх формах.

Доступ користувачів ІС до даних для перегляду й змін

Всі дані по облікових записах користувачів ІС розміщені в таблиці dbo. Users. Кожен запис таблиці має три поля IDUser - код користувача, User - ім'я користувача, Password - пароль користувача.

Всі паролі користувачів зберігаються в таблиці в шифрованому вигляді, c використанням методу шифровки «перестановка біт». Всі функції для роботи із шифром розміщені окремо в модулі Crypto.pas і містять дві основні функції function Code (S: String) - закодувати інформацію й function DeCode (S: String) - декодувати інформацію:

type

CodeKey = array [0..7] of Byte;

var

ckey: CodeKey =(3,1,6,8,4,7,2,5);

dkey: CodeKey =(2,7,1,5,8,3,6,4);

function Code (S: String):String;

var

n, nf: Integer;

bx, cb: Byte;

begin

n:=1;

while n<=Length(S) do

begin

bx:=ord (S[n]);

cb:=0;

for nf:=0 to 7 do

if Rol (bx, ckey[nf]) then cb:= OnBit (cb, 8-nf);

S[n]:=Chr(cb);

inc(n);

end;

Result:=S;

end;

function DeCode (S: String):String;

var

n, nf: Integer;

bx, cb: Byte;

begin

n:=1;

while n<=Length(S) do

begin

bx:=ord (S[n]);

cb:=0;

for nf:=0 to 7 do

if Rol (bx, dkey[nf]) then cb:= OnBit (cb, 8-nf);

S[n]:=Chr(cb);

inc(n);

end;

Result:=S;

end;

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

Основним обліковим записом ІС є «Адміністратор», код якого завжди має значення «0», і цей обліковий запис не може бути вилучено із системи.

Перевірка підключення користувача до системи відбувається за допомогою функції ConnectIM (xUN: String; xPSW: String). Вхідними даними, є змінні xUN - ім'я користувача ІС й xPSW - пароль користувача, а повертає функція числове значення типу Integer («-1» - помилка підключення, «0» - підключився «Адміністратор», «значення >0» - код користувача ІС).

function TfmInfomedia. ConnectIM (xUN: String; xPSW: String):Integer;

var

adoqSelect: TadoQuery;

begin

Result:=-1;

adoqSelect:=select ('SELECT Password, IDUser FROM dbo. Users WHERE ([User] = «'+ xUN +''')', false);

if (not adoqSelect. IsEmpty) and (DeCode (ClearBlank (adoqSelect. Fields[0].AsString)) = xPSW) then

begin

Result:=adoqSelect. Fields[1].AsInteger;

end;

end;

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

Правила доступу користувача до головного меню клієнтського додатки перебувають у таблиці dbo. RulesMenu. Кожен запис таблиці має чотири поля IDRulesMenu - код правила, IDMenu - код підміню основного меню клієнтського додатка, IDUsers - код користувача ІС, Accept - доступ до меню, що мають наступні значення («0» - доступ заборонений, «1» - доступ дозволений). Для того щоб одержати інформацію об доступі підменю клієнтського додатка необхідно зробити запит до таблиці dbo. RulesMenu з умовою відбору інформації з коду користувача, а потім за значенням поля Accept активувати відповідне підменю.

У клієнтському додатку ці дії виконує процедура ActiveMenu (xIDUN: Integer). Вхідними даними, якої є глобальна змінна xIDUN - код користувача.

procedure TfmInfomedia. ActiveMenu (xIDUN: Integer);

var

adoqSelect: TadoQuery;

n: Integer;

begin

adoqSelect:=select ('SELECT dbo. Menu. Menu, dbo. RulesMenu. Accept '

'FROM dbo. Menu INNER JOIN ' +

'dbo. RulesMenu ON dbo. Menu.IDMenu = dbo. RulesMenu.IDMenu INNER JOIN ' +

'dbo. Users ON dbo. RulesMenu.IDUser = dbo. Users.IDUser ' +

'WHERE (dbo. Users.IDUser = '+ IntToStr(xIDUN) +')', false);

if (not adoqSelect. IsEmpty) then

repeat

TAction (FindComponent(ClearBlank (adoqSelect. Fields[0].AsString))).Enabled:=adoqSelect. Fields[1].AsBoolean;

until not adoqSelect. FindNext;

if xIDUN = 0 then

blbDeploy. Visible:= ivAlways else

blbDeploy. Visible:= ivInCustomizing;

IDim:= xIDUN;

Caption:=NameIM + ' Вход выполнил [' + UNim + '].';

 // Сообщить всем окнам сменился пользователь

for n:=0 to fmInfomedia.MDIChildCount-1 do

begin

SendMessage (fmInfomedia.MDIChildren[n].Handle, SX_MYMESSAGE, 0,0);

end;

end;

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

Формування даних для подань

Правила доступу користувача до даних подання клієнтського додатка перебувають у таблиці dbo. RulesView. Кожен запис таблиці має шість полів IDRulesViews - код правила, IDViews - код подання клієнтського додатка, IDUsers - код користувача ІС, IDSection - код дільниці, [View] - дозвіл перегляду даних й [Update] - дозвіл зміни даних, що мають наступні значення («0» - заборонено, «1» - дозволено).

Фактично правила доступу надаються до інформації з дільниць. Для того щоб одержати інформацію про доступні до перегляду або зміни дільниці необхідно зробити запит до таблиці dbo. RulesView з умовою відбору інформації з коду користувача й коду подання, і за значенням поля [View] визначити по якій ділянці дозволений перегляд, а за значенням поля [Update] визначити по якій ділянці дозволена зміна даних.

Вся інформація для подань формується за допомогою збережених процедур dbo. Personnel_Card й dbo. Personnel_Baby. Дані процедури надають всю інформацію згідно правил доступу для користувача ІС, запитуваного ці дані. Вхідними даними для всіх збережених процедур є наступні змінні @Views - назва подання й @IDUsers - ID користувача ІС запитуваного ці дані. Вихідними даними буде таблиця з інформацією з персоналу, дозволеному для перегляду користувачу ІС. По кожному рядку вихідної таблиці додається поле [Update] відповідно до прав доступу з таблиці dbo. RulesView.

Доступ до зміни даних подання відбувається за допомогою обробки події AfterScroll (перехід на наступний рядок) компонента TADOStoredProc розміщеного на формі fmPersonnelCard (Вікно «Картотека по персоналу») і підключеного до збереженої процедури dbo. Personnel_Card.

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

procedure TfmPersonnelCard.adosPersonnel_CardAfterScroll (

DataSet: TDataSet);

begin

pcAdd. Enabled:=true;

if adosPersonnel_CardUpdate. AsBoolean then

begin

if not adosPersonnel_Card. IsEmpty then

begin

pcEdit. Enabled:= true;

pcDel. Enabled:= true;

end else begin

pcEdit. Enabled:= false;

pcDel. Enabled:= false;

end;

end else begin

pcEdit. Enabled:= false;

pcDel. Enabled:= false;

end;

end;

Формування даних для діаграм

Вся інформація для побудови діаграм формується за допомогою ADO-компонента TADOQuery розміщеного на формі fmPersonnelCard (Вікно «Картотека по персоналу»), у властивість SQL якого завантажується запит на формування діаграми. Отриманий набір даних виводиться за допомогою компонента TDBChart у вигляді діаграм.

Тому що набір даних формується для різних умов відбору й за різним даними, рядок SQL-запиту формується програмно й завантажується в компонент TADOQuery у міру вибору діаграми. Це відбувається за допомогою процедур відповідній певній діаграмі. У кожній процедурі формується основне тіло запиту й додаткові рядки запиту, які залежно від вибору користувача (обрана дільниця, посада, й. т.д.) приєднуються до тіла основного запиту в потрібнім місці й формують, остаточний запит. Потім текст запиту програмно завантажується у властивість SQL компонента TADOQuery, і за допомогою властивості Active компонента TADOQuery відкривається набір даних, по яких компонент TDBChart формує діаграму.

Нижче наведена процедура DiagrammTabData для формування діаграми по поданню «Табельні дані», у ній формується три типи діаграми: кількість працівників по дільницях, кількість працівників по посадах, кількість ІТП і робітників. Всі діаграми мають додатковий критерій відбору, по якій дільниці робити відбір.

procedure TfmPersonnelCard. DiagrammTabData;

var

xSQL, xSQL1, xSQL2, xSQL3: String;

begin

adoqDiagramm. Active:= false;

xSQL:='SELECT ';

case rgTD. ItemIndex of

0: begin

xSQL1:= 'dbo. Section. [Section], ';

xSQL2:= 'GROUP BY dbo. Section. [Section] ';

xSQL3:= 'ORDER BY COUNT (dbo. Personnel. TabNum) ';

GridShow (dbcrDiagramm, 0);

end;

1: begin

xSQL1:= 'dbo. Post. Post, ';

xSQL2:= 'GROUP BY dbo. Post. Post ';

xSQL3:= 'ORDER BY COUNT (dbo. Personnel. TabNum) ';

GridShow (dbcrDiagramm, 1);

end;

2: begin

xSQL1:= 'RSS = CASE WHEN dbo. Post.RSS =1 then «ИТР» else «Рабочие» end, ';

xSQL2:= 'GROUP BY dbo. Post.RSS ';

xSQL3:= 'Order By dbo. Post.RSS ';

GridShow (dbcrDiagramm, 2);

end;

end;

xSQL:=xSQL + xSQL1;

xSQL:=xSQL + 'COUNT (dbo. Personnel. TabNum) AS Count ' +

'FROM dbo. Views INNER JOIN ' +

'dbo. RulesViews ON dbo. Views.IDViews = dbo. RulesViews.IDViews INNER JOIN ' +

'dbo. Personnel INNER JOIN ' +

'dbo. Section ON dbo. Personnel. [Section] = dbo. Section.IDSection ON dbo. RulesViews.IDSection = dbo. Section.IDSection INNER JOIN ' +

'dbo. Post ON dbo. Personnel. Post = dbo. Post.IDPost ' +

'WHERE (dbo. RulesViews.IDUsers = 25) ' +

'AND (dbo. Views. Views = «vPeronnel_Card») ' +

'AND (dbo. RulesViews. [View] = 1) AND (dbo. Personnel. DateOutWork is null) ';

if cbSection. Text <> «Все» then

xSQL:=xSQL + 'AND (dbo. Section. [Section] = «' + cbSection. Text + «') ';

xSQL:=xSQL + xSQL2 + xSQL3;

adoqDiagramm.SQL. Clear;

adoqDiagramm.SQL. Add(xSQL);

adoqDiagramm. Active:= true;

end;

Формування даних для звітів

Вся інформація для звітів формується за допомогою ADO-компонента TADOQuery розміщеного на формі fmSelectReport (Вікно «Вибір для звіту»), у властивість SQL якого завантажується запит на формування звіту. Отриманий набір даних передається за допомогою компонента TRvDataSetConnection у проект звіту Report.rav.

Одержання рядка SQL-запиту для звіту відбувається, програмно використовуючи той же метод, як і для діаграм за допомогою процедури CreateReport (nReport: Integer), вхідними даними якої є номер звіту nReport, а вихідними - рядок SQL-запиту.

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

Потім після натискання користувачем на кнопку «Показати», отримана строка SQL-запиту міститься у властивість SQL, ADO-компонента TADOQuery і за допомогою властивості Active компонента TADOQuery відкривається набір даних, які через компонент TRvDataSetConnection передаються в проект звіту.

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

Завантаження рядка SQL-запиту й вибір потрібної форми для відображення відбуваються в процедурі btViewClick (Sender: TObject) оброблювача події натискання кнопки «Показати».

procedure TfmSelectReport.btViewClick (Sender: TObject);

begin

try

adoqReport. Active:= false;

adoqReport.SQL. Clear;

adoqReport.SQL. Add (CreateReport(xReport));

adoqReport. Active:=true;

fmInfomedia.rp1. ProjectFile:= ReportFile;

case xReport of

0: fmInfomedia.rp1. ExecuteReport('rPersonnel');

1: fmInfomedia.rp1. ExecuteReport('rTabData');

2: fmInfomedia.rp1. ExecuteReport('rAddress');

3: fmInfomedia.rp1. ExecuteReport('rPhone');

4: fmInfomedia.rp1. ExecuteReport('rFormation');

5: fmInfomedia.rp1. ExecuteReport('rAge');

6: fmInfomedia.rp1. ExecuteReport('rLeave');

7: fmInfomedia.rp1. ExecuteReport('rFluorography');

8: fmInfomedia.rp1. ExecuteReport('rBaby');

9: fmInfomedia.rp1. ExecuteReport('rPTE');

10: fmInfomedia.rp1. ExecuteReport('rGSS');

end;

except

on E:EOleException do

MessageDlg ('Ошибка!' +

#13 + 'Источник ошибки [' + E. Source + '].' +

#13 + 'Код ошибки №' + IntToStr (E. ErrorCode) +

#13 + 'Сообщение об ошибке: [' + E. Message + '].'

mtError, [mbCancel], 0)

end;

end;

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

Метою дипломної роботи є створення системи керування інформаційними потоками виробничої дільниці автоматики аглодоменного виробництва. Розроблена система була випробувана на ВАТ «АрселорМиттал Кривий Ріг» у службі автоматизації технологічних процесів на дільниці автоматики аглодоменного виробництва.

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

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

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

Зспп=Ззпспп мвсппобщ,

де

Зспп - витрати на створення програмного продукту;

Ззпспп - витрати на оплату праці розробника програми;

Змвспп - витрати на оплату машинного часу;

Зобщ - загальні витрати.

де

to - витрати праці на підготовку опису завдання;

tа - витрати праці на розробку алгоритму рішення задачі;

tб - витрати праці на розробку блок-схеми алгоритму рішення задачі;

Витрати на оплату праці розробника програми (Ззпспп) визначаються шляхом множення трудомісткості створення програмного продукту на середню годинну оплату програміста (з урахуванням коефіцієнта відрахувань на соціальні потреби):

Ззпспп=t*Tчас.

Розрахунок трудомісткості створення програмного продукту.

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

t= to+ tа+ tб+ tп+ tд+ tот,

tп - витрати праці на складання програми по готовій блок-схемі;

tд - витрати праці на підготовку документації завдання;

tот - витрати праці на відладку програми на ЕОМ при комплексній відладці завдання.

Складові витрат можна виразити через умовне число операторів Q. У нашому випадку число операторів у відлагодженій програмі Q=1050.

Розрахунок витрат праці на підготовку опису завдань.

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

to= Q*B/(75…85*K),

де

B - коефіцієнт збільшення витрат праці унаслідок недостатнього опису завдання, уточнень і деякої недоробки, B=1,2…5;

K - коефіцієнт кваліфікації розробника, для тих, що працюють до 2 років K=0,8;

Коефіцієнт В приймаємо рівним 2.

Таким чином отримаємо

to= 1050*2/(78*0,8) = 33,65 (люд-год).

Розрахунок витрат праці на розробку алгоритму.

Витрати праці на розробку алгоритму рішення задачі:

tа = Q/(60…75*K)

tа = 1050/(70*0,8)=18,75 (люд-год).

Розрахунок витрат праці на розробку блок-схеми.

Витрати праці на розробку блок-схеми алгоритму рішення задачі обчислимо таким чином:

tб= Q/(60…75*K)

tб = 1050/(71*0,8)=18,48 (люд-год).

Розрахунок витрат праці на складання програми.

Витрати праці на складання програми по готовій блок-схемі обчислимо таким чином:

tп= Q/(60…75*K)

tп = 1050/(72*0,8)=18,23 (люд-год).

Розрахунок витрат праці на відладку програми.

Витрати праці на відладку програми на ЕОМ при комплексній відладці завдання:

tот=1.5* tAот,

де tAот - витрати праці на відладку програми на ЕОМ при автономній відладці одного завдання;

tAот= Q/(40…50*K)

tAот = 1050/(48*0,8)=27,34 (люд-год)

Звідси tот=1.5*27,34=41,01 (люд-год).

Розрахунок витрат праці на підготовку документації.

Витрати праці на підготовку документації по завданню визначаються:

tд= tдр+ tдо,

де

tдр - витрати праці на підготовку матеріалів в рукопису;

tдо - витрати на редагування, друк і оформлення документації;

tдр= Q/(150…200*K)

tдр = 1050/(180*0.8) = 7,29 (люд-год)

tдо=0.75*tдр

tдо =0.75*7,29=5,47 (люд-год)

Звідси

tд=7,29+5,47=12,76 (люд-год).

Отже, загальну трудомісткість програмного продукту можна розрахувати:

t = 33,65 +18,75 +18,48+18,23 +41,01+12,76 =142,88 (люд-год).

Розрахунок середньої зарплати програміста.

Середня зарплата програміста в сучасних ринкових умовах може варіюватися в широкому діапазоні. Для розрахунку візьмемо середню годинну оплату праці, яка складає Тчас.=8 грн/година, що означає 1408 грн/мес при 8-ми годинному робочому дні і 5-ти денному робочому тижню.

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

33,2% - пенсійний фонд;

1,4% - соціальне страхування;

1.6% - відрахування до державного фонду зайнятості на випадок безробіття;

1% - на соціальне страхування від нещасного випадку на виробництві і професійних захворювань, які спричинили втрату працездатності.

Разом нарахування на соціальні потреби складають 37,2%.

Тобто 1408 грн*37,2%=520,96 грн

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

Ззпспп= 1408+520,96=1928,96 грн.

Витрати на оплату машинного часу.

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

Змвспп час*tЕОМ,

де

Счас - ціна машино-години орендного часу, грн/год;

tЕОМ - фактичний час відладки програми на ЕОМ;

Розрахунок фактичного часу відладки.

Фактичний час відладки обчислимо за формулою:

tеом = tп + tдо + tот;

tеом =18,23 +5,47 +41,01 = 64,71 години

Розрахунок ціни машино-години.

Ціну машино-години знайдемо по формулі:

Сгод = Зеомеом,

де

Зеом - повні витрати на експлуатацію ЕОМ на протязі року;

Теом - дійсний річний фонд часу ЕОМ, год/рік.

Розрахунок річного фонду часу роботи ПЕОМ.

Загальна кількість днів в році - 365. Число святкових і вихідних днів - 114 (10 святкових і 52*2 - вихідні).

Час простою в профілактичних роботах визначається як щотижнева профілактика по 3 години.

Разом річний фонд робочого часу ПЕОМ складає:

Теом = 8*(365-114) - 52*3=1852 год.

Розрахунок повних витрат на експлуатацію ЕОМ.

Повні витрати на експлуатацію можна визначити по формулі:

Зеом = (Ззп+ Зам+ Зэл+ Здм+ Зпр+ Зін),

де,

Ззп - річні витрати на заробітну плату обслуговуючого персоналу, грн/рік;

Зам - річні витрати на амортизацію, грн/рік;

Зэл - річні витрати на електроенергію, споживану ЕОМ, грн/рік;

Здм - річні витрати на допоміжні матеріали, грн/рік;

Зпр - витрати на поточний ремонт комп'ютера, грн/рік;

Зін - річні витрати на інші і накладні витрати, грн/рік.

Амортизаційні відрахування.

Річні амортизаційні відрахування визначаються по формулі:

Замбал*Нам,

де Сбал - балансова вартість комп'ютера, грн/шт.;

Нам - норма амортизації, %;

Нам =25%.

Балансова вартість ПЕОМ включає відпускну ціну, витрати на транспортування, монтаж устаткування і його відладку:

Сбал = Срин +Зуст;

де

Срин - ринкова вартість комп'ютеру, грн/шт.,

Зуст - витрати на доставку і установку комп'ютера, грн/шт.;

Комп'ютер, на якому велася робота, був придбаний за ціною

Срин =5000 грн, витрати на установку і наладку склали приблизно 10% від вартості комп'ютера.

Зуст = 10%* Срин

Зуст =0.1*5000=500 грн.

Звідси, Сбал = 5000 +500 =5500 грн./шт.;

а Зам=5500*0,25= 1375 грн/год.

Розрахунок витрат на електроенергію.

Вартість електроенергії, споживаної за рік, визначається по формулі:

Зел = Реом * Теом * Сел * А,

де

Реом - сумарна потужність ЕОМ,

Теом - дійсний річний фонд часу ЕОМ, год/рік;

Сел - вартість 1кВт*год електроенергії;

А - коефіцієнт інтенсивного використання потужності машини.

Згідно технічному паспорту ЕОМ Реом =0.22 кВт, вартість 1кВт*год електроенергії для споживачів Сел =0,2436 грн., інтенсивність використання машини А=0.98.

Тоді розрахункове значення витрат на електроенергію:

Зел = 0.22 * 1852* 0.2436* 0.30 = 29,78 грн.

Розрахунок витрат на поточний ремонт.

Витрати на поточний і профілактичний ремонт приймаються рівними 5% від вартості ЕОМ:

Зтр = 0.05* Сбал

Зтр = 0.05* 5500 = 275 грн.

Розрахунок витрат на допоміжні матеріали.

Витрати на матеріали, необхідні для забезпечення нормальної роботи ПЕОМ, складають близько 1% від вартості ЕОМ:

Звм =0,01* 5500 =55 грн.

Інші витрати по експлуатації ПЕОМ.

Інші непрямі витрати, пов'язані з експлуатацією ПЕОМ, складаються з вартості послуг сторонніх організацій і складають 5% від вартості ЕОМ:

Зпр = 0,05* 5500 =275 грн.

Річні витрати на заробітну плату обслуговуючого персоналу.

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

Ззп = Зоснзп +Здопзп +Зотчзп.

Основна заробітна плата визначається, виходячи із загальної чисельності тих, що працюють в штаті:

Зоснзп =12 *іокл,

де

Зіокл - тарифна ставка і-го працівника в місяць, грн;

12 - кількість місяців.

У штат обслуговуючого персоналу повинні входити інженер-електронщик з місячним окладом 1500 грн. і електрослюсар з окладом 1200 грн. Тоді, враховуючи, що даний персонал обслуговує 20 машин, маємо витрати на основну заробітну плату обслуговуючого персоналу, які складуть:

Зоснзп = 12*(1500+1200)/20=1620 грн.

Додаткова заробітна плата складає 60% від основної заробітної плати:

Здопзп = 0.6 *1620 = 972 грн.

Відрахування на соціальні потреби складають 37,2% від суми додатковою і основною заробітних плат:

Зотчзп = 0,372*(1620 + 972) = 959,04 грн.

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

Ззп = 1620 +972 +959,04 = 3551,04 грн.

Повні витрати на експлуатацію ЕОМ в перебігу року складуть:

Зеом = 3551,04 + 1375+ 29,78 + 55 + 275+ 275= 5560,82 грн.

Тоді ціна машино-години часу, що орендується, складе

Сгод = 5560,82 /1852 = 3 грн.

А витрати на оплату машинного часу складуть:

Змвспп =Сгод*tеом

Змвспп = 3 * 64,71= 194,13 грн.

Розрахунок загальних витрат.

Загальні витрати - 643

Зспп=Ззпспп +Змвспп+Ззаг

Зспп =1928,96+194,13 +643=2766,09 грн.

Тобто собівартість програмного продукту 2766,09 грн.

А зараз визначимо ціну програмного продукту:

Ц = Зспп + Р,

Где Ц - ціна програмного продукту;

Р - 15% від витрат на створення програмного продукту.

Ц = 2766,09 +414,91=3181 грн.

Ціна програмного продукту дорівнює 3181 грн.

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

Економія від використання однієї розробленої програми представлятиме:

8,1 - курс долара Національного банку України

ЕК = $1000 * 8,1-3181= 4919 грн.

Висновки

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

· Поліпшити ефективність роботи лінійних керівників дільниць;

· Підвищити швидкість обробки інформації;

· Зменшити бумага-обіг на дільниці;

· Зменшити витрати часу на збір інформації.

Щоб реалізувати поставлене завдання, необхідно було вибрати оптимальну мову програмування що дозволяє працювати з базами даних. Тому реалізація даного завдання вироблялася за допомогою інструментального засобу прискореної розробки програм системи програмування Delphi7 і технології Rave Reports.

Середовище Delphi завоювала собі репутацію найефективнішого засобу розробки додатків баз даних, тобто програм, що обслуговують електронні сховища інформації. Ця репутація визначається трьома обставинами: високопродуктивною машиною доступу до даних різного формату (Borland Database Engine, BDE), наявністю численних компонентів, орієнтованих на цю сферу застосування, і відношенням самого середовища до класу інструментальних засобів прискореної розробки програм (Rapid Application Development, RAD).

Це прискорення досягається за рахунок двох характерних властивостей Delphi: візуального конструювання форм і широкого використання бібліотеки візуальних компонентів (Visual Component Library, VCL).

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

Список літератури

1. Архангельский Алексей. Интегрированная среда разработки Delphi (версии 1 - 5). Практическое пособие с примерами.

2. Архангельский А.Я. Работа с локальными базами данных в Delphi 5.

3. Атре Ш. Структурный подход к организации баз данных. - М.: Финансы и статистика, 2000.

4. Бобровский С.И. Delphi 7. Учебный курс.

5. Бойко В.В., Савинков В.М. Проектирование баз данных информационных систем. - М.: Финансы и статистика, 1999. - 351 с.

6. Борри Х. Firebird: руководство разработчика баз данных: Пер. с анrл. - СПб.: БХВ Петсрбурr, 2006.

7. Горев А., Ахаян Р., Макашарипов С. «Эффективная работа с СУБД».СПб.:Питер, 2001.

8. Дейт К., «Введение в системы баз данных», Москва, 'Hаука', 2000 г.

9. Диго С.М., «Проектирование и использования баз данных». Москва: Финансы и статистика 2000.

10. Дунаев С.В. Borland-технологии. SQL-Link. Interbase. Paradox for Windows. Delphi.

11. Елманова Наталия. ADO в Delphi.

12. Епанешников A.M., «Программирование в среде Delphi 5.0».

13. Кириллов В.В. Структурированный язык запросов (SQL). - СПб.: ИТМО, 2001.

14. Когловский М.Р., «Технология баз данных на персональных ЭВМ», Москва, 'Финансы и статистика', 1992 г.

15. Кожедуб О.А., Скиба С.А., Подольский С.В. Разработка интернет-приложений в Delphi.

16. Кузнецов С.Д. Основы баз данных: учебное пособие - М.: Интернет-Университет Информационных Технологий; БИНОМ. Лаборатория знаний, 2007.

17. Мамаев Е. MS SQL Server 2000. Наиболее полное руководство. - СПб.: Питер, 2001.

18. Мартин Дж., «Организация баз данных в вычислительных системах» М: Мир 1998 г.

19. Матчо Джон, Дэвид Р. Фолкнер. «Delphi» - пер. с англ. - М.:Бином, 1999 г.

20. Мейер М. Теория реляционных баз данных. - М.: Мир, 1997.

21. Оспищев Д.А., Paradox for Windows: Практическое руководство. Под редакцией Оспищева Д.А. Издательство АОЗ' «Алевар».

22. Сорокин А.В. Delphi. Разработка баз данных. - СПб.: Питер, 2005.

23. Тельман Дж., «Основы систем баз данных», Москва, Финансы и статистика, 1999 г.

24. Тиори Т., Фрай Дж. Проектирование структур баз данных. В 2 кн., - М.: Мир, 1995.

25. Фаранов В., «Программирование баз данных в Delphi 7», Питер, 2003.

26. Фаранов В., «Учебный курс Delphi 6», Питер, 2002.

27. Хендерсон К. Профессиональное руководство по SQL Server: хранимые процедуры, XML, HTML. - СПб.: Питер, 2005.

28. Цикритизис Д., Лоховски Ф. Модели данных. - М.: Финансы и статистика, 1999.

29. Шумаков П.В. «Delphi 5.0 и создание баз данных». Москва 2001 г.

30. Borland Delphi 6. Руководство разработчика.

Размещено на Allbest.ru


Подобные документы

  • Середовище розробки програм Borland Delphi, робота компонентів. Створення нових компонентів та використання компонентів Delphi для роботи з базами даних. Системи керування базами даних InterBase та Firebird. Компоненти Delphi для роботи з СКБД FireBird.

    реферат [71,4 K], добавлен 12.04.2010

  • Використання баз даних та інформаційних систем. Поняття реляційної моделі даних. Ключові особливості мови SQL. Агрегатні функції і угрупування даних. Загальний опис бази даних. Застосування технології систем управління базами даних в мережі Інтернет.

    курсовая работа [633,3 K], добавлен 11.07.2015

  • Засоби організації збереження і обробки даних для інтерфейсних програм. Borland C++ Builder - засіб швидкої розробки програм, що дозволяє створювати їх мовою C++, використовуючи середовище розробки і бібліотеку компонентів Delphi. Прийоми проектування.

    курсовая работа [110,5 K], добавлен 28.03.2009

  • Delphi як візуальне середовище розробки програмного забезпечення. Створення автоматизованої системи відстеження дзвінків з мобільних телефонів працівниками правоохоронних органів. Основи технології ACTIVEX DATA OBJECTS. Функціональні можливості системи.

    дипломная работа [5,0 M], добавлен 26.10.2012

  • Аналіз етапів шифрування тексту. Програмно-апаратна характеристика комп’ютера. Створення кнопкової форми в Delphi. Розробка і опис алгоритму. Діаграма прецедентів проектованої системи. Інструкція роботи користувача з системою. Керівництво програміста.

    курсовая работа [999,1 K], добавлен 03.12.2014

  • Розробка системи для побудови моделі та одержання статистичних звітів про процеси в системах, побудованих за принципом Triple Play. Середовище Delphі як засіб проектування інтерфейсу. Особливості написання програм. Можливості програмного продукту.

    дипломная работа [3,4 M], добавлен 22.10.2012

  • Історія розвитку Delphi (Object Pascal). Інтегроване середовище розробки Delphi. Ознайомлення з історією створення і використання логічної гри "Пазли". Реалізування ігрової комп’ютерної програми "Конструктор пазлів" в середовищі програмування Delphi 7.

    курсовая работа [2,2 M], добавлен 10.11.2015

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

    курсовая работа [6,7 M], добавлен 11.09.2014

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

    реферат [1,5 M], добавлен 13.06.2010

  • Використання комп'ютерних технологій та програмного забезпечення. Загальні відомості про середовище візуального програмування Delphi 7. Аналітичний огляд програм, які вирішують задачі методом Крамера або методом Гауса. Розробка програми "Лічильник задач".

    курсовая работа [2,7 M], добавлен 10.04.2014

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.