Доделать курсовой проект яп Java. Web-приложение

  • 72 страницы
  • 3 источника
  • Добавлена 18.12.2021
800 руб.
  • Содержание
  • Часть работы
  • Список литературы
Содержание

Введение 3
1 Описание предметной области 5
2 Структура базы данных 12
3 Структура системы 24
4 Описание программного продукта 33
4.1 Схема переходов между страницами 44
4.2 Проектирование пользовательского интерфейса 45
4.3 Проектирование алгоритмов обработки данных 47
4.4 Описание основных страниц 51
4.5 Тестирование 55
Заключение 57
Список литературы 59
Приложения А 60

Фрагмент для ознакомления

Система должна быть одинаково удобна как для опытных, так и для неопытных пользователей. Для неопытных пользователей предусмотрены всплывающие подсказки, которые не отвлекают опытных пользователей от работы. Кроме того, в разделе меню «Помощь» есть руководство пользователя с подробной инструкцией по работе с программой;- эстетика и минималистичный дизайн. Все формы содержат, достаточный для выполнения поставленных задач, минимум управляющих элементов;- помощь в распознавании, диагностике и исправлении ошибок. В случае, если пользователь ввел данные, которые могут привести к ошибкам при дальнейшем использовании программы, появляются предупреждающие сообщения. Например, после добавления данных кнопка добавления блокируется, чтобы пользователь не смог дважды добавить данные или при добавлении уже существующей записи пользователь будет предупрежден о существовании записи и сможет отменить ввод;- помощь и документация. Все элементы управления снабжены всплывающими подсказками, в меню есть раздел помощь, где пошагово расписаны все этапы работы с программой, к программе прилагается руководство пользователя[3].На рисунке 7 представим приблизительный шаблон экранной формы будущего программного комплекса.Рисунок 7 - Шаблон экранной формы будущего программного комплекса4.3 Проектирование алгоритмов обработки данныхАлгоритмы программного комплекса могут быть простыми, а могут быть сложными, содержать в себе более простые процедуры и функции данного списка. В качестве примеров приведем блок-схемы некоторых выше указанных алгоритмов, смотрите на рисунки 8, 9 и 10. Алгоритм обновления различных моделей смотрите на рисунке 8.Рисунок 8 −Алгоритм обновленияАлгоритм добавления модели рисунок 9.Рисунок 9 - Алгоритм добавление моделиУдаление модели из БД рисунок 10.Рисунок 10 - Алгоритм удаления модели данных4.4 Описание основных страницСтраницу авторизации представим на рисунке 11.Рисунок 11 – Страница авторизацииОсновные элементы данной формы представим при помощи таблицы 7. Таблица 7 – Основные элементы формы для авторизации№ЭлементОсновные действия1jLabel1Поля для надписи2jLabel2Поля для надписи3jTextField_loginПоля для ввода информации4jTextField_passwordПоля для ввода информации5JButtonПройти авторизацииПосле успешной авторизации попадаем в окно для учета абонентов. Страницу учета абонентов представим на рисунке 12.Рисунок 12 – Страница учета абонентовОсновные элементы данной формы представим при помощи таблицы 8. Таблица 8 – Основные элементы формы для учета абонентов№ЭлементОсновные действия1jLabel1Поля для надписи2jLabel2Поля для надписи3jLabel3Поля для надписи4jLabel4Поля для надписи5jLabel5Поля для надписи6jLabel6Поля для надписи7jLabel7Поля для надписи8jLabel8Поля для надписи9jTextField_nameПоля для ввода информации10jTextField_telПоля для ввода информации11jTextField_adresПоля для ввода информацииПродолжение таблицы 812jTextField_nameeПоля для ввода информации13jTextField_tellПоля для ввода информации14jTextField_adressПоля для ввода информации15jTextField_idПоля для ввода информации16jTextField_iddПоля для ввода информации17jTextField_idddПоля для ввода информации18jTextField_fioПоля для ввода информации19JButton1Добавить абонента20JButton2Удалить абонента21JButton3Обновить абонента22JButton4Поиск абонента23JButton5Обновление БД24JButton6Выход25JButton7Перейти к движении книг26jTableТаблица для вывода данныхДалее, выбрав абонента, можем посмотреть все его заданные и текущие книги, смотрите рисунок 13.Рисунок 13 – Учет книг абонентаОсновные элементы похожи на элементы предыдущей формы и рассматривать нет необходимости.Также с этой формы можно перейти на формы для учета книг и библиотекарей, смотрите рисунки 14 и 15.Рисунок 14 – Учет книг Рисунок 15 – Учет библиотекарейОсновные элементы похожи на элементы предыдущей формы и рассматривать нет необходимости.4.5 ТестированиеНа этом этапе представим доказательства того, что спроектированное ПС работает в соответствии с требованиями.Тест кейсы представим в таблице 9.Таблица 9 - Таблица тестов программы№ТестШагиРезультатДа/Нет1Проверка запуска программы1.Запуск программы2. Открытия главного окнаНаблюдения стартового окна Да2Проверка добавления выдачи книги1.Запуск программы2. Авторизация3. Выбор абонента и «Выдачи»4. Добавление данных5. Кликнуть кнопку "Добавить"Наличие новойинформации в БДДа3Проверка ввода данных при добавления данных 1.Запуск программы2. Авторизация3. Выбор абонента и «Выдачи» 4.Добавление данных5. Заполнить не все поля заявки6. Кликнуть «Добавить»Наличие сообщения об ошибке ввода данныхДа4Проверка наличия всех выдачдля выбора1.Запуск программы2. Авторизация3. Выбор абонента и «Выдачи»книг"Наличие списка выдачДаПродолжение таблицы 9№ТестШагиРезультатДа/Нет5Проверка возможностипросмотра информацииоб читателях1.Запуск программы2. Открытия главного окна3. АвторизацияПолучение информации об читателяхДа6Проверка возможностипросмотра информации об библиотекарях1.Запуск программы2. Авторизация3. Выбор абонента и Выдачи»книг".4. БиблиотекариПолучение информации об библиотекаряхДа7Возможностьпросмотра информации об книгах1.Запуск программы2. Авторизация3. Выбор абонента и Выдачи»книг".4. КнигиПолучение информации об книгахДа6Возможность обновления информации об абонентах1.Запуск программы2. Авторизация3. Выбор абонента 4. Обновления5. Замена информации. ОбновитьОбновление необходимой информацииДаЗаключениеВ результате выполнения курсовой работы был достаточно подробна изученытехнологии проектирования информационных систем. Для хранения данных использовалась БД и СУБД ACCESS. Работа над данным тоже привели к улучшению знаний у автора о данной системе управления базой данных. В процессе разработки, алгоритмы программы распределялись по файлам. Данный подход закрепил умения и навыки автора по модульному программированию.В результате оформления ПЗ курсовой работы были закреплены навыки построения алгоритмов в виде блок-схем.В результате выполнения данной курсовой работы был разработан программный комплекс «Библиотека».Данное программное обеспечение выполняет следующие функции:Добавление, удаление, обновление и поиск информации о читателях;Добавление, удаление, обновление и поиск информации о книгах;Добавление, удаление, обновление и поиск информации о библиотекарях;Добавление, удаление, обновление и поиск информации о регистрациях на книги;Получение информации о регистрациях по читателю; Получение информации о регистрациях по библиотекарю; Получение информации о регистрациях по дате; Получение информации о регистрациях по книге;Получение информации о регистрациях по автору;Получение информации о регистрациях по году;Поиск по читателю;Поиск по библиотекарю;Поиск по книге;Поиск по дате и т.д. Программа проста для установки и имеет интуитивно понятный графический интерфейс. Программный комплекс актуален и может устанавливаться на всех ПК.Список литературы1. Дейтел, Х.М. Как программировать на Java [учеб. пособие] / Х.М. Дейтел, П.Дж. Дейтел ; пер. с англ. под ред. В.В. Тимофеева. -М. : Бином-Пресс, 2006. - 663 с.2.Семочкин, А.Н. Язык программирования Java : учеб.пособие для вузов / А.Н. Семочкин ; М-во образования и науки РФ, Федеральное агентство по образованию [и др.]. - 2-е изд., перераб. И доп. - Благовещенск : Изд-во БГПУ, 2009. - 89 с.3.Монахов, В.В. Язык программирования Java и среда NetBeans : [учеб. пособие] / В.В. Монахов. - 3-еизд., перераб. и доп. - СПб. : БХВ-Петербург, 2011. - 703 с.Приложения АСвязь с БДimport java.sql.*;import java.util.ArrayList;import java.util.logging.Level;import java.util.logging.Logger;import javax.swing.*;public class Connekt { Connection conn=null; ResultSet rs=null; PreparedStatement pst=null; public static Connection ConnectBD(){ try{ Class.forName("net.ucanaccess.jdbc.UcanaccessDriver"); Connection conn = DriverManager.getConnection("jdbc:ucanaccess://BD.mdb;memory=false"); //JOptionPane.showMessageDialog(null,"222"); return conn; }catch(Exception e){ JOptionPane.showMessageDialog(null,e); return null; } } //Посетителибиблиотеки public static ArrayList<klient> Fill_klient() throws SQLException{ ArrayList<klient> list = new ArrayList<klient>(); ResultSet rs=null; Statement st=null; try{ Connection conn=Connekt.ConnectBD(); st = conn.createStatement(); String sql= "Select * from Klient"; rs=st.executeQuery(sql); int rowCount = 0; while (rs.next()){ klient k=new klient(Integer.parseInt(rs.getString(1)),rs.getString(2),rs.getString(3),rs.getString(4)); list.add(k); } return list; } catch (SQLException ex) { } finally{ st.close(); } return list; } public static void add_klient(klient zad) throws SQLException { Statement st=null; try{ Connection conn=Connekt.ConnectBD(); st = conn.createStatement(); String zap="INSERT INTO Klient(Name,Tel,Adres) VALUES ('" + zad.Name + "', '" + zad.Tel+"', '" + zad.Adres +"')"; int rows = st.executeUpdate(zap); //System.out.printf("Количество->", rows); } catch (SQLException ex) { } finally{ st.close(); } } public static void Delete(String tab,String id) throws SQLException { Statement st=null; try{ Connection conn=Connekt.ConnectBD(); st = conn.createStatement(); String zap="DELETE FROM " + tab + " WHERE ID= " + id; st.executeUpdate(zap); } catch (SQLException ex) { } finally{ st.close(); } } public static void Update_klient(klient now,klient tek) throws SQLException { Statement st=null; try{ Connection conn=Connekt.ConnectBD(); st = conn.createStatement(); String zap="UPDATE Klient SET Name = '" + now.Name + "',Tel ='" + now.Tel + "',Adres ='" + now.Adres + "' WHERE ID =" + tek.id; int rows = st.executeUpdate(zap); //System.out.printf("Количество->", rows); } catch (SQLException ex) { } finally{ st.close(); } } public static klient Get_klient_id(int id) throws SQLException{ klient k = null; ResultSet rs=null; Statement st=null; try{ Connection conn=Connekt.ConnectBD(); st = conn.createStatement(); String sql= "Select * from Klient WHERE Id="+id; rs=st.executeQuery(sql); int rowCount = 0; while (rs.next()){ k=new klient(Integer.parseInt(rs.getString(1)),rs.getString(2),rs.getString(3),rs.getString(4)); } return k; } catch (SQLException ex) { } finally{ st.close(); } return k; } public static klient Get_klient_name(String id) throws SQLException{ klient k = null; ResultSet rs=null; Statement st=null; try{ Connection conn=Connekt.ConnectBD(); st = conn.createStatement(); String sql= "Select * from klient WHERE Name='"+id+"'"; rs=st.executeQuery(sql); int rowCount = 0; while (rs.next()){ k=new klient(Integer.parseInt(rs.getString(1)),rs.getString(2),rs.getString(3),rs.getString(4)); } return k; } catch (SQLException ex) { } finally{ st.close(); } return k; } //Менеджерыбиблиотеки public static ArrayList<Men> Fill_men() throws SQLException{ ArrayList<Men> list = new ArrayList<Men>(); ResultSet rs=null; Statement st=null; try{ Connection conn=Connekt.ConnectBD(); st = conn.createStatement(); String sql= "Select * from Men"; rs=st.executeQuery(sql); int rowCount = 0; while (rs.next()){ Men k=new Men(Integer.parseInt(rs.getString(1)),rs.getString(2),rs.getString(3),rs.getString(4)); list.add(k); } return list; } catch (SQLException ex) { } finally{ st.close(); } return list; } public static void add_men(Men zad) throws SQLException { Statement st=null; try{ Connection conn=Connekt.ConnectBD(); st = conn.createStatement(); String zap="INSERT INTO Men(Name,Tel,Adres) VALUES ('" + zad.Name + "', '" + zad.Tel+"', '" + zad.Adres +"')"; int rows = st.executeUpdate(zap); //System.out.printf("Количество->", rows); } catch (SQLException ex) { } finally{ st.close(); } } public static void Update_men(Men now,Men tek) throws SQLException { Statement st=null; try{ Connection conn=Connekt.ConnectBD(); st = conn.createStatement(); String zap="UPDATE Men SET Name = '" + now.Name + "',Tel ='" + now.Tel + "',Adres ='" + now.Adres + "' WHERE ID =" + tek.id; int rows = st.executeUpdate(zap); //System.out.printf("Количество->", rows); } catch (SQLException ex) { } finally{ st.close(); } } public static Men Get_men_id(int id) throws SQLException{ Men k = null; ResultSet rs=null; Statement st=null; try{ Connection conn=Connekt.ConnectBD(); st = conn.createStatement(); String sql= "Select * from Men WHERE Id="+id; rs=st.executeQuery(sql); int rowCount = 0; while (rs.next()){ k=new Men(Integer.parseInt(rs.getString(1)),rs.getString(2),rs.getString(3),rs.getString(4)); } return k; } catch (SQLException ex) { } finally{ st.close(); } return k; } public static Men Get_men_name(String id) throws SQLException{ Men k = null; ResultSet rs=null; Statement st=null; try{ Connection conn=Connekt.ConnectBD(); st = conn.createStatement(); String sql= "Select * from Men WHERE Name='"+id+"'"; rs=st.executeQuery(sql); int rowCount = 0; while (rs.next()){ k=new Men(Integer.parseInt(rs.getString(1)),rs.getString(2),rs.getString(3),rs.getString(4)); } return k; } catch (SQLException ex) { } finally{ st.close(); } return k; } //Книгабиблиотеки public static ArrayList<Kniga> Fill_kniga() throws SQLException{ ArrayList<Kniga> list = new ArrayList<Kniga>(); ResultSet rs=null; Statement st=null; try{ Connection conn=Connekt.ConnectBD(); st = conn.createStatement(); String sql= "Select * from Kniga"; rs=st.executeQuery(sql); int rowCount = 0; while (rs.next()){ Kniga k=new Kniga(Integer.parseInt(rs.getString(1)),rs.getString(2),rs.getString(3),rs.getString(4)); list.add(k); } return list; } catch (SQLException ex) { } finally{ st.close(); } return list; } public static void add_kniga(Kniga zad) throws SQLException { Statement st=null; try{ Connection conn=Connekt.ConnectBD(); st = conn.createStatement(); String zap="INSERT INTO Kniga(Name,Avtor,God) VALUES ('" + zad.Name + "', '" + zad.Avtor+"', '" + zad.God +"')"; int rows = st.executeUpdate(zap); //System.out.printf("Количество->", rows); } catch (SQLException ex) { } finally{ st.close(); } } public static void Update_kniga(Kniga now,Kniga tek) throws SQLException { Statement st=null; try{ Connection conn=Connekt.ConnectBD(); st = conn.createStatement(); String zap="UPDATE Kniga SET Name = '" + now.Name + "',Avtor ='" + now.Avtor + "',God ='" + now.God + "' WHERE ID =" + tek.id; int rows = st.executeUpdate(zap); //System.out.printf("Количество->", rows); } catch (SQLException ex) { } finally{ st.close(); } } public static Kniga Get_kniga_id(int id) throws SQLException{ Kniga k = null; ResultSet rs=null; Statement st=null; try{ Connection conn=Connekt.ConnectBD(); st = conn.createStatement(); String sql= "Select * from Kniga WHERE Id="+id; rs=st.executeQuery(sql); int rowCount = 0; while (rs.next()){ k=new Kniga(Integer.parseInt(rs.getString(1)),rs.getString(2),rs.getString(3),rs.getString(4)); } return k; } catch (SQLException ex) { } finally{ st.close(); } return k; } public static Kniga Get_kniga_name(String id) throws SQLException{ Kniga k = null; ResultSet rs=null; Statement st=null; try{ Connection conn=Connekt.ConnectBD(); st = conn.createStatement(); String sql= "Select * from Kniga WHERE Name='"+id+"'"; rs=st.executeQuery(sql); int rowCount = 0; while (rs.next()){ k=new Kniga(Integer.parseInt(rs.getString(1)),rs.getString(2),rs.getString(3),rs.getString(4)); } return k; } catch (SQLException ex) { } finally{ st.close(); } return k; } //Заявки public static ArrayList<Tovar> Fill_Tovar() throws SQLException{ ArrayList<Tovar> list = new ArrayList<Tovar>(); ResultSet rs=null; Statement st=null; try{ Connection conn=Connekt.ConnectBD(); st = conn.createStatement(); String sql= "Select * from Tovar"; rs=st.executeQuery(sql); int rowCount = 0; while (rs.next()){ Tovar k=new Tovar(Integer.parseInt(rs.getString(1)),Integer.parseInt(rs.getString(2)),Integer.parseInt(rs.getString(3)),Integer.parseInt(rs.getString(4)),rs.getString(5),rs.getString(6),rs.getString(7)); list.add(k); } return list; } catch (SQLException ex) { } finally{ st.close(); } return list; } public static void add_Tovar(Tovar zad) throws SQLException { Statement st=null; try{ Connection conn=Connekt.ConnectBD(); st = conn.createStatement(); System.out.printf("Количество->",5); String zap="INSERT INTO Tovar(Id_klient,Id_men,Id_kniga,Data,Srok,St) VALUES ('" +zad.id_klient+"', '" +zad.id_men+"', '" +zad.id_kniga+"', '" + zad.Data + "', '" + zad.Srok+"', '" + zad.Status +"')"; int rows = st.executeUpdate(zap); //System.out.printf("Количество->", rows); } catch (SQLException ex) { } finally{ st.close(); } } public static void Update_Tovar(Tovar now,Tovar tek) throws SQLException { Statement st=null; try{ Connection conn=Connekt.ConnectBD(); st = conn.createStatement(); String zap="UPDATE Tovar SET Data = '" + now.Data + "',Srok ='" + now.Srok + "',St ='" + now.Status +"',Id_klient ='" + now.id_klient +"',Id_men ='" + now.id_men +"',Id_kniga ='" + now.id_kniga + "' WHERE ID =" + tek.id; int rows = st.executeUpdate(zap); //System.out.printf("Количество->", rows); } catch (SQLException ex) { } finally{ st.close(); } } public static Tovar Get_Tovar_id(int id) throws SQLException{ Tovar k = null; ResultSet rs=null; Statement st=null; try{ Connection conn=Connekt.ConnectBD(); st = conn.createStatement(); String sql= "Select * from Tovar WHERE Id="+id; rs=st.executeQuery(sql); int rowCount = 0;while (rs.next()){ k=new Tovar(Integer.parseInt(rs.getString(1)),Integer.parseInt(rs.getString(2)),Integer.parseInt(rs.getString(3)),Integer.parseInt(rs.getString(4)),rs.getString(5),rs.getString(6),rs.getString(7));} return k; } catch (SQLException ex) { } finally{ st.close(); } return k;} }

Список литературы
1. Дейтел, Х.М. Как программировать на Java [учеб. пособие] / Х.М. Дейтел, П.Дж. Дейтел ; пер. с англ. под ред. В.В. Тимофеева. -М. : Бином-Пресс, 2006. - 663 с.
2.Семочкин, А.Н. Язык программирования Java : учеб.пособие для вузов / А.Н. Семочкин ; М-во образования и науки РФ, Федеральное агентство по образованию [и др.]. - 2-е изд., перераб. И доп. - Благовещенск : Изд-во БГПУ, 2009. - 89 с.
3.Монахов, В.В. Язык программирования Java и среда NetBeans : [учеб. пособие] / В.В. Монахов. - 3-еизд., перераб. и доп. - СПб. : БХВ-Петербург, 2011. - 703 с.

Узнать стоимость работы