Разработка WEB-сайта библиотеки

Курсовая работа

01.11.08 — 15.01.09 Задержка до 01.02.09

1.1. Обзор проекта

1.2. Прогресс разработки

2. Спецификация требований

2.1. Первичный список требований

2.2. Модели требований

2.3. Высокоуровневая архитектура системы

2.4. Критерии аттестации системы

3. Документация проектирования

15.01.09 — 15.03.09 Задержка до 01.04.09

3.1. Проект архитектуры

3.2. Проект интерфейса пользователя

3.3. Проект подсистем

3.4. Основные алгоритмы

4. План тестирования

5. Документ реализации

01.04.09 — 01.06.09

6. Документ о выполнении тестирования

7. Руководство пользователя

1.5 Формы отчетности и взаимодействия

Отчетность: Форма отчетности представляется в виде документации по проекту, так как проект разрабатывает один человек.

2. Спецификация требований

2.1 Первичный список требований

сайт библиотека код тестирование

? Администратор ресурса регистрирует пользователей и администраторов. Предоставляет пользователям и администраторам логин и пароль.

? Информация о пользователях должна храниться в базе данных ресурса. База данных содержит следующие сведения: логин, пароль, Ф.И.О., статус, должность, телефон, почта.

? Информация о книгах должна храниться в базе данных ресурса. База данных содержит следующие сведения: идентификатор, дату поступления, название, автор, текст, идентификатор пользователя взявшего эту книгу, время последнего взятия книги.

? Должна быть реализована аутентификация и авторизация пользователей системы.

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

? Пользователь должен иметь возможность, просматривать информацию о книге, брать и возвращать книги.

? Должна быть реализована процедура помещения в черный список, пользователей которые возвращают книги позже срока.

? Добавление, удаление, изменение информации о книгах и пользователях осуществляется администратором ресурса.

2.2 Модель предметной области. Объекты и взаимосвязи между ними. Возможно модели данных для этих объектов. Рамки разрабатываемой системы

Модель предметной области

Разрабатываемый программный продукт представляет собой электронную библиотеку. Система разделяет права доступа на Администратор и Пользователь.

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

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

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

Объекты предметной области

Классы:

— «БД» — База данных, в которой хранятся все записи о «Пользователях» и «Книгах», а также права доступа «Пользователей» и «Администраторов».

«Пользователь» и «Администратор» — Люди с разными правами доступа к системе.


Взаимосвязи между объектами:

«Студент» изучает оболочку, и данные о его результатах заносятся в «БД», после чего «Администратор» проверяет данные. «Администратор» может менять «Оболочку».

Рамки разрабатываемой системы

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

2.3 Модели пользователей системы, Пользователь «Администратор»

1. После успешного прохождения процедуры аутентификации пользователь переходит на страницу Администрирования, где пользователь может перейти на страницу: «Редактировать книги» и «Редактировать пользователей».

2. Если пользователь выбрал «Редактировать книги», то ему будет выведен список всех книг, и предоставлена возможность удалить и редактировать уже имеющихся книг и добавить новую книгу.

. Если пользователь выбрал добавить книгу, то ему будет предоставлена страница «Создать книгу», где будет необходимо заполнить соответствующую форму.

. Если пользователь выбрал «Редактировать пользователей», то ему будет выведен список всех пользователей, и предоставлена возможность удалить и редактировать уже имеющихся пользователей и добавить нового пользователя.

. Если пользователь выбрал добавить пользователя, то ему будет предоставлена страница «Создать пользователя», где будет необходимо заполнить соответствующую форму.

. При переходе по ссылке «Выйти» пользователь закончит работу в системе.

Пользователь «Пользователь»

7. После успешного прохождения процедуры аутентификации пользователь переходит на страницу «Все книги», где пользователь может перейти на одну из страницы: «Мои книги» и «Просроченные книги». Пользователь в любой момент может вернуться на страницу «Все книги».

