Автоматизована система управління меблевого магазину

Описание:
Доступные действия
Введите защитный код для скачивания файла и нажмите "Скачать файл"
Защитный код
Введите защитный код

Нажмите на изображение для генерации защитного кода

Текст:

МІНІСТЕРСТВО ОСВІТИ І НАУКИУКРАЇНИ

Національний університет “Львівська політехніка”

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

КУРСОВА РОБОТА

з дисципліни:

«Технології створення програмних продуктів»

на тему:

«Автоматизована система управління меблевого магазину»

Виконала:

студентка групи КН-30

Федишин христина

Викладач:

Ковівчак Я. В.

Львів  2015

Зміст

Вступ...........................................................................
..............................................3

1.Постановка проблеми........................................................................
...................3

         1.1 Опис проблеми........................................................................
................3

         1.2 Збір інформації відповідно до проблеми..............................................4

         1.3 Аналіз існуючих програмних продуктів...............................................4

2.Формулювання вимог...........................................................................
...............7

         2.1Опис першочергових вимог до розроблюваного ПЗ............................7

         2.2 Функціональні та не функціональні вимоги........................................9

3.Аналіз........................................................................
...........................................15

         3.1 Словник термінів........................................................................
...........15

         3.2 Побудова та опис логічної моделі.......................................................16

                   3.2.1Модель функціонування системи............................................16

                   3.2.2 Спрощена модель системи......................................................17

                   3.2.3 Концептуальна модель.............................................................18

4.Проектування..................................................................
....................................28

5. Реалізація......................................................................
......................................32

         5.1 Розробка основних форм інтерфейсу користувача та опис програмного продукту........................................................................
..................32

Висновки........................................................................
........................................41

Список використаної літератури ………………………………………………42

ВСТУП

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

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

1. Постановка проблеми.

1.1 Опис проблеми.

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

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

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

1.2. Збір інформації відповідно до проблеми.

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

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

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

1.3. Аналіз існуючих програмних продуктів.

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

Так виглядає веб-сайт:

Я вирішила сама оцінити програмний продукт, щоб уникнути нав"язаних оцінок, тому спробувала сама увійти у систему:

Так виглядає інтерфейс:

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

Переваги:

- багатофункціональність

- велика кількість типів користувачів

Недоліки:

- багато функцій, непотрібних у роботі автосервісу

- низька швидкодія

- неяскравий інтерфейс

- заплутаний інтерфейс

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

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

2. Формулювання вимог.

2.1. Опис першочергових вимог до розроблюваного ПЗ.

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

Працівники магазину повинні отримати свій логін і пароль у адміністратора.

Перший клієнт призначений для адміністраторів.

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

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

У випадку використання керівником проекту 1-го клієнту він отримує всі права адміністратора.

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

Після оформлення замовлення, в режимі клієнт 2, безпосередньо отримає свій результат.

Завдання системи

Система призначена для занесення товару у БД та оформлення замовлень клієнтів.

Особливості програмного продукту

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

Система призначена для роботи у без мережі,  у локальній мережі та через Internet.

Процес занесення і оформлення товару може відбуватися як і з допомогою спеціальної програми (встановленої на ПК, або в локальній меражі), так і за допомогою web-браузера.

Умови роботи

Для роботи системи необхідно мати комп’ютер-сервер, на якому буде     розміщена  база даних, спроектована мовою SQL. До сервера через локальну мережу або Інтернет будуть надходити запити від інших комп’ютерів, на яких встановлена спеціальна програма , яка забезпечує роботу в режимі клієнт 1 і клієнт 2.

Система може працювати на таких операційних системах як : Windows XP, Windows 7 , Windows vista.

Для нормального користування системою швидкодія Інтернету повинна бути не меншою 512 Кбіт/сек.

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

· Реєстрація клієнтів.

· Редагування замовлень.

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

· Редагування інформації про товар.

· Відображення списків клієнтів, інформації про товар.

· Перегляд товару.

· Логування працівників магазину.

2.2. Функціональні та не функціональні вимоги.

Функціональні вимоги

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

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

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

Режим продавця

Перший клієнт:

Продавець не має прав працювати в першому клієнті!

Другий клієнт:

· Перегляд списку товару.

· Оформлення замовлення.

· Занесення нового товару у БД

Режим адміністратора.

Перший клієнт:

· Адміністрування системи (нагляд за правильною роботою системи).

