Розробка і впровадження інформаційного забезпечення магазину

Проектування бази даних (БД). Проектування логічної моделі БД. Реалізація БД та створення таблиць. Встановлення зв’язків, вибір мови та середовища програмування. Опис функціональних елементів та реалізація програми. Опис та тестовий приклад програми.

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

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

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

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

Пакетовані товари зберігають на піддонах і підтоварниках, товари в промисловій тарі - на стелажах і підтоварниках.

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

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

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

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

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

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

На вантажно-розвантажувальних роботах (і фасування товарів) зайнято всього 15% персоналу ТОВ «Продукти», що свідчить про високу ефективність їхньої праці.

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

Гастрономічні вироби викладають в охолоджуваних вітринах різними способами:

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

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

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

Фасоване м'ясо та м'ясопродукти викладають в охолоджуваних прилавках-вітринах за видами і сортових відрубів на емальованих піддонах, а нефасовані м'ясо і м'ясопродукти - шматками на піддонах по видах і сортам.

Морожену рибу викладають в низькотемпературних прилавках і вітринах, охолоджену - в охолоджуваних прилавках-вітринах.

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

Швидкопсувні кондитерські вироби викладають в охолоджуваному обладнанні.

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

Хліб і хлібобулочні вироби викладають рядами на полках пристінних.

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

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

Розділ 2. Проектування бази даних

2.1 Проектування логічної моделі БД

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

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

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

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

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

Проектування бази даних починається з вивчення технічного завдання на проектування бази даних, яке повинен надати замовник. Отже, бажано, щоб замовник володів відповідною термінологією і знав, принаймні в загальних рисах, технічні можливості основних СУБД. На жаль, на практиці ці побажання виконуються не завжди. Тому зазвичай розробники використовують такі підходи: демонструють замовникові роботу аналогічної бази даних, після чого узгоджують специфікацію відмінностей; якщо аналога немає, з'ясовують коло задач і вимог замовника, після чого допомагають йому підготувати технічне завдання. Під час підготовки технічного завдання складають: перелік вхідних даних, з якими працює замовник; перелік вихідних даних, потрібних замовникові для управління структурою свого підприємства; перелік вихідних даних, які не є необхідними для замовника, але які він повинен надати іншим організаціям (у вищестоящі структури, в органи статистики, інші адміністративні і контрольні організації).

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

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

2. Відповідно до типу даних, що розміщуються в кожному полі, визначають тип кожного поля.

3. Розподіляють поля генерального списку по базових таблицях. На першому етапі розподіл здійснюють за функціональною ознакою. Мета - забезпечити одноразове введення даних в одну таблицю по можливості в рамках одного підрозділу, або (ще краще) - на одному робочому місці. На другому етапі розподілу полів здійснюють нормалізацію даних з метою вилучення повторів даних у таблицях бази даних.

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

5. На наступному етапі визначають зв'язки між таблицями (схему даних). Зв'язки між таблицями організуються на основі спільного поля, причому в одній із таблиць воно обов'язково має бути ключовим. Тобто на стороні "один" має бути ключове поле, яке не повторюється, значення на стороні "багато" можуть повторюватися. 6. "Паперовий" етап роботи над технічними пропозиціями закінчується розробкою схеми даних. Цю схему слід узгодити із замовником, після чого розпочати безпосереднє створення бази даних. Слід пам'ятати, що в ході розробки проекту замовникові неодмінно будуть надходити нові ідеї. Можливість гнучкого використання його побажань суттєво залежить від кваліфікації розробника бази даних. Якщо схема даних складена правильно, підключити до бази нові таблиці неважко. Якщо структура бази нераціональна, розробник може наштовхнутись на суттєві труднощі і дійти суперечності із замовником. Суперечка виконавця із замовником завжди свідчить про недостатню кваліфікацію виконавця. На цьому етапі завершується попереднє проектування бази даних, і на наступному етапі починається її безпосередня розробка (впровадження).[2]

Отже, спроектуємо логічну структуру БД нашої програми. Логічна структура бази даних магазину представлена на рис. 2.1.1

Рис. 2.1.1 Діаграма БД

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

1. ID_Goods-штрих-код товари, ключове поле

2. Name - назва товару

3. Count- кількість одиниць товару на складі

4. Price - ціна за одиницю продукції

5. Propeties - властивості товару

Таблиця Emploee призначена для обліку працівників. Таблиця має такі поля:

