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

Автор: Пользователь скрыл имя, 06 Мая 2012 в 15:01, курсовая работа

Описание работы

Современные приложения должны быть безопасны, высокопроизводительны, работать в распределенной среде, быть нейтральны к архитектуре. Требования к переносимости заставили отказаться от традиционного способа создания и доставки бинарных файлов, содержащих машинные коды и, следовательно, привязанных к определенной платформе. Созданная компанией Sun Microsystems система разработки Java удовлетворяет всем этим требованиям.

Содержание

Введение 3
1 ПРОГРАММНЫЙ ИНТЕРФЕЙС 4
1.1 Описание классов 4
1.2 Описание файлов 10
2 ПОЛЬЗОВАТЕЛЬСКИЙ ИНТЕРФЕЙС 12
Заключение 18
Список использованных источников 19

Работа содержит 1 файл

Курсовая.doc

— 283.50 Кб (Скачать)

     Класс public class ReadCsv является подклассом ListVuz, служит для обработки данных из файлов с расширением *.csv. Содержит поле List<Vuz> vuzList, организующее список. Включает процедуры для чтения из файла и записи в коллекцию данных о ВУЗах, обработки данных в коллекции и записи из коллекции в файл:

     public ReadCsv() – конструктор без параметров;

     public void readFile(String vuzCsv) – процедура, осуществляющая чтение из файла. Определяет тип записи по значению идентификатора и заносит в коллекцию. В процедуру передается переменная строкового типа, являющаяся именем считываемого файла;

     public void print() – вывод записей из коллекции на экран в виде: одна запись – одна строка;

     public void insert(Vuz ref) – процедура записывает элемент в конец коллекции. В процедуру передается переменная типа Vuz;

     public int delete(int index) – удаление элемента с соответствующим индексом. В процедуру передается переменная целого типа, являющаяся индексом записи. Если индекс меньше нуля, то он просто возвращается, если он больше размера коллекции, то возвращается размер коллекции, а если запись найдена, то она удаляется;

     public getItem(int index) – возвращает запись типа Vuz с соответствующим индексом;

     public int getSize() – возвращает количество записей в коллекции, значение целого типа;

     public int find(Vuz obj) – поиск определенной записи в коллекции. В процедуру передается переменная типа Vuz, которая сравнивается с записями в коллекции, если такая же запись найдена, то возвращается ее индекс целого типа, а если не найдена, то выводится соответствующее сообщение;

     public List<Vuz> getVuzList() – возвращает коллекцию;

     public void setVuzList(List<Vuz> vuzList) – конструктор заполнения из потока. В конструктор передается переменная параметризованного типа List<Vuz>;

     public void saveCsv(String filename) – процедура записывает в файл с расширением *.csv. В процедуру передается переменная строкового типа, являющаяся именем записываемого файла;

     public void saveDb(String filename) – процедура записывает в файл с расширением *.mdb. В процедуру передается переменная строкового типа, являющаяся именем записываемого файла.

     Класс public class ReadDb является подклассом ListVuz, служит для обработки данных из файлов с расширением *.mdb. Содержит поле List<Vuz> vuzList, организующее список. Чтение из файла и запись в файл производится при помощи SQL-запросов. Включает процедуры для чтения из файла и записи в коллекцию данных о ВУЗах, обработки данных в коллекции и записи из коллекции в файл:

     public ReadDb() – конструктор без параметров;

     public void readFile(String vuzDb) – процедура, осуществляющая чтение из базы данных при помощи SQL–запросов, заносит полученные результаты в коллекцию. В процедуру передается переменная строкового типа, которая является именем считываемой базы данных;

     public void print() – вывод записей из коллекции на экран в виде: одна запись – одна строка;

     public void insert(Vuz ref) – процедура записывает элемент в конец коллекции. В процедуру передается переменная типа Vuz;

     public int delete(int index) – удаление элемента с соответствующим индексом. В процедуру передается переменная целого типа, являющаяся индексом записи. Если индекс меньше нуля, то он просто возвращается, если он больше размера коллекции, то возвращается размер коллекции, а если запись найдена, то она удаляется;

     public getItem(int index) – возвращает запись типа Vuz с соответствующим индексом;

     public int getSize() – возвращает количество записей в коллекции, значение целого типа;

     public int find(Vuz obj) – поиск определенной записи в коллекции. В поцедуру передается переменная типа Vuz, которая сравнивается с записями в коллекции, если такая же запись найдена, то возвращается ее индекс целого типа, а если не найдена, то выводится соответствующее сообщение;

     public List<Vuz> getVuzList() – возвращает коллекцию;

     public void setVuzList(List<Vuz> vuzList) – конструктор заполнения из потока. В конструктор передается переменная параметризованного типа List<Vuz>;

     public void saveCsv(String filename) – процедура записывает в файл с расширением *.csv. В процедуру передается переменная строкового типа, являющаяся именем записываемого файла;

     public void saveDb(String filename) – процедура записывает в файл с расширением *.mdb. В процедуру передается переменная строкового типа, являющаяся именем записываемого файла.

     Класс public class Runner включает процедуру public static void main(String[] args), благодаря которой происходит запуск разработанной программы. В данной процедуре происходит определение объектов класса  ListVuz. В дальнейшем эти объекты по запросу Пользователя вызывают необходимые процедуры обработки данных: считывание из файла, вывод на экран, поиск записи, добавление и удаление записи, сортировка коллекции, запись в файл. Вся информация и результаты обработки выводятся на консоль.

    1. Описание  файлов

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

     Разработанный программный комплекс осуществляет считывание и запись файлов с расширениями *.csv и *.mdb, в которых содержится информация о ВУЗах.

     Файл  с расширением *.csv представляет собой таблицу, колонки которой содержат соответствующую информацию: название ВУЗа, дата основания, количество студентов, тип (академия, институт, университет), дополнительная информация в зависимости от типа ВУЗа.

     Файл  с расширением *.mdb представляет собой базу данных, состоящую из четырех таблиц:

     Vuz – данная таблица содержит общую информацию о ВУЗах (название, дата основания, количество студентов);

     Univer – данная таблица содержит информацию об университетах (названия факультетов, количество бюджетных мест, количество платных мест);

     Institut – данная таблица содержит информацию об институтах (учебный профиль, количество стипендиатов, сумма стипендий);

     Academ – данная таблица содержит информацию об академиях (учебный профиль, оплата, срок обучения);

     Ниже  в таблице 1 представлена структура  таблицы «Vuz».

     Таблица 1 –  Структура таблицы «Vuz»

