Разработка базы данных для библиотеки

Автор работы: Пользователь скрыл имя, 12 Марта 2013 в 18:25, курсовая работа

Краткое описание

Необходимо разработать программный продукт предоставляющий возможность отслеживать работу библиотеки, составлять отчеты о посещаемости за необходимый период времени. С другой стороны программа частично должна быть нацелена на работу с читателями – предоставлять читателями возможность бронировать книги в виде электронной заявки на сайте библиотеки, тем самым минимизируя время непосредственного общения с библиотекарем. Должен быть представлен расширенный поиск книг, основанные на комбинировании различных параметров: автор, жанр, название книги.
Постановка задачи проектирования.
Необходимо реализовать базу данных, в которой будет храниться информация о читателях, информация о заказанных книгах и книгах в целом.

Содержание

1. Описание предметной области. 3
2. Постановка задачи проектирования. 3
3. Business диаграмма. 4
4. UseCase диаграмма. 5
5. Потоки событий вариантов использования. 6
5.1 Поток событий варианта использования «Оформление запроса». 6
1.2 Поток событий варианта использования «Создать отчет о посещаемости» 6
6. Выявление требований к проекту. Техническое задание. 8
1. Введение. 8
2. Основания для разработки. 8
3. Назначение разработки. 8
4. Требования к программе или программному изделию. 8
5. Требования к программной документации. 12
6. Технико-экономические показатели. 12
7. Стадии и этапы разработки. 12
8. Порядок контроля и приемки. 13
7. Диаграмма классов. 14
8. Диаграммы действий. 15
Диаграмма действий – бронирование книги через сайт. 15
9. Полная диаграмма классов. 16
10. Архитектура системы. Диаграмма компонентов. 17
11. Диаграммы последовательности 17
12. Технический проект. 18
12.1 База данных, таблицы (типы, форматы, ключи, индексы). 18
12.2 Запросы, описание, формы, отчёты. 20
13. Заключение. 22
Приложение: текст программы. 22

Вложенные файлы: 1 файл

Kursovaya.docx

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

 

 

 

 

 

 

  1. Диаграммы действий.

 

Диаграмма действий – бронирование книги через сайт.

 

Рис. 4. Диаграмма действий – бронирование книги через сайт

 

 

 

 

  1. Полная диаграмма классов.

Рис. 5. Диаграмма последовательности (с boundary классами)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  1. Архитектура системы. Диаграмма компонентов.

Рис. 6. Диаграмма компонентов

 

  1.  Диаграммы последовательности

Рис. 7. Диаграмма последовательности

 

 

 

 

 

 

  1. Технический проект.

 

    1. База данных, таблицы (типы, форматы, ключи, индексы).

Рис. 8. Схема данных

 

Таблица 1: Сущность Жанры

№ п/п

Атрибут

Семантика

Тип

Пример

1

Код

Первичный ключ

Integer

101

2

Жанр

Название жанра

Char

Романтика


 

Таблица 2: Сущность Писатели

№ п/п

Атрибут

Семантика

Тип

Пример

1

Код

Первичный ключ

Integer

222

2

Писатель

ФИО писателя

Char

Пушкин


 

Таблица 3: Сущность Книги

№ п/п

Атрибут

Семантика

Тип

Пример

1

Код

Первичный ключ

Integer

301

2

Книга

Название книги

Char

Война миров

3

Страницы

Количество страниц

Integer

657

4

Жанр_Код

Первичный ключ жанра

Integer

421

5

Писатель_Код

Первичный ключ писателя

Integer

431

6

Стоимость

Стоимость книги

Integer

1500


 

      Таблица 4: Сущность Журнал выдачи/приема

№ п/п

Атрибут

Семантика

Тип

Пример

1

Код

Первичный ключ

Integer

333

2

Читатель

ФИО читателя

Char

Петров В.В.

3

Книга_код

Первичный ключ книги

Integer

102

4

Дата выдачи

Дата выдачи книги читателю

Date

12.05.10

5

Срок сдачи

Срок сдачи книги

Date

12.06.10

6

Дата возврата

Дата возврата книги читателем

Date

13.10.12


 

Рис. 9. Таблица Жанры

 

Рис. 10.Таблица Журнал приема/выдачи

Рис.11. Таблица Книги

Рис.12. Таблица Писатели

    1. Запросы, описание, формы, отчёты.

Запрос 1 – Карточка пользователя. Пользователь можно посмотреть какие книги он брал/имеет на руках. На карточке хранится персональный журнал выдач книг пользователю.

Рис. 13. Запрос 1 – Карточка пользователя

Запрос 2 – Подсчет штрафа. Делается подсчет штрафа в зависимости от срока сдачи и стоимости книги.

Рис. 14. Запрос 2 – Подсчет штрафа

Запрос 3 –  Поиск по автору. Пользователь осуществляет поиск книги по автору.

