5.Запрос на отрицание
5.1Вывести стоимость, где id не равен idЧП.
6. Операция объединения UNION с включением комментария в каждую строку.
6.1 Список рабочих с комментарием “адрес” и адресом.
Привилегии - это то, что определяет, может ли указанный пользователь выполнить данную команду. Имеется несколько типов привилегий, соответствующих нескольким типам операций.
Группы пользователей
Привилегированные пользователи (admin):
В данной группе будет находиться один администратор, который может обращаться к структуре таблиц и работать с регистрационными данными. Будет создавать, удалять таблицы, регистрировать, удалять пользователей и т.д.
Средние пользователи (user):
В этой группе пользователи, у которых есть возможность только просматривать данные, не изменяя их.
Каждый пользователь в этой группе будет просматривать данные, не изменяя их. Смотреть запросы, отчеты.
Диаграмма вариантов использования
ER Модель с данными и ключами
Рис. 1. ER-модель с данными и ключами
Это готовая таблица представления данных в БДSQLServer. Здесь показаны все типы данных для свойств таблицы, а также указаны первичные и внешние ключи.
Реализация запросов и отчетов
Запросы на выборку
1.Выбор из нескольких таблиц с сортировкой
1.1 Список айди склада и списка материалов, где используется заданный материал
SELECT Материалы.id, Склад.id, Материалы.Название
FROM Материалы, Склад
WHERE Материалы.СНазвание = Склад.Материал
2.Задание условия отбора с использованием предиката LIKE
2.1 Найти название ЧП начинающее на “Боч”
SELECT[Название_ЧП]
FROMЗаявка
WHERE(Адрес LIKE '%Боч%')
3.Задание условия отбора с использованием предиката BETWEEN.
3.1 Список названий ЧП в последние пол года.
SELECT Название_ЧП FROM Заявка WHERE EndDate BETWEENMONTH(GetDate())-6 ANDGetDate()
4.Использование предиката ALL или ANY.
4.1 Вывести максимальную стоимость где название ЧП равно ‘Авария’.
SELECT MAX(Стоимость) AS Expr1
FROM Чп
WHERE ([Вид_ЧП] = 'Авария')
5.Запрос на отрицание.
5.1 Вывести стоимость где id не равен id_ЧП
SELECTСтоимость
FROMМатериалы
WHERE(id <> [id_ЧП]
6. Операция объединения UNION с включением комментария в каждую строку.
6.1 Список рабочих с комментарием “адрес” и адресом. select id, 'адрес', Адрес from Рабочие
Реализация отчетов
С того момента как пользователь вошел в систему, ведутся так называемые «системные логи» о данном сотруднике: его имя, действие, дата входа и выхода. Для реализации данной возможности, после каждой функции выполняется запись таблицу logi, со всеми необходимыми данными.
Ведение таких «логов» позволяет проанализировать и исправить ошибки (если таковы имелись) при выполнении того или иного запроса. Также это удобно и для администратора системы, за слежением того чем занят пользователь, и что он делал в системе.
Интерфейс ИС
Система начинается с авторизации и регистрации. В Данной системе пользователя зарегистрировать может только админ.
Рис.1. Вход в систему
Рис.2. Регистрация пользователя
Если пользователь вошел успешно, появляется главное окно программы (рис.3)
Рис. 3. Главное окно
В главном окне есть таблицы, при открытии какой-нибудь таблицы, открывается новая форма с ее данными и на каждой такой форме есть объект, с помощью которого можно добавлять и удалять данные и какой-нибудь запрос. При необходимости добавить данные мы нажимаешь на плюс, вносим данные, потом сохраняем и выходим.
Рис. 4. Просмотр и редактированние данных(Admin)
Рис. 5. Просмотр данных(User)
Просмотр данных таблицы Смена
Рис. 6. Просмотр и редактированние данных
Просмотр данных таблицы Материалы
Рис. 7. Просмотр и редактирование данных
Просмотр данных таблицы Бригада
Рис. 8. Просмотр и редактированние данных
Просмотр данных таблицы Рабочие
Рис. 9. Просмотр и редактированние данных
Просмотр данных таблицы Заявка
Рис. 10. Просмотр и редактированние данных
Просмотр данных таблицы Склад
Рис. 11. Просмотр и редактированние данных
Просмотр данных таблицы Транспорт
Рис. 12. Просмотр и редактированние данных
Из главного меню программы можно перейти в отчеты, где можно посмотреть какой пользователь, в какую дату и время вошел и вышел.
Рис. 13. Просмотр отчетов
Руководство пользователя
Перед тем как начать работу в системе, требуется зарегистрироваться. После прохождения регистрации, можно входить в систему под тем логином, который Вы указали при регистрации. После входа Вам будем присвоен уровень доступа 2 – возможность только просматривать данные некоторых таблиц. Для работы, требуется иметь 1 уровень, который может присвоить только администратор системы.
Как видно из предыдущего пункта, программа состоит из множества диалоговых окон, в каждом из которых есть своя таблица. Таблица служит только для просмотра данных из БД, чтобы добавить туда запись следует нажать на кнопку «Редактор», появиться новое диалоговое окно управления записями в заданной таблице. Там можно создать новую запись, либо изменить уже существующую, нажав на соответствующие клавиши. Также в этом окне можно произвести поиск по таблице, заполнив любые поля. Если требуется изменить данные о уже существующей записи в таблице БД, следует ей выделить в поле таблицы, затем нажать на кнопку «Дополнительно», в новом окне уже будут заполнены все поля, остается только изменить нужное нам поле и нажать на соответствующую кнопку.
Для просмотра дополнительной информации об интересующей нас записи следует выделить нужную нам запись в таблице, а затем нажать на кнопку «Дополнительно» и в новом окне отобразиться информация о данной записи.
В любом окне, где есть таблица, присутствуют два текстовых поля: поле для ввода SQLзапроса и поля для вывода результата. Например, можно ввести selectName, AddrfromUsersнажать на кнопку «Выполнить» и будет выведен результат запроса. Также чтобы узнать поля в той или иной таблице требуется ввести запрос следующей структуры: getcolumnsform [Имятаблицы], результатом будет имена всех полей в той таблице, в которой Вы указали в запросе.
Контрольный пример
Рассмотрим некоторые действия со стороны нового пользователя системы. В окне авторизация пройдем регистрацию как в рис 2. Нажмем на «ОК». В случае если мы заполнили все поля верно, то получим сообщение об успешном создании новой учетной записи.Войдем в систему под тем логином, под которым зарегистрировались – login. Как уже писалось выше, по умолчанию мы получили 2-ой уровень доступа, когда все заблокировано, чтобы это исправить войдем в систему под администратором, с логином admin. Теперь перейдем из главного меню в пункт «Пользователи». Будет предоставлена таблица со всеми зарегистрированными пользователями в системе. Нажимаем на кнопку «Редактор» и логин: login, а в поле уровень доступа выбираем 1. Нажимаем на ОК и теперь данный пользователь может работать с системой, редактируя и добавляя новые записи в таблицы БД.
Создадим новую запись для юридического лица. Перейдем из главного меню в соответствующий пункт и в появившемся окне нажмем на «Редактор». Если все верно заполнено, то получите сообщение об успешном создании новой записи. Далее нажмем на кнопку «обновить» и в таблице появиться только что созданная нами запись. Если же нам нужно просмотреть дополнительную информацию о юридическом лице, выделим данную запись из таблице и нажмем на кнопку «Дополнительно». В новом окне появится информация о лицензии, счете, а также все должности в заданном юр. лице.
Для просмотра «логов», достаточно зайти в директорию программы, и найди файл с именем login.log, где loginинтересующий нас пользователь. В файле будем предоставлены все действия совершенные этим пользователем: посылаемые запросы к СУБД, результат запроса, а также системные ошибки, если таковы имеются.
ЗАКЛЮЧЕНИЕ
Пройдя все этапы конструирования баз данных, начиная от выявления требований и поиска проблем до проектирования программных классов и построением таблиц в СУБД, была написана системадля налоговой инспекции на языке высокого уровня Java с использованием СУБД MSSQLServer. Этапы проектирования БД помогли выявить и определить все требования заказчика к системе, а также определить на раннем этапе все трудности и ошибки будущей системы. Также построенная диаграмма сущность-связь наглядно показала, какие объекты взаимодействуют с системой, их атрибуты и связи между ними, что в дальнейшем позволило уже спроектировать нашу БД для данной предметной области.
Работу системы помог проверить контрольный пример, где мы выступали как со стороны обычного пользователя, так и со стороны администратора.
СПИСОК ЛИТЕРАТУРЫ
1. Вячеслав П. Основы программных требований.
2. НоутонП., ШилдтГ. - Java 2. Наиболее полное руководство. BHV - Санкт - Петербург, 2007.
3. Брюс Эккель. Философия Java, 4-е издание. Питер, 2009.
4. http://khpi-iip.mipk.kharkiv.edu/library/case/leon/index.html - Леоненков А. Самоучитель UML.
5. Джеймс Р. Грофф, Пол Н. Вайнберг – SQL полное руководство. BHV, “Ирина”, Киев, 2001.