Название  поля Тип поля Описание поля
idName Счетчик Код ВУЗа
name Текстовый Название ВУЗа
year Числовой Дата создания
nomStud Числовой Количество  студентов

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

     Далее в таблице 2  представлена структура таблицы «Univer».

     Таблица 2 – Структура таблицы  «Univer»

Название  поля Тип поля Описание
idName Числовой Код ВУЗа
fakultet Текстовый Название факультета
butzet Числовой Количество  бюджетных мест
platno Числовой Количество платных мест

         

     В данной таблице нет необходимости  вводить ключевое поле, так как  она носит дополнительную информацию о ВУЗе и не имеет уникальных полей. Поле idName является внешним ключом и обеспечивает возможность установить связь данных таблицы «Univer» с таблицей «Vuz».

     Далее в  таблице 3  представлена структура  таблицы «Institut».

     Таблица 3 – Структура таблицы  «Institut»

Название  поля Тип поля Описание
idName Числовой Код ВУЗа
profil Текстовый Учебный профиль
kolStud Числовой Количество  стипендиатов
sumStip Числовой Сумма стипендий

         

     В данной таблице не вводится ключевое поле, так как она не имеет уникальных полей и носит дополнительную информацию о ВУЗе. Поле idName является внешним ключом и обеспечивает возможность установить связь данных таблицы  «Institut» с таблицей «Vuz».

     Далее в  таблице 4  представлена структура таблицы «Academ».

     Таблица 4 – Структура таблицы «Academ»

Название  поля Тип поля Описание
idName Числовой Код ВУЗа
profil Текстовый Учебный профиль
oplata Числовой Размер оплаты
srocObuch Числовой Срок обучения

         

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

     Схема данных отражающая связи в данных представлена на рисунке 1.

      Рисунок 1 – Схема данных базы данных «ВУЗы  Гомеля»

     Из  рисунка 1 видно, что основной таблицей базы является таблица «Vuz». Остальные таблицы связаны с этой таблицей.

    1. ПОЛЬЗОВАТЕЛЬСКИЙ ИНТЕРФЕЙС

     Для того чтобы начать работу с программой необходимо в среде разработки Eclips открыть проект OopKurs. В нем выбрать файл Runner.java и запустить на выполнение.

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

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

     

Рисунок 2 – Ввод имен файлов

     Если  такие файлы найдены, то происходит обработка данных, а если нет, то выводится сообщение об ошибке.

     Для контрольного примера будут использован  файл vuz.csv, содержимое которого представлено на рисунке 3, и база данных db1.mdb.

Информация о работе Пользовательский интерфейс