8. Если пользователь выбрал «Мои книги», то ему будет выведен список всех книг, которые взял пользователь, и предоставлена возможность просмотреть описание или вернуть книгу.

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

. Если пользователь выбрал просмотреть описание, то ему будет предоставлена страница с описанием выбранной книги.

. Если пользователь выбрал «Просроченные книги», то ему будет выведен список всех книг, которые пользователь не вернул в положенный срок.

. На странице «Все книги» пользователь может взять книгу, и тогда наименование книги будет добавлено в его список взятых книг, а в общем списке книга будет помечена как отсутствующая.

. При переходе по ссылке «Выйти» пользователь закончит работу в системе.

Пользователь «Гость»

1. Пользователь заходит на Главную страницу, где система предложит пользователю ввести «Логин» и «Пароль», т.е. пройти процедуру аутентификации. Так же пользователь может посмотреть описание всех имеющихся книг.

2. Если пользователь проходит процедуру аутентификации, то дальше он действует как пользователь «Администратор» или как пользователь «Пользователь».

2.4 Модель архитектуры

Вся система содержит 4 модуля:

а) модуль интерфейса.

б) модуль, содержащий вычислительную часть (основные алгоритмы).

в) модуль, ответственный за ошибки.

г) модуль работы с файлами.

5 Критерии аттестации системы

Критерием аттестации системы является тестирование:

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


3. Проектирование

3.1 Интерфейс

1) Стартовая страница

 интерфейс 1

На странице присутствуют два поля для ввода. Поле с пометкой «Логин» предназначено для ввода имени пользователя. Поле с пометкой «Пароль» предназначено для ввода пароля.

Ссылка «Войти» позволяет войти в систему, в случае если логин и пароль, введенные ранее были верными.

2) Страница пользователя все книги

 интерфейс 2

На данной странице представлены все книги, которые есть в библиотеке и которые можно выбрать. Так же на странице можно просмотреть описание книги и перейти еще на две страницы: «Мои книги» и «Просроченные книги». На каждой странице пользователя можно выйти из системы на стартовую

) Страница пользователя мои книги

 интерфейс 3

На странице «Мои книги» можно просмотреть описание книги и вернуть книгу, а так же перейти на две страницы: «Все книги» и «Просроченные книги». На каждой странице пользователя можно выйти из системы на стартовую

4) Страница пользователя просроченные книги

 интерфейс 4

На этой странице можно увидеть какие книги были взяты и не возвращены вовремя (в тридцатидневный срок с момента взятии книги).

На каждой странице пользователя можно выйти из системы на стартовую страницу.

)
Страница администратора книги

 интерфейс 5

На этой странице администратор может просмотреть все книги, так же можно добавить книгу, редактировать книгу и удалить книгу(книги).

Можно перейти на страницу «Редактировать пользователей».

) Страница администратора добавить книгу

 интерфейс 6

На этой странице администратору для регистрации книги необходимо ввести идентификационные данные книги.

)
Страница администратора редактировать книгу

 интерфейс 7

Станица предоставляет возможность изменить информацию о книге.

) Страница администратора пользователи

 интерфейс 8

На этой странице администратор может просмотреть всех пользователей, так же можно добавить книгу, редактировать книгу и удалить книгу (книги).

Можно перейти на страницу «Редактировать пользователей».

)
Страница администратора добавить пользователя

 интерфейс 9

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

) Страница администратора редактировать пользователя

 интерфейс 10

На этой странице администратор может редактировать данные о пользователе, изменяя значение, в каком либо поле.

)
Описание

 интерфейс 11

На странице описания пользователь может ознакомиться с тем печатным изданием, которое он планирует взять.

3.2 Проект подсистем

Интерфейс

Этот модуль представляет собой некую графическую оболочку, предназначенную для взаимодействия с системой. С помощью неё пользователь вызывает необходимые функции системы. Она содержит множество визуальных объектов предназначенных для активирования всех возможностей и функций разрабатываемой системы. При выборе какого-либо пункта меню или нажатие какой-либо кнопки происходит определённое действие (регистрация пользователей, аутентификация, выход их системы и т.д.).