· Реєстрація працівників.

· Редагування замовлень.

· Редагування інформації про товар.

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

· Перегляд звітів.

· Редагування бази даних.

· Редагування інтерфейсів магазину.

Не функціональні вимоги

Вимоги до продукту :

· Система повинна працювати на операційній системі MS Windows.

· Комп’ютер-сервер, на якому буде розміщена  база даних повинен мати процесор з частотою не менше 2.0 GHz, вінчестер об’ємом 320 GB та оперативною пам’яттю не менше 3 Gb. Операційна система MS Windows із встановленою програмою Міcrosoft SQL server 2008 SP1.

· Клієнтські ПК з ОС Windows і встановленою спеціальною програмою, яка забезпечує роботу в режимі клієнт 1 або клієнт 2. Мінімальні апаратні характеристики: процесор - 800 MHz, вінчестер – 4 гб, оперативна пам’ять 64 Мб. 

· Локальна мережа, вихід в Інтернет.

· Швидкодія Інтернету повинна бути не меншою 512 Кбіт/сек.

Вимоги до процесу:

· Використання протоколу TCP/IP.

· Використання протоколу HTTP/HTTPS.

· Можливість одночасної роботи в системі ~ 100 клієнтів.

· Можливість одночасної обробки ~ 100 запитів.

Зовнішні вимоги:

· Операційна система МS Windows.

· Мова інтерфейсу – англійська, українська, російська.

· Комп’ютер-сервер.

· Локальна мережа, вихід в Інтернет.

· Тип мережі: Ethernet або Fast Ethernet.

· Швидкодія Інтернету повинна бути не меншою 512 Кбіт/сек.

Об’єм

Можливість одночасної роботи в системі ~ 100 клієнтів.

Швидкість реакції системи на запит

Можливість одночасної обробки ~ 100 запитів.

Апаратні засоби

Апаратна частина серевера:

·  Процесор Intel Core 2 Duo 2.0 GHz x 2

·  Вінчестер 320 GB

·  Відеокарта 128 Mb

·  Оперативна память DDR3 4GB 1667 MHz

Апаратна частина клієнтського компютера:

·   Локальна мережа , вихід в Інтернет.

·   Процесор Intel Pentium II  800 MHz

·   Вінчестер 4 GB

·   Відеокарта 64 Mb

·   Оперативна память DDR 128MB

·   Мережева карта: ASUS NX1101 10/100M

·   Монітор

·   Клавіатура

·   Мишка

Вимоги до мережі:

Швидкодія Інтернету повинна бути не меншою 512 Кбіт/сек.

Вимоги до офісу:

·   Температура повітря,­­­­0­С – 15 - 30

·   Вологість повітря, % – 40-90

Програмний інтерфейс

·    Сумісність з ОС WINDOWS.

·    Написана в середовищі Visual Studio 2009.

Програмна чатина сервера:

·    Microsoft SQL server 2008 SP1.

Взаємодія людини з системою

Для роботи працівників з програмою достатньо:                      - встановити програму на ОС WINDOWS;

- мати вихід в Інтернет чи локальну мережу.

Безпека

База даних написана мовою SQL і розміщена на сервері. 

Для захисту використовують стандартні методи програми MS SQL Server, такі як :

·    Правила безпеки;

·    Обмеження доступу до файлів SQL Server;

·    Захист клієнтів;

·    Антивірус;

·    Захист від атаки «SQL Injection»

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

Гнучкість

Програма працюють практично на всіх версіях MS Windows.

Програма передбачає роботу як через локальну мережу, так і через Інтернет (у випадку клієнт 1 , клієнт 2).

Інтерфейси прцівників передбачають налаштування під власні потреби.

Ресурси

Обмеження строго по бюджету 20 000 грн.

Час

11 місяців  на розробку системи:

·   Етап формулювання вимог -1 місяць.

·   Етап аналізу - 1 місяці.

·   Етап проектування - 3 місяці.

·   Етап реалізації - 5 місяців.

·   Етап товару- 1 місяць.

·   Етап встановлення – 7 днів.

3. Аналіз.

3.1. Словник термінів

Термін

Визначення

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

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

Працівник

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

Сервер

Комп’ютер з SQL сервером на якому буде розміщена база даних. 

Клієнт

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

База даних

Набір даних розміщених на сервері з яким взаємодіє клієнтська програма.

Інтерфейс

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

