- •Анотація
- •Анотація……………………………………………………………………………..…2
- •Глава 1. Аналіз вимог та визначення специфікацій
- •Глава 2. Технічний проект…………………………………….......................9
- •Глава 3. Тестування та супроводження……………………...…..….20
- •Глава 1. Аналіз вимог та визначення специфікацій програмного продукту
- •Загальні відомості про бібліотеку
- •2.1. Концептуальна модель
- •2.2 Формалізований опис постановки задачі
- •2.3.2. Визначення взаємозв'язків між сутностями
- •2.3.2. Завдання первинних і альтернативних ключів, визначення атрибутів сутностей
- •2.3.4. Приведення моделі до необхідного рівня нормальної форми
- •Глава 3. Тестування та супроводження
- •3.1. Оцінка надійності продукту
- •3.2. Супровідна документація
- •3.2.1. Посібник користувача
- •3.3. Можливі шляхи удосконалення програмного продукту
- •3.4. Інструкції роботи з програмою
- •Висновки
- •Література
3.2. Супровідна документація
3.2.1. Посібник користувача
Для встановлення програми необхідно скопіювати папку с вихідними та виконуваними файлами в будь-яку теку на комп’ютер та налаштувати зв’язок проекту програмного комплексу з базою даних Oracle,шляхом введення логіну та паролю.
3.3. Можливі шляхи удосконалення програмного продукту
У наступних версіях програмного продукту можливе удосконалення інтерфейсу, перетворення його на більш зручний, пришвидшення виконання окремих компонентів, виправлення можливих помилок, підвищення сумісності із більш технічно слабкими комп'ютерами, виявлення слабких сторін та їх виправлення.
3.4. Інструкції роботи з програмою
На зображенні показано головне вікно програми. Воно дозволяє обрати режим додавання книжки до бази бібліотеки, режим пошуку, режим перегляду та зміни інформації про сектори, статистику, авторів, користувачів, видачу книжок, а також занести інформацію щодо видачі книжки користувачу.

Мал. 3.4.1 Головне вікно
Якщо обрати режим «Додати», «Пошук», «Видати» , то з’являється наступне вікно.

Мал. 3.4.2 Режим «Додати» ,»Пошук», «Видати»
Обираючи в меню режим «Клієнти», бачимо вікно, в якому завантажуєть інформація про користувачів бібліотеки з фотографією користувача. Також можливо реалізувати запрос про користувача у вигляді звіту в Word.

Мал. 3.4.3 Режим «Клієнти»

Мал. 3.4.4 Звіт у Word
При перегляді інших клавіш меню бачимо таблиці з інформацією про авторів, сектори, видавництва, видачу книг та статистику видачі книг:

Мал. 3.4.1 Режим «Автори»

Мал. 3.4.1 Режим «Сектори»

Мал. 3.4.1 Режим «Видавництва»

Мал. 3.4.1 Режим «Видача книг»