Подсистема состоит из трех модулей:

1. Просмотр всех книг. Позволяет просмотреть все книги, которые зарегистрированы в библиотеке, при этом не обязательно быть зарегистрированным пользователем.

2. Просмотр взятых книг. Позволяет просмотреть книги, которые были взяты пользователем, но при этом не были еще отданы и не являются просроченными.

. Просмотр просроченных книг. Позволяет просмотреть книги, которые были взяты пользователем, но при этом не были еще отданы в установленный срок.

Вычислительная подсистема

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

Модули:

1. Аутентификация. Функция проверяет пользователя проверить пользователя на легальность и предоставляет права на пользование ресурсом.

Выход из системы. Функция позволяет пользователю выйти из системы при этом уничтожается сессия открытая пользователем.

Подсистема работы с базой данных

Подсистема предназначена для добавления, удаления и получения данных из базы данных. В этой подсистеме содержатся все подсистемы, с помощью которых система может взаимодействовать с БД. Все обращения к базе данных происходят при помощи SQL — запросов.

Модули:

1. Просмотр информации о книгах.

2. Взятие, возврат книг. Функция заносит информацию о взятых книгах в учетную запись пользователя.

3. Добавление, удаление, изменение данных о пользователе. Позволяет добавлять, удалять и изменять учетные записи о пользователях в базу данных.

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

. База данных. Место хранения данных о пользователе и книгах.

Таблица пользователя

Ключ

Атрибут

Тип

Описание

PK

Id_u

Num

Идентификатор

Username

Char

Логин

Usertype

Char

Тип пользователя

Name

Char

Имя

Lastname

Char

Фамилия

Dadsname

Char

Отчество

Email

Data

Электронная почта

Phone

Char

Тедефон

Position

Char

Должность

Password

Char

Пароль

Ui

Char

Черный список.

Data

DATA

Дата

Таблица книг

КлючАтрибутТипОписание

PK

Id_u

Num

Идентификатор

Data

Data

Дата создания книги

Title

Char

Название

Author

Char

Description

Char

Текст

Pid

Char

Идентификатор пользователя

Takedata

Data

Дата взятие книги.

Подсистема проверки ошибок

В данной подсистеме описываются алгоритмы поиска ошибок, а также все возможные диагностические сообщения и сообщения об ошибках. В этом модуле описываются все возможные ошибки, которые могут возникнуть при работе с программой. При обнаружении какой-либо ошибки программа адекватно реагирует и выполняет определенные действия, т.е. выводит сообщение либо игнорирует её.

Модули:

1. Модуль проверки ошибок. Проверяет корректность действий и введенных данных пользователем, как администратором, так и простым пользователем. При выявлении ошибки пользователю будет выведено сообщение, поясняющее совершенную им ошибки.

3.3 Структура кода

Программный продукт написан на языке HTML, PHP, Java и CSS.

Код продукта можно разделить на web-формы и php-скрипты, java — скрипты и css-файлы.

Далее в документе пользователем считается как обычный пользователь системы, так и администратор, если иное явно не указано.

Программный продукт состоит из четырех модулей:

Модуль интерфейса.

Вычислительный модуль.

Модуль работы с БД.

Модуль проверки ошибок. Модуль реализован при помощи java-скриптов.

1) index.php — файл отображающий страницы, подключает основные скрипты и функции.

2) authentification_functions.php — функция аутентификации, позволяющая определить легальность пользователей, путем просмотра записей о пользователях в базе данных.

3) images_functions.php — позволяет, подключить изображения составляющие внешний интерфейс системы.

4) database_functions.php — функция, позволяет работать с базой данных, добавлять, удалять, получать информацию из базы данных.

5) extra_functions.php — позволяет отобразить данные о книгах.

6) functions.php — содержит основные функции используемые в системе.

