Разработка приложения для управления фитнес-клубом
Анализ предметной области. Этапы организации хранилища информации об оплате услуг. Проектирование базы данных. Модели представления системы. Обобщенный алгоритм работы клиента. Контекстные диаграммы, таблицы, хранимые процедуры, интерфейс пользователя.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 17.07.2017 |
Размер файла | 2,0 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Это больше отличие от других расчетных систем таких какими обладает например S.A."Apг-CanalChiєinгu", S.A."MOLDTELECOM", S.A."MOLDOVAGAZ" , SC "StarNetSolutii" SRL , I.C.S."GAS NATURAL FENOSA FURNIZARE ENERGIE" SRL..С лицевым счетом ассоциированна вся аналитика, необходимая для расчёта платежа за услуги. Расчёт оплаты за коммунальные услуги требуют самой сложной аналитики по сравнению с другими услугами, потому что для расчётов можно много информации о потребителе ,тарифах и т.п.:
• Площади помещения
• виды услуг оказываемых данных в данном здании
• ставки оплаты и так далее;
Коммунальная службы города производит начисления за коммунальные услуги. Тарифы, установленные на них, не меняются. Фитнес Алексия должен оплачивать коммунальные услуги до 15 числа каждого месяца.
БД должна храниться информация:
*о компании: лицевой счет, фискальный код, телефон;
*о здании: адрес (улица, дом, квартира), площадь (м2);
*об услугах: код услуги, вид услуги (отопление, горячее водоснабжение, каналы ТВ и др.), единица измерения (гКал, м3, шт. и др.), тариф (лей.);
*об оплате за услугу: лицевой счет, код услуги, фактически расходовано, оплатить по дату (15.ММ.ГГ), оплачена своевременно или не своевременно (Да/Нет), дата оплаты (указывается в случае, если оплата произведена не своевременно).
SQLite -- это встраиваемая кроссплатформенная БД, которая поддерживает достаточно полный набор команд SQL и доступна в исходных кодах (на языке C).
Исходные коды SQLite находятся в publicdomain, то есть вообще никаких ограничений на использование.
Рассмотрим некоторые особенности SQLite:
a) каждая запись содержит виртуальный столбец rowid, который равен 64-битному номеру (уникальному для таблицы).
b) можно без труда организовать БД в памяти (это очень удобно и чуть позже расскажу подробнее);
c) легко переносить: по умолчанию, БД -- это один файл (в кроссплатформенном формате);
d) тип столбца не определяет тип хранимого значения в этом поле записи, то есть в любой столбец можно занести любое значение;
e) много встроенных функций (которые можно использовать в SQL)
Можно объявить свой столбец INTEGER PRIMARY KEY и тогда этот столбец станет rowid (со своим именем, имя rowid все равно работает).
Описание полей таблиц базы данных
Таблица: Банк (справочник банков)
Столбец
Имя Тип Размер
Код_банка Числовой (длинное целое) 4
Наименование_б Текстовый 15
БИК Текстовый 9
Таблица: Справочник_поставщиков (справочник поставщиков услуг)
Столбец
Имя Тип Размер
Код_пост Числовой (длинное целое) 4
Наименование_пост Текстовый 20
Таблица: Поставщики_услуг (справочник поставщиков в связи с услугами)
Столбец
Имя Тип Размер
Код_пост Числовой (длинное целое) 4
Услуга Числовой (длинное целое) 4
Наименование_услуги Текстовый 20
Таблица: Улицы (справочник улиц)
Столбец
Имя Тип Размер
Код_ул Числовой (длинное целое) 4
Название_ул Текстовый 15
Таблица: Юридические_лица (справочник зарегистрированных юр. лиц)
Столбец
Имя Тип Размер
Код_юр Числовой (длинное целое) 4
ИНН Текстовый 10
Наименование Текстовый 30
Представитель Текстовый 15
Улица Числовой (длинное целое) 4
Дом Текстовый 6
Корпус Текстовый 1
Квартира Текстовый 5
РасчСчет Текстовый 20
Банк Числовой (длинное целое) 4
2.3.1 Схема расчета платежей
На данный момент базы данных содержит большое количество элементов, связанных между собой. Эти связи представлены в виде диаграммы. Это диаграмма является элементом безопасности расчетной системы, ее задача установить связи самыми важными таблицами связанными начислениями квитанции. И цель ее ведение учета о проделанных изменениях в системе, то есть кто когда и что модифицировал. Данный механизм помогает избежать злоупотребления внутри предприятия. База данных на данный момент содержит данные о начислении коммунальных услуг. Помимо этого все таблицы является нормализованными и максимально оптимизированными.
Рис.2.4 Схема базы данных расчета платежей
Разработанная База Данных «Оплата коммунальных услуг» предназначена для формирования списка клиентов, ввода данных о задолженностях за коммунальные услуги.
Данная база данных не является базой расчетов.
Основная функция - это информирование клиентов о долгах.
Основные объекты: адрес, квитанция, виды услуг, улица.
Основные объекты данной информационной системы
- «Адрес» - адрес предприятия: улица, дом, корпус;
- «Квитанция» - так же содержит виды услуг: долг на начало месяца, тарифы по норме, начислено, перерасчет, льгота, итого, счет, к оплате;
2.3.2 Проектирование базы данных
Реализация связей в реляционной модели. При реализации связи в дочернюю таблицу добавляется поле связи (обычно это первичный ключ) родительской таблицы. Поле связи в дочерней таблицы называется внешним ключом.Связь осуществляется по равенству значений в полях связи. Например связь между таблицами Вид услуги и Данные по видам услуг осуществляется по полю Счетчик. Это поле является внешним ключом в таблице Квитанция.Недостатки модели:Реляционная модель - всегда избыточна за счет полей связи. Достоинства:
1. вход в БД через любую таблицу
2. модель позволяет легко изменять связи между объектами.
3. позволяет легко создавать виртуальные таблицы объединяющие данные из нескольких взаимосвязанных таблиц.
Благодаря своей простоте и естественности представления реляционная модель получила наибольшее распространение в СУБД для персональных компьютеров.
Физическая модель:При разработке физической модели определяется конкретная СУБД, с помощью которой будет разрабатываться БД.На этом этапе составляются проекты таблиц. Каждая таблица должна получить свой уникальный идентификатор (название). Этот идентификатор должен соответствовать синтаксису языка выбранной СУБД. Определяется имя, тип и размер поля. Определяется первичный ключ, внешние ключи и поля индексирования (для быстрого поиска) в каждой из таблиц. Все это оформляется в словарь БД. В словаре БД для каждой из таблиц заполняется своя таблица. Для каждой связи определяются условия целостности при операциях добавления, изменения или удаления данных в родительской и дочерних таблицах. Могут использоваться следующие варианты условий: отсутствие проверки; запрет операции; каскадное выполнение операции обновления или удаления данных сразу в нескольких связанных таблицах. Кроме этого при разработке физической модели производится оценка необходимых ресурсов: оперативной памяти, быстродействия и объема памяти для хранения данных (минимального свободного места на винчестере). Чтобы соединить Java и Базы данных используем драйвер:
Помещаем данный драйвер в следующий каталог:
C:\Program Files\Java\версия вашегоjdk\jre\lib\ext
вмоемслучае:
C:\Program Files\Java\jdk1.8.0_91\jre\lib\ext
Регистрируем переменную окружения CLASSPATH и присваиваем ей значение:
C:\Program Files\Java\версиявашегоjdk\jre\lib\ext\ mysql-connector-java-5.1.40-bin.jar
Рис.2.5.СхеманастройкиSQL
importjava.sql.Connection;
importjava.sql.DriverManager;
importjava.sql.SQLException;
public class CreatingConnection {
public static void main(String[] args) {
try {
Class.forName("com.mysql.jdbc.Driver");
System.out.println("Driver loading success!");
String url = "jdbc:mysql://localhost/test_db";
String name = "root";
String password = "";
try {
Connection con = DriverManager.getConnection(url, name, password);
System.out.println("Connected.");
con.close();
System.out.println("Disconnected.");
} catch (SQLException e) {
e.printStackTrace();
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
}
В качестве проверки создаем таблицу в базе:
importjava.sql.Connection;
importjava.sql.DriverManager;
importjava.sql.SQLException;
importjava.sql.Statement;
public class CreatingTable {
private final static String createTableQuery = "CREATE TABLE `books` (" +
" `id` int(11) NOT NULL auto_increment," +
" `title` varchar(50) default NULL," +
" `comment` varchar(100) default NULL," +
" `price` double default NULL," +
" `author` varchar(50) default NULL," +
" PRIMARY KEY (`id`)" +
") ENGINE=InnoDB DEFAULT CHARSET=utf8;";
public static void main(String[] args) {
Connection connection = null;
Statement statement = null;
try {
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://localhost/test_db" +
"?characterEncoding=utf8";
connection = DriverManager.getConnection(url, "root", "");
statement = connection.createStatement();
statement.executeUpdate(createTableQuery);
} catch (Exception e) {
e.printStackTrace();
} finally {
if (statement != null) {
try {
statement.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (connection != null) {
try {
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
};
2.4 Средства реализации проекта
2.4.1 Интегрированная среда BlueJ
BlueJ (интерактивная среда разработки на языке Java, созданная в основном для использования в обучении, но также подходящая для разработки небольших программ)разработана в MonashUniversity, в Мельбурне, группой преподавателей во главе с Майклом Келлингом. Появлению BlueJ предшествовало создание совершенно нового языка программирования Blue совместными усилиями SydneyUniversity и MonashUniversity. Разработанная там же среда программирования BlueSystem по сей день поддерживается и используется в этих университетах в учебном курсе поООП.BlueJ унаследовала все особенности своей предшественницы, но реализована полностью на Java. Это, естественно, имеет свои плюсы и минусы. Проект постоянно тестируется на платформах Solaris, Linux, Windows 95 и WindowsNT.Название проекта «BlueJ» (произносится как «блуджэй») созвучно английскому названию голубой сойки, логотип с изображением которой украшает заставку приложения (фотографией этой птички желающие могут полюбоваться на сайте разработчиков www.bluej.org).
Рис.2.6 BlueJ версия 3.1.4.
Рис.2.7 Главное окно BlueJ
Запуск приложения проводим нажатием клавиш voidmain(String[]arg)
Рис.2.8 Запуск приложения BlueJ
BlueJ распространяется в трех различных формах: для систем Windows, для MacOS, и для всех других систем. Установка весьма проста.
Предварительные требования:
Для использования BlueJ на компьютере должна быть установлена J2SEv1.4 (также известная как JDK 1.4) или более новая. Вообще, рекомендуется последняя устойчивая версия Java (не бета-версия).JRE или SDK, следует загрузить SDK - JRE не достаточно.
Кратко: Чтобы компилировать класс, щелкните по кнопке Compile в редакторе.
Чтобы компилировать проект, нажимаем клавишу Compile в окне проекта. После вставки текста (до того, как сделать что-то еще), проверьте вид проекта в главном окне. Вы заметите, что значок класса Staff изменился: на нем появилась штриховка. Штриховка отмечает классы, которые не компилировались после изменения их текста. Вернемся в редактор.
2.4.2 СУБДSQLite
SQLite -- это встраиваемая кроссплатформенная БД, которая поддерживает достаточно полный набор команд SQL и доступна в исходных кодах.Легко встраиваемая в приложения база данных. Так как это система базируется на файлах, то она предоставляет довольно широкий набор инструментов для работы с ней, по сравнению с сетевыми СУБД. При работе с этой СУБД обращения происходят напрямую к файлам (в эти файлах хранятся данные), вместо портов и сокетов в сетевых СУБД. Именно поэтому SQLite очень быстая, а также мощная благодаря технологиям обслуживающих библиотек.
Типы данных SQLite:
NULL - значение NULL
INTEGER - знаковое целочисленное значение, использует 1, 2, 3, 4, 6, или 8 байт в зависимости от порядка числа
REAL - число с плавающей точкой, занимает 8 байт для хранения числа в формате IEEE
TEXT - текстовая строка, при хранении используются кодировки UTF-8, UTF-16BE или UTF-16LE
BLOB - тип данных BLOB, массив двоичных данных (предназначенный, в первую очередь, для хранения изображений, аудио и видео).
Преимущества SQLite:
Файловая структура - вся база данных состоит из одного файла, поэтому её очень легко переносить на разные машины
Используемые стандарты - хотя может показаться, что эта СУБД примитивная, но она использует SQL. Отличная при разработке и тестировании - в процессе разработки приложений часто появляется необходимость масштабирования. SQLite предлагает всё что необходимо для этих целей, так как состоит всего из одного файла и библиотеки написанной на языке C.
Когда использовать SQLite: встроенные приложения - если вам важна возможность легкого переноса приложения и не важна масштабируемость. Например однопользовательские приложения, мобильные приложения или игры, прямой доступ к диску - при необходимости напрямую обращаться к диску вы можете выиграть при переходе на эту СУБД в функционале и простоте использования SQL языка.
Тестирование - использование дополнительных процессов при тестировании функционала, очень замедляет приложение.SQLite является бестиповой базой данных. Точнее, есть только два типа - целочисленный "integer" и текстовый "text". Причём "integer" используется преимущественно для первичного ключа таблицы, а для остальных данных пойдёт "text". Длина строки, записываемой в текстовое поле, может быть любой.
Все базы данных хранятся в файлах, по одному файлу на базу. Количество баз данных, а так же таблиц в них, ограниченно только свободным местом, имеющимся на сайте. А максимально возможный объём одной базы данных составляет 2 Тб. В том числе эта библиотека содержит класс SQLite3. Вторая версия SQLite полноценно поддерживается любой версией PHP 5.x, а третья версия SQLite3 полностью поддерживается только с PHP 5.3.0.SQLite3 рекомендуется к использованию начиная с PHP 5.3.0 для 3х версий БД SQLite.Поскольку движок базы и интерфейс к ней реализованы как единое целое, огромный преимуществом SQLite является высокая производительность - для большинства типичных задач приложение, построенное на SQLite.Прежде всего, SQLiteпредназначена для небольших и средних по объему приложений. Особенно актуально использование SQLite в случае, когда в основном проводятся операции записи и считывания данных. При нажатии SQLiteManagerоткрываетсяновое подменю SQLiteManager.
Рис.2.9 Запуск браузера MozillaFirefox
В следующем рисунке открывается подменю SQLiteManager, где вводится сама таблица.В нашем случаи это таблица arendator. В таблице arendator два поля это arendator, number, смотрим на рисунке Рис.2.10. Запуск SQLiteManager.
Рис.2.10 Запуск SQLiteManager
Рис.2.11 Подключение базы данных SQLite
Основная задача подключить нашу базу данных, для этого заходим в подменю База данных, там находим субподменю Подключить базу данных, нажимаем, тем самым попадаем в папку swingFitnessclubAlexiaи находим файл с расширением sqlite, а именоalexia.sqlite. Все по подробней видно на рисунке Рис.2.12. Выбор базы данных SQLite.
Рис.2.12 Выбор базы данных SQLite
Подключив базу данных мы попадаем на интерфейсMenedjerSQLite.На рисунке 2.13. видим таблицу users.Эта таблица отвечает за работу класса Login.В таблице users три поля id, login, password.
Рис.2.13 Таблица users в базе данных SQLite
3. ПРОГРАМНАЯ РЕАЛИЗАЦИЯ ПРОЕКТА
3.1 Обобщенный алгоритм работы клиента
При проектировании визуальных алгоритмов используют специальные графические элементы, называемые графически блоками, которые представлены на рис. 26.3. Результатом алгоритмизации решения задачи является блок-схема алгоритма, состоящая из некоторой последовательности таких графических блоков.Обобщенный алгоритм работы клиента показан на рис. 3.1.
Рис.3.1 Обобщенный алгоритм работы клиента
3.2 Представления
Трудно себе представить современную базу данных без использования представлений. Так и в нашей базе данных имеется представления. Их задача во первых является безопасность, то есть пользуясь представлениями можно давать пользователю доступ только к необходимому набору информации, и не больше, а во-вторых удобство для разработчика, так как очень сложные запросы будут находиться не в клиентской, а в серверной части и при необходимости могут быть изменены и дополнены без вмешательства в клиентские приложения. Представление Базы Данных с точки зрения пользователя является внешним уровнем представления. Каждый пользователь выделяет в моделируемой предметной области интересующие его сущности, атрибуты и связи. Формируя свое представление о предметной области, выражает их в наиболее удобной для себя форме. При этом одни и те же данные у различных пользователей могут отображаться по разному. Таким образом, каждый пользователь при работе имеет свое представление о Базе Данных и может использовать свой язык программирования запросов или специальный язык поддерживаемый приложением.
• ifexists-условие существования объекта в базе данных, проверяет имеется ли объект с таким наименованием, если есть то тогда объект удаляется(dropview);
• CREATE VIEW-Создает представление, то есть непосредственно текст самого представления, в нашем примере прямо в представлении средствами языка SQL проверяется правильность и корректность выдаваемой информации .
• ISNULL- проверяет является ли запись пустой или нет.
• CASE WHEN- Выбирает какие-либо действия в зависимости от какого-либо значения поля.
• GRANT SELECT-Представляет право на выборку данным определенным ролям, или пользователям. Помимо выборки можно разрешать update ,insert , delete и другие операции над объектом.
Рис.3.2 Диаграмма состояний системы
Система может находится в одном из следующих состояний : процесс регистрации, процесс авторизации, переход на страницу пользователя, получение квитанции, процесс оплаты квитанции.
3.3 Таблицы
Таблица -- это совокупность связанных данных, хранящихся в структурированном виде в базе данных. Она состоит из столбцов и строк.В реляционных базах данных и плоских файлах баз данных, таблица -- это набор элементов данных (значений), использующий модель вертикальных столбцов (имеющих уникальное имя) и горизонтальных строк. Ячейка -- место, где строка и столбец пересекаются.[1] Таблица содержит определенное число столбцов, но может иметь любое количество строк.[2] Каждая строка однозначно определяется одним или несколькими уникальными значениями, которые принимают ее ячейки из определенного подмножества столбцов. Подмножество столбцов, которое уникально идентифицирует строку, называется первичным ключом.«Таблица» -- это еще один термин для «отношения»; разница между ними в том, что таблица обычно представляет собой мультимножество (набор) строк, а отношение представляет собой множество и не допускает дубликатов. Помимо обычных данных, таблицы, как правило, имеют связанные с ними метаданные, такие как ограничения, относящиеся к таблицам в целом или к значениям определенных столбцов.Таблица самые важные элементы базы данных, так как в них хранится непосредственно сама информация. Эти элементы являются жизненно важными для базы данных. В нашей системе таких объектов много, как уже было сказано самая длинная таблица имеет более 36 миллионов записей . Элемент сложный по мимо всего так как помимо очевидных операторов CREATE TABLE содержит и сложные операторы:
• CONSTRAINT [PK_invoice01] PRIMARY KEY-Создаетпервичныйключтаблицы.
• CONSTRAINT [FK_invoice01_Chitanta]FREIGH KEY-Создаетвнешнийключ , связь c другойтаблицей.
• CREATE UNIQUE CLUSTERED INDEX-Создаем составной индекс, в нашем примере он состоит из первичного и вторичного ключа вместе.
Использование индекса позволяет указать серверу базы данных какие поля следует индексировать, а какие нет. Поиск данных по полям с прошедшим индексацию осуществляется намного быстрее. Периодически необходимо переиндексировать базу данных, это имеет смысл делать тогда, когда какие-либо таблицы было введено много новых данных.
Рис.3.3 Таблица отношения
3.4 Хранимые процедуры
Хранимые процедуры -пожалуй самый сильный инструмент разработчика, именно они позволяют выполнять самые сложные действия. На сервере хранимые процедуры хранятся в консервированном виде, что не требует их постоянной компиляции при каждом запуске. Приложение которые пользуются хранимыми процедурами, является более масштабируемыми и считаются на класс выше приложение постоянно посылающий серверу операторы SQL, так как позволяет повысить быстродействие и сэкономить трафик в сетях с ограниченной пропускной способностью и самое главное позволяет выполнять одну и ту же операцию различным приложениям без повторного текста запроса. В нашей системе процедуры являются основополагающими, используются абсолютно всеми приложениями, так как позволяют передавать какие-либо параметры как входные значения, и получать в ответ либо вычисленные данные либо набор данных. CREATE PROCEDURE создает хранимую процедуру в указанной базе данных. А вот serviciu_idint является как раз входным параметром, то есть приложение посылает только параметры получает обратно набор данных, преимущественно тут заключается в том что не было бы хранимых процедур то пришлось бы получать приложение весь набор данных, и потом лишь их сортировать и фильтровать, а благодаря такому инструменту хранимая процедура мы получаем только строго необходимый набор данных, тем самым экономя процессорное время сервера, оперативную память сервера, трафик в сети. В результате использования хранимых процедур приводит получения очень хороших результатов в работе. Пользователи и роли являются также элементами базы данных и их предназначение задавать и соблюдать политику безопасности базы данных. Рассмотрим архитектуру клиент-сервер с использованием сервера нарис.3.4.
Рис.3.4 Архитектура клиент-сервер с использованием сервера
3.5 Интерфейс пользователя
Первые Java программы страдали бедностью интерфейсов. Более того, создание интерфейса, который запускался бы на любой платформе, часто было сложной задачей. Однако библиотека Swing изменила все. Благодаря Swing данное приложение прекрасно выглядит и прекрасно работает и под Windows, и под Linux, и на любой другой платформе. Каждая GUI-программа запускается в окне и по ходу работы может открывать несколько дополнительных окон.
В библиотеке Swing описан класс JFrame, представляющий собой окно с рамкой и строкой заголовка (с кнопками «Свернуть», «Во весь экран» и «Закрыть»). Оно может изменять размеры и перемещаться по экрану.
Конструктор JFrame() без параметров создает пустое окно. Конструктор JFrame(Stringtitle) создает пустое окно с заголовком title.
Чтобы написать простейшую программу, выводящую на экран пустое окно, нам потребуется еще три метода:
setSize(intwidth, intheight) -- устанавливает размеры окна. Если не задать размеры, окно будет иметь нулевую высоту независимо от того, что в нем находится и пользователю после запуска придется растягивать окно вручную. Размеры окна включают не только «рабочую» область, но и границы и строку заголовка.
setDefaultCloseOperation(intoperation) -- позволяет указать действие, которое необходимо выполнить, когда пользователь закрывает окно нажатием на крестик. Обычно в программе есть одно или несколько окон при закрытии которых программа прекращает работу. Для того, чтобы запрограммировать это поведение, следует в качестве параметра operation передать константу EXIT_ON_CLOSE, описанную в классе JFrame.
setVisible(booleanvisible) -- когда окно создается, оно по умолчанию невидимо. Чтобы отобразить окно на экране, вызывается данный метод с параметром true. Если вызвать его с параметром false, окно снова станет невидимым.
Теперь мы можем написать программу, которая создает окно, выводит его на экран и завершает работу после того, как пользователь закрывает окно.В графическом интерфейсе пользователя библиотеки JavaSwing есть такой компонент, как главное меню JMenuBar. Главное меню JMenuBar, как правило располагается в верхней части окна приложения в виде горизонтальной полоски. Меню может иметь произвольную вложенность. Меню состоит из пунктов меню. При клике на пункте меню могут происходить какие-то действия, предусмотренные разработчиком. Давайте посмотрим, каким образом можно использовать JMenuBar для организации главного меню приложения. Для этого рассмотрим тестовый пример с самым простым главным меню.
importjavax.swing.JMenu;
importjavax.swing.JMenuBar;
importjavax.swing.JMenuItem;
importjavax.swing.JSeparator;
importjavax.swing.KeyStroke;
importjavax.swing.JTextField;
importjavax.swing.JPanel;
importjavax.swing.JButton;
importjava.awt.*;
importjava.awt.event.*;
importjavax.swing.*;
importjavax.swing.event.*;
public class Alexia extends JFrame implements ActionListener {
JMenuItemuy;JMenuItemurqq;JMenuItemvtk;JMenuItemtk;JMenuItemztk;JMenuItemxtk;JMenuItemctk;JMenuItembtk;JMenuItemnztk;JMenuItemntk;JMenuItemnmztk;JMenuItemnmztks;JMenuItemur;
private JEditorPane editor ; // нашредактор
private JTextFieldurl ; // текстовоеполесадресом
Каждая GUI-программа запускается в окне и по ходу работы может открывать несколько дополнительных окон.В библиотеке Swing описан класс JFrame, представляющий собой окно с рамкой и строкой заголовка (с кнопками «Свернуть», «Во весь экран» и «Закрыть»). Оно может изменять размеры и перемещаться по экрану.В технологии Java дело осложняется тем, что приложения Java должны работать в любой или хотя бы во многих графических средах. Нужна библиотека классов, независимая от конкретной графической системы. Классы библиотеки AWT реализуют эти интерфейсы для создания приложений. Приложения Java используют данные методы для размещения и перемещения графических объектов, изменения их размеров, взаимодействия объектов.
Выражение, импортирующее пакет, включает в себя полное имя пакета следующим образом.importjava.awt.*;
Это выражение делает доступными все типы, находящиеся в пакете java.awt, по их простому имени.importjava.awt.event.*;
Событие (event) в библиотеке AWT возникает при воздействии на компонент какими-нибудь манипуляциями мышью, при вводе с клавиатуры, при перемещении окна, изменении его размеров. В AWT они называются слушателями (listener) и описываются специальными интерфейсами, название которых оканчивается на слово Listener. Когда с наблюдаемым объектом что-то происходит, создается объект "событие" (event), который "посылается" всем слушателям. Так слушатель узнает, например, о действии пользователя и может на него отреагировать.
Рис.3.5 Пример части программы с использованием событий в данном приложении
Рис.3.6 Пример части программы с использованием графического интерфейса
Все программы обладают общим интерфейсом для упрощения работы по объяснению пользователям работы с приложениями.Любая программа начинается с формы примера с двумя полями для ввода.
При запуске клиента появляется окно. На данном рисунке видны возможности, которыми обладает клиент.
Логика приложения организована следующим образом. Отображены 10 сущности с соответствующими им кнопками управления:
• Система
• Расчет
• Арендаторы
• Счетчики
• Тарифы
• Отчеты
• Обмен
• Справочники
• Калькулятор
• Информация
После нажатия кнопки, мы перейдем на форму, на которой будет выведена вся информация, Смена текущего месяца, Обновление программы, Резервное копирование, Настройка, Закрыть, Обслуживание информации, Выход, Смена уровня доступа.
Как только данная кнопка была нажата, мы перейдем на форму, на которой будет выведен Расчет.
Как только мы нажали кнопку, мы переходим на форму Арендаторы.
Чтобы ознакомиться с данными графы Счетчики необходимо нажать соответствующую кнопку.
Отображение записей по Отчетам.
После нажатия кнопки, мы перейдем на форму, на которой будет выведена вся информация: Отчеты по оплатам, Сводные отчеты, Отчеты по субсидиям, Предельный уровень оплаты, Отчеты по должникам, Прочие отчеты, Ведомости, Заказные отчеты.
Как только данная кнопка была нажата, мы перейдем на форму, на которой будет выведена вся информация по Реестрам задолженности и Личный кабинет.
Отображение сущности Справочники
Переходим к следующей сущности - Калькулятор.
Как только мы нажали данную кнопку, мы переходим на форму Информация данных.
Так же в форме Информация мы можем рассмотреть расположение программы на компьютере.
ЗАКЛЮЧЕНИЕ
В результате решения поставленной задачи была разработана простейшая подсистема учета и регистрации оплаты за коммунальные услуги и планирование капитального и текущего ремонта Fitness& Wellness Club Alexia.
Разработанная программа может использоваться в Fitness&Wellness Club Alexia, занимающейся предоставление услуг в сфере фитнес-услуг. Применение архитектуры веб-клиента предоставляет пользователям возможность с различных компьютеров обращаться к серверу за необходимой информацией. Сервер предоставляет возможность для клиента для работы с базой данных. Он выступает в качестве посредника между клиентом и базой данных. Он принимает запросы от клиента, их обрабатывает и направляет в базу данных. Также он перенаправляет запросы назад клиенту.
Клиент имеет возможность работы с информацией, хранимой в базе данных. Такая информация представлена в виде таблиц базы данных. Клиент может просматривать, редактировать, осуществлять поиск и т.д. необходимой ему информации.
Применение базы данных в качестве хранилища информации позволяет оптимально и эффективно хранить информацию, ее структурировать.
В результате выполнения данной квалификационной работы были получены и закреплены на практике навыки в работе с языком JAVA, UML,SQLite. Получили знания о различных методах построения функциональных и информационных моделей.Программа разработана при помощи вычислительной техники и СУБД SQLite. Достоинством данной программы является то, что она доступна для любого человека, который даже не имеет понятий о коммунальном хозяйстве.
Программа не содержит ограничений по услугам, поставщикам услуг и прочим параметрам. Анализ быстродействия в СУБД SQLiteмаксимально возможный уровень скорости для программных продуктов данного уровня сложности и пользования.
Данный пакет после изминений может быть использован на любом предприятии. Все параметры системы могут изменяться, что предоставляет пользователям (организациям) максимальные возможности.
Что же касается темы цели моего дипломного проекта - «Техническое обслуживание и коммунальные услуги Fitness&WellnessClubAlexia», то я считаю, что представленный программный продукт вполне подходит для реализации поставленной задачи. Приложение во многом облегчит работу сотрудника, занимающегося заполнением справочников, связанных с оплатой, и непосредственно регистрации оплаты за коммунальные услуги юридических лиц.
ЛИТЕРАТУРА
1.Леоненков. «Самоучитель UML».
2. Патрик Ноутон, Герберт Шилдт. Java 2.
3. Р. Мюллер. Базы данных и UML: Проектирование.- Лори, 2002г. 432 с.
4.Фельдман С.К. Система программирования Java без секретов: Как создать безопасное приложение с "нуля". - Новый издательский дом" , 2005 г. , 347 с.
5. ДейтелП.Дж., Дейтел Х.М. Как программировать на Java. Книга 2. Файлы, сети, базы данных. - "Бином" · 2005 г., 672 с.
6. Дж.Вебер. Технология JAVA. Наиболее полное руководство.
Размещено на Allbest.ur
Подобные документы
Ограничения, присутствующие в предметной области. Проектирование инфологической модели данных. Описание основных сущностей и их атрибутов. Логический и физический уровни модели данных. Реализация базы данных: представления, триггеры, хранимые процедуры.
курсовая работа [1,7 M], добавлен 10.02.2013Анализ предметной области, главных функций организации. Разработка макета внутренней структуры программного обеспечения информационной системы в виде диаграммы классов. Составление схемы базы данных. Разработка интерфейса и руководства пользователя.
курсовая работа [866,3 K], добавлен 02.06.2015Инфологическая и даталогическая модели предметной области. Проектирование функциональной структуры приложения, защиты базы данных. Алгоритмы решения задачи и их реализация. Разработка инструкций для сопровождающего программиста и для пользователя.
курсовая работа [2,5 M], добавлен 20.11.2013Разработка базы данных с целью автоматизации процессов составления, ведения и распространения информации об расписании занятий в спортивном комплексе "Маяк". Анализ предметной области. Разработка алгоритмов работы программы и приложения пользователя.
дипломная работа [1,0 M], добавлен 12.07.2015Базы данных - важнейшая составная часть информационных систем. Проектирование базы данных на примере предметной области "Оргтехника". Сбор информации о предметной области. Построение информационно-логической модели данных. Разработка логической структуры.
курсовая работа [318,6 K], добавлен 24.12.2014Цели проектирования базы данных "Аэропорт": обработка информации о рейсах, расписании самолетов и билетах. Анализ предметной области. Принцип работы модели. Особенности реализации информационной системы. Среда программирования клиентского приложения.
лабораторная работа [2,4 M], добавлен 07.01.2014Анализ предметной области. Обеспечение качества проектной документации. Построение инфологической (концептуальной) модели предметной области. Проектирование физической структуры базы данных. Разработка интерфейса, организация ввода и поиска данных.
курсовая работа [2,5 M], добавлен 10.01.2016Этапы создания и разработки базы данных. Построение модели предметной области. Разработка даталогической и физической моделей данных, способы обработки данных о сотрудниках организации. Проектирование приложений пользователя. Создание кнопочной формы.
курсовая работа [2,1 M], добавлен 14.02.2011Метод извлечения информации о личностных характеристиках пользователя с помощью технологии распознавания лица. Разработка алгоритма работы рекомендательной системы, основанной на психологическом портрете пользователя, хранилища баз данных и интерфейса.
курсовая работа [815,2 K], добавлен 21.09.2016Анализ предметной области - магазин "Канцелярские товары". Проектирование и реализация базы данных в MS SQL Server. Перечень хранимой информации: таблицы, поля, типы. Моделирование предметной области. Выделение сущностей, атрибутов, ключей, связей.
курсовая работа [2,2 M], добавлен 05.02.2015