Розробка автоматизованого робочого місця управління замовленнями у малому бізнесі (ПП "Сігма")

Автор работы: Пользователь скрыл имя, 11 Июня 2013 в 00:23, дипломная работа

Описание работы

Досягнення поставленої мети потребує рішення в роботі наступних основних задач:

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

Содержание работы

Введення
1. Проектно-конструкторський розділ
1.1 Загальносистемні рішення
1.1.1 Загальні положення
1.1.2 Опис процесу діяльності
1.1.3 Опис функцій, які автоматизуються
1.1.3.1 Ведення замовлень
1.1.3.2 Формування списку замовлень
1.1.3.3 Ведення списку послуг
1.1.3.4 Ведення списку матеріалів
1.1.3.5 Ведення списку груп послуг
1.1.3.6 Ведення списку груп матеріалів
1.1.3.7 Формування кошторису на замовлення
1.1.3.8 Формування звіту по кошторису для друку
1.1.4 Опис постановки завдання
1.2 Рішення з інформаційного забезпечення
1.2.1 Перелік вхідних даних
1.2.2 Перелік вихідних даних
1.2.3 Опис інформаційного забезпечення
1.2.3.1 Логічна модель даних
1.2.3.2 Схема бази даних
1.3 Рішення з технічного забезпечення
1.4 Рішення з математичного забезпечення
1.4.1 Змістовна постановка транспортнї задачі
1.4.2 Формальна модель транспортної задачі
1.4.3 Метод потенціалів
1.4.3.1 Схема алгоритму
1.4.3.2 Метод північно-західного кута
1.4.3.3 Метод найменшої вартості
1.4.3.4 Метод Фогеля
1.4.3.5 Приклад рішення задачі
1.5 Опис програмного забезпечення
1.5.1 Вибір інструментів розробки
1.5.1 Форми та модулі програми
1.5.2 Опис модулів і класів системи
1.5.3 Схема обробки дій користувача
2. Технологічний розділ
2.1 Керівництво користувача
2.1.1 Введення
2.1.2 Головна форма
2.1.2.1 Список замовлень
2.1.2.2 Форма вводу нових замовлень
2.1.2.2 Панель інструментів
2.1.3 Головне меню
2.1.4 Меню "Данные"
2.1.4.1 Пункт меню "Сметы"
2.1.4.2 Пункт меню "Печать"
2.1.4.3 Пункт меню "Справочники"
2.1.4.4 Пункт меню "Вихід"
2.1.5 Меню "?"
2.2 Обробка помилок
3. Техніко-економічний розділ
3.1 Загальні положення
3.2 Вихідні дані для розрахунку
3.3 Визначення трудомісткості та тривалості розробки програми
3.4 Розрахунок витрат на розробку програми
3.5 Розрахунок поточних витрат реалізації та мінімальної ціни продажу програми
3.6 Економія у споживача програмного продукту
3.7 Розрахунок економічної ефективності проекту
3.8 Висновки
Висновки
Перелік посилань
Додаток Вихідний код програми

Файлы: 1 файл

Розробка автоматизованого робочого місця управління замовленнями у малому бізнесі.doc

— 975.50 Кб (Скачать файл)

 

1.4.3.5 Приклад рішення  задачі

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

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

 

Таблица 1.9 – Умови транспортної задачі

 

 2

 

 5

 

 3

 

 0

 

 
       

10

                 
 

 3

 

 4

 

 1

 

 4

 
       

20

                 
 

 2

 

 6

 

 5

 

 2

 
       

20

                 

5

25

10

10

 

 

Розв'язування:

1. Виберемо змінну, якій відповідає мінімальна вартість. Такою є змінна Х14 (C14=0). Відповідні значення попиту і об'єму виробництва визначають Х14=10, тобто і по рядку, і по стовпцю обмеження виконуються одночасно. Викреслювати можна або рядок 1 або стовпець 4, викреслимо рядок 1. Після цього об'єм виробництва в стовпці 4 залишається рівним нулю.

 

     

10

10

 ¾

       

20

 
       

20

 

 5

25

10

10

   
     

0

   

 

 

2. Тепер серед елементів, що залишилися, мінімальна вартість відповідає X23. Отримуємо X23=10. Викреслюємо 3-й стовпець.

 

     

10

10

 ¾

   

10

 

20

10

       

20

 

5

25

10

10

   
   

 ¾

0

   

 

3. Далі найменша вартість відповідає X31 і X34. Виберемо X34. І отримаємо  X34=0. Викреслюємо 4-й стовпець.

 

     

10

10

 ¾

   

10

 

20

10

     

0

20

20

5

25

10

10

   
   

 ¾

 0

   
     

 ¾

   

 

4. Серед змінних, що залишилися, найменша вартість відповідає X31. Викреслюємо 1-й стовпець.

 

     

10

10

 ¾

   

10

 

20

10

5

   

 0