7) variables.php — содержи все глобальные переменные используемые в системе.

8) file_functions — позволяет работать с системными файлами, необходимыми для нормального функционирования системы.

9) main.css — файл содержит описания внешнего стиля ситемы.

3.4 Проект сборки и установки системы

Для получения работоспособной версии программы необходимо создать базу данных с именем «NightSky», скопировать файлы системы на сервер и запустить скрипт setup.php.

3.5 Трассируемость требований, Требования:

1) Администратор ресурса регистрирует пользователей и администраторов. Предоставляет пользователям и администраторам логин и пароль.

2) Информация о пользователях должна храниться в базе данных ресурса. База данных содержит следующие сведения: логин, пароль, Ф.И.О., статус, должность, телефон, почта.

) Информация о книгах должна храниться в базе данных ресурса. База данных содержит следующие сведения: идентификатор, дату поступления, название, автор, текст, идентификатор пользователя взявшего эту книгу, время последнего взятия книги.

) Должна быть реализована аутентификация и авторизация пользователей системы.

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

) Пользователь должен иметь возможность, просматривать информацию о книге, брать и возвращать книги.

) Должна быть реализована процедура помещения в черный список, пользователей которые возвращают книги позже срока.

) Добавление, удаление, изменение информации о книгах и пользователях осуществляется администратором ресурса.

Должна быть реализована процедура отслеживания ошибок.

Внешний интерфейс

Модуль работы с БД

Модуль проверок на ошибки

Вычисл. модуль

1

+

2

+

3

+

4

+

5

+

6

+

7

+

8

+

9

+

4.
План тестирования

4.1 Описание методов

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

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

Метод «белого ящика»

Зная внутреннюю структуру программного продукта (алгоритмы) проверяем правильность логики программы (проверка правильности проектных решений).

Создаем тесты программной системы на основе знания ее внутреннего устройства, структуры ее кода.

Метод «черного ящика»

В данном случае нам не важно, как устроена программная система, а нужно, чтобы правильно выполнялась ее функциональность. Система представляется как «черный ящик», поведение которого можно определить только посредством изучения ее входных и соответствующих выходных данных. Тестирование методом черного ящика базируется на том, что все тесты основываются на спецификации системы или ее компонентов. Этот метод необходим при тестировании, так как именно благодаря нему можно обнаружить грубые ошибки и проверить функциональность и производительность программы.

Интеграционное тестирование

Проверка корректности работы справочной системы.

Системное тестирование

Проверка на корректность работы в целом.

Необходимо для контроля корректности работы системы при просмотре файла статистики.

4.2 Тесты

Вычислительный модуль

Номер теста

Описание теста

Входные данные

Ожидаемый результат

1

Попытка ввода существующего логина и соответствующего пароля при авторизации

Существующий логин, соответствующий пароль

2

Попытка ввода несуществующего логина

Несуществующий логин, произвольный пароль

Запрет на авторизацию

3

Попытка ввода существующего логина и произвольного пароля

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

Запрет на авторизацию

Модуль интерфейса

Номер теста

Описание теста

Входные данные

Ожидаемый результат

1

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

Щелчок мыши на кнопке «Все книги»

Вывод списка всех книг имеющихся в библиотеке

2

Попытка просмотра взятых пользователем книг

Щелчок мыши на кнопке «Мои книги»

Вывод списка книг взятых пользователем

3

Попытка просмотра просроченных книг

Щелчок мыши на кнопке «Просроченные книги»

Вывод списка просроченных пользователем книг

Модуль работы с базой данных

Номер теста

Описание теста

Входные данные

Ожидаемый результат

1

Попытка просмотра информации о книге

Щелчок мыши на кнопке «Описание»

Вывод информации о книге

2

Попытка взятие книги

Щелчок мыши на кнопке «Взять»

Книга появилась в списке взятых книг

3

Попытка возврата книг

Щелчок мыши на кнопке «Вернуть»

Книга удалилась из списка взятых книг

4