3.2. Побудова та опис логічної моделі

3.2.1. Модель функціонування системи

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

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

  Іншими користувачами системи є:

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

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

3.2.2. Спрощена модель системи

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

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

Інтерфейс клієнта призначений для проходження опитувань і товарів.

3.2.3. Концептуальна модель

Відношення з іншими програмами

Програма успішно працює під ОС Windows XP, Windows Vista та Windows 7.

Ресурси для класу «адміністратор», «продавець».

Для нормальної роботи системи достатньо таких ресурсів:

- Локальна мережа , вихід в Інтернет.

- Апаратні засоби комп’ютера:

· Процесор Intel Pentium II  800 MHz

· Вінчестер 4 GB

· Відеокарта 64 Mb

· Оперативна память DDR 128MB

· Мережева карта: ASUS NX1101 10/100M

· Монітор

· Клавіатура

· Мишка

- Програмні засоби:

· ОС WINDOWS

· MS SQL Server

Ресурси для класу «клієнт».

Для нормальної роботи системи достатньо таких ресурсів:

- Локальна мережа , вихід в Інтернет.

- Апаратні засоби комп’ютера:

· Процесор Intel Pentium II  800 MHz

· Вінчестер 2 GB

· Відеокарта 32 Mb

· Оперативна память DDR 64MB

· Мережева карта: ASUS NX1101 10/100M

· Монітор

· Клавіатура

· Мишка

- Програмні засоби:

· ОС WINDOWS

Модель взаємодії  системи з сутностями користувачів.

Таблиця 1.1 показує взаємодію сутності «продавець» з системою відповідно до функцій системи.

  Таблиця 1.1

Продавець

Потік повідомлень

Система

1. Запит на логування.

2. Запит на створення запису клієнта.

3. Запит на редагування запису клієнта.

4. Запит на видалення запису клієнта.

5. Запит на список клієнтів.

6. Запит на список товарів.

1. Логін, пароль.

2. Інформація про клієнта.

3. Інформація про клієнта.

4. Логін клієнта.

5. Критерії відбору списку клієнтів.

6. Критерії відбору списку товарів.

1. Перевірка логіну і паролю.

2. Перевірка інформації та створення запису клієнта.

3. Перевірка інформації та редагування запису клієнта.

4. Перевірка логіну клієнта та видалення запису.

5.Пошук клієнтів за заданими критеріями.

6. Пошук доступних товарів за отриманими критеріями.

Таблиця 2.2 показує взаємодію системи з сутністю «продавець»  відповідно до функцій системи. 

 Таблиця 2.2

Система

Потік повідомлень

Продавець

1. Підтвердження входження в систему або відмова.

2. Підтвердження створення клієнта або відмова.

3. Підтвердження редагування клієнта або відмова.

4. Підтвердження видалення клієнта або відмова..

5. Підтвердження створення товару або відмова.

6. Підтвердження редагування товару або відмова.

7. Підтвердження видалення товару або відмова.

8.Список клієнтів.

9. Список товарів.

1. Інформація.

2. Інформація.

3. Інформація.

4. Інформація.

5. Інформація.

6. Інформація.

7. Інформація.

8. Інформація.

9. Інформація.

1. Входження в систему або відмова.

2. Створення клієнта або відмова.

3. Редагування клієнта або відмова.

4. Видалення клієнта або відмова..

5. Створення товару або відмова.

6. Редагування товару або відмова.

7. Видалення товару або відмова.

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

9. Відображення списку товарів.

Таблиця 3.1 показує взаємодію сутності «адміністратор» з системою відповідно до функцій системи.

Таблиця 3.1

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

Потік повідомлень

Система

1. Запит на логування.

2. Запит на створення

запису користувача.

3. Запит на редагування

запису користувача.

4. Запит видалення запису користувача.

5. Запит на створення товару.

6. Запит на редагування товару.

7. Запит видалення товару.

8. Запит на список клієнтів.

9. Запит на список тестів.

10. Запит на редагування бази даних.

11. Запит на зміну інтерфейсу клієнта.

12.Запит на зміну інтерфейсу продавця.

1. Логін, пароль.

2. Інформація про користувача.

3. Інформація про користувача.

4. Ім’я користувача.

5. Інформація товару.

6. Інформація товару.

7. Назва товару.

8. Критерії відбору списку клієнтів.

9. Критерії відбору списку тестів.