20

20

15

5

25

10

10

   

 ¾

 

 ¾

 0

   
     

 ¾

   

 

5. Далі викреслюємо 2-й рядок,  оскільки найменша вартість відповідає X22.

 

     

10

10

 ¾

 

10

10

 

20

10

 ¾

 5

   

 0

20

20

15

5

25

10

10

   

 ¾

15

 ¾

0

   
     

 ¾

   

 

6. X32=15. Оскільки залишається тільки один стовпець і лише один рядок, процес закінчується.

 

     

10

10

 ¾

 

10

10

 

20

10

 ¾

5

15

 

 0

20

20

15

 0

+5

25

10

10

 ¾

15

 ¾

0

 

 ¾

 

 ¾


 

В результаті отримано наступне базисне  рішення:

 

     

10

10

 

10

10

 

20

5

15

 

 0

20

 5

25

10

10

 

 

Базисні змінні приймають значення: X14=10, X22=10, X23=10, X31=5, X32=15, X34=0. Решта змінних  – небазисні. Сумарні транспортні  витрати, відповідні цьому рішенню, рівні 10 * 0 + 10 * 4 + 10 * 1 + 5 * 2 + 15 * 6 + 0 * 2 = 150 од. вартості. Якщо вирішити задачу з використанням методу північно-західного кута, то можна побачити, що отриманий результат цим методом гірше за результат, отриманий при рішенні задачі з використанням методу найменшої вартості в розглянутому прикладі.

 

1.5 Опис програмного забезпечення

 

1.5.1 Вибір інструментів розробки

У даному проекті ми використовуватимемо  середовище розробки Borland Delphi 7. Ця мова програмування на сьгодняшній час вже декілька застаріла, але для програмування застосувань, що працюють з MS Access вона дуже зручна. Borland Delphi 7 – розвинена об'єктно-орієнтована мова, що дозволяє розробляти скільки завгодно складні і, в той же час, ефективно працюючі системи. До того ж у розробника найбільший досвід програмування саме на цих "старих" мовах програмування.

 

1.5.1 Форми та модулі програми

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

Програмна частина дипломного проекту складається  з 7-и форм, 1 модуль коду і 3-и модулів  класу. Форми використовуються для  введення даних користувачем. Модулі коду містять глобальні типи і змінні проекту, а також загальні процедури і функції. У модулях класів реалізовані програмні об'єкти, які використовуються при обробці подій форм.

 

Рисунок 1.7 – Структура Delphi-проекта

 

1.5.2 Опис модулів і класів системи

Модули форм містять процедури обробки таких подій:

  • Form_Load – завантаження форми;
  • Form_Resize – зміна розмірів форми;
  • Form_Unload – вивантаження форми;
  • Form_KeyPress – обробка клавіатури на полях редагування;
  • Form_KeyDown - обробка клавіатури на полях редагування;
  • sst_Click – обработка щиглика миші на вкладках;
  • lvwGroup_GotFocus – фокус на переліку;
  • lvwGroup_LostFocus – перелік втратив фокус;
  • lvwGroup_ItemClick – щиглика миші на переліку;
  • lvwGroup_KeyDown – клавіатура на переліку;
  • txtGroup_GotFocus – поле редагування отримує фокус;
  • txtGroup_LostFocus– поле редагування втрачає фокус;
  • txtGroup_KeyDown– клавіатура на поле редагування.

При обробці ціх подій викликаються відповідні методи класів.

Модулі коду містять наступні глобальні процедури і функції:

  • MsgErr() – повідомлення про помилку;
  • CenterForm(frm) – центрирвання форми;
  • SetColumnsWidth(lvw) – установка ширини стовпчиків переліку;
  • CheckNullDate(vDate) sFormat – перевірка дати;
  • IdToKey(nId) sKey – перведення числового ключа таблиці БД у текстовий ключ колекції;
  • KeyToId(sKey) nId – зворотне переведення;
  • NotChanged(vCurr(), vPrev()) bNotChange – перевірка змін у запису БД;
  • EmptyFields(txt()) bEmpty – перевірка пустого текстового поля;
  • SetInitials(sSurn, sName, sPatr) sInitName – установка початкового значення;
  • SetFieldFocus(ctrl, shp, fra, oList) – установка фокуса на поле;
  • SetCtrlFocus(ctrl, shp, fra) – установка фокуса на поле редагування;
  • ListGotFocus(lvw, shp, fra, oList) – обробка фокуса на вкладці;
  • ListItemClick(lvw, itm, oList) - обробка щиглика на переліку;
  • ListKeyDown(lvw, KeyCode, oList) – обробка клавіатури на перліку;
  • CtrlKeyDown(ctrl, lvw, KeyCode, oList, xlvw, ylvw) – обробка клавіатури на поле редагування;
  • lvwLinkKeyDown(lvwLink, lvw, KeyCode, oList, oListLink, xlvw, ylvw) – обробка клавіатури на списку зв’язку.