1. ID_Emploee - персональний номер працівника

2. PIB - прізвище, ім'я, по-батьккові

3. Address - адреса проживання

4. ZP - заробітна плата (взалежності від поля Stavka показує фіксовану заробітну плату чи відсоток від продажей)

5. Stavka - логічне поле, що вказує чи працівник отримує фіксовану заробітну плати чи буде отримувати відсоток від продажу.

6. Passport - серія та номер паспорта.

Таблиця ZP зберігає інформацію про нарахування заробітної платні і має наступні поля:

1. ID - ідентифікатор

2. Emploee - персональний номер працівника

3. Date - дата нарахування платні

4. ZP - сума виплати

5. Premium - преміальні гроші

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

1. ID_Checks - номер чеку

2. Emploee - персональний номер працівника, який видав чек

3. Costs - загальна сума чеку

4. Date - дата видачі чеку.

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

2.2 Вибір СУБД

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

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

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

СУБД - це програмне забезпечення, яке взаємодіє з прикладними програмами користувачів і базою даних і має наступні можливості:

· Дозволяє визначати базу даних - це зазвичай здійснюється за допомогою мови визначення даних (DDL- Data Definition Languge). Мова DDL надає користувачеві засоби для зазначення типу даних та їх структури, а також засоби створення обмежень для інформації, яка зберігається у базі.

· Дозволяє додавати, оновлявати, видаляти та вилучати інформацію з БД, що звичайно здійснюється за допомогою мови керування даними (Data Manipulation Language). Наявність централізованого сховища усіх даних та їх опис дозволяє використовувати мову DML, яку часто називають мовою запитів, як загальний інстумент організації запитів. Саме завдяки мові запитів усуваються обмеження, притаманні файловим системам, при яких користувачі мали справу лише з фіксованим набором запитів чи з постійно зростаючою кількістю прикладних програм, що породжували ще більші проблеми упралвіння ресурсами та прогармним забезпеченням.Існує два різновиди мов запитів DML - процедурні та непроцедурні мови, які відрізняються між собою способом вилучення даних. Основна відмінність полягає в тому, що процедурні мови звичайно обробляють інформацію у базі даних послідовно, запис за записом, а непроцедурні оперують одразу цілими наборами даних. Тому за допомогою процедурних мов DML звичайно вказують, ЯК можна одержати бажаний результат, тоді як непроцедурні мови DML використовуються для опису того, ЩО слід одержати. Найбілш поширеним типом пепроцедурних мов DML є мова структурованих запитів (Structured Query Language- SQL), яка в даний час фактично є обов'язковою мовою для реляційних СУБД.

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

· Системи забезпечення безпики, що попереджають несанкціанований доступ до БД з боку користувачів;

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

· Системи управління паралельною роботою прикладних програм, яка котролює процеси їх сумісного доступу до БД;

· Системи відновлення, які дозволяють відновити БД після порушення, викликаного відмовою апаратного чи програмного забезпечення;

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

Для реалізації даного проекту було вибрано Microsft SQL Server, оскільки це дуже потужний інструмент для організації клієнт-серверних застосувань.

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

Ключовими функціями даного програмного продукту є:

· Фіксуються зміни, що вносяться до екземпляри, бази даних, користувачів, ролі, логіни, схеми, повноваження, таблиці, збережені процедури (stored procedures) та інші об'єкти SQL Server; на підставі цих змін створюються ясні і зрозумілі звіти

· Фіксуються всі зміни, що вносяться до вміст БД; на підставі цієї інформації будуються звіти (і можуть автоматично відправлятися по e-mail)

· Забезпечується відповідність вимогам нормативів в області ІБ (велика бібліотека стандартних звітів, які можуть бути надані аудиторам)

· Фіксуються на ранніх стадіях неавторизовані і небажані зміни, які можуть вести до "падіння" сервера і БД

· Відображення в звітах того, хто здійснив зміна, де, коли і з якою робочої станції

· Можливість створення звітів за запитом (ad-hoc reports)

· Зберігання зібраних даних аудиту і створення на підставі цих даних звітів за будь-який період часу

2.3 Реалізація БД та створення таблиць

Для того, щоб створити БД нам потрібно встановити та налаштувати Microsoft SQL Server. Після встановлення підключаємося до серверу БД (див. рис. 2.3.1) і створюємо нову БД (див. рис. 2.3.2)