Рис. 15. Запрос 3 – Поиск по автору

Запрос 4 –  Просроченные книги. Библиотекарь может посмотреть список просроченных книг, на основе которых он может выписать штрафы должникам.

Рис.16. Запрос 4 – Просроченные книги

Запрос 5 – Наиболее востребованная книга. На основе этого запроса Зав. библиотекой может выявить самую популярную книгу и увеличить, при необходимости, количество экземпляров самой популярной книги.

Рис. 17. Запрос 5 – Наиболее востребованная книга

Отчет 1 – Подсчет штрафа. Отчет о задолжностях.

Рис. 17. Отчет 1 – Подсчет штрафа

Отчет 2 – Писатели. Общий список литературы.

Рис. 18. Отчет 2 – Писатели

 

  1.  Заключение.

В ходе семестра была спроектирована система по работе библиотеки в RationalRose, с помощью языка UML. Эта система разработана на основе базы данных в MSAccess для сравнения с конечным продуктом, полученным  с помощью RationalRose. В Rose рассмотрены и построены основные диаграммы – действий, business и usecase. Так же построена диаграмма классов и по ней сформирован SQL код разрабатываемой системы.

UML - формальный язык, который необходимо освоить каждому, кто собирается заниматься программной инженерией.

Приложение: текст программы.

CREATE TABLE S_2.T_Редактирование_списка_Авторы (

T_Редактирование_списка_Авторы_ID INTEGER NOT NULL,

CONSTRAINT PK_T_Редактирование_списка_29 PRIMARY KEY (T_Редактирование_списка_Авторы_ID)

);

CREATE TABLE S_2.T_Журнал_выдачи/приема (

Название_книги CHAR ( 20 ) NOT NULL,

ID_автора INTEGER NOT NULL,

ID_жанра INTEGER NOT NULL,

ID_читателя INTEGER NOT NULL,

Дата_выдачи DATE NOT NULL,

Дата_возврата DATE NOT NULL,

ID INTEGER NOT NULL,

T_Авторы_ID INTEGER NOT NULL,

T_Жанр_ID_жанра INTEGER,

COL_2 INTEGER NOT NULL,

T_Запросы_ID INTEGER,

T_Отчеты_ID INTEGER,

T_Редактирование_Журнал_выдачи/приема_ID INTEGER,

T_Читатели_ID_читателя INTEGER NOT NULL,

CONSTRAINT PK_T_Журнал_выдачи/приема20 PRIMARY KEY (ID)

);

CREATE INDEX S_2.TC_T_Журнал_выдачи/приема55 ON S_2.T_Журнал_выдачи/приема (T_Жанр_ID_жанра );

CREATE INDEX S_2.TC_T_Журнал_выдачи/приема56 ON S_2.T_Журнал_выдачи/приема (T_Авторы_ID );

CREATE INDEX S_2.TC_T_Журнал_выдачи/приема57 ON S_2.T_Журнал_выдачи/приема (T_Запросы_ID );

CREATE INDEX S_2.TC_T_Журнал_выдачи/приема58 ON S_2.T_Журнал_выдачи/приема (T_Отчеты_ID );

CREATE INDEX S_2.TC_T_Журнал_выдачи/приема59 ON S_2.T_Журнал_выдачи/приема (T_Редактирование_Журнал_выдачи/приема_ID );

CREATE INDEX S_2.TC_T_Журнал_выдачи/приема54 ON S_2.T_Журнал_выдачи/приема (COL_2 );

CREATE INDEX S_2.TC_T_Журнал_выдачи/приема53 ON S_2.T_Журнал_выдачи/приема (T_Читатели_ID_читателя );

CREATE TABLE S_2.T_Редактирование_Журнал_выдачи/приема (

T_Редактирование_Журнал_выдачи/приема_ID INTEGER NOT NULL,

CONSTRAINT PK_T_Редактирование_Журнал_26 PRIMARY KEY (T_Редактирование_Журнал_выдачи/приема_ID)

);

CREATE TABLE S_2.T_Читатели (

Название_книги CHAR ( 20 ) NOT NULL,

Дата_рождения DATE NOT NULL,

ID_читателя INTEGER NOT NULL,

T_Редактирование_списка_читателей_ID INTEGER,

CONSTRAINT PK_T_Читатели22 PRIMARY KEY (ID_читателя)

);

CREATE INDEX S_2.TC_T_Читатели63 ON S_2.T_Читатели (T_Редактирование_списка_читателей_ID );

CREATE TABLE S_2.T_Авторы (

ФИО_автора CHAR ( 20 ) NOT NULL,

ID_автора INTEGER NOT NULL,

T_Авторы_ID INTEGER NOT NULL,

T_Редактирование_списка_Авторы_ID INTEGER,

CONSTRAINT PK_T_Авторы23 PRIMARY KEY (T_Авторы_ID)

);


Информация о работе Разработка базы данных для библиотеки