Основні класи системи:

  • clsDB – клас База Даних;
  • clsDBTable – клас Таблиця Бази даних;
  • clsList – клас Список;
  • clsLinkList – клас Список Зв’язку.

Методи класа База даних:

  • Init(sDBFile) – ініцализація (відкриття БД);
  • Term – завершення (закриття БД);
  • GetData(sQuery) rs – отримання данни за SQL-запитом;
  • PutData(sQuery) – зміна даних в БД за SQL-запитом;
  • FieldType(sTable, sField) nType – визначення типа поля БД.

Методи класа Таблиця Бази даних:

  • Init(oDB, sTable, sFieldList) – ініцализація об’єкта Таблиця;
  • GetRecord(nId) vField – отримання запису за ключем;
  • GetRecordOn(sQuery) vRecord – отримання запису за запитом;
  • UpdateRecord(nId, vField()) – зміна запису;
  • InsertRecord(vField()) nId – додавання запису;
  • DeleteRecord(nId) – видалення запису;
  • GetList(sWhere="") vRecordField – заповнення списку таблицею;
  • GetListOn(sQuery) vRecordField – заповнення списку за запитом.

Методи класа Список:

  • Init(lvw,ctr(),chk,oDB,sTable,sFieldList,sWhere="") – заповнення списку;
  • GetRecord – отримання поточного запису;
  • PutRecord – занесення поточного запису у БД;
  • UpdateRecord – оновлення поточного запису у БД;
  • InsertRecord – додавання поточного запису у БД;
  • DeleteRecord – видалення поточного запису;
  • NewRecord – новий запис;
  • EditRecord – перехід у режим редагування.

Методи класа Список З’вязку:

  • Init(lvw, oDB, sLinkTable, sMainId, sLinkId, sSourceTable, sSourceField) – ініцализація об’єкта;
  • GetList(nMainId) – отримання списка за ключем.

 

1.5.3 Схема обробки дій користувача

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

Розглянемо форму frmMain.frm – головну  форму програми.

До глобальних перемінніх рівня  модуля: відносяться тексти запитів БД - gSQLCmd, стан форми - gFormState.

Перемінна стану форми gFormState може приймати одне з трьох значень:

  • stateView – перегляд;
  • stateEdit – редагування;
  • stateAdd – додавання запису.

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

  • видалення запису;
  • перехід в режим редагування;
  • перехід в режим додавання.

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

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

Після введення або зміни даних  користувач може натиснути на одну з кнопок на панелі інструментів (OK або Відміна) і тим самим занести  нові дані в базу даних або відмінити всі зміни на формі. У разі додавання або зміни виконується відповідний SQL - запит (INSERT або UPDATE) і зміни відображаються в списку. У будь-якому випадку курсор повертається на список і стан форми встановлюється в значення Перегляд.

Далі форма чекає подальших  дій користувача – натиснення відповідної кнопки на панелі інструментів.

Оброблювані події форми frmMain.frm:

  • Form_Load – завантаження форми. Завантажується список рахунків за фільтрами, ініціалізуються перемінні;
  • InitData – ініціалізація перемінних форми. Викликається при завантаженні форми;
  • FillItem – заповнення полів форми даними з БД. Викликається при завантаженні форми і при переміщенні курсора в списку;
  • ClearItem – очищення полий форми для додавання нового запису. Викликається при переході в режим додавання запису;
  • BeginAddEdit – перехід форми в режим додавання або редагування;
  • DeleteItem – видалення запису;
  • CompleteEdit – завершення редагування. Залежно від стану форми виконується метод UpdateItem або AddItem;
  • CancelEdit – відміна редагування;
  • AddItem – додавання нового запису. Виконується SQL – запит вставки запису (INSERT) із значеннями полий, введеними в полях форми. Додається рядок в списку рахунків, цей рядок стає поточним, форма переходить в режим перегляду;
  • UpdateItem – зміна запису. Виконується SQL – запит оновлення запису (UPDATE) із значеннями полий, введеними в полях форми. Змінюється рядок в списку рахунків, цей рядок стає поточним, форма переходить в режим перегляду;
  • EnableItem – перехід форми в режим додавання або редагування;
  • doUpdate – перехід форми в режим перегляду;
  • doInsert – додавання рядка даних;
  • doDelete – видалення рядка даних;
  • doSearchColumn – пошук у стовпчику;
  • doSearchMore - пошук далі;
  • doSortColumn – сортування за даними стовпчика;
  • doSortQuery – сортування за запитом;
  • datValidate – перевірка даних;
  • datError – повідомлення про помилку;
  • grdDblClick – обробка стовпчика таблиці;
  • grdHeadClick – обробка заголовка таблиці;

Информация о работе Розробка автоматизованого робочого місця управління замовленнями у малому бізнесі (ПП "Сігма")