Рис. 2.3.1. Підключення до сервера БД

Рис.2.3.2. Створення БД.

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

Рис.2.3.3. Створення таблиці Goods.

Рис.2.3.4. Створення таблиці Checks.

Рис.2.3.5. Створення таблиці ChkGoods.

Рис.2.3.6. Створення таблиці Emploee.

Рис.2.3.7. Створення таблиці ZP.

2.4 Встановлення зв'язків між таблицями

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

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

Рис.2.4.1. Встановлення зв'язків між таблицями

Для рішення поставленого завдання прийнята схема бази даних, представлена на рис. 2.4.1 Для відкриття схеми даних необхідно вибрати команду «Инструменты» в меню «Дизайнер БД». У даній схемі представлений взаємозв'язок всіх таблиць бази даних і відношення між ними.

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

3.1 Вибір мови та середовища програмування

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

C# (вимовляється Сі-шарп) -- об'єктно-орієнтована мова програмування з безпечною системою типізації для платформи .NET. Розроблена Андерсом Гейлсбергом, Скотом Вілтамутом та Пітером Гольде під егідою Microsoft Research (при фірмі Microsoft).

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

C# розроблялась як мова програмування прикладного рівня для CLR і тому вона залежить, перш за все, від можливостей самої CLR. Це стосується, перш за все, системи типів C#. Присутність або відсутність тих або інших виразних особливостей мови диктується тим, чи може конкретна мовна особливість бути трансльована у відповідні конструкції CLR. Так, з розвитком CLR від версії 1.1 до 2.0 значно збагатився і сам C#; подібної взаємодії слід чекати і надалі. (Проте ця закономірність буде порушена з виходом C# 3.0, що є розширеннями мови, що не спираються на розширення платформи .NET.) CLR надає C#, як і всім іншим .NET-орієнтованим мовам, багато можливостей, яких позбавлені «класичні» мови програмування. Наприклад, збірка сміття не реалізована в самому C#, а проводиться CLR для програм, написаних на C# точно так, як і це робиться для програм на VB.NET, J# тощо.

Титульним компілятором C# є Microsoft Visual C#.

Існують інші компілятори C#, часто вони включають реалізації Common Language Infrastructure і бібліотеки класів .NET:

Проект Microsoft Rotor (який тепер зветься Shared Source Common Language Infrastructure, ліцензований тільки для навчального і дослідницького використання) забезпечує реалізації CLR runtime і компілятор C#, і підмножину бібліотек фреймворка Common Language Infrastructure, відповідно до специфікації ECMA (до C# 2.0, і з підтримкою тільки Windows XP).