10. Критерій зміни даних.

11. Параметри інтерфейсу клієнта.

12. Параметри інтерфейсу продавця.

1. Перевірка логіну і паролю.

2. Перевірка інформації та створення запису користувача.

3. Перевірка інформації та редагування запису користувача.

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

5. Перевірка інформації та створення товару.

6. Перевірка інформації та редагування товару.

7. Перевірка назви та видалення товару.

8.Пошук клієнтів за заданими критеріями.

9. Пошук доступних товарів за отриманими критеріями.

10. Перевірка даних та зміна даних.

11. Встановлення налаштувань інтерфейсу клієнта.

12. Встановлення налаштувань інтерфейсу продавця.

Таблиця 3.2 показує взаємодію системи з сутністю «адміністратор»  відповідно до функцій системи.

  Таблиця 3.2

Система

Потік повідомлень

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

1. Підтвердження входження в систему або відмова.

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

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

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

5. Підтвердження створення товару або відмова.

6. Підтвердження редагування товару або відмова.

7. Підтвердження видалення товару або відмова.

8.Список клієнтів.

9. Список товарів.

10. Підтвердження зміни даних або відмова.

11. Зміна інтерфейсу клієнта.

12. Зміна інтерфейсу продавця.

1. Інформація.

2. Інформація.

3. Інформація.

4. Інформація.

5. Інформація.

6. Інформація.

7. Інформація.

8. Інформація.

9. Інформація.

10. Інформація.

11. Інформація.

12. Інформація.

1. Входження в систему або відмова.

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

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

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

5. Створення товару або відмова.

6. Редагування товару або відмова.

7. Видалення товару або відмова.

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

9. Відображення списку товарів.

10. Змінені дані.

11. Змінений інтерфейс клієнта.

12. Змінений інтерфейс  продавця.

Якість

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

Захист

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

Всі дані будуть доступні лише адміністратору.

4 Проектування

На етапі проектування розробляється детальний проекту системи товари та опитування думки - “COCtrial”, a саме здійснюється специфікація результатів аналізу, проводиться оптимізація системи та проектування компонентів, які не належать до області проблеми процесу товари та опитування, виконується підлаштування моделі до обмежень і варіантів програмного середовища. Також на цьому етапі визначаєьтся фізична структура системи.


Use case діаграма

Рис. 1. Use Case діаграма системи.

На Use Case діаграмі (рис. 1.) зображені варіанти використання системи різними класами користувачів. Для доступу до функцій Клієнта 1 чи Клієнта 2 користувачі мають пройти процедуру логування. Адміністратор після входу в систему в Клєнті 1 може редагувати базу даних, змінювати користувацькі інтерфейси і переглядати звіти.

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

Покупці не використовують даний клієнт.

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

Рис. 2. Підмодулі Клієнта 1.

Клієнт 1 складається з п’яти підмодулів: FmMain, AccountManagerDAL, ReportBuilderDAL, SurveyBuilderDAL і DataModule.

FmMain. Це модуль який відповідає за інтерфейс клієнта 1.

Класи TMain, TAMFrame, TPassDlg, TRBFrame, TSBFrame, що він в себе включає, є класами інтерфейсу тобто класами-формами, які містять методи обробки стандартних подій та методи необхідні для функціонування інтерфейсу.

AccountManagerDAL: Модуль, який відповідає за логування користувачів та адміністрування системи. Він включає в себе два класи: TUsersDAL, TGroupsDAL.

·  TUsersDAL – клас, що містить методи для роботи з користувацькими записами системи:

·  TGroupsDAL – клас, методи якого необхідні для роботи з групами клієнтів системи:

ReportBuilderDAL: Модуль, призначений  для створення звітів успішності клієнтів, а також результатів опитувань. Він включає в себе клас TReportDAL.

·  TReportDAL – клас, методи якого необхідні для роботи зі звітами системи:

SurveyBuilderDAL: Модуль, який відповідає за створення товарів та замовлень. Даний модуль включає в себе два класи: TSurveyDAL, TSurvey.

·  TSurveyDAL – клас, методи якого призначені для завантаження, видалення та відтворення списків товарів та замовлень:

·  TSurvey – клас  для створення товарів та замовлень та їх збереження  у вигляді об’єкта (екземпляра даного класу):

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

·  TDataModule – клас, що включє в себе набір стандартних компонент (TADOConnection, TdataSource та TADOStoredProc) необхідних для взаємодії з базою даних.