Мал. 3.4.1 Режим «Cтатистика»
Висновки
Розвиток сучасних технологій є дуже швидким процесом, і саме сучасні технології мможуть значно облегшити роботу багатьох людей, шляхом створення відповідних програмних комплексів.
Розроблена в курсовому проекті програма призначена для автоматизації та підвищення швидкодії роботи бібліотекаря, адже вона надає можливість зручного пошуку в базі даних бібліотеки, внесення нової інформації щодо книг та користувачів бібліотеки, а також слідкувати за видачею книжок користувачам.
В подальшому, програмний комплекс може удосконалюватись, доповнюватись новими функціями та можливостями для ще більшої зручності використання.
Література
-
SQL за 24 часа. Райн Стивенс, Рональд Плю -“Издательство БИНОМ”,1998г.
-
Стив Бобровски ORACLE 8 Архитектура.- Издательство “Лори”, 1998г
-
Скотт Урман. ORACLE 8 Программирование на языке PL/SQL.- Издательство “Лори”, 1998г.
-
ORACLE 7.3. Пособие разработчика: Пер. с англ./Лэйв Сингх. – К.: Издательство «ДиаСофт», 1997. – 736 с.
-
Внутренний мир ORACLE8. Проектирование и настройка: Пер. с англ./ Дон Бэлсон, Марк Гокмен и Джонатан Ингрем. - Издательство «ДиаСофт», 2000. – 800 с.
-
Внутренний мир ORACLE8. Проектирование и настройка: Пер. с англ./ Дон Бэлсон, Марк Гокмен и Джонатан Ингрем. - Издательство «ДиаСофт», 2000. – 800 с.
Додаток 1
-- Створюємо користувача
create user LIB
identified by "LIB"
default tablespace USERS
temporary tablespace TEMP
profile DEFAULT
quota unlimited on users;
-- Надання користувачу привілегій
grant execute on DBMS_STATS to LIB;
grant connect to LIB;
grant resource to LIB;
grant alter session to LIB;
grant create database link to LIB;
grant create sequence to LIB;
grant create session to LIB;
grant create synonym to LIB;
grant create view to LIB;
grant unlimited tablespace to LIB;
=====
-- Створення таблиці Автор
create table AUTHOR
(
ID NUMBER(5) not null,
SECOND_NAME VARCHAR2(30),
FIRST_NAME VARCHAR2(30)
)
tablespace USERS
pctfree 10
initrans 1
maxtrans 255
storage
(
initial 64K
minextents 1
maxextents unlimited
);
-- Створення первинного ключа
alter table AUTHOR
add constraint AUT_PK primary key (ID)
using index
tablespace USERS
pctfree 10
initrans 2
maxtrans 255
storage
(
initial 64K
minextents 1
maxextents unlimited
);
=====
-- Створення таблиці Сектор
create table SECTION
(
ID_S NUMBER(5) not null,
NAME VARCHAR2(30)
)
tablespace USERS
pctfree 10
initrans 1
maxtrans 255
storage
(
initial 64K
minextents 1
maxextents unlimited
);
-- Створення первинного ключа
alter table SECTION
add constraint S_PK primary key (ID_S)
using index
tablespace USERS
pctfree 10
initrans 2
maxtrans 255
storage
(
initial 64K
minextents 1
maxextents unlimited
);
-- Створення таблиці Видавництво
create table PRINTER
(
ID_P NUMBER(5) not null,
NAME VARCHAR2(30),
ADDRESS VARCHAR2(60),
TELEPHONE VARCHAR2(14)
)
tablespace USERS
pctfree 10
initrans 1
maxtrans 255
storage
(
initial 64K
minextents 1
maxextents unlimited
);
-- Створення первинного ключа
alter table PRINTER
add constraint P_PK primary key (ID_P)
using index
tablespace USERS
pctfree 10
initrans 2
maxtrans 255
storage
(
initial 64K
minextents 1
maxextents unlimited
);
========
-- Створення таблиці Користувачі
create table LIB_USERS
(
ID_U NUMBER(5) not null,
SECOND_NAME VARCHAR2(30),
FIRSTNAME VARCHAR2(30),
PASSPORT VARCHAR2(10),
TEL VARCHAR2(14)
)
tablespace USERS
pctfree 10
initrans 1
maxtrans 255
storage
(
initial 64K
minextents 1
maxextents unlimited
);
-- Створення первинного ключа
alter table LIB_USERS
add constraint U_PK primary key (ID_U)
using index
tablespace USERS
pctfree 10
initrans 2
maxtrans 255
storage
(
initial 64K
minextents 1
maxextents unlimited
);
=======
-- Створення таблиці Книга
create table BOOK
(
ID_BOOK NUMBER(5) not null,
NAME VARCHAR2(40) not null,
AUTHOR NUMBER(5) not null,
SECTION NUMBER(5) not null,
PRINTER NUMBER(5) not null,
COUNT NUMBER(3) not null
)
tablespace USERS
pctfree 10
initrans 1
maxtrans 255
storage
(
initial 64K
minextents 1
maxextents unlimited
);
-- Створення первинного та зовнішнього ключа
alter table BOOK
add constraint B_PK primary key (ID_BOOK)
using index
tablespace USERS
pctfree 10
initrans 2
maxtrans 255
storage
(
initial 64K
minextents 1
maxextents unlimited
);
alter table BOOK
add constraint B_A_FK foreign key (AUTHOR)
references AUTHOR (ID);
alter table BOOK
add constraint B_P_FK foreign key (PRINTER)
references PRINTER (ID_P);
alter table BOOK
add constraint B_S_FK foreign key (SECTION)
references SECTION (ID_S);
========
-- Створення таблиці Видача
create table BOOK_ORDERS
(
ORDER_ID NUMBER(5) not null,
BOOK_ID NUMBER(5) not null,
USER_ID NUMBER(5) not null,
TILL_DATE DATE not null
)
tablespace USERS
pctfree 10
initrans 1
maxtrans 255
storage
(
initial 64K
minextents 1
maxextents unlimited );
-- Створення первинного та зовнішнього ключа
alter table BOOK_ORDERS
add constraint ORD_PK primary key (ORDER_ID)
using index
tablespace USERS
pctfree 10
initrans 2
maxtrans 255
storage
(
initial 64K
minextents 1
maxextents unlimited
);
alter table BOOK_ORDERS
add constraint ORD_B_FK foreign key (BOOK_ID)
references BOOK (ID_BOOK);
alter table BOOK_ORDERS
add constraint ORD_U_FK foreign key (USER_ID)
references LIB_USERS (ID_U);
Послідовності:
create sequence b_seq
minvalue 1
maxvalue 99999
start with 1
increment by 1
cache 20;
create sequence bo_seq
minvalue 1
maxvalue 99999
start with 1
increment by 1
cache 20;
-- Створення таблиці Статистика
create table HIST
(
BOOK_ID NUMBER(5) not null,
FROM_D DATE not null,
TILL_D DATE not null
)
tablespace USERS
pctfree 10
initrans 1
maxtrans 255
storage
(
initial 64K
minextents 1
maxextents unlimited
);
-- Створення первинного та зовнішнього ключа
alter table HIST
add constraint ORD_B1_FK foreign key (BOOK_ID)
references BOOK (ID_BOOK);
Тригер, який оновлює таблицю Статистика при зміні в таблиці Видача:
create or replace trigger trg_book_orders
after insert
or delete on book_orders
referencing old as old new as new
/*EACH_CHANGE*/
for each row
begin
if deleting /*deleting*/
then
delete from hist
where book_id = :old.book_id;
end if;
if inserting /*inserting*/
then
insert into hist ( book_id,from_d, till_d)
values( :new.book_id, sysdate, :new.till_date);
update book set book.count=book.count-1 where id_book=:new.book_id;
end if;
end trg_book_orders;