Проект SharpDevelop від компанії icsharpcode , який використовується як альтернатива Visual Studio . Забезпечує повну реалізацію Common Language Infrastructure. Остання стабільна версія IDE 4.4 ( 28 серпня 2013 ) , тестова версія 5.0 (13 лютого 2014. Зовнішній вигляд IDE дуже нагадує Microsoft Visual C#,що робить комфортним перехід від однієї середи до іншої.

Проект Mono, початий компанією Xamarin і продовжений її покупцем і наступником Novell, забезпечує відкритий компілятор C#, повну відкриту реалізацію Common Language Infrastructure, включаючи потрібні бібліотеки фреймворка відповідно до специфікації ECMA, і близьку до повної реалізацію власницьких бібліотек класів Microsoft .NET до .NET 2.0, але не специфічних бібліотек .NET 3.0 і .NET 3.5, як для Mono 2.0.

Проект DotGNU також надає відкритий компілятор C#, близьку до повної реалізацію Common Language Infrastructure, включаючи потрібні бібліотеки фреймворка відповідно до специфікації ECMA, і підмножину деяких залишених власницьких біліотек класів Microsoft .NET до .NET 2.0 (які не документовані або не включені у специфікації ECMA, але включені у стандартне визначення Microsoft .NET Framework).

DotNetAnywhere Micro Framework Common Language Runtime націлений на вбудовані системи, і підтримує майже всі специфікації C# 2.0.

Як середовище розробки ми візьмемо Microsoft Visual Studio 2015. Дане середовище чудово підходить для створення windows додатків на мові с#. Також дане середовище дозволяє легко і зручно поєднувати розроблювальні додатки з БД SQL Server і надає потужні інструменти для роботи з нею.

Microsoft Visual Studio -- серія продуктів фірми Microsoft, які включають інтегроване середовище розробки програмного забезпечення та ряд інших інструментальних засобів. Ці продукти дозволяють розробляти як консольні програми, так і програми з графічним інтерфейсом, в тому числі з підтримкою технології Windows Forms, а також веб-сайти, веб-додатки, веб-служби як в рідному, так і в керованому кодах для всіх платформ, що підтримуються Microsoft Windows, Windows Mobile, Windows CE, .NET Framework, .NET Compact Framework та Microsoft Silverlight.

Компоненти

· Visual Studio включає один або декілька з наступних компонентів:

· Visual Basic .NET, а до його появи -- Visual Basic

· Visual C++

· Visual C#

· Visual J#

· Visual F# (входить до складу Visual Studio 2010)

· Visual Studio Debugger

Багато варіантів постачання також включають:

· Microsoft SQL Server

· MSDE Visual Source Safe -- файл-серверна система управління версіями

Версія Visual Studio 2015, під кодовим ім'ям Dev14 була представлена 20 червня 2015 року.[8] Суттєвою зміною стала підтримка багатьох цільових платформ: окрім базової Windows з'явилась можливість будувати проекти для IOS та Android. Для розробників комп'ютерних ігор була додана підтримка фреймворку Unity. Був оновлений механізм автентифікації: користувач під час запуску Visual Studio синхронізується з єдиним аккаунтом Microsoft.

Версія включає в собі .NET Framework 4.6 та підтримку універсальної платформи Windows 10. Розробників на мові C++ потішили новим функціоналом стандарту C++14, та навіть деякими поліпшеннями з C++17.[9]

Останнім оновленням на данний момент є Update 2 від 30 березня 2016-го року, у якому багато уваги приділено стабільності, та продовжено роботу у напрямку підтримки нових стандартів мови С++. [10]

3.2 Опис функціональних елементів

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

Form

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

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

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

using System;

using System.Collections.Generic;

using System.Linq;

using System.Threading.Tasks;

using System.Windows.Forms;

namespace HelloApp

{

static class Program

{

[STAThread]

static void Main()

{

Application.EnableVisualStyles();

Application.SetCompatibleTextRenderingDefault(false);

Application.Run(new Form1());

}

}

}

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

Сама форма складна за змістом. Вона ділиться на ряд компонентів.

namespace HelloApp

{

partial class Form1

{

/// <summary>

/// Required designer variable.

/// </summary>

private System.ComponentModel.IContainer components = null;

/// <summary>

/// Clean up any resources being used.

/// </summary>

/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>

protected override void Dispose(bool disposing)

{

if (disposing && (components != null))

{

components.Dispose();

}

base.Dispose(disposing);

}

#region Windows Form Designer generated code

/// <summary>

/// Required method for Designer support - do not modify

/// the contents of this method with the code editor.

/// </summary>

private void InitializeComponent()

{

this.SuspendLayout();

//

// Form1

//

this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);

this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;

this.ClientSize = new System.Drawing.Size(284, 261);

this.Name = "Form1";

this.Text = "Привіт світ!";

this.ResumeLayout(false);

}

#endregion

}

}

Тут оголошується частковий клас форми Form1, яка має два методи: Dispose (), який виконує роль деструктора об'єкта, і InitializeComponent (), який встановлює початкові значення властивостей форми.

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

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

Ще один файл - Form1.resx - зберігає ресурси форми. Як правило, ресурси використовуються для створення одноманітних форм відразу для декількох мовних культур.

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

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

namespace HelloApp

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

}

}

GroupBox

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

Нерідко цей елемент використовується для групування перемикачів - елементів RadioButton, так як дозволяє розмежувати їх групи

Button

Найбільш часто використовуваним елементом управління є кнопка. Обробляючи подія натискання кнопки, ми може виробляти ті чи інші дії.

При натисканні на кнопку на формі в редакторі Visual Studio ми за замовчуванням потрапляємо в код обробника події Click, який буде виконуватися при натисканні:

private void button1_Click (object sender, EventArgs e)

{

MessageBox.Show ( "Hello World");

}

Оформлення кнопки

Щоб керувати зовнішнім відображенням кнопки, можна використовувати властивість FlatStyle. Воно може набувати таких значень:

· Flat - Кнопка має плоский вид

· Popup - Кнопка набуває об'ємний вигляд при наведенні на неї покажчика, в інших випадках вона має плоский вид