Клієнт 2

Рис. 3. Підмодулі Клієнта 2.

Клієнт 2 складається з трьох підмодулів: FmMain, SurveyDAL і DataModule.

FmMain. Це модуль який відповідає за інтерфейс клієнта 2.

Класи TMain, TPassDlg, TTestProc, що він в себе включає, є класами інтерфейсу тобто класами-формами, які містять методи обробки стандартних подій та методи необхідні для функціонування інтерфейсу.

SurveyDAL: Цей модуль забезпечує запис клієнтів та оформлення замовлення. Він включає в себе наступні класи: TSurveyDAL, TSurvey, TSurveyAnswers.

·  TSurveyDAL – клас, методи якого призначені для завантаження та відтворення списків товарів та замовлень:

·  TSurvey – клас для збереження товарів та замовлень у вигляді об’єкта (екземпляра даного класу):

·  TSurveyAnswers – клас  для збереження товарів та замовлень у вигляді об’єкта (екземпляра даного класу):

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

·  TDataModule – клас, що включє в себе набір стандартних компонент (TADOConnection, TdataSource та TADOStoredProc) необхідних для взаємодії з базою даних.

Взаємодія між модулями відбувається наступним чином:

-       Класи TMain і TPassDlg (FmMain) використовують методи класу TSurveyDAL (SurveyDAL).

-       Клас TTestProc (FmMain) використовує класи TSurvey та TSurveyAnswers (SurveyDAL).

-       Клас TSurveyDAL (SurveyDAL) використовує компоненти класу TDataModule (DataModule) для взаємодії (через збережувані процедури) з базою даних.

5 РЕАЛІЗАЦІЯ

5.1.      Розробка основних форм інтерфейсу користувача та опис           програмного продукту

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

Середовище програмування Visual Studio 2008

Мал. 3.1.5 Редагування каталогів

Редагування товарів

Збереження даних

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

Пошук по каталогу

5.2.      Програмування  графічного користувацького інтерфейсу

Код для інтерфейсу:

Private Sub ButtonPrev_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonPrev.Click

DataGrid2.UnSelect(cManager.Position)

cManager.Position -= 1

DataGrid2.Select(cManager.Position)

current_P()

current_objects()

End Sub

Case 1

M.Id = nMaxId + 1

M.IdNmb = Me.CmbType.SelectedIndex + 1

M.NameOfModel = Me.TxtModel.Text

M.TypeOfTool = Me.CmbType.SelectedItem

M.Cost = Me.TxtCost.Text

M.Amount = Me.TxtAmount.Text

M.Country = Me.TxtCountry.Text

M.PictureM = Me.TxtPictureM.Text

arrModel.Add(New Model(M.Id, M.IdNmb, M.NameOfModel, M.TypeOfTool, M.Cost, M.Amount, M.Country, M.PictureM))

cManager.Position = arrModel.Count - 1

nMaxId = nMaxId + 1

Case 2

M.Id = CurrentModelNumber

M.IdNmb = Me.CmbType.SelectedIndex + 1

M.NameOfModel = Me.TxtModel.Text

M.TypeOfTool = Me.CmbType.SelectedItem

M.Cost = Me.TxtCost.Text

M.Amount = Me.TxtAmount.Text

M.Country = Me.TxtCountry.Text

M.PictureM = Me.TxtPictureM.Text

Dim Ab As New Model(M.Id, M.IdNmb, M.NameOfModel, M.TypeOfTool, M.Cost, M.Amount, M.Country, M.PictureM)

arrModel.Item(CurrentIndex) = Ab

End Select

RefreshObjects()

current_P()

current_objects()

ShowBoxes(False)

SaveAllToFile()

MsgBox("Записи збережено")

End Sub

Private Sub SaveAllToFile()

Dim BW As BinaryWriter

Dim FS As FileStream

Dim aListEnum As IEnumerator

FS = New FileStream(".officeequipment.dat", FileMode.Create, FileAccess.Write)

BW = New BinaryWriter(FS)

BW.BaseStream.Seek(0, SeekOrigin.Begin)

aListEnum = arrModel.GetEnumerator

While aListEnum.MoveNext

SaveRecord(BW, aListEnum.Current)

End While

BW.Close()

FS.Close()

FS = Nothing

End Sub

Private Sub SaveRecord(ByVal writer As BinaryWriter, ByVal record As Model)

