Автор: Пользователь скрыл имя, 06 Мая 2012 в 15:01, курсовая работа
Современные приложения должны быть безопасны, высокопроизводительны, работать в распределенной среде, быть нейтральны к архитектуре. Требования к переносимости заставили отказаться от традиционного способа создания и доставки бинарных файлов, содержащих машинные коды и, следовательно, привязанных к определенной платформе. Созданная компанией Sun Microsystems система разработки Java удовлетворяет всем этим требованиям.
Введение 3
1 ПРОГРАММНЫЙ ИНТЕРФЕЙС 4
1.1 Описание классов 4
1.2 Описание файлов 10
2 ПОЛЬЗОВАТЕЛЬСКИЙ ИНТЕРФЕЙС 12
Заключение 18
Список использованных источников 19
СОДЕРЖАНИЕ
Целью
моего курсового проекта
Все действия в программе должны выполнятся на интуитивно–понятном уровне, так, чтобы человек, который впервые работает в среде, не испытывал трудностей при работе.
Современные приложения должны быть безопасны, высокопроизводительны, работать в распределенной среде, быть нейтральны к архитектуре. Требования к переносимости заставили отказаться от традиционного способа создания и доставки бинарных файлов, содержащих машинные коды и, следовательно, привязанных к определенной платформе. Созданная компанией Sun Microsystems система разработки Java удовлетворяет всем этим требованиям.
Java – объектно-ориентированный язык, удобный и надёжный в эксплуатации благодаря таким своим достоинствам, как многозадачность, поддержка протоколов Internet и многоплатформенность. Java – это интерпретируемый язык, и каждая Java-программа компилируется для гипотетической машины, называемой Виртуальная Машина Java. Результатом такой компиляции является байт-код Java, который в свою очередь может выполняться на любой операционной системе при условии наличия там системы времени выполнения Java, которая интерпретирует байт-код в реальный машинный код конкретной системы.
Для создания программного комплекса была выбрана среда разработки Eclipse. Она наиболее удобна для написания программ на Java. Eclipse – это расширяемая платформа разработчика, предназначенная для поддержки любого языка программирования. Гибкость Eclipse обеспечивается за счёт подключаемых модулей, благодаря чему возможна разработка не только на Java, но и на других языках, таких как C/C++, Perl, Python, PHP, Erlang и прочие. Eclipse – это проект с открытым исходным кодом. Если понадобится какая-то функциональность, то с большой степенью вероятности найдется бесплатный подключаемый модуль, обеспечивающий эту функциональность в Eclipse.
Разработанный проект включает десять классов, содержащих переменные и процедуры для считывания, обработки и записи данных в файлы. Классы распределены по пакетам для удобства использования.
Класс public class Vuz находится в пакете by.gsu.asoi, является базовым классом и содержит поля, описывающие элементы множества данных:
– name типа String – описывает краткое название ВУЗа;
– year типа int – описывает дату создания;
– nomStud типа double – описывает количество студентов.
Все поля имеют идентификатор доступа private.
В данном классе содержатся процедуры, обеспечивающие доступ к полям класса, вывод информации на экран, а также конструкторы:
public Vuz(String name, int year, double nomStud) – конструктор, инициализирующий все переменные класса, значениями, заданными в качестве параметров, а именно название ВУЗа, дата основания, количество студентов;
public Vuz() – конструктор без параметров, очищающий переменные объекта класса;
public String getName() – возвращает название ВУЗа строкового типа;
public void setName(String name) – конструктор заполнения объекта из потока, заносит название ВУЗа. В конструктор передается переменная строкового типа;
public double getNomStud() – возвращает количество студентов вещественного типа;
public void setNomStud(double nomStud) – конструктор заполнения объекта из потока, заносит количество студентов. В конструктор передается переменная вещественного типа;
public int getYear() – возвращает дату создания целого типа;
public void setYear(int year) – конструктор заполнения объекта из потока, заносит дату основания ВУЗа. В конструктор передается переменная целого типа;
public String toString() – конструктор приведения из строки символов (возвращает поля класса, разделенные символом «точка с запятой»).
Класс public class Academ находится в пакете by.gsu.asoi, является наследником класса Vuz, содержит поля, имеющие идентификатор доступа private:
– profil типа String – описывает учебный профиль академии;
– oplata типа double – описывает сумму оплаты за обучение;
– srocObuch типа int – описывает срок обучения;
В данном классе содержатся процедуры, обеспечивающие доступ к полям класса, подсчет и вывод информации на экран, а также конструкторы:
public Academ(String name, int year, double nomStud, String profil, double oplata, int srocObuch) – конструктор, инициализирующий все переменные класса, значениями, заданными в качестве параметров, а именно поля базового класса (name, year, nomStud) и собственные поля (profil, oplata, rocObuch);
public double getOplata() – возвращает сумму оплаты за обучение вещественного типа;
public void setOplata(double oplata) – конструктор заполнения объекта из потока, заносит сумму оплаты. В конструктор передается переменная вещественного типа;
public String getProfil() – возвращает профиль академии строкового типа;
public void setProfil(String profil) – конструктор заполнения объекта из потока, заносит профиль академии. В конструктор передается переменная строкового типа;
public int getSrocObuch() – возвращает срок обучения целого типа;
public void setSrocObuch(int srocObuch) – конструктор заполнения объекта из потока, заносит срок обучения. В конструктор передается переменная целого типа;
public double oneVipl() – подсчитывает и возвращает размер выплат в полугодие вещественного типа;
public String toString() – конструктор приведения из строки символов (возвращает поля класса, разделенные символом «точка с запятой», а также результат вычисления размера оплаты за полугодие).
Класс public class Univer находится в пакете by.gsu.asoi, является наследником класса Vuz, содержит поля, имеющие идентификатор доступа private:
– facult типа String – описывает факультеты университета;
– budzet типа int – описывает количество бюджетных мест;
– platno типа int – описывает количество платных мест;
В данном классе содержатся процедуры, обеспечивающие доступ к полям класса, подсчет и вывод информации на экран, а также конструкторы:
public Univer(String name, int year, double nomStud, String facult, int budzet, int platno) – конструктор, инициализирующий все переменные класса, значениями, заданными в качестве параметров. В конструктор передаются значения полей базового класса (String name, int year, double nomStud) и собственных полей (String facult, int budzet, int platno) соответствующих типов;
public int getBudzet() – возвращает количество бюджетных мест целого типа;
public void setBudzet(int budzet) – конструктор заполнения объекта из потока, заносит количество бюджетных мест. В конструктор передается переменная целого типа;
public String getFacult() – возвращает название факультета строкового типа;
public void setFacult(String facult) – конструктор заполнения объекта из потока, заносит название факультета. В конструктор передается переменная строкового типа;
public int getPlatno() – возвращает количество платных мест целого типа;
public void setPlatno(int platno) – конструктор заполнения объекта из потока, заносит количество платных мест. В конструктор передается переменная целого типа;
public int sumStud() – вычисляет и возвращает общее количество студентов на факультете целого типа;
public String toString() – конструктор приведения из строки символов (возвращает поля класса, разделенные символом «точка с запятой» и результат вычисления количества студентов на факультете).
Класс public class Institut находится в пакете by.gsu.asoi, является наследником класса Vuz, содержит поля, имеющие идентификатор доступа private:
– otdelen типа String – описывает учебное отделение;
– kolStud типа int – описывает количество студентов на отделении;
– sumStip типа double – описывает сумму стипендий;
В данном классе содержатся процедуры, обеспечивающие доступ к полям класса, подсчет и вывод информации на экран, а также конструкторы:
public Institut(String name, int year, double nomStud, String otdelen, int kolStud, double sumStip) – конструктор, инициализирующий все переменные класса, значениями, заданными в качестве параметров. В конструктор передаются значения полей базового класса (String name, int year, double nomStud) и собственные поля (String otdelen, int kolStud, double sumStip) соответствующих типов;
public int getKolStud() – возвращает количество студентов на отделении целого типа;
public void setKolStud(int kolStud) – конструктор заполнения объекта из потока, заносит количество студентов на отделении. В конструктор передается переменная целого типа;
public String getOtdelen() – возвращает название отделения строкового типа;
public void setOtdelen(String otdelen) – конструктор заполнения объекта из потока, заносит название отделения. В конструктор передается переменная строкового типа;
public double getSumStip() – возвращает сумму стипендий вещественного типа;
public void setSumStip(double sumStip) – конструктор заполнения объекта из потока, заносит сумму стипендий. В конструктор передается переменная вещественного типа;
public double averStip() – подсчитывает и возвращает среднюю стипендию;
public String toString() – конструктор приведения из строки символов (возвращает поля класса, разделенные символом «точка с запятой» и размер средней стипендии).
Класс public class CompList подключает интерфейс Comparator<Vuz>, находится в пакете by.gsu.asoi. Данный класс предназначен для сортировки записей по названиям ВУЗов и принадлежности их к определенным классам.
Сравнение записей происходит при помощи процедуры public int compare(Vuz ref1, Vuz ref2), в которую передаются два значения сравниваемых переменных типа Vuz, а возвращается результат целого типа.
Класс public abstract class ListVuz – это суперкласс для классов создаваемых Factory. Он включает абстрактные процедуры, которые будут переопределены в классах-наследниках:
public abstract void readFile(String fileName);
public abstract void print();
public abstract void insert(Vuz ref);
public abstract int delete(int index);
public abstract Vuz getItem(int index);
public abstract int getSize();
public abstract int find(Vuz obj);
public abstract List<Vuz> getVuzList();
public abstract void setVuzList(List<Vuz> vuzList);
public abstract void saveCsv (String fileName);
public abstract void saveDb (String fileName).
Класс public class ClassFactory – это класс-фабрика, реализующий подключение определенного класса в зависимости от формата файла, с которым предстоит работать. Данный класс содержит перечисление enum Signs {DB1, VUZ}, где элементами являются имена имеющихся файлов и статическую процедуру public static ListVuz getClassFromFactory(String id), с помощью которой происходит выбор класса из Factory.