· Standard - Кнопка має об'ємний вигляд (використовується за умовчанням)

· System - Вид кнопки залежить від операційної системи

Як і для багатьох елементів управління, для кнопки можна задавати зображення за допомогою властивості BackgroundImage. Однак ми можемо також управляти розміщенням тексту і зображення на кнопки. Для цього треба використовувати властивість TextImageRelation. Воно набуває таких значень:

· Overlay: текст накладається на зображення

· ImageAboveText: зображення розташовується над текстом

· TextAboveImage: текст розташовується над зображенням

· ImageBeforeText: зображення розташовується перед текстом

· TextBeforeImage: текст розташовується перед зображенням

TextBox

Для введення і редагування тексту призначені текстові поля - елемент TextBox. Так само як і у елемента Label текст елемента TextBox можна встановити або отримати за допомогою властивості Text.

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

Крім того, можна зробити прокрутку текстового поля, встановивши для його властивості ScrollBars одне зі значень:

· None: без прокручувань (за замовчуванням)

· Horizontal: створює горизонтальну прокрутку при довжині рядка, що перевищує ширину текстового поля

· Vertical: створює вертикальну прокрутку, якщо рядки не поміщаються в текстовому полі

· Both: створює вертикальну і горизонтальну прокрутку

Елемент TextBox володіє достатніми можливостями для створення автозаполняемого поля. Для цього нам треба прив'язати властивість AutoCompleteCustomSource елемента TextBox до деякої колекції, з якої беруться дані для заповнення поля.

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

· None: відсутність автодоповнення

· Suggest: пропонує варіанти для введення, але не доповнює

· Append: доповнює введене значення до рядка зі списку, але не пропонує варіанти для вибору

· SuggestAppend: одночасно і пропонує варіанти для автодоповнення, і доповнює введене користувачем значення

Перенесення за словами

Щоб текст в елементі TextBox переносився за словами, треба встановити властивість WordWrap рівним true. Тобто якщо одне слово не вміщується на рядку, то але переноситься на наступну. Дана властивість буде працювати тільки для багаторядкових текстових полів.

Введення пароля

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

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

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

Подія TextChanged

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

public partial class Form1: Form

{

public Form1 ()

{

InitializeComponent ();

textBox1.TextChanged + = textBox1_TextChanged;

}

private void textBox1_TextChanged (object sender, EventArgs e)

{

label1.Text = textBox1.Text;

}

}

CheckBox

Елемент CheckBox або прапорець призначений для установки одного з двох значень: відзначений або не зазначено. Щоб відзначити прапорець, треба встановити у його властивості Checked значення true.

Крім властивості Checked у елемента CheckBox є властивість CheckState, яке дозволяє задати для прапорця одне з трьох станів - Checked (відзначений), Indeterminate (прапорець не визначений - відзначений, але знаходиться в неактивному стані) і Unchecked (не зазначений)

Також слід зазначити властивість AutoCheck - якщо воно має значення false, то ми не можемо змінювати стан прапорця. За замовчуванням воно має значення true.

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

private void checkBox_CheckedChanged (object sender, EventArgs e)

{

CheckBox checkBox = (CheckBox) sender; // Наводимо відправника до елементу типу CheckBox

if (checkBox.Checked == true)

{

MessageBox.Show ( "Прапорець" + checkBox.Text + "тепер відзначений");

}

else

{

MessageBox.Show ( "Прапорець" + checkBox.Text + "тепер не відзначений");

}

}

Radiobutton

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

Щоб встановити у перемикача включений стан, треба привласнити його властивості Checked значення true.

Для створення групи перемикачів, з яких можна б було вибирати, треба помістити кілька перемикачів в який-небудь контейнер, наприклад, в елементи GroupBox або Panel. Перемикачі. що знаходяться в різних контейнерах, будуть ставитися до різних груп:

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

private void radioButton_CheckedChanged (object sender, EventArgs e)

{

// Наводимо відправника до елементу типу RadioButton

RadioButton radioButton = (RadioButton) sender;

if (radioButton.Checked)

{

MessageBox.Show ("Ви вибрали" + radioButton.Text);

}

}

3.3 Реалізація програми

Реалізовуватись даний проект буде в середовищі візуального програмування Microsoft Visual Studio 2015. Для початку запускаємо дане середовище і створюємо новий проект (див. рис. 3.3.1)

Рис. 3.3.1. Створення нового проекту.