writer.Write(record.Id)

writer.Write(record.IdNmb)

writer.Write(record.NameOfModel)

writer.Write(record.TypeOfTool)

writer.Write(record.Cost)

writer.Write(record.Amount)

writer.Write(record.Country)

writer.Write(record.PictureM)

End Sub

Private Sub BtnFind_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnFind.Click

Me.TxtSearchModel.Focus()

If bShowSearch = False Then

bShowSearch = True

BtnFind.Text = "Завершити пошук"

Me.GroupBoxForSerch.Enabled = True

Else

bShowSearch = False

BtnFind.Text = "Пошук"

Me.GroupBoxForSerch.Enabled = False

End If

RadioButton1.Checked = True

TxtSearchModel.Text = ""

TxtSearchCost.Text = ""

TxtSearchCountry.Text = ""

End Sub

Private Sub BtnDoSearch_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnDoSearch.Click

DataGrid2.UnSelect(cManager.Position)

If RadioButton1.Checked = True Then

nPos = Search(1, (Trim(Me.TxtSearchModel.Text)).ToUpper)

If Me.TxtSearchModel.Text = "" Then

MsgBox("Не введено жодного значення для пошуку!", MsgBoxStyle.Information, "УВАГА!!!")

End If

End If

If RadioButton2.Checked = True Then

nPos = Search(2, (Trim(Me.TxtSearchCost.Text)).ToUpper)

If Me.TxtSearchCost.Text = "" Then

MsgBox("Не введено жодного значення для пошуку!", MsgBoxStyle.Information, "УВАГА!!!")

End If

End If

If RadioButton3.Checked = True Then

nPos = Search(3, (Trim(Me.TxtSearchCountry.Text)).ToUpper)

If Me.TxtSearchCountry.Text = "" Then

MsgBox("Не введено жодного значення для пошуку!", MsgBoxStyle.Information, "УВАГА!!!")

End If

End If

If nPos >= 0 Then

cManager.Position = nPos

DataGrid2.Focus()

DataGrid2.Select(nPos)

Else

MsgBox("Запис не знайдено!", MsgBoxStyle.Information, "УВАГА!!!")

End If

End Sub

Private Function Search(ByVal bField As Integer, ByVal sStr As String) As Integer

Dim itm As Object, i As Integer

Dim CurA As New Model(0, 0, "", "", "", 0, "", "")

Search = -1

i = -1

If bField = 1 Then

For Each itm In arrModel

i += 1

CurA = itm

End Sub

Private Sub RadioButton1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton1.CheckedChanged

TxtSearchModel.Enabled = True

TxtSearchModel.Focus()

TxtSearchCost.Enabled = False

TxtSearchCountry.Enabled = False

TxtSearchCost.Text = ""

TxtSearchCountry.Text = ""

End Sub

Private Sub RadioButton2_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton2.CheckedChanged

TxtSearchCost.Enabled = True

TxtSearchCost.Focus()

TxtSearchModel.Enabled = False

TxtSearchCountry.Enabled = False

TxtSearchCountry.Text = ""

TxtSearchModel.Text = ""

End Sub

Private Sub RadioButton3_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton3.CheckedChanged

TxtSearchCountry.Enabled = True

TxtSearchCountry.Focus()

TxtSearchModel.Enabled = False

TxtSearchCost.Enabled = False

TxtSearchModel.Text = ""

TxtSearchCost.Text = ""

End Sub

