Главная страница
Навигация по странице:

  • Ім‘я сутності Атрибути Опис атрибута Тип

  • Ім‘я сутності Зв‘язок Ім‘я сутності

  • 1.3.3 Логічне проектування

  • 1.3.4 Фізична модель даних

  • 1.4.2 Архітектурне проектування

  • 1.5 Опис і обґрунтування вибору програмного забезпечення , що використовується

  • 1.5.1 Клієнтська частина

  • 1.5.2.2 Збережені процедури

  • Перелік використаної літератури

  • Т. Коннолі, Каролін Бег

  • Орлов,С.А.

  • Гандзюк М.П., Желібо Е.П., Халимовський М.О.

  • Архангельський, А.Я.

  • Мамаев, Евгений

  • Автоматизація і інформатизація роботи салону мобільного зв‘язку”.. Автоматизація і інформатизація роботи салону мобільного зв‘язку”. Дипломний проект є описом проектування і реалізації програмного забезпечення на тему "Автоматизація і інформатизація роботи салону мобільного звязку"


    Скачать 1.09 Mb.
    НазваниеДипломний проект є описом проектування і реалізації програмного забезпечення на тему "Автоматизація і інформатизація роботи салону мобільного звязку"
    АнкорАвтоматизація і інформатизація роботи салону мобільного зв‘язку”
    Дата20.10.2022
    Размер1.09 Mb.
    Формат файлаdocx
    Имя файлаАвтоматизація і інформатизація роботи салону мобільного зв‘язку”.docx
    ТипДиплом
    #744303
    страница2 из 2
    1   2


    Атрибути сутностей предметної області описані в табл.1.2.

    Таблиця 1.2 – Опис атрибутів сутностей


    Ім‘я сутності

    Атрибути

    Опис атрибута

    Тип

    Обмеження

    Послуга

    Назва

    Назва послуги

    строковий

    30 символів

    Ціна

    Вартість

    грошовий




    Надання послуг

    Дата

    Дата послуги

    Дата/Час




    Послуга

    Назва послуги

    строковий

    30 символів

    Виконавець

    Співробітник

    строковий

    30 символів

    Товар

    Назва товару

    строковий

    30 символів

    Персонал

    ім’я, прізвище, по-батькові

    ім’я, прізвище, по-батькові працівника

    строковий

    50 символів

    Посада

    Посада

    строковий

    30 символів

    Посада

    Назва посади

    Назва посали

    строковий

    30 символів

    Гаджет

    Модель

    Модель товару

    строковий

    30 символів

    Ціна

    Вартість

    грошовий




    Бренд

    Назва виробника

    строковий

    30 символів

    Тип

    Тип товару

    строковий

    30 символів

    Кількість

    Кількість в наявності

    числовий




    Опис

    Опис товару

    строковий

    100 символів

    Фото

    Фото







    ОС

    Операційна система

    строковий

    30 символів

    Колір

    Колір корпусу

    строковий

    30 символів

    Ім‘я сутності

    Атрибути

    Опис атрибута

    Тип

    Обмеження

    Гаджет


    Кількість карт

    Кількість сим-карт

    числовий




    Кількість ядер

    Кількість ядер

    числовий




    Дисплей

    Тип дисплею

    строковий

    30 символів

    Роздільна здатність

    Роздільна здатність екрану

    строковий

    30 символів

    Основна камера

    Роздільна здатність камери

    строковий

    30 символів

    Фронтальна камера

    Роздільна здатність камери

    строковий

    30 символів

    Діагональ

    Розмір діагоналі

    строковий

    30 символів

    Тип гаджету

    Назва

    Найменування типу

    строковий

    30 символів

    Бренд

    Назва

    Назва бренду

    строковий

    30 символів

    Країна

    Назва

    Назва країни

    строковий

    30 символів

    Поставки

    Дата

    Дата поставки

    Дата/Час




    Товар

    Назва товару

    строковий

    30 символів

    Кількість

    Кількість одиниць товару

    числовий




    Країна

    Країна поставки

    строковий

    30 символів



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

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

    З кожного боку бінарний зв‘язок має такі характеристики:

    • ім‘я,

    • множинність або потужність,

    • обов‘язковість.

    Опис зв‘язків між сутностями приведено в таблиці 1.3.

    Таблиця 3.3 – Опис зв‘язків

    Ім‘я сутності

    Зв‘язок

    Ім‘я сутності

    Тип зв‘язку

    Поставки

    Включають

    Гаджет

    1:n

    Країна

    Здійснює

    Поставки

    1:n

    Виробник

    Виготовляє

    Гаджет

    1:n

    Надання послуг

    Включає

    Послуга

    1:n

    Надання послуг

    Включає

    Гаджет

    n:1

    Персонал

    Виконує

    Надання послуг

    1:n

    Персонал

    Має

    Посада

    n:1

    Гаджет

    Має

    Тип гаджету

    n:1

    В результаті буде отримана наступна концептуальна схема, що приведена на рисунку 1.1.

    Рисунок 1.1 – Концептуальна схема

    Після складання графічної схеми необхідно :

    1. перевірити наявність всіх об’єктів;

    2. перевірити можливість проходження (чи можливо реалізувати запроси в запропонованій формі);

    3. перевірити відсутність зв’язків в схемі;

    4. перевірити правильність встановлення тісних зв’язків.



    1.3.3 Логічне проектування

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

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

    • погляд користувача представлений як логічне уявлення даних;

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

    Основною задачею логічного проектування є розробка логічної схеми, що орієнтовано на обрану СУБД. Етап логічного програмування на відміну концептуального проектування повністю орієнтований на інструментальні засоби комп’ютера. По суті справи логічне проектування є моделюванням всієї системи та її окремих складових в формі, що відповідає реальній СУБД.

    Процес логічного проектування складається з наступних етапів:

    • Вибір певної СУБД.

    • Відображення концептуальної схеми на логічну схему.

    • Вибір ключів.

    • Опис мови запитів.

    Для реалізації даної системи обрана СУБД SQL Server, якf широко використовується для програмування баз даних. Працювати з даними можна, зокрема, через написання на мові SQL (Structured Query Language) запитів. Основними групами операторів SQL є оператори визначення даних та оператори маніпулювання даними.

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

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

    У SQL є основні обмеження: NULL, PRIMARY KEY, CHECK, UNIQUE і FOREIGN KEY. Вони не є обов'язковими для таблиці.

    NULL діє для стовпця або користувацького типу даних.

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

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

    Обмеження UNIQUE забезпечує відсутність дублікатів у стовпці або наборі стовпців.

    Обмеження FOREIGN KEY захищає від дій, які можуть порушити зв'язки між таблицями.

    Використані обмеження цілісності PRIMARY KEY, FOREIGN KEY, NULL.



    Рисунок 1.2 - Відображення концептуальної схеми на логічну схему

    1.3.4 Фізична модель даних

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

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

    create database Салон_мобільного_звязку

    use Салон_мобільного_звязку

    go

    CREATE TABLE Type_gadget

    (kod_Type_gadget int IDENTITY (1,1) primary key,

    name_Type_gadget varchar(50) NOT NULL

    )

    go
    CREATE TABLE Brend

    (kod_Brend int IDENTITY (1,1) primary key,

    name_Brend varchar(20) NOT NULL

    )

    go
    CREATE TABLE Gadget

    (kod_Gadget int IDENTITY (1,1) primary key,

    model_gadget varchar(50) NOT NULL,

    price_gadget money NOT NULL,

    brend int FOREIGN KEY REFERENCES Brend (kod_Brend) NOT NULL,

    type_gadget int FOREIGN KEY REFERENCES Type_gadget(kod_Type_gadget) NOT NULL,

    count_gadget int NOT NULL,

    opys varbinary(MAX),

    photo image,

    OC varchar(20) NOT NULL,

    color varchar(20) NOT NULL,

    count_SIM int NOT NULL,

    count_yadro int NOT NULL,

    type_display varchar(20) NOT NULL,

    rozdilna_zdatnist varchar(20) NOT NULL,

    osn_camera int NOT NULL,

    front_camera int NOT NULL,

    diagonal float NOT NULL

    )

    go
    CREATE TABLE Сountry

    (kod_Сountry int IDENTITY (1,1) primary key,

    name_country varchar(20) NOT NULL

    )

    go
    CREATE TABLE Nadxodgennay

    (kod_Nadxodgennay int IDENTITY (1,1) primary key,

    gadget int FOREIGN KEY REFERENCES Gadget (kod_Gadget) NOT NULL,

    data datetime NOT NULL,

    count_nadxodgennay int NOT NULL,

    country int FOREIGN KEY REFERENCES Сountry (kod_Сountry) NOT NULL

    )

    go
    CREATE TABLE Posluga

    (kod_Posluga int IDENTITY (1,1) primary key,

    name_posluga varchar(20) NOT NULL,

    price_posluga money NOT NULL

    )

    go
    CREATE TABLE Posada

    (kod_Posada int IDENTITY (1,1) primary key,

    name_posada varchar(20) NOT NULL

    )

    go
    CREATE TABLE Personal

    (kod_Personal int IDENTITY (1,1) primary key,

    PIB varchar(30) NOT NULL,

    posada int FOREIGN KEY REFERENCES Posada (kod_Posada) NOT NULL

    )

    go
    CREATE TABLE Nadannay_poslug

    (kod_Nadannay_poslug int IDENTITY (1,1) primary key,

    gadget int FOREIGN KEY REFERENCES Gadget (kod_Gadget) NOT NULL,

    data datetime NOT NULL,

    posluga int FOREIGN KEY REFERENCES Posluga (kod_Posluga) NOT NULL,

    personal int FOREIGN KEY REFERENCES Personal (kod_Personal) NOT NULL

    )

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

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

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

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

    Етапи процесу проектування:

    • Архітектурне проектування. Визначаються і документуються підсистеми і взаємозв'язки між ними.

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

    • Проектування інтерфейсів. Для кожної підсистеми визначається і документується її інтерфейс.

    • Компонентне проектування. Проводиться розподіл системних функцій (сервісів) по різних компонентах і інтерфейсах.

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

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

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

    Модель клієнт-сервер використовується для багатокористувацьских систем: на сервері зберігаються дані й програми їхньої обробки; інші комп'ютери мережі (клієнтські станції) відправляють серверу запит на обробку даних; сервер обробляє запит і клієнтові відправляє тільки результати запиту

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

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

    • Перенесення персональної бази даних на сервер для подальшого її колективного використання як корпоративної бази даних;

    • Організація запитів до корпоративної базі даних, розміщеної на сервері, з боку комп'ютера-клієнта;

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

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


    Рисунок 1.3- Архітектурна модель клієнт-сервер
    1.5 Опис і обґрунтування вибору програмного забезпечення, що використовується
    1.5.1 Клієнтська частина

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

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

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

    Клієнтська частина реалізована на мові програмування С++ на базі IDE C++ Builder.

    Інтегроване середовище C++ Builder забезпечує швидкість візуальної розробки, продуктивність повторно використовуваних компонент у поєднанні з потужністю мовних засобів C++, вдосконаленими інструментами і різномасштабними засобами доступу до баз даних.

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

    По своїх можливостях С++ Builder практично повністю перетинається з системами Delphi : і тут і там використаний метод технічного проектування програми, що називається візуальним програмуванням. Відмінність від систем Delphi в даному випадку полягає в тому, що базовою мовою цієї системи програмування є мова С++.



    Рисунок 1.4- Модуль даних

    1.5.2 Серверна частина
    1.5.2.1 Вибір СУБД

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

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

    СУБД впливає на багато характеристик системи.

    • інтерфейси користувачів;

    • ефектів формування;

    • вартість розробки системи;

    • вартість експлуатації;

    • гнучкість програми.

    При виборі СУБД враховується погляд системного аналітика, програміста, проектувальника.

    Для реалізації системи була обрана СКБД Microsoft SQL Server 2012, як така що відповідає висунутим вимогам. До того ж вона має широке розповсюдження, що буде сприяти скороченню витрат на впровадження продукту, що розроблюється.

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

    1.5.2.2 Збережені процедури

    Очистка таблиці чека
    PROCEDURE [dbo].[Clear_table]

    AS

    BEGIN

    SET NOCOUNT ON;

    --Delete from Chek

    truncate table Chek

    select 0

    return 0

    END
    Отримані кошти з продажу гаджетыв за вказаний період часу
    PROCEDURE [dbo].[Doxid_prodag_za_period] @data_begin datetime, @data_end datetime

    AS

    BEGIN

    SET NOCOUNT ON;
    /* Отримані кошти з продажу гаджетыв за вказаний період часц*/
    SELECT SUM(dbo.Gadget.price_gadget) AS [Сума отриманих коштів]

    FROM dbo.Posluga INNER JOIN

    dbo.Nadannay_poslug ON dbo.Posluga.kod_Posluga = dbo.Nadannay_poslug.posluga INNER JOIN

    dbo.Gadget ON dbo.Nadannay_poslug.gadget = dbo.Gadget.kod_Gadget

    WHERE (dbo.Posluga.name_posluga = 'Продаж') and

    (dbo.Nadannay_poslug.data BETWEEN CONVERT(DATETIME, @data_begin, 102) AND CONVERT(DATETIME, @data_end, 102))

    END
    Змінити вартість товару на вказаний процент (від 0 до 100)
    PROCEDURE [dbo].[Index_price_tovar] @Persent int

    AS

    BEGIN

    SET NOCOUNT ON;
    UPDATE Gadget

    SET

    dbo.Gadget.price_gadget=dbo.Gadget.price_gadget+dbo.Gadget.price_gadget*@Persent/100

    select 0

    END
    Перелік надходжень товару за вказаний період часц
    ALTER PROCEDURE [dbo].[Nadx_tovar_period] @data_begin datetime, @data_end datetime

    AS

    BEGIN

    SET NOCOUNT ON;
    SELECT convert(varchar, dbo.Nadxodgennay.data, 104) Дата, dbo.Type_gadget.name_Type_gadget Тип,

    dbo.Brend.name_Brend Бренд, dbo.Gadget.model_gadget Модель,

    dbo.Gadget.price_gadget Вартість, dbo.Сountry.name_country Країна

    FROM dbo.Brend INNER JOIN dbo.Gadget ON dbo.Brend.kod_Brend = dbo.Gadget.brend INNER JOIN

    dbo.Nadxodgennay ON dbo.Gadget.kod_Gadget = dbo.Nadxodgennay.gadget INNER JOIN

    dbo.Type_gadget ON dbo.Gadget.type_gadget = dbo.Type_gadget.kod_Type_gadget INNER JOIN

    dbo.Сountry ON dbo.Nadxodgennay.country = dbo.Сountry.kod_Сountry

    WHERE (dbo.Nadxodgennay.data BETWEEN CONVERT(DATETIME, @data_begin, 102) AND CONVERT(DATETIME, @data_end, 102))

    END
    Всі товари, що є в продажу

    ALTER PROCEDURE [dbo].[p_All_tovar]

    AS

    BEGIN

    SET NOCOUNT ON;

    SELECT dbo.Type_gadget.name_Type_gadget Тип, dbo.Brend.name_Brend Бренд, dbo.Gadget.model_gadget Модель, dbo.Gadget.color Колір,

    dbo.Gadget.count_SIM [SIM-карти], dbo.Gadget.count_yadro Ядра, dbo.Gadget.type_display Дисплей,

    dbo.Gadget.rozdilna_zdatnist Здатність, dbo.Gadget.osn_camera [Осн. камера], dbo.Gadget.front_camera [Фронт. камиера],

    dbo.Gadget.diagonal Діагональ, dbo.Gadget.price_gadget [Вартість(грн)],kod_Gadget

    FROM dbo.Brend INNER JOIN dbo.Gadget ON dbo.Brend.kod_Brend = dbo.Gadget.brend INNER JOIN

    dbo.Type_gadget ON dbo.Gadget.type_gadget = dbo.Type_gadget.kod_Type_gadget

    END

    Перелік наданих послуг за вказаний період часу

    ALTER PROCEDURE [dbo].[Poslugy_period] @data_begin datetime, @data_end datetime

    AS

    BEGIN

    SET NOCOUNT ON;
    /* Перелік наданих послуг за вказаний період часц*/
    SELECT convert(varchar, dbo.Nadannay_poslug.data, 104) Дата, dbo.Posluga.name_posluga Послуга, dbo.Personal.PIB Персонал,

    dbo.Posada.name_posada Посада, dbo.Type_gadget.name_Type_gadget Гаджет, dbo.Gadget.model_gadget Млдель

    FROM dbo.Posluga INNER JOIN dbo.Nadannay_poslug ON dbo.Posluga.kod_Posluga = dbo.Nadannay_poslug.posluga INNER JOIN

    dbo.Personal ON dbo.Nadannay_poslug.personal = dbo.Personal.kod_Personal INNER JOIN

    dbo.Posada ON dbo.Personal.posada = dbo.Posada.kod_Posada INNER JOIN

    dbo.Gadget ON dbo.Nadannay_poslug.gadget = dbo.Gadget.kod_Gadget INNER JOIN

    dbo.Type_gadget ON dbo.Gadget.type_gadget = dbo.Type_gadget.kod_Type_gadget

    WHERE (dbo.Nadannay_poslug.data BETWEEN CONVERT(DATETIME, @data_begin, 102) AND CONVERT(DATETIME,@data_end, 102))
    END

    Перелік здійснених послуг вказаним співробітником за вказаний період

    ALTER PROCEDURE [dbo].[Poslugy_personal_za_period] @PIB nvarchar(30), @data_begin datetime, @data_end datetime

    AS

    BEGIN

    SET NOCOUNT ON;

    SELECT dbo.Personal.PIB Персонал, dbo.Posada.name_posada Посада, dbo.Posluga.name_posluga Послуга,

    (dbo.Posluga.price_posluga ) as Вартість, convert(varchar, dbo.Nadannay_poslug.data, 104) Дата

    FROM dbo.Personal INNER JOIN

    dbo.Posada ON dbo.Personal.posada = dbo.Posada.kod_Posada INNER JOIN

    dbo.Nadannay_poslug ON dbo.Personal.kod_Personal = dbo.Nadannay_poslug.personal INNER JOIN

    dbo.Posluga ON dbo.Nadannay_poslug.posluga = dbo.Posluga.kod_Posluga

    WHERE (dbo.Personal.PIB = @PIB) and

    (dbo.Nadannay_poslug.data BETWEEN CONVERT(DATETIME, @data_begin, 102) AND CONVERT(DATETIME, @data_end, 102))

    END

    Вартість всього наявного в салоні товару

    ALTER PROCEDURE [dbo].[SUM_vartist_tovar]

    AS

    BEGIN

    SET NOCOUNT ON;
    SELECT SUM(price_gadget*count_gadget) AS [Загальна вартість товару]

    FROM dbo.Gadget

    END


    ALTER PROCEDURE [dbo].[Tovar_brendu] @name_Brend varchar (30)

    AS

    BEGIN

    SET NOCOUNT ON;

    Товар вказаного бренду

    SELECT dbo.Brend.name_Brend Бренд, dbo.Gadget.model_gadget Модель, dbo.Gadget.price_gadget Вартість, dbo.Type_gadget.name_Type_gadget Тип

    FROM dbo.Gadget INNER JOIN

    dbo.Brend ON dbo.Gadget.brend = dbo.Brend.kod_Brend INNER JOIN

    dbo.Type_gadget ON dbo.Gadget.type_gadget = dbo.Type_gadget.kod_Type_gadget

    WHERE (dbo.Brend.name_Brend = @name_Brend)

    END
    Підрахунок вартості всіх послуг, здійснених вказаним робітником

    ALTER PROCEDURE [dbo].[Vartist_poslug_1_robitnik_period] @PIB nvarchar(30), @data_begin datetime, @data_end datetime

    AS

    BEGIN

    SET NOCOUNT ON;
    select ( Posl.[SUM_poslug]+Prod.SUM_prodag) as SUM_pobinika
    from

    (SELECT dbo.Personal.PIB, SUM(dbo.Posluga.price_posluga) AS [SUM_poslug]

    FROM dbo.Nadannay_poslug INNER JOIN

    dbo.Personal ON dbo.Nadannay_poslug.personal = dbo.Personal.kod_Personal INNER JOIN

    dbo.Posluga ON dbo.Nadannay_poslug.posluga = dbo.Posluga.kod_Posluga

    GROUP BY dbo.Personal.PIB, dbo.Nadannay_poslug.data

    HAVING (dbo.Nadannay_poslug.data BETWEEN CONVERT(DATETIME, @data_begin, 102) AND CONVERT(DATETIME, @data_end, 102))

    AND (dbo.Personal.PIB = @PIB)) as Posl,

    (SELECT dbo.Personal.PIB, dbo.Posluga.name_posluga, SUM(dbo.Gadget.price_gadget) AS [SUM_prodag]

    FROM dbo.Nadannay_poslug INNER JOIN

    dbo.Personal ON dbo.Nadannay_poslug.personal = dbo.Personal.kod_Personal INNER JOIN

    dbo.Posluga ON dbo.Nadannay_poslug.posluga = dbo.Posluga.kod_Posluga INNER JOIN

    dbo.Gadget ON dbo.Nadannay_poslug.gadget = dbo.Gadget.kod_Gadget

    GROUP BY dbo.Personal.PIB, dbo.Nadannay_poslug.data,dbo.Posluga.name_posluga

    HAVING (dbo.Nadannay_poslug.data BETWEEN CONVERT(DATETIME, @data_begin, 102) AND CONVERT(DATETIME, @data_end, 102))

    AND (dbo.Personal.PIB =@PIB) and (dbo.Posluga.name_posluga='Продаж')) as Prod

    END

    ALTER PROCEDURE [dbo].[Vartist_poslug_personal_za_period] @data_begin datetime, @data_end datetime

    AS

    BEGIN

    SET NOCOUNT ON;

    Вартість здійснених послуг кожним співробітником за вказаний період

    select Posl.Work,SUM(Posl.[SUM_poslug]+Prod.SUM_prodag) as SUM_vartict
    from
    (SELECT dbo.Personal.PIB Work, SUM(dbo.Posluga.price_posluga) AS [SUM_poslug]

    FROM dbo.Nadannay_poslug INNER JOIN

    dbo.Personal ON dbo.Nadannay_poslug.personal = dbo.Personal.kod_Personal INNER JOIN

    dbo.Posluga ON dbo.Nadannay_poslug.posluga = dbo.Posluga.kod_Posluga

    GROUP BY dbo.Personal.PIB, dbo.Nadannay_poslug.data

    HAVING (dbo.Nadannay_poslug.data BETWEEN CONVERT(DATETIME, @data_begin, 102) AND CONVERT(DATETIME, @data_end, 102)) ) as Posl,
    (SELECT dbo.Personal.PIB Work, dbo.Posluga.name_posluga, SUM(dbo.Gadget.price_gadget) AS [SUM_prodag]

    FROM dbo.Nadannay_poslug INNER JOIN

    dbo.Personal ON dbo.Nadannay_poslug.personal = dbo.Personal.kod_Personal INNER JOIN

    dbo.Posluga ON dbo.Nadannay_poslug.posluga = dbo.Posluga.kod_Posluga INNER JOIN

    dbo.Gadget ON dbo.Nadannay_poslug.gadget = dbo.Gadget.kod_Gadget

    GROUP BY dbo.Personal.PIB, dbo.Nadannay_poslug.data,dbo.Posluga.name_posluga

    HAVING (dbo.Nadannay_poslug.data BETWEEN CONVERT(DATETIME, @data_begin, 102) AND CONVERT(DATETIME, @data_end, 102))

    AND (dbo.Posluga.name_posluga='Продаж')) as Prod

    WHERE Posl.Work=Prod.Work

    GROUP BY Posl.Work
    END

    1.6 Тестування системи

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

    Тестування бази даних поділяється на наступні види:

      1. Тестування логічної моделі:

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

    - Пошук можливостей для спрощення логічної моделі.

      1. Тестування логічної схеми бази даних:

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

    - Тестування на узгодженість бази;

    - Тестування для виявлення даних, що перебувають в надлишку.

      1. Тестування фізичної структури бази даних:

    - Аналіз і настроювання покриття індексу;

    - Аналіз системи зберігання даних (табличні області (Oracle, DB2),

    масивів даних і груп файлів (MS SQL));

    - Аналіз політики безпеки та розробка пропозицій щодо її поліпшення;

    - Аналіз та реалізація розподілу бази даних;

    - Аналіз та реалізація стратегії реплікації;

    - Аналіз та реалізація стратегії резервного копіювання.

      1. Тестування бази даних на можливість програмування:

    - Аналіз ефективності процедур і тригерів;

    - Оптимізація запитів;

    - Аналіз ефективності клієнтського додатку.

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

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

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

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

    Розроблена система була протестована та відлагоджена. На етапі тестування були перевірені можливі помилки при роботі програми - введення невірних даних при заповненні таблиць, завдання некоректних критеріїв пошуку.
    1.7 Опис контрольного прикладу

    На приведених нижче відеограмах описаний приклад роботи програми.



    Рисунок 1.5- Відеограма головної форми



    Рисунок 1.6- Відеограма вікна Надання послуг


    Рисунок 1.7- Відеограма вікна Формування даних послуг



    Рисунок 1.8- Відеограма вікна Формування даних персоналу

    Рисунок 1.9- Відеограма вікна Формування даних виробників



    Рисунок 1.10- Відеограма вікна Формування даних брендів



    Рисунок 1.11- Відеограма вікна Формування даних типів товарів


    Рисунок 1.12- Відеограма вікна Надходження товару



    Рисунок 1.13- Відеограма вікна перегляду наявних товарів


    Рисунок 1.14- Відеограма вікна відомостей про послуги


    Рисунок 1.15- Відеограма вікна Послуги, надані за вказаний період часу



    Рисунок 1.16- Відеограма вікна Послуги надані вказаним робітником за вказаний період часу



    Рисунок 1.17- Відеограма вікна Вартість послуг здійснених кожним робітником за вказаний період часу

    Р исунок 1.18- Відеограма вікна Вартість послуг здійснених кожним робітником за вказаний період часу
    ЗАКЛЮЧЕННЯ
    Під час роботи над дипломним проектом було виконано поставлену задачу, а саме проектування та реалізацію бази даних для автоматизації роботи салону мобільного звязку.

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

    Для реалізації бази даних обрано СКБД SQL Server і побудована фізична модель даних. Для формування таблиць бази даних використані відповідні інструкції мови запитів, які приведені в документі, структура таблиць бази даних приведена на рисунках. Для реалізації інтерфейсу користувача використано середовище C++ Builder. Відповідні описи приведені в першому розділі.

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

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

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

    1. Пономаренко,В.С. Проектування інформаційних систем. Київ. Видавничий центр "Академія", 2002.

    2. Ситник, В.Ф., Писаревська, Т.А., Єрьоміна, Н.В., Краєва,О.С. Основи інформаційних систем", Київ, 2001.

    3. Петров, В.Н. Інформаційні системи, Санкт-Петербург-Москва-Харьков-Мінськ, 2002.

    4. Т. Коннолі, Каролін Бег „Бази даних", Москва-Санкт-Петербург-Київ, 2003.

    5. Соммервил, Іан. Інженерія програмного забезпечення, Москва-Санкт-Петербург-Київ, 2002.

    6. Орлов,С.А. Технології розробки програмного забезпечення, Москва-Санкт-Петербург-Київ, 2002.

    7. Пасічник, Ю.В., Резніченко, В.А. Організація баз даних та знань, Київ, Видавнича група BHV, 2006.

    8. Гандзюк М.П., Желібо Е.П., Халимовський М.О. Основи охорони праці: Підручник. – К.: Каравела, 2005. – 393 с

    9. Жидецький В.Ц. Основи охорони праці: Підруч. – Львів: Афіша, 2002. – 318 с.

    10. Архангельський, А.Я.   Программирование в С++Builder 5 /А.Я.Архангельський.М.:ЗАО издательство „Бином”, 2001.1152 с.:ил. ISBN 5-7989-0191-2

    11. Конноли, Томас Бази даних. Проектирование, реализация и сопровождение. Теория и практика, 3-е издание:Пер. с англ /Томас Конноли, Каролін Бег .–М.:Издательский дом Вильямс, 2003.– 1440 с.: ил. .– ISBN 5-8459-0527-3 (рус)

    12. Мамаев, Евгений. Microsoft SQL Server для профессионалов/ Евгений Мамаев, Лилия Шкарина.– СПб.: Питер, 2001.– 1088 с. ил. ISBN 5-272-00339

    13. Валуев, С.А.   Системный анализ в экономике и организации производства: учебник для студентов / С.А. Валуев, В.Н. Волкова, А.П. Градов и др. – Л.: Политехника,1995.





    1   2


    написать администратору сайта