Після створення нового проекту створимо головне вікно даного програмного продукту. Так як даний додаток складатиметься з трьох основних функціональних блоків (магазин, склад, відділ кадрів) то на головному вікні розмістимо три однойменні кнопки (див. рис. 3.3.2)

Рис. 3.3.2. Проектування головного вікна

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

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

SqlConnection conn = new SqlConnection(@"Data Source=DESKTOP-E468J7Q;Initial Catalog=Shop;Integrated Security=True;Connect Timeout=15;Encrypt=False;TrustServerCertificate=True;ApplicationIntent=ReadWrite;MultiSubnetFailover=False");

Тут ми вказуємо ім'я нашого SQL Server-а, ім'я бази даних, права доступу і т.і.

Взаємодіяти з БД програма буде завдяки виконанню sql запитів. При роботі з SQl Server використовується бібліотека класів С# SqlClient, яка підключається наступним чином:

Using System.Data.SqlClient;

За виконання sql запитів відповідає об'єкт, який входить до даної бібліотеки - SqlCommand.

Приклад коду, який здійснює вибірку товарів на складі з БД наведеней нижче.

SqlConnection conn = new SqlConnection(@"Data Source=DESKTOP-E468J7Q;Initial Catalog=Shop;Integrated Security=True;Connect Timeout=15;Encrypt=False;TrustServerCertificate=True;ApplicationIntent=ReadWrite;MultiSubnetFailover=False");

try

{

conn.Open();

SqlCommand cmd = conn.CreateCommand();

cmd.CommandType = CommandType.Text;

cmd.CommandText = "select * from Goods";

cmd.ExecuteNonQuery();

DataTable dt = new DataTable();

SqlDataAdapter da = new SqlDataAdapter(cmd);

da.Fill(dt);

dataGridView1.DataSource = dt;

conn.Close();

}

catch

{

MessageBox.Show("Неможливо відкрити склад", "Помилка");

conn.Close();

}

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

Повні лістинги програми наведені в додатках.

3.4 Опис та тестовий приклад програми

база логічний таблиця програма

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

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

· відповідність вимогам, якими керувалися проектувальники та розробники

· правильна відповідь для усіх можливих вхідних даних

· виконання функцій за прийнятний час

· практичність

· сумісність з програмним забезпеченням та операційними системами

· відповідність задачам замовника.

Оскільки число можливих тестів навіть для нескладних програмних компонент практично нескінченне, тому стратегія тестування полягає в тому, щоб провести всі можливі тести з урахуванням наявного часу та ресурсів. Як результат програмне забезпечення (ПЗ) тестується стандартним виконанням програми з метою виявлення баґів (помилок або інших дефектів).

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

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

Тестування -- це одна з технік контролю якості, що включає в себе

· Планування робіт (Test Management)

· Проектування тестів (Test Design)

· Виконання тестування (Test Execution)

· Аналіз отриманих результатів (Test Analysis).

Верифікація (Verification) -- це процес оцінки системи або її компонентів з метою визначити чи задовольняють результати поточного етапу розробки умовам, сформованим на початку цього етапу. Тобто чи виконуються цілі, терміни, завдання з розробки проекту, визначені на початку поточної фази. Валідація (Validation) -- це визначення відповідності розроблюваного програмного забезпечення між очікуваннями і потребами користувача, вимогам до системи.

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

Тест дизайн (Test Design) -- це етап процесу тестування програмного забезпечення, на якому проектуються і створюються тестові випадки (тест кейси), відповідно до визначених раніше критеріями якості та цілями тестування.

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

Баг/Дефект Репорт (Bug Report) -- це документ, що описує ситуацію або послідовність дій (Steps), що призвела до некоректної роботи об'єкта тестування (Misbehavior), із зазначенням причин та очікуваного результату (Expected Result).

Тестове Покриття (Test Coverage) -- це одна з метрик оцінки якості тестування, що представляє із себе щільність покриття тестами вимог або коду, що виконується.

Деталізація Тест Кейсів (Test Case Specification) -- це рівень деталізації опису тестових кроків і необхідного результату, при якому забезпечується розумне співвідношення часу проходження до тестового покриття.

Час Проходження Тест Кейса (Test Case Pass Time) -- це час від початку проходження кроків тест кейса до отримання результату тесту.

Отже перейдемо до безпосередньої перевірки нашої програми на працездатність.