Private Sub TxtAmount_Validating(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles TxtAmount.Validating

If Not IsNumeric(TxtAmount.Text) Then

MsgBox("У це поле слід вводити число!")

TxtAmount.Text = "1"

End If

End Sub

Private Sub DataGrid2_Navigate(ByVal sender As System.Object, ByVal ne As System.Windows.Forms.NavigateEventArgs) Handles DataGrid2.Navigate

End Sub

 (New ToolType(S.Id, S.TypeOfTool))

End While

Private Sub showbuttons(ByVal lAdd As Boolean, ByVal lDel As Boolean, ByVal lFind As Boolean, ByVal lEdit As Boolean, _

ByVal lSave As Boolean, ByVal lCancel As Boolean)

Me.BtnAdd.Enabled = lAdd

Me.BtnDel.Enabled = lDel

Me.BtnFind.Enabled = lFind

Me.BtnEdit.Enabled = lEdit

Me.BtnSave.Enabled = lSave

Me.BtnCancel.Enabled = lCancel

End Sub

Private Sub ButtonFirst_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonFirst.Click

DataGrid1.UnSelect(cManager.Position)

cManager.Position = 0

DataGrid1.Select(cManager.Position)

current_P()

Current_objects()

End Sub

Private Sub ButtonPrev_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonPrev.Click

DataGrid1.UnSelect(cManager.Position)

cManager.Position -= 1

DataGrid1.Select(cManager.Position)

current_P()

Current_objects()

End Sub

Private Sub ButtonNext_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonNext.Click

DataGrid1.UnSelect(cManager.Position)

cManager.Position += 1

DataGrid1.Select(cManager.Position)

current_P()

Current_objects()

End Sub

Private Sub ButtonLast_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonLast.Click

DataGrid1.UnSelect(cManager.Position)

cManager.Position = arrTypes.Count - 1

DataGrid1.Select(cManager.Position)

current_P()

Current_objects()

End Sub

Private Sub BtnAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnAdd.Click

showbuttons(False, False, False, False, True, True)

DataGrid1.Enabled = False

Me.PlnNavigate.Enabled = False

nAddEdit = 1

ClearBoxes()

ShowBoxes(True)

Me.TxtTypeOfTool.Focus()

End Sub

Private Sub ShowBoxes(ByVal lShow)

Me.TxtTypeOfTool.ReadOnly = Not lShow

End Sub

Private Sub ClearBoxes()

Me.TxtId.Text = ""

Me.TxtTypeOfTool.Text = ""

End Sub

Private Sub ReturnOldContentsBoxes()

Current_objects()

End Sub

Private Sub BtnDel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnDel.Click

If MsgBox("Поточний вид " + S.TypeOfTool + " буде видалено з файлу." + vbCrLf + "Продовжити?", _

MsgBoxStyle.YesNo + MsgBoxStyle.Question, "Видалення виду") = MsgBoxResult.Yes Then

arrTypes.RemoveAt(CurrentIndex)

RefreshObjects()

If arrTypes.Count = 0 Then

S.Id = 1

S.TypeOfTool = ""

arrTypes.Add(New ToolType(S.Id, S.TypeOfTool))

Dim Ab As New ToolType(S.Id, S.TypeOfTool)

CurrentIndex = arrTypes.IndexOf(Ab)

CurrentTypeNumber = S.Id

End If

SaveAllToFile()

cManager.Position = 0

Current_objects()

MsgBox("Запис видалено")

End If

End Sub

Private Sub RefreshObjects()

DataGrid1.DataSource = Nothing

DataGrid1.DataSource = arrTypes

cManager = CType(DataGrid1.BindingContext(arrTypes), CurrencyManager)

End Sub

Private Sub BtnSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnSave.Click

If Len(Me.TxtTypeOfTool.Text) = 0 Then

MsgBox("Не введено назви!", MsgBoxStyle.Information, "Увага!")

Me.TxtTypeOfTool.Focus()

Exit Sub

End If

showbuttons(True, True, True, True, False, False)

DataGrid1.Enabled = True

Me.PlnNavigate.Enabled = True

SaveToArrayList(nAddEdit)

nAddEdit = 0

End Sub

Private Sub BtnEdit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnEdit.Click

showbuttons(False, False, False, False, True, True)

DataGrid1.Enabled = False

Me.PlnNavigate.Enabled = False

nAddEdit = 2

ShowBoxes(True)

Me.TxtTypeOfTool.Focus()

End Sub

Private Sub BtnCancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnCancel.Click

Current_objects()

End Sub

Private Sub SaveToArrayList(ByVal nAddEdit As Byte)

Select Case nAddEdit

Case 1

S.Id = nMaxId + 1

S.TypeOfTool = Me.TxtTypeOfTool.Text

arrTypes.Add(New ToolType(S.Id, S.TypeOfTool))

cManager.Position = arrTypes.Count - 1

nMaxId = nMaxId + 1

Case 2

S.Id = CurrentTypeNumber

S.TypeOfTool = Me.TxtTypeOfTool.Text

Me.TxtId.Text = S.Id

Me.TxtTypeOfTool.Text = S.TypeOfTool

Dim Ab As New ToolType(S.Id, S.TypeOfTool)

arrTypes.Item(CurrentIndex) = Ab

End Select

RefreshObjects()

current_P()

Current_objects()

ShowBoxes(False)

SaveAllToFile()

MsgBox("Записи збережено")

End Sub

Private Sub SaveAllToFile()

Dim BW As BinaryWriter

Dim FS As FileStream

Dim aListEnum As IEnumerator

FS = New FileStream(".Types.dat", System.IO.FileMode.Create, System.IO.FileAccess.Write)

BW = New BinaryWriter(FS)

BW.BaseStream.Seek(0, SeekOrigin.Begin)

aListEnum = arrTypes.GetEnumerator()

While aListEnum.MoveNext

SaveRecord(BW, aListEnum.Current)

End While

BW.Close()

FS.Close()

FS = Nothing

End Sub

Private Sub SaveRecord(ByVal writer As BinaryWriter, ByVal record As ToolType)

writer.Write(record.Id)

writer.Write(record.TypeOfTool)

End Sub

Private Sub DataGrid1_CurrentCellChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DataGrid1.CurrentCellChanged

current_P()

Current_objects()

End Sub

Private Sub BtnFind_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnFind.Click

If bShowSearch = False Then

GroupBoxForSerch.Enabled = True

bShowSearch = True

BtnFind.Text = "Завершити пошук"

Else

GroupBoxForSerch.Enabled = False

bShowSearch = False

BtnFind.Text = "Пошук"

End If

Me.TxtSearchTypeOfTool.Text = ""

Me.TxtSearchTypeOfTool.Focus()

End Sub

Private Sub BtnDoSearch_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnDoSearch.Click

DataGrid1.UnSelect(cManager.Position)

If Len(Me.TxtSearchTypeOfTool.Text) > 0 Then

nPos = Search(Trim((Me.TxtSearchTypeOfTool.Text).ToUpper))

If nPos >= 0 Then

cManager.Position = nPos

DataGrid1.Focus()

DataGrid1.Select(nPos)

Else

MsgBox("Запис не знайдено", MsgBoxStyle.Information, "Увага!")

End If

Else

MsgBox("Не введено жодного значення" + "для пошуку", MsgBoxStyle.Information, "Увага!")

End If

End Sub

Private Function Search(ByVal sStr As String) As Integer

Dim itm As Object, i As Integer

Dim CurA As New ToolType(0, "")

Search = -1

i = -1

For Each itm In arrTypes

i += 1

CurA = itm

If String.Compare(sStr, 0, (CurA.TypeOfTool).ToUpper, 0, Len(sStr), False) = 0 Then

Search = i

Exit Function

End If

Next

End Function

Private Sub BtnExit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnExit.Click

Me.Close()

End Sub

Private Sub DataGrid1_Navigate(ByVal sender As System.Object, ByVal ne As System.Windows.Forms.NavigateEventArgs) Handles DataGrid1.Navigate

End Sub

End Class

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

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

Список використаної літератури:

1.     Рекомендации по преподаванию программной инженерии и информатики в университетах.–Computing Curricula-2001: Computer Science.–Пер. с англ. – Интернет– Ун. информац. технологий, М.: 2007.–462с.

2.     Бабенко Л.П., Лавріщева К.М. Основи програмної інженерії.– Навч. посібник.–К.: Знання, 2001. –269 с.

3.     Лаврищева Е.М., Грищенко В.Н. Области знаний программной инженерии – SWEBOK и подход к обучению этой дисциплине// Управляющие системы и машины.–2005. – №1.– С.38–54.

4.     Pfleeger S.L. Software Engineering. Theory and practice. – Printice Hall: Upper Saddenle River, New Jersey, 1998. – 576 p.

5.     Jacobson I. Object-Oriented Software Engineering. A use Case Driven Approach, Revised Printing. – New York: Addison-Wesley Publ. Co., 1994. – 529 p.

6.     Иан Соммервил. Инженерия программного обеспечения. 6-е издание. – М.; Спб. – Киев, 2002. – 623 с.

7.     Сайт:   http://meblevysvit.com.ua/

Информация о файле
Название файла Автоматизована система управління меблевого магазину от пользователя Гость
Дата добавления 10.5.2020, 19:06
Дата обновления 10.5.2020, 19:06
Тип файла Тип файла (zip - application/zip)
Скриншот Не доступно
Статистика
Размер файла 921.27 килобайт (Примерное время скачивания)
Просмотров 260
Скачиваний 104
Оценить файл