Після запуску програми користувач бачить перед собою головне вікно проекту. Даний програмний продукт складається з трьох основних робочих модулі (див рис.3.4.1).

Рис. 3.4.1. Головне меню

Як видно з рисунка вище, модулями програми є: модуль «Магазин», модуль «Склад» та модуль «Відділ кадрів».

Модуль «Магазин» вміщає собою засоби здійснення обліку проданих товарів. При натисненні на однойменну кнопку відкриється нове вікно, в якому продавець зможе автоматизувати роботу магазину. При виборі опції Магазин продавцеві потрібно в спеціальному вікні ввести свій персональний номер (див. рис. 3.4.2) і ввійти в програму Магазин. Після входу в БД робиться запис про те що працівник приступив до виконання своїх обов'язків. Відповідно до цих записів буде нараховувати заробітна плата відповідному продавцю.

Рис. 3.4.2. Вікно авторизації

Якщо авторизація пройшла успішно то відкривається нове вікно де безпосередньо ведеться продаж товарів продавце (див. рис. 3.4.4) в іншому випадку з'явиться помилку про помилку авторизації (див. рис. 3.4.3)

Рис. 3.4.3. Повідомлення про помилку авторизації.

Рис. 3.4.4. Вікно ведення продажів

В даному вікні в лівому верхньому куті розміщено інформацію про прізвище ім'я по-батькові працівника (див. рис. 3.4.5)

Рис. 3.4.5. Інофрмація про працівника

Нище в combobox поміщено інформацію про чек (див. рис. 3.4.6).

Рис. 3.4.6. Інформація про чек

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

Рис. 3.4.7. Форма вводу штрих-коду

Продавець вводить штрих-код у відповідне поле та нажимає Enter. Після цього відбувається автоматичний перехід в поле для вводу кількості товару, куди продавець відповідно вводить кількість. Далі продавець знову натискає Enter (див. рис. 3.4.8) і товар, який відповідає введеному штрих-коду додається до чека. (див. рис. 3.4.9)

Рис.3.4.8. Введення штрих коду.

Рис.3.4.9. Відображення товару в чекові.

Внизу вікна розміщено дві кнопки: «Оплатити чек», «Видалити чек». Кнопка «Видалити чек» знищує записи даного чеку у разі, якщо покупець не оплачує чек. Кнопка «Оплатити чек» здійсню відкриття нового вікна, де продавець вводить суму отриману від продавця, а програма автоматично визначає решту, яку потрібно повернути покупцеві (див. рис. 3.4.10). Після оплати чек заноситься до БД.

Рис. 3.4.10. Форма оплати

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

Рис. 3.4.11. Меню складу

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

Рис.3.4.12. Форма заповнення нового товару на склад.

Після заповнення даної форми користувач натискає на кнопку «Далі». Якщо користувач ввів всі дані правильно то товар добавиться в БД складу (див. рис. 3.4.13). В іншому випадку він отримає повідомлення про помилку (див. рис. 3.4.14.)

Рис. 3.4.13. Повідомлення про успішне додання товару

Рис. 3.4.14. Повідомлення про помилку

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

Рис. 3.4.15. Перелік товарів на складі

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

Рис.3.4.16. Товари, які потрібно закупити

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

Рис. 3.4.17. Меню відділу кадрів.

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

Рис. 3.4.18. Форма прийняття працівника

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

Рис. 3.4.19. повідомлення про помилку

Якщо ж користувач хоче звільнити працівника тоді він натискає на кнопку «Звільнити працівника». В новому вікні вводить табельний номер працівника і натискає на «Звільнити».

Рис. 3.4.20. Вікно звільнення працівника

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

Рис.3.4.21. Повідомлення про звільнення працівника.

Для перегляду списку персоналу магазина, необхідно натиснути на кнопку «Працівники». З'явиться вікно, де у вигляді таблиці показано перелік працівників і їхні персональні дані.

Рис. 3.4.22. Перелік працівників

Висновок

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

1. Магазин

2. Склад

3. Відділ кадрів

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

1. здійснювати автоматизоване формування чеків

2. нараховувати заробітну плату

3. стежити за товарами на складі

4. формувати запити на закупку товарів, які закінчуються

5. приймати на роботу нових працівників

6. звільняти працівників з роботи

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

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

1. http://bukvar.su/marketing/137513-Organizaciya-raboty-magazina-Produkty.html

2. http://pidruchniki.com/11570718/bankivska_sprava/proektuvannya_baz_danih

3. 2013-Oct 17 Release Notes | Visual Studio. www.visualstudio.com. Процитовано 2016-03-27.

4. What's New in Visual Studio 2015. msdn.microsoft.com. Процитовано 2016-03-27.

5. Visual Studio 2015 Update 2 | Release Notes. www.visualstudio.com. Процитовано 2016-04-01.

Додатки

Лістинг головного Вікна

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

namespace Shop

{

public partial class MainMenu : Form

{

public MainMenu()

{

InitializeComponent();

}

private void button1_Click(object sender, EventArgs e)

{

Shoping shop = new Shoping();

shop.ShowDialog();

}

private void button2_Click(object sender, EventArgs e)

{

Store _store = new Store();

_store.ShowDialog();

}

private void button3_Click(object sender, EventArgs e)

{

menuPersonal _menuPersonal = new menuPersonal();

_menuPersonal.ShowDialog();

}

}

}

Лістинг форми здійснення продажів.

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

using System.Data.SqlClient;

namespace Shop

{

public partial class Shoping : Form

{

SqlConnection conn = new SqlConnection(@"Data Source=DESKTOP-E468J7Q;Initial Catalog=Shop;Integrated Security=True;Connect Timeout=15;Encrypt=False;TrustServerCertificate=True;ApplicationIntent=ReadWrite;MultiSubnetFailover=False");

public Shoping()

{

InitializeComponent();

this.KeyPreview = true;

}

public string seller;

public string ID_seller;

double sum=0;

private void Shoping_Load(object sender, EventArgs e)

{

Auth auth = new Auth(this);

auth.ShowDialog();

dataLabel.Text = DateTime.Now.ToString("dd.MM.yyyy HH:mm:ss");

conn.Open();

SqlCommand cmd = conn.CreateCommand();

cmd.CommandType = CommandType.Text;

cmd.CommandText = "select top 1 ID_Checks from Checks order by ID_Checks desc";

cmd.ExecuteNonQuery();

DataTable dt = new DataTable();

SqlDataAdapter da = new SqlDataAdapter(cmd);

da.Fill(dt);

checkLabel.Text = (Convert.ToInt32(dt.Rows[0][0].ToString())+1).ToString();

conn.Close();

}

private void button2_Click(object sender, EventArgs e)

{

dataGridView1.Rows.Clear();

}

private void button1_Click(object sender, EventArgs e)

{

try

{

Payment _pmnt = new Payment(this);


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

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

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

  • Модель аналізу-синтезу компіляції. Формальний опис вхідної мови програмування. Вибір технології програмування, проектування таблиць транслятора та вибір структур даних. Опис програми реалізації лексичного аналізатора. Розробка дерев граматичного розбору.

    курсовая работа [75,8 K], добавлен 26.12.2009

  • Теоретичні відомості про пакет ІЗВП Borland Delphi та СУБД MS Access, оцінка їх функціональних особливостей. Опис структури бази даних. Проектування інтерфейсу програми, опис її логічної структури та функцій. Контроль коректності вхідних, вихідних даних.

    курсовая работа [4,5 M], добавлен 03.01.2014

  • Визначення мети створення бази даних магазину та таблиць, які вона повинна містити. Розгляд видів полів та ключів таблиць. Створення запитів, форм, звітів, макросів та модулів. Вибір системи управління базами даних. Реалізація моделі у Microsoft Access.

    курсовая работа [3,8 M], добавлен 20.07.2014

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

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

  • Характеристика предметної області: FTP-server для ОС Windows. Шляхи встановлення FTP-серверу в ОС Windows. Опис мови та середовища програмування, компонентів та функцій програми. Аналіз реалізованої програми FTP-клієнта. Тестовий запуск та опис програми.

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

  • Створення і реалізація в СУБД MS Access бази даних "Internet-ресурси з інформаційних технологій". Опис предметної області, інфологічне проектування. Побудова ER-діаграми. Даталогічне і фізичне проектування інформаційних систем. Опис роботи програми.

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

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

    курсовая работа [147,2 K], добавлен 02.06.2019

  • Проектування бази даних у середовищі Visual FoxPro 9.0. Реалізація можливості вносити та зберігати дані про клієнтів салону, про співробітників, перелік послуг, які надає салон. Створення форм та таблиць. Керівництво користувача і лістинг програми.